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

Disassembly:
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x80], 0
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 1
cmp dword [esp + 0x68], eax
jne 0x406066
add eax, eax
cmp eax, 8
jae 0x406037
mov eax, 8
xor ecx, ecx
mov dword [esp + 0x6c], eax
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00420fe6
mov esi, eax
add esp, 4
mov eax, dword [esp + 0x64]
test eax, eax
jne 0x43e28f
invalid
invalid
add byte [ebx], 0
mov dword [esp + 0x64], esi
push 0x10
call fcn.00420fe6
mov esi, eax
add esp, 4
test esi, esi
je 0x406af1
test byte [edi + 0xa], dh
add byte [eax], al
lea eax, [esp + 0x80]
mov dword [esi + 8], 0
push eax
mov ecx, esi
call fcn.00404e60
mov ecx, dword [esp + 0x68]
mov eax, dword [esp + 0x64]
inc esp
and al, 0x64
inc esp
and al, 0x64
mov dword [eax + ecx*4], esi
mov ecx, dword [esp + 0x68]
mov esi, dword [esp + 0x70]
inc ecx
cmp byte [esp + 0x13], 0
mov eax, dword [esp + 0x64]
mov dword [esp + 0x68], ecx
push esi
jne 0x406a9b
push dword [eax + ecx*4 - 4]
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x7c]
push eax
push dword [ebp + 8]
call fcn.004053b0
test eax, eax
js 0x43eff9
inc dword [esp + 0x38]
mov ecx, dword [esp + 0x74]
cmp ecx, esi
jne 0x40673c
mov dword [esp + 0x8c], 1
mov dword [esp + 0x80], 0
mov esi, dword [esp + 0x38]
mov ecx, dword [esp + 0xc]
push dword [esp + 0x30]
lea ecx, [ecx + 0x470]
call fcn.00416060
cmp esi, dword [eax + 0x18]
jl 0x406b3b
mov ecx, dword [esp + 0xc]
push dword [esp + 0x30]
lea ecx, [ecx + 0x470]
call fcn.00416060
cmp esi, dword [eax + 0x1c]
jg 0x406b3b
mov esi, dword [esp + 0x18]
mov ecx, dword [esi + 8]
test ecx, ecx
jne 0x43e2ba
mov eax, dword [esi + 0xc]
cmp eax, 5
jge 0x43e2cc
mov edx, dword [esp + 0xc]
mov dword [esi + 0xc], 1
mov dword [esi], 1
mov eax, dword [edx]
mov ecx, dword [eax + 4]
mov eax, dword [ecx + edx + 8]
add ecx, edx
cmp byte [ecx + 0xd], 0
jne 0x406af8
mov dword [eax + 0x14], 0
cmp byte [ecx + 0xd], 0
mov eax, dword [ecx + 8]
jne 0x406b00
mov byte [eax + 0x18], 0
mov eax, dword [edx]
mov eax, dword [eax + 4]
add eax, edx
mov dword [esp + 0x34], eax
cmp byte [eax + 0xd], 0
jne 0x43e38e
mov esi, dword [eax + 8]
mov ecx, dword [esi + 0x28]
test ecx, ecx
jne 0x43e399
mov eax, dword [esi + 0x2c]
cmp eax, 5
jge 0x43e3af
mov eax, dword [esp + 0x34]
mov dword [esi + 0x2c], 1
mov dword [esi + 0x20], 0
cmp byte [eax + 0xd], 0
mov eax, dword [eax + 8]
jne 0x406b08
push dword [esp + 0x30]
lea ecx, [edx + 0x470]
mov byte [eax + 0x30], 0
call fcn.00416060
push dword [esp + 0x18]
mov edx, dword [eax + 0x10]
mov ecx, dword [eax + 0x14]
mov esi, dword [eax + 0xc]
lea eax, [esp + 0x64]
push eax
mov eax, dword [esp + 0x14]
mov eax, dword [eax]
mov ecx, dword [ecx + eax]
add ecx, edx
add ecx, dword [esp + 0x14]
call esi
test eax, eax
js 0x43efeb
xor esi, esi
mov dword [esp + 0x60], 0x49098c
cmp dword [esp + 0x68], esi
jbe 0x406262
lea esp, [esp]
mov eax, dword [esp + 0x64]
mov ecx, dword [eax + esi*4]
mov dword [esp + 0x40], ecx
test ecx, ecx
je 0x406254
call fcn.00405190
push dword [esp + 0x40]
call fcn.0042105c
mov eax, dword [esp + 0x68]
add esp, 4
mov dword [eax + esi*4], 0
inc esi
cmp esi, dword [esp + 0x68]
jb 0x406230
push dword [esp + 0x64]
mov dword [esp + 0x6c], 0
call fcn.0042105c
add esp, 4
mov eax, dword [esp + 0xc]
cmp dword [eax + 0xf8], 1
je 0x43f0d3
mov esi, dword [ebp + 0xc]
jmp 0x4054ba
mov edx, dword [ebp + 8]
mov eax, dword [edx + 4]
mov eax, dword [eax + ecx*4]
cmp word [eax + 8], 0x40
jne 0x43f007
lea eax, [ecx + 1]
cmp eax, esi
je 0x43f007
lea ecx, [esp + 0x80]
mov dword [esp + 0x74], eax
call fcn.00404dc0
cmp dword [esp + 0x74], esi
jb 0x406000
jmp 0x4060fb
push 0
push 0
push 0x100
push dword [eax + ecx*4 - 4]
mov ecx, dword [esp + 0x20]
lea eax, [esp + 0x88]
push eax
push dword [ebp + 8]
call fcn.0040a9de
jmp 0x4060cd
xor esi, esi
jmp 0x406090
mov eax, dword [eax + 0x38]
jmp 0x406178
mov eax, dword [eax + 0x38]
jmp 0x40618c
mov eax, dword [eax + 0x38]
jmp 0x4061de
push dword [esp + 0x34]
push 0x70
jmp 0x43efe2
mov dword [edx], 0xfc2847e9
inc dword [ebx - 0x77c0540]
invalid
inc ecx
cmc
cmp eax, 1
ja 0x4009be
jmp 0x43e2f9
sub ah, bh
jmp dword [esi - 0x7d]
cmp dword [esi + 0x6c], 0
jne 0x4009be
jmp 0x400af6
invalid
add byte [edi + 0x3c], dh
je 0x400af6
cmp ecx, 0xa0
ja 0x43e3c7
je 0x400af6
inc dword [ebx - 0x7bf0f607]
cmp eax, 0x83fffc27
stc
and byte [edi], cl
test esp, edi
and eax, 0x2fe9fffc
daa
cld
inc dword [ecx + 0x1680f9]
add byte [edi], cl
test ebx, ebp
and eax, 0x1ee9fffc
daa
cld
inc dword [ecx + 0x205ff9]
add byte [edi + 0x2f], dh
je 0x400af6
cmp ecx, 9
je 0x400af6
cmp ecx, 0x20
jne 0x4009be
jmp 0x400af6
cmp ecx, 0x1680
jne 0x4009be
jmp 0x400af6
cmp ecx, 0x2000
jb 0x4009be
cmp ecx, 0x200a
jbe 0x400af6
cmp ecx, 0x202f
jne 0x4009be
jmp 0x400af6
inc dword [ebx - 0xffd39a]
pop es
jmp 0x400f6e
pop ds
cld
dec dword [ebx - 0x2fc4e3ba]
jne 0x43effd
lea ecx, [eax + 1]
jmp 0x400fca
int 0x1f
cld
inc edi
inc esi
sub al, 0x10
add byte [eax], al
adc cl, ch
rcr dword [edi], 0xfc
mov dword [esi + 0x2c], 0x10000010
jmp 0x400fca
cld
inc dword [ebx + 0xf000c7d]
test dl, cl
and edi, esp
invalid
add esp, 4
mov dword [ebp - 0x30], eax
jmp 0x4011b3