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

Disassembly:
sub esp, 0xb0
mov eax, dword [0x101ce2ac]
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 0x101485e6
mov al, byte [ebp + 0x12c]
cmp al, 8
push ebx
push esi
push edi
jae 0x10147407
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.1014a550
push esi
add ebx, 0x20
push edi
push ebx
mov byte [ebp + 0x12c], 8
call fcn.10146930
add esp, 0x18
test eax, eax
je 0x101473fb
cmp edi, 4
jae 0x101473ed
add esi, 0xfffffffc
push esi
push edi
push ebx
call fcn.10146930
add esp, 0xc
test eax, eax
je 0x101473ed
push 0x1019a0b4
jmp 0x101473f2
push 0x1019a08c
push ebp
call fcn.10146770
add esp, 8
cmp edi, 3
jae 0x10147407
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.1014a550
lea eax, [esp + 0x24]
push eax
push ebp
call fcn.1014dfa0
push ebp
mov dword [esp + 0x2c], eax
call fcn.10146ac0
push 4
push edi
push ebp
call fcn.1014cea0
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 0x101476b8
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x101476a0
test eax, eax
je 0x10147715
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10147707
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10147715
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10147707
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10147715
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10147707
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10147715
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x10147715
test esi, esi
mov eax, 1
jg 0x10147717
or eax, 0xffffffff
jmp 0x10147717
xor eax, eax
test eax, eax
jne 0x1014772a
mov eax, dword [ebp + 0x68]
test al, 8
je 0x1014772a
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 0x10147750
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x10147738
test eax, eax
je 0x101477ad
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1014779f
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x101477ad
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1014779f
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x101477ad
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1014779f
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x101477ad
movzx eax, byte [ecx]
movzx esi, byte [edx]
sub esi, eax
je 0x101477ad
test esi, esi
mov eax, 1
jg 0x101477af
or eax, 0xffffffff
jmp 0x101477af
xor eax, eax
test eax, eax
jne 0x101477cb
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
push ecx
push edx
push ebp
call fcn.1014e090
add esp, 0xc
jmp 0x10147660
mov eax, 4
lea ecx, [esp + 0x3c]
mov edx, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x101477ee
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x101477d6
test eax, eax
je 0x1014784b
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1014783d
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1014784b
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1014783d
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1014784b
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1014783d
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1014784b
movzx esi, byte [edx]
movzx eax, byte [ecx]
sub esi, eax
je 0x1014784b
test esi, esi
mov eax, 1
jg 0x1014784d
or eax, 0xffffffff
jmp 0x1014784d
xor eax, eax
test eax, eax
jne 0x10147869
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
push ecx
push edx
push ebp
call fcn.1014e3a0
add esp, 0xc
jmp 0x10147660
push edi
push ebp
call fcn.10146fb0
add esp, 8
test eax, eax
mov edx, edi
mov eax, 4
je 0x10147a4f
lea ecx, [esp + 0x1c]
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x1014789e
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x10147886
test eax, eax
je 0x101478fb
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x101478ed
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x101478fb
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x101478ed
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x101478fb
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x101478ed
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x101478fb
movzx eax, byte [ecx]
movzx esi, byte [edx]
sub esi, eax
je 0x101478fb
test esi, esi
mov eax, 1
jg 0x101478fd
or eax, 0xffffffff
jmp 0x101478fd
xor eax, eax
test eax, eax
jne 0x10147905
or dword [ebp + 0x68], 4
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
push ecx
push edx
push ebp
call fcn.101501a0
add esp, 0xc
mov eax, 4
lea ecx, [esp + 0x24]
mov edx, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x1014793b
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x10147923
test eax, eax
je 0x10147998
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1014798a
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10147998
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1014798a
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10147998
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1014798a
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10147998
movzx esi, byte [edx]
movzx eax, byte [ecx]
sub esi, eax
je 0x10147998
test esi, esi
mov eax, 1
jg 0x1014799a
or eax, 0xffffffff
jmp 0x1014799a
xor eax, eax
test eax, eax
jne 0x101479a7
or dword [ebp + 0x68], 2
jmp 0x10147660
mov eax, 4
lea ecx, [esp + 0x1c]
mov edx, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x101479ca
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x101479b2
test eax, eax
je 0x10147a27
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x10147a19
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10147a27
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x10147a19
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10147a27
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x10147a19
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10147a27
movzx ecx, byte [ecx]
movzx esi, byte [edx]
sub esi, ecx
je 0x10147a27
test esi, esi
mov eax, 1
jg 0x10147a29
or eax, 0xffffffff
jmp 0x10147a29
xor eax, eax
test eax, eax
jne 0x10147660
mov eax, dword [ebp + 0x68]
test al, 1
jne 0x1014858f
push 0x1019a070
push ebp
call fcn.10146770
add esp, 8
jmp 0x101485e3
lea ecx, [esp + 0x24]
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x10147a6b
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x10147a53
test eax, eax
je 0x10147ac8
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10147aba
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10147ac8
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10147aba
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10147ac8
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10147aba
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10147ac8
movzx esi, byte [edx]
movzx edx, byte [ecx]
sub esi, edx
je 0x10147ac8
test esi, esi
mov eax, 1
jg 0x10147aca
or eax, 0xffffffff
jmp 0x10147aca
xor eax, eax
test eax, eax
jne 0x10147ae6
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
push eax
push ecx
push ebp
call fcn.1014e210
add esp, 0xc
jmp 0x10147660
mov eax, 4
lea ecx, [esp + 0x1c]
mov edx, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x10147b09
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x10147af1
test eax, eax
je 0x10147b66
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x10147b58
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10147b66
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x10147b58
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10147b66
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x10147b58
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10147b66
movzx eax, byte [ecx]
movzx esi, byte [edx]
sub esi, eax
je 0x10147b66
test esi, esi
mov eax, 1
jg 0x10147b68
or eax, 0xffffffff
jmp 0x10147b68
xor eax, eax
test eax, eax
je 0x101485ac
mov eax, 4
lea ecx, [esp + 0x7c]
mov edx, edi
jmp 0x10147b80
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x10147b98
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x10147b80
test eax, eax
je 0x10147bf5
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10147be7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10147bf5
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10147be7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10147bf5
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10147be7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10147bf5
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x10147bf5
test esi, esi
mov eax, 1
jg 0x10147bf7
or eax, 0xffffffff
jmp 0x10147bf7
xor eax, eax
test eax, eax
jne 0x10147c13
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
push ebp
call fcn.1014f3c0
add esp, 0xc
jmp 0x10147660
mov eax, 4
lea ecx, [esp + 0x4c]
mov edx, edi
mov edi, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x10147c38
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x10147c20
test eax, eax
je 0x10147c95
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x10147c87
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10147c95
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x10147c87
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10147c95
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x10147c87
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10147c95
movzx ecx, byte [ecx]
movzx esi, byte [edx]
sub esi, ecx
je 0x10147c95
test esi, esi
mov eax, 1
jg 0x10147c97
or eax, 0xffffffff
jmp 0x10147c97
xor eax, eax
test eax, eax
jne 0x10147cb3
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
push ebp
call fcn.1014e6d0
add esp, 0xc
jmp 0x10147660
mov eax, 4
lea ecx, [esp + 0x9c]
mov edx, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x10147cd9
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x10147cc1
test eax, eax
je 0x10147d36
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10147d28
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10147d36
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10147d28
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10147d36
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10147d28
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10147d36
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x10147d36
test esi, esi
mov eax, 1
jg 0x10147d38
or eax, 0xffffffff
jmp 0x10147d38
xor eax, eax
test eax, eax
jne 0x10147d54
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
push ebp
call fcn.1014e3f0
add esp, 0xc
jmp 0x10147660
mov eax, 4
lea ecx, [esp + 0x5c]
mov edx, edi
nop
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x10147d78
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x10147d60
test eax, eax
je 0x10147dd5
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x10147dc7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10147dd5
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x10147dc7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10147dd5
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x10147dc7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10147dd5
movzx ecx, byte [ecx]
movzx esi, byte [edx]
sub esi, ecx
je 0x10147dd5
test esi, esi
mov eax, 1
jg 0x10147dd7
or eax, 0xffffffff
jmp 0x10147dd7
xor eax, eax
test eax, eax
jne 0x10147df3
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
push ebp
call fcn.1014f600
add esp, 0xc
jmp 0x10147660
mov eax, 4
lea ecx, [esp + 0x2c]
mov edx, edi
mov edi, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x10147e18
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x10147e00
test eax, eax
je 0x10147e75
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10147e67
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10147e75
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10147e67
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10147e75
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10147e67
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10147e75
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x10147e75
test esi, esi
mov eax, 1
jg 0x10147e77
or eax, 0xffffffff
jmp 0x10147e77
xor eax, eax
test eax, eax
jne 0x10147e93
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
push ebp
call fcn.1014f8c0
add esp, 0xc
jmp 0x10147660
mov eax, 4
lea ecx, [esp + 0x6c]
mov edx, edi
mov edi, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x10147eb8
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x10147ea0
test eax, eax
je 0x10147f15
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x10147f07
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10147f15
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x10147f07
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10147f15
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x10147f07
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10147f15
movzx ecx, byte [ecx]
movzx esi, byte [edx]
sub esi, ecx
je 0x10147f15
test esi, esi
mov eax, 1
jg 0x10147f17
or eax, 0xffffffff
jmp 0x10147f17
xor eax, eax
test eax, eax
jne 0x10147f33
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
push ebp
call fcn.1014f9f0
add esp, 0xc
jmp 0x10147660
mov eax, 4
lea ecx, [esp + 0xac]
mov edx, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x10147f59
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x10147f41
test eax, eax
je 0x10147fb6
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10147fa8
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10147fb6
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10147fa8
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10147fb6
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10147fa8
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10147fb6
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x10147fb6
test esi, esi
mov eax, 1
jg 0x10147fb8
or eax, 0xffffffff
jmp 0x10147fb8
xor eax, eax
test eax, eax
jne 0x10147fd4
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
push ebp
call fcn.1014fc50
add esp, 0xc
jmp 0x10147660
mov eax, 4
lea ecx, [esp + 0x34]
mov edx, edi
nop
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x10147ff8
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x10147fe0
test eax, eax
je 0x10148055
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x10148047
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10148055
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x10148047
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10148055
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x10148047
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10148055
movzx ecx, byte [ecx]
movzx esi, byte [edx]
sub esi, ecx
je 0x10148055
test esi, esi
mov eax, 1
jg 0x10148057
or eax, 0xffffffff
jmp 0x10148057
xor eax, eax
test eax, eax
jne 0x10148073
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
push ebp
call fcn.1014f7a0
add esp, 0xc
jmp 0x10147660
mov eax, 4
lea ecx, [esp + 0x44]
mov edx, edi
mov edi, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x10148098
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x10148080
test eax, eax
je 0x101480f5
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x101480e7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x101480f5
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x101480e7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x101480f5
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x101480e7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x101480f5
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x101480f5
test esi, esi
mov eax, 1
jg 0x101480f7
or eax, 0xffffffff
jmp 0x101480f7
xor eax, eax
test eax, eax
jne 0x10148113
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
push ebp
call fcn.1014e560
add esp, 0xc
jmp 0x10147660
mov eax, 4
lea ecx, [esp + 0x54]
mov edx, edi
mov edi, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x10148138
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x10148120
test eax, eax
je 0x10148195
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x10148187
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10148195
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x10148187
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10148195
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x10148187
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10148195
movzx ecx, byte [ecx]
movzx esi, byte [edx]
sub esi, ecx
je 0x10148195
test esi, esi
mov eax, 1
jg 0x10148197
or eax, 0xffffffff
jmp 0x10148197
xor eax, eax
test eax, eax
jne 0x101481b3
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
push ebp
call fcn.1014eb80
add esp, 0xc
jmp 0x10147660
mov eax, 4
lea ecx, [esp + 0x64]
mov edx, edi
mov edi, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x101481d8
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x101481c0
test eax, eax
je 0x10148235
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10148227
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10148235
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10148227
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10148235
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10148227
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10148235
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x10148235
test esi, esi
mov eax, 1
jg 0x10148237
or eax, 0xffffffff
jmp 0x10148237
xor eax, eax
test eax, eax
jne 0x10148253
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
push ebp
call fcn.1014ed80
add esp, 0xc
jmp 0x10147660
mov eax, 4
lea ecx, [esp + 0x74]
mov edx, edi
mov edi, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x10148278
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x10148260
test eax, eax
je 0x101482d5
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x101482c7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x101482d5
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x101482c7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x101482d5
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x101482c7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x101482d5
movzx ecx, byte [ecx]
movzx esi, byte [edx]
sub esi, ecx
je 0x101482d5
test esi, esi
mov eax, 1
jg 0x101482d7
or eax, 0xffffffff
jmp 0x101482d7
xor eax, eax
test eax, eax
jne 0x101482f3
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
push ebp
call fcn.1014ef40
add esp, 0xc
jmp 0x10147660
mov eax, 4
lea ecx, [esp + 0x84]
mov edx, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x10148319
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x10148301
test eax, eax
je 0x10148376
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10148368
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10148376
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10148368
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10148376
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10148368
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10148376
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x10148376
test esi, esi
mov eax, 1
jg 0x10148378
or eax, 0xffffffff
jmp 0x10148378
xor eax, eax
test eax, eax
jne 0x10148394
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
push ebp
call fcn.1014ff30
add esp, 0xc
jmp 0x10147660
mov eax, 4
lea ecx, [esp + 0x94]
mov edx, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x101483ba
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x101483a2
test eax, eax
je 0x10148417
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x10148409
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10148417
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x10148409
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10148417
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x10148409
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10148417
movzx ecx, byte [ecx]
movzx esi, byte [edx]
sub esi, ecx
je 0x10148417
test esi, esi
mov eax, 1
jg 0x10148419
or eax, 0xffffffff
jmp 0x10148419
xor eax, eax
test eax, eax
jne 0x10148435
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
push ebp
call fcn.1014fe10
add esp, 0xc
jmp 0x10147660
mov eax, 4
lea ecx, [esp + 0xa4]
mov edx, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x1014845b
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x10148443
test eax, eax
je 0x101484b8
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x101484aa
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x101484b8
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x101484aa
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x101484b8
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x101484aa
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x101484b8
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x101484b8
test esi, esi
mov eax, 1
jg 0x101484ba
or eax, 0xffffffff
jmp 0x101484ba
xor eax, eax
test eax, eax
jne 0x101484d6
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
push ebp
call fcn.1014f160
add esp, 0xc
jmp 0x10147660
mov eax, 4
lea ecx, [esp + 0xb4]
mov edx, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x101484fc
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x101484e4
test eax, eax
je 0x10148559
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1014854b
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10148559
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1014854b
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10148559
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1014854b
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10148559
movzx ecx, byte [ecx]
movzx esi, byte [edx]
sub esi, ecx
je 0x10148559
test esi, esi
mov eax, 1
jg 0x1014855b
or eax, 0xffffffff
jmp 0x1014855b
xor eax, eax
test eax, eax
jne 0x10148577
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
push ebp
call fcn.10150050
add esp, 0xc
jmp 0x10147660
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
push ecx
push edx
push ebp
call fcn.101501a0
add esp, 0xc
jmp 0x10147660
cmp byte [ebp + 0x126], 3
jne 0x101485e3
test al, 2
jne 0x101485e3
push 0x1019a054
push ebp
call fcn.10146770
add esp, 8
jmp 0x101485e3
mov eax, dword [ebp + 0x68]
test al, 1
jne 0x101485ba
push 0x1019a070
jmp 0x101485cc
cmp byte [ebp + 0x126], 3
jne 0x101485d5
test al, 2
jne 0x101485d5
push 0x1019a054
push ebp
call fcn.10146770
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.10116cb9
add esp, 0xb0
ret