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

Disassembly:
sub esp, 0xb0
mov eax, dword [0x101b23cc]
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 0x1012d4d6
mov al, byte [ebp + 0x12c]
cmp al, 8
push ebx
push esi
push edi
jae 0x1012c2f7
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.1012f440
push esi
add ebx, 0x20
push edi
push ebx
mov byte [ebp + 0x12c], 8
call fcn.1012b820
add esp, 0x18
test eax, eax
je 0x1012c2eb
cmp edi, 4
jae 0x1012c2dd
add esi, 0xfffffffc
push esi
push edi
push ebx
call fcn.1012b820
add esp, 0xc
test eax, eax
je 0x1012c2dd
push 0x1017e084
jmp 0x1012c2e2
push 0x1017e05c
push ebp
call fcn.1012b660
add esp, 8
cmp edi, 3
jae 0x1012c2f7
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.1012f440
lea eax, [esp + 0x24]
push eax
push ebp
call fcn.10132e90
push ebp
mov dword [esp + 0x2c], eax
call fcn.1012b9b0
push 4
push edi
push ebp
call fcn.10131d90
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 0x1012c5a8
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x1012c590
test eax, eax
je 0x1012c605
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1012c5f7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012c605
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1012c5f7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012c605
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1012c5f7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012c605
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x1012c605
test esi, esi
mov eax, 1
jg 0x1012c607
or eax, 0xffffffff
jmp 0x1012c607
xor eax, eax
test eax, eax
jne 0x1012c61a
mov eax, dword [ebp + 0x68]
test al, 8
je 0x1012c61a
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 0x1012c640
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x1012c628
test eax, eax
je 0x1012c69d
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1012c68f
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012c69d
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1012c68f
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012c69d
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1012c68f
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012c69d
movzx eax, byte [ecx]
movzx esi, byte [edx]
sub esi, eax
je 0x1012c69d
test esi, esi
mov eax, 1
jg 0x1012c69f
or eax, 0xffffffff
jmp 0x1012c69f
xor eax, eax
test eax, eax
jne 0x1012c6bb
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
push ecx
push edx
push ebp
call fcn.10132f80
add esp, 0xc
jmp 0x1012c550
mov eax, 4
lea ecx, [esp + 0x3c]
mov edx, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x1012c6de
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x1012c6c6
test eax, eax
je 0x1012c73b
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1012c72d
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012c73b
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1012c72d
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012c73b
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1012c72d
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012c73b
movzx esi, byte [edx]
movzx eax, byte [ecx]
sub esi, eax
je 0x1012c73b
test esi, esi
mov eax, 1
jg 0x1012c73d
or eax, 0xffffffff
jmp 0x1012c73d
xor eax, eax
test eax, eax
jne 0x1012c759
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
push ecx
push edx
push ebp
call fcn.10133290
add esp, 0xc
jmp 0x1012c550
push edi
push ebp
call fcn.1012bea0
add esp, 8
test eax, eax
mov edx, edi
mov eax, 4
je 0x1012c93f
lea ecx, [esp + 0x1c]
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x1012c78e
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x1012c776
test eax, eax
je 0x1012c7eb
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1012c7dd
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012c7eb
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1012c7dd
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012c7eb
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1012c7dd
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012c7eb
movzx eax, byte [ecx]
movzx esi, byte [edx]
sub esi, eax
je 0x1012c7eb
test esi, esi
mov eax, 1
jg 0x1012c7ed
or eax, 0xffffffff
jmp 0x1012c7ed
xor eax, eax
test eax, eax
jne 0x1012c7f5
or dword [ebp + 0x68], 4
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
push ecx
push edx
push ebp
call fcn.10135090
add esp, 0xc
mov eax, 4
lea ecx, [esp + 0x24]
mov edx, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x1012c82b
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x1012c813
test eax, eax
je 0x1012c888
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1012c87a
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012c888
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1012c87a
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012c888
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1012c87a
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012c888
movzx esi, byte [edx]
movzx eax, byte [ecx]
sub esi, eax
je 0x1012c888
test esi, esi
mov eax, 1
jg 0x1012c88a
or eax, 0xffffffff
jmp 0x1012c88a
xor eax, eax
test eax, eax
jne 0x1012c897
or dword [ebp + 0x68], 2
jmp 0x1012c550
mov eax, 4
lea ecx, [esp + 0x1c]
mov edx, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x1012c8ba
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x1012c8a2
test eax, eax
je 0x1012c917
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1012c909
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012c917
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1012c909
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012c917
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1012c909
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012c917
movzx ecx, byte [ecx]
movzx esi, byte [edx]
sub esi, ecx
je 0x1012c917
test esi, esi
mov eax, 1
jg 0x1012c919
or eax, 0xffffffff
jmp 0x1012c919
xor eax, eax
test eax, eax
jne 0x1012c550
mov eax, dword [ebp + 0x68]
test al, 1
jne 0x1012d47f
push 0x1017e040
push ebp
call fcn.1012b660
add esp, 8
jmp 0x1012d4d3
lea ecx, [esp + 0x24]
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x1012c95b
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x1012c943
test eax, eax
je 0x1012c9b8
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1012c9aa
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012c9b8
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1012c9aa
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012c9b8
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1012c9aa
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012c9b8
movzx esi, byte [edx]
movzx edx, byte [ecx]
sub esi, edx
je 0x1012c9b8
test esi, esi
mov eax, 1
jg 0x1012c9ba
or eax, 0xffffffff
jmp 0x1012c9ba
xor eax, eax
test eax, eax
jne 0x1012c9d6
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
push eax
push ecx
push ebp
call fcn.10133100
add esp, 0xc
jmp 0x1012c550
mov eax, 4
lea ecx, [esp + 0x1c]
mov edx, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x1012c9f9
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x1012c9e1
test eax, eax
je 0x1012ca56
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1012ca48
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012ca56
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1012ca48
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012ca56
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1012ca48
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012ca56
movzx eax, byte [ecx]
movzx esi, byte [edx]
sub esi, eax
je 0x1012ca56
test esi, esi
mov eax, 1
jg 0x1012ca58
or eax, 0xffffffff
jmp 0x1012ca58
xor eax, eax
test eax, eax
je 0x1012d49c
mov eax, 4
lea ecx, [esp + 0x7c]
mov edx, edi
jmp 0x1012ca70
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x1012ca88
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x1012ca70
test eax, eax
je 0x1012cae5
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1012cad7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012cae5
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1012cad7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012cae5
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1012cad7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012cae5
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x1012cae5
test esi, esi
mov eax, 1
jg 0x1012cae7
or eax, 0xffffffff
jmp 0x1012cae7
xor eax, eax
test eax, eax
jne 0x1012cb03
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
push ebp
call fcn.101342b0
add esp, 0xc
jmp 0x1012c550
mov eax, 4
lea ecx, [esp + 0x4c]
mov edx, edi
mov edi, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x1012cb28
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x1012cb10
test eax, eax
je 0x1012cb85
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1012cb77
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012cb85
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1012cb77
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012cb85
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1012cb77
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012cb85
movzx ecx, byte [ecx]
movzx esi, byte [edx]
sub esi, ecx
je 0x1012cb85
test esi, esi
mov eax, 1
jg 0x1012cb87
or eax, 0xffffffff
jmp 0x1012cb87
xor eax, eax
test eax, eax
jne 0x1012cba3
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
push ebp
call fcn.101335c0
add esp, 0xc
jmp 0x1012c550
mov eax, 4
lea ecx, [esp + 0x9c]
mov edx, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x1012cbc9
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x1012cbb1
test eax, eax
je 0x1012cc26
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1012cc18
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012cc26
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1012cc18
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012cc26
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1012cc18
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012cc26
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x1012cc26
test esi, esi
mov eax, 1
jg 0x1012cc28
or eax, 0xffffffff
jmp 0x1012cc28
xor eax, eax
test eax, eax
jne 0x1012cc44
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
push ebp
call fcn.101332e0
add esp, 0xc
jmp 0x1012c550
mov eax, 4
lea ecx, [esp + 0x5c]
mov edx, edi
nop
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x1012cc68
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x1012cc50
test eax, eax
je 0x1012ccc5
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1012ccb7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012ccc5
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1012ccb7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012ccc5
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1012ccb7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012ccc5
movzx ecx, byte [ecx]
movzx esi, byte [edx]
sub esi, ecx
je 0x1012ccc5
test esi, esi
mov eax, 1
jg 0x1012ccc7
or eax, 0xffffffff
jmp 0x1012ccc7
xor eax, eax
test eax, eax
jne 0x1012cce3
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
push ebp
call fcn.101344f0
add esp, 0xc
jmp 0x1012c550
mov eax, 4
lea ecx, [esp + 0x2c]
mov edx, edi
mov edi, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x1012cd08
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x1012ccf0
test eax, eax
je 0x1012cd65
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1012cd57
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012cd65
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1012cd57
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012cd65
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1012cd57
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012cd65
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x1012cd65
test esi, esi
mov eax, 1
jg 0x1012cd67
or eax, 0xffffffff
jmp 0x1012cd67
xor eax, eax
test eax, eax
jne 0x1012cd83
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
push ebp
call fcn.101347b0
add esp, 0xc
jmp 0x1012c550
mov eax, 4
lea ecx, [esp + 0x6c]
mov edx, edi
mov edi, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x1012cda8
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x1012cd90
test eax, eax
je 0x1012ce05
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1012cdf7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012ce05
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1012cdf7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012ce05
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1012cdf7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012ce05
movzx ecx, byte [ecx]
movzx esi, byte [edx]
sub esi, ecx
je 0x1012ce05
test esi, esi
mov eax, 1
jg 0x1012ce07
or eax, 0xffffffff
jmp 0x1012ce07
xor eax, eax
test eax, eax
jne 0x1012ce23
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
push ebp
call fcn.101348e0
add esp, 0xc
jmp 0x1012c550
mov eax, 4
lea ecx, [esp + 0xac]
mov edx, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x1012ce49
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x1012ce31
test eax, eax
je 0x1012cea6
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1012ce98
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012cea6
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1012ce98
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012cea6
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1012ce98
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012cea6
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x1012cea6
test esi, esi
mov eax, 1
jg 0x1012cea8
or eax, 0xffffffff
jmp 0x1012cea8
xor eax, eax
test eax, eax
jne 0x1012cec4
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
push ebp
call fcn.10134b40
add esp, 0xc
jmp 0x1012c550
mov eax, 4
lea ecx, [esp + 0x34]
mov edx, edi
nop
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x1012cee8
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x1012ced0
test eax, eax
je 0x1012cf45
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1012cf37
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012cf45
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1012cf37
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012cf45
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1012cf37
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012cf45
movzx ecx, byte [ecx]
movzx esi, byte [edx]
sub esi, ecx
je 0x1012cf45
test esi, esi
mov eax, 1
jg 0x1012cf47
or eax, 0xffffffff
jmp 0x1012cf47
xor eax, eax
test eax, eax
jne 0x1012cf63
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
push ebp
call fcn.10134690
add esp, 0xc
jmp 0x1012c550
mov eax, 4
lea ecx, [esp + 0x44]
mov edx, edi
mov edi, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x1012cf88
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x1012cf70
test eax, eax
je 0x1012cfe5
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1012cfd7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012cfe5
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1012cfd7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012cfe5
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1012cfd7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012cfe5
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x1012cfe5
test esi, esi
mov eax, 1
jg 0x1012cfe7
or eax, 0xffffffff
jmp 0x1012cfe7
xor eax, eax
test eax, eax
jne 0x1012d003
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
push ebp
call fcn.10133450
add esp, 0xc
jmp 0x1012c550
mov eax, 4
lea ecx, [esp + 0x54]
mov edx, edi
mov edi, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x1012d028
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x1012d010
test eax, eax
je 0x1012d085
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1012d077
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012d085
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1012d077
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012d085
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1012d077
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012d085
movzx ecx, byte [ecx]
movzx esi, byte [edx]
sub esi, ecx
je 0x1012d085
test esi, esi
mov eax, 1
jg 0x1012d087
or eax, 0xffffffff
jmp 0x1012d087
xor eax, eax
test eax, eax
jne 0x1012d0a3
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
push ebp
call fcn.10133a70
add esp, 0xc
jmp 0x1012c550
mov eax, 4
lea ecx, [esp + 0x64]
mov edx, edi
mov edi, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x1012d0c8
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x1012d0b0
test eax, eax
je 0x1012d125
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1012d117
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012d125
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1012d117
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012d125
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1012d117
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012d125
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x1012d125
test esi, esi
mov eax, 1
jg 0x1012d127
or eax, 0xffffffff
jmp 0x1012d127
xor eax, eax
test eax, eax
jne 0x1012d143
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
push ebp
call fcn.10133c70
add esp, 0xc
jmp 0x1012c550
mov eax, 4
lea ecx, [esp + 0x74]
mov edx, edi
mov edi, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x1012d168
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x1012d150
test eax, eax
je 0x1012d1c5
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1012d1b7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012d1c5
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1012d1b7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012d1c5
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1012d1b7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012d1c5
movzx ecx, byte [ecx]
movzx esi, byte [edx]
sub esi, ecx
je 0x1012d1c5
test esi, esi
mov eax, 1
jg 0x1012d1c7
or eax, 0xffffffff
jmp 0x1012d1c7
xor eax, eax
test eax, eax
jne 0x1012d1e3
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
push ebp
call fcn.10133e30
add esp, 0xc
jmp 0x1012c550
mov eax, 4
lea ecx, [esp + 0x84]
mov edx, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x1012d209
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x1012d1f1
test eax, eax
je 0x1012d266
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1012d258
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012d266
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1012d258
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012d266
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1012d258
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012d266
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x1012d266
test esi, esi
mov eax, 1
jg 0x1012d268
or eax, 0xffffffff
jmp 0x1012d268
xor eax, eax
test eax, eax
jne 0x1012d284
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
push ebp
call fcn.10134e20
add esp, 0xc
jmp 0x1012c550
mov eax, 4
lea ecx, [esp + 0x94]
mov edx, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x1012d2aa
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x1012d292
test eax, eax
je 0x1012d307
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1012d2f9
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012d307
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1012d2f9
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012d307
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1012d2f9
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012d307
movzx ecx, byte [ecx]
movzx esi, byte [edx]
sub esi, ecx
je 0x1012d307
test esi, esi
mov eax, 1
jg 0x1012d309
or eax, 0xffffffff
jmp 0x1012d309
xor eax, eax
test eax, eax
jne 0x1012d325
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
push ebp
call fcn.10134d00
add esp, 0xc
jmp 0x1012c550
mov eax, 4
lea ecx, [esp + 0xa4]
mov edx, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x1012d34b
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x1012d333
test eax, eax
je 0x1012d3a8
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1012d39a
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012d3a8
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1012d39a
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012d3a8
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1012d39a
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012d3a8
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x1012d3a8
test esi, esi
mov eax, 1
jg 0x1012d3aa
or eax, 0xffffffff
jmp 0x1012d3aa
xor eax, eax
test eax, eax
jne 0x1012d3c6
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
push ebp
call fcn.10134050
add esp, 0xc
jmp 0x1012c550
mov eax, 4
lea ecx, [esp + 0xb4]
mov edx, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x1012d3ec
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x1012d3d4
test eax, eax
je 0x1012d449
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1012d43b
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012d449
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1012d43b
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012d449
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1012d43b
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1012d449
movzx ecx, byte [ecx]
movzx esi, byte [edx]
sub esi, ecx
je 0x1012d449
test esi, esi
mov eax, 1
jg 0x1012d44b
or eax, 0xffffffff
jmp 0x1012d44b
xor eax, eax
test eax, eax
jne 0x1012d467
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
push ebp
call fcn.10134f40
add esp, 0xc
jmp 0x1012c550
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
push ecx
push edx
push ebp
call fcn.10135090
add esp, 0xc
jmp 0x1012c550
cmp byte [ebp + 0x126], 3
jne 0x1012d4d3
test al, 2
jne 0x1012d4d3
push 0x1017e024
push ebp
call fcn.1012b660
add esp, 8
jmp 0x1012d4d3
mov eax, dword [ebp + 0x68]
test al, 1
jne 0x1012d4aa
push 0x1017e040
jmp 0x1012d4bc
cmp byte [ebp + 0x126], 3
jne 0x1012d4c5
test al, 2
jne 0x1012d4c5
push 0x1017e024
push ebp
call fcn.1012b660
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.100fc49a
add esp, 0xb0
ret