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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x84
push ebx
mov ebx, ecx
cmp dword [ebx + 0x1c2c], 0x32
push esi
push edi
mov dword [esp + 0x38], ebx
jge 0x450c70
mov edx, dword [ebx + 0x1c78]
push 0
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x24]
push ecx
push 0
push edx
mov ecx, ebx
mov dword [esp + 0x30], 0
mov dword [esp + 0x2c], 0x3f800000
call fcn.0044fe70
fld dword [ebx + 0x1c64]
fsub dword [esp + 0x1c]
mov edx, dword [ebx + 0x1c2c]
fld dword [esp + 0x18]
mov ecx, dword [ebp + 8]
fsub dword [esp + 0x1c]
sub edx, ecx
dec edx
fdivp st(1)
fstp dword [esp + 0x18]
je 0x450828
xor eax, eax
test edx, edx
jle 0x450828
lea ebx, [ebx]
mov ecx, dword [ebx + 0x1c2c]
sub ecx, eax
imul ecx, ecx, 0x88
add ecx, ebx
lea esi, [ecx + 0x114]
lea edi, [ecx + 0x19c]
inc eax
cmp eax, edx
mov ecx, 0x22
rep movsd dword es:[edi], dword [esi]
jl 0x450800
mov edx, dword [ebp + 8]
imul edx, edx, 0x88
add ebx, edx
lea esi, [ebx + 0x19c]
lea edi, [ebx + 0x224]
mov ecx, 0x22
rep movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0x38]
mov eax, dword [edi + 0x1c64]
mov dword [ebx + 0x230], eax
mov eax, dword [edi + 0x1c2c]
inc eax
push 1
mov dword [edi + 0x1c2c], eax
call fcn.0048b1b0
add esp, 4
test eax, eax
je 0x450c06
mov ecx, dword [eax + 0x44]
add eax, 0x44
cmp ecx, eax
je 0x450c06
mov esi, ecx
test esi, esi
je 0x450c06
add esi, 0xfffffffc
test esi, esi
je 0x450c06
cmp dword [esi + 0xc], 0x12
jne 0x450c06
mov edi, dword [esp + 0x18]
push edi
lea ecx, [esp + 0x64]
push ecx
mov ecx, esi
call fcn.00446170
push edi
lea edx, [esp + 0x74]
push edx
mov ecx, esi
call fcn.00446200
mov eax, dword [0x786f8c]
push edi
mov ecx, esi
mov dword [esp + 0x24], eax
call fcn.00446290
shr ax, 1
push eax
mov dword [esp + 0x38], eax
call fcn.0043c310
fstp dword [esp + 0x34]
mov ecx, dword [esp + 0x38]
push ecx
call fcn.0043c3d0
fdivr dword [esp + 0x38]
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx]
add esp, 8
mov dword [esp + 0x34], edx
fld dword [0x7870a8]
fdiv st(1)
fmul dword [0x7870ac]
fstp dword [esp + 0x24]
fstp st(0)
fld dword [0x784250]
fsub dword [esp + 0x18]
fstp dword [esp + 0x1c]
call fcn.00574530
mov ecx, dword [esi + 0x40]
mov eax, dword [ecx]
fmul dword [esp + 0x18]
fld dword [esp + 0x1c]
fmul dword [esp + 0x34]
mov dword [esp + 0x34], eax
faddp st(1)
fstp dword [esp + 0x28]
call fcn.00574530
mov ecx, dword [esi + 0x44]
mov edx, dword [ecx]
fmul dword [esp + 0x18]
fld dword [esp + 0x1c]
fmul dword [esp + 0x34]
mov dword [esp + 0x34], edx
faddp st(1)
fstp dword [esp + 0x2c]
call fcn.00574530
mov ecx, dword [esi + 0x48]
mov eax, dword [ecx]
fmul dword [esp + 0x18]
fld dword [esp + 0x1c]
fmul dword [esp + 0x34]
mov dword [esp + 0x34], eax
faddp st(1)
fstp dword [esp + 0x30]
call fcn.00574530
mov ecx, dword [esi + 0x4c]
mov edx, dword [ecx]
fmul dword [esp + 0x18]
fld dword [esp + 0x1c]
fmul dword [esp + 0x34]
faddp st(1)
fstp dword [esp + 0x34]
mov dword [esp + 0x3c], edx
call fcn.00574530
fstp dword [esp + 0x40]
mov ecx, dword [esi + 0x50]
mov eax, dword [ecx]
mov dword [esp + 0x44], eax
call fcn.00574530
fstp dword [esp + 0x48]
mov ecx, dword [esi + 0x54]
mov edx, dword [ecx]
mov dword [esp + 0x4c], edx
call fcn.00574530
fstp dword [esp + 0x50]
push edi
lea eax, [esp + 0x84]
push eax
mov ecx, esi
call fcn.004462e0
push edi
lea ecx, [esp + 0x5c]
push ecx
mov ecx, esi
call fcn.00446350
mov esi, dword [esi + 0x60]
mov edx, dword [esi]
mov ecx, esi
mov dword [esp + 0x54], edx
call fcn.00574530
fld dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
fmul dword [esp + 0x3c]
mov edx, dword [esp + 0x60]
fld dword [esp + 0x40]
mov ecx, eax
fmul dword [esp + 0x18]
mov dword [ebx + 0x234], eax
mov eax, edx
mov dword [ebx + 0x1b0], ecx
faddp st(1)
mov ecx, dword [esp + 0x64]
mov dword [ebx + 0x23c], edx
mov dword [ebx + 0x1c0], eax
mov eax, dword [esp + 0x68]
mov edx, ecx
mov dword [ebx + 0x240], ecx
mov ecx, eax
mov dword [ebx + 0x1c4], edx
mov edx, dword [esp + 0x70]
mov dword [ebx + 0x1c8], ecx
mov ecx, dword [esp + 0x74]
mov dword [ebx + 0x244], eax
mov eax, edx
mov dword [ebx + 0x254], edx
mov edx, ecx
mov dword [ebx + 0x1d8], eax
mov eax, dword [esp + 0x78]
mov dword [ebx + 0x1dc], edx
mov edx, dword [esp + 0x24]
mov dword [ebx + 0x258], ecx
mov ecx, eax
mov dword [ebx + 0x25c], eax
mov eax, edx
mov dword [ebx + 0x1e0], ecx
mov ecx, dword [esp + 0x28]
mov dword [ebx + 0x26c], edx
mov dword [ebx + 0x1e8], eax
mov eax, dword [esp + 0x2c]
mov edx, ecx
mov dword [ebx + 0x274], ecx
mov ecx, eax
mov dword [ebx + 0x1f0], edx
mov edx, dword [esp + 0x30]
mov dword [ebx + 0x1f8], ecx
mov ecx, dword [esp + 0x34]
mov dword [ebx + 0x27c], eax
mov eax, edx
mov dword [ebx + 0x284], edx
mov edx, ecx
mov dword [ebx + 0x200], eax
mov dword [ebx + 0x28c], ecx
mov dword [ebx + 0x208], edx
fadd dword [0x784260]
call fcn.0075bc00
fld dword [esp + 0x1c]
fmul dword [esp + 0x44]
mov byte [ebx + 0x294], al
fld dword [esp + 0x48]
mov byte [ebx + 0x20d], al
fmul dword [esp + 0x18]
faddp st(1)
fadd dword [0x784260]
call fcn.0075bc00
fld dword [esp + 0x1c]
fmul dword [esp + 0x4c]
mov byte [ebx + 0x296], al
fld dword [esp + 0x50]
mov byte [ebx + 0x20f], al
fmul dword [esp + 0x18]
faddp st(1)
fadd dword [0x784260]
call fcn.0075bc00
fld dword [esp + 0x80]
fadd dword [0x784260]
mov byte [ebx + 0x298], al
mov byte [ebx + 0x211], al
call fcn.0075bc00
fld dword [esp + 0x84]
fadd dword [0x784260]
mov byte [ebx + 0x29a], al
mov byte [ebx + 0x215], al
call fcn.0075bc00
fld dword [esp + 0x88]
fadd dword [0x784260]
mov byte [ebx + 0x29b], al
mov byte [ebx + 0x216], al
call fcn.0075bc00
fld dword [esp + 0x58]
fadd dword [0x784260]
mov byte [ebx + 0x29c], al
mov byte [ebx + 0x217], al
call fcn.0075bc00
fld dword [esp + 0x5c]
fadd dword [0x784260]
mov byte [ebx + 0x2a0], al
mov byte [ebx + 0x21a], al
call fcn.0075bc00
fld dword [esp + 0x1c]
fmul dword [esp + 0x54]
mov byte [ebx + 0x2a1], al
fxch st(1)
mov byte [ebx + 0x21b], al
fmul dword [esp + 0x18]
faddp st(1)
fadd dword [0x784260]
call fcn.0075bc00
mov edi, dword [esp + 0x38]
mov byte [ebx + 0x2a4], al
mov byte [ebx + 0x21d], al
mov al, byte [ebp + 0xc]
test al, al
je 0x450c2e
mov al, byte [ebp + 8]
inc al
mov byte [esp + 0x1d], al
lea eax, [esp + 0x1c]
push eax
mov ecx, edi
mov byte [esp + 0x20], 1
mov word [esp + 0x22], 4
call fcn.00447960
mov ecx, dword [edi + 0x1c64]
mov dword [esp + 0x54], ecx
mov ecx, dword [edi + 0x1c2c]
dec ecx
test ecx, ecx
jle 0x450c6a
mov edx, ecx
imul edx, edx, 0x88
lea edx, [edx + edi + 0x1a8]
fld dword [edx]
fcomp dword [esp + 0x54]
fnstsw ax
test ah, 0x41
jnp 0x450c6a
dec ecx
sub edx, 0x88
test ecx, ecx
jg 0x450c52
mov dword [edi + 0x1c30], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8