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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x1cc
push ebx
push esi
mov esi, eax
cmp dword [esi + 0x14], 1
mov eax, dword [esi + 8]
mov eax, dword [eax + 8]
push edi
je 0x40a0c7
mov ebx, dword [eax + 0x80114]
jmp 0x40a0cd
mov ebx, dword [eax + 0x80118]
lea ecx, [eax + 0x80914]
call fcn.0044fd1d
mov ecx, eax
call fcn.0045619f
fstp dword [esp + 0x14]
fld1
sub esp, 0xc
fstp dword [esp + 8]
lea eax, [esp + 0x164]
fld dword [esp + 0x20]
fstp dword [esp + 4]
fld dword [esp + 0x20]
fstp dword [esp]
push eax
call fcn.00460c9c
add esp, 0x10
lea ecx, [esp + 0x98]
call fcn.004079f7
lea eax, [esp + 0x30]
push eax
mov ecx, ebx
call fcn.0043e644
mov ecx, ebx
call fcn.0043e639
fldz
sub esp, 0xc
fstp dword [esp + 8]
fild dword [esp + 0x40]
mov edi, eax
lea eax, [esp + 0x1a4]
fstp dword [esp + 4]
fild dword [esp + 0x3c]
fstp dword [esp]
push eax
call fcn.00460c35
mov eax, dword [esi + 8]
mov eax, dword [eax + 8]
shl edi, 0x18
add esp, 0x10
or edi, 0xffffff
cmp dword [eax + 0x20e4], 1
mov ecx, ebx
mov dword [esp + 0x24], edi
sete byte [esp + 0x23]
call fcn.0043f480
cmp byte [esp + 0x23], 0
je 0x40a6e2
test al, al
je 0x40a6e2
mov ecx, dword [ebx + 0x10c]
call fcn.0045f8f7
fldz
mov dword [esp + 0x2c], eax
fst dword [esp + 0x18]
mov eax, dword [esi + 8]
mov eax, dword [eax + 8]
cmp dword [eax + 0x2060], 1
jne 0x40a1bb
fld dword [0x6b2238]
fstp dword [esp + 0x18]
sub esp, 0xc
fstp dword [esp + 8]
lea eax, [esp + 0x124]
fld dword [esp + 0x24]
fadd qword [0x6b2230]
fmul dword [esp + 0x20]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp + 4]
fld dword [esp + 0x20]
fmul qword [0x6b2228]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push eax
call fcn.00460c35
add esp, 0x10
push eax
lea ecx, [esp + 0x9c]
call fcn.00407b36
fldz
push edi
push ecx
push ecx
fst dword [esp + 4]
lea ecx, [esp + 0x1a4]
fstp dword [esp]
push ecx
lea ecx, [esp + 0x128]
push ecx
lea ecx, [esp + 0xac]
push ecx
lea ecx, [esp + 0xf0]
push ecx
lea ecx, [esp + 0x174]
lea ebx, [esi + 0xbdc60]
call fcn.0040abc3
mov ecx, eax
call fcn.0040abc3
push eax
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x5c]
fld dword [0x6b2220]
fst dword [esp + 0xc]
mov eax, dword [esp + 0xc]
fld dword [0x6b221c]
mov dword [esp + 0x38], eax
fst dword [esp + 0x10]
mov eax, dword [esp + 0x10]
fld dword [0x6b2218]
mov dword [esp + 0x3c], eax
fst dword [esp + 0xc]
mov eax, dword [esp + 0xc]
mov dword [esp + 0x40], eax
fxch st(1)
fst dword [esp + 0x10]
mov eax, dword [esp + 0x10]
fld dword [0x6b2214]
mov dword [esp + 0x44], eax
fstp dword [esp + 0xc]
mov eax, dword [esp + 0xc]
fld dword [0x6b2210]
mov dword [esp + 0x48], eax
fst dword [esp + 0x10]
mov eax, dword [esp + 0x10]
fld dword [0x6b220c]
mov dword [esp + 0x4c], eax
fstp dword [esp + 0xc]
mov eax, dword [esp + 0xc]
fld dword [0x6b2208]
mov dword [esp + 0x50], eax
fst dword [esp + 0x10]
mov eax, dword [esp + 0x10]
fxch st(3)
mov dword [esp + 0x54], eax
fstp dword [esp + 0xc]
mov eax, dword [esp + 0xc]
fld dword [0x6b2204]
mov dword [esp + 0x58], eax
fst dword [esp + 0x10]
mov eax, dword [esp + 0x10]
fxch st(4)
fstp dword [esp + 0xc]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0xc]
fld dword [0x6b2200]
fst dword [esp + 0x10]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x10]
fld dword [0x6b21fc]
fstp dword [esp + 0xc]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0xc]
fstp dword [esp + 0x10]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x10]
fld dword [0x6b21f8]
fstp dword [esp + 0xc]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0xc]
fxch st(3)
fstp dword [esp + 0x10]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x10]
fld dword [0x6b21f4]
fstp dword [esp + 0xc]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0xc]
fxch st(1)
fstp dword [esp + 0x10]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x10]
fld dword [0x6b21f0]
fstp dword [esp + 0xc]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0xc]
fxch st(1)
fstp dword [esp + 0x10]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x10]
fld dword [0x6b21ec]
fstp dword [esp + 0xc]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0xc]
fst dword [esp + 0x10]
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x10]
fld dword [0x6b21e8]
mov dword [esp + 0x8c], eax
fstp dword [esp + 0xc]
mov eax, dword [esp + 0xc]
mov dword [esp + 0x90], eax
fstp dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov dword [esp + 0x94], eax
lea eax, [esi + 0xbdcf4]
lea edi, [esp + 0x38]
mov dword [esp + 0x1c], 0xc
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x1c]
cmp eax, dword [esp + 0x2c]
jg 0x40a4b5
fldz
sub esp, 0xc
fstp dword [esp + 8]
lea eax, [esp + 0xe4]
fld dword [edi + 4]
fadd dword [esp + 0x24]
fmul dword [esp + 0x20]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp dword [esp + 4]
fld dword [edi]
fmul dword [esp + 0x20]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp dword [esp]
push eax
call fcn.00460c35
add esp, 0x10
push eax
lea ecx, [esp + 0x9c]
call fcn.00407b36
fldz
push dword [esp + 0x24]
mov eax, dword [esp + 0x2c]
mov ebx, dword [eax]
push ecx
push ecx
fst dword [esp + 4]
lea eax, [esp + 0x1a4]
fstp dword [esp]
push eax
lea eax, [esp + 0xe8]
push eax
lea eax, [esp + 0xac]
push eax
lea eax, [esp + 0x130]
push eax
lea ecx, [esp + 0x174]
call fcn.0040abc3
mov ecx, eax
call fcn.0040abc3
mov ecx, dword [esp + 0x34]
push eax
call dword [ebx + 0x5c]
dec dword [esp + 0x1c]
add dword [esp + 0x28], 0x94
add edi, 8
cmp dword [esp + 0x1c], 0
jg 0x40a409
fld dword [esp + 0x18]
sub esp, 0xc
cmp dword [esp + 0x38], 1
fadd qword [0x6b21e0]
lea eax, [esp + 0xe4]
fmul dword [esp + 0x20]
fstp dword [esp + 0x24]
fldz
fstp dword [esp + 8]
fld dword [esp + 0x24]
fstp dword [esp + 4]
fld dword [esp + 0x20]
fmul qword [0x6b21d8]
jle 0x40a5d9
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp dword [esp]
push eax
call fcn.00460c35
add esp, 0x10
push eax
lea ecx, [esp + 0x9c]
call fcn.00407b36
fldz
mov eax, dword [esp + 0x2c]
push 0xa
pop ecx
cdq
idiv ecx
push dword [esp + 0x24]
add esi, 0xbe478
push ecx
push ecx
lea ecx, [esp + 0x164]
fst dword [esp + 4]
fstp dword [esp]
mov ebx, eax
lea eax, [esp + 0x1a4]
push eax
lea eax, [esp + 0xe8]
push eax
lea eax, [esp + 0xac]
push eax
lea eax, [esp + 0x130]
push eax
mov edi, edx
call fcn.0040abc3
mov ecx, eax
call fcn.0040abc3
push eax
xor eax, eax
push eax
push ebx
mov ecx, esi
call fcn.004a491c
fldz
sub esp, 0xc
fstp dword [esp + 8]
fld dword [esp + 0x24]
lea eax, [esp + 0xe4]
fstp dword [esp + 4]
fld dword [esp + 0x20]
fmul qword [0x6b21d0]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp dword [esp]
push eax
call fcn.00460c35
add esp, 0x10
push eax
lea ecx, [esp + 0x9c]
call fcn.00407b36
jmp 0x40a694
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp dword [esp]
push eax
call fcn.00460c35
add esp, 0x10
push eax
lea ecx, [esp + 0x9c]
call fcn.00407b36
fldz
push dword [esp + 0x24]
lea eax, [esp + 0x19c]
push ecx
push ecx
fst dword [esp + 4]
lea ecx, [esp + 0x164]
fstp dword [esp]
push eax
lea eax, [esp + 0xe8]
push eax
lea eax, [esp + 0xac]
push eax
lea eax, [esp + 0x130]
push eax
xor edi, edi
xor ebx, ebx
add esi, 0xbe51c
call fcn.0040abc3
mov ecx, eax
call fcn.0040abc3
push eax
push ebx
push edi
mov ecx, esi
call fcn.004a491c
fldz
sub esp, 0xc
fstp dword [esp + 8]
fld dword [esp + 0x24]
lea eax, [esp + 0xe4]
fstp dword [esp + 4]
fld dword [esp + 0x20]
fmul qword [0x6b21d0]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp dword [esp]
push eax
call fcn.00460c35
add esp, 0x10
push eax
lea ecx, [esp + 0x9c]
call fcn.00407b36
inc edi
push dword [esp + 0x24]
fldz
lea eax, [esp + 0x19c]
push ecx
push ecx
fst dword [esp + 4]
lea ecx, [esp + 0x164]
fstp dword [esp]
push eax
lea eax, [esp + 0xe8]
push eax
lea eax, [esp + 0xac]
push eax
lea eax, [esp + 0x130]
push eax
xor ebx, ebx
call fcn.0040abc3
mov ecx, eax
call fcn.0040abc3
push eax
push ebx
push edi
mov ecx, esi
call fcn.004a491c
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret