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

Disassembly:
sub esp, 0xb0
mov eax, dword [0x101ce00c]
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 0x1014a076
mov al, byte [ebp + 0x12c]
cmp al, 8
push ebx
push esi
push edi
jae 0x10148e97
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.1014bfe0
push esi
add ebx, 0x20
push edi
push ebx
mov byte [ebp + 0x12c], 8
call fcn.101483c0
add esp, 0x18
test eax, eax
je 0x10148e8b
cmp edi, 4
jae 0x10148e7d
add esi, 0xfffffffc
push esi
push edi
push ebx
call fcn.101483c0
add esp, 0xc
test eax, eax
je 0x10148e7d
push 0x10199794
jmp 0x10148e82
push 0x1019976c
push ebp
call fcn.10148200
add esp, 8
cmp edi, 3
jae 0x10148e97
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.1014bfe0
lea eax, [esp + 0x24]
push eax
push ebp
call fcn.1014fa30
push ebp
mov dword [esp + 0x2c], eax
call fcn.10148550
push 4
push edi
push ebp
call fcn.1014e930
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 0x10149148
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x10149130
test eax, eax
je 0x101491a5
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10149197
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x101491a5
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10149197
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x101491a5
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10149197
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x101491a5
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x101491a5
test esi, esi
mov eax, 1
jg 0x101491a7
or eax, 0xffffffff
jmp 0x101491a7
xor eax, eax
test eax, eax
jne 0x101491ba
mov eax, dword [ebp + 0x68]
test al, 8
je 0x101491ba
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 0x101491e0
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x101491c8
test eax, eax
je 0x1014923d
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1014922f
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1014923d
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1014922f
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1014923d
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1014922f
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1014923d
movzx eax, byte [ecx]
movzx esi, byte [edx]
sub esi, eax
je 0x1014923d
test esi, esi
mov eax, 1
jg 0x1014923f
or eax, 0xffffffff
jmp 0x1014923f
xor eax, eax
test eax, eax
jne 0x1014925b
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
push ecx
push edx
push ebp
call fcn.1014fb20
add esp, 0xc
jmp 0x101490f0
mov eax, 4
lea ecx, [esp + 0x3c]
mov edx, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x1014927e
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x10149266
test eax, eax
je 0x101492db
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x101492cd
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x101492db
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x101492cd
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x101492db
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x101492cd
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x101492db
movzx esi, byte [edx]
movzx eax, byte [ecx]
sub esi, eax
je 0x101492db
test esi, esi
mov eax, 1
jg 0x101492dd
or eax, 0xffffffff
jmp 0x101492dd
xor eax, eax
test eax, eax
jne 0x101492f9
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
push ecx
push edx
push ebp
call fcn.1014fe30
add esp, 0xc
jmp 0x101490f0
push edi
push ebp
call fcn.10148a40
add esp, 8
test eax, eax
mov edx, edi
mov eax, 4
je 0x101494df
lea ecx, [esp + 0x1c]
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x1014932e
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x10149316
test eax, eax
je 0x1014938b
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1014937d
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1014938b
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1014937d
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1014938b
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x1014937d
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1014938b
movzx eax, byte [ecx]
movzx esi, byte [edx]
sub esi, eax
je 0x1014938b
test esi, esi
mov eax, 1
jg 0x1014938d
or eax, 0xffffffff
jmp 0x1014938d
xor eax, eax
test eax, eax
jne 0x10149395
or dword [ebp + 0x68], 4
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
push ecx
push edx
push ebp
call fcn.10151c30
add esp, 0xc
mov eax, 4
lea ecx, [esp + 0x24]
mov edx, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x101493cb
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x101493b3
test eax, eax
je 0x10149428
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1014941a
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10149428
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1014941a
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10149428
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1014941a
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10149428
movzx esi, byte [edx]
movzx eax, byte [ecx]
sub esi, eax
je 0x10149428
test esi, esi
mov eax, 1
jg 0x1014942a
or eax, 0xffffffff
jmp 0x1014942a
xor eax, eax
test eax, eax
jne 0x10149437
or dword [ebp + 0x68], 2
jmp 0x101490f0
mov eax, 4
lea ecx, [esp + 0x1c]
mov edx, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x1014945a
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x10149442
test eax, eax
je 0x101494b7
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x101494a9
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x101494b7
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x101494a9
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x101494b7
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x101494a9
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x101494b7
movzx ecx, byte [ecx]
movzx esi, byte [edx]
sub esi, ecx
je 0x101494b7
test esi, esi
mov eax, 1
jg 0x101494b9
or eax, 0xffffffff
jmp 0x101494b9
xor eax, eax
test eax, eax
jne 0x101490f0
mov eax, dword [ebp + 0x68]
test al, 1
jne 0x1014a01f
push 0x10199750
push ebp
call fcn.10148200
add esp, 8
jmp 0x1014a073
lea ecx, [esp + 0x24]
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x101494fb
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x101494e3
test eax, eax
je 0x10149558
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1014954a
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10149558
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1014954a
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10149558
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1014954a
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10149558
movzx esi, byte [edx]
movzx edx, byte [ecx]
sub esi, edx
je 0x10149558
test esi, esi
mov eax, 1
jg 0x1014955a
or eax, 0xffffffff
jmp 0x1014955a
xor eax, eax
test eax, eax
jne 0x10149576
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
push eax
push ecx
push ebp
call fcn.1014fca0
add esp, 0xc
jmp 0x101490f0
mov eax, 4
lea ecx, [esp + 0x1c]
mov edx, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x10149599
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x10149581
test eax, eax
je 0x101495f6
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x101495e8
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x101495f6
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x101495e8
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x101495f6
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x101495e8
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x101495f6
movzx eax, byte [ecx]
movzx esi, byte [edx]
sub esi, eax
je 0x101495f6
test esi, esi
mov eax, 1
jg 0x101495f8
or eax, 0xffffffff
jmp 0x101495f8
xor eax, eax
test eax, eax
je 0x1014a03c
mov eax, 4
lea ecx, [esp + 0x7c]
mov edx, edi
jmp 0x10149610
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x10149628
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x10149610
test eax, eax
je 0x10149685
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10149677
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10149685
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10149677
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10149685
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10149677
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10149685
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x10149685
test esi, esi
mov eax, 1
jg 0x10149687
or eax, 0xffffffff
jmp 0x10149687
xor eax, eax
test eax, eax
jne 0x101496a3
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
push ebp
call fcn.10150e50
add esp, 0xc
jmp 0x101490f0
mov eax, 4
lea ecx, [esp + 0x4c]
mov edx, edi
mov edi, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x101496c8
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x101496b0
test eax, eax
je 0x10149725
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x10149717
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10149725
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x10149717
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10149725
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x10149717
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10149725
movzx ecx, byte [ecx]
movzx esi, byte [edx]
sub esi, ecx
je 0x10149725
test esi, esi
mov eax, 1
jg 0x10149727
or eax, 0xffffffff
jmp 0x10149727
xor eax, eax
test eax, eax
jne 0x10149743
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
push ebp
call fcn.10150160
add esp, 0xc
jmp 0x101490f0
mov eax, 4
lea ecx, [esp + 0x9c]
mov edx, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x10149769
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x10149751
test eax, eax
je 0x101497c6
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x101497b8
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x101497c6
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x101497b8
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x101497c6
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x101497b8
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x101497c6
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x101497c6
test esi, esi
mov eax, 1
jg 0x101497c8
or eax, 0xffffffff
jmp 0x101497c8
xor eax, eax
test eax, eax
jne 0x101497e4
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
push ebp
call fcn.1014fe80
add esp, 0xc
jmp 0x101490f0
mov eax, 4
lea ecx, [esp + 0x5c]
mov edx, edi
nop
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x10149808
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x101497f0
test eax, eax
je 0x10149865
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x10149857
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10149865
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x10149857
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10149865
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x10149857
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10149865
movzx ecx, byte [ecx]
movzx esi, byte [edx]
sub esi, ecx
je 0x10149865
test esi, esi
mov eax, 1
jg 0x10149867
or eax, 0xffffffff
jmp 0x10149867
xor eax, eax
test eax, eax
jne 0x10149883
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
push ebp
call fcn.10151090
add esp, 0xc
jmp 0x101490f0
mov eax, 4
lea ecx, [esp + 0x2c]
mov edx, edi
mov edi, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x101498a8
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x10149890
test eax, eax
je 0x10149905
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x101498f7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10149905
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x101498f7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10149905
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x101498f7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10149905
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x10149905
test esi, esi
mov eax, 1
jg 0x10149907
or eax, 0xffffffff
jmp 0x10149907
xor eax, eax
test eax, eax
jne 0x10149923
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
push ebp
call fcn.10151350
add esp, 0xc
jmp 0x101490f0
mov eax, 4
lea ecx, [esp + 0x6c]
mov edx, edi
mov edi, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x10149948
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x10149930
test eax, eax
je 0x101499a5
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x10149997
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x101499a5
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x10149997
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x101499a5
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x10149997
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x101499a5
movzx ecx, byte [ecx]
movzx esi, byte [edx]
sub esi, ecx
je 0x101499a5
test esi, esi
mov eax, 1
jg 0x101499a7
or eax, 0xffffffff
jmp 0x101499a7
xor eax, eax
test eax, eax
jne 0x101499c3
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
push ebp
call fcn.10151480
add esp, 0xc
jmp 0x101490f0
mov eax, 4
lea ecx, [esp + 0xac]
mov edx, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x101499e9
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x101499d1
test eax, eax
je 0x10149a46
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10149a38
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10149a46
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10149a38
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10149a46
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10149a38
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10149a46
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x10149a46
test esi, esi
mov eax, 1
jg 0x10149a48
or eax, 0xffffffff
jmp 0x10149a48
xor eax, eax
test eax, eax
jne 0x10149a64
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
push ebp
call fcn.101516e0
add esp, 0xc
jmp 0x101490f0
mov eax, 4
lea ecx, [esp + 0x34]
mov edx, edi
nop
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x10149a88
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x10149a70
test eax, eax
je 0x10149ae5
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x10149ad7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10149ae5
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x10149ad7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10149ae5
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x10149ad7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10149ae5
movzx ecx, byte [ecx]
movzx esi, byte [edx]
sub esi, ecx
je 0x10149ae5
test esi, esi
mov eax, 1
jg 0x10149ae7
or eax, 0xffffffff
jmp 0x10149ae7
xor eax, eax
test eax, eax
jne 0x10149b03
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
push ebp
call fcn.10151230
add esp, 0xc
jmp 0x101490f0
mov eax, 4
lea ecx, [esp + 0x44]
mov edx, edi
mov edi, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x10149b28
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x10149b10
test eax, eax
je 0x10149b85
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10149b77
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10149b85
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10149b77
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10149b85
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10149b77
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10149b85
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x10149b85
test esi, esi
mov eax, 1
jg 0x10149b87
or eax, 0xffffffff
jmp 0x10149b87
xor eax, eax
test eax, eax
jne 0x10149ba3
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
push ebp
call fcn.1014fff0
add esp, 0xc
jmp 0x101490f0
mov eax, 4
lea ecx, [esp + 0x54]
mov edx, edi
mov edi, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x10149bc8
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x10149bb0
test eax, eax
je 0x10149c25
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x10149c17
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10149c25
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x10149c17
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10149c25
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x10149c17
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10149c25
movzx ecx, byte [ecx]
movzx esi, byte [edx]
sub esi, ecx
je 0x10149c25
test esi, esi
mov eax, 1
jg 0x10149c27
or eax, 0xffffffff
jmp 0x10149c27
xor eax, eax
test eax, eax
jne 0x10149c43
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
push ebp
call fcn.10150610
add esp, 0xc
jmp 0x101490f0
mov eax, 4
lea ecx, [esp + 0x64]
mov edx, edi
mov edi, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x10149c68
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x10149c50
test eax, eax
je 0x10149cc5
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10149cb7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10149cc5
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10149cb7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10149cc5
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10149cb7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10149cc5
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x10149cc5
test esi, esi
mov eax, 1
jg 0x10149cc7
or eax, 0xffffffff
jmp 0x10149cc7
xor eax, eax
test eax, eax
jne 0x10149ce3
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
push ebp
call fcn.10150810
add esp, 0xc
jmp 0x101490f0
mov eax, 4
lea ecx, [esp + 0x74]
mov edx, edi
mov edi, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x10149d08
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x10149cf0
test eax, eax
je 0x10149d65
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x10149d57
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10149d65
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x10149d57
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10149d65
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x10149d57
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10149d65
movzx ecx, byte [ecx]
movzx esi, byte [edx]
sub esi, ecx
je 0x10149d65
test esi, esi
mov eax, 1
jg 0x10149d67
or eax, 0xffffffff
jmp 0x10149d67
xor eax, eax
test eax, eax
jne 0x10149d83
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
push ebp
call fcn.101509d0
add esp, 0xc
jmp 0x101490f0
mov eax, 4
lea ecx, [esp + 0x84]
mov edx, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x10149da9
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x10149d91
test eax, eax
je 0x10149e06
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10149df8
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10149e06
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10149df8
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10149e06
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10149df8
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10149e06
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x10149e06
test esi, esi
mov eax, 1
jg 0x10149e08
or eax, 0xffffffff
jmp 0x10149e08
xor eax, eax
test eax, eax
jne 0x10149e24
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
push ebp
call fcn.101519c0
add esp, 0xc
jmp 0x101490f0
mov eax, 4
lea ecx, [esp + 0x94]
mov edx, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x10149e4a
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x10149e32
test eax, eax
je 0x10149ea7
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x10149e99
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10149ea7
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x10149e99
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10149ea7
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x10149e99
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10149ea7
movzx ecx, byte [ecx]
movzx esi, byte [edx]
sub esi, ecx
je 0x10149ea7
test esi, esi
mov eax, 1
jg 0x10149ea9
or eax, 0xffffffff
jmp 0x10149ea9
xor eax, eax
test eax, eax
jne 0x10149ec5
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
push ebp
call fcn.101518a0
add esp, 0xc
jmp 0x101490f0
mov eax, 4
lea ecx, [esp + 0xa4]
mov edx, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x10149eeb
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x10149ed3
test eax, eax
je 0x10149f48
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10149f3a
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10149f48
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10149f3a
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10149f48
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10149f3a
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10149f48
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x10149f48
test esi, esi
mov eax, 1
jg 0x10149f4a
or eax, 0xffffffff
jmp 0x10149f4a
xor eax, eax
test eax, eax
jne 0x10149f66
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
push ebp
call fcn.10150bf0
add esp, 0xc
jmp 0x101490f0
mov eax, 4
lea ecx, [esp + 0xb4]
mov edx, edi
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x10149f8c
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x10149f74
test eax, eax
je 0x10149fe9
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x10149fdb
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10149fe9
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x10149fdb
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10149fe9
movzx ebx, byte [ecx]
movzx esi, byte [edx]
sub esi, ebx
jne 0x10149fdb
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10149fe9
movzx ecx, byte [ecx]
movzx esi, byte [edx]
sub esi, ecx
je 0x10149fe9
test esi, esi
mov eax, 1
jg 0x10149feb
or eax, 0xffffffff
jmp 0x10149feb
xor eax, eax
test eax, eax
jne 0x1014a007
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
push eax
push ebp
call fcn.10151ae0
add esp, 0xc
jmp 0x101490f0
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
push ecx
push edx
push ebp
call fcn.10151c30
add esp, 0xc
jmp 0x101490f0
cmp byte [ebp + 0x126], 3
jne 0x1014a073
test al, 2
jne 0x1014a073
push 0x10199734
push ebp
call fcn.10148200
add esp, 8
jmp 0x1014a073
mov eax, dword [ebp + 0x68]
test al, 1
jne 0x1014a04a
push 0x10199750
jmp 0x1014a05c
cmp byte [ebp + 0x126], 3
jne 0x1014a065
test al, 2
jne 0x1014a065
push 0x10199734
push ebp
call fcn.10148200
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.101180ca
add esp, 0xb0
ret