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
add byte [eax], al
add byte [ecx - 0x76e7dbbc], cl
inc esp
and al, 0x2c
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]
les ecx, [esi - 0x247affb6]
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.0x40161f.8
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.0x40161f.8
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.0x40161f.8
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.0x40161f.8
mov eax, dword [eax]
cmp eax, 0x23
je case.0x40161f.8
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.0x40161f.8
jmp 0x42b127
mov eax, dword [esp + 0x14]
inc esp
and al, 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.0x40161f.8
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.0x40161f.8
std
invalid
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.0x40161f.8
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.0x40161f.8
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.0x40161f.8
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.0x40161f.8
jmp 0x42b115
add al, byte [eax]
int3
lea ecx, [esp + 0x18]
mov dword [esp + 0x18], 1
call fcn.0040cd80
test eax, eax
jne 0x40e9eb
mov esi, dword [esp + 0x18]
mov ecx, dword [esi + 4]
mov edx, dword [esp + 0x10]
mov eax, dword [ecx + edx*4]
cmp word [eax + 8], 0x7f
jne 0x42f920
cmp byte [esp + 0xf], 0
jne 0x40e9f3
lea eax, [edi + 0x16c]
call fcn.0040f360
mov ecx, dword [eax + 4]
mov edx, dword [esp + 0x1c]
inc ecx
mov dword [edx], ecx
pop edi
pop esi
add esp, 0xc
ret 8
add edi, 0x16c
call fcn.0040c8a0
pop edi
pop esi
add esp, 0xc
ret 8
push 0xffffffffffffffff
push 0x77
push 0x4a7f20
call 0x7045e649
or al, 0xff
jo 0x42ada7
call [ebp + 0x59]
ret 0xc
push 0xffffffffffffffff
push 0xff0c0097
push 0x4a7f20
call 0x7045e649
or al, 0xff
jo 0x42adc2
dec edx
add al, ch
wait
cmp byte [ebx], al
jo 0x42adbb
push dword [eax + 0x10]
call [ebp + 0x59]
ret 0xc
push 0xffffffffffffffff
push 0xff0c00a0
push 0x4a7f20
call 0x7045e649
or al, 0xff
jo 0x42addd
mov al, byte [0x68ff0c00]
and byte [edi + 0x4a], bh
dec edx
add al, ch
cmp byte [eax], 3
jo 0x42add6
push dword [eax + 0x10]
call [ebp + 0x59]
ret 0xc
push 0xffffffffffffffff
push 0xff0c00b4
mov ah, 0
or al, 0xff
push 0x4a7f20
call 0x7045e649
or al, 0xff
jo 0x42adf8
dec edx
add al, ch
cmp byte gs:[ebx], al
jo 0x42adf1
push dword [eax + 0x10]
call [ebp + 0x59]
ret 0xc
push 0xffffffffffffffff
push 0x73
push 0x4a7f20
call 0x7045e649
or al, 0xff
jo case.0x40161f.20
jae 0x42ae5b
and byte [edi + 0x4a], bh
add al, ch
dec ebp
cmp byte [ebx], al
jo 0x42ae09
push dword [eax + 0x10]
call [ebp + 0x59]
ret 0xc
test byte [edi + edi*8 - 1], bl
invalid
je 0x42ad85
cmp esi, eax
je 0x42ad9d
cmp edi, eax
je 0x42adb8
cmp ebx, eax
je 0x42add3
cmp ebp, eax
je 0x42adee
jmp 0x40e9a1
inc esp
and al, 0x34
add eax, ecx
lea edi, [esp + 0x34]
lea esi, [esp + 0x48]
xor al, 0x44
and al, 0x14
call fcn.004010ab
jmp 0x40159f
std
invalid
inc esp
and al, 0x34
add eax, ecx
lea edi, [esp + 0x34]
lea esi, [esp + 0x60]
xor al, 0x8d
je 0x42aea0
pushal
xor al, 0x44
and al, 0x14
adc al, 0xe8
and eax, 0xe9fffd62
adc al, 0x67
std
invalid
adc al, 0xe8
and eax, 0xe9fffd62
adc al, 0x67
std
dec dword [ebp + 0x6ae9017b]
push 0xfffffffffffffffd
dec dword [ebp - 0x4516fe85]
push 0xfffffffffffffffd
dec dword [ebx - 0x7c99fbae]
jp 0x42aeaa
jg 0x42aeb3
test dword [ecx + 0x58f], ebp
pop esp
and al, 0x14
dec dword [esp + 0x2c]
dec ebx
lea eax, [esp + 0x48]
inc esp
and al, 0x48
mov dword [esp + 0x14], ebx
call fcn.00410a8b
test al, al
je 0xc0c7aecf
lea edi, [ebx + 1]
jmp 0x26eaee3
add byte [edi], cl
mov word [eax], cs
add byte [ebp + 0xfdf3bc0], al
test byte [ecx + 0x6a3bfd66], ch
jmp [eax - 0x67]
add byte [edi], cl
mov word [eax], cs
add byte [ebp + 0xfdf3bc0], al
test byte [edx + 0x66], al
std
cmp ebp, dword [edx - 1]
push 0x500b3
jmp 0x26eb07a
invalid
cmp ebp, dword [edx - 1]
push 0x50098
jmp 0x47b07a
jg 0x42afdb
test dword [ebx - 0x7c3da2f4], edx
jl 0x42aff8
sbb byte [eax], al
jne 0x3c40159f
std
cmp ebp, dword [edx - 1]
push 0xffffffffffffffff
push 0x74
jmp 0xc0c7b07a
ror byte [ebp - 0x2616fe85], 0x67
std
dec dword [ebx - 0x3916fbc0]
std
dec dword [ebx + 0x4714247c]
jmp 0x4017bb
adc al, 0x47
jmp 0x401742
inc dword [ebx - 0x77ced18]
adc byte [edi], cl
xchg dword [ebx + 0x20], eax
mov esi, dword [0x6090b60f]
mov cl, 0x42
add bh, bh
and al, 0x95
push esp
mov cl, 0x42
ret 0x7c83
std
cmp eax, dword [ebx + 0x20247c]
jne 0x3c40159f
push 0xffffffffffffffff
push 0x89000000
jmp 0x47b07a
add byte [eax], al
add byte [ecx + 0x50028e9], cl
add byte [eax], al
inc ebx
add al, 0x8b
dec eax
add al, 0xf
movsx edx, word [ecx + 0xa]
push edx
push 0x72
invalid
movsx edx, word [ecx + 0xa]
push edx
push 0x72
jmp 0x26eb07a
push ss
add byte [edx + eax], ch
mov ecx, dword [edx + 4]
movsx edx, word [ecx + 0xa]
push edx
push 0x72
jmp 0x42b07a
push ecx
or dl, byte [edx + 0x6a]
jb case.0x40161f.5
pop es
add byte [eax], al
add byte [edx - 1], ch
push 0xff0c0081
push 0x4a7f20
call 0x245e649
lea eax, [esp + 0x6c]
call 0x3c4014fb
lea eax, [esp + 0x3c]
call 0x3c4014fb
lea eax, [esp + 0x78]
call 0x3c4014fb
lea eax, [esp + 0x48]
call 0x3c4014fb
lea eax, [esp + 0x54]
call 0x3c4014fb
lea eax, [esp + 0x60]
call fcn.004014fb
or al, 0xff
jo 0x42b0ce
invalid
push 0x4a7f20
call 0x245e649
lea eax, [esp + 0x6c]
call 0x3c4014fb
lea eax, [esp + 0x3c]
call 0x3c4014fb
lea eax, [esp + 0x78]
call 0x3c4014fb
lea eax, [esp + 0x48]
call 0x3c4014fb
lea eax, [esp + 0x54]
inc esp
and al, 0x54
call 0x3c4014fb
lea eax, [esp + 0x60]
call fcn.004014fb
or al, 0xff
jo 0x42b122
invalid
std
cmp ebp, dword [edx - 1]
push 0x21740ae8
jmp 0x3c42b07a
and ecx, ebp
push esi
invalid
invalid
xchg ebx, eax
or al, 0x5d
ret 0x4ae9
js 0x42b11e
inc ecx
invalid
cdq
std
dec dword [ebp - 0x17e7db8c]
scasd eax, dword es:[edi]
cdq
std
dec dword [ebp + 0x52482454]
call fcn.0045234f
jmp 0x40259a
mov edi, edi
mov edx, dword [eax + 0x58]
or byte [eax + edx*8], al
test byte [eax + 0x52], bl
push 0x40b29d0
push eax
mov eax, dword [ecx]
call eax
pop ss
clc
mov ebp, eax
xor dword [eax], ebx
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
test edi, edi
jge 0x47b0ad
push 0
push 0x38
push 0
push edi
jmp 0x7647af3c
adc cl, byte [ebp + 0xc]
lea edx, [eax]
add byte [eax + 0x50], dl
call 0x7646768f
adc ch, al
inc edi
pop eax
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov bh, 0x99
call 0x7602990d
clc
push edx
or byte [esp + 0x30], cl
call 0x50402689
add al, 0x8b
dec ecx
add al, 0x8b
invalid