Function at 0x406d60
Capabilities:
Read file on windows
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x104
mov eax, dword [0x453edc]
xor eax, esp
mov dword [esp + 0x100], eax
mov eax, dword [ebp + 0xc]
push ebx
push esi
push edi
push 0x44fc8c
push eax
call fcn.00434f31
mov esi, eax
add esp, 8
test esi, esi
jne 0x406da8
push 0x44fc90
push 0x18
call fcn.00401140
add esp, 8
jmp 0x406e43
push esi
push 1
lea eax, [esp + 0x18]
push 2
push eax
call fcn.00435dea
add esp, 0x10
cmp eax, 1
jne 0x407740
mov ecx, 0x4d4d
cmp word [esp + 0x10], cx
jne 0x407740
push esi
push eax
lea edx, [esp + 0x3c]
push 4
push edx
call fcn.00435dea
add esp, 0x10
cmp eax, 1
jne 0x407740
push esi
call fcn.00435b7a
push eax
call fcn.00435a84
mov ecx, dword [esp + 0x3c]
add esp, 8
cmp ecx, eax
jb 0x406e19
push esi
call fcn.00435b7a
push eax
call fcn.00435a84
mov ecx, eax
add esp, 8
mov dword [esp + 0x34], ecx
cmp ecx, 0x80
jb 0x407740
push esi
call fcn.00435a1f
mov ebx, eax
add esp, 4
mov dword [esp + 0x40], ebx
cmp ebx, dword [esp + 0x34]
jb 0x406e74
push esi
call fcn.00434cf5
add esp, 4
mov eax, dword [ebp + 8]
mov ecx, 0xa
mov edi, eax
mov esi, 0x4574c0
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x10c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.0043451f
mov esp, ebp
pop ebp
ret
mov ebx, dword [esp + 0x40]
push esi
push 1
lea eax, [esp + 0x18]
push 2
push eax
call fcn.00435dea
add esp, 0x10
cmp eax, 1
jne 0x407740
push esi
push eax
lea ecx, [esp + 0x54]
push 4
push ecx
call fcn.00435dea
add esp, 0x10
cmp eax, 1
jne 0x407740
mov edx, 0x3d3d
cmp word [esp + 0x10], dx
jne 0x40770e
push esi
call fcn.00435a1f
mov edi, eax
mov eax, dword [esp + 0x50]
add eax, ebx
add esp, 4
mov dword [esp + 0x44], edi
cmp edi, eax
jae 0x407724
push esi
push 1
lea ecx, [esp + 0x18]
push 2
push ecx
call fcn.00435dea
add esp, 0x10
cmp eax, 1
jne 0x407740
push esi
push eax
lea edx, [esp + 0x34]
push 4
push edx
call fcn.00435dea
add esp, 0x10
cmp eax, 1
jne 0x407740
mov ax, word [esp + 0x10]
mov ecx, 0x4000
cmp ax, cx
jne 0x4073be
push 0x84
lea edx, [esp + 0x84]
push 0
push edx
call fcn.00434920
add esp, 0xc
xor ebx, ebx
push esi
push 1
lea eax, [esp + 0x1c]
push 1
push eax
call fcn.00435dea
add esp, 0x10
cmp eax, 1
jne 0x407740
mov al, byte [esp + 0x14]
movzx ecx, bx
mov byte [esp + ecx + 0x80], al
test al, al
je 0x406f6f
inc ebx
mov edx, 0x84
cmp bx, dx
jb 0x406f37
push esi
call fcn.00435a1f
mov ebx, eax
mov eax, dword [esp + 0x30]
add eax, edi
add esp, 4
mov dword [esp + 0x28], ebx
cmp ebx, eax
jae 0x4076eb
lea esp, [esp]
push esi
push 1
lea ecx, [esp + 0x18]
push 2
push ecx
call fcn.00435dea
add esp, 0x10
cmp eax, 1
jne 0x407740
push esi
push eax
lea edx, [esp + 0x2c]
push 4
push edx
call fcn.00435dea
add esp, 0x10
cmp eax, 1
jne 0x407740
mov eax, 0x4100
cmp word [esp + 0x10], ax
jne 0x40737e
movzx ecx, word [0x4574d4]
movzx edx, word [0x4574c0]
xor eax, eax
push esi
mov dword [esp + 0x34], eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], ecx
mov dword [esp + 0x1c], edx
call fcn.00435a1f
mov edi, eax
mov eax, dword [esp + 0x28]
add eax, ebx
add esp, 4
cmp edi, eax
jae 0x407398
mov edi, edi
mov ebx, dword [esp + 0x3c]
push esi
push 1
lea ecx, [esp + 0x18]
push 2
push ecx
call fcn.00435dea
add esp, 0x10
cmp eax, 1
jne 0x407740
push esi
push eax
lea edx, [esp + 0x68]
push 4
push edx
call fcn.00435dea
add esp, 0x10
cmp eax, 1
jne 0x407740
mov ax, word [esp + 0x10]
mov ecx, 0x4110
cmp ax, cx
jne 0x407107
push esi
mov ebx, 1
push ebx
lea edx, [esp + 0x40]
push 2
push edx
call fcn.00435dea
add esp, 0x10
cmp eax, ebx
jne 0x407740
movzx eax, word [esp + 0x38]
push eax
call fcn.00401c90
xor ecx, ecx
add esp, 4
xor edi, edi
cmp cx, word [esp + 0x38]
jae 0x40735f
push esi
push ebx
lea edx, [esp + 0x7c]
push 0xc
push edx
call fcn.00435dea
add esp, 0x10
cmp eax, ebx
jne 0x407740
mov eax, dword [0x4574d4]
fld dword [esp + 0x78]
mov ecx, dword [0x4574e4]
fchs
lea eax, [eax + eax*4]
fstp dword [ecx + eax*4 + 8]
mov eax, dword [0x4574d4]
fld dword [esp + 0x7c]
lea edx, [eax + eax*4]
mov eax, dword [0x4574e4]
fstp dword [eax + edx*4 + 0xc]
mov eax, dword [0x4574d4]
fld dword [esp + 0x74]
mov edx, dword [0x4574e4]
lea ecx, [eax + eax*4]
fstp dword [edx + ecx*4 + 0x10]
add dword [0x4574d4], ebx
add edi, ebx
cmp di, word [esp + 0x38]
jb 0x407097
jmp 0x40735f
mov ecx, 0x4120
cmp ax, cx
jne 0x4071e5
push esi
push 1
lea edx, [esp + 0x38]
push 2
push edx
call fcn.00435dea
add esp, 0x10
cmp eax, 1
jne 0x407740
movzx eax, word [esp + 0x30]
push eax
call fcn.00401d10
xor ecx, ecx
add esp, 4
xor edi, edi
cmp cx, word [esp + 0x30]
jae 0x40735f
push esi
push 1
lea edx, [esp + 0x60]
push 8
push edx
call fcn.00435dea
add esp, 0x10
cmp eax, 1
jne 0x407740
movzx edx, word [esp + 0x5c]
movzx eax, word [esp + 0x3c]
mov ecx, dword [0x4574c0]
mov ebx, dword [0x4574dc]
add edx, eax
lea ecx, [ecx + ecx*4]
mov dword [ebx + ecx*4], edx
movzx edx, word [esp + 0x5a]
mov ecx, dword [0x4574c0]
mov ebx, dword [0x4574dc]
add edx, eax
lea ecx, [ecx + ecx*4]
mov dword [ebx + ecx*4 + 4], edx
movzx edx, word [esp + 0x58]
mov ecx, dword [0x4574dc]
add edx, eax
mov eax, dword [0x4574c0]
lea eax, [eax + eax*4]
mov dword [ecx + eax*4 + 8], edx
mov eax, dword [0x4574c0]
mov ecx, dword [esp + 0x50]
lea edx, [eax + eax*4]
mov eax, dword [0x4574dc]
mov dword [eax + edx*4 + 0x10], ecx
inc dword [0x4574c0]
inc edi
cmp di, word [esp + 0x30]
jb 0x40714d
jmp 0x40735f
mov edx, 0x4130
cmp ax, dx
jne 0x4072c6
push 0x84
lea eax, [esp + 0x84]
push 0
push eax
call fcn.00434920
add esp, 0xc
xor edi, edi
lea esp, [esp]
push esi
push 1
lea ecx, [esp + 0x1c]
push 1
push ecx
call fcn.00435dea
add esp, 0x10
cmp eax, 1
jne 0x407740
mov al, byte [esp + 0x14]
movzx edx, di
mov byte [esp + edx + 0x80], al
test al, al
je 0x407248
inc edi
mov eax, 0x84
cmp di, ax
jb 0x407210
lea ecx, [esp + 0x80]
push ecx
call fcn.00401e20
push esi
push 1
lea edx, [esp + 0x28]
push 2
push edx
movzx ebx, ax
call fcn.00435dea
add esp, 0x14
cmp eax, 1
jne 0x407740
xor eax, eax
xor edi, edi
cmp ax, word [esp + 0x1c]
jae 0x40735f
push esi
push 1
lea ecx, [esp + 0x50]
push 2
push ecx
call fcn.00435dea
add esp, 0x10
cmp eax, 1
jne 0x407740
movzx eax, word [esp + 0x48]
movzx ecx, word [esp + 0x18]
add eax, ecx
mov ecx, dword [0x4574dc]
movzx edx, bx
lea eax, [eax + eax*4]
inc edi
mov dword [ecx + eax*4 + 0xc], edx
cmp di, word [esp + 0x1c]
jb 0x407282
jmp 0x40735f
mov edx, 0x4140
cmp ax, dx
jne 0x407345
push esi
push 1
lea eax, [esp + 0x24]
push 2
push eax
call fcn.00435dea
add esp, 0x10
cmp eax, 1
jne 0x407740
xor ecx, ecx
xor edi, edi
cmp cx, word [esp + 0x1c]
jae 0x40735f
push esi
push 1
lea edx, [esp + 0x74]
push 8
push edx
call fcn.00435dea
add esp, 0x10
cmp eax, 1
jne 0x407740
fld dword [esp + 0x6c]
mov edx, dword [0x4574e4]
movzx ecx, di
movzx eax, bx
add eax, ecx
lea eax, [eax + eax*4]
add eax, eax
add eax, eax
inc edi
fstp dword [eax + edx]
mov ecx, dword [0x4574e4]
fld dword [esp + 0x70]
fstp dword [eax + ecx + 4]
cmp di, word [esp + 0x1c]
jb 0x4072f6
jmp 0x40735f
mov edx, dword [esp + 0x60]
push 0
add edx, edi
push edx
push esi
call fcn.0043580f
add esp, 0xc
test eax, eax
jne 0x407740
push esi
call fcn.00435a1f
mov ecx, dword [esp + 0x2c]
mov edi, eax
mov eax, dword [esp + 0x28]
add eax, ecx
add esp, 4
cmp edi, eax
jb 0x407010
jmp 0x407398
mov edx, dword [esp + 0x24]
push 0
add edx, ebx
push edx
push esi
call fcn.0043580f
add esp, 0xc
test eax, eax
jne 0x407740
push esi
call fcn.00435a1f
mov ecx, dword [esp + 0x48]
mov ebx, eax
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x30]
add eax, ecx
add esp, 4
cmp ebx, eax
jb 0x406f90
jmp 0x4076eb
mov edx, 0xafff
cmp ax, dx
jne 0x4076d5
push esi
call fcn.00435a1f
mov ecx, dword [esp + 0x30]
add ecx, edi
add esp, 4
mov dword [esp + 0x28], eax
cmp eax, ecx
jae 0x4076eb
push esi
push 1
lea edx, [esp + 0x18]
push 2
push edx
call fcn.00435dea
add esp, 0x10
cmp eax, 1
jne 0x407740
push esi
push eax
lea eax, [esp + 0x2c]
push 4
push eax
call fcn.00435dea
add esp, 0x10
cmp eax, 1
jne 0x407740
mov ax, word [esp + 0x10]
mov ecx, 0xa000
cmp ax, cx
jne 0x407485
push 0x84
lea edx, [esp + 0x84]
push 0
push edx
call fcn.00434920
add esp, 0xc
xor edi, edi
push esi
push 1
lea eax, [esp + 0x1c]
push 1
push eax
call fcn.00435dea
add esp, 0x10
cmp eax, 1
jne 0x407740
mov al, byte [esp + 0x14]
movzx ecx, di
mov byte [esp + ecx + 0x80], al
test al, al
je 0x407696
inc edi
mov edx, 0x84
cmp di, dx
jb 0x407444
jmp 0x407696
mov ecx, 0xa020
cmp ax, cx
jne 0x407696
push esi
push 1
lea edx, [esp + 0x18]
push 2
push edx
call fcn.00435dea
add esp, 0x10
cmp eax, 1
jne 0x407740
mov ax, word [esp + 0x10]
cmp ax, 0x10
jne 0x407626
push esi
push 1
lea eax, [esp + 0x5c]
push 4
push eax
call fcn.00435dea
add esp, 0x10
cmp eax, 1
jne 0x407740
push esi
push eax
lea ecx, [esp + 0x70]
push 4
push ecx
call fcn.00435dea
add esp, 0x10
cmp eax, 1
jne 0x407740
push esi
push eax
lea edx, [esp + 0x6c]
push 4
push edx
call fcn.00435dea
add esp, 0x10
cmp eax, 1
jne 0x407740
fld dword [esp + 0x54]
fld qword [0x4493a8]
fmul st(1), st(0)
fcom st(1)
fnstsw ax
test ah, 5
jnp 0x407536
fld st(1)
fldz
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x407538
fstp st(2)
fld st(1)
jmp 0x407553
fldz
fxch st(1)
fcom st(2)
fnstsw ax
test ah, 5
jp 0x40754f
fstp st(2)
fld st(1)
fxch st(1)
fxch st(2)
fxch st(1)
jmp 0x407553
fxch st(1)
fxch st(2)
fnstcw word [esp + 0x16]
movzx eax, word [esp + 0x16]
or eax, 0xc00
mov dword [esp + 0x18], eax
fldcw word [esp + 0x18]
fistp dword [esp + 0x18]
mov bl, byte [esp + 0x18]
mov byte [esp + 0x23], bl
fldcw word [esp + 0x16]
fld dword [esp + 0x68]
fmul st(1)
fcom st(1)
fnstsw ax
test ah, 0x41
je 0x407597
fcom st(2)
fnstsw ax
test ah, 5
jp 0x407597
fstp st(0)
fld st(1)
jmp 0x4075a4
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x4075a4
fstp st(0)
fld st(0)
fnstcw word [esp + 0x16]
movzx eax, word [esp + 0x16]
or eax, 0xc00
mov dword [esp + 0x18], eax
fldcw word [esp + 0x18]
fistp dword [esp + 0x18]
mov dl, byte [esp + 0x18]
fldcw word [esp + 0x16]
mov byte [esp + 0x16], dl
fld dword [esp + 0x64]
fmul st(1)
fcom st(1)
fnstsw ax
test ah, 0x41
je 0x407617
fcom st(2)
fnstsw ax
test ah, 5
jp 0x407617
fstp st(0)
fstp st(0)
fnstcw word [esp + 0x14]
movzx eax, word [esp + 0x14]
or eax, 0xc00
mov dword [esp + 0x18], eax
movzx eax, bl
fldcw word [esp + 0x18]
movzx edx, dl
fistp dword [esp + 0x18]
mov cl, byte [esp + 0x18]
fldcw word [esp + 0x14]
mov byte [esp + 0x14], cl
movzx ecx, cl
jmp 0x407688
fstp st(2)
fcom st(1)
fnstsw ax
test ah, 5
jp 0x4075e4
fstp st(1)
jmp 0x4075e6
cmp ax, 0x11
jne 0x407696
push esi
push 1
lea edx, [esp + 0x2b]
push 1
push edx
call fcn.00435dea
add esp, 0x10
cmp eax, 1
jne 0x407740
push esi
push eax
push eax
lea eax, [esp + 0x22]
push eax
call fcn.00435dea
add esp, 0x10
cmp eax, 1
jne 0x407740
push esi
push eax
push eax
lea ecx, [esp + 0x20]
push ecx
call fcn.00435dea
add esp, 0x10
cmp eax, 1
jne 0x407740
movzx eax, byte [esp + 0x23]
movzx edx, byte [esp + 0x16]
movzx ecx, byte [esp + 0x14]
shl eax, 8
or eax, edx
shl eax, 8
or eax, ecx
mov dword [esp + 0x50], eax
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
push 0
add edx, eax
push edx
push esi
call fcn.0043580f
add esp, 0xc
test eax, eax
jne 0x407740
push esi
call fcn.00435a1f
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x48]
add ecx, edx
add esp, 4
mov dword [esp + 0x28], eax
cmp eax, ecx
jb 0x4073e7
jmp 0x4076eb
mov eax, dword [esp + 0x2c]
push 0
add eax, edi
push eax
push esi
call fcn.0043580f
add esp, 0xc
test eax, eax
jne 0x407740
push esi
call fcn.00435a1f
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x44]
mov edi, eax
add ecx, edx
add esp, 4
mov dword [esp + 0x44], eax
cmp edi, ecx
jb 0x406ed6
jmp 0x407724
mov eax, dword [esp + 0x4c]
push 0
add eax, ebx
push eax
push esi
call fcn.0043580f
add esp, 0xc
test eax, eax
jne 0x407740
push esi
call fcn.00435a1f
add esp, 4
mov dword [esp + 0x40], eax
cmp eax, dword [esp + 0x34]
jb 0x406e70
jmp 0x406e3a
push esi
call fcn.00434cf5
mov ecx, dword [0x4574e4]
push ecx
call fcn.00401e00
mov edx, dword [0x4574dc]
push edx
mov dword [0x4574e4], eax
call fcn.00401e00
mov dword [0x4574dc], eax
mov eax, dword [0x4574e0]
push eax
call fcn.00401e00
add esp, 0x10
mov dword [0x4574e0], eax
jmp 0x406e43