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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2c
push ebx
xor edx, edx
mov dword [ebp - 8], ecx
push esi
lea esi, [ecx + 0x15c]
mov dword [ebp - 4], edx
push edi
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x1c], 1
cmp byte [esi + 9], dl
jne 0x4411be
mov edi, dword [esi + 4]
cmp dword [edi + 0x2c], 8
mov ebx, dword [edi + 0xc]
mov dword [ebp - 0xc], edi
je 0x4411c9
mov eax, dword [edi + 0x1c]
cmp eax, 5
je 0x4411f0
cmp eax, 0xf
je 0x44127a
mov eax, dword [ebx + 0xc]
lea esi, [edi + 0x20]
mov dword [ebp - 0x14], esi
cmp eax, 1
jne 0x441302
mov eax, dword [esi + 0xc]
cmp eax, 1
jne 0x4413f9
mov ecx, dword [ebx]
mov eax, dword [esi]
lea edx, [eax + ecx]
mov dword [ebp - 0x14], edx
cdq
mov dword [ebp - 4], eax
mov eax, ecx
mov dword [ebp - 0xc], edx
mov ecx, dword [ebp - 0xc]
cdq
add dword [ebp - 4], eax
mov eax, dword [ebp - 0x14]
adc ecx, edx
cdq
cmp eax, dword [ebp - 4]
jne 0x4413e5
cmp edx, ecx
jne 0x4413e5
mov eax, dword [ebp - 0x14]
mov dword [ebx], eax
mov edx, dword [ebp - 0x28]
mov dword [ebp - 4], edx
mov ecx, dword [ebx + 8]
test ecx, ecx
jne 0x44142e
mov ecx, dword [ebp - 0x20]
test ecx, ecx
jne 0x441446
mov eax, dword [ebp - 0x1c]
cmp eax, 5
jge 0x44145e
fldz
fst qword [ebp - 0x28]
mov dword [ebp - 0x1c], 3
mov ecx, dword [esi + 0xc]
mov eax, ecx
shl eax, 6
mov eax, dword [eax + 0x4a5c34]
cmp eax, 3
jne 0x441500
cmp ecx, 1
jne 0x4415b5
fild dword [esi]
fcompp
fnstsw ax
test ah, 5
jnp 0x441539
mov ecx, dword [edi + 0x1c]
mov eax, ecx
shl eax, 4
add eax, dword [ebx + 0xc]
mov eax, dword [eax*4 + 0x4a5c28]
cmp eax, 1
jne 0x408d2a
cmp ecx, 1
jne 0x44173a
mov eax, dword [edi + 0x10]
mov dword [ebp - 4], eax
mov esi, eax
mov eax, dword [ebx + 0xc]
cmp eax, 1
jne 0x4417dd
mov eax, dword [ebx]
cmp esi, eax
jl 0x408ce3
mov ecx, dword [edi + 4]
mov eax, dword [ebp + 0xc]
inc ecx
mov dword [eax], ecx
mov ecx, dword [ebp - 0x20]
test ecx, ecx
jne 0x441887
mov eax, dword [ebp - 0x1c]
cmp eax, 5
jge 0x441899
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov esi, dword [ebp - 8]
add esi, 0x15c
cmp byte [esi + 9], 0
jne 0x44186b
cmp byte [esi + 8], 0
jne 0x408d5b
mov edi, dword [esi + 4]
mov ebx, dword [edi + 0x30]
test edi, edi
je 0x408d1f
lea ecx, [edi + 0x20]
call fcn.00404dc0
lea ecx, [edi + 0x10]
call fcn.00404dc0
push edi
call fcn.00420f8c
add esp, 4
mov dword [esi + 4], ebx
mov byte [esi + 9], 0
dec dword [esi]
jmp 0x408cc3
sub eax, 2
cmp eax, 7
ja case.0x408d32.5
jmp dword [eax*4 + 0x408d64]
lea ecx, [edi + 0x10]
call fcn.00405087
fstp qword [ebp - 0x18]
mov ecx, ebx
call fcn.00405087
fcomp qword [ebp - 0x18]
fnstsw ax
test ah, 0x41
jne case.0x408d32.5
jmp 0x408ce3
mov byte [esi + 9], 1
jmp 0x408d26
add al, byte [eax]
add byte [eax], al
add byte [ebx], bh
cmp ebx, edi
jae 0x40a96f
add byte [eax], al
dec dword [ebx + 0x462b7c46]
js 0x4411c9
clc
push ebp
clc
in al, 0
add byte [eax], al
add byte [ebx + 0x45890440], cl
in al, dx
mov eax, dword [ebp - 0x2c]
dec ecx
movzx eax, word [eax]
cmp eax, dword [ebp - 0x14]
je 0x441345
mov edx, dword [ebp - 0x2c]
mov eax, dword [esi + 0x24]
lea edx, [edx + eax*2]
mov dword [ebp - 0x2c], edx
mov edx, dword [ebp - 8]
test ecx, ecx
jg 0x44130d
jmp 0x441435
mov ecx, 1
jmp 0x441417
inc ebx
adc al, 0x42
imul edx, dword [esp + edi*8 - 0x7aa7401], 0x8be44d8b
inc ebp
fmul dword [ebp + 0x5d89431c]
rol byte [ebp + 0x660b75c9], 1
cmp dword [ebx - 4], 0x77
clc
add dword [eax], eax
add byte [eax], al
mov dword [esi + 0x9c], 0
jmp 0x441512
mov eax, dword [ebp + 0x18]
lea edx, [ebx + 4]
mov ecx, dword [ebp - 8]
inc eax
push eax
push 0
push esi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0040a720
mov ecx, eax
add esp, 0x14
cmp ecx, 1
je 0x44158b
cmp ecx, 0xfffffc19
je 0x44158b
invalid
mov eax, dword [ebp - 0x14]
mov dword [esi + 0xb0], eax
cmp ecx, 0xfffffc20
jne 0x441573
movzx eax, word [ebx + 2]
lea eax, [ebx + eax*2]
cmp dword [esi + 0x80], eax
jae 0x441072
cmp word [ebx], 0x77
je 0x44157b
cmp word [eax], 0x77
jne 0x441072
jmp 0x44157b
test ecx, ecx
jne 0x441072
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je 0x441512
jmp 0x441594
mov eax, dword [esi + 0x80]
mov dword [ebp + 8], eax
cmp word [ebx], 0x78
je 0x40adbe
test edi, edi
jne 0x40a896
movzx eax, word [ebx + 2]
cmp word [ebx + eax*2], 0x77
lea ebx, [ebx + eax*2]
je 0x4415a6
mov eax, dword [esi + 0x90]
add ebx, 4
mov dword [ebp - 0x30], ebx
mov dword [ebp + 0xc], eax
jmp 0x40a9fe
xchg byte [eax - 0x7d000000], dl
ret
mov eax, dword [ebp - 8]
dec ecx
sub eax, 2
mov dword [ebp - 8], eax
cmp eax, dword [esi + 0x78]
jb 0x40adbe
mov ax, word [eax]
mov edx, 0xfc00
add byte [eax], al
add byte [eax], al
and ax, dx
mov edx, 0xdc00
cmp ax, dx
mov eax, dword [ebp - 8]
jne 0x4416da
sub eax, 2
mov dword [ebp - 8], eax
test ecx, ecx
jg 0x4416a9
jmp 0x4416fd
mov eax, ecx
mov dword [ebp - 8], ecx
cmp eax, dword [esi + 0x78]
jb 0x40adbe
mov eax, dword [ebp - 8]
cmp eax, dword [esi + 0x88]
jae 0x44170b
mov dword [esi + 0x88], eax
add byte [edi], cl
test dh, al
add byte [eax], al
add bh, al
test dword [eax], esi
invalid
mov dword [ebp - 0xc8], eax
mov eax, dword [esi + 0x78]
mov dword [ebp - 0xc4], eax
mov eax, dword [esi + 0x7c]
sub eax, dword [esi + 0x78]
sar eax, 1
mov dword [ebp - 0xc0], eax
mov eax, dword [ebp + 8]
sub eax, dword [esi + 0x78]
sar eax, 1
mov dword [ebp - 0xbc], eax
mov eax, dword [ebp - 8]
sub eax, dword [esi + 0x78]
sar eax, 1
mov dword [ebp - 0xb8], eax
movzx eax, word [ebx + 4]
mov dword [ebp - 0xa8], eax
movzx eax, word [ebx + 6]
mov dword [ebp - 0xa4], eax
mov eax, dword [ebp + 0xc]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0xb4], eax
movzx eax, word [esi + 0x94]
mov dword [ebp - 0xb0], eax
test eax, eax
jne 0x4417b0
mov dword [ebp - 0xb0], 0xffffffff
mov eax, dword [esi + 0xac]
mov dword [ebp - 0xac], eax
mov eax, dword [esi + 0xb4]
mov dword [ebp - 0xa0], eax
lea eax, [ebp - 0xd0]
push eax
call dword [0x4c7524]
add esp, 4
test eax, eax
jg 0x40adbe
xchg ebp, eax
cld
dec dword [edi]
mov byte [ebp - 0x74000370], dh
push ebp
clc
js fcn.0040a89b
mov edx, dword [ebp - 8]
add ebx, 8
mov dword [ebp - 0x30], ebx
jmp 0x40a77f
mov ah, 0xfe
invalid
mov ah, 0x85
ror byte [edi], 0x84
pop ecx
add byte [eax], al
mov ecx, dword [ebp - 0x48]
shl ecx, 2
push ecx
push dword [esi + 0xc]
push eax
or al, 0x50
call fcn.0041b7a0
mov eax, 0x88
add esp, 0xc
cmp word [edi], ax
sbb eax, eax
inc eax
mov dword [ebp - 0x2c], eax
test eax, eax
je 0x4418bf
mov dword [esi + 0x9c], 2
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
movzx eax, word [edi]
push esi
push dword [ebp + 0xc]
movzx eax, byte [eax + 0x4a6440]
push dword [ebp + 8]
lea edx, [edi + eax*2]
call fcn.0040a720
mov ecx, dword [ebp - 0x48]
add esp, 0x14
shl ecx, 2
mov edi, eax
push ecx
push dword [ebp - 0x4c]
push dword [esi + 0xc]
call fcn.0041b7a0
mov eax, dword [ebp - 0x44]
add esp, 0xc
mov dword [esi + 0x94], eax
mov eax, dword [ebp - 0x54]
mov dword [esi + 0xa8], eax
cmp edi, 1
je 0x441961
cmp edi, 0xfffffc19
je 0x441961
cmp edi, 0xfffffc1c
jl 0x441930
cmp edi, 0xfffffc20
jle 0x40adbe
test edi, edi
jne 0x44725a
mov edi, dword [ebp - 0x14]
lea eax, [ebp - 0x54]
mov dword [esi + 0xa8], eax
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x77
lea edi, [edi + eax*2]
mov dword [ebp - 0x14], edi
jne 0x447231
mov eax, dword [ebp - 0x2c]
jmp 0x4418b1
mov eax, dword [ebp - 0x4c]
lea ecx, [ebp - 0x14c]
cmp eax, ecx
je 0x441978
push eax
call dword [0x4a6438]
add esp, 4
mov eax, dword [esi + 0x84]
mov dword [ebp - 8], eax
mov eax, dword [esi + 0x80]
mov dword [ebp + 8], eax
jmp 0x40a9fe
mov eax, dword [ebp - 0x54]
lea ecx, [ebp - 0x14c]
mov dword [esi + 0xa8], eax
mov eax, dword [ebp - 0x4c]
cmp eax, ecx
je 0x40adbe
push eax
call dword [0x4a6438]
add esp, 4
jmp 0x40adbe
mov eax, dword [ebp - 0x4c]
lea ecx, [ebp - 0x14c]
cmp eax, ecx
je 0x44727c
push eax
call dword [0x4a6438]
add esp, 4
jmp 0x44727c
mov eax, edi
jmp fcn.0040a89b