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

Disassembly:
sub esp, 0xb0
mov eax, dword [0x101af0fc]
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 0x1012d276
mov al, byte [ebp + 0x12c]
cmp al, 8
push ebx
push esi
push edi
jae 0x1012c097
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.1012f1e0
push esi
add ebx, 0x20
push edi
push ebx
mov byte [ebp + 0x12c], 8
call fcn.1012b5c0
add esp, 0x18
test eax, eax
je 0x1012c08b
cmp edi, 4
jae 0x1012c07d
add esi, 0xfffffffc
push esi
push edi
push ebx
call fcn.1012b5c0
add esp, 0xc
test eax, eax
je 0x1012c07d
push 0x1017c580
jmp 0x1012c082
push 0x1017c558
push ebp
call fcn.1012b400
add esp, 8
cmp edi, 3
jae 0x1012c097
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.1012f1e0
lea eax, [esp + 0x24]
push eax
push ebp
call fcn.10132c30
push ebp
mov dword [esp + 0x2c], eax
call fcn.1012b750
push 4
push edi
push ebp
call fcn.10131b30
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 0x1012c348
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x1012c330
test eax, eax
je 0x1012c3a5
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1012c397
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012c3a5
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1012c397
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012c3a5
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1012c397
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012c3a5
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x1012c3a5
test esi, esi
mov eax, 1
jg 0x1012c3a7
or eax, 0xffffffff
jmp 0x1012c3a7
xor eax, eax
test eax, eax
jne 0x1012c3ba
mov eax, dword [ebp + 0x68]
test al, 8
je 0x1012c3ba
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 0x1012c3e0
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x1012c3c8
test eax, eax
je 0x1012c43d
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1012c42f
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012c43d
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1012c42f
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012c43d
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1012c42f
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012c43d
movzx eax, byte [ecx]
movzx esi, byte [edx]
sub esi, eax
je 0x1012c43d
test esi, esi
mov eax, 1
jg 0x1012c43f
or eax, 0xffffffff
jmp 0x1012c43f
xor eax, eax
test eax, eax
jne 0x1012c45b
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
push ecx
push edx
push ebp
call fcn.10132d20
add esp, 0xc
jmp 0x1012c2f0
mov eax, 4
lea ecx, [esp + 0x3c]
mov edx, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x1012c47e
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x1012c466
test eax, eax
je 0x1012c4db
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1012c4cd
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012c4db
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1012c4cd
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012c4db
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1012c4cd
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012c4db
movzx esi, byte [edx]
movzx eax, byte [ecx]
sub esi, eax
je 0x1012c4db
test esi, esi
mov eax, 1
jg 0x1012c4dd
or eax, 0xffffffff
jmp 0x1012c4dd
xor eax, eax
test eax, eax
jne 0x1012c4f9
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
push ecx
push edx
push ebp
call fcn.10133030
add esp, 0xc
jmp 0x1012c2f0
push edi
push ebp
call fcn.1012bc40
add esp, 8
test eax, eax
mov edx, edi
mov eax, 4
je 0x1012c6df
lea ecx, [esp + 0x1c]
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x1012c52e
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x1012c516
test eax, eax
je 0x1012c58b
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1012c57d
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012c58b
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1012c57d
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012c58b
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1012c57d
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012c58b
movzx eax, byte [ecx]
movzx esi, byte [edx]
sub esi, eax
je 0x1012c58b
test esi, esi
mov eax, 1
jg 0x1012c58d
or eax, 0xffffffff
jmp 0x1012c58d
xor eax, eax
test eax, eax
jne 0x1012c595
or dword [ebp + 0x68], 4
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
push ecx
push edx
push ebp
call fcn.10134e30
add esp, 0xc
mov eax, 4
lea ecx, [esp + 0x24]
mov edx, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x1012c5cb
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x1012c5b3
test eax, eax
je 0x1012c628
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1012c61a
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012c628
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1012c61a
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012c628
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1012c61a
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012c628
movzx esi, byte [edx]
movzx eax, byte [ecx]
sub esi, eax
je 0x1012c628
test esi, esi
mov eax, 1
jg 0x1012c62a
or eax, 0xffffffff
jmp 0x1012c62a
xor eax, eax
test eax, eax
jne 0x1012c637
or dword [ebp + 0x68], 2
jmp 0x1012c2f0
mov eax, 4
lea ecx, [esp + 0x1c]
mov edx, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x1012c65a
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x1012c642
test eax, eax
je 0x1012c6b7
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1012c6a9
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012c6b7
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1012c6a9
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012c6b7
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1012c6a9
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012c6b7
movzx ecx, byte [ecx]
movzx esi, byte [edx]
sub esi, ecx
je 0x1012c6b7
test esi, esi
mov eax, 1
jg 0x1012c6b9
or eax, 0xffffffff
jmp 0x1012c6b9
xor eax, eax
test eax, eax
jne 0x1012c2f0
mov eax, dword [ebp + 0x68]
test al, 1
jne 0x1012d21f
push 0x1017c53c
push ebp
call fcn.1012b400
add esp, 8
jmp 0x1012d273
lea ecx, [esp + 0x24]
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x1012c6fb
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x1012c6e3
test eax, eax
je 0x1012c758
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1012c74a
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012c758
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1012c74a
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012c758
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1012c74a
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012c758
movzx esi, byte [edx]
movzx edx, byte [ecx]
sub esi, edx
je 0x1012c758
test esi, esi
mov eax, 1
jg 0x1012c75a
or eax, 0xffffffff
jmp 0x1012c75a
xor eax, eax
test eax, eax
jne 0x1012c776
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
push eax
push ecx
push ebp
call fcn.10132ea0
add esp, 0xc
jmp 0x1012c2f0
mov eax, 4
lea ecx, [esp + 0x1c]
mov edx, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x1012c799
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x1012c781
test eax, eax
je 0x1012c7f6
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1012c7e8
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012c7f6
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1012c7e8
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012c7f6
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1012c7e8
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012c7f6
movzx eax, byte [ecx]
movzx esi, byte [edx]
sub esi, eax
je 0x1012c7f6
test esi, esi
mov eax, 1
jg 0x1012c7f8
or eax, 0xffffffff
jmp 0x1012c7f8
xor eax, eax
test eax, eax
je 0x1012d23c
mov eax, 4
lea ecx, [esp + 0x7c]
mov edx, edi
jmp 0x1012c810
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x1012c828
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x1012c810
test eax, eax
je 0x1012c885
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1012c877
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012c885
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1012c877
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012c885
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1012c877
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012c885
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x1012c885
test esi, esi
mov eax, 1
jg 0x1012c887
or eax, 0xffffffff
jmp 0x1012c887
xor eax, eax
test eax, eax
jne 0x1012c8a3
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
push ebp
call fcn.10134050
add esp, 0xc
jmp 0x1012c2f0
mov eax, 4
lea ecx, [esp + 0x4c]
mov edx, edi
mov edi, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x1012c8c8
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x1012c8b0
test eax, eax
je 0x1012c925
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1012c917
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012c925
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1012c917
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012c925
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1012c917
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012c925
movzx ecx, byte [ecx]
movzx esi, byte [edx]
sub esi, ecx
je 0x1012c925
test esi, esi
mov eax, 1
jg 0x1012c927
or eax, 0xffffffff
jmp 0x1012c927
xor eax, eax
test eax, eax
jne 0x1012c943
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
push ebp
call fcn.10133360
add esp, 0xc
jmp 0x1012c2f0
mov eax, 4
lea ecx, [esp + 0x9c]
mov edx, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x1012c969
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x1012c951
test eax, eax
je 0x1012c9c6
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1012c9b8
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012c9c6
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1012c9b8
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012c9c6
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1012c9b8
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012c9c6
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x1012c9c6
test esi, esi
mov eax, 1
jg 0x1012c9c8
or eax, 0xffffffff
jmp 0x1012c9c8
xor eax, eax
test eax, eax
jne 0x1012c9e4
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
push ebp
call fcn.10133080
add esp, 0xc
jmp 0x1012c2f0
mov eax, 4
lea ecx, [esp + 0x5c]
mov edx, edi
nop
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x1012ca08
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x1012c9f0
test eax, eax
je 0x1012ca65
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1012ca57
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012ca65
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1012ca57
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012ca65
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1012ca57
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012ca65
movzx ecx, byte [ecx]
movzx esi, byte [edx]
sub esi, ecx
je 0x1012ca65
test esi, esi
mov eax, 1
jg 0x1012ca67
or eax, 0xffffffff
jmp 0x1012ca67
xor eax, eax
test eax, eax
jne 0x1012ca83
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
push ebp
call fcn.10134290
add esp, 0xc
jmp 0x1012c2f0
mov eax, 4
lea ecx, [esp + 0x2c]
mov edx, edi
mov edi, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x1012caa8
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x1012ca90
test eax, eax
je 0x1012cb05
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1012caf7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012cb05
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1012caf7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012cb05
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1012caf7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012cb05
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x1012cb05
test esi, esi
mov eax, 1
jg 0x1012cb07
or eax, 0xffffffff
jmp 0x1012cb07
xor eax, eax
test eax, eax
jne 0x1012cb23
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
push ebp
call fcn.10134550
add esp, 0xc
jmp 0x1012c2f0
mov eax, 4
lea ecx, [esp + 0x6c]
mov edx, edi
mov edi, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x1012cb48
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x1012cb30
test eax, eax
je 0x1012cba5
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1012cb97
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012cba5
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1012cb97
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012cba5
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1012cb97
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012cba5
movzx ecx, byte [ecx]
movzx esi, byte [edx]
sub esi, ecx
je 0x1012cba5
test esi, esi
mov eax, 1
jg 0x1012cba7
or eax, 0xffffffff
jmp 0x1012cba7
xor eax, eax
test eax, eax
jne 0x1012cbc3
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
push ebp
call fcn.10134680
add esp, 0xc
jmp 0x1012c2f0
mov eax, 4
lea ecx, [esp + 0xac]
mov edx, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x1012cbe9
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x1012cbd1
test eax, eax
je 0x1012cc46
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1012cc38
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012cc46
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1012cc38
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012cc46
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1012cc38
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012cc46
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x1012cc46
test esi, esi
mov eax, 1
jg 0x1012cc48
or eax, 0xffffffff
jmp 0x1012cc48
xor eax, eax
test eax, eax
jne 0x1012cc64
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
push ebp
call fcn.101348e0
add esp, 0xc
jmp 0x1012c2f0
mov eax, 4
lea ecx, [esp + 0x34]
mov edx, edi
nop
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x1012cc88
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x1012cc70
test eax, eax
je 0x1012cce5
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1012ccd7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012cce5
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1012ccd7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012cce5
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1012ccd7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012cce5
movzx ecx, byte [ecx]
movzx esi, byte [edx]
sub esi, ecx
je 0x1012cce5
test esi, esi
mov eax, 1
jg 0x1012cce7
or eax, 0xffffffff
jmp 0x1012cce7
xor eax, eax
test eax, eax
jne 0x1012cd03
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
push ebp
call fcn.10134430
add esp, 0xc
jmp 0x1012c2f0
mov eax, 4
lea ecx, [esp + 0x44]
mov edx, edi
mov edi, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x1012cd28
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x1012cd10
test eax, eax
je 0x1012cd85
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1012cd77
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012cd85
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1012cd77
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012cd85
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1012cd77
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012cd85
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x1012cd85
test esi, esi
mov eax, 1
jg 0x1012cd87
or eax, 0xffffffff
jmp 0x1012cd87
xor eax, eax
test eax, eax
jne 0x1012cda3
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
push ebp
call fcn.101331f0
add esp, 0xc
jmp 0x1012c2f0
mov eax, 4
lea ecx, [esp + 0x54]
mov edx, edi
mov edi, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x1012cdc8
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x1012cdb0
test eax, eax
je 0x1012ce25
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1012ce17
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012ce25
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1012ce17
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012ce25
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1012ce17
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012ce25
movzx ecx, byte [ecx]
movzx esi, byte [edx]
sub esi, ecx
je 0x1012ce25
test esi, esi
mov eax, 1
jg 0x1012ce27
or eax, 0xffffffff
jmp 0x1012ce27
xor eax, eax
test eax, eax
jne 0x1012ce43
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
push ebp
call fcn.10133810
add esp, 0xc
jmp 0x1012c2f0
mov eax, 4
lea ecx, [esp + 0x64]
mov edx, edi
mov edi, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x1012ce68
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x1012ce50
test eax, eax
je 0x1012cec5
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1012ceb7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012cec5
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1012ceb7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012cec5
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1012ceb7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012cec5
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x1012cec5
test esi, esi
mov eax, 1
jg 0x1012cec7
or eax, 0xffffffff
jmp 0x1012cec7
xor eax, eax
test eax, eax
jne 0x1012cee3
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
push ebp
call fcn.10133a10
add esp, 0xc
jmp 0x1012c2f0
mov eax, 4
lea ecx, [esp + 0x74]
mov edx, edi
mov edi, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x1012cf08
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x1012cef0
test eax, eax
je 0x1012cf65
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1012cf57
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012cf65
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1012cf57
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012cf65
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1012cf57
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012cf65
movzx ecx, byte [ecx]
movzx esi, byte [edx]
sub esi, ecx
je 0x1012cf65
test esi, esi
mov eax, 1
jg 0x1012cf67
or eax, 0xffffffff
jmp 0x1012cf67
xor eax, eax
test eax, eax
jne 0x1012cf83
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
push ebp
call fcn.10133bd0
add esp, 0xc
jmp 0x1012c2f0
mov eax, 4
lea ecx, [esp + 0x84]
mov edx, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x1012cfa9
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x1012cf91
test eax, eax
je 0x1012d006
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1012cff8
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012d006
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1012cff8
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012d006
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1012cff8
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012d006
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x1012d006
test esi, esi
mov eax, 1
jg 0x1012d008
or eax, 0xffffffff
jmp 0x1012d008
xor eax, eax
test eax, eax
jne 0x1012d024
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
push ebp
call fcn.10134bc0
add esp, 0xc
jmp 0x1012c2f0
mov eax, 4
lea ecx, [esp + 0x94]
mov edx, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x1012d04a
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x1012d032
test eax, eax
je 0x1012d0a7
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1012d099
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012d0a7
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1012d099
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012d0a7
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1012d099
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012d0a7
movzx ecx, byte [ecx]
movzx esi, byte [edx]
sub esi, ecx
je 0x1012d0a7
test esi, esi
mov eax, 1
jg 0x1012d0a9
or eax, 0xffffffff
jmp 0x1012d0a9
xor eax, eax
test eax, eax
jne 0x1012d0c5
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
push ebp
call fcn.10134aa0
add esp, 0xc
jmp 0x1012c2f0
mov eax, 4
lea ecx, [esp + 0xa4]
mov edx, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x1012d0eb
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x1012d0d3
test eax, eax
je 0x1012d148
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1012d13a
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012d148
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1012d13a
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012d148
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1012d13a
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012d148
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x1012d148
test esi, esi
mov eax, 1
jg 0x1012d14a
or eax, 0xffffffff
jmp 0x1012d14a
xor eax, eax
test eax, eax
jne 0x1012d166
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
push ebp
call fcn.10133df0
add esp, 0xc
jmp 0x1012c2f0
mov eax, 4
lea ecx, [esp + 0xb4]
mov edx, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x1012d18c
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x1012d174
test eax, eax
je 0x1012d1e9
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1012d1db
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012d1e9
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1012d1db
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012d1e9
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1012d1db
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012d1e9
movzx ecx, byte [ecx]
movzx esi, byte [edx]
sub esi, ecx
je 0x1012d1e9
test esi, esi
mov eax, 1
jg 0x1012d1eb
or eax, 0xffffffff
jmp 0x1012d1eb
xor eax, eax
test eax, eax
jne 0x1012d207
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
push ebp
call fcn.10134ce0
add esp, 0xc
jmp 0x1012c2f0
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
push ecx
push edx
push ebp
call fcn.10134e30
add esp, 0xc
jmp 0x1012c2f0
cmp byte [ebp + 0x126], 3
jne 0x1012d273
test al, 2
jne 0x1012d273
push 0x1017c520
push ebp
call fcn.1012b400
add esp, 8
jmp 0x1012d273
mov eax, dword [ebp + 0x68]
test al, 1
jne 0x1012d24a
push 0x1017c53c
jmp 0x1012d25c
cmp byte [ebp + 0x126], 3
jne 0x1012d265
test al, 2
jne 0x1012d265
push 0x1017c520
push ebp
call fcn.1012b400
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.1010190d
add esp, 0xb0
ret