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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
push ebx
mov ebx, dword [ebp + 8]
push edi
mov edi, dword [ebp + 0xc]
test edi, edi
jne 0x408d5e
cmp dword [ebx + 0x2c], 0
jne 0x408d63
mov edi, ebx
mov dword [ebp + 0xc], edi
cmp dword [edi + 0x1c], ebx
je 0x408d6b
pop edi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
push esi
push 0x40
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], 0
mov dword [ebp - 0x18], 0
mov dword [ebx + 0x2e4], 0
mov dword [ebx + 0x2e8], 0
mov dword [ebp - 0x10], 0x40
call fcn.00405521
mov esi, eax
add esp, 4
mov dword [ebp + 8], esi
test esi, esi
jne 0x408dc1
push 0x660558
call fcn.00407c01
add esp, 4
xor eax, eax
pop esi
pop edi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebx + 0x3c]
push edi
push ebx
mov dword [ebp - 4], esi
call eax
add esp, 8
mov dword [ebp - 0x14], eax
mov eax, dword [ebx + 0x2f0]
push ebx
call eax
mov edi, dword [ebp + 8]
add esp, 4
mov dword [ebp - 0x1c], eax
cmp esi, edi
jbe 0x408eff
cmp eax, 0x3c
je 0x408df9
cmp eax, 0xffffffff
jne 0x408f08
mov edi, dword [ebp - 0x14]
mov byte [esi], 0
cmp edi, 2
je 0x408e09
cmp edi, 0xffffffff
jne 0x408e17
push dword [ebp + 8]
call fcn.00406f81
add esp, 4
mov dword [ebp - 4], eax
push dword [ebp + 8]
xor esi, esi
call fcn.00406331
add esp, 4
test eax, eax
je 0x408eee
mov eax, edi
sub eax, 1
je 0x408e9c
sub eax, 1
je 0x408e80
sub eax, 1
jne 0x408eee
cmp dword [ebx + 0x44], esi
je 0x4094ee
mov edi, dword [ebp - 8]
mov dword [edi + 0x18], 3
push dword [ebp + 8]
mov eax, dword [ebx + 0x44]
push edi
push ebx
call eax
add esp, 0xc
test eax, eax
jne 0x408eee
push dword [edi]
push dword [ebp + 8]
push 0x6605a0
call fcn.00407c01
add esp, 0xc
jmp 0x40962d
mov edi, dword [ebp - 8]
push 1
mov dword [edi + 0x18], 2
push dword [ebp + 8]
push edi
call fcn.0040a621
add esp, 0xc
test eax, eax
jmp 0x408ee8
cmp dword [ebx + 0x2e8], esi
je 0x408ed3
push dword [ebp + 8]
call fcn.004065b1
mov edi, dword [ebp - 8]
add esp, 4
cmp byte [eax], 0
je 0x408ed6
cmp dword [edi + 0x18], esi
jne 0x408ed6
mov dword [edi + 0x18], 1
push dword [ebp + 8]
push edi
call fcn.00408a91
add esp, 8
test eax, eax
jmp 0x408ee8
mov edi, dword [ebp - 8]
push dword [ebp + 8]
push 0
push edi
call fcn.00408a31
mov esi, eax
add esp, 0xc
test esi, esi
je 0x409500
mov eax, dword [ebp - 0xc]
test eax, eax
mov edi, dword [ebp + 8]
cmove eax, esi
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0x1c]
cmp eax, 0xffffffff
je 0x4095ff
cmp eax, 0x3c
jne 0x4094af
mov eax, dword [ebx + 0x2f0]
push ebx
mov dword [ebp - 4], edi
call eax
mov esi, eax
add esp, 4
cmp esi, 0xffffffff
je 0x40903a
nop word [eax + eax]
push esi
call fcn.00407551
add esp, 4
test eax, eax
jne 0x40903a
cmp esi, 0x3e
je 0x40903a
cmp esi, 0x2f
jne 0x408f5b
cmp edi, dword [ebp + 8]
ja 0x40903a
jmp 0x408fbb
cmp esi, 0x3c
je 0x409518
cmp esi, 0x26
jne 0x408fa3
push dword [ebp - 8]
push ebx
call fcn.00409af1
add esp, 8
cmp eax, 0xffffffff
je 0x40962d
lea ecx, [ebp - 0x10]
push ecx
lea ecx, [ebp + 8]
push ecx
lea ecx, [ebp - 4]
push ecx
push eax
call fcn.00408c21
add esp, 0x10
test eax, eax
je 0x40962d
mov edi, dword [ebp - 4]
jmp 0x409023
cmp esi, 0x30
jge 0x408fbb
cmp esi, 0x21
je 0x408fbb
cmp esi, 0x2d
je 0x408fbb
cmp esi, 0x2e
jne 0x40962d
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp + 8]
push eax
lea eax, [ebp - 4]
push eax
push esi
call fcn.00408c21
add esp, 0x10
test eax, eax
je 0x40962d
mov edi, dword [ebp - 4]
mov eax, edi
mov ecx, dword [ebp + 8]
sub eax, ecx
cmp eax, 1
jne 0x408fec
cmp byte [ecx], 0x3f
je 0x40903a
cmp eax, 3
jne 0x409007
push eax
push 0x660610
push ecx
call fcn.00605a91
add esp, 0xc
adc eax, 0x6a8c0a8a
stosb byte es:[edi], al
xchg ecx, eax
ja 0x40902f
retf 0xaf27
jne 0x40901c
sbb dword [edx + ebx*4], 0xd17aa51a
dec edx
add eax, 0x802af199
cmp edx, dword [ebx]
or al, 5
int1
sub al, byte [eax + 0x50c133b]
wait
push ebp
in al, 0x22
sub cl, dl
arpl word [ecx + 0x64ae42f4], bp
adc ch, byte [edx - 4]
xchg ebp, eax
cmp ch, byte [ebx + 0x452e2488]
enter 0x1bb0, 0x7f
sub al, byte [0x153ec1de]
mov al, 0x1b
jg 0x409068
add eax, 0x153ec1de
xor dword [esp + eax*4], esi
xor byte [ebp + 0x3d], bh
invalid
pop edi
dec edi
inc esp
or byte cs:[ebx + 0x3c], al
out 0xe8, al
adc al, 0x91
push cs
mov eax, dword [0xc18f943e]
add eax, dword [ebp + 0x5b]
mov dl, 0x47
mov eax, dword [0xc4985f9a]
mov ah, byte [edi - 0x19]
xchg esi, eax
scasb al, byte es:[edi]
je 0x409010
push esp
sar byte [edx + ebp*2], 1
movsb byte es:[edi], byte [esi]
jnp 0x4090e1
retf
stosd dword es:[edi], eax
inc edi
add esi, dword [ebp - 0x6c838bc9]
inc ebx
or dword [edx], ebp
imul ebp, ebx, 0x60
sti
mov byte [esi], bl
cdq
mov esp, 0xf36c2b55
cmc
push 0xffffffffffffff87
cwde
je 0x409149
lds edx, [ebx + 0x59]
sub al, 0xdb
jl 0x40916e
sub byte [esi - 7], ah
jne 0x409129
pop ds
push eax
lcall 0x38e7, 0x2a85b020
and byte [esi - 0x67], ah
sbb dh, ch
mov esp, 0x2f03fc1b
les edx, [ebp + edx*2 + 0x23dd853b]
test al, 0x73
mov eax, 0x27198d8
fcomp dword [eax - 0x1eecfd8f]
cwde
jno 0x40912e
adc esp, ecx
add esp, eax
sbb dword [esi - 0x57c42e62], 0x48d4b8e4
int 0x18
adc dword [esi + eax*8 - 0x35992924], esi
invalid
retf 0xde6b
wait
push edx
int 0xa4
cmp esp, dword [esi + 0x3cd5ee84]
mov bl, 0x46
aam 0x3f
test eax, 0x2488a79a
bound edx, qword [0x49cc5300]
salc
sbb byte [0xc04dcb64], 0xde
jle 0x409128
dec eax
mov ch, 0x24
test eax, 0x88e68c3e
pop esi
jmp 0xccbb76db
mov al, 0x37
ja 0x40944a
into
jmp 0xebeedfd1
xchg ebp, eax
daa
jb 0x4093fd
mov dh, 0xb
mov cl, ch
push ebp
aad 0x75
pushfd
sbb dl, byte [ebx + ebx*8]
salc
ret 0xbbda
popal
jne 0x4094da
lodsd eax, dword [esi]
dec ebp
mov byte [0xd6784070], al
stosd dword es:[edi], eax
dec eax
pop ecx
inc esp
mov ebx, 0x50873a55
push esi
jl 0x40944a
and eax, 0x5abb3323
sbb al, 0xe6
dec esp
popal
dec ebp
test ah, cl
inc eax
insd dword es:[edi], dx
cmpsd dword [esi], dword es:[edi]
and bl, byte [edi + 0x24]
mov gs, word [edx - 0x3f]
ud0
ror dword [edi], 0xff
dec edi
js 0x40955e
int 0xf9
add eax, 0x499b1494
popal
enter 0x44d9, 0xffffffffffffff85
ficom dword [ebx - 0x78eb05ec]
adc al, 0xfa
adc al, 0x87
xor dword [ebx - 0x555b2a4d], ebp
sal dword [edi], cl
add byte [edi + 0x73], bl
cmp esp, ebp
jae 0x409544
inc ebx
add al, 0x87
rol dword [esi - 0x5d], cl
and eax, 0x878d67bf
mov dh, 0x83
adc al, 0xfe
push 0xffffffffffffffdd
or dword [ebx + 0x7747d479], ecx
pop ecx
fdivr qword [esi + 0x13]
jp 0x40952c
sub eax, 0x83012eb0
aaa
daa
or eax, 0x1047abda
retf 0x37a8
adc al, 0xbb
out dx, al
jae 0x409554
loope 0x4094e8
movsd dword es:[edi], dword [esi]
add dword [edx + 0x54], 0x76
add al, 0xaa
lds esp, [eax]
push ebp
xor dh, byte [ebp - 0x7b09ae3c]
stosb byte es:[edi], al
add eax, 0x84bba15b
fsub qword [eax]
ficom dword [eax]
cli
pop ebp
cli
movsd dword es:[edi], dword [esi]
retf 0x2e9c
insd dword es:[edi], dx
inc edi
jno 0x4095b0
xchg byte [edx - 0x10], cl
or bl, byte [esi - 0x15]
hlt
mov eax, 0x330ded06
outsb dx, byte [esi]
or ah, byte gs:[esi - 0x3b6b19b0]
dec esi
or eax, 0x805a7432
xchg esi, eax
rep stosd dword es:[edi], eax
invalid
leave
in eax, 0xd6
inc esi
dec ecx
cmp dword [edx + 0x25], ebx
scasb al, byte es:[edi]
cmc
out dx, eax
daa
add esp, dword [edx]
jp 0x40966b
and al, 0x4b
aaa
sbb eax, 0xf007e0f7
out 0x81, al
sub ch, ah
jo 0x409655
aad 6
clc
xor dl, dh
salc
adc eax, dword [ebp - 0x7e]
dec edi
jo 0x4095f5
bound ecx, qword [si]
dec ecx
dec ecx
and edi, dword ds:[ebx + 0x52]
jo 0x409618
mov cl, 0xa0
fisttp dword [eax]
inc ecx
retf 0xcbd1
or byte [ecx - 0x36], al
ror ebx, 1
push eax
lds esp, [ebp + 0x1a]
pop ss
xor al, byte [edx - 0x4ab935af]
test byte [eax - 0x69f38c04], dh
inc esi
jecxz 0x409662
and dword [edi], edx
inc ebp
ljmp 0x1b75
jp 0x4096b5
sahf
push eax
sbb dword [ebp + 0x7f], esi
pop ebp
out dx, al
scasd eax, dword es:[edi]
and esi, 0x9ce1c9a0
leave
loope 0x409601
sub byte [eax + 0x39], cl
mov byte [ebx - 0x1a2e3d54], al
mov ebp, 0x2821181b
and eax, 0xe8e4fae0
in eax, 0x18
enter 0x4a5a, 0x62
sub byte [ebx + 0x67edf90d], 0x7f
fnstcw word [ecx + 0x578a58f4]
or esp, esp
pop ss
pop edx
test cl, bl
in eax, 0x99
daa
pop edi
test byte [ebx + 0x6a], bl
int1
ret 0xe5d1
push 0xfffffffffffffff1
jnp 0x40966b
fdivr dword [edx + 0x2d]
stc
in eax, dx
into
add al, 0x2b
inc ecx
in al, dx
xor eax, 0x956ad662
invalid
pop eax
inc ecx
call 0xa1b61204
add byte [ebx + 0x16], bl
test byte [esi + 0x5a], bl
pop ecx
mov bh, 0xa4
scasb al, byte es:[edi]
daa
test eax, 0xc9540a1e
jno 0x409697
in al, 0x38
ficomp word [esi + 0x7aef736d]
jbe 0x409727
xchg edi, eax
arpl word [eax - 0x32], di
add eax, 0xb5f46386
jge 0x409718
fidiv dword [ebp + 0x37]
jge 0x409728
dec eax
jl 0x4096a6
xor ch, byte [eax]
test eax, 0x3f51f989
out 0x20, eax
dec edx
sub byte [edx], ah
push esp
test edx, eax
aad 0xa
stc
dec esp
lcall 0x6434, 0x565fe711
adc dword [eax + ebx*4 + 0x6531086b], ebp
retf
ror byte [esi - 0x4e258132], 1
mov dword [0xfef4573], eax
mov es, word [esi - 0x7e115195]
lahf
test eax, 0x656aab4e
imul ebp, dword [esi - 0x56607e12], 0x4e
stosd dword es:[edi], eax
push 0x65
out dx, al
sbb dword [edi + 0x6aab4ea9], 0x4f6d8665
xchg byte [ebp + 0x4f], ch
xchg dword [edx + 0xe1a2a67], ebp
jnp 0x409725
xor al, 0x4e
lodsb al, byte [esi]
cmpsd dword [esi], dword es:[edi]
in eax, 0xcd
inc esi
invalid