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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x174
push ebx
push esi
push edi
mov edi, ecx
mov byte [esp + 0x7b], dl
mov dword [esp + 0x114], edi
lea esi, [edi + 0x30]
mov eax, esi
mov ecx, dword [eax]
mov dword [esp + 0x14], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x18], edx
mov eax, dword [eax + 8]
mov dword [esp + 0x1c], eax
mov eax, dword [0x4fdf68]
mov ecx, eax
mov edx, dword [ecx]
mov dword [esp + 0xa8], edx
mov edx, dword [ecx + 4]
mov dword [esp + 0xac], edx
mov edx, edi
mov ecx, dword [ecx + 8]
mov dword [esp + 0xb0], ecx
mov ecx, dword [edx]
mov dword [esp + 0x68], ecx
mov ecx, dword [edx + 4]
fld dword [esp + 0x68]
mov edx, dword [edx + 8]
mov dword [esp + 0x6c], ecx
fsub dword [esp + 0xa8]
mov ecx, eax
mov dword [esp + 0x70], edx
mov edx, dword [ecx]
mov dword [esp + 0xa8], edx
mov edx, dword [ecx + 4]
mov dword [esp + 0xac], edx
mov edx, edi
mov ecx, dword [ecx + 8]
mov dword [esp + 0xb0], ecx
mov ecx, dword [edx]
mov dword [esp + 0x68], ecx
mov ecx, dword [edx + 4]
mov dword [esp + 0x6c], ecx
mov ecx, eax
mov edx, dword [edx + 8]
fld dword [esp + 0x6c]
fsub dword [esp + 0xac]
mov dword [esp + 0x70], edx
mov edx, dword [ecx]
mov dword [esp + 0xa8], edx
mov edx, dword [ecx + 4]
mov dword [esp + 0xac], edx
mov edx, edi
mov ecx, dword [ecx + 8]
mov dword [esp + 0xb0], ecx
mov ecx, dword [edx]
mov dword [esp + 0x68], ecx
mov ecx, dword [edx + 4]
mov dword [esp + 0x6c], ecx
lea ecx, [eax + 0x24]
mov edx, dword [edx + 8]
mov dword [esp + 0x70], edx
mov edx, dword [ecx]
fld dword [esp + 0x70]
fsub dword [esp + 0xb0]
mov dword [esp + 0x4c], edx
mov edx, dword [ecx + 4]
mov dword [esp + 0x50], edx
fmul dword [esp + 0x1c]
fxch st(1)
fmul dword [esp + 0x18]
faddp st(1)
fxch st(1)
fmul dword [esp + 0x14]
faddp st(1)
fstp dword [esp + 0x5c]
fld dword [ebp + 8]
fsub dword [0x49145c]
fst dword [esp + 0xb4]
fmul dword [eax + 0x40]
fld dword [esp + 0x4c]
fmul st(1)
mov ecx, dword [ecx + 8]
lea edx, [eax + 0xc]
mov dword [esp + 0x54], ecx
mov ecx, dword [edx]
fstp dword [esp + 0x4c]
fld dword [esp + 0x50]
fmul st(1)
mov dword [esp + 0x14], ecx
mov ecx, dword [edx + 4]
mov dword [esp + 0x18], ecx
lea ecx, [eax + 0x18]
mov edx, dword [edx + 8]
fstp dword [esp + 0x50]
mov dword [esp + 0x1c], edx
mov edx, dword [ecx]
fmul dword [esp + 0x54]
fld dword [esp + 0x14]
fadd dword [esp + 0x4c]
mov dword [esp + 0x4c], edx
mov edx, dword [ecx + 4]
mov ecx, dword [ecx + 8]
fstp dword [esp + 0x68]
fld dword [esp + 0x18]
fadd dword [esp + 0x50]
mov dword [esp + 0x50], edx
mov dword [esp + 0x54], ecx
push ecx
mov edx, esi
sub esp, 0xc
fstp dword [esp + 0x7c]
mov ebx, dword [edx]
mov ecx, esp
fadd dword [esp + 0x2c]
fld dword [0x491458]
fsub dword [ebp + 0xc]
sub esp, 0xc
fst dword [esp + 0x80]
fmul dword [eax + 0x40]
fld dword [esp + 0x68]
fmul st(1)
fstp dword [esp + 0x68]
fld dword [esp + 0x6c]
fmul st(1)
fstp dword [esp + 0x6c]
fmul dword [esp + 0x70]
fld dword [esp + 0x68]
fadd dword [esp + 0x84]
fstp dword [esp + 0x5c]
fld dword [esp + 0x6c]
fadd dword [esp + 0x88]
fstp dword [esp + 0x60]
fadd st(1)
fstp dword [esp + 0x64]
fstp st(0)
fld dword [esp + 0x5c]
fmul dword [esi]
fld dword [esp + 0x64]
fmul dword [edi + 0x38]
faddp st(1)
fld dword [esp + 0x60]
fmul dword [edi + 0x34]
faddp st(1)
fld dword [esp + 0x78]
fdiv st(1)
fstp dword [esp + 0x18]
mov dword [ecx], ebx
mov ebx, dword [edx + 4]
fstp st(0)
mov edx, dword [edx + 8]
mov dword [ecx + 4], ebx
mov dword [ecx + 8], edx
mov edx, dword [esp + 0x5c]
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [esp + 0x60]
mov dword [ecx + 4], edx
mov edx, dword [esp + 0x64]
mov dword [ecx + 8], edx
mov edx, dword [eax]
sub esp, 0xc
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [ecx + 4], edx
mov dword [ecx + 8], eax
lea ecx, [esp + 0x178]
push ecx
call fcn.00448b70
fld dword [ebp + 8]
fadd dword [0x491454]
mov edx, dword [eax]
mov dword [esp + 0xfc], edx
mov ecx, dword [eax + 4]
fsub dword [0x49145c]
mov edx, dword [eax + 8]
mov eax, dword [0x4fdf68]
mov dword [esp + 0x100], ecx
mov dword [esp + 0x104], edx
lea ecx, [eax + 0x24]
fstp dword [esp + 0x90]
fld dword [esp + 0x90]
mov edx, dword [ecx]
fmul dword [eax + 0x40]
mov dword [esp + 0x4c], edx
mov edx, dword [ecx + 4]
fld dword [esp + 0x4c]
fmul st(1)
mov ecx, dword [ecx + 8]
mov dword [esp + 0x50], edx
lea edx, [eax + 0xc]
mov dword [esp + 0x54], ecx
fstp dword [esp + 0x4c]
fld dword [esp + 0x50]
mov ecx, dword [edx]
fmul st(1)
mov dword [esp + 0x14], ecx
mov ecx, dword [edx + 4]
mov dword [esp + 0x18], ecx
lea ecx, [eax + 0x18]
mov edx, dword [edx + 8]
fstp dword [esp + 0x50]
mov dword [esp + 0x1c], edx
mov edx, dword [ecx]
fmul dword [esp + 0x54]
fld dword [esp + 0x14]
fadd dword [esp + 0x4c]
mov dword [esp + 0x4c], edx
mov edx, dword [ecx + 4]
mov ecx, dword [ecx + 8]
fstp dword [esp + 0x68]
fld dword [esp + 0x18]
fadd dword [esp + 0x50]
mov dword [esp + 0x50], edx
mov dword [esp + 0x54], ecx
fstp dword [esp + 0x6c]
fadd dword [esp + 0x1c]
fld dword [esp + 0x64]
fmul dword [eax + 0x40]
fld dword [esp + 0x4c]
fmul st(1)
fstp dword [esp + 0x4c]
fld dword [esp + 0x50]
fmul st(1)
fstp dword [esp + 0x50]
fmul dword [esp + 0x54]
fld dword [esp + 0x4c]
fadd dword [esp + 0x68]
fstp dword [esp + 0x40]
fld dword [esp + 0x50]
fadd dword [esp + 0x6c]
fstp dword [esp + 0x44]
fadd st(1)
fstp dword [esp + 0x48]
fstp st(0)
fld dword [esp + 0x40]
fmul dword [esi]
fld dword [esp + 0x48]
fmul dword [edi + 0x38]
push ecx
mov edx, esi
sub esp, 0xc
faddp st(1)
fld dword [esp + 0x54]
fmul dword [edi + 0x34]
mov ebx, dword [edx]
mov ecx, esp
sub esp, 0xc
faddp st(1)
fld dword [esp + 0x78]
fdiv st(1)
fstp dword [esp + 0x18]
mov dword [ecx], ebx
mov ebx, dword [edx + 4]
fstp st(0)
mov edx, dword [edx + 8]
mov dword [ecx + 4], ebx
mov dword [ecx + 8], edx
mov edx, dword [esp + 0x5c]
mov ecx, esp
sub esp, 0xc
mov dword [ecx], edx
mov edx, dword [esp + 0x6c]
mov dword [ecx + 4], edx
mov edx, dword [esp + 0x70]
mov dword [ecx + 8], edx
mov edx, dword [eax]
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [ecx + 4], edx
mov dword [ecx + 8], eax
lea ecx, [esp + 0x178]
push ecx
call fcn.00448b70
mov edx, dword [eax]
fld dword [esp + 0x90]
mov ecx, dword [eax + 4]
mov dword [esp + 0x4c], edx
mov dword [esp + 0x50], ecx
mov edx, dword [eax + 8]
mov eax, dword [0x4fdf68]
mov dword [esp + 0x54], edx
fmul dword [eax + 0x40]
lea ecx, [eax + 0x24]
mov edx, dword [eax + 0x24]
mov dword [esp + 0x34], edx
fld dword [esp + 0x34]
mov edx, dword [ecx + 4]
fmul st(1)
mov ecx, dword [ecx + 8]
mov dword [esp + 0x38], edx
lea edx, [eax + 0xc]
mov dword [esp + 0x3c], ecx
fstp dword [esp + 0x34]
fld dword [esp + 0x38]
mov ecx, dword [edx]
fmul st(1)
mov dword [esp + 0x14], ecx
mov ecx, dword [edx + 4]
mov dword [esp + 0x18], ecx
mov edx, dword [edx + 8]
fstp dword [esp + 0x38]
mov dword [esp + 0x1c], edx
fmul dword [esp + 0x3c]
fld dword [esp + 0x14]
fadd dword [esp + 0x34]
fstp dword [esp + 0x68]
fld dword [esp + 0x18]
fadd dword [esp + 0x38]
fstp dword [esp + 0x6c]
fadd dword [esp + 0x1c]
fld dword [ebp + 0xc]
fadd dword [0x491454]
fsubr dword [0x491458]
fst dword [esp + 0x64]
fmul dword [eax + 0x40]
lea ecx, [eax + 0x18]
mov edx, dword [eax + 0x18]
mov dword [esp + 0x34], edx
fld dword [esp + 0x34]
mov edx, dword [ecx + 4]
fmul st(1)
mov dword [esp + 0x38], edx
mov ecx, dword [ecx + 8]
mov dword [esp + 0x3c], ecx
push ecx
sub esp, 0xc
mov edx, esi
fstp dword [esp + 0x44]
fld dword [esp + 0x48]
fmul st(1)
mov ebx, dword [edx]
mov ecx, esp
sub esp, 0xc
fstp dword [esp + 0x54]
fmul dword [esp + 0x58]
fld dword [esp + 0x50]
fadd dword [esp + 0x84]
fstp dword [esp + 0x5c]
fld dword [esp + 0x54]
fadd dword [esp + 0x88]
fstp dword [esp + 0x60]
fadd st(1)
fstp dword [esp + 0x64]
fstp st(0)
fld dword [esp + 0x5c]
fmul dword [esi]
fld dword [esp + 0x64]
fmul dword [edi + 0x38]
faddp st(1)
fld dword [esp + 0x60]
fmul dword [edi + 0x34]
faddp st(1)
fld dword [esp + 0x78]
fdiv st(1)
fstp dword [esp + 0x18]
mov dword [ecx], ebx
mov ebx, dword [edx + 4]
fstp st(0)
mov edx, dword [edx + 8]
mov dword [ecx + 4], ebx
mov dword [ecx + 8], edx
mov edx, dword [esp + 0x5c]
mov ecx, esp
sub esp, 0xc
mov dword [ecx], edx
mov edx, dword [esp + 0x6c]
mov dword [ecx + 4], edx
mov edx, dword [esp + 0x70]
mov dword [ecx + 8], edx
mov edx, dword [eax]
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [ecx + 4], edx
mov dword [ecx + 8], eax
lea ecx, [esp + 0x178]
push ecx
call fcn.00448b70
mov edx, dword [eax]
mov dword [esp + 0x108], edx
mov ecx, dword [eax + 4]
mov dword [esp + 0x10c], ecx
mov edx, dword [eax + 8]
mov eax, dword [0x4fdf68]
fld dword [esp + 0xb4]
lea ecx, [eax + 0x24]
mov dword [esp + 0x110], edx
fmul dword [eax + 0x40]
mov edx, dword [ecx]
mov dword [esp + 0x34], edx
mov edx, dword [ecx + 4]
mov dword [esp + 0x38], edx
mov ecx, dword [ecx + 8]
fld dword [esp + 0x34]
fmul st(1)
lea edx, [eax + 0xc]
mov dword [esp + 0x3c], ecx
mov ecx, dword [edx]
fstp dword [esp + 0x34]
fld dword [esp + 0x38]
fmul st(1)
mov dword [esp + 0x14], ecx
mov ecx, dword [edx + 4]
mov dword [esp + 0x18], ecx
lea ecx, [eax + 0x18]
mov edx, dword [edx + 8]
fstp dword [esp + 0x38]
mov dword [esp + 0x1c], edx
mov edx, dword [ecx]
fmul dword [esp + 0x3c]
fld dword [esp + 0x14]
fadd dword [esp + 0x34]
mov dword [esp + 0x34], edx
mov edx, dword [ecx + 4]
mov ecx, dword [ecx + 8]
fstp dword [esp + 0x68]
fld dword [esp + 0x18]
fadd dword [esp + 0x38]
mov dword [esp + 0x38], edx
mov dword [esp + 0x3c], ecx
push ecx
mov ecx, dword [esi]
sub esp, 0xc
fstp dword [esp + 0x7c]
mov edx, esp
sub esp, 0xc
fadd dword [esp + 0x38]
fld dword [esp + 0x80]
fmul dword [eax + 0x40]
fld dword [esp + 0x50]
fmul st(1)
fstp dword [esp + 0x50]
fld dword [esp + 0x54]
fmul st(1)
fstp dword [esp + 0x54]
fmul dword [esp + 0x58]
fld dword [esp + 0x50]
fadd dword [esp + 0x84]
fstp dword [esp + 0x5c]
fld dword [esp + 0x54]
fadd dword [esp + 0x88]
fstp dword [esp + 0x60]
fadd st(1)
fstp dword [esp + 0x64]
fstp st(0)
fld dword [esp + 0x5c]
fmul dword [esi]
fld dword [esp + 0x64]
fmul dword [edi + 0x38]
faddp st(1)
fld dword [esp + 0x60]
fmul dword [edi + 0x34]
faddp st(1)
fld dword [esp + 0x78]
fdiv st(1)
fstp dword [esp + 0x18]
mov dword [edx], ecx
mov ecx, dword [esi + 4]
fstp st(0)
mov dword [edx + 4], ecx
mov ecx, dword [esi + 8]
mov dword [edx + 8], ecx
mov ecx, dword [esp + 0x5c]
mov edx, esp
sub esp, 0xc
mov dword [edx], ecx
mov ecx, dword [esp + 0x6c]
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0x70]
mov dword [edx + 8], ecx
mov ecx, dword [eax]
mov edx, esp
mov dword [edx], ecx
mov ecx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [edx + 4], ecx
lea ecx, [esp + 0x178]
push ecx
mov dword [edx + 8], eax
call fcn.00448b70
mov edx, dword [eax]
xor bl, bl
mov dword [esp + 0x34], edx
mov byte [esp + 0x83], bl
fld dword [esp + 0x34]
mov ecx, dword [eax + 4]
mov byte [esp + 0x9b], bl
fsub dword [esp + 0x4c]
mov dword [esp + 0x38], ecx
mov ecx, dword [edi + 0x64]
fld dword [esp + 0x38]
fsub dword [esp + 0x50]
mov edx, dword [eax + 8]
mov eax, dword [edi + 0x60]
push ecx
mov dword [esp + 0x40], edx
fld st(0)
fmul st(1)
fld st(2)
fmul st(3)
mov byte [esp + 0x5f], bl
mov dword [esp + 0x78], eax
faddp st(1)
mov dword [esp + 0x28], ecx
fstp dword [esp]
fstp st(0)
fstp st(0)
call fcn.0044eab0
fmul dword [0x491450]
xor eax, eax
lea ecx, [esp + 0xb8]
mov dl, byte [edi + eax + 0x70]
test dl, dl
je 0x4018ca
fst dword [ecx]
jmp 0x4018d0
mov dword [ecx], 0
inc eax
add ecx, 4
cmp eax, 4
jb 0x4018be
mov edx, dword [edi + 0x68]
mov eax, dword [edi + 0x6c]
mov ecx, edi
mov dword [esp + 0x2c], edx
fstp st(0)
mov edx, dword [ecx]
mov dword [esp + 0x28], eax
fld dword [esp + 0xfc]
mov eax, dword [ecx + 4]
mov dword [esp + 0x14], edx
fsub dword [esp + 0x14]
fld dword [esp + 0x100]
mov ecx, dword [ecx + 8]
mov dword [esp + 0x18], eax
fsub dword [esp + 0x18]
fld dword [esp + 0x104]
mov dword [esp + 0x1c], ecx
fsub dword [esp + 0x1c]
fld st(2)
fmul dword [edi + 0x3c]
fld st(1)
fmul dword [edi + 0x44]
faddp st(1)
fld st(2)
fmul dword [edi + 0x40]
faddp st(1)
fstp dword [esp + 0xb4]
fmul dword [edi + 0x50]
fxch st(1)
fmul dword [edi + 0x4c]
faddp st(1)
fxch st(1)
fmul dword [edi + 0x48]
faddp st(1)
fstp dword [esp + 0x94]
fld dword [esp + 0x2c]
fcomp dword [0x49144c]
fld dword [esp + 0x94]
fnstsw ax
test ah, 1
je 0x40196e
fsub dword [esp + 0x24]
fmul dword [esp + 0x2c]
fsubr dword [esp + 0xb4]
fcomp dword [esp + 0xc4]
fnstsw ax
test ah, 0x41
jne 0x4019f4
fld dword [esp + 0x28]
fcomp dword [0x49144c]
fld dword [esp + 0x94]
fnstsw ax
test ah, 1
je 0x4019a3
fsub dword [esp + 0x24]
fmul dword [esp + 0x28]
fld dword [esp + 0x74]
fsub st(1)
fsub dword [esp + 0xb4]
fcomp dword [esp + 0xbc]
fnstsw ax
test ah, 0x41
fstp st(0)
jne 0x4019f4
fld dword [esp + 0x94]
fcomp dword [esp + 0xb8]
fnstsw ax
test ah, 0x41
jne 0x4019f4
fld dword [esp + 0x24]
fsub dword [esp + 0x94]
fcomp dword [esp + 0xc0]
fnstsw ax
test ah, 0x41
jne 0x4019f4
mov bl, 1
fld dword [esp + 0x4c]
mov edx, edi
mov eax, dword [edx]
mov dword [esp + 0x14], eax
fsub dword [esp + 0x14]
mov ecx, dword [edx + 4]
fld dword [esp + 0x50]
mov edx, dword [edx + 8]
mov dword [esp + 0x18], ecx
fsub dword [esp + 0x18]
fld dword [esp + 0x54]
mov dword [esp + 0x1c], edx
fsub dword [esp + 0x1c]
fld st(2)
fmul dword [edi + 0x3c]
fld st(1)
fmul dword [edi + 0x44]
faddp st(1)
fld st(2)
fmul dword [edi + 0x40]
faddp st(1)
fstp dword [esp + 0x64]
fmul dword [edi + 0x50]
fxch st(1)
fmul dword [edi + 0x4c]
faddp st(1)
fxch st(1)
fmul dword [edi + 0x48]
faddp st(1)
fstp dword [esp + 0xa4]
fld dword [esp + 0x2c]
fcomp dword [0x49144c]
fld dword [esp + 0xa4]
fnstsw ax
test ah, 1
je 0x401a6d
fsub dword [esp + 0x24]
fmul dword [esp + 0x2c]
fsubr dword [esp + 0x64]
fcomp dword [esp + 0xc4]
fnstsw ax
test ah, 0x41
jne 0x401af3
fld dword [esp + 0x28]
fcomp dword [0x49144c]
fld dword [esp + 0xa4]
fnstsw ax
test ah, 1
je 0x401a9f
fsub dword [esp + 0x24]
fmul dword [esp + 0x28]
fld dword [esp + 0x74]
fsub st(1)
fsub dword [esp + 0x64]
fcomp dword [esp + 0xbc]
fnstsw ax
test ah, 0x41
fstp st(0)
jne 0x401af3
fld dword [esp + 0xa4]
fcomp dword [esp + 0xb8]
fnstsw ax
test ah, 0x41
jne 0x401af3
fld dword [esp + 0x24]
fsub dword [esp + 0xa4]
fcomp dword [esp + 0xc0]
fnstsw ax
test ah, 0x41
jne 0x401af3
mov byte [esp + 0x83], 1
fld dword [esp + 0x34]
mov eax, edi
mov ecx, dword [eax]
mov dword [esp + 0x14], ecx
fsub dword [esp + 0x14]
mov edx, dword [eax + 4]
fld dword [esp + 0x38]
mov eax, dword [eax + 8]
mov dword [esp + 0x18], edx
fsub dword [esp + 0x18]
fld dword [esp + 0x3c]
mov dword [esp + 0x1c], eax
fsub dword [esp + 0x1c]
fld st(2)
fmul dword [edi + 0x3c]
fld st(1)
fmul dword [edi + 0x44]
faddp st(1)
fld st(2)
fmul dword [edi + 0x40]
faddp st(1)
fstp dword [esp + 0xe0]
fmul dword [edi + 0x50]
fxch st(1)
fmul dword [edi + 0x4c]
faddp st(1)
fxch st(1)
fmul dword [edi + 0x48]
faddp st(1)
fstp dword [esp + 0xa0]
fld dword [esp + 0x2c]
fcomp dword [0x49144c]
fld dword [esp + 0xa0]
fnstsw ax
test ah, 1
je 0x401b6f
fsub dword [esp + 0x24]
fmul dword [esp + 0x2c]
fsubr dword [esp + 0xe0]
fcomp dword [esp + 0xc4]
fnstsw ax
test ah, 0x41
jne 0x401bf5
fld dword [esp + 0x28]
fcomp dword [0x49144c]
fld dword [esp + 0xa0]
fnstsw ax
test ah, 1
je 0x401ba4
fsub dword [esp + 0x24]
fmul dword [esp + 0x28]
fld dword [esp + 0x74]
fsub st(1)
fsub dword [esp + 0xe0]
fcomp dword [esp + 0xbc]
fnstsw ax
test ah, 0x41
fstp st(0)
jne 0x401bf5
fld dword [esp + 0xa0]
fcomp dword [esp + 0xb8]
fnstsw ax
test ah, 0x41
jne 0x401bf5
fld dword [esp + 0x24]
fsub dword [esp + 0xa0]
mov dl, 1
fcomp dword [esp + 0xc0]
fnstsw ax
test ah, 0x41
je 0x401bfc
mov dl, byte [esp + 0x9b]
fld dword [esp + 0x108]
mov ecx, edi
mov eax, dword [ecx]
mov dword [esp + 0x14], eax
fsub dword [esp + 0x14]
mov eax, dword [ecx + 4]
fld dword [esp + 0x10c]
mov ecx, dword [ecx + 8]
mov dword [esp + 0x18], eax
fsub dword [esp + 0x18]
fld dword [esp + 0x110]
mov dword [esp + 0x1c], ecx
fsub dword [esp + 0x1c]
fld st(2)
fmul dword [edi + 0x3c]
fld st(1)
fmul dword [edi + 0x44]
faddp st(1)
fld st(2)
fmul dword [edi + 0x40]
faddp st(1)
fstp dword [esp + 0x90]
fmul dword [edi + 0x50]
fxch st(1)
fmul dword [edi + 0x4c]
faddp st(1)
fxch st(1)
fmul dword [edi + 0x48]
faddp st(1)
fstp dword [esp + 0x9c]
fld dword [esp + 0x2c]
fcomp dword [0x49144c]
fld dword [esp + 0x9c]
fnstsw ax
test ah, 1
je 0x401c81
fsub dword [esp + 0x24]
fmul dword [esp + 0x2c]
fsubr dword [esp + 0x90]
fcomp dword [esp + 0xc4]
fnstsw ax
test ah, 0x41
jne 0x401d07
fld dword [esp + 0x28]
fcomp dword [0x49144c]
fld dword [esp + 0x9c]
fnstsw ax
test ah, 1
je 0x401cb6
fsub dword [esp + 0x24]
fmul dword [esp + 0x28]
fld dword [esp + 0x74]
fsub st(1)
fsub dword [esp + 0x90]
fcomp dword [esp + 0xbc]
fnstsw ax
test ah, 0x41
fstp st(0)
jne 0x401d07
fld dword [esp + 0x9c]
fcomp dword [esp + 0xb8]
fnstsw ax
test ah, 0x41
jne 0x401d07
fld dword [esp + 0x24]
fsub dword [esp + 0x9c]
mov cl, 1
fcomp dword [esp + 0xc0]
fnstsw ax
test ah, 0x41
je 0x401d0b
mov cl, byte [esp + 0x5b]
mov al, byte [edi + 0x54]
test al, al
je 0x402cac
mov edi, dword [edi + 0x58]
mov eax, dword [edi + 0x14]
mov esi, dword [edi]
add eax, esi
mov dword [esp + 0x130], eax
mov eax, dword [edi + 0xc]
test bl, bl
mov dword [esp + 0x134], eax
je 0x40233f
mov al, byte [esp + 0x83]
test al, al
je 0x40233f
test dl, dl
je 0x40233f
test cl, cl
je 0x40233f
mov al, byte [esp + 0x7b]
test al, al
jne 0x40233f
fld dword [ebp + 8]
mov dword [esp + 0x30], 0
call fcn.0044eaa0
mov esi, dword [0x4b0a50]
mov dword [esp + 0x64], eax
fld dword [esp + 0x30]
fmul dword [0x491448]
fstp dword [esp + 0x5c]
fld dword [0x491454]
fsub dword [esp + 0x30]
fmul dword [0x491448]
fstp dword [esp + 0x74]
fld dword [esp + 0x30]
fadd dword [ebp + 0xc]
call fcn.0044eaa0
mov edi, eax
and esi, 0xff
xor ebx, ebx
xor eax, eax
dec esi
mov dword [esp + 0xd0], ebx
mov dword [esp + 0xd4], ebx
je 0x401dfb
dec esi
jne 0x401e82
mov ecx, dword [0x4b0a58]
mov eax, dword [esp + 0x64]
mov edx, ecx
imul eax, ecx
imul edx, dword [0x4b0a54]
shr edx, 3
imul edx, edi
mov ecx, dword [0x4b0a4c]
shr eax, 3
add ecx, edx
add eax, ecx
jmp 0x401e78
mov edx, dword [0x4b0a48]
mov al, byte [edx + 0x10]
test al, al
je 0x401e3d
mov ecx, dword [0x51da28]
lea eax, [esp + 0xd0]
push eax
push ecx
call dword [sym.imp.USER32.dll_ClientToScreen]
cmp dword [esp + 0xd0], ebx
jge 0x401e2d
mov dword [esp + 0xd0], ebx
cmp dword [esp + 0xd4], ebx
jge 0x401e3d
mov dword [esp + 0xd4], ebx
mov ecx, dword [0x4b0a48]
call fcn.0044c6c0
cmp eax, ebx
je 0x401e82
mov edx, dword [esp + 0xd0]
mov ecx, dword [esp + 0x64]
add edx, ecx
mov ecx, dword [esp + 0xd4]
imul edx, dword [0x4b0a58]
add ecx, edi
imul ecx, dword [0x4b0a54]
shr edx, 3
add ecx, eax
lea eax, [ecx + edx]
mov dword [0x4b0a5c], 1
fld dword [esp + 0xfc]
fmul dword [esp + 0x74]
fld dword [esp + 0x5c]
fmul dword [esp + 0x34]
mov dword [esp + 0x60], eax
faddp st(1)
fstp dword [esp + 0x68]
fld dword [esp + 0x100]
fmul dword [esp + 0x74]
fld dword [esp + 0x5c]
fmul dword [esp + 0x38]
faddp st(1)
fstp dword [esp + 0x6c]
fld dword [esp + 0x108]
fmul dword [esp + 0x5c]
fld dword [esp + 0x74]
fmul dword [esp + 0x4c]
faddp st(1)
fstp dword [esp + 0xa8]
fld dword [esp + 0x10c]
fmul dword [esp + 0x5c]
fld dword [esp + 0x74]
fmul dword [esp + 0x50]
faddp st(1)
fstp dword [esp + 0xac]
fld dword [esp + 0x30]
call fcn.0044eaa0
and eax, 3
mov dword [esp + 0x10], 0
shl eax, 2
mov dword [esp + 0x90], eax
fld dword [0x491454]
fsub dword [esp + 0x10]
sub esp, 8
fld st(0)
fmul dword [esp + 0x70]
fld dword [esp + 0x18]
fmul dword [esp + 0xb0]
faddp st(1)
fstp dword [esp + 0x8c]
fmul dword [esp + 0x74]
fld dword [esp + 0x18]
fmul dword [esp + 0xb4]
faddp st(1)
fld dword [esp + 0x8c]
fmul dword [0x491444]
fstp dword [esp + 0x8c]
fmul dword [0x491444]
fld dword [esp + 0x8c]
fadd dword [0x491440]
fstp dword [esp + 0x8c]
fadd dword [0x491440]
fstp dword [esp + 0x90]
fld dword [esp + 0x8c]
fstp qword [esp]
call fcn.0047e185
call fcn.0044eaa0
fld dword [esp + 0x90]
mov esi, eax
fstp qword [esp]
and esi, 0x3ff
call fcn.0047e185
add esp, 8
call fcn.0044eaa0
and eax, 0x3ff
mov dword [esp + 0xcc], 0
mov dword [esp + 0xc8], eax
cmp esi, 2
fild qword [esp + 0xc8]
fsubr dword [esp + 0x88]
fstp dword [esp + 0xd8]
jb 0x4022c4
cmp eax, 2
jb 0x4022c4
cmp esi, 0x3fd
ja 0x4022c4
cmp eax, 0x3fd
ja 0x4022c4
mov edx, dword [esp + 0x114]
fld dword [esp + 0xd8]
mov ecx, dword [edx + 0x58]
mov edx, dword [esp + 0x130]
fmul dword [0x49143c]
mov edi, dword [ecx + 4]
mov ecx, edi
imul ecx, eax
fld st(0)
fld dword [0x49143c]
fsub st(1)
add ecx, esi
lea ebx, [edx + ecx*2]
add ecx, ebx
xor ebx, ebx
mov bl, byte [ecx]
inc ecx
mov dword [esp + 0x1c], ebx
xor ebx, ebx
mov bl, byte [ecx]
inc ecx
mov dword [esp + 0x18], ebx
xor ebx, ebx
mov bl, byte [ecx]
inc ecx
mov dword [esp + 0x14], ebx
xor ebx, ebx
mov bl, byte [ecx]
inc ecx
mov dword [esp + 0x120], ebx
xor ebx, ebx
mov bl, byte [ecx]
mov dword [esp + 0x11c], ebx
xor ebx, ebx
inc eax
mov bl, byte [ecx + 1]
imul eax, edi
add eax, esi
xor ecx, ecx
mov dword [esp + 0x118], ebx
lea edx, [edx + eax*2]
add eax, edx
xor edx, edx
mov dl, byte [eax + 1]
mov cl, byte [eax]
inc eax
mov dword [esp + 0x48], ecx
inc eax
xor ecx, ecx
mov dword [esp + 0x44], edx
mov cl, byte [eax]
inc eax
mov dword [esp + 0x40], ecx
xor edx, edx
fild dword [esp + 0x40]
mov dl, byte [eax]
inc eax
mov dword [esp + 0x12c], edx
xor ecx, ecx
fmul st(2)
fild dword [esp + 0x14]
mov cl, byte [eax]
xor edx, edx
mov dl, byte [eax + 1]
mov dword [esp + 0x128], ecx
fmul st(2)
mov dword [esp + 0x124], edx
faddp st(1)
fmul dword [0x491438]
call fcn.0044eaa0
fild dword [esp + 0x44]
mov dword [esp + 0xe4], eax
fmul st(2)
fild dword [esp + 0x18]
fmul st(2)
faddp st(1)
fmul dword [0x491438]
call fcn.0044eaa0
mov dword [esp + 0xe8], eax
fild dword [esp + 0x48]
fmul st(2)
fild dword [esp + 0x1c]
fmul st(2)
faddp st(1)
fmul dword [0x491438]
call fcn.0044eaa0
fstp st(0)
fstp st(0)
fld dword [0x49143c]
fsub st(1)
fild dword [esp + 0x124]
mov dword [esp + 0xec], eax
fmul st(2)
fild dword [esp + 0x118]
fmul st(2)
faddp st(1)
fmul dword [0x491438]
call fcn.0044eaa0
fild dword [esp + 0x128]
mov dword [esp + 0xf0], eax
fmul st(2)
fild dword [esp + 0x11c]
fmul st(2)
faddp st(1)
fmul dword [0x491438]
call fcn.0044eaa0
fild dword [esp + 0x12c]
mov dword [esp + 0xf4], eax
fmul st(2)
fild dword [esp + 0x120]
fmul st(2)
faddp st(1)
fmul dword [0x491438]
call fcn.0044eaa0
fstp st(0)
fstp st(0)
mov dword [esp + 0x134], esi
mov dword [esp + 0x138], 0
fild qword [esp + 0x134]
mov dword [esp + 0xf8], eax
fsubr dword [esp + 0x84]
fmul dword [0x49143c]
fld dword [0x49143c]
fsub st(1)
fild dword [esp + 0xf0]
fmul st(2)
fild dword [esp + 0xe4]
fmul st(2)
faddp st(1)
fmul dword [0x491438]
call fcn.0044eaa0
fild dword [esp + 0xf4]
mov esi, eax
fmul st(2)
fild dword [esp + 0xe8]
fmul st(2)
faddp st(1)
fmul dword [0x491438]
call fcn.0044eaa0
fild dword [esp + 0xf8]
mov edi, eax
fmul st(2)
fild dword [esp + 0xec]
fmul st(2)
faddp st(1)
fmul dword [0x491438]
call fcn.0044eaa0
fstp st(0)
fstp st(0)
mov dword [esp + 0x14], esi
mov ebx, eax
add eax, edi
add eax, esi
sete al
test al, al
jne 0x4022bf
fld dword [esp + 0x10]
call fcn.0044eaa0
mov ecx, dword [esp + 0x90]
and eax, 3
add eax, ecx
fld dword [eax*4 + 0x4b1020]
call fcn.0044eaa0
add esi, eax
add ebx, eax
add edi, eax
cmp esi, 0xff
jl 0x402282
mov esi, 0xff
cmp edi, 0xff
jl 0x40228f
mov edi, 0xff
cmp ebx, 0xff
jl 0x40229c
mov ebx, 0xff
sub esp, 0xc
mov eax, esp
mov dword [eax], esi
mov dword [eax + 4], edi
mov dword [eax + 8], ebx
call dword [0x4b0a60]
mov ecx, dword [esp + 0x60]
mov word [ecx], ax
add ecx, 2
mov dword [esp + 0x60], ecx
jmp 0x4022c4
add dword [esp + 0x60], 2
fld dword [esp + 0x10]
fadd dword [0x491434]
fst dword [esp + 0x10]
fcomp dword [0x491454]
fnstsw ax
test ah, 1
jne 0x401f0e
mov esi, dword [0x4b0a50]
mov eax, esi
and eax, 0xff
dec eax
jne 0x40230d
mov eax, dword [0x4b0a5c]
test eax, eax
je 0x40230d
mov ecx, dword [0x4b0a48]
call fcn.0044c780
mov esi, dword [0x4b0a50]
fld dword [esp + 0x30]
fadd dword [0x491434]
mov dword [0x4b0a5c], 0
fst dword [esp + 0x30]
fcomp dword [0x491454]
fnstsw ax
test ah, 1
jne 0x401d7e
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
fld dword [ebp + 8]
mov dword [esp + 0x60], 0
call fcn.0044eaa0
mov edi, eax
mov dword [esp + 0x144], edi
jmp 0x402361
mov edi, dword [esp + 0x144]
fld dword [esp + 0x60]
fmul dword [0x491448]
fstp dword [esp + 0x20]
fld dword [0x491454]
fsub dword [esp + 0x60]
fmul dword [0x491448]
fstp dword [esp + 0x10]
fld dword [esp + 0x60]
fadd dword [ebp + 0xc]
call fcn.0044eaa0
mov ecx, dword [0x4b0a50]
mov esi, eax
and ecx, 0xff
xor ebx, ebx
xor eax, eax
dec ecx
mov dword [esp + 0xc8], ebx
mov dword [esp + 0xcc], ebx
je 0x4023e2
dec ecx
jne 0x402465
mov ecx, dword [0x4b0a58]
mov eax, edi
mov edx, ecx
imul eax, ecx
imul edx, dword [0x4b0a54]
shr edx, 3
imul edx, esi
mov ecx, dword [0x4b0a4c]
shr eax, 3
add ecx, edx
add eax, ecx
jmp 0x40245b
mov edx, dword [0x4b0a48]
mov al, byte [edx + 0x10]
test al, al
je 0x402424
mov ecx, dword [0x51da28]
lea eax, [esp + 0xc8]
push eax
push ecx
call dword [sym.imp.USER32.dll_ClientToScreen]
cmp dword [esp + 0xc8], ebx
jge 0x402414
mov dword [esp + 0xc8], ebx
cmp dword [esp + 0xcc], ebx
jge 0x402424
mov dword [esp + 0xcc], ebx
mov ecx, dword [0x4b0a48]
call fcn.0044c6c0
cmp eax, ebx
je 0x402465
mov edx, dword [esp + 0xc8]
mov ecx, dword [esp + 0xcc]
add edx, edi
add ecx, esi
imul edx, dword [0x4b0a58]
imul ecx, dword [0x4b0a54]
shr edx, 3
add ecx, eax
lea eax, [ecx + edx]
mov dword [0x4b0a5c], 1
fld dword [esp + 0x10]
fmul dword [esp + 0xfc]
fld dword [esp + 0x20]
fmul dword [esp + 0x34]
mov dword [esp + 0xdc], eax
faddp st(1)
fstp dword [esp + 0x168]
fld dword [esp + 0x10]
fmul dword [esp + 0x100]
fld dword [esp + 0x20]
fmul dword [esp + 0x38]
faddp st(1)
fstp dword [esp + 0x16c]
fld dword [esp + 0x20]
fmul dword [esp + 0x108]
fld dword [esp + 0x10]
fmul dword [esp + 0x4c]
faddp st(1)
fstp dword [esp + 0x15c]
fld dword [esp + 0x20]
fmul dword [esp + 0x10c]
fld dword [esp + 0x10]
fmul dword [esp + 0x50]
faddp st(1)
fstp dword [esp + 0x160]
fld dword [esp + 0x20]
fmul dword [esp + 0xe0]
fld dword [esp + 0x10]
fmul dword [esp + 0xb4]
faddp st(1)
fstp dword [esp + 0x148]
fld dword [esp + 0x20]
fmul dword [esp + 0xa0]
fld dword [esp + 0x10]
fmul dword [esp + 0x94]
faddp st(1)
fstp dword [esp + 0x140]
fld dword [esp + 0x20]
fmul dword [esp + 0x90]
fld dword [esp + 0x10]
fmul dword [esp + 0x64]
faddp st(1)
fstp dword [esp + 0x13c]
fld dword [esp + 0x20]
fmul dword [esp + 0x9c]
fld dword [esp + 0x10]
fmul dword [esp + 0xa4]
faddp st(1)
fstp dword [esp + 0x14c]
fld dword [esp + 0x60]
call fcn.0044eaa0
and eax, 3
mov dword [esp + 0x30], 0
shl eax, 2
mov dword [esp + 0xd0], eax
fld dword [0x491454]
fsub dword [esp + 0x30]
fstp dword [esp + 0x10]
fld dword [esp + 0x30]
fmul dword [esp + 0x13c]
fld dword [esp + 0x10]
fmul dword [esp + 0x148]
faddp st(1)
fstp dword [esp + 0x7c]
fld dword [esp + 0x30]
fmul dword [esp + 0x14c]
fld dword [esp + 0x10]
fmul dword [esp + 0x140]
faddp st(1)
fstp dword [esp + 0x20]
fld dword [esp + 0x2c]
fcomp dword [0x49144c]
fld dword [esp + 0x20]
fnstsw ax
test ah, 1
je 0x4025d2
fsub dword [esp + 0x24]
fmul dword [esp + 0x2c]
fcomp dword [esp + 0x7c]
fnstsw ax
test ah, 0x41
je 0x402c3b
fld dword [esp + 0x28]
fcomp dword [0x49144c]
fld dword [esp + 0x20]
fnstsw ax
test ah, 1
je 0x4025fe
fsub dword [esp + 0x24]
fmul dword [esp + 0x28]
fld dword [esp + 0x74]
fsub st(1)
fld dword [esp + 0x7c]
fcompp
fnstsw ax
test ah, 0x41
fstp st(0)
je 0x402c3b
fld dword [esp + 0x20]
fcomp dword [0x49144c]
fnstsw ax
test ah, 1
jne 0x402c3b
fld dword [esp + 0x20]
fcomp dword [esp + 0x24]
fnstsw ax
test ah, 0x41
je 0x402c3b
fld dword [esp + 0x30]
fmul dword [esp + 0x15c]
fld dword [esp + 0x10]
fmul dword [esp + 0x168]
sub esp, 8
faddp st(1)
fld dword [esp + 0x38]
fmul dword [esp + 0x168]
fld dword [esp + 0x18]
fmul dword [esp + 0x174]
faddp st(1)
fstp dword [esp + 0x4c]
fmul dword [0x491444]
fld dword [esp + 0x4c]
fmul dword [0x491444]
fstp dword [esp + 0x4c]
fadd dword [0x491440]
fstp dword [esp + 0x48]
fld dword [esp + 0x4c]
fadd dword [0x491440]
fstp dword [esp + 0x4c]
fld dword [esp + 0x48]
fstp qword [esp]
call fcn.0047e185
call fcn.0044eaa0
mov esi, eax
xor edi, edi
and esi, 0x3ff
mov dword [esp + 0x124], edi
mov dword [esp + 0x120], esi
fild qword [esp + 0x120]
fsubr dword [esp + 0x48]
fstp dword [esp + 0x18]
fld dword [esp + 0x4c]
fstp qword [esp]
call fcn.0047e185
add esp, 8
call fcn.0044eaa0
mov ecx, dword [esp + 0x134]
and eax, 0x3ff
mov dword [esp + 0x124], eax
mov dword [esp + 0x128], edi
fild qword [esp + 0x124]
cmp ecx, 0x18
fsubr dword [esp + 0x44]
jne 0x4027d1
mov edx, dword [esp + 0x114]
mov ecx, dword [edx + 0x58]
mov edx, dword [esp + 0x130]
mov edi, dword [ecx + 4]
mov ecx, eax
imul ecx, edi
add ecx, esi
lea ebx, [edx + ecx*2]
add ecx, ebx
xor ebx, ebx
mov bl, byte [ecx]
inc ecx
mov dword [esp + 0x8c], ebx
xor ebx, ebx
mov bl, byte [ecx]
inc ecx
mov dword [esp + 0x88], ebx
xor ebx, ebx
mov bl, byte [ecx]
inc ecx
mov dword [esp + 0x84], ebx
xor ebx, ebx
mov bl, byte [ecx]
inc ecx
mov dword [esp + 0x1c], ebx
xor ebx, ebx
mov bl, byte [ecx]
mov dword [esp + 0x18], ebx
xor ebx, ebx
inc eax
mov bl, byte [ecx + 1]
imul eax, edi
add eax, esi
xor ecx, ecx
mov dword [esp + 0x14], ebx
lea edx, [edx + eax*2]
add eax, edx
xor edx, edx
mov dl, byte [eax + 1]
mov cl, byte [eax]
inc eax
mov dword [esp + 0xec], ecx
inc eax
xor ecx, ecx
mov dword [esp + 0xe8], edx
mov cl, byte [eax]
inc eax
xor edx, edx
mov dword [esp + 0xe4], ecx
mov dl, byte [eax]
inc eax
mov dword [esp + 0xf8], edx
xor ecx, ecx
mov cl, byte [eax]
xor edx, edx
mov dl, byte [eax + 1]
mov dword [esp + 0xf4], ecx
mov dword [esp + 0xf0], edx
fmul dword [0x49143c]
fld st(0)
fld dword [0x49143c]
fsub st(1)
fild dword [esp + 0xe4]
fmul st(2)
fild dword [esp + 0x84]
fmul st(2)
faddp st(1)
fmul dword [0x491438]
call fcn.0044eaa0
fild dword [esp + 0xe8]
mov dword [esp + 0x68], eax
fmul st(2)
fild dword [esp + 0x88]
fmul st(2)
faddp st(1)
fmul dword [0x491438]
call fcn.0044eaa0
fild dword [esp + 0xec]
mov dword [esp + 0x6c], eax
fmul st(2)
fild dword [esp + 0x8c]
fmul st(2)
faddp st(1)
fmul dword [0x491438]
call fcn.0044eaa0
fstp st(0)
fstp st(0)
fld dword [0x49143c]
fsub st(1)
fild dword [esp + 0xf0]
mov dword [esp + 0x70], eax
fmul st(2)
fild dword [esp + 0x14]
fmul st(2)
faddp st(1)
fmul dword [0x491438]
call fcn.0044eaa0
fild dword [esp + 0xf4]
mov esi, eax
mov dword [esp + 0xa8], esi
fmul st(2)
fild dword [esp + 0x18]
fmul st(2)
faddp st(1)
fmul dword [0x491438]
call fcn.0044eaa0
fild dword [esp + 0xf8]
mov edi, eax
mov dword [esp + 0xac], edi
fmul st(2)
fild dword [esp + 0x1c]
fmul st(2)
faddp st(1)
fmul dword [0x491438]
call fcn.0044eaa0
fstp st(0)
fstp st(0)
fld dword [esp + 0x10]
fmul dword [0x49143c]
fld dword [0x49143c]
mov dword [esp + 0xb0], eax
mov dword [esp + 0x14], esi
fsub st(1)
fild dword [esp + 0xa8]
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], eax
fmul st(2)
fild dword [esp + 0x68]
fmul st(2)
faddp st(1)
fmul dword [0x491438]
call fcn.0044eaa0
fild dword [esp + 0xac]
mov esi, eax
mov dword [esp + 0x150], esi
fmul st(2)
fild dword [esp + 0x6c]
fmul st(2)
faddp st(1)
fmul dword [0x491438]
call fcn.0044eaa0
fild dword [esp + 0xb0]
mov edi, eax
fmul st(2)
fild dword [esp + 0x70]
fmul st(2)
faddp st(1)
fmul dword [0x491438]
call fcn.0044eaa0
mov ebx, eax
add eax, edi
add eax, esi
mov dword [esp + 0x88], edi
mov al, byte [esp + 0x7b]
mov dword [esp + 0x8c], ebx
fstp st(0)
sete byte [esp + 0x5b]
test al, al
fstp st(0)
je 0x4029bc
fld dword [esp + 0x24]
fsub dword [esp + 0x20]
fdiv dword [esp + 0x24]
fcom dword [0x491430]
fnstsw ax
test ah, 1
je 0x40298a
fstp st(0)
fld dword [0x491430]
fild dword [esp + 0x150]
fmul st(1)
call fcn.0044eaa0
fild dword [esp + 0x88]
mov esi, eax
fmul st(1)
call fcn.0044eaa0
fild dword [esp + 0x8c]
mov edi, eax
fmul st(1)
call fcn.0044eaa0
fstp st(0)
mov ebx, eax
fld dword [esp + 0x30]
call fcn.0044eaa0
mov edx, dword [esp + 0xd0]
and eax, 3
add eax, edx
fld dword [eax*4 + 0x4b1020]
call fcn.0044eaa0
add esi, eax
add ebx, eax
add edi, eax
cmp esi, 0xff
mov dword [esp + 0x84], esi
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x88], edi
jl 0x402a0c
mov esi, 0xff
mov dword [esp + 0x84], esi
cmp edi, 0xff
jl 0x402a20
mov edi, 0xff
mov dword [esp + 0x88], edi
cmp ebx, 0xff
jl 0x402a34
mov ebx, 0xff
mov dword [esp + 0x8c], ebx
fld dword [esp + 0x2c]
fcomp dword [0x49144c]
fld dword [esp + 0x20]
fnstsw ax
test ah, 1
je 0x402a4d
fsub dword [esp + 0x24]
fmul dword [esp + 0x2c]
fsubr dword [esp + 0x7c]
fstp dword [esp + 0x10]
fld dword [esp + 0x28]
fcomp dword [0x49144c]
fld dword [esp + 0x20]
fnstsw ax
test ah, 1
je 0x402a72
fsub dword [esp + 0x24]
fmul dword [esp + 0x28]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x5c], eax
fsubr dword [esp + 0x74]
fsub dword [esp + 0x7c]
fld dword [esp + 0x24]
fsub dword [esp + 0x20]
fstp dword [esp + 0x7c]
fld dword [esp + 0x10]
fcomp dword [esp + 0xc4]
fnstsw ax
test ah, 0x41
jne 0x402ada
fcom dword [esp + 0xbc]
fnstsw ax
test ah, 0x41
jne 0x402ada
fld dword [esp + 0x5c]
fcomp dword [esp + 0xb8]
fnstsw ax
test ah, 0x41
jne 0x402ada
fld dword [esp + 0x7c]
fcomp dword [esp + 0xc0]
fnstsw ax
test ah, 0x41
je 0x402c14
fld dword [esp + 0x10]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x402afb
mov ecx, dword [esp + 0xbc]
fstp dword [esp + 0x10]
mov dword [esp + 0xd8], ecx
jmp 0x402b0b
mov edx, dword [esp + 0xc4]
fstp st(0)
mov dword [esp + 0xd8], edx
fld dword [esp + 0x5c]
fcomp dword [esp + 0x7c]
fnstsw ax
test ah, 0x41
jne 0x402b2b
mov eax, dword [esp + 0x7c]
fld dword [esp + 0xc0]
mov dword [esp + 0x5c], eax
jmp 0x402b32
fld dword [esp + 0xb8]
fld dword [esp + 0x10]
fcomp dword [esp + 0x5c]
fnstsw ax
test ah, 1
jne 0x402b4b
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x10], ecx
jmp 0x402b54
fstp st(0)
fld dword [esp + 0xd8]
fst dword [esp + 0x7c]
fcomp dword [0x49144c]
fnstsw ax
test ah, 0x40
jne 0x402c16
mov eax, dword [esp + 0xdc]
lea edx, [esp + 0x174]
mov cx, word [eax]
call dword [0x4b0a64]
fld dword [esp + 0x10]
fdiv dword [esp + 0x7c]
fmul dword [0x49143c]
fld dword [0x49143c]
fsub st(1)
fild dword [esp + 0x174]
fmul st(1)
fild dword [esp + 0x84]
fmul st(3)
faddp st(1)
fmul dword [0x491438]
call fcn.0044eaa0
fild dword [esp + 0x178]
mov esi, eax
fmul st(1)
fild dword [esp + 0x88]
fmul st(3)
faddp st(1)
fmul dword [0x491438]
call fcn.0044eaa0
fild dword [esp + 0x17c]
mov edi, eax
fmul st(1)
fild dword [esp + 0x8c]
fmul st(3)
faddp st(1)
fmul dword [0x491438]
call fcn.0044eaa0
fstp st(0)
mov ebx, eax
mov dword [esp + 0x84], esi
fstp st(0)
mov dword [esp + 0x88], edi
mov dword [esp + 0x8c], ebx
jmp 0x402c16
fstp st(0)
mov al, byte [esp + 0x5b]
test al, al
jne 0x402c3b
sub esp, 0xc
mov ecx, esp
mov dword [ecx], esi
mov dword [ecx + 4], edi
mov dword [ecx + 8], ebx
call dword [0x4b0a60]
mov edx, dword [esp + 0xdc]
mov word [edx], ax
fld dword [esp + 0x30]
fadd dword [0x491434]
add dword [esp + 0xdc], 2
fst dword [esp + 0x30]
fcomp dword [0x491454]
fnstsw ax
test ah, 1
jne 0x402573
mov eax, dword [0x4b0a50]
and eax, 0xff
dec eax
jne 0x402c83
mov eax, dword [0x4b0a5c]
test eax, eax
je 0x402c83
mov ecx, dword [0x4b0a48]
call fcn.0044c780
fld dword [esp + 0x60]
fadd dword [0x491434]
mov dword [0x4b0a5c], 0
fst dword [esp + 0x60]
fcomp dword [0x491454]
fnstsw ax
test ah, 1
jne 0x40235a
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8