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

Disassembly:
sub esp, 0xb0
mov eax, dword [0x101cf40c]
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 0x101496f6
mov al, byte [ebp + 0x12c]
cmp al, 8
push ebx
push esi
push edi
jae 0x10148517
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.1014b660
push esi
add ebx, 0x20
push edi
push ebx
mov byte [ebp + 0x12c], 8
call fcn.10147a40
add esp, 0x18
test eax, eax
je 0x1014850b
cmp edi, 4
jae 0x101484fd
add esi, 0xfffffffc
push esi
push edi
push ebx
call fcn.10147a40
add esp, 0xc
test eax, eax
je 0x101484fd
push 0x1019b2a4
jmp 0x10148502
push 0x1019b27c
push ebp
call fcn.10147880
add esp, 8
cmp edi, 3
jae 0x10148517
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.1014b660
lea eax, [esp + 0x24]
push eax
push ebp
call fcn.1014f0b0
push ebp
mov dword [esp + 0x2c], eax
call fcn.10147bd0
push 4
push edi
push ebp
call fcn.1014dfb0
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 0x101487c8
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x101487b0
test eax, eax
je 0x10148825
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10148817
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10148825
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10148817
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10148825
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10148817
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10148825
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x10148825
test esi, esi
mov eax, 1
jg 0x10148827
or eax, 0xffffffff
jmp 0x10148827
xor eax, eax
test eax, eax
jne 0x1014883a
mov eax, dword [ebp + 0x68]
test al, 8
je 0x1014883a
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 0x10148860
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x10148848
test eax, eax
je 0x101488bd
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x101488af
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x101488bd
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x101488af
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x101488bd
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x101488af
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x101488bd
movzx eax, byte [ecx]
movzx esi, byte [edx]
sub esi, eax
je 0x101488bd
test esi, esi
mov eax, 1
jg 0x101488bf
or eax, 0xffffffff
jmp 0x101488bf
xor eax, eax
test eax, eax
jne 0x101488db
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
push ecx
push edx
push ebp
call fcn.1014f1a0
add esp, 0xc
jmp 0x10148770
mov eax, 4
lea ecx, [esp + 0x3c]
mov edx, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x101488fe
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x101488e6
test eax, eax
je 0x1014895b
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1014894d
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1014895b
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1014894d
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1014895b
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1014894d
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1014895b
movzx esi, byte [edx]
movzx eax, byte [ecx]
sub esi, eax
je 0x1014895b
test esi, esi
mov eax, 1
jg 0x1014895d
or eax, 0xffffffff
jmp 0x1014895d
xor eax, eax
test eax, eax
jne 0x10148979
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
push ecx
push edx
push ebp
call fcn.1014f4b0
add esp, 0xc
jmp 0x10148770
push edi
push ebp
call fcn.101480c0
add esp, 8
test eax, eax
mov edx, edi
mov eax, 4
je 0x10148b5f
lea ecx, [esp + 0x1c]
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x101489ae
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x10148996
test eax, eax
je 0x10148a0b
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x101489fd
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10148a0b
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x101489fd
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10148a0b
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x101489fd
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10148a0b
movzx eax, byte [ecx]
movzx esi, byte [edx]
sub esi, eax
je 0x10148a0b
test esi, esi
mov eax, 1
jg 0x10148a0d
or eax, 0xffffffff
jmp 0x10148a0d
xor eax, eax
test eax, eax
jne 0x10148a15
or dword [ebp + 0x68], 4
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
push ecx
push edx
push ebp
call fcn.101512b0
add esp, 0xc
mov eax, 4
lea ecx, [esp + 0x24]
mov edx, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x10148a4b
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x10148a33
test eax, eax
je 0x10148aa8
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10148a9a
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10148aa8
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10148a9a
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10148aa8
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10148a9a
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10148aa8
movzx esi, byte [edx]
movzx eax, byte [ecx]
sub esi, eax
je 0x10148aa8
test esi, esi
mov eax, 1
jg 0x10148aaa
or eax, 0xffffffff
jmp 0x10148aaa
xor eax, eax
test eax, eax
jne 0x10148ab7
or dword [ebp + 0x68], 2
jmp 0x10148770
mov eax, 4
lea ecx, [esp + 0x1c]
mov edx, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x10148ada
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x10148ac2
test eax, eax
je 0x10148b37
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x10148b29
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10148b37
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x10148b29
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10148b37
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x10148b29
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10148b37
movzx ecx, byte [ecx]
movzx esi, byte [edx]
sub esi, ecx
je 0x10148b37
test esi, esi
mov eax, 1
jg 0x10148b39
or eax, 0xffffffff
jmp 0x10148b39
xor eax, eax
test eax, eax
jne 0x10148770
mov eax, dword [ebp + 0x68]
test al, 1
jne 0x1014969f
push 0x1019b260
push ebp
call fcn.10147880
add esp, 8
jmp 0x101496f3
lea ecx, [esp + 0x24]
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x10148b7b
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x10148b63
test eax, eax
je 0x10148bd8
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10148bca
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10148bd8
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10148bca
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10148bd8
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10148bca
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10148bd8
movzx esi, byte [edx]
movzx edx, byte [ecx]
sub esi, edx
je 0x10148bd8
test esi, esi
mov eax, 1
jg 0x10148bda
or eax, 0xffffffff
jmp 0x10148bda
xor eax, eax
test eax, eax
jne 0x10148bf6
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
push eax
push ecx
push ebp
call fcn.1014f320
add esp, 0xc
jmp 0x10148770
mov eax, 4
lea ecx, [esp + 0x1c]
mov edx, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x10148c19
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x10148c01
test eax, eax
je 0x10148c76
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x10148c68
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10148c76
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x10148c68
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10148c76
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x10148c68
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10148c76
movzx eax, byte [ecx]
movzx esi, byte [edx]
sub esi, eax
je 0x10148c76
test esi, esi
mov eax, 1
jg 0x10148c78
or eax, 0xffffffff
jmp 0x10148c78
xor eax, eax
test eax, eax
je 0x101496bc
mov eax, 4
lea ecx, [esp + 0x7c]
mov edx, edi
jmp 0x10148c90
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x10148ca8
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x10148c90
test eax, eax
je 0x10148d05
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10148cf7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10148d05
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10148cf7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10148d05
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10148cf7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10148d05
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x10148d05
test esi, esi
mov eax, 1
jg 0x10148d07
or eax, 0xffffffff
jmp 0x10148d07
xor eax, eax
test eax, eax
jne 0x10148d23
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
push ebp
call fcn.101504d0
add esp, 0xc
jmp 0x10148770
mov eax, 4
lea ecx, [esp + 0x4c]
mov edx, edi
mov edi, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x10148d48
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x10148d30
test eax, eax
je 0x10148da5
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x10148d97
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10148da5
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x10148d97
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10148da5
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x10148d97
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10148da5
movzx ecx, byte [ecx]
movzx esi, byte [edx]
sub esi, ecx
je 0x10148da5
test esi, esi
mov eax, 1
jg 0x10148da7
or eax, 0xffffffff
jmp 0x10148da7
xor eax, eax
test eax, eax
jne 0x10148dc3
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
push ebp
call fcn.1014f7e0
add esp, 0xc
jmp 0x10148770
mov eax, 4
lea ecx, [esp + 0x9c]
mov edx, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x10148de9
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x10148dd1
test eax, eax
je 0x10148e46
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10148e38
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10148e46
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10148e38
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10148e46
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10148e38
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10148e46
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x10148e46
test esi, esi
mov eax, 1
jg 0x10148e48
or eax, 0xffffffff
jmp 0x10148e48
xor eax, eax
test eax, eax
jne 0x10148e64
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
push ebp
call fcn.1014f500
add esp, 0xc
jmp 0x10148770
mov eax, 4
lea ecx, [esp + 0x5c]
mov edx, edi
nop
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x10148e88
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x10148e70
test eax, eax
je 0x10148ee5
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x10148ed7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10148ee5
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x10148ed7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10148ee5
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x10148ed7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10148ee5
movzx ecx, byte [ecx]
movzx esi, byte [edx]
sub esi, ecx
je 0x10148ee5
test esi, esi
mov eax, 1
jg 0x10148ee7
or eax, 0xffffffff
jmp 0x10148ee7
xor eax, eax
test eax, eax
jne 0x10148f03
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
push ebp
call fcn.10150710
add esp, 0xc
jmp 0x10148770
mov eax, 4
lea ecx, [esp + 0x2c]
mov edx, edi
mov edi, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x10148f28
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x10148f10
test eax, eax
je 0x10148f85
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10148f77
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10148f85
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10148f77
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10148f85
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10148f77
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10148f85
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x10148f85
test esi, esi
mov eax, 1
jg 0x10148f87
or eax, 0xffffffff
jmp 0x10148f87
xor eax, eax
test eax, eax
jne 0x10148fa3
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
push ebp
call fcn.101509d0
add esp, 0xc
jmp 0x10148770
mov eax, 4
lea ecx, [esp + 0x6c]
mov edx, edi
mov edi, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x10148fc8
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x10148fb0
test eax, eax
je 0x10149025
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x10149017
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10149025
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x10149017
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10149025
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x10149017
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10149025
movzx ecx, byte [ecx]
movzx esi, byte [edx]
sub esi, ecx
je 0x10149025
test esi, esi
mov eax, 1
jg 0x10149027
or eax, 0xffffffff
jmp 0x10149027
xor eax, eax
test eax, eax
jne 0x10149043
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
push ebp
call fcn.10150b00
add esp, 0xc
jmp 0x10148770
mov eax, 4
lea ecx, [esp + 0xac]
mov edx, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x10149069
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x10149051
test eax, eax
je 0x101490c6
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x101490b8
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x101490c6
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x101490b8
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x101490c6
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x101490b8
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x101490c6
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x101490c6
test esi, esi
mov eax, 1
jg 0x101490c8
or eax, 0xffffffff
jmp 0x101490c8
xor eax, eax
test eax, eax
jne 0x101490e4
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
push ebp
call fcn.10150d60
add esp, 0xc
jmp 0x10148770
mov eax, 4
lea ecx, [esp + 0x34]
mov edx, edi
nop
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x10149108
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x101490f0
test eax, eax
je 0x10149165
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x10149157
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10149165
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x10149157
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10149165
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x10149157
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10149165
movzx ecx, byte [ecx]
movzx esi, byte [edx]
sub esi, ecx
je 0x10149165
test esi, esi
mov eax, 1
jg 0x10149167
or eax, 0xffffffff
jmp 0x10149167
xor eax, eax
test eax, eax
jne 0x10149183
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
push ebp
call fcn.101508b0
add esp, 0xc
jmp 0x10148770
mov eax, 4
lea ecx, [esp + 0x44]
mov edx, edi
mov edi, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x101491a8
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x10149190
test eax, eax
je 0x10149205
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x101491f7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10149205
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x101491f7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10149205
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x101491f7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10149205
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x10149205
test esi, esi
mov eax, 1
jg 0x10149207
or eax, 0xffffffff
jmp 0x10149207
xor eax, eax
test eax, eax
jne 0x10149223
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
push ebp
call fcn.1014f670
add esp, 0xc
jmp 0x10148770
mov eax, 4
lea ecx, [esp + 0x54]
mov edx, edi
mov edi, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x10149248
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x10149230
test eax, eax
je 0x101492a5
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x10149297
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x101492a5
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x10149297
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x101492a5
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x10149297
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x101492a5
movzx ecx, byte [ecx]
movzx esi, byte [edx]
sub esi, ecx
je 0x101492a5
test esi, esi
mov eax, 1
jg 0x101492a7
or eax, 0xffffffff
jmp 0x101492a7
xor eax, eax
test eax, eax
jne 0x101492c3
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
push ebp
call fcn.1014fc90
add esp, 0xc
jmp 0x10148770
mov eax, 4
lea ecx, [esp + 0x64]
mov edx, edi
mov edi, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x101492e8
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x101492d0
test eax, eax
je 0x10149345
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10149337
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10149345
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10149337
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10149345
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10149337
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10149345
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x10149345
test esi, esi
mov eax, 1
jg 0x10149347
or eax, 0xffffffff
jmp 0x10149347
xor eax, eax
test eax, eax
jne 0x10149363
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
push ebp
call fcn.1014fe90
add esp, 0xc
jmp 0x10148770
mov eax, 4
lea ecx, [esp + 0x74]
mov edx, edi
mov edi, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x10149388
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x10149370
test eax, eax
je 0x101493e5
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x101493d7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x101493e5
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x101493d7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x101493e5
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x101493d7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x101493e5
movzx ecx, byte [ecx]
movzx esi, byte [edx]
sub esi, ecx
je 0x101493e5
test esi, esi
mov eax, 1
jg 0x101493e7
or eax, 0xffffffff
jmp 0x101493e7
xor eax, eax
test eax, eax
jne 0x10149403
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
push ebp
call fcn.10150050
add esp, 0xc
jmp 0x10148770
mov eax, 4
lea ecx, [esp + 0x84]
mov edx, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x10149429
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x10149411
test eax, eax
je 0x10149486
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10149478
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10149486
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10149478
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10149486
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10149478
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10149486
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x10149486
test esi, esi
mov eax, 1
jg 0x10149488
or eax, 0xffffffff
jmp 0x10149488
xor eax, eax
test eax, eax
jne 0x101494a4
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
push ebp
call fcn.10151040
add esp, 0xc
jmp 0x10148770
mov eax, 4
lea ecx, [esp + 0x94]
mov edx, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x101494ca
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x101494b2
test eax, eax
je 0x10149527
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x10149519
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10149527
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x10149519
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10149527
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x10149519
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10149527
movzx ecx, byte [ecx]
movzx esi, byte [edx]
sub esi, ecx
je 0x10149527
test esi, esi
mov eax, 1
jg 0x10149529
or eax, 0xffffffff
jmp 0x10149529
xor eax, eax
test eax, eax
jne 0x10149545
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
push ebp
call fcn.10150f20
add esp, 0xc
jmp 0x10148770
mov eax, 4
lea ecx, [esp + 0xa4]
mov edx, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x1014956b
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x10149553
test eax, eax
je 0x101495c8
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x101495ba
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x101495c8
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x101495ba
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x101495c8
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x101495ba
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x101495c8
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x101495c8
test esi, esi
mov eax, 1
jg 0x101495ca
or eax, 0xffffffff
jmp 0x101495ca
xor eax, eax
test eax, eax
jne 0x101495e6
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
push ebp
call fcn.10150270
add esp, 0xc
jmp 0x10148770
mov eax, 4
lea ecx, [esp + 0xb4]
mov edx, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x1014960c
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x101495f4
test eax, eax
je 0x10149669
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1014965b
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10149669
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1014965b
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10149669
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1014965b
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10149669
movzx ecx, byte [ecx]
movzx esi, byte [edx]
sub esi, ecx
je 0x10149669
test esi, esi
mov eax, 1
jg 0x1014966b
or eax, 0xffffffff
jmp 0x1014966b
xor eax, eax
test eax, eax
jne 0x10149687
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
push ebp
call fcn.10151160
add esp, 0xc
jmp 0x10148770
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
push ecx
push edx
push ebp
call fcn.101512b0
add esp, 0xc
jmp 0x10148770
cmp byte [ebp + 0x126], 3
jne 0x101496f3
test al, 2
jne 0x101496f3
push 0x1019b244
push ebp
call fcn.10147880
add esp, 8
jmp 0x101496f3
mov eax, dword [ebp + 0x68]
test al, 1
jne 0x101496ca
push 0x1019b260
jmp 0x101496dc
cmp byte [ebp + 0x126], 3
jne 0x101496e5
test al, 2
jne 0x101496e5
push 0x1019b244
push ebp
call fcn.10147880
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.101179ba
add esp, 0xb0
ret