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

Disassembly:
sub esp, 0xb0
mov eax, dword [0x101cc114]
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 0x10148b46
mov al, byte [ebp + 0x12c]
cmp al, 8
push ebx
push esi
push edi
jae 0x10147967
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.1014aab0
push esi
add ebx, 0x20
push edi
push ebx
mov byte [ebp + 0x12c], 8
call fcn.10146e90
add esp, 0x18
test eax, eax
je 0x1014795b
cmp edi, 4
jae 0x1014794d
add esi, 0xfffffffc
push esi
push edi
push ebx
call fcn.10146e90
add esp, 0xc
test eax, eax
je 0x1014794d
push 0x10198aa4
jmp 0x10147952
push 0x10198a7c
push ebp
call fcn.10146cd0
add esp, 8
cmp edi, 3
jae 0x10147967
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.1014aab0
lea eax, [esp + 0x24]
push eax
push ebp
call fcn.1014e500
push ebp
mov dword [esp + 0x2c], eax
call fcn.10147020
push 4
push edi
push ebp
call fcn.1014d400
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 0x10147c18
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x10147c00
test eax, eax
je 0x10147c75
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10147c67
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10147c75
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10147c67
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10147c75
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10147c67
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10147c75
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x10147c75
test esi, esi
mov eax, 1
jg 0x10147c77
or eax, 0xffffffff
jmp 0x10147c77
xor eax, eax
test eax, eax
jne 0x10147c8a
mov eax, dword [ebp + 0x68]
test al, 8
je 0x10147c8a
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 0x10147cb0
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x10147c98
test eax, eax
je 0x10147d0d
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x10147cff
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10147d0d
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x10147cff
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10147d0d
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x10147cff
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10147d0d
movzx eax, byte [ecx]
movzx esi, byte [edx]
sub esi, eax
je 0x10147d0d
test esi, esi
mov eax, 1
jg 0x10147d0f
or eax, 0xffffffff
jmp 0x10147d0f
xor eax, eax
test eax, eax
jne 0x10147d2b
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
push ecx
push edx
push ebp
call fcn.1014e5f0
add esp, 0xc
jmp 0x10147bc0
mov eax, 4
lea ecx, [esp + 0x3c]
mov edx, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x10147d4e
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x10147d36
test eax, eax
je 0x10147dab
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10147d9d
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10147dab
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10147d9d
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10147dab
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10147d9d
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10147dab
movzx esi, byte [edx]
movzx eax, byte [ecx]
sub esi, eax
je 0x10147dab
test esi, esi
mov eax, 1
jg 0x10147dad
or eax, 0xffffffff
jmp 0x10147dad
xor eax, eax
test eax, eax
jne 0x10147dc9
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
push ecx
push edx
push ebp
call fcn.1014e900
add esp, 0xc
jmp 0x10147bc0
push edi
push ebp
call fcn.10147510
add esp, 8
test eax, eax
mov edx, edi
mov eax, 4
je 0x10147faf
lea ecx, [esp + 0x1c]
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x10147dfe
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x10147de6
test eax, eax
je 0x10147e5b
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x10147e4d
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10147e5b
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x10147e4d
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10147e5b
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x10147e4d
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10147e5b
movzx eax, byte [ecx]
movzx esi, byte [edx]
sub esi, eax
je 0x10147e5b
test esi, esi
mov eax, 1
jg 0x10147e5d
or eax, 0xffffffff
jmp 0x10147e5d
xor eax, eax
test eax, eax
jne 0x10147e65
or dword [ebp + 0x68], 4
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
push ecx
push edx
push ebp
call fcn.10150700
add esp, 0xc
mov eax, 4
lea ecx, [esp + 0x24]
mov edx, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x10147e9b
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x10147e83
test eax, eax
je 0x10147ef8
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10147eea
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10147ef8
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10147eea
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10147ef8
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10147eea
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10147ef8
movzx esi, byte [edx]
movzx eax, byte [ecx]
sub esi, eax
je 0x10147ef8
test esi, esi
mov eax, 1
jg 0x10147efa
or eax, 0xffffffff
jmp 0x10147efa
xor eax, eax
test eax, eax
jne 0x10147f07
or dword [ebp + 0x68], 2
jmp 0x10147bc0
mov eax, 4
lea ecx, [esp + 0x1c]
mov edx, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x10147f2a
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x10147f12
test eax, eax
je 0x10147f87
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x10147f79
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10147f87
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x10147f79
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10147f87
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x10147f79
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10147f87
movzx ecx, byte [ecx]
movzx esi, byte [edx]
sub esi, ecx
je 0x10147f87
test esi, esi
mov eax, 1
jg 0x10147f89
or eax, 0xffffffff
jmp 0x10147f89
xor eax, eax
test eax, eax
jne 0x10147bc0
mov eax, dword [ebp + 0x68]
test al, 1
jne 0x10148aef
push 0x10198a60
push ebp
call fcn.10146cd0
add esp, 8
jmp 0x10148b43
lea ecx, [esp + 0x24]
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x10147fcb
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x10147fb3
test eax, eax
je 0x10148028
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1014801a
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10148028
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1014801a
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10148028
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1014801a
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10148028
movzx esi, byte [edx]
movzx edx, byte [ecx]
sub esi, edx
je 0x10148028
test esi, esi
mov eax, 1
jg 0x1014802a
or eax, 0xffffffff
jmp 0x1014802a
xor eax, eax
test eax, eax
jne 0x10148046
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
push eax
push ecx
push ebp
call fcn.1014e770
add esp, 0xc
jmp 0x10147bc0
mov eax, 4
lea ecx, [esp + 0x1c]
mov edx, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x10148069
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x10148051
test eax, eax
je 0x101480c6
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x101480b8
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x101480c6
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x101480b8
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x101480c6
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x101480b8
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x101480c6
movzx eax, byte [ecx]
movzx esi, byte [edx]
sub esi, eax
je 0x101480c6
test esi, esi
mov eax, 1
jg 0x101480c8
or eax, 0xffffffff
jmp 0x101480c8
xor eax, eax
test eax, eax
je 0x10148b0c
mov eax, 4
lea ecx, [esp + 0x7c]
mov edx, edi
jmp 0x101480e0
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x101480f8
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x101480e0
test eax, eax
je 0x10148155
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10148147
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10148155
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10148147
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10148155
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10148147
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10148155
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x10148155
test esi, esi
mov eax, 1
jg 0x10148157
or eax, 0xffffffff
jmp 0x10148157
xor eax, eax
test eax, eax
jne 0x10148173
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
push ebp
call fcn.1014f920
add esp, 0xc
jmp 0x10147bc0
mov eax, 4
lea ecx, [esp + 0x4c]
mov edx, edi
mov edi, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x10148198
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x10148180
test eax, eax
je 0x101481f5
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x101481e7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x101481f5
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x101481e7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x101481f5
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x101481e7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x101481f5
movzx ecx, byte [ecx]
movzx esi, byte [edx]
sub esi, ecx
je 0x101481f5
test esi, esi
mov eax, 1
jg 0x101481f7
or eax, 0xffffffff
jmp 0x101481f7
xor eax, eax
test eax, eax
jne 0x10148213
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
push ebp
call fcn.1014ec30
add esp, 0xc
jmp 0x10147bc0
mov eax, 4
lea ecx, [esp + 0x9c]
mov edx, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x10148239
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x10148221
test eax, eax
je 0x10148296
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10148288
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10148296
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10148288
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10148296
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10148288
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10148296
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x10148296
test esi, esi
mov eax, 1
jg 0x10148298
or eax, 0xffffffff
jmp 0x10148298
xor eax, eax
test eax, eax
jne 0x101482b4
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
push ebp
call fcn.1014e950
add esp, 0xc
jmp 0x10147bc0
mov eax, 4
lea ecx, [esp + 0x5c]
mov edx, edi
nop
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x101482d8
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x101482c0
test eax, eax
je 0x10148335
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x10148327
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10148335
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x10148327
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10148335
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x10148327
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10148335
movzx ecx, byte [ecx]
movzx esi, byte [edx]
sub esi, ecx
je 0x10148335
test esi, esi
mov eax, 1
jg 0x10148337
or eax, 0xffffffff
jmp 0x10148337
xor eax, eax
test eax, eax
jne 0x10148353
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
push ebp
call fcn.1014fb60
add esp, 0xc
jmp 0x10147bc0
mov eax, 4
lea ecx, [esp + 0x2c]
mov edx, edi
mov edi, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x10148378
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x10148360
test eax, eax
je 0x101483d5
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x101483c7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x101483d5
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x101483c7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x101483d5
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x101483c7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x101483d5
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x101483d5
test esi, esi
mov eax, 1
jg 0x101483d7
or eax, 0xffffffff
jmp 0x101483d7
xor eax, eax
test eax, eax
jne 0x101483f3
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
push ebp
call fcn.1014fe20
add esp, 0xc
jmp 0x10147bc0
mov eax, 4
lea ecx, [esp + 0x6c]
mov edx, edi
mov edi, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x10148418
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x10148400
test eax, eax
je 0x10148475
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x10148467
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10148475
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x10148467
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10148475
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x10148467
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10148475
movzx ecx, byte [ecx]
movzx esi, byte [edx]
sub esi, ecx
je 0x10148475
test esi, esi
mov eax, 1
jg 0x10148477
or eax, 0xffffffff
jmp 0x10148477
xor eax, eax
test eax, eax
jne 0x10148493
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
push ebp
call fcn.1014ff50
add esp, 0xc
jmp 0x10147bc0
mov eax, 4
lea ecx, [esp + 0xac]
mov edx, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x101484b9
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x101484a1
test eax, eax
je 0x10148516
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10148508
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10148516
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10148508
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10148516
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10148508
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10148516
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x10148516
test esi, esi
mov eax, 1
jg 0x10148518
or eax, 0xffffffff
jmp 0x10148518
xor eax, eax
test eax, eax
jne 0x10148534
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
push ebp
call fcn.101501b0
add esp, 0xc
jmp 0x10147bc0
mov eax, 4
lea ecx, [esp + 0x34]
mov edx, edi
nop
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x10148558
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x10148540
test eax, eax
je 0x101485b5
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x101485a7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x101485b5
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x101485a7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x101485b5
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x101485a7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x101485b5
movzx ecx, byte [ecx]
movzx esi, byte [edx]
sub esi, ecx
je 0x101485b5
test esi, esi
mov eax, 1
jg 0x101485b7
or eax, 0xffffffff
jmp 0x101485b7
xor eax, eax
test eax, eax
jne 0x101485d3
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
push ebp
call fcn.1014fd00
add esp, 0xc
jmp 0x10147bc0
mov eax, 4
lea ecx, [esp + 0x44]
mov edx, edi
mov edi, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x101485f8
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x101485e0
test eax, eax
je 0x10148655
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10148647
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10148655
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10148647
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10148655
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10148647
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10148655
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x10148655
test esi, esi
mov eax, 1
jg 0x10148657
or eax, 0xffffffff
jmp 0x10148657
xor eax, eax
test eax, eax
jne 0x10148673
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
push ebp
call fcn.1014eac0
add esp, 0xc
jmp 0x10147bc0
mov eax, 4
lea ecx, [esp + 0x54]
mov edx, edi
mov edi, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x10148698
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x10148680
test eax, eax
je 0x101486f5
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x101486e7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x101486f5
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x101486e7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x101486f5
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x101486e7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x101486f5
movzx ecx, byte [ecx]
movzx esi, byte [edx]
sub esi, ecx
je 0x101486f5
test esi, esi
mov eax, 1
jg 0x101486f7
or eax, 0xffffffff
jmp 0x101486f7
xor eax, eax
test eax, eax
jne 0x10148713
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
push ebp
call fcn.1014f0e0
add esp, 0xc
jmp 0x10147bc0
mov eax, 4
lea ecx, [esp + 0x64]
mov edx, edi
mov edi, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x10148738
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x10148720
test eax, eax
je 0x10148795
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10148787
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10148795
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10148787
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10148795
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10148787
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10148795
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x10148795
test esi, esi
mov eax, 1
jg 0x10148797
or eax, 0xffffffff
jmp 0x10148797
xor eax, eax
test eax, eax
jne 0x101487b3
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
push ebp
call fcn.1014f2e0
add esp, 0xc
jmp 0x10147bc0
mov eax, 4
lea ecx, [esp + 0x74]
mov edx, edi
mov edi, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x101487d8
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x101487c0
test eax, eax
je 0x10148835
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x10148827
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10148835
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x10148827
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10148835
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x10148827
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10148835
movzx ecx, byte [ecx]
movzx esi, byte [edx]
sub esi, ecx
je 0x10148835
test esi, esi
mov eax, 1
jg 0x10148837
or eax, 0xffffffff
jmp 0x10148837
xor eax, eax
test eax, eax
jne 0x10148853
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
push ebp
call fcn.1014f4a0
add esp, 0xc
jmp 0x10147bc0
mov eax, 4
lea ecx, [esp + 0x84]
mov edx, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x10148879
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x10148861
test eax, eax
je 0x101488d6
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x101488c8
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x101488d6
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x101488c8
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x101488d6
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x101488c8
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x101488d6
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x101488d6
test esi, esi
mov eax, 1
jg 0x101488d8
or eax, 0xffffffff
jmp 0x101488d8
xor eax, eax
test eax, eax
jne 0x101488f4
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
push ebp
call fcn.10150490
add esp, 0xc
jmp 0x10147bc0
mov eax, 4
lea ecx, [esp + 0x94]
mov edx, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x1014891a
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x10148902
test eax, eax
je 0x10148977
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x10148969
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10148977
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x10148969
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10148977
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x10148969
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10148977
movzx ecx, byte [ecx]
movzx esi, byte [edx]
sub esi, ecx
je 0x10148977
test esi, esi
mov eax, 1
jg 0x10148979
or eax, 0xffffffff
jmp 0x10148979
xor eax, eax
test eax, eax
jne 0x10148995
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
push ebp
call fcn.10150370
add esp, 0xc
jmp 0x10147bc0
mov eax, 4
lea ecx, [esp + 0xa4]
mov edx, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x101489bb
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x101489a3
test eax, eax
je 0x10148a18
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10148a0a
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10148a18
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10148a0a
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10148a18
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10148a0a
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10148a18
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x10148a18
test esi, esi
mov eax, 1
jg 0x10148a1a
or eax, 0xffffffff
jmp 0x10148a1a
xor eax, eax
test eax, eax
jne 0x10148a36
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
push ebp
call fcn.1014f6c0
add esp, 0xc
jmp 0x10147bc0
mov eax, 4
lea ecx, [esp + 0xb4]
mov edx, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x10148a5c
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x10148a44
test eax, eax
je 0x10148ab9
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x10148aab
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10148ab9
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x10148aab
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10148ab9
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x10148aab
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10148ab9
movzx ecx, byte [ecx]
movzx esi, byte [edx]
sub esi, ecx
je 0x10148ab9
test esi, esi
mov eax, 1
jg 0x10148abb
or eax, 0xffffffff
jmp 0x10148abb
xor eax, eax
test eax, eax
jne 0x10148ad7
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
push ebp
call fcn.101505b0
add esp, 0xc
jmp 0x10147bc0
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
push ecx
push edx
push ebp
call fcn.10150700
add esp, 0xc
jmp 0x10147bc0
cmp byte [ebp + 0x126], 3
jne 0x10148b43
test al, 2
jne 0x10148b43
push 0x10198a44
push ebp
call fcn.10146cd0
add esp, 8
jmp 0x10148b43
mov eax, dword [ebp + 0x68]
test al, 1
jne 0x10148b1a
push 0x10198a60
jmp 0x10148b2c
cmp byte [ebp + 0x126], 3
jne 0x10148b35
test al, 2
jne 0x10148b35
push 0x10198a44
push ebp
call fcn.10146cd0
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.10117937
add esp, 0xb0
ret