Can someone explain to me what that code means? and what things in the code can I modify without it collapsing ? thanks

Post your topics and discussions here that you can't find a good section for.
Post Reply
Posts: 8
Joined: Fri Sep 13, 2019 1:31 am
Reputation: 0

Can someone explain to me what that code means? and what things in the code can I modify without it collapsing ? thanks

Post by srafaelitocs » Sun Nov 10, 2019 8:29 pm

thanks beforehand:

Code: Select all

L_2112F6B5:   push ebp
L_2112F6B6:   mov ebp, esp
L_2112F6B8:   push ebx
L_2112F6B9:   mov ebx, [ebp+0x8]
L_2112F6BC:   push esi
L_2112F6BD:   mov esi, [ebp+0xc]
L_2112F6C0:   push edi
L_2112F6C1:   mov edi, [ebp+0x10]
L_2112F6C4:   test esi, esi
L_2112F6C6:   jnz 0x2112f6d1
L_2112F6C8:   cmp dword [0x21154e50], 0x0
L_2112F6CF:   jmp 0x2112f6f7
L_2112F6D1:   cmp esi, 0x1
L_2112F6D4:   jz 0x2112f6db
L_2112F6D6:   cmp esi, 0x2
L_2112F6D9:   jnz 0x2112f6fd
L_2112F6DB:   mov eax, [0x21156500]
L_2112F6E0:   test eax, eax
L_2112F6E2:   jz 0x2112f6ed
L_2112F6E4:   push edi
L_2112F6E5:   push esi
L_2112F6E6:   push ebx
L_2112F6E7:   call eax
L_2112F6E9:   test eax, eax
L_2112F6EB:   jz 0x2112f6f9
L_2112F6ED:   push edi
L_2112F6EE:   push esi
L_2112F6EF:   push ebx
L_2112F6F0:   call 0x2112f5fd
L_2112F6F5:   test eax, eax
L_2112F6F7:   jnz 0x2112f6fd
L_2112F6F9:   xor eax, eax
L_2112F6FB:   jmp 0x2112f74b
L_2112F6FD:   push edi
L_2112F6FE:   push esi
L_2112F6FF:   push ebx
L_2112F700:   call 0x21101e80
L_2112F705:   cmp esi, 0x1
L_2112F708:   mov [ebp+0xc], eax
L_2112F70B:   jnz 0x2112f719
L_2112F70D:   test eax, eax
L_2112F70F:   jnz 0x2112f748
L_2112F711:   push edi
L_2112F712:   push eax
L_2112F713:   push ebx
L_2112F714:   call 0x2112f5fd
L_2112F719:   test esi, esi
L_2112F71B:   jz 0x2112f722
L_2112F71D:   cmp esi, 0x3
L_2112F720:   jnz 0x2112f748
L_2112F722:   push edi
L_2112F723:   push esi
L_2112F724:   push ebx
L_2112F725:   call 0x2112f5fd
L_2112F72A:   test eax, eax
L_2112F72C:   jnz 0x2112f731
L_2112F72E:   and [ebp+0xc], eax
L_2112F731:   cmp dword [ebp+0xc], 0x0
L_2112F735:   jz 0x2112f748
L_2112F737:   mov eax, [0x21156500]
L_2112F73C:   test eax, eax
L_2112F73E:   jz 0x2112f748
L_2112F740:   push edi
L_2112F741:   push esi
L_2112F742:   push ebx
L_2112F743:   call eax
L_2112F745:   mov [ebp+0xc], eax
L_2112F748:   mov eax, [ebp+0xc]
L_2112F74B:   pop edi
L_2112F74C:   pop esi
L_2112F74D:   pop ebx
L_2112F74E:   pop ebp
L_2112F74F:   ret 0xc
L_2112F752:   mov eax, [0x21154e5c]
L_2112F757:   cmp eax, 0x1
L_2112F75A:   jz 0x2112f769
L_2112F75C:   test eax, eax
L_2112F75E:   jnz 0x2112f76e
L_2112F760:   cmp dword [0x21154e60], 0x1
L_2112F767:   jnz 0x2112f76e
L_2112F769:   call 0x21132626
L_2112F76E:   push dword [esp+0x4]
L_2112F772:   call 0x2113265f
L_2112F777:   push 0xff
L_2112F77C:   call [0x2114d650]
L_2112F782:   pop ecx
L_2112F783:   pop ecx
L_2112F784:   ret 
L_2112F785:   push esi
L_2112F786:   mov esi, [esp+0x8]
L_2112F78A:   push dword [esi+0x10]
L_2112F78D:   call 0x2113291d
L_2112F792:   test eax, eax
L_2112F794:   pop ecx
L_2112F795:   jz 0x2112f80e
L_2112F797:   cmp esi, 0x2114daa0
L_2112F79D:   jnz 0x2112f7a3
L_2112F79F:   xor eax, eax
L_2112F7A1:   jmp 0x2112f7ae
L_2112F7A3:   cmp esi, 0x2114dac0
L_2112F7A9:   jnz 0x2112f80e
L_2112F7AB:   push 0x1
L_2112F7AD:   pop eax
L_2112F7AE:   inc dword [0x211550e0]
L_2112F7B4:   test word [esi+0xc], 0x10c
L_2112F7BA:   jnz 0x2112f80e
L_2112F7BC:   cmp dword [eax*4+0x21154e64], 0x0
L_2112F7C4:   push ebx
L_2112F7C5:   push edi
L_2112F7C6:   lea edi, [eax*4+0x21154e64]
L_2112F7CD:   mov ebx, 0x1000
L_2112F7D2:   jnz 0x2112f7f4
L_2112F7D4:   push ebx
L_2112F7D5:   call 0x211327b2
L_2112F7DA:   test eax, eax
L_2112F7DC:   pop ecx
L_2112F7DD:   mov [edi], eax
L_2112F7DF:   jnz 0x2112f7f4
L_2112F7E1:   lea eax, [esi+0x14]
L_2112F7E4:   push 0x2
L_2112F7E6:   mov [esi+0x8], eax
L_2112F7E9:   mov [esi], eax
L_2112F7EB:   pop eax
L_2112F7EC:   mov [esi+0x18], eax
L_2112F7EF:   mov [esi+0x4], eax
L_2112F7F2:   jmp 0x2112f801
L_2112F7F4:   mov edi, [edi]
L_2112F7F6:   mov [esi+0x18], ebx
L_2112F7F9:   mov [esi+0x8], edi
L_2112F7FC:   mov [esi], edi
L_2112F7FE:   mov [esi+0x4], ebx
L_2112F801:   or word [esi+0xc], 0x1102
L_2112F807:   push 0x1
L_2112F809:   pop eax
L_2112F80A:   pop edi
L_2112F80B:   pop ebx
L_2112F80C:   pop esi
L_2112F80D:   ret 
L_2112F80E:   xor eax, eax
L_2112F810:   pop esi
L_2112F811:   ret 
L_2112F812:   cmp dword [esp+0x4], 0x0
L_2112F817:   push esi
L_2112F818:   jz 0x2112f83c
L_2112F81A:   mov esi, [esp+0xc]
L_2112F81E:   test byte [esi+0xd], 0x10
L_2112F822:   jz 0x2112f84d
L_2112F824:   push esi
L_2112F825:   call 0x21130bf2
L_2112F82A:   and byte [esi+0xd], 0xee
L_2112F82E:   and dword [esi+0x18], 0x0
L_2112F832:   and dword [esi], 0x0
L_2112F835:   and dword [esi+0x8], 0x0
L_2112F839:   pop ecx
L_2112F83A:   pop esi
L_2112F83B:   ret 
L_2112F83C:   mov eax, [esp+0xc]
L_2112F840:   test byte [eax+0xd], 0x10
L_2112F844:   jz 0x2112f84d
L_2112F846:   push eax
L_2112F847:   call 0x21130bf2
L_2112F84C:   pop ecx
L_2112F84D:   pop esi
L_2112F84E:   ret 
L_2112F84F:   push ebp
L_2112F850:   mov ebp, esp
L_2112F852:   sub esp, 0x248
L_2112F858:   push ebx
L_2112F859:   push esi
L_2112F85A:   push edi
L_2112F85B:   mov edi, [ebp+0xc]
L_2112F85E:   xor esi, esi
L_2112F860:   mov bl, [edi]
L_2112F862:   inc edi
L_2112F863:   test bl, bl
L_2112F865:   mov [ebp-0xc], esi
L_2112F868:   mov [ebp-0x14], esi
L_2112F86B:   mov [ebp+0xc], edi
L_2112F86E:   jz 0x2112ff68
L_2112F874:   mov ecx, [ebp-0x10]
L_2112F877:   xor edx, edx
L_2112F879:   jmp 0x2112f883
L_2112F87B:   mov ecx, [ebp-0x10]
L_2112F87E:   mov esi, [ebp-0x30]
L_2112F881:   xor edx, edx
L_2112F883:   cmp [ebp-0x14], edx
L_2112F886:   jl 0x2112ff68
L_2112F88C:   cmp bl, 0x20
L_2112F88F:   jl 0x2112f8a4
L_2112F891:   cmp bl, 0x78
L_2112F894:   jg 0x2112f8a4
L_2112F896:   movsx eax, bl
L_2112F899:   mov al, [eax+0x21147dd8]
L_2112F89F:   and eax, 0xf
L_2112F8A2:   jmp 0x2112f8a6
L_2112F8A4:   xor eax, eax
L_2112F8A6:   movsx eax, byte [esi+eax*8+0x21147df8]
L_2112F8AE:   sar eax, 0x4
L_2112F8B1:   cmp eax, 0x7
L_2112F8B4:   mov [ebp-0x30], eax
L_2112F8B7:   ja 0x2112ff57
L_2112F8BD:   jmp [eax*4+0x2112ff70]
L_2112F8C4:   or dword [ebp-0x10], -0x1
L_2112F8C8:   mov [ebp-0x34], edx
L_2112F8CB:   mov [ebp-0x28], edx
L_2112F8CE:   mov [ebp-0x20], edx
L_2112F8D1:   mov [ebp-0x1c], edx
L_2112F8D4:   mov [ebp-0x4], edx
L_2112F8D7:   mov [ebp-0x24], edx
L_2112F8DA:   jmp 0x2112ff57
L_2112F8DF:   movsx eax, bl
L_2112F8E2:   sub eax, 0x20
L_2112F8E5:   jz 0x2112f922
L_2112F8E7:   sub eax, 0x3
L_2112F8EA:   jz 0x2112f919
L_2112F8EC:   sub eax, 0x8
L_2112F8EF:   jz 0x2112f910
L_2112F8F1:   dec eax
L_2112F8F2:   dec eax
L_2112F8F3:   jz 0x2112f907
L_2112F8F5:   sub eax, 0x3
L_2112F8F8:   jnz 0x2112ff57
L_2112F8FE:   or dword [ebp-0x4], 0x8
L_2112F902:   jmp 0x2112ff57
L_2112F907:   or dword [ebp-0x4], 0x4
L_2112F90B:   jmp 0x2112ff57
L_2112F910:   or dword [ebp-0x4], 0x1
L_2112F914:   jmp 0x2112ff57
L_2112F919:   or byte [ebp-0x4], 0x80
L_2112F91D:   jmp 0x2112ff57
L_2112F922:   or dword [ebp-0x4], 0x2
L_2112F926:   jmp 0x2112ff57
L_2112F92B:   cmp bl, 0x2a
L_2112F92E:   jnz 0x2112f953
L_2112F930:   lea eax, [ebp+0x10]
L_2112F933:   push eax
L_2112F934:   call 0x2113002e
L_2112F939:   test eax, eax
L_2112F93B:   pop ecx
L_2112F93C:   mov [ebp-0x20], eax
L_2112F93F:   jge 0x2112ff57
L_2112F945:   or dword [ebp-0x4], 0x4
L_2112F949:   neg eax
L_2112F94B:   mov [ebp-0x20], eax
L_2112F94E:   jmp 0x2112ff57
L_2112F953:   mov eax, [ebp-0x20]
L_2112F956:   movsx ecx, bl
L_2112F959:   lea eax, [eax+eax*4]
L_2112F95C:   lea eax, [ecx+eax*2-0x30]
L_2112F960:   jmp 0x2112f94b
L_2112F962:   mov [ebp-0x10], edx
L_2112F965:   jmp 0x2112ff57
L_2112F96A:   cmp bl, 0x2a
L_2112F96D:   jnz 0x2112f98d
L_2112F96F:   lea eax, [ebp+0x10]
L_2112F972:   push eax
L_2112F973:   call 0x2113002e
L_2112F978:   test eax, eax
L_2112F97A:   pop ecx
L_2112F97B:   mov [ebp-0x10], eax
L_2112F97E:   jge 0x2112ff57
L_2112F984:   or dword [ebp-0x10], -0x1
L_2112F988:   jmp 0x2112ff57
L_2112F98D:   lea eax, [ecx+ecx*4]
L_2112F990:   movsx ecx, bl
L_2112F993:   lea eax, [ecx+eax*2-0x30]
L_2112F997:   mov [ebp-0x10], eax
L_2112F99A:   jmp 0x2112ff57
L_2112F99F:   cmp bl, 0x49
L_2112F9A2:   jz 0x2112f9d2
L_2112F9A4:   cmp bl, 0x68
L_2112F9A7:   jz 0x2112f9c9
L_2112F9A9:   cmp bl, 0x6c
L_2112F9AC:   jz 0x2112f9c0
L_2112F9AE:   cmp bl, 0x77
L_2112F9B1:   jnz 0x2112ff57
L_2112F9B7:   or byte [ebp-0x3], 0x8
L_2112F9BB:   jmp 0x2112ff57
L_2112F9C0:   or dword [ebp-0x4], 0x10
L_2112F9C4:   jmp 0x2112ff57
L_2112F9C9:   or dword [ebp-0x4], 0x20
L_2112F9CD:   jmp 0x2112ff57
L_2112F9D2:   cmp byte [edi], 0x36
L_2112F9D5:   jnz 0x2112f9eb
L_2112F9D7:   cmp byte [edi+0x1], 0x34
L_2112F9DB:   jnz 0x2112f9eb
L_2112F9DD:   inc edi
L_2112F9DE:   inc edi
L_2112F9DF:   or byte [ebp-0x3], 0x80
L_2112F9E3:   mov [ebp+0xc], edi
L_2112F9E6:   jmp 0x2112ff57
L_2112F9EB:   mov [ebp-0x30], edx
L_2112F9EE:   mov ecx, [0x2114d724]
L_2112F9F4:   mov [ebp-0x24], edx
L_2112F9F7:   movzx eax, bl
L_2112F9FA:   test byte [ecx+eax*2+0x1], 0x80
L_2112F9FF:   jz 0x2112fa1a
L_2112FA01:   lea eax, [ebp-0x14]
L_2112FA04:   push eax
L_2112FA05:   push dword [ebp+0x8]
L_2112FA08:   movsx eax, bl
L_2112FA0B:   push eax
L_2112FA0C:   call 0x2112ff90
L_2112FA11:   mov bl, [edi]
L_2112FA13:   add esp, 0xc
L_2112FA16:   inc edi
L_2112FA17:   mov [ebp+0xc], edi
L_2112FA1A:   lea eax, [ebp-0x14]
L_2112FA1D:   push eax
L_2112FA1E:   push dword [ebp+0x8]
L_2112FA21:   movsx eax, bl
L_2112FA24:   push eax
L_2112FA25:   call 0x2112ff90
L_2112FA2A:   add esp, 0xc
L_2112FA2D:   jmp 0x2112ff57
L_2112FA32:   movsx eax, bl
L_2112FA35:   cmp eax, 0x67
L_2112FA38:   jg 0x2112fc5a
L_2112FA3E:   cmp eax, 0x65
L_2112FA41:   jge 0x2112fadd
L_2112FA47:   cmp eax, 0x58
L_2112FA4A:   jg 0x2112fb3b
L_2112FA50:   jz 0x2112fcce
L_2112FA56:   sub eax, 0x43
L_2112FA59:   jz 0x2112fafe
L_2112FA5F:   dec eax
L_2112FA60:   dec eax
L_2112FA61:   jz 0x2112fad3
L_2112FA63:   dec eax
L_2112FA64:   dec eax
L_2112FA65:   jz 0x2112fad3
L_2112FA67:   sub eax, 0xc
L_2112FA6A:   jnz 0x2112fe59
L_2112FA70:   test word [ebp-0x4], 0x830
L_2112FA76:   jnz 0x2112fa7c
L_2112FA78:   or byte [ebp-0x3], 0x8
L_2112FA7C:   mov esi, [ebp-0x10]
L_2112FA7F:   cmp esi, -0x1
L_2112FA82:   jnz 0x2112fa89
L_2112FA84:   mov esi, 0x7fffffff
L_2112FA89:   lea eax, [ebp+0x10]
L_2112FA8C:   push eax
L_2112FA8D:   call 0x2113002e
L_2112FA92:   test word [ebp-0x4], 0x810
L_2112FA98:   pop ecx
L_2112FA99:   mov ecx, eax
L_2112FA9B:   mov [ebp-0x8], ecx
L_2112FA9E:   jz 0x2112fca2
L_2112FAA4:   test ecx, ecx
L_2112FAA6:   jnz 0x2112fab1
L_2112FAA8:   mov ecx, [0x2114d658]
L_2112FAAE:   mov [ebp-0x8], ecx
L_2112FAB1:   mov dword [ebp-0x24], 0x1
L_2112FAB8:   mov eax, ecx
L_2112FABA:   mov edx, esi
L_2112FABC:   dec esi
L_2112FABD:   test edx, edx
L_2112FABF:   jz 0x2112fc99
L_2112FAC5:   cmp word [eax], 0x0
L_2112FAC9:   jz 0x2112fc99
L_2112FACF:   inc eax
L_2112FAD0:   inc eax
L_2112FAD1:   jmp 0x2112faba
L_2112FAD3:   mov dword [ebp-0x34], 0x1
L_2112FADA:   add bl, 0x20
L_2112FADD:   or dword [ebp-0x4], 0x40
L_2112FAE1:   lea edi, [ebp-0x248]
L_2112FAE7:   cmp ecx, edx
L_2112FAE9:   mov [ebp-0x8], edi
L_2112FAEC:   jge 0x2112fbc1
L_2112FAF2:   mov dword [ebp-0x10], 0x6
L_2112FAF9:   jmp 0x2112fbcf
L_2112FAFE:   test word [ebp-0x4], 0x830
L_2112FB04:   jnz 0x2112fb0a
L_2112FB06:   or byte [ebp-0x3], 0x8
L_2112FB0A:   test word [ebp-0x4], 0x810
L_2112FB10:   lea eax, [ebp+0x10]
L_2112FB13:   push eax
L_2112FB14:   jz 0x2112fb51
L_2112FB16:   call 0x2113004b
L_2112FB1B:   push eax
L_2112FB1C:   lea eax, [ebp-0x248]
L_2112FB22:   push eax
L_2112FB23:   call 0x211329cb
L_2112FB28:   add esp, 0xc
L_2112FB2B:   mov [ebp-0xc], eax
L_2112FB2E:   test eax, eax
L_2112FB30:   jge 0x2112fb64
L_2112FB32:   mov dword [ebp-0x28], 0x1
L_2112FB39:   jmp 0x2112fb64
L_2112FB3B:   sub eax, 0x5a
L_2112FB3E:   jz 0x2112fb72
L_2112FB40:   sub eax, 0x9
L_2112FB43:   jz 0x2112fb0a
L_2112FB45:   dec eax
L_2112FB46:   jz 0x2112fd34
L_2112FB4C:   jmp 0x2112fe59
L_2112FB51:   call 0x2113002e
L_2112FB56:   pop ecx
L_2112FB57:   mov [ebp-0x248], al
L_2112FB5D:   mov dword [ebp-0xc], 0x1
L_2112FB64:   lea eax, [ebp-0x248]
L_2112FB6A:   mov [ebp-0x8], eax
L_2112FB6D:   jmp 0x2112fe59
L_2112FB72:   lea eax, [ebp+0x10]
L_2112FB75:   push eax
L_2112FB76:   call 0x2113002e
L_2112FB7B:   test eax, eax
L_2112FB7D:   pop ecx
L_2112FB7E:   jz 0x2112fbb3
L_2112FB80:   mov ecx, [eax+0x4]
L_2112FB83:   test ecx, ecx
L_2112FB85:   jz 0x2112fbb3
L_2112FB87:   test byte [ebp-0x3], 0x8
L_2112FB8B:   jz 0x2112fba4
L_2112FB8D:   movsx eax, [eax]
L_2112FB90:   shr eax, 0x1
L_2112FB92:   mov [ebp-0x8], ecx
L_2112FB95:   mov [ebp-0xc], eax
L_2112FB98:   mov dword [ebp-0x24], 0x1
L_2112FB9F:   jmp 0x2112fe59
L_2112FBA4:   and dword [ebp-0x24], 0x0
L_2112FBA8:   mov [ebp-0x8], ecx
L_2112FBAB:   movsx eax, [eax]
L_2112FBAE:   jmp 0x2112fe56
L_2112FBB3:   mov eax, [0x2114d654]
L_2112FBB8:   mov [ebp-0x8], eax
L_2112FBBB:   push eax
L_2112FBBC:   jmp 0x2112fc4f
L_2112FBC1:   jnz 0x2112fbcf
L_2112FBC3:   cmp bl, 0x67
L_2112FBC6:   jnz 0x2112fbcf
L_2112FBC8:   mov dword [ebp-0x10], 0x1
L_2112FBCF:   mov eax, [ebp+0x10]
L_2112FBD2:   push dword [ebp-0x34]
L_2112FBD5:   add eax, 0x8
L_2112FBD8:   mov [ebp+0x10], eax
L_2112FBDB:   push dword [ebp-0x10]
L_2112FBDE:   mov ecx, [eax-0x8]
L_2112FBE1:   mov [ebp-0x48], ecx
L_2112FBE4:   mov eax, [eax-0x4]
L_2112FBE7:   mov [ebp-0x44], eax
L_2112FBEA:   movsx eax, bl
L_2112FBED:   push eax
L_2112FBEE:   lea eax, [ebp-0x248]
L_2112FBF4:   push eax
L_2112FBF5:   lea eax, [ebp-0x48]
L_2112FBF8:   push eax
L_2112FBF9:   call [0x2114d70c]
L_2112FBFF:   mov esi, [ebp-0x4]
L_2112FC02:   add esp, 0x14
L_2112FC05:   and esi, 0x80
L_2112FC0B:   jz 0x2112fc21
L_2112FC0D:   cmp dword [ebp-0x10], 0x0
L_2112FC11:   jnz 0x2112fc21
L_2112FC13:   lea eax, [ebp-0x248]
L_2112FC19:   push eax
L_2112FC1A:   call [0x2114d718]
L_2112FC20:   pop ecx
L_2112FC21:   cmp bl, 0x67
L_2112FC24:   jnz 0x2112fc38
L_2112FC26:   test esi, esi
L_2112FC28:   jnz 0x2112fc38
L_2112FC2A:   lea eax, [ebp-0x248]
L_2112FC30:   push eax
L_2112FC31:   call [0x2114d710]
L_2112FC37:   pop ecx
L_2112FC38:   cmp byte [ebp-0x248], 0x2d
L_2112FC3F:   jnz 0x2112fc4e
L_2112FC41:   or byte [ebp-0x3], 0x1
L_2112FC45:   lea edi, [ebp-0x247]
L_2112FC4B:   mov [ebp-0x8], edi
L_2112FC4E:   push edi
L_2112FC4F:   call 0x21132950
L_2112FC54:   pop ecx
L_2112FC55:   jmp 0x2112fe56
L_2112FC5A:   sub eax, 0x69
L_2112FC5D:   jz 0x2112fd34
L_2112FC63:   sub eax, 0x5
L_2112FC66:   jz 0x2112fd0a
L_2112FC6C:   dec eax
L_2112FC6D:   jz 0x2112fcf7
L_2112FC73:   dec eax
L_2112FC74:   jz 0x2112fcc7
L_2112FC76:   sub eax, 0x3
L_2112FC79:   jz 0x2112fa7c
L_2112FC7F:   dec eax
L_2112FC80:   dec eax
L_2112FC81:   jz 0x2112fd38
L_2112FC87:   sub eax, 0x3
L_2112FC8A:   jnz 0x2112fe59
L_2112FC90:   mov dword [ebp-0x2c], 0x27
L_2112FC97:   jmp 0x2112fcd5
L_2112FC99:   sub eax, ecx
L_2112FC9B:   sar eax, 0x1
L_2112FC9D:   jmp 0x2112fe56
L_2112FCA2:   test ecx, ecx
L_2112FCA4:   jnz 0x2112fcaf
L_2112FCA6:   mov ecx, [0x2114d654]
L_2112FCAC:   mov [ebp-0x8], ecx
L_2112FCAF:   mov eax, ecx
L_2112FCB1:   mov edx, esi
L_2112FCB3:   dec esi
L_2112FCB4:   test edx, edx
L_2112FCB6:   jz 0x2112fcc0
L_2112FCB8:   cmp byte [eax], 0x0
L_2112FCBB:   jz 0x2112fcc0
L_2112FCBD:   inc eax
L_2112FCBE:   jmp 0x2112fcb1
L_2112FCC0:   sub eax, ecx
L_2112FCC2:   jmp 0x2112fe56
L_2112FCC7:   mov dword [ebp-0x10], 0x8
L_2112FCCE:   mov dword [ebp-0x2c], 0x7
L_2112FCD5:   test byte [ebp-0x4], 0x80
L_2112FCD9:   mov dword [ebp-0xc], 0x10
L_2112FCE0:   jz 0x2112fd3f
L_2112FCE2:   mov al, [ebp-0x2c]
L_2112FCE5:   mov byte [ebp-0x16], 0x30
L_2112FCE9:   add al, 0x51
L_2112FCEB:   mov dword [ebp-0x1c], 0x2
L_2112FCF2:   mov [ebp-0x15], al
L_2112FCF5:   jmp 0x2112fd3f
L_2112FCF7:   test byte [ebp-0x4], 0x80
L_2112FCFB:   mov dword [ebp-0xc], 0x8
L_2112FD02:   jz 0x2112fd3f
L_2112FD04:   or byte [ebp-0x3], 0x2
L_2112FD08:   jmp 0x2112fd3f
L_2112FD0A:   lea eax, [ebp+0x10]
L_2112FD0D:   push eax
L_2112FD0E:   call 0x2113002e
L_2112FD13:   test byte [ebp-0x4], 0x20
L_2112FD17:   pop ecx
L_2112FD18:   jz 0x2112fd23
L_2112FD1A:   mov cx, [ebp-0x14]
L_2112FD1E:   mov [eax], cx
L_2112FD21:   jmp 0x2112fd28
L_2112FD23:   mov ecx, [ebp-0x14]
L_2112FD26:   mov [eax], ecx
L_2112FD28:   mov dword [ebp-0x28], 0x1
L_2112FD2F:   jmp 0x2112ff57
L_2112FD34:   or dword [ebp-0x4], 0x40
L_2112FD38:   mov dword [ebp-0xc], 0xa
L_2112FD3F:   test byte [ebp-0x3], 0x80
L_2112FD43:   jz 0x2112fd51
L_2112FD45:   lea eax, [ebp+0x10]
L_2112FD48:   push eax
L_2112FD49:   call 0x2113003b
L_2112FD4E:   pop ecx
L_2112FD4F:   jmp 0x2112fd92
L_2112FD51:   test byte [ebp-0x4], 0x20
L_2112FD55:   jz 0x2112fd78
L_2112FD57:   test byte [ebp-0x4], 0x40
L_2112FD5B:   lea eax, [ebp+0x10]
L_2112FD5E:   push eax
L_2112FD5F:   jz 0x2112fd6d
L_2112FD61:   call 0x2113002e
L_2112FD66:   pop ecx
L_2112FD67:   movsx eax, ax
L_2112FD6A:   cdq 
L_2112FD6B:   jmp 0x2112fd92
L_2112FD6D:   call 0x2113002e
L_2112FD72:   pop ecx
L_2112FD73:   movzx eax, ax
L_2112FD76:   jmp 0x2112fd6a
L_2112FD78:   test byte [ebp-0x4], 0x40
L_2112FD7C:   lea eax, [ebp+0x10]
L_2112FD7F:   push eax
L_2112FD80:   jz 0x2112fd8a
L_2112FD82:   call 0x2113002e
L_2112FD87:   pop ecx
L_2112FD88:   jmp 0x2112fd6a
L_2112FD8A:   call 0x2113002e
L_2112FD8F:   pop ecx
L_2112FD90:   xor edx, edx
L_2112FD92:   test byte [ebp-0x4], 0x40
L_2112FD96:   jz 0x2112fdb3
L_2112FD98:   test edx, edx
L_2112FD9A:   jg 0x2112fdb3
L_2112FD9C:   jl 0x2112fda2
L_2112FD9E:   test eax, eax
L_2112FDA0:   jae 0x2112fdb3
L_2112FDA2:   neg eax
L_2112FDA4:   adc edx, 0x0
L_2112FDA7:   mov esi, eax
L_2112FDA9:   neg edx
L_2112FDAB:   or byte [ebp-0x3], 0x1
L_2112FDAF:   mov edi, edx
L_2112FDB1:   jmp 0x2112fdb7
L_2112FDB3:   mov esi, eax
L_2112FDB5:   mov edi, edx
L_2112FDB7:   test byte [ebp-0x3], 0x80
L_2112FDBB:   jnz 0x2112fdc0
L_2112FDBD:   and edi, 0x0
L_2112FDC0:   cmp dword [ebp-0x10], 0x0
L_2112FDC4:   jge 0x2112fdcf
L_2112FDC6:   mov dword [ebp-0x10], 0x1
L_2112FDCD:   jmp 0x2112fdd3
L_2112FDCF:   and dword [ebp-0x4], -0x9
L_2112FDD3:   mov eax, esi
L_2112FDD5:   or eax, edi
L_2112FDD7:   jnz 0x2112fddd
L_2112FDD9:   and dword [ebp-0x1c], 0x0
L_2112FDDD:   lea eax, [ebp-0x49]
L_2112FDE0:   mov [ebp-0x8], eax
L_2112FDE3:   mov eax, [ebp-0x10]
L_2112FDE6:   dec dword [ebp-0x10]
L_2112FDE9:   test eax, eax
L_2112FDEB:   jg 0x2112fdf3
L_2112FDED:   mov eax, esi
L_2112FDEF:   or eax, edi
L_2112FDF1:   jz 0x2112fe2e
L_2112FDF3:   mov eax, [ebp-0xc]
L_2112FDF6:   cdq 
L_2112FDF7:   push edx
L_2112FDF8:   push eax
L_2112FDF9:   push edi
L_2112FDFA:   push esi
L_2112FDFB:   mov [ebp-0x40], eax
L_2112FDFE:   mov [ebp-0x3c], edx
L_2112FE01:   call 0x21132ab0
L_2112FE06:   push dword [ebp-0x3c]
L_2112FE09:   mov ebx, eax
L_2112FE0B:   add ebx, 0x30
L_2112FE0E:   push dword [ebp-0x40]
L_2112FE11:   push edi
L_2112FE12:   push esi
L_2112FE13:   call 0x21132a40
L_2112FE18:   cmp ebx, 0x39
L_2112FE1B:   mov esi, eax
L_2112FE1D:   mov edi, edx
L_2112FE1F:   jle 0x2112fe24
L_2112FE21:   add ebx, [ebp-0x2c]
L_2112FE24:   mov eax, [ebp-0x8]
L_2112FE27:   dec dword [ebp-0x8]
L_2112FE2A:   mov [eax], bl
L_2112FE2C:   jmp 0x2112fde3
L_2112FE2E:   lea eax, [ebp-0x49]
L_2112FE31:   sub eax, [ebp-0x8]
L_2112FE34:   inc dword [ebp-0x8]
L_2112FE37:   test byte [ebp-0x3], 0x2
L_2112FE3B:   mov [ebp-0xc], eax
L_2112FE3E:   jz 0x2112fe59
L_2112FE40:   mov ecx, [ebp-0x8]
L_2112FE43:   cmp byte [ecx], 0x30
L_2112FE46:   jnz 0x2112fe4c
L_2112FE48:   test eax, eax
L_2112FE4A:   jnz 0x2112fe59
L_2112FE4C:   dec dword [ebp-0x8]
L_2112FE4F:   inc eax
L_2112FE50:   mov ecx, [ebp-0x8]
L_2112FE53:   mov byte [ecx], 0x30
L_2112FE56:   mov [ebp-0xc], eax
L_2112FE59:   cmp dword [ebp-0x28], 0x0
L_2112FE5D:   jnz 0x2112ff57
L_2112FE63:   mov ebx, [ebp-0x4]
L_2112FE66:   test bl, 0x40
L_2112FE69:   jz 0x2112fe91
L_2112FE6B:   test bh, 0x1
L_2112FE6E:   jz 0x2112fe76
L_2112FE70:   mov byte [ebp-0x16], 0x2d
L_2112FE74:   jmp 0x2112fe8a
L_2112FE76:   test bl, 0x1
L_2112FE79:   jz 0x2112fe81
L_2112FE7B:   mov byte [ebp-0x16], 0x2b
L_2112FE7F:   jmp 0x2112fe8a
L_2112FE81:   test bl, 0x2
L_2112FE84:   jz 0x2112fe91
L_2112FE86:   mov byte [ebp-0x16], 0x20
L_2112FE8A:   mov dword [ebp-0x1c], 0x1
L_2112FE91:   mov esi, [ebp-0x20]
L_2112FE94:   sub esi, [ebp-0x1c]
L_2112FE97:   sub esi, [ebp-0xc]
L_2112FE9A:   test bl, 0xc
L_2112FE9D:   jnz 0x2112feb1
L_2112FE9F:   lea eax, [ebp-0x14]
L_2112FEA2:   push eax
L_2112FEA3:   push dword [ebp+0x8]
L_2112FEA6:   push esi
L_2112FEA7:   push 0x20
L_2112FEA9:   call 0x2112ffc5
L_2112FEAE:   add esp, 0x10
L_2112FEB1:   lea eax, [ebp-0x14]
L_2112FEB4:   push eax
L_2112FEB5:   lea eax, [ebp-0x16]
L_2112FEB8:   push dword [ebp+0x8]
L_2112FEBB:   push dword [ebp-0x1c]
L_2112FEBE:   push eax
L_2112FEBF:   call 0x2112fff6
L_2112FEC4:   add esp, 0x10
L_2112FEC7:   test bl, 0x8
L_2112FECA:   jz 0x2112fee3
L_2112FECC:   test bl, 0x4
L_2112FECF:   jnz 0x2112fee3
L_2112FED1:   lea eax, [ebp-0x14]
L_2112FED4:   push eax
L_2112FED5:   push dword [ebp+0x8]
L_2112FED8:   push esi
L_2112FED9:   push 0x30
L_2112FEDB:   call 0x2112ffc5
L_2112FEE0:   add esp, 0x10
L_2112FEE3:   cmp dword [ebp-0x24], 0x0
L_2112FEE7:   jz 0x2112ff2a
L_2112FEE9:   cmp dword [ebp-0xc], 0x0
L_2112FEED:   jle 0x2112ff2a
L_2112FEEF:   mov eax, [ebp-0xc]
L_2112FEF2:   mov ebx, [ebp-0x8]
L_2112FEF5:   lea edi, [eax-0x1]
L_2112FEF8:   mov ax, [ebx]
L_2112FEFB:   inc ebx
L_2112FEFC:   push eax
L_2112FEFD:   lea eax, [ebp-0x38]
L_2112FF00:   push eax
L_2112FF01:   inc ebx
L_2112FF02:   call 0x211329cb
L_2112FF07:   pop ecx
L_2112FF08:   test eax, eax
L_2112FF0A:   pop ecx
L_2112FF0B:   jle 0x2112ff3f
L_2112FF0D:   lea ecx, [ebp-0x14]
L_2112FF10:   push ecx
L_2112FF11:   push dword [ebp+0x8]
L_2112FF14:   push eax
L_2112FF15:   lea eax, [ebp-0x38]
L_2112FF18:   push eax
L_2112FF19:   call 0x2112fff6
L_2112FF1E:   add esp, 0x10
L_2112FF21:   mov eax, edi
L_2112FF23:   dec edi
L_2112FF24:   test eax, eax
L_2112FF26:   jnz 0x2112fef8
L_2112FF28:   jmp 0x2112ff3f
L_2112FF2A:   lea eax, [ebp-0x14]
L_2112FF2D:   push eax
L_2112FF2E:   push dword [ebp+0x8]
L_2112FF31:   push dword [ebp-0xc]
L_2112FF34:   push dword [ebp-0x8]
L_2112FF37:   call 0x2112fff6
L_2112FF3C:   add esp, 0x10
L_2112FF3F:   test byte [ebp-0x4], 0x4
L_2112FF43:   jz 0x2112ff57
L_2112FF45:   lea eax, [ebp-0x14]
L_2112FF48:   push eax
L_2112FF49:   push dword [ebp+0x8]
L_2112FF4C:   push esi
L_2112FF4D:   push 0x20
L_2112FF4F:   call 0x2112ffc5
L_2112FF54:   add esp, 0x10
L_2112FF57:   mov edi, [ebp+0xc]
L_2112FF5A:   mov bl, [edi]
L_2112FF5C:   inc edi
L_2112FF5D:   test bl, bl
L_2112FF5F:   mov [ebp+0xc], edi
L_2112FF62:   jnz 0x2112f87b
L_2112FF68:   mov eax, [ebp-0x14]
L_2112FF6B:   pop edi
L_2112FF6C:   pop esi
L_2112FF6D:   pop ebx
L_2112FF6E:   leave 
L_2112FF6F:   ret 
L_2112FF70:   out dx, al 
L_2112FF71:   stc 
L_2112FF72:   adc ah, [ecx]
L_2112FF74:   db 0xc4 
L_2112FF75:   clc 
L_2112FF76:   adc ah, [ecx]
L_2112FF78:   db 0xdf 
L_2112FF79:   clc 
L_2112FF7A:   adc ah, [ecx]
L_2112FF7C:   sub edi, ecx
L_2112FF7E:   adc ah, [ecx]
L_2112FF80:   db 0x62 
L_2112FF81:   stc 
L_2112FF82:   adc ah, [ecx]
L_2112FF84:   push -0x7
L_2112FF86:   adc ah, [ecx]
L_2112FF88:   lahf 
L_2112FF89:   stc 
L_2112FF8A:   adc ah, [ecx]
L_2112FF8C:   xor bh, dl
L_2112FF8E:   adc ah, [ecx]
L_2112FF90:   push ebp
L_2112FF91:   mov ebp, esp
L_2112FF93:   mov ecx, [ebp+0xc]
L_2112FF96:   dec dword [ecx+0x4]
L_2112FF99:   js 0x2112ffa9
L_2112FF9B:   mov edx, [ecx]
L_2112FF9D:   mov al, [ebp+0x8]
L_2112FFA0:   mov [edx], al
L_2112FFA2:   inc dword [ecx]
L_2112FFA4:   movzx eax, al
L_2112FFA7:   jmp 0x2112ffb4
L_2112FFA9:   push ecx
L_2112FFAA:   push dword [ebp+0x8]
L_2112FFAD:   call 0x21130059
L_2112FFB2:   pop ecx
L_2112FFB3:   pop ecx
L_2112FFB4:   cmp eax, -0x1
L_2112FFB7:   mov eax, [ebp+0x10]
L_2112FFBA:   jnz 0x2112ffc1
L_2112FFBC:   or dword [eax], -0x1
L_2112FFBF:   pop ebp
L_2112FFC0:   ret 
L_2112FFC1:   inc dword [eax]
L_2112FFC3:   pop ebp
L_2112FFC4:   ret 
L_2112FFC5:   push esi
L_2112FFC6:   push edi
L_2112FFC7:   mov edi, [esp+0x10]
L_2112FFCB:   mov eax, edi
L_2112FFCD:   dec edi
L_2112FFCE:   test eax, eax
L_2112FFD0:   jle 0x2112fff3
L_2112FFD2:   mov esi, [esp+0x18]
L_2112FFD6:   push esi
L_2112FFD7:   push dword [esp+0x18]
L_2112FFDB:   push dword [esp+0x14]
L_2112FFDF:   call 0x2112ff90
L_2112FFE4:   add esp, 0xc
L_2112FFE7:   cmp dword [esi], -0x1
L_2112FFEA:   jz 0x2112fff3
L_2112FFEC:   mov eax, edi
L_2112FFEE:   dec edi
L_2112FFEF:   test eax, eax
L_2112FFF1:   jg 0x2112ffd6
L_2112FFF3:   pop edi
L_2112FFF4:   pop esi
L_2112FFF5:   ret 
L_2112FFF6:   push ebx
L_2112FFF7:   mov ebx, [esp+0xc]
L_2112FFFB:   mov eax, ebx
L_2112FFFD:   dec ebx
L_2112FFFE:   push esi
L_2112FFFF:   push edi
L_21130000:   test eax, eax
L_21130002:   jle 0x2113002a
L_21130004:   mov edi, [esp+0x1c]
L_21130008:   mov esi, [esp+0x10]
L_2113000C:   movsx eax, byte [esi]
L_2113000F:   push edi
L_21130010:   inc esi
L_21130011:   push dword [esp+0x1c]
L_21130015:   push eax
L_21130016:   call 0x2112ff90
L_2113001B:   add esp, 0xc
L_2113001E:   cmp dword [edi], -0x1
L_21130021:   jz 0x2113002a
L_21130023:   mov eax, ebx
L_21130025:   dec ebx
L_21130026:   test eax, eax
L_21130028:   jg 0x2113000c
L_2113002A:   pop edi
L_2113002B:   pop esi
L_2113002C:   pop ebx
L_2113002D:   ret 
L_2113002E:   mov eax, [esp+0x4]
L_21130032:   add dword [eax], 0x4
L_21130035:   mov eax, [eax]
L_21130037:   mov eax, [eax-0x4]
L_2113003A:   ret 
L_2113003B:   mov eax, [esp+0x4]
L_2113003F:   add dword [eax], 0x8
L_21130042:   mov ecx, [eax]
L_21130044:   mov eax, [ecx-0x8]
L_21130047:   mov edx, [ecx-0x4]
L_2113004A:   ret 
L_2113004B:   mov eax, [esp+0x4]
L_2113004F:   add dword [eax], 0x4
L_21130052:   mov eax, [eax]
L_21130054:   mov ax, [eax-0x4]
L_21130058:   ret 
L_21130059:   push ebp
L_2113005A:   mov ebp, esp
L_2113005C:   push ebx
L_2113005D:   push esi
L_2113005E:   mov esi, [ebp+0xc]
L_21130061:   mov eax, [esi+0xc]
L_21130064:   mov ebx, [esi+0x10]
L_21130067:   test al, 0x82
L_21130069:   jz 0x21130162
L_2113006F:   test al, 0x40
L_21130071:   jnz 0x21130162
L_21130077:   test al, 0x1
L_21130079:   jz 0x21130091
L_2113007B:   and dword [esi+0x4], 0x0
L_2113007F:   test al, 0x10
L_21130081:   jz 0x21130162
L_21130087:   mov ecx, [esi+0x8]
L_2113008A:   and al, 0xfe
L_2113008C:   mov [esi], ecx
L_2113008E:   mov [esi+0xc], eax
L_21130091:   mov eax, [esi+0xc]
L_21130094:   and dword [esi+0x4], 0x0
L_21130098:   and dword [ebp+0xc], 0x0
L_2113009C:   and al, 0xef
L_2113009E:   or al, 0x2
L_211300A0:   test ax, 0x10c
L_211300A4:   mov [esi+0xc], eax
L_211300A7:   jnz 0x211300cb
L_211300A9:   cmp esi, 0x2114daa0
L_211300AF:   jz 0x211300b9
L_211300B1:   cmp esi, 0x2114dac0
L_211300B7:   jnz 0x211300c4
L_211300B9:   push ebx
L_211300BA:   call 0x2113291d
L_211300BF:   test eax, eax
L_211300C1:   pop ecx
L_211300C2:   jnz 0x211300cb
L_211300C4:   push esi
L_211300C5:   call 0x21132d6c
L_211300CA:   pop ecx
L_211300CB:   test word [esi+0xc], 0x108
L_211300D1:   push edi
L_211300D2:   jz 0x21130138
L_211300D4:   mov eax, [esi+0x8]
L_211300D7:   mov edi, [esi]
L_211300D9:   sub edi, eax
L_211300DB:   lea ecx, [eax+0x1]
L_211300DE:   mov [esi], ecx
L_211300E0:   mov ecx, [esi+0x18]
L_211300E3:   dec ecx
L_211300E4:   test edi, edi
L_211300E6:   mov [esi+0x4], ecx
L_211300E9:   jle 0x211300fb
L_211300EB:   push edi
L_211300EC:   push eax
L_211300ED:   push ebx
L_211300EE:   call 0x21132bbf
L_211300F3:   add esp, 0xc
L_211300F6:   mov [ebp+0xc], eax
L_211300F9:   jmp 0x2113012e
L_211300FB:   cmp ebx, -0x1
L_211300FE:   jz 0x21130116
L_21130100:   mov eax, ebx
L_21130102:   mov ecx, ebx
L_21130104:   sar eax, 0x5
L_21130107:   and ecx, 0x1f
L_2113010A:   mov eax, [eax*4+0x211563e0]
L_21130111:   lea eax, [eax+ecx*8]
L_21130114:   jmp 0x2113011b
L_21130116:   mov eax, 0x2114d9e8
L_2113011B:   test byte [eax+0x4], 0x20
L_2113011F:   jz 0x2113012e
L_21130121:   push 0x2
L_21130123:   push 0x0
L_21130125:   push ebx
L_21130126:   call 0x21132b25
L_2113012B:   add esp, 0xc
L_2113012E:   mov eax, [esi+0x8]
L_21130131:   mov cl, [ebp+0x8]
L_21130134:   mov [eax], cl
L_21130136:   jmp 0x2113014c
L_21130138:   push 0x1
L_2113013A:   lea eax, [ebp+0x8]
L_2113013D:   pop edi
L_2113013E:   push edi
L_2113013F:   push eax
L_21130140:   push ebx
L_21130141:   call 0x21132bbf
L_21130146:   add esp, 0xc
L_21130149:   mov [ebp+0xc], eax
L_2113014C:   cmp [ebp+0xc], edi
L_2113014F:   pop edi
L_21130150:   jz 0x21130158
L_21130152:   or dword [esi+0xc], 0x20
L_21130156:   jmp 0x21130167
L_21130158:   mov eax, [ebp+0x8]
L_2113015B:   and eax, 0xff
L_21130160:   jmp 0x2113016a
L_21130162:   or al, 0x20
L_21130164:   mov [esi+0xc], eax
L_21130167:   or eax, -0x1
L_2113016A:   pop esi
L_2113016B:   pop ebx
L_2113016C:   pop ebp
L_2113016D:   ret 
L_2113016E:   cmp dword [0x21154f28], 0x0
L_21130175:   jnz 0x21130182
L_21130177:   call 0x21130183
L_2113017C:   inc dword [0x21154f28]
L_21130182:   ret 
L_21130183:   push ecx
L_21130184:   push ebx
L_21130185:   push ebp
L_21130186:   push esi
L_21130187:   push edi
L_21130188:   xor ebp, ebp
L_2113018A:   or ebx, -0x1
L_2113018D:   push 0x21147eac
L_21130192:   xor edi, edi
L_21130194:   mov [0x21154e70], ebp
L_2113019A:   mov [0x2114d700], ebx
L_211301A0:   mov [0x2114d6f0], ebx
L_211301A6:   call 0x211330b4
L_211301AB:   mov esi, eax
L_211301AD:   pop ecx
L_211301AE:   cmp esi, ebp
L_211301B0:   jnz 0x211302ac
L_211301B6:   push 0x21154e78
L_211301BB:   call [0x2113e0bc]
L_211301C1:   cmp eax, ebx
L_211301C3:   jz 0x211303db
L_211301C9:   mov eax, [0x21154e78]
L_211301CE:   mov ecx, [0x21154ecc]
L_211301D4:   imul eax, eax, 0x3c
L_211301D7:   cmp [0x21154ebe], bp
L_211301DE:   push 0x1
L_211301E0:   pop edx
L_211301E1:   mov [0x2114d65c], eax
L_211301E6:   mov [0x21154e70], edx
L_211301EC:   jz 0x211301fa
L_211301EE:   mov esi, ecx
L_211301F0:   imul esi, esi, 0x3c
L_211301F3:   add eax, esi
L_211301F5:   mov [0x2114d65c], eax
L_211301FA:   cmp [0x21154f12], bp
L_21130201:   jz 0x2113021e
L_21130203:   mov eax, [0x21154f20]
L_21130208:   cmp eax, ebp
L_2113020A:   jz 0x2113021e
L_2113020C:   sub eax, ecx
L_2113020E:   mov [0x2114d660], edx
L_21130214:   imul eax, eax, 0x3c
L_21130217:   mov [0x2114d664], eax
L_2113021C:   jmp 0x2113022a
L_2113021E:   mov [0x2114d660], ebp
L_21130224:   mov [0x2114d664], ebp
L_2113022A:   lea eax, [esp+0x10]
L_2113022E:   mov esi, [0x2113e0d0]
L_21130234:   push eax
L_21130235:   push ebp
L_21130236:   push 0x3f
L_21130238:   mov edi, 0x220
L_2113023D:   push dword [0x2114d6e8]
L_21130243:   push ebx
L_21130244:   push 0x21154e7c
L_21130249:   push edi
L_2113024A:   push dword [0x21154f7c]
L_21130250:   call esi
L_21130252:   test eax, eax
L_21130254:   jz 0x21130267
L_21130256:   cmp [esp+0x10], ebp
L_2113025A:   jnz 0x21130267
L_2113025C:   mov eax, [0x2114d6e8]
L_21130261:   and byte [eax+0x3f], 0x0
L_21130265:   jmp 0x2113026f
L_21130267:   mov eax, [0x2114d6e8]
L_2113026C:   and byte [eax], 0x0
L_2113026F:   lea eax, [esp+0x10]
L_21130273:   push eax
L_21130274:   push ebp
L_21130275:   push 0x3f
L_21130277:   push dword [0x2114d6ec]
L_2113027D:   push ebx
L_2113027E:   push 0x21154ed0
L_21130283:   push edi
L_21130284:   push dword [0x21154f7c]
L_2113028A:   call esi
L_2113028C:   test eax, eax
L_2113028E:   jz 0x211303d3
L_21130294:   cmp [esp+0x10], ebp
L_21130298:   jnz 0x211303d3
L_2113029E:   mov eax, [0x2114d6ec]
L_211302A3:   and byte [eax+0x3f], 0x0
L_211302A7:   jmp 0x211303db
L_211302AC:   cmp byte [esi], 0x0
L_211302AF:   jz 0x211303db
L_211302B5:   mov eax, [0x21154f24]
L_211302BA:   cmp eax, ebp
L_211302BC:   jz 0x211302cf
L_211302BE:   push eax
L_211302BF:   push esi
L_211302C0:   call 0x21133030
L_211302C5:   pop ecx
L_211302C6:   test eax, eax
L_211302C8:   pop ecx
L_211302C9:   jz 0x211303db
L_211302CF:   push dword [0x21154f24]
L_211302D5:   call 0x21130a70
L_211302DA:   push esi
L_211302DB:   call 0x21132950
L_211302E0:   inc eax
L_211302E1:   push eax
L_211302E2:   call 0x211327b2
L_211302E7:   add esp, 0xc
L_211302EA:   cmp eax, ebp
L_211302EC:   mov [0x21154f24], eax
L_211302F1:   jz 0x211303db
L_211302F7:   push esi
L_211302F8:   push eax
L_211302F9:   call 0x21132f40
L_211302FE:   push 0x3
L_21130300:   push esi
L_21130301:   push dword [0x2114d6e8]
L_21130307:   call 0x21132e40
L_2113030C:   mov eax, [0x2114d6e8]
L_21130311:   add esi, 0x3
L_21130314:   add esp, 0x14
L_21130317:   and byte [eax+0x3], 0x0
L_2113031B:   cmp byte [esi], 0x2d
L_2113031E:   jnz 0x21130324
L_21130320:   push 0x1
L_21130322:   inc esi
L_21130323:   pop edi
L_21130324:   push esi
L_21130325:   call 0x21132db0
L_2113032A:   pop ecx
L_2113032B:   mov bl, 0x30
L_2113032D:   mov ecx, eax
L_2113032F:   imul ecx, ecx, 0xe10
L_21130335:   mov [0x2114d65c], ecx
L_2113033B:   mov al, [esi]
L_2113033D:   cmp al, 0x2b
L_2113033F:   jz 0x21130349
L_21130341:   cmp al, bl
L_21130343:   jl 0x2113034c
L_21130345:   cmp al, 0x39
L_21130347:   jg 0x2113034c
L_21130349:   inc esi
L_2113034A:   jmp 0x2113033b
L_2113034C:   cmp byte [esi], 0x3a
L_2113034F:   jnz 0x2113039f
L_21130351:   inc esi
L_21130352:   push esi
L_21130353:   call 0x21132db0
L_21130358:   imul eax, eax, 0x3c
L_2113035B:   pop ecx
L_2113035C:   mov ecx, [0x2114d65c]
L_21130362:   add ecx, eax
L_21130364:   mov [0x2114d65c], ecx
L_2113036A:   mov al, [esi]
L_2113036C:   cmp al, bl
L_2113036E:   jl 0x21130377
L_21130370:   cmp al, 0x39
L_21130372:   jg 0x21130377
L_21130374:   inc esi
L_21130375:   jmp 0x2113036a
L_21130377:   cmp byte [esi], 0x3a
L_2113037A:   jnz 0x2113039f
L_2113037C:   inc esi
L_2113037D:   push esi
L_2113037E:   call 0x21132db0
L_21130383:   pop ecx
L_21130384:   mov ecx, [0x2114d65c]
L_2113038A:   add ecx, eax
L_2113038C:   mov [0x2114d65c], ecx
L_21130392:   mov al, [esi]
L_21130394:   cmp al, bl
L_21130396:   jl 0x2113039f
L_21130398:   cmp al, 0x39
L_2113039A:   jg 0x2113039f
L_2113039C:   inc esi
L_2113039D:   jmp 0x21130392
L_2113039F:   cmp edi, ebp
L_211303A1:   jz 0x211303ab
L_211303A3:   neg ecx
L_211303A5:   mov [0x2114d65c], ecx
L_211303AB:   movsx eax, byte [esi]
L_211303AE:   cmp eax, ebp
L_211303B0:   mov [0x2114d660], eax
L_211303B5:   jz 0x211303d3
L_211303B7:   push 0x3
L_211303B9:   push esi
L_211303BA:   push dword [0x2114d6ec]
L_211303C0:   call 0x21132e40
L_211303C5:   mov eax, [0x2114d6ec]
L_211303CA:   add esp, 0xc
L_211303CD:   and byte [eax+0x3], 0x0
L_211303D1:   jmp 0x211303db
L_211303D3:   mov eax, [0x2114d6ec]
L_211303D8:   and byte [eax], 0x0
L_211303DB:   pop edi
L_211303DC:   pop esi
L_211303DD:   pop ebp
L_211303DE:   pop ebx
L_211303DF:   pop ecx
L_211303E0:   ret 
L_211303E1:   push ebx
L_211303E2:   push esi
L_211303E3:   push edi
L_211303E4:   xor edi, edi
L_211303E6:   cmp [0x2114d660], edi
L_211303EC:   jnz 0x211303f5
L_211303EE:   xor eax, eax
L_211303F0:   jmp 0x21130541
L_211303F5:   mov esi, [esp+0x10]
L_211303F9:   push 0x1
L_211303FB:   pop ebx
L_211303FC:   mov eax, [esi+0x14]
L_211303FF:   cmp eax, [0x2114d6f0]
L_21130405:   jnz 0x21130413
L_21130407:   cmp eax, [0x2114d700]
L_2113040D:   jz 0x21130515
L_21130413:   cmp [0x21154e70], edi
L_21130419:   jz 0x211304eb
L_2113041F:   movzx ecx, [0x21154f1e]
L_21130426:   push ecx
L_21130427:   cmp [0x21154f10], di
L_2113042E:   movzx ecx, [0x21154f1c]
L_21130435:   push ecx
L_21130436:   movzx ecx, [0x21154f1a]
L_2113043D:   push ecx
L_2113043E:   movzx ecx, [0x21154f18]
L_21130445:   push ecx
L_21130446:   jnz 0x21130465
L_21130448:   movzx ecx, [0x21154f14]
L_2113044F:   push edi
L_21130450:   push ecx
L_21130451:   movzx ecx, [0x21154f16]
L_21130458:   push ecx
L_21130459:   movzx ecx, [0x21154f12]
L_21130460:   push ecx
L_21130461:   push eax
L_21130462:   push ebx
L_21130463:   jmp 0x21130479
L_21130465:   movzx ecx, [0x21154f16]
L_2113046C:   push ecx
L_2113046D:   push edi
L_2113046E:   movzx ecx, [0x21154f12]
L_21130475:   push edi
L_21130476:   push ecx
L_21130477:   push eax
L_21130478:   push edi
L_21130479:   push ebx
L_2113047A:   call 0x2113058d
L_2113047F:   movzx eax, [0x21154eca]
L_21130486:   add esp, 0x2c
L_21130489:   cmp [0x21154ebc], di
L_21130490:   push eax
L_21130491:   movzx eax, [0x21154ec8]
L_21130498:   push eax
L_21130499:   movzx eax, [0x21154ec6]
L_211304A0:   push eax
L_211304A1:   movzx eax, [0x21154ec4]
L_211304A8:   push eax
L_211304A9:   jnz 0x211304d3
L_211304AB:   movzx eax, [0x21154ec0]
L_211304B2:   push edi
L_211304B3:   push eax
L_211304B4:   movzx eax, [0x21154ec2]
L_211304BB:   push eax
L_211304BC:   movzx eax, [0x21154ebe]
L_211304C3:   push eax
L_211304C4:   push dword [esi+0x14]
L_211304C7:   push ebx
L_211304C8:   push edi
L_211304C9:   call 0x2113058d
L_211304CE:   add esp, 0x2c
L_211304D1:   jmp 0x21130515
L_211304D3:   movzx eax, [0x21154ec2]
L_211304DA:   push eax
L_211304DB:   push edi
L_211304DC:   movzx eax, [0x21154ebe]
L_211304E3:   push edi
L_211304E4:   push eax
L_211304E5:   push dword [esi+0x14]
L_211304E8:   push edi
L_211304E9:   jmp 0x211304c8
L_211304EB:   push edi
L_211304EC:   push edi
L_211304ED:   push edi
L_211304EE:   push 0x2
L_211304F0:   push edi
L_211304F1:   push edi
L_211304F2:   push ebx
L_211304F3:   push 0x4
L_211304F5:   push eax
L_211304F6:   push ebx
L_211304F7:   push ebx
L_211304F8:   call 0x2113058d
L_211304FD:   push edi
L_211304FE:   push edi
L_211304FF:   push edi
L_21130500:   push 0x2
L_21130502:   push edi
L_21130503:   push edi
L_21130504:   push 0x5
L_21130506:   push 0xa
L_21130508:   push dword [esi+0x14]
L_2113050B:   push ebx
L_2113050C:   push edi
L_2113050D:   call 0x2113058d
L_21130512:   add esp, 0x58
L_21130515:   mov edx, [0x2114d6f4]
L_2113051B:   mov eax, [0x2114d704]
L_21130520:   mov ecx, [esi+0x1c]
L_21130523:   cmp edx, eax
L_21130525:   jge 0x21130545
L_21130527:   cmp ecx, edx
L_21130529:   jl 0x211303ee
L_2113052F:   cmp ecx, eax
L_21130531:   jg 0x211303ee
L_21130537:   cmp ecx, edx
L_21130539:   jle 0x21130559
L_2113053B:   cmp ecx, eax
L_2113053D:   jge 0x21130559
L_2113053F:   mov eax, ebx
L_21130541:   pop edi
L_21130542:   pop esi
L_21130543:   pop ebx
L_21130544:   ret 
L_21130545:   cmp ecx, eax
L_21130547:   jl 0x2113053f
L_21130549:   cmp ecx, edx
L_2113054B:   jg 0x2113053f
L_2113054D:   cmp ecx, eax
L_2113054F:   jle 0x21130559
L_21130551:   cmp ecx, edx
L_21130553:   jl 0x211303ee
L_21130559:   mov eax, [esi+0x8]
L_2113055C:   imul eax, eax, 0x3c
L_2113055F:   add eax, [esi+0x4]
L_21130562:   imul eax, eax, 0x3c
L_21130565:   add eax, [esi]
L_21130567:   imul eax, eax, 0x3e8
L_2113056D:   cmp ecx, edx
L_2113056F:   jnz 0x21130580
L_21130571:   xor ecx, ecx
L_21130573:   cmp eax, [0x2114d6f8]
L_21130579:   setge cl
L_2113057C:   mov eax, ecx
L_2113057E:   jmp 0x21130541
L_21130580:   xor ecx, ecx
L_21130582:   cmp eax, [0x2114d708]
L_21130588:   setl cl
L_2113058B:   jmp 0x2113057c
L_2113058D:   push ebp
L_2113058E:   mov ebp, esp
L_21130590:   cmp dword [ebp+0xc], 0x1
L_21130594:   push ebx
L_21130595:   mov ebx, [ebp+0x10]
L_21130598:   push esi
L_21130599:   jnz 0x21130628
L_2113059F:   mov eax, [ebp+0x14]
L_211305A2:   mov [ebp+0x10], ebx
L_211305A5:   and dword [ebp+0x10], 0x3
L_211305A9:   mov esi, eax
L_211305AB:   jnz 0x211305b8
L_211305AD:   shl esi, 0x2
L_211305B0:   mov eax, [esi+0x2114dcfc]
L_211305B6:   jmp 0x211305c1
L_211305B8:   shl esi, 0x2
L_211305BB:   mov eax, [esi+0x2114dd30]
L_211305C1:   mov edx, ebx
L_211305C3:   lea ecx, [eax+0x1]
L_211305C6:   imul edx, edx, 0x16d
L_211305CC:   lea eax, [ebx-0x1]
L_211305CF:   push edi
L_211305D0:   sar eax, 0x2
L_211305D3:   mov edi, ecx
L_211305D5:   push 0x7
L_211305D7:   add edi, eax
L_211305D9:   lea eax, [edx+edi-0x63db]
L_211305E0:   pop edi
L_211305E1:   cdq 
L_211305E2:   idiv edi
L_211305E4:   mov eax, [ebp+0x18]
L_211305E7:   pop edi
L_211305E8:   cmp edx, [ebp+0x1c]
L_211305EB:   jg 0x211305fb
L_211305ED:   imul eax, eax, 0x7
L_211305F0:   sub eax, edx
L_211305F2:   add eax, [ebp+0x1c]
L_211305F5:   lea ecx, [ecx+eax-0x7]
L_211305F9:   jmp 0x21130605
L_211305FB:   imul eax, eax, 0x7
L_211305FE:   sub eax, edx
L_21130600:   add eax, [ebp+0x1c]
L_21130603:   add ecx, eax
L_21130605:   cmp dword [ebp+0x18], 0x5
L_21130609:   jnz 0x21130643
L_2113060B:   cmp dword [ebp+0x10], 0x0
L_2113060F:   jnz 0x21130619
L_21130611:   mov esi, [esi+0x2114dd00]
L_21130617:   jmp 0x2113061f
L_21130619:   mov esi, [esi+0x2114dd34]
L_2113061F:   cmp ecx, esi
L_21130621:   jle 0x21130643
L_21130623:   sub ecx, 0x7
L_21130626:   jmp 0x21130643
L_21130628:   mov eax, [ebp+0x14]
L_2113062B:   test bl, 0x3
L_2113062E:   jnz 0x21130639
L_21130630:   mov ecx, [eax*4+0x2114dcfc]
L_21130637:   jmp 0x21130640
L_21130639:   mov ecx, [eax*4+0x2114dd30]
L_21130640:   add ecx, [ebp+0x20]
L_21130643:   cmp dword [ebp+0x8], 0x1
L_21130647:   jnz 0x21130674
L_21130649:   mov eax, [ebp+0x24]
L_2113064C:   mov [0x2114d6f4], ecx
L_21130652:   imul eax, eax, 0x3c
L_21130655:   add eax, [ebp+0x28]
L_21130658:   mov [0x2114d6f0], ebx
L_2113065E:   imul eax, eax, 0x3c
L_21130661:   add eax, [ebp+0x2c]
L_21130664:   imul eax, eax, 0x3e8
L_2113066A:   add eax, [ebp+0x30]
L_2113066D:   mov [0x2114d6f8], eax
L_21130672:   jmp 0x211306c9
L_21130674:   mov eax, [ebp+0x24]
L_21130677:   mov [0x2114d704], ecx
L_2113067D:   imul eax, eax, 0x3c
L_21130680:   add eax, [ebp+0x28]
L_21130683:   imul eax, eax, 0x3c
L_21130686:   add eax, [0x2114d664]
L_2113068C:   add eax, [ebp+0x2c]
L_2113068F:   imul eax, eax, 0x3e8
L_21130695:   add eax, [ebp+0x30]
L_21130698:   mov [0x2114d708], eax
L_2113069D:   jns 0x211306ac
L_2113069F:   add eax, 0x5265c00
L_211306A4:   dec ecx
L_211306A5:   mov [0x2114d708], eax
L_211306AA:   jmp 0x211306bd
L_211306AC:   mov edx, 0x5265c00
L_211306B1:   cmp eax, edx
L_211306B3:   jl 0x211306c3

User avatar
Fearless Donors
Fearless Donors
Posts: 200
Joined: Thu Mar 23, 2017 5:37 pm
Reputation: 27

Re: Can someone explain to me what that code means? and what things in the code can I modify without it collapsing ? tha

Post by HylianZ » Sun Nov 10, 2019 9:27 pm

lol no

Expert Cheater
Expert Cheater
Posts: 90
Joined: Sat Sep 02, 2017 5:21 am
Reputation: 0

Re: Can someone explain to me what that code means? and what things in the code can I modify without it collapsing ? tha

Post by matrix501 » Sat Jan 04, 2020 2:53 pm

looks like you need to have some understanding of computer programing i tried a while ago it's lost on me now though sorry

User avatar
Posts: 1715
Joined: Fri Mar 03, 2017 12:31 am
Reputation: 673

Re: Can someone explain to me what that code means? and what things in the code can I modify without it collapsing ? tha

Post by TheyCallMeTim13 » Sat Jan 04, 2020 5:03 pm

First; if you're going to post a huge chunk of code, at least use code blocks. Second; technically you could change any part and the code wouldn't collapse, that's not how memory works.

But really you can't just post 1000 lines of arbitrary code and expect anyone to know what's going on. With this best anyone could do is define each of the instructions, and you could use Google for that far more easily.
CE wiki - Tutorials CE wiki - Auto Assembler Basics - CE wiki - Lua Basics If it's not a Personal Message don't PM me, use the forum. I ignore PMs that should be asked on the forum.

Post Reply

Who is online

Users browsing this forum: No registered users