Function at 0x1012aef0
Capabilities:
Contain obfuscated stackstrings
Resolve function by parsing pe exports

Disassembly:
sub esp, 0xb0
mov eax, dword [0x101b03d4]
xor eax, esp
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0xb8]
push ebp
mov ebp, dword [esp + 0xb8]
test ebp, ebp
mov dword [esp + 4], eax
je 0x1012c176
mov al, byte [ebp + 0x12c]
cmp al, 8
push ebx
push esi
push edi
jae 0x1012af97
mov ebx, dword [esp + 0x10]
movzx edi, al
mov esi, 8
sub esi, edi
push esi
lea ecx, [ebx + edi + 0x20]
push ecx
push ebp
call fcn.1012e0e0
push esi
add ebx, 0x20
push edi
push ebx
mov byte [ebp + 0x12c], 8
call fcn.1012a4c0
add esp, 0x18
test eax, eax
je 0x1012af8b
cmp edi, 4
jae 0x1012af7d
add esi, 0xfffffffc
push esi
push edi
push ebx
call fcn.1012a4c0
add esp, 0xc
test eax, eax
je 0x1012af7d
push 0x1017d074
jmp 0x1012af82
push 0x1017d04c
push ebp
call fcn.1012a300
add esp, 8
cmp edi, 3
jae 0x1012af97
or dword [ebp + 0x68], 0x1000
mov al, 0x44
mov byte [esp + 0x8e], al
mov byte [esp + 0x1d], al
mov byte [esp + 0x3f], al
mov byte [esp + 0x7f], al
mov al, 0x46
mov dl, 0x49
mov bl, 0x41
mov cl, 0x54
mov byte [esp + 0x2d], al
mov byte [esp + 0x2e], al
mov al, 0x73
mov byte [esp + 0x8c], dl
mov byte [esp + 0x8d], 0x48
mov byte [esp + 0x8f], 0x52
mov byte [esp + 0x90], 0
mov byte [esp + 0x1c], dl
mov byte [esp + 0x1e], bl
mov byte [esp + 0x1f], cl
mov byte [esp + 0x20], 0
mov byte [esp + 0x3c], dl
mov byte [esp + 0x3d], 0x45
mov byte [esp + 0x3e], 0x4e
mov byte [esp + 0x40], 0
mov byte [esp + 0x24], 0x50
mov byte [esp + 0x25], 0x4c
mov byte [esp + 0x26], cl
mov byte [esp + 0x27], 0x45
mov byte [esp + 0x28], 0
mov byte [esp + 0x7c], 0x62
mov byte [esp + 0x7d], 0x4b
mov byte [esp + 0x7e], 0x47
mov byte [esp + 0x80], 0
mov byte [esp + 0x4c], 0x63
mov byte [esp + 0x4d], 0x48
mov byte [esp + 0x4e], 0x52
mov byte [esp + 0x4f], 0x4d
mov byte [esp + 0x50], 0
mov byte [esp + 0x9c], 0x67
mov byte [esp + 0x9d], bl
mov byte [esp + 0x9e], 0x4d
mov byte [esp + 0x9f], bl
mov byte [esp + 0xa0], 0
mov byte [esp + 0x5c], 0x68
mov byte [esp + 0x5d], dl
mov byte [esp + 0x5e], 0x53
mov byte [esp + 0x5f], cl
mov byte [esp + 0x60], 0
mov byte [esp + 0x64], 0x69
mov byte [esp + 0x65], 0x43
mov byte [esp + 0x66], 0x43
mov byte [esp + 0x67], 0x50
mov byte [esp + 0x68], 0
mov byte [esp + 0x2c], 0x6f
mov byte [esp + 0x2f], al
mov byte [esp + 0x30], 0
mov byte [esp + 0x6c], 0x70
mov byte [esp + 0x6d], 0x43
mov byte [esp + 0x6e], bl
mov byte [esp + 0x6f], 0x4c
mov byte [esp + 0x70], 0
mov byte [esp + 0x34], 0x70
mov byte [esp + 0x35], 0x48
mov byte [esp + 0x36], 0x59
mov byte [esp + 0x37], al
mov byte [esp + 0x38], 0
mov byte [esp + 0x44], al
mov byte [esp + 0x45], 0x42
mov byte [esp + 0x46], dl
mov byte [esp + 0x47], cl
mov byte [esp + 0x48], 0
mov byte [esp + 0xac], al
mov byte [esp + 0xad], 0x43
mov byte [esp + 0xae], bl
mov byte [esp + 0xaf], 0x4c
mov byte [esp + 0xb0], 0
mov byte [esp + 0x74], al
mov byte [esp + 0x75], 0x50
mov byte [esp + 0x76], 0x4c
mov byte [esp + 0x77], cl
mov byte [esp + 0x78], 0
mov byte [esp + 0x54], al
mov al, 0x74
mov bl, 0x58
mov byte [esp + 0x55], 0x52
mov byte [esp + 0x56], 0x47
mov byte [esp + 0x57], 0x42
mov byte [esp + 0x58], 0
mov byte [esp + 0x84], al
mov byte [esp + 0x85], 0x45
mov byte [esp + 0x86], bl
mov byte [esp + 0x87], al
mov byte [esp + 0x88], 0
mov byte [esp + 0x94], al
mov byte [esp + 0x95], dl
mov byte [esp + 0x96], 0x4d
mov byte [esp + 0x97], 0x45
mov byte [esp + 0x98], 0
mov byte [esp + 0xa4], al
mov byte [esp + 0xa5], 0x52
mov byte [esp + 0xa6], 0x4e
mov byte [esp + 0xa7], 0x53
mov byte [esp + 0xa8], 0
mov byte [esp + 0xb4], 0x7a
mov byte [esp + 0xb5], cl
mov byte [esp + 0xb6], bl
mov byte [esp + 0xb7], al
mov byte [esp + 0xb8], 0
lea edi, [ebp + 0x11c]
lea esp, [esp]
push 4
lea edx, [esp + 0x1c]
push edx
push ebp
call fcn.1012e0e0
lea eax, [esp + 0x24]
push eax
push ebp
call fcn.10131b30
push ebp
mov dword [esp + 0x2c], eax
call fcn.1012a650
push 4
push edi
push ebp
call fcn.10130a30
add esp, 0x24
mov eax, 4
lea ecx, [esp + 0x1c]
mov edx, edi
lea esp, [esp]
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x1012b248
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x1012b230
test eax, eax
je 0x1012b2a5
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1012b297
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012b2a5
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1012b297
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012b2a5
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1012b297
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012b2a5
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x1012b2a5
test esi, esi
mov eax, 1
jg 0x1012b2a7
or eax, 0xffffffff
jmp 0x1012b2a7
xor eax, eax
test eax, eax
jne 0x1012b2ba
mov eax, dword [ebp + 0x68]
test al, 8
je 0x1012b2ba
or eax, 0x2000
mov dword [ebp + 0x68], eax
mov eax, 4
lea ecx, [esp + 0x8c]
mov edx, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x1012b2e0
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x1012b2c8
test eax, eax
je 0x1012b33d
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1012b32f
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012b33d
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1012b32f
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012b33d
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1012b32f
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012b33d
movzx eax, byte [ecx]
movzx esi, byte [edx]
sub esi, eax
je 0x1012b33d
test esi, esi
mov eax, 1
jg 0x1012b33f
or eax, 0xffffffff
jmp 0x1012b33f
xor eax, eax
test eax, eax
jne 0x1012b35b
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
push ecx
push edx
push ebp
call fcn.10131c20
add esp, 0xc
jmp 0x1012b1f0
mov eax, 4
lea ecx, [esp + 0x3c]
mov edx, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x1012b37e
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x1012b366
test eax, eax
je 0x1012b3db
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1012b3cd
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012b3db
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1012b3cd
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012b3db
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1012b3cd
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012b3db
movzx esi, byte [edx]
movzx eax, byte [ecx]
sub esi, eax
je 0x1012b3db
test esi, esi
mov eax, 1
jg 0x1012b3dd
or eax, 0xffffffff
jmp 0x1012b3dd
xor eax, eax
test eax, eax
jne 0x1012b3f9
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
push ecx
push edx
push ebp
call fcn.10131f30
add esp, 0xc
jmp 0x1012b1f0
push edi
push ebp
call fcn.1012ab40
add esp, 8
test eax, eax
mov edx, edi
mov eax, 4
je 0x1012b5df
lea ecx, [esp + 0x1c]
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x1012b42e
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x1012b416
test eax, eax
je 0x1012b48b
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1012b47d
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012b48b
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1012b47d
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012b48b
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1012b47d
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012b48b
movzx eax, byte [ecx]
movzx esi, byte [edx]
sub esi, eax
je 0x1012b48b
test esi, esi
mov eax, 1
jg 0x1012b48d
or eax, 0xffffffff
jmp 0x1012b48d
xor eax, eax
test eax, eax
jne 0x1012b495
or dword [ebp + 0x68], 4
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
push ecx
push edx
push ebp
call fcn.10133d30
add esp, 0xc
mov eax, 4
lea ecx, [esp + 0x24]
mov edx, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x1012b4cb
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x1012b4b3
test eax, eax
je 0x1012b528
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1012b51a
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012b528
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1012b51a
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012b528
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1012b51a
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012b528
movzx esi, byte [edx]
movzx eax, byte [ecx]
sub esi, eax
je 0x1012b528
test esi, esi
mov eax, 1
jg 0x1012b52a
or eax, 0xffffffff
jmp 0x1012b52a
xor eax, eax
test eax, eax
jne 0x1012b537
or dword [ebp + 0x68], 2
jmp 0x1012b1f0
mov eax, 4
lea ecx, [esp + 0x1c]
mov edx, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x1012b55a
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x1012b542
test eax, eax
je 0x1012b5b7
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1012b5a9
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012b5b7
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1012b5a9
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012b5b7
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1012b5a9
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012b5b7
movzx ecx, byte [ecx]
movzx esi, byte [edx]
sub esi, ecx
je 0x1012b5b7
test esi, esi
mov eax, 1
jg 0x1012b5b9
or eax, 0xffffffff
jmp 0x1012b5b9
xor eax, eax
test eax, eax
jne 0x1012b1f0
mov eax, dword [ebp + 0x68]
test al, 1
jne 0x1012c11f
push 0x1017d030
push ebp
call fcn.1012a300
add esp, 8
jmp 0x1012c173
lea ecx, [esp + 0x24]
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x1012b5fb
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x1012b5e3
test eax, eax
je 0x1012b658
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1012b64a
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012b658
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1012b64a
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012b658
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1012b64a
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012b658
movzx esi, byte [edx]
movzx edx, byte [ecx]
sub esi, edx
je 0x1012b658
test esi, esi
mov eax, 1
jg 0x1012b65a
or eax, 0xffffffff
jmp 0x1012b65a
xor eax, eax
test eax, eax
jne 0x1012b676
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
push eax
push ecx
push ebp
call fcn.10131da0
add esp, 0xc
jmp 0x1012b1f0
mov eax, 4
lea ecx, [esp + 0x1c]
mov edx, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x1012b699
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x1012b681
test eax, eax
je 0x1012b6f6
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1012b6e8
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012b6f6
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1012b6e8
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012b6f6
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1012b6e8
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012b6f6
movzx eax, byte [ecx]
movzx esi, byte [edx]
sub esi, eax
je 0x1012b6f6
test esi, esi
mov eax, 1
jg 0x1012b6f8
or eax, 0xffffffff
jmp 0x1012b6f8
xor eax, eax
test eax, eax
je 0x1012c13c
mov eax, 4
lea ecx, [esp + 0x7c]
mov edx, edi
jmp 0x1012b710
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x1012b728
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x1012b710
test eax, eax
je 0x1012b785
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1012b777
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012b785
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1012b777
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012b785
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1012b777
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012b785
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x1012b785
test esi, esi
mov eax, 1
jg 0x1012b787
or eax, 0xffffffff
jmp 0x1012b787
xor eax, eax
test eax, eax
jne 0x1012b7a3
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
push ebp
call fcn.10132f50
add esp, 0xc
jmp 0x1012b1f0
mov eax, 4
lea ecx, [esp + 0x4c]
mov edx, edi
mov edi, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x1012b7c8
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x1012b7b0
test eax, eax
je 0x1012b825
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1012b817
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012b825
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1012b817
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012b825
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1012b817
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012b825
movzx ecx, byte [ecx]
movzx esi, byte [edx]
sub esi, ecx
je 0x1012b825
test esi, esi
mov eax, 1
jg 0x1012b827
or eax, 0xffffffff
jmp 0x1012b827
xor eax, eax
test eax, eax
jne 0x1012b843
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
push ebp
call fcn.10132260
add esp, 0xc
jmp 0x1012b1f0
mov eax, 4
lea ecx, [esp + 0x9c]
mov edx, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x1012b869
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x1012b851
test eax, eax
je 0x1012b8c6
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1012b8b8
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012b8c6
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1012b8b8
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012b8c6
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1012b8b8
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012b8c6
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x1012b8c6
test esi, esi
mov eax, 1
jg 0x1012b8c8
or eax, 0xffffffff
jmp 0x1012b8c8
xor eax, eax
test eax, eax
jne 0x1012b8e4
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
push ebp
call fcn.10131f80
add esp, 0xc
jmp 0x1012b1f0
mov eax, 4
lea ecx, [esp + 0x5c]
mov edx, edi
nop
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x1012b908
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x1012b8f0
test eax, eax
je 0x1012b965
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1012b957
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012b965
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1012b957
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012b965
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1012b957
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012b965
movzx ecx, byte [ecx]
movzx esi, byte [edx]
sub esi, ecx
je 0x1012b965
test esi, esi
mov eax, 1
jg 0x1012b967
or eax, 0xffffffff
jmp 0x1012b967
xor eax, eax
test eax, eax
jne 0x1012b983
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
push ebp
call fcn.10133190
add esp, 0xc
jmp 0x1012b1f0
mov eax, 4
lea ecx, [esp + 0x2c]
mov edx, edi
mov edi, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x1012b9a8
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x1012b990
test eax, eax
je 0x1012ba05
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1012b9f7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012ba05
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1012b9f7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012ba05
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1012b9f7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012ba05
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x1012ba05
test esi, esi
mov eax, 1
jg 0x1012ba07
or eax, 0xffffffff
jmp 0x1012ba07
xor eax, eax
test eax, eax
jne 0x1012ba23
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
push ebp
call fcn.10133450
add esp, 0xc
jmp 0x1012b1f0
mov eax, 4
lea ecx, [esp + 0x6c]
mov edx, edi
mov edi, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x1012ba48
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x1012ba30
test eax, eax
je 0x1012baa5
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1012ba97
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012baa5
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1012ba97
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012baa5
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1012ba97
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012baa5
movzx ecx, byte [ecx]
movzx esi, byte [edx]
sub esi, ecx
je 0x1012baa5
test esi, esi
mov eax, 1
jg 0x1012baa7
or eax, 0xffffffff
jmp 0x1012baa7
xor eax, eax
test eax, eax
jne 0x1012bac3
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
push ebp
call fcn.10133580
add esp, 0xc
jmp 0x1012b1f0
mov eax, 4
lea ecx, [esp + 0xac]
mov edx, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x1012bae9
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x1012bad1
test eax, eax
je 0x1012bb46
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1012bb38
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012bb46
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1012bb38
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012bb46
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1012bb38
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012bb46
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x1012bb46
test esi, esi
mov eax, 1
jg 0x1012bb48
or eax, 0xffffffff
jmp 0x1012bb48
xor eax, eax
test eax, eax
jne 0x1012bb64
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
push ebp
call fcn.101337e0
add esp, 0xc
jmp 0x1012b1f0
mov eax, 4
lea ecx, [esp + 0x34]
mov edx, edi
nop
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x1012bb88
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x1012bb70
test eax, eax
je 0x1012bbe5
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1012bbd7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012bbe5
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1012bbd7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012bbe5
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1012bbd7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012bbe5
movzx ecx, byte [ecx]
movzx esi, byte [edx]
sub esi, ecx
je 0x1012bbe5
test esi, esi
mov eax, 1
jg 0x1012bbe7
or eax, 0xffffffff
jmp 0x1012bbe7
xor eax, eax
test eax, eax
jne 0x1012bc03
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
push ebp
call fcn.10133330
add esp, 0xc
jmp 0x1012b1f0
mov eax, 4
lea ecx, [esp + 0x44]
mov edx, edi
mov edi, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x1012bc28
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x1012bc10
test eax, eax
je 0x1012bc85
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1012bc77
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012bc85
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1012bc77
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012bc85
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1012bc77
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012bc85
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x1012bc85
test esi, esi
mov eax, 1
jg 0x1012bc87
or eax, 0xffffffff
jmp 0x1012bc87
xor eax, eax
test eax, eax
jne 0x1012bca3
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
push ebp
call fcn.101320f0
add esp, 0xc
jmp 0x1012b1f0
mov eax, 4
lea ecx, [esp + 0x54]
mov edx, edi
mov edi, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x1012bcc8
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x1012bcb0
test eax, eax
je 0x1012bd25
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1012bd17
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012bd25
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1012bd17
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012bd25
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1012bd17
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012bd25
movzx ecx, byte [ecx]
movzx esi, byte [edx]
sub esi, ecx
je 0x1012bd25
test esi, esi
mov eax, 1
jg 0x1012bd27
or eax, 0xffffffff
jmp 0x1012bd27
xor eax, eax
test eax, eax
jne 0x1012bd43
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
push ebp
call fcn.10132710
add esp, 0xc
jmp 0x1012b1f0
mov eax, 4
lea ecx, [esp + 0x64]
mov edx, edi
mov edi, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x1012bd68
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x1012bd50
test eax, eax
je 0x1012bdc5
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1012bdb7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012bdc5
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1012bdb7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012bdc5
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1012bdb7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012bdc5
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x1012bdc5
test esi, esi
mov eax, 1
jg 0x1012bdc7
or eax, 0xffffffff
jmp 0x1012bdc7
xor eax, eax
test eax, eax
jne 0x1012bde3
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
push ebp
call fcn.10132910
add esp, 0xc
jmp 0x1012b1f0
mov eax, 4
lea ecx, [esp + 0x74]
mov edx, edi
mov edi, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x1012be08
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x1012bdf0
test eax, eax
je 0x1012be65
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1012be57
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012be65
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1012be57
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012be65
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1012be57
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012be65
movzx ecx, byte [ecx]
movzx esi, byte [edx]
sub esi, ecx
je 0x1012be65
test esi, esi
mov eax, 1
jg 0x1012be67
or eax, 0xffffffff
jmp 0x1012be67
xor eax, eax
test eax, eax
jne 0x1012be83
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
push ebp
call fcn.10132ad0
add esp, 0xc
jmp 0x1012b1f0
mov eax, 4
lea ecx, [esp + 0x84]
mov edx, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x1012bea9
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x1012be91
test eax, eax
je 0x1012bf06
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1012bef8
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012bf06
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1012bef8
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012bf06
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1012bef8
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012bf06
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x1012bf06
test esi, esi
mov eax, 1
jg 0x1012bf08
or eax, 0xffffffff
jmp 0x1012bf08
xor eax, eax
test eax, eax
jne 0x1012bf24
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
push ebp
call fcn.10133ac0
add esp, 0xc
jmp 0x1012b1f0
mov eax, 4
lea ecx, [esp + 0x94]
mov edx, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x1012bf4a
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x1012bf32
test eax, eax
je 0x1012bfa7
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1012bf99
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012bfa7
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1012bf99
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012bfa7
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1012bf99
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012bfa7
movzx ecx, byte [ecx]
movzx esi, byte [edx]
sub esi, ecx
je 0x1012bfa7
test esi, esi
mov eax, 1
jg 0x1012bfa9
or eax, 0xffffffff
jmp 0x1012bfa9
xor eax, eax
test eax, eax
jne 0x1012bfc5
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
push ebp
call fcn.101339a0
add esp, 0xc
jmp 0x1012b1f0
mov eax, 4
lea ecx, [esp + 0xa4]
mov edx, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x1012bfeb
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x1012bfd3
test eax, eax
je 0x1012c048
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1012c03a
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012c048
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1012c03a
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012c048
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1012c03a
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012c048
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x1012c048
test esi, esi
mov eax, 1
jg 0x1012c04a
or eax, 0xffffffff
jmp 0x1012c04a
xor eax, eax
test eax, eax
jne 0x1012c066
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
push ebp
call fcn.10132cf0
add esp, 0xc
jmp 0x1012b1f0
mov eax, 4
lea ecx, [esp + 0xb4]
mov edx, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x1012c08c
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x1012c074
test eax, eax
je 0x1012c0e9
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1012c0db
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012c0e9
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1012c0db
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012c0e9
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1012c0db
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012c0e9
movzx ecx, byte [ecx]
movzx esi, byte [edx]
sub esi, ecx
je 0x1012c0e9
test esi, esi
mov eax, 1
jg 0x1012c0eb
or eax, 0xffffffff
jmp 0x1012c0eb
xor eax, eax
test eax, eax
jne 0x1012c107
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
push ebp
call fcn.10133be0
add esp, 0xc
jmp 0x1012b1f0
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
push ecx
push edx
push ebp
call fcn.10133d30
add esp, 0xc
jmp 0x1012b1f0
cmp byte [ebp + 0x126], 3
jne 0x1012c173
test al, 2
jne 0x1012c173
push 0x1017d014
push ebp
call fcn.1012a300
add esp, 8
jmp 0x1012c173
mov eax, dword [ebp + 0x68]
test al, 1
jne 0x1012c14a
push 0x1017d030
jmp 0x1012c15c
cmp byte [ebp + 0x126], 3
jne 0x1012c165
test al, 2
jne 0x1012c165
push 0x1017d014
push ebp
call fcn.1012a300
add esp, 8
mov eax, dword [esp + 0x14]
or dword [ebp + 0x68], 4
mov dword [ebp + 0x10c], eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xb0]
pop ebp
xor ecx, esp
call fcn.100fb12a
add esp, 0xb0
ret