Function at 0x4014f0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x74
xor eax, eax
push ebx
push ebp
push esi
push edi
mov ebp, 1
mov dword [esp + 0x18], eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], eax
mov byte [esp + 0x68], al
mov byte [esp + 0x69], al
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], eax
mov byte [esp + 0x5c], al
mov byte [esp + 0x5d], al
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], eax
mov byte [esp + 0x50], al
mov byte [esp + 0x51], al
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], eax
mov byte [esp + 0x80], al
mov byte [esp + 0x81], al
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], eax
mov byte [esp + 0x44], al
mov byte [esp + 0x45], al
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], eax
mov byte [esp + 0x74], al
mov byte [esp + 0x75], al
mov dword [esp + 0x14], eax
cmp ebp, dword [0x4a8e90]
jg 0x401764
test ebp, ebp
jle 0x401764
mov ebx, ebp
shl ebx, 4
add ebx, dword [0x4a8ec4]
test ebx, ebx
je 0x4017c3
inc ebp
lea eax, [ebp - 1]
mov dword [0x4a8014], eax
mov edx, dword [ebx + 4]
mov eax, dword [edx]
movzx esi, word [eax + 8]
xor ecx, ecx
mov dword [esp + 0x34], 0
cmp si, 0x7f
je 0x4015e3
mov eax, edx
nop
mov edi, dword [eax + 4]
add eax, 4
inc ecx
cmp word [edi + 8], 0x7f
jne 0x4015d0
test ecx, ecx
jbe 0x4015e3
dec ecx
test si, si
jne case.0x42b003.25
mov esi, dword [edx]
mov eax, dword [esi]
cmp eax, 4
je 0x401670
cmp eax, 0xd
je 0x401741
cmp eax, 0xe
je 0x4016ec
cmp eax, 8
je 0x40176b
sub eax, 5
cmp eax, 0x1c
ja case.0x42b003.25
movzx ecx, byte [eax + 0x401994]
jmp dword [ecx*4 + 0x401954]
mov ecx, dword [edx + 4]
cmp word [ecx + 8], 0x7f
jne 0x42b049
sub dword [esp + 0x30], 1
jne 0x42b0fd
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
push edx
push eax
push ecx
mov ebx, dword [esp + 0x34]
mov edi, dword [esp + 0x38]
mov esi, dword [esp + 0x2c]
mov edx, dword [esp + 0x30]
call fcn.0040e940
test eax, eax
je case.0x42b003.25
jmp 0x42b069
mov edi, dword [esp + 0x34]
xor eax, eax
test ax, ax
je 0x401693
mov esi, dword [edx + edi*4 + 4]
movzx eax, word [esi + 8]
inc edi
mov dword [esp + 0x34], edi
cmp ax, 0x7f
jne 0x401676
jmp 0x42b133
cmp dword [esi], 5
jne 0x40167b
mov ecx, dword [edx + ecx*4]
cmp word [ecx + 8], 0
jne 0x4016c5
cmp dword [ecx], 5
jne 0x4016c5
mov eax, dword [esp + 0x14]
inc dword [esp + 0x18]
mov dword [esp + 0x38], eax
inc eax
lea edi, [esp + 0x38]
lea esi, [esp + 0x54]
mov dword [esp + 0x14], eax
call fcn.00401090
mov ecx, dword [esp + 0x34]
mov eax, dword [ebx + 4]
mov eax, dword [eax + ecx*4 + 4]
inc ecx
cmp word [eax + 8], 0
jne case.0x42b003.25
mov eax, dword [eax]
cmp eax, 0x23
je case.0x42b003.25
jmp 0x42aff0
mov ecx, dword [edx + 4]
cmp word [ecx + 8], 0x7f
jne 0x42b049
dec dword [esp + 0x20]
dec dword [esp + 0x14]
cmp dword [esp + 0x3c], 0
je 0x42afda
cmp byte [esp + 0x45], 0
jne 0x42afe4
mov eax, dword [esp + 0x40]
mov edi, dword [eax]
lea esi, [esp + 0x3c]
call fcn.0040c250
cmp dword [esp + 0x20], 0
jl 0x42b127
cmp dword [esp + 0x14], edi
je case.0x42b003.25
jmp 0x42b127
mov eax, dword [esp + 0x14]
inc dword [esp + 0x20]
mov dword [esp + 0x34], eax
inc eax
lea edi, [esp + 0x34]
lea esi, [esp + 0x3c]
mov dword [esp + 0x14], eax
call fcn.00401090
jmp case.0x42b003.25
xor ebx, ebx
jmp 0x4015a3
mov edx, dword [edx + 4]
cmp word [edx + 8], 0x7f
jne 0x42b037
mov ebx, dword [esp + 0x14]
dec dword [esp + 0x18]
dec ebx
cmp dword [esp + 0x54], 0
mov dword [esp + 0x14], ebx
je 0x42afca
cmp byte [esp + 0x5d], 0
mov eax, dword [esp + 0x58]
jne 0x42afd2
mov edi, dword [eax]
lea esi, [esp + 0x54]
call fcn.0040c250
cmp dword [esp + 0x18], 0
jl 0x42b11e
cmp ebx, edi
je case.0x42b003.25
jmp 0x42b11e
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x28]
mov edi, dword [esp + 0x2c]
mov esi, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
push eax
push ecx
push 0
call fcn.0040e940
test eax, eax
jne 0x42b069
cmp dword [esp + 0x30], eax
jne 0x42b0fd
lea eax, [esp + 0x6c]
call fcn.004014e0
lea eax, [esp + 0x3c]
call fcn.004014e0
lea eax, [esp + 0x78]
call fcn.004014e0
lea eax, [esp + 0x48]
call fcn.004014e0
lea eax, [esp + 0x54]
call fcn.004014e0
lea eax, [esp + 0x60]
call fcn.004014e0
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x74
ret
mov eax, dword [esp + 0x30]
inc eax
cmp eax, 1
jg 0x42b0fd
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
push ecx
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x18]
push edx
push eax
jmp 0x40164e
mov edx, dword [edx + 4]
cmp word [edx + 8], 0x7f
jne 0x42b037
mov eax, dword [esp + 0x14]
inc dword [esp + 0x1c]
mov dword [esp + 0x34], eax
inc eax
lea edi, [esp + 0x34]
lea esi, [esp + 0x6c]
mov dword [esp + 0x14], eax
call fcn.00401090
jmp case.0x42b003.25
mov eax, dword [esp + 0x14]
inc dword [esp + 0x24]
mov dword [esp + 0x34], eax
inc eax
lea edi, [esp + 0x34]
lea esi, [esp + 0x78]
mov dword [esp + 0x14], eax
call fcn.00401090
jmp case.0x42b003.25
mov ebx, dword [esp + 0x14]
dec dword [esp + 0x1c]
dec ebx
lea eax, [esp + 0x6c]
mov dword [esp + 0x14], ebx
call fcn.00410a70
test al, al
jne 0x42ae70
lea eax, [esp + 0x6c]
call fcn.00410a60
mov edi, dword [eax]
lea esi, [esp + 0x6c]
call fcn.0040c250
cmp dword [esp + 0x1c], 0
jl 0x42b109
cmp ebx, edi
je case.0x42b003.25
jmp 0x42b109
mov ecx, dword [edx + 4]
cmp word [ecx + 8], 0x7f
jne 0x42b049
mov ebx, dword [esp + 0x14]
dec dword [esp + 0x24]
dec ebx
lea eax, [esp + 0x78]
mov dword [esp + 0x14], ebx
call fcn.00410a70
test al, al
jne 0x42ae78
lea eax, [esp + 0x78]
call fcn.00410a60
mov edi, dword [eax]
lea esi, [esp + 0x78]
call fcn.0040c250
cmp dword [esp + 0x24], 0
jl 0x42b115
cmp ebx, edi
je case.0x42b003.25
jmp 0x42b115
mov eax, dword [edx + 4]
cmp word [eax + 8], 0x7f
jne 0x42b0a9
mov eax, dword [esp + 0x14]
mov ecx, 1
add dword [esp + 0x2c], ecx
mov dword [esp + 0x34], eax
add eax, ecx
lea edi, [esp + 0x34]
lea esi, [esp + 0x48]
mov dword [esp + 0x14], eax
call fcn.00401090
jmp case.0x42b003.25
mov eax, dword [esp + 0x14]
mov ecx, 1
add dword [esp + 0x28], ecx
mov dword [esp + 0x34], eax
add eax, ecx
lea edi, [esp + 0x34]
lea esi, [esp + 0x60]
mov dword [esp + 0x14], eax
call fcn.00401090
jmp case.0x42b003.25
lea edi, [ebx + 1]
jmp 0x4018e2
lea edi, [ebx + 1]
jmp 0x40193a
mov edx, dword [edx + 4]
cmp word [edx + 8], 0x7f
jne 0x42b037
mov ebx, dword [esp + 0x14]
dec dword [esp + 0x2c]
dec ebx
lea eax, [esp + 0x48]
mov dword [esp + 0x14], ebx
call fcn.00410a70
test al, al
je 0x42aeb4
lea edi, [ebx + 1]
jmp 0x42aec8
lea eax, [esp + 0x48]
call fcn.00410a60
mov edi, dword [eax]
lea esi, [esp + 0x48]
call fcn.0040c250
cmp dword [esp + 0x2c], 0
jl 0x42aedb
cmp ebx, edi
je case.0x42b003.25
push 0xffffffffffffffff
push 0x99
jmp 0x42b05f
mov eax, dword [edx + 4]
cmp word [eax + 8], 0x7f
jne 0x42b049
mov ebx, dword [esp + 0x14]
dec dword [esp + 0x28]
dec ebx
lea eax, [esp + 0x60]
mov dword [esp + 0x14], ebx
call fcn.00410a70
test al, al
je 0x42af1b
lea edi, [ebx + 1]
jmp 0x42af2f
lea eax, [esp + 0x60]
call fcn.00410a60
mov edi, dword [eax]
lea esi, [esp + 0x60]
call fcn.0040c250
cmp dword [esp + 0x28], 0
jl 0x42af42
cmp ebx, edi
je case.0x42b003.25
push 0xffffffffffffffff
push 0xb3
jmp 0x42b05f
lea eax, [esp + 0x48]
call fcn.00410a70
test al, al
jne 0x42af75
lea eax, [esp + 0x48]
call fcn.00410a60
mov ecx, dword [esp + 0x14]
dec ecx
cmp ecx, dword [eax]
je case.0x42b003.25
lea eax, [esp + 0x60]
call fcn.00410a70
test al, al
jne 0x42af9c
lea eax, [esp + 0x60]
call fcn.00410a60
mov edx, dword [esp + 0x14]
dec edx
cmp edx, dword [eax]
je case.0x42b003.25
push 0xffffffffffffffff
push 0x98
jmp 0x42b05f
mov eax, dword [edx + 4]
cmp word [eax + 8], 0x7f
jne 0x42b049
cmp dword [esp + 0x18], 0
jne case.0x42b003.25
push 0xffffffffffffffff
push 0x74
jmp 0x42b05f
lea edi, [ebx + 1]
jmp 0x4017ab
mov eax, dword [eax + 4]
jmp 0x4017a0
mov edi, dword [esp + 0x14]
inc edi
jmp 0x401727
mov edx, dword [esp + 0x40]
mov eax, dword [edx + 4]
jmp 0x40171c
sub eax, 0x12
cmp eax, 0x10
ja case.0x42b003.20
movzx edx, byte [eax + 0x42b160]
jmp dword [edx*4 + 0x42b154]
cmp dword [esp + 0x1c], 0
jne case.0x42b003.25
cmp dword [esp + 0x24], 0
jne case.0x42b003.25
cmp dword [esp + 0x20], 0
jne case.0x42b003.25
push 0xffffffffffffffff
push 0x96
jmp 0x42b05f
mov eax, dword [ebx + 4]
mov ecx, dword [eax + 4]
movsx edx, word [ecx + 0xa]
push edx
push 0x72
jmp 0x42b05f
mov ecx, dword [edx + 4]
movsx edx, word [ecx + 0xa]
push edx
push 0x72
jmp 0x42b05f
push 0xffffffffffffffff
push 0x81
push 0x4a7f20
call fcn.0045e62e
lea eax, [esp + 0x6c]
call fcn.004014e0
lea eax, [esp + 0x3c]
call fcn.004014e0
lea eax, [esp + 0x78]
call fcn.004014e0
lea eax, [esp + 0x48]
call fcn.004014e0
lea eax, [esp + 0x54]
call fcn.004014e0
lea eax, [esp + 0x60]
call fcn.004014e0
mov eax, 1
jmp 0x40182e
mov ecx, dword [edx + 4]
movsx edx, word [ecx + 0xa]
push edx
push 0x72
push 0x4a7f20
call fcn.0045e62e
lea eax, [esp + 0x6c]
call fcn.004014e0
lea eax, [esp + 0x3c]
call fcn.004014e0
lea eax, [esp + 0x78]
call fcn.004014e0
lea eax, [esp + 0x48]
call fcn.004014e0
lea eax, [esp + 0x54]
call fcn.004014e0
lea eax, [esp + 0x60]
call fcn.004014e0
mov eax, 1
jmp 0x40182e
push 0xffffffffffffffff
push 0x83
jmp 0x42b05f
push 0xffffffffffffffff
push 0x93
jmp 0x42b05f
push 0xffffffffffffffff
push 0x78
jmp 0x42b05f
push 0xffffffffffffffff
push 0x75
jmp 0x42b05f
push 0xffffffffffffffff
push 0x95
jmp 0x42b05f
push 0xffffffffffffffff
push 0xa1
jmp 0x42b05f
mov eax, dword [ebx + 4]
mov ecx, dword [eax + ecx*4]
movsx edx, word [ecx + 0xa]
push edx
push 0x9f
jmp 0x42b05f