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

Disassembly:
jmp 0x40da60
mov eax, dword [0x5d5758]
sub esp, 0xe34
test eax, eax
push ebx
push ebp
push esi
push edi
jne 0x40da80
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xe34
ret
mov ecx, dword [0x5d5764]
test ecx, ecx
jne 0x40da97
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xe34
ret
mov eax, dword [esp + 0xe48]
test eax, eax
jne 0x40daba
mov edi, dword [ecx + 0x6c8]
mov eax, dword [edi + 0x14]
test eax, eax
jne 0x40dad4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe34
ret
push eax
call fcn.00410a50
mov edi, eax
add esp, 4
test edi, edi
jne 0x40daa8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xe34
ret
mov esi, dword [eax + 0x9c]
test esi, esi
jne 0x40daeb
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xe34
ret
mov eax, dword [0x5c4320]
test eax, eax
jne 0x40db0d
mov eax, dword [0x5c4334]
test eax, eax
jne 0x40db0d
mov eax, dword [esp + 0xe5c]
cdq
sub eax, edx
mov ebp, eax
sar ebp, 1
jmp 0x40db14
mov ebp, dword [esp + 0xe5c]
lea eax, [esp + 0xd4]
push eax
call fcn.00430b40
mov ebx, dword [edi + 0x14]
add esp, 4
test ebx, ebx
je 0x40db5b
mov eax, dword [ebx + 0x88]
test eax, eax
je 0x40db51
lea ecx, [ebx + 8]
lea edx, [esp + 0xd4]
push ecx
lea eax, [esp + 0xd8]
push edx
push eax
call fcn.004310a0
add esp, 0xc
mov ebx, dword [ebx + 0x124]
test ebx, ebx
jne 0x40db2b
lea ecx, [esp + 0x94]
lea edx, [esp + 0xd4]
push ecx
push edx
call fcn.00431440
lea eax, [esp + 0x1ac]
lea ecx, [esp + 0x9c]
push eax
push ecx
call fcn.00431500
fld dword [esi + 0x10]
fmul dword [0x5a8434]
mov edx, dword [esp + 0xe68]
mov ebx, dword [edi + 4]
sub edx, ebx
add esp, 0x10
fdivr dword [esi + 0x18]
mov dword [esp + 0x28], edx
fmul dword [esi + 0x14]
fld st(0)
fchs
fld st(1)
fdiv dword [esi + 8]
fld st(0)
fchs
fxch st(3)
fsub st(2)
fstp dword [esp + 0x2c]
fld dword [esi + 0x64]
fadd dword [0x5a83f4]
fmul dword [esp + 0x2c]
fmul dword [0x5a83e8]
fadd st(2)
fstp dword [esp + 0x24]
fsub st(2)
fld dword [esi + 0x68]
fadd dword [0x5a83f4]
fmul st(1)
fmul dword [0x5a83e8]
fadd st(3)
fstp dword [esp + 0x14]
fld dword [esi + 0x70]
fadd dword [esi + 0x68]
fadd dword [0x5a83f4]
fmul st(1)
fmul dword [0x5a83e8]
fadd st(3)
fstp dword [esp + 0x40]
fstp st(0)
fstp st(1)
fild dword [esp + 0x28]
fld dword [esi + 0x6c]
fadd dword [esi + 0x64]
fadd dword [0x5a83f4]
fmul dword [esp + 0x2c]
fmul dword [0x5a83e8]
fadd st(2)
fsub dword [esp + 0x24]
fmulp st(1)
fidiv dword [edi + 0xc]
fadd dword [esp + 0x24]
fstp dword [esp + 0x60]
mov ecx, dword [edi + 8]
mov eax, dword [edi + 0x10]
sub ecx, ebp
mov dword [esp + 0x3c], eax
add ecx, eax
fstp st(0)
mov dword [esp + 0x28], ecx
fild dword [esp + 0x28]
fld dword [esp + 0x40]
fsub dword [esp + 0x14]
fmulp st(1)
fidiv dword [esp + 0x3c]
mov eax, dword [esp + 0xe4c]
mov dword [esp + 0x40], 0xffffffff
mov dword [esp + 0x24], 0x501502f9
fadd dword [esp + 0x14]
fstp dword [esp + 0x64]
fld dword [esi + 0x18]
xor esi, esi
fchs
fstp dword [esp + 0x68]
cmp eax, esi
mov dword [esp + 0x28], esi
jne 0x40dca1
mov edx, dword [0x5d5764]
mov eax, dword [edx + 0x69c]
mov eax, dword [eax]
jmp 0x40dcb0
mov ecx, dword [eax]
push ecx
call fcn.00410990
add esp, 4
mov dword [esp + 0x3c], esi
cmp eax, esi
mov dword [esp + 0x10], eax
je 0x40e380
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x164]
test eax, eax
jne 0x40dcde
mov edx, dword [esp + 0xe54]
mov esi, dword [ecx + 0x8c]
cmp esi, edx
setne al
jmp 0x40dd03
mov edx, dword [ecx + 0x160]
test edx, edx
jne 0x40dd01
mov eax, dword [eax + 8]
mov esi, dword [esp + 0xe54]
xor edx, edx
cmp dword [eax + 0x8c], esi
setne dl
mov eax, edx
jmp 0x40dd03
xor eax, eax
cmp dword [ecx + 4], 6
jne 0x40e334
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx + 0x9c]
test byte [edx + 4], 0x10
jne 0x40e334
test eax, eax
je 0x40e334
mov eax, dword [0x7eaa04]
mov edx, dword [esp + 0x10]
mov dword [esp + 0x74], eax
lea ecx, [esp + 0x1e4]
mov eax, dword [edx]
push 0
push ecx
or eax, 0x2000000
push 0
push eax
call fcn.00406df0
add esp, 0x10
xor esi, esi
lea ecx, [esp + 0x1a4]
lea edx, [esp + esi + 0x1e4]
push ecx
lea eax, [esp + esi + 0x108]
push edx
push eax
call fcn.004319a0
add esi, 0xc
add esp, 0xc
cmp esi, 0x60
jl 0x40dd54
mov esi, 0x5c4374
mov eax, dword [esi - 4]
lea ecx, [eax + eax*2]
mov eax, dword [esi]
mov dword [esp + 0x78], ecx
lea edx, [eax + eax*2]
mov eax, dword [esi + 4]
lea ebp, [esp + ecx*4 + 0x104]
mov dword [esp + 0x7c], edx
lea edi, [eax + eax*2]
mov eax, dword [esi + 8]
lea edx, [esp + edx*4 + 0x104]
mov dword [esp + 0x80], edi
lea ecx, [esp + edi*4 + 0x104]
lea ebx, [eax + eax*2]
push ecx
push edx
lea eax, [esp + 0x20]
push ebp
push eax
mov dword [esp + 0x94], ebx
call fcn.00430e50
lea ecx, [esp + 0x70]
lea edx, [esp + 0x28]
push ecx
push edx
call fcn.0052ac40
fcom dword [0x5a83e4]
add esp, 0x18
fld st(0)
fnstsw ax
and eax, 0x4100
je 0x40ddf5
fchs
fcomp dword [0x5a8408]
fnstsw ax
and eax, 0x4100
jne 0x40df82
fld dword [esp + 0x18]
fmul dword [esp + ebx*4 + 0x104]
lea eax, [esp + ebx*4 + 0x104]
mov dword [esp + 0x50], eax
fchs
fld dword [esp + 0x1c]
fmul dword [esp + ebx*4 + 0x108]
fsubp st(1)
fld dword [esp + 0x20]
fmul dword [esp + ebx*4 + 0x10c]
fsubp st(1)
fld dword [0x5a8430]
fdiv st(2)
fmulp st(1)
fstp st(1)
fcom dword [0x5a83f4]
fnstsw ax
and eax, 0x4100
jne 0x40df82
fld dword [esp + 0x60]
fmul st(1)
xor edi, edi
fstp dword [esp + 0x30]
fld dword [esp + 0x64]
fmul st(1)
fstp dword [esp + 0x34]
fmul dword [esp + 0x68]
fstp dword [esp + 0x38]
cmp edi, 3
jne 0x40de89
mov eax, dword [esp + 0x50]
lea ecx, [esp + 0x30]
push eax
push ecx
push ebp
jmp 0x40dea6
mov eax, dword [esp + edi*4 + 0x78]
lea edx, [esp + 0x30]
lea ecx, [esp + eax*4 + 0x104]
mov eax, dword [esp + edi*4 + 0x7c]
push ecx
push edx
lea ecx, [esp + eax*4 + 0x10c]
push ecx
lea edx, [esp + 0x50]
push edx
call fcn.00430e50
add esp, 0x10
lea eax, [esp + 0x18]
lea ecx, [esp + 0x44]
push eax
push ecx
call fcn.0052ac40
fcomp dword [0x5a83e4]
add esp, 8
fnstsw ax
test ah, 0x41
jnp 0x40ded8
inc edi
cmp edi, 4
jl 0x40de77
cmp edi, 4
jne 0x40df84
lea edx, [esp + 0xd4]
push edx
call fcn.00430b40
mov edi, dword [esp + 0x14]
add esp, 4
mov esi, edi
mov eax, dword [esi + 0x88]
test eax, eax
je 0x40df1d
lea eax, [esi + 8]
lea ecx, [esp + 0xd4]
push eax
lea edx, [esp + 0xd8]
push ecx
push edx
call fcn.004310a0
add esp, 0xc
mov esi, dword [esi + 0x124]
test esi, esi
jne 0x40def7
lea eax, [esp + 0x164]
lea ecx, [esp + 0xd4]
push eax
push ecx
call fcn.00431440
lea edx, [esp + 0x1ac]
lea eax, [esp + 0x16c]
push edx
lea ecx, [esp + 0x170]
push eax
push ecx
call fcn.00431200
mov ecx, dword [edi + 0x9c]
add esp, 0x14
mov dword [esp + 0x50], ecx
mov dword [esp + 0x2c], esi
mov edx, dword [ecx + 0x34]
mov eax, dword [ecx + 0x40]
test edx, edx
mov dword [esp + 0x14], eax
jle 0x40e334
mov ebx, dword [esp + 0x70]
jmp 0x40df9c
fstp st(0)
add esi, 0x10
cmp esi, 0x5c43d4
jl 0x40dd81
jmp 0x40e334
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
cmp ecx, 1
jne 0x40e003
mov edx, dword [esp + 0x14]
mov ebx, 3
mov dword [esp + 0x70], ebx
lea edi, [esp + 0x244]
lea esi, [edx + 0xc]
mov ebp, ebx
mov ecx, dword [esi]
mov edx, dword [esp + 0x50]
imul ecx, dword [esp + 0x74]
lea eax, [esp + 0x164]
push eax
mov eax, dword [edx + 0x1c]
lea ecx, [eax + ecx*4]
push ecx
push edi
call fcn.004319a0
add esp, 0xc
add esi, 4
add edi, 0xc
dec ebp
jne 0x40dfbc
mov edx, dword [0x5c432c]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x6c], 1
lea ecx, [eax + edx*4]
mov dword [esp + 0x14], ecx
jmp 0x40e02c
cmp ecx, 2
jne 0x40e020
mov edx, dword [eax + 8]
mov dword [esp + 0x6c], 0
lea eax, [eax + edx*8 + 0xc]
mov dword [esp + 0x14], eax
jmp 0x40e31c
mov eax, dword [esp + 0x6c]
test eax, eax
je 0x40e31c
xor esi, esi
test ebx, ebx
jle 0x40e104
test esi, esi
jne 0x40e05c
lea ecx, [esp + 0x250]
lea eax, [ebx + ebx*2]
lea edx, [esp + 0x244]
push ecx
push edx
lea ecx, [esp + eax*4 + 0x240]
lea edx, [esp + 0x20]
push ecx
push edx
jmp 0x40e07b
lea eax, [esi + esi*2]
shl eax, 2
lea ecx, [esp + eax + 0x244]
lea eax, [esp + eax + 0x250]
push eax
push ecx
add ecx, 0xfffffff4
push ecx
lea ecx, [esp + 0x24]
push ecx
call fcn.00430e50
fld dword [esp + 0x28]
fcomp dword [0x5a83e4]
fld dword [esp + 0x28]
add esp, 0x10
fnstsw ax
and eax, 0x4100
je 0x40e09c
fchs
fcomp dword [0x5a8408]
fnstsw ax
and eax, 0x4100
je 0x40e104
fld dword [esp + 0x1c]
fcomp dword [0x5a83e4]
fld dword [esp + 0x1c]
fnstsw ax
and eax, 0x4100
je 0x40e0c4
fchs
fcomp dword [0x5a8408]
fnstsw ax
and eax, 0x4100
je 0x40e104
fld dword [esp + 0x20]
fcomp dword [0x5a83e4]
fld dword [esp + 0x20]
fnstsw ax
and eax, 0x4100
je 0x40e0ec
fchs
fcomp dword [0x5a8408]
fnstsw ax
and eax, 0x4100
je 0x40e104
inc esi
cmp esi, ebx
jl 0x40e036
lea edx, [esp + 0x60]
lea eax, [esp + 0x18]
push edx
push eax
call fcn.0052ac40
fcom dword [0x5a83e4]
add esp, 8
fnstsw ax
test ah, 5
jp 0x40e31a
fld dword [esp + 0x244]
fmul dword [esp + 0x18]
fchs
fld dword [esp + 0x248]
fmul dword [esp + 0x1c]
fsubp st(1)
fld dword [esp + 0x24c]
fmul dword [esp + 0x20]
fsubp st(1)
fld dword [0x5a8430]
fdiv st(2)
fmulp st(1)
fstp st(1)
fcom dword [0x5a83f4]
fnstsw ax
and eax, 0x4100
jne 0x40e31a
fld dword [esp + 0x60]
fmul st(1)
xor esi, esi
test ebx, ebx
fstp dword [esp + 0x30]
fld dword [esp + 0x64]
fmul st(1)
fstp dword [esp + 0x34]
fmul dword [esp + 0x68]
fstp dword [esp + 0x38]
jle 0x40e275
lea ebp, [ebx - 1]
lea edi, [esp + 0x250]
cmp esi, ebp
jne 0x40e1bb
lea ecx, [ebx + ebx*2]
lea eax, [esp + 0x30]
lea edx, [esp + ecx*4 + 0x238]
lea ecx, [esp + 0x244]
push edx
push eax
push ecx
jmp 0x40e1c5
lea eax, [edi - 0xc]
lea ecx, [esp + 0x30]
push eax
push ecx
push edi
lea edx, [esp + 0x50]
push edx
call fcn.00430e50
fld dword [esp + 0x54]
fcomp dword [0x5a83e4]
fld dword [esp + 0x54]
add esp, 0x10
fnstsw ax
and eax, 0x4100
je 0x40e1eb
fchs
fcomp dword [0x5a8408]
fnstsw ax
and eax, 0x4100
je 0x40e24a
fld dword [esp + 0x48]
fcomp dword [0x5a83e4]
fld dword [esp + 0x48]
fnstsw ax
and eax, 0x4100
je 0x40e213
fchs
fcomp dword [0x5a8408]
fnstsw ax
and eax, 0x4100
je 0x40e24a
fld dword [esp + 0x4c]
fcomp dword [0x5a83e4]
fld dword [esp + 0x4c]
fnstsw ax
and eax, 0x4100
je 0x40e23b
fchs
fcomp dword [0x5a8408]
fnstsw ax
and eax, 0x4100
jne 0x40e275
lea eax, [esp + 0x18]
lea ecx, [esp + 0x44]
push eax
push ecx
call fcn.0052ac40
fcomp dword [0x5a83e4]
add esp, 8
fnstsw ax
test ah, 5
jnp 0x40e275
inc esi
add edi, 0xc
cmp esi, ebx
jl 0x40e19d
cmp esi, ebx
jne 0x40e31c
fld dword [esp + 0x38]
fcomp dword [0x5a83e4]
fld dword [esp + 0x38]
fnstsw ax
and eax, 0x4100
je 0x40e296
fchs
fcomp dword [esp + 0x24]
fnstsw ax
test ah, 5
jp 0x40e31c
fld dword [esp + 0x38]
fcomp dword [0x5a83e4]
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x40], edx
fnstsw ax
and eax, 0x4100
jne 0x40e2c6
mov eax, dword [esp + 0x38]
mov dword [esp + 0x24], eax
jmp 0x40e2d0
fld dword [esp + 0x38]
fchs
fstp dword [esp + 0x24]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x30]
mov eax, dword [ecx]
mov ecx, dword [esp + 0x38]
or eax, 0x2000000
mov dword [esp + 0x88], edx
mov edx, dword [esp + 0x18]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x90], ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x54], edx
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], ecx
jmp 0x40e31c
fstp st(0)
mov edx, dword [esp + 0x50]
mov eax, dword [esp + 0x2c]
inc eax
mov ecx, dword [edx + 0x34]
mov dword [esp + 0x2c], eax
cmp eax, ecx
jl 0x40df98
mov ecx, dword [esp + 0xe4c]
test ecx, ecx
jne 0x40e34b
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x130]
jmp 0x40e36b
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0xe50]
inc eax
cmp eax, edx
mov dword [esp + 0x3c], eax
jge 0x40e377
mov ecx, dword [ecx + eax*4]
push ecx
call fcn.00410990
add esp, 4
test eax, eax
mov dword [esp + 0x10], eax
jne 0x40dcbc
mov ecx, dword [esp + 0x40]
cmp ecx, 0xffffffff
jne 0x40e38d
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xe34
ret
mov eax, dword [esp + 0xe60]
test eax, eax
je 0x40e39e
mov edx, dword [esp + 0x28]
mov dword [eax], edx
mov eax, dword [esp + 0xe68]
test eax, eax
je 0x40e3ab
mov dword [eax], ecx
mov eax, dword [esp + 0xe64]
test eax, eax
je 0x40e3cf
lea ecx, [esp + 0x94]
lea edx, [esp + 0x88]
push ecx
push edx
push eax
call fcn.004319a0
add esp, 0xc
mov eax, dword [esp + 0xe6c]
test eax, eax
je 0x40e451
fld dword [esp + 0xb4]
fmul dword [esp + 0x5c]
fld dword [esp + 0xa4]
fmul dword [esp + 0x58]
faddp st(1)
fld dword [esp + 0x94]
fmul dword [esp + 0x54]
faddp st(1)
fstp dword [eax]
fld dword [esp + 0xb8]
fmul dword [esp + 0x5c]
fld dword [esp + 0xa8]
fmul dword [esp + 0x58]
faddp st(1)
fld dword [esp + 0x98]
fmul dword [esp + 0x54]
faddp st(1)
fstp dword [eax + 4]
fld dword [esp + 0xbc]
fmul dword [esp + 0x5c]
fld dword [esp + 0xac]
fmul dword [esp + 0x58]
faddp st(1)
fld dword [esp + 0x9c]
fmul dword [esp + 0x54]
faddp st(1)
fstp dword [eax + 8]
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0xe34
ret