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

Disassembly:
sub esp, 0xc0
push ebx
push ebp
push esi
push edi
call fcn.00423940
xor ebp, ebp
xor esi, esi
push ebp
push ebp
push ebp
push ebp
push ebp
push ebp
mov dword [esp + 0x40], 7
mov dword [esp + 0x38], ebp
call fcn.0040c290
push ebp
xor edi, edi
push ebp
push ebp
mov dword [esp + 0x5c], esi
mov dword [esp + 0x38], esi
mov dword [esp + 0x34], esi
mov dword [esp + 0x58], edi
mov dword [esp + 0x3c], ebp
call fcn.0040a610
push ebp
push ebp
push ebp
call fcn.0040a4a0
push 0x3f800000
push 0x40a00000
push ebp
push ebp
push 7
call fcn.0040af40
mov ebx, eax
add esp, 0x44
mov dword [esp + 0x3c], ebx
jmp 0x4136f6
mov esi, dword [esp + 0x24]
mov ebx, dword [esp + 0x3c]
call fcn.0040eff0
cmp edi, 1
jne 0x413707
push 0x3dcccccd
jmp 0x41370c
push 0x40a00000
push ebp
push ebp
push ebx
call fcn.0040afc0
mov ecx, dword [0x2543970]
add esp, 0x10
mov eax, ecx
imul eax, dword [esp + 0x28]
add esi, eax
cmp esi, 0x7c0
mov dword [esp + 0x24], esi
jle 0x413755
cmp dword [esp + 0x20], ebp
jne 0x41374b
call fcn.00409430
mov ecx, dword [0x2543970]
mov dword [esp + 0x20], 1
mov dword [esp + 0x24], 0x7c0
jmp 0x413779
cmp esi, ebp
jge 0x413779
cmp edi, 4
jne 0x414153
mov dword [esp + 0x24], ebp
mov dword [esp + 0x28], 6
call fcn.004110a0
mov ecx, dword [0x2543970]
cmp dword [esp + 0x20], ebp
je 0x413c0e
fld dword [esp + 0x10]
fcomp dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
fnstsw ax
test ah, 0x40
je 0x413b77
mov edi, ebx
mov dword [esp + 0x34], edi
call fcn.00409460
mov esi, eax
cmp esi, 0x26
je 0x4137b4
cmp esi, dword [0x25b6110]
jne 0x4137c7
cmp ebx, ebp
jle 0x4137c7
dec ebx
push 0x15
mov dword [esp + 0x1c], ebx
call fcn.0040aea0
add esp, 4
cmp esi, 0x28
je 0x4137d4
cmp esi, dword [0x25b6114]
jne 0x4137e8
cmp ebx, 5
jge 0x4137e8
inc ebx
push 0x15
mov dword [esp + 0x1c], ebx
call fcn.0040aea0
add esp, 4
mov al, byte [0x44fa49]
mov ecx, dword [0x2543970]
mov edx, dword [0x25b6118]
test al, 0x80
jne 0x41380a
test byte [edx + 0x44fa24], 0x80
je 0x413984
cmp edi, ebp
jne 0x413865
fld dword [0x25b6100]
fcomp dword [0x43a264]
fnstsw ax
test ah, 0x41
jne 0x41383f
mov dword [esp + 0x68], ecx
mov dword [esp + 0x6c], ebp
fild qword [esp + 0x68]
fmul dword [0x43a2b8]
fsubr dword [0x25b6100]
fstp dword [0x25b6100]
fld dword [0x25b6100]
fcomp dword [0x43a264]
fnstsw ax
test ah, 1
je 0x413984
mov dword [0x25b6100], 0
jmp 0x413984
cmp edi, 1
jne 0x4138fa
mov dword [esp + 0xc8], ecx
mov dword [esp + 0xcc], ebp
fild qword [esp + 0xc8]
fmul dword [0x43a2b8]
fsubr dword [0x25b6104]
fst dword [0x25b6104]
fcomp dword [0x43a264]
fnstsw ax
test ah, 1
je 0x4138bb
mov dword [0x25b6104], 0
mov dword [0x43ec80], 0
jmp 0x413984
fld dword [0x25b6104]
fcomp dword [0x43a264]
fnstsw ax
test ah, 0x40
je 0x4138dd
mov dword [0x43ec80], 0
jmp 0x413984
fld dword [0x25b6104]
fmul dword [0x43a3d4]
fadd dword [0x43a3a0]
fstp dword [0x43ec80]
jmp 0x413984
cmp edi, 2
jne 0x413984
mov dword [esp + 0xa0], ecx
mov dword [esp + 0xa4], ebp
fild qword [esp + 0xa0]
fmul dword [0x43a2b8]
fsubr dword [0x25b6108]
fst dword [0x25b6108]
fcomp dword [0x43a264]
fnstsw ax
test ah, 1
je 0x41394d
mov dword [0x25b6108], 0
mov dword [0x43ec84], 0
jmp 0x413984
fld dword [0x25b6108]
fcomp dword [0x43a264]
fnstsw ax
test ah, 0x40
je 0x41396c
mov dword [0x43ec84], 0
jmp 0x413984
fld dword [0x25b6108]
fmul dword [0x43a3d4]
fadd dword [0x43a3a0]
fstp dword [0x43ec84]
test byte [0x44fa4b], 0x80
jne 0x41399f
mov eax, dword [0x25b611c]
test byte [eax + 0x44fa24], 0x80
je 0x413abb
cmp edi, ebp
jne 0x413a03
fld dword [0x25b6100]
fcomp dword [0x43a3d0]
fnstsw ax
test ah, 1
je 0x4139dd
mov dword [esp + 0x80], ecx
mov dword [esp + 0x84], ebp
fild qword [esp + 0x80]
fmul dword [0x43a2b8]
fadd dword [0x25b6100]
fstp dword [0x25b6100]
fld dword [0x25b6100]
fcomp dword [0x43a3d0]
fnstsw ax
test ah, 0x41
jne 0x413abb
mov dword [0x25b6100], 0x447a0000
jmp 0x413abb
cmp edi, 1
jne 0x413a60
mov dword [esp + 0xc0], ecx
mov dword [esp + 0xc4], ebp
fild qword [esp + 0xc0]
fmul dword [0x43a2b8]
fadd dword [0x25b6104]
fst dword [0x25b6104]
fcomp dword [0x43a3d0]
fnstsw ax
test ah, 0x41
jne 0x413a46
mov dword [0x25b6104], 0x447a0000
fld dword [0x25b6104]
fmul dword [0x43a3d4]
fadd dword [0x43a3a0]
fstp dword [0x43ec80]
jmp 0x413abb
cmp edi, 2
jne 0x413abb
mov dword [esp + 0x90], ecx
mov dword [esp + 0x94], ebp
fild qword [esp + 0x90]
fmul dword [0x43a2b8]
fadd dword [0x25b6108]
fst dword [0x25b6108]
fcomp dword [0x43a3d0]
fnstsw ax
test ah, 0x41
jne 0x413aa3
mov dword [0x25b6108], 0x447a0000
fld dword [0x25b6108]
fmul dword [0x43a3d4]
fadd dword [0x43a3a0]
fstp dword [0x43ec84]
cmp esi, 0x25
je 0x413ac4
cmp esi, edx
jne 0x413aec
cmp edi, 3
jne 0x413aec
mov edx, dword [0x25b6120]
xor ecx, ecx
cmp edx, ebp
push 0x16
sete cl
mov dword [0x25b6120], ecx
call fcn.0040aea0
mov ecx, dword [0x2543970]
add esp, 4
cmp esi, 0xd
je 0x413b03
cmp esi, 0x20
je 0x413b03
cmp esi, 0x27
je 0x413b03
cmp esi, dword [0x25b611c]
jne 0x413b42
cmp edi, 3
jne 0x413b1c
mov eax, dword [0x25b6120]
xor edx, edx
cmp eax, ebp
sete dl
mov dword [0x25b6120], edx
jmp 0x413b32
cmp edi, 5
je 0x413b26
cmp edi, 4
jne 0x413b42
mov dword [esp + 0x28], 0xfffffffa
mov dword [esp + 0x20], ebp
push 0x16
call fcn.0040aea0
mov ecx, dword [0x2543970]
add esp, 4
cmp esi, 0x1b
je 0x413b4c
cmp esi, 8
jne 0x413b77
mov edi, 5
push 0x16
mov ebx, edi
mov dword [esp + 0x38], edi
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x2c], 0xfffffffa
mov dword [esp + 0x24], ebp
call fcn.0040aea0
mov ecx, dword [0x2543970]
add esp, 4
neg ebx
mov dword [esp + 0x1c], ebx
fild dword [esp + 0x1c]
fmul dword [0x43a3cc]
fstp dword [esp + 0x14]
fld dword [esp + 0x10]
fcomp dword [esp + 0x14]
fnstsw ax
test ah, 1
je 0x413bd2
mov dword [esp + 0xb0], ecx
mov dword [esp + 0xb4], ebp
fild qword [esp + 0xb0]
fmul dword [0x43a3b4]
fadd dword [esp + 0x10]
fst dword [esp + 0x10]
fcomp dword [esp + 0x14]
fnstsw ax
test ah, 0x41
jne 0x413c0e
mov eax, dword [esp + 0x14]
mov dword [esp + 0x10], eax
jmp 0x413c0e
fld dword [esp + 0x10]
fcomp dword [esp + 0x14]
fnstsw ax
test ah, 0x41
jne 0x413c0e
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], ebp
fild qword [esp + 0x70]
fmul dword [0x43a3b4]
fsubr dword [esp + 0x10]
fst dword [esp + 0x10]
fcomp dword [esp + 0x14]
fnstsw ax
test ah, 1
je 0x413c0e
mov edx, dword [esp + 0x14]
mov dword [esp + 0x10], edx
lea eax, [ecx + ecx]
mov dword [esp + 0x7c], ebp
mov dword [esp + 0x78], eax
lea ecx, [esp + 0x40]
fild qword [esp + 0x78]
push ecx
fadd dword [esp + 0x3c]
fstp dword [esp + 0x3c]
call fcn.004012b0
fld dword [esp + 0x3c]
call fcn.00430d2c
mov ebx, eax
lea edx, [esp + 0x44]
push ebx
push edx
call fcn.004012f0
lea eax, [esp + 0x4c]
push 0x3e4ccccd
push eax
call fcn.00401480
mov edx, dword [0x257de0c]
lea ecx, [esp + 0x54]
push ecx
push edx
call fcn.00401610
mov eax, dword [esp + 0x40]
sar eax, 3
mov dword [esp + 0x38], eax
fild dword [esp + 0x38]
fstp dword [esp + 0x4c]
mov eax, dword [esp + 0x4c]
push eax
push eax
push eax
call fcn.0040c1d0
add esp, 0x28
call fcn.00406080
test eax, eax
je 0x4136ee
push ebp
call fcn.00405a20
mov ecx, dword [0x2543970]
push ecx
call fcn.004120b0
push 1
call fcn.00405a20
push 3
call fcn.004059f0
mov edx, dword [0x2543970]
push edx
call fcn.00412220
fld dword [esp + 0x24]
fmul dword [0x43a298]
add esp, 0x14
fsub dword [0x43a3b8]
push ebp
push 0xfffffe00
push ebp
push ecx
fstp dword [esp]
push 0x3c9374bc
push ebp
call fcn.0040c290
push 0x3e99999a
push 0x3f333333
push 0xbf490fdb
push 0xbf490fdb
call fcn.0040e3c0
push 4
call fcn.004059f0
add esp, 0x2c
xor edi, edi
mov dword [esp + 0x1c], edi
mov eax, dword [esp + 0x18]
fld dword [edi*4 + 0x43fd68]
cmp edi, eax
jne 0x413ddb
fcomp dword [0x43a280]
mov ecx, dword [0x2543970]
fnstsw ax
test ah, 1
je 0x413d79
mov dword [esp + 0x88], ecx
mov dword [esp + 0x8c], ebp
fild qword [esp + 0x88]
fmul dword [0x43a3ac]
fadd dword [edi*4 + 0x43fd68]
fst dword [edi*4 + 0x43fd68]
fcomp dword [0x43a280]
fnstsw ax
test ah, 0x41
jne 0x413d79
mov dword [edi*4 + 0x43fd68], 0x3f800000
fld dword [edi*4 + 0x43fd80]
fcomp dword [0x43a3a8]
fnstsw ax
test ah, 1
je 0x413e84
mov dword [esp + 0x98], ecx
mov dword [esp + 0x9c], ebp
fild qword [esp + 0x98]
fmul dword [0x43a314]
fadd dword [edi*4 + 0x43fd80]
fst dword [edi*4 + 0x43fd80]
fcomp dword [0x43a3a8]
fnstsw ax
test ah, 0x41
jne 0x413e84
mov dword [edi*4 + 0x43fd80], 0x3f933333
jmp 0x413e84
fcomp dword [0x43a2b8]
mov ecx, dword [0x2543970]
fnstsw ax
test ah, 0x41
jne 0x413e2f
mov dword [esp + 0xa8], ecx
mov dword [esp + 0xac], ebp
fild qword [esp + 0xa8]
fmul dword [0x43a3ac]
fsubr dword [edi*4 + 0x43fd68]
fst dword [edi*4 + 0x43fd68]
fcomp dword [0x43a2b8]
fnstsw ax
test ah, 1
je 0x413e2f
mov dword [edi*4 + 0x43fd68], 0x3f19999a
fld dword [edi*4 + 0x43fd80]
fcomp dword [0x43a280]
fnstsw ax
test ah, 0x41
jne 0x413e84
mov dword [esp + 0xb8], ecx
mov dword [esp + 0xbc], ebp
fild qword [esp + 0xb8]
fmul dword [0x43a314]
fsubr dword [edi*4 + 0x43fd80]
fst dword [edi*4 + 0x43fd80]
fcomp dword [0x43a280]
fnstsw ax
test ah, 1
je 0x413e84
mov dword [edi*4 + 0x43fd80], 0x3f800000
fld dword [esp + 0x30]
fmul dword [edi*4 + 0x43fd68]
fstp dword [esp + 0x2c]
mov eax, dword [esp + 0x2c]
push eax
push eax
push eax
call fcn.0040c1d0
lea eax, [esp + 0x4c]
push eax
call fcn.004012b0
mov ecx, dword [edi*4 + 0x43fd80]
lea edx, [esp + 0x50]
push ecx
push edx
call fcn.00401480
mov ecx, dword [edi*4 + 0x2584340]
lea eax, [esp + 0x58]
push eax
push ecx
call fcn.00401610
fild dword [esp + 0x3c]
mov edx, dword [edi*4 + 0x25b4388]
fmul dword [0x43a3c8]
fsub dword [0x43a30c]
fstp dword [esp + 0x4c]
mov esi, dword [esp + 0x4c]
push esi
push ebp
push 0xbbc49ba6
push edx
call fcn.0040c390
add esp, 0x30
cmp edi, 3
jge 0x413f50
lea eax, [esp + 0x40]
push eax
call fcn.004012b0
lea ecx, [esp + 0x44]
push 0x200
push ecx
call fcn.00401400
lea edx, [esp + 0x4c]
push 0x3e23d70a
push edx
call fcn.00401480
mov ecx, dword [0x257de1c]
lea eax, [esp + 0x54]
push eax
push ecx
call fcn.00401610
mov edx, dword [0x257de5c]
push esi
push ebp
push 0x3c1374bc
push edx
call fcn.0040c390
add esp, 0x2c
inc edi
cmp edi, 6
mov dword [esp + 0x1c], edi
jl 0x413d12
push 3
call fcn.004059f0
add esp, 4
xor esi, esi
fld dword [esp + 0x30]
fmul dword [esi*4 + 0x43fd68]
fstp dword [esp + 0x2c]
mov eax, dword [esp + 0x2c]
push eax
push eax
push eax
call fcn.0040c1d0
add esp, 0xc
cmp esi, 3
jne 0x413ffe
lea eax, [esp + 0x40]
push eax
call fcn.004012b0
mov ecx, dword [0x43fd8c]
lea edx, [esp + 0x44]
push ecx
push edx
call fcn.00401480
mov eax, dword [0x25b6120]
add esp, 0xc
cmp eax, ebp
lea eax, [esp + 0x40]
push eax
je 0x413fd8
mov ecx, dword [0x2584358]
push ecx
call fcn.00401610
mov edx, dword [0x25b43a0]
push 0xbc4b295e
push ebp
push 0x3ba3d70a
jmp 0x413ff5
mov ecx, dword [0x258435c]
push ecx
call fcn.00401610
mov edx, dword [0x25b43a4]
push 0xbc4b295e
push ebp
push 0x3ba3d70a
push edx
call fcn.0040c390
add esp, 0x18
lea eax, [esp + 0x40]
push eax
call fcn.004012b0
lea ecx, [esp + 0x44]
push 0x200
push ecx
call fcn.00401400
lea edx, [esp + 0x4c]
push ebx
push edx
call fcn.004012f0
lea eax, [esp + 0x54]
push 0x3e19999a
push eax
call fcn.00401480
mov edx, dword [0x257de18]
lea ecx, [esp + 0x5c]
push ecx
push edx
call fcn.00401610
add esp, 0x24
cmp esi, ebp
jne 0x414073
fld dword [0x25b6100]
fsub dword [0x43a3c4]
mov eax, dword [0x2581fe4]
push 0xbb83126f
push ebp
push ecx
fmul dword [0x43a3c0]
fadd dword [0x43a3bc]
fstp dword [esp]
push eax
jmp 0x4140d1
cmp esi, 1
jne 0x4140a3
fld dword [0x25b6104]
fsub dword [0x43a3c4]
push 0xbbded289
push ebp
push ecx
mov ecx, dword [0x2581fe4]
fmul dword [0x43a3c0]
fadd dword [0x43a3bc]
fstp dword [esp]
push ecx
jmp 0x4140d1
cmp esi, 2
jne 0x4140d9
fld dword [0x25b6108]
fsub dword [0x43a3c4]
mov edx, dword [0x2581fe4]
push 0xbc1d4952
push ebp
push ecx
fmul dword [0x43a3c0]
fadd dword [0x43a3bc]
fstp dword [esp]
push edx
call fcn.0040c390
add esp, 0x10
inc esi
cmp esi, 6
jl 0x413f6a
mov eax, dword [esp + 0x30]
push eax
push eax
push eax
call fcn.0040c1d0
lea eax, [esp + 0x4c]
push eax
call fcn.004012b0
mov edx, dword [0x2584360]
lea ecx, [esp + 0x50]
push ecx
push edx
mov dword [esp + 0x7c], 0x3f933333
call fcn.00401610
mov eax, dword [0x25b43a8]
push ebp
push ebp
push ebp
push eax
call fcn.0040c390
fld dword [esp + 0x38]
fsub dword [0x43a30c]
mov ecx, dword [0x2581fd8]
add esp, 0x24
fstp dword [esp]
push ebp
push 0xbc75c28f
push ecx
call fcn.0040c390
add esp, 0x10
call fcn.00406110
mov edi, dword [esp + 0x34]
jmp 0x4136ee
call fcn.00422fb0
push ebx
call fcn.0040aff0
add esp, 4
call fcn.004236d0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc0
ret