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

Disassembly:
sub esp, 0x1b8
fld dword [0x7a3fd8]
push ebx
push ebp
push esi
push edi
mov edi, ecx
mov dword [esp + 0x40], edi
fmul dword [edi + 0x33c]
fstp dword [esp + 0x14]
fld dword [0x765614]
fcomp dword [esp + 0x14]
fnstsw ax
test ah, 0x40
jne 0x4761c8
mov eax, dword [edi + 0xb40]
test eax, eax
je 0x474bb9
add eax, 0x98
mov ecx, dword [eax]
mov dword [esp + 0x78], ecx
mov dword [esp + 0x1c], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x7c], edx
mov dword [esp + 0x20], edx
mov eax, dword [eax + 8]
mov dword [esp + 0x80], eax
mov dword [esp + 0x24], eax
jmp 0x474be6
lea ecx, [edi + 0x98]
mov edx, dword [edi + 0x98]
mov dword [esp + 0x78], edx
mov dword [esp + 0x1c], edx
mov eax, dword [ecx + 4]
mov dword [esp + 0x7c], eax
mov dword [esp + 0x20], eax
mov ecx, dword [ecx + 8]
mov dword [esp + 0x80], ecx
mov dword [esp + 0x24], ecx
lea edx, [edi + 0x7c]
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], 0x3f800000
mov eax, dword [edx]
mov dword [esp + 0xa4], eax
mov ecx, dword [edx + 4]
mov dword [esp + 0xa8], ecx
mov eax, dword [edx + 8]
mov dword [esp + 0xac], eax
lea eax, [esp + 0x128]
mov ecx, dword [edx + 0xc]
lea edx, [esp + 0xa4]
push edx
push eax
mov dword [esp + 0xb8], ecx
call fcn.00700956
mov al, byte [0x93f96c]
test al, 1
jne 0x474c5e
mov dl, al
push fcn.0040de30
or dl, 1
mov byte [0x93f96c], dl
call fcn.00726f2f
add esp, 4
fld dword [esp + 0x28]
fstp dword [0x93f970]
fld dword [esp + 0x2c]
fstp dword [0x93f974]
fld dword [esp + 0x30]
fstp dword [0x93f978]
fld dword [esp + 0x148]
fmul dword [0x93f978]
fld dword [esp + 0x138]
fmul dword [0x93f974]
faddp st(1)
fld dword [esp + 0x128]
fmul dword [0x93f970]
faddp st(1)
fadd dword [esp + 0x158]
fstp dword [esp + 0x28]
fld dword [esp + 0x14c]
fmul dword [0x93f978]
fld dword [esp + 0x13c]
fmul dword [0x93f974]
faddp st(1)
fld dword [esp + 0x12c]
fmul dword [0x93f970]
faddp st(1)
fadd dword [esp + 0x15c]
fstp dword [esp + 0x2c]
fld dword [esp + 0x150]
fmul dword [0x93f978]
fld dword [esp + 0x140]
fmul dword [0x93f974]
faddp st(1)
fld dword [esp + 0x130]
fmul dword [0x93f970]
faddp st(1)
fadd dword [esp + 0x160]
fstp dword [esp + 0x30]
fld dword [esp + 0x14]
fcomp dword [0x765614]
fnstsw ax
test ah, 1
je 0x474d67
fld dword [esp + 0x14]
fmul dword [0x765fe8]
fstp dword [esp + 0x14]
fld dword [esp + 0x28]
fmul dword [0x765fe8]
fstp dword [esp + 0x28]
fld dword [esp + 0x2c]
fmul dword [0x765fe8]
fstp dword [esp + 0x2c]
fld dword [esp + 0x30]
fmul dword [0x765fe8]
fstp dword [esp + 0x30]
mov al, byte [0x93f95c]
test al, 1
jne 0x474d88
mov dl, al
push fcn.0040de30
or dl, 1
mov byte [0x93f95c], dl
call fcn.00726f2f
add esp, 4
fld dword [esp + 0x28]
fmul dword [esp + 0x14]
fstp dword [0x93f960]
fld dword [esp + 0x2c]
fmul dword [esp + 0x14]
mov ecx, dword [0x93f960]
mov dword [esp + 0x34], ecx
fstp dword [0x93f964]
fld dword [esp + 0x30]
fmul dword [esp + 0x14]
mov edx, dword [0x93f964]
mov dword [esp + 0x38], edx
fstp dword [0x93f968]
mov eax, dword [0x93f968]
mov dword [esp + 0x3c], eax
mov al, byte [0x93f934]
test al, 1
jne 0x474df0
mov dl, al
push fcn.0040de30
or dl, 1
mov byte [0x93f934], dl
call fcn.00726f2f
add esp, 4
fld dword [esp + 0x34]
fadd dword [esp + 0x1c]
mov ebp, dword [esp + 0x1c]
sub esp, 0xc
mov ebx, esp
fstp dword [0x93f940]
fld dword [esp + 0x44]
fadd dword [esp + 0x2c]
mov eax, dword [0x93f940]
mov dword [ebx], ebp
mov ebp, dword [esp + 0x2c]
mov dword [esp + 0x78], eax
mov dword [ebx + 4], ebp
mov ebp, dword [esp + 0x30]
fstp dword [0x93f944]
fld dword [esp + 0x30]
fadd dword [esp + 0x48]
mov ecx, dword [0x93f944]
mov dword [ebx + 8], ebp
mov dword [esp + 0x7c], ecx
mov ecx, dword [0x93c984]
fstp dword [0x93f948]
mov edx, dword [0x93f948]
mov dword [esp + 0x80], edx
mov ecx, dword [ecx + 0x1c]
push edx
push eax
mov esi, dword [ecx]
call dword [esi + 0x44]
test al, al
jne 0x474e76
mov al, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1b8
ret 4
mov eax, dword [edi + 0x4a4]
test eax, eax
je 0x4757cf
cmp eax, 0xfa
je 0x4757cf
mov al, byte [edi + 0x4a8]
test al, al
je 0x474ed6
mov eax, dword [edi + 0x4ac]
cmp eax, 0x753a
je 0x4757cf
cmp eax, 0x7558
je 0x4757cf
cmp eax, 0x7562
je 0x4757cf
cmp eax, 0x756c
je 0x4757cf
cmp eax, 0x756d
je 0x4757cf
mov ecx, dword [0x93c988]
mov edx, dword [ecx + 0x3c]
mov eax, dword [edx]
mov dword [esp + 0x18], eax
mov ecx, dword [ecx + 0x3c]
cmp eax, ecx
mov dword [esp + 0x68], ecx
je 0x475311
mov ebx, dword [esp + 0x40]
mov ebp, dword [esp + 0x1c]
mov edi, dword [eax + 0x10]
test edi, edi
je 0x475127
mov al, byte [edi + 0x4a8]
test al, al
je 0x475127
mov eax, dword [edi + 0x4ac]
cmp eax, 0x753a
je 0x474f65
cmp eax, 0x7558
je 0x474f42
cmp eax, 0x7562
je 0x474f42
cmp eax, 0x756c
je 0x474f42
cmp eax, 0x756d
jne 0x475127
cmp eax, 0x753a
je 0x474f65
cmp eax, 0x7558
je 0x474f65
cmp eax, 0x7562
je 0x474f65
cmp eax, 0x756c
je 0x474f65
cmp eax, 0x756d
jne 0x474f72
cmp dword [ebx + 0x8a0], 0x1e
jne 0x475127
mov eax, dword [edi + 0x2fc]
cmp eax, 4
je 0x4752f4
cmp eax, 5
je 0x4752f4
mov eax, dword [edi + 0x4a4]
test eax, eax
je 0x4752f4
fld dword [esp + 0x20]
mov eax, dword [esp + 0x24]
mov esi, dword [esp + 0x20]
fadd qword [0x7656b8]
mov dword [esp + 0x118], eax
mov al, byte [0x93f95c]
mov dword [esp + 0x114], esi
mov dword [esp + 0x110], ebp
test al, 1
fstp dword [esp + 0x114]
jne 0x474fe7
mov dl, al
push fcn.0040de30
or dl, 1
mov byte [0x93f95c], dl
call fcn.00726f2f
add esp, 4
fld dword [esp + 0x28]
fmul dword [esp + 0x14]
fstp dword [0x93f960]
fld dword [esp + 0x2c]
fmul dword [esp + 0x14]
mov ecx, dword [0x93f960]
mov dword [esp + 0x98], ecx
fstp dword [0x93f964]
fld dword [esp + 0x30]
fmul dword [esp + 0x14]
mov edx, dword [0x93f964]
mov dword [esp + 0x9c], edx
fstp dword [0x93f968]
mov eax, dword [0x93f968]
mov dword [esp + 0xa0], eax
mov al, byte [0x93f934]
test al, 1
jne 0x475058
mov dl, al
push fcn.0040de30
or dl, 1
mov byte [0x93f934], dl
call fcn.00726f2f
add esp, 4
fld dword [esp + 0x98]
fadd dword [esp + 0x1c]
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc8], 0
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0
fstp dword [0x93f940]
fld dword [esp + 0x9c]
fadd dword [esp + 0x20]
mov ecx, dword [0x93f940]
mov dword [esp + 0xa4], ecx
lea ecx, [esp + 0x84]
push ecx
lea ecx, [esp + 0x114]
fstp dword [0x93f944]
fld dword [esp + 0x28]
fadd dword [esp + 0xa4]
mov edx, dword [0x93f944]
mov dword [esp + 0xac], edx
lea edx, [esp + 0xc4]
push edx
fstp dword [0x93f948]
mov eax, dword [0x93f948]
mov dword [esp + 0xb4], eax
lea eax, [esp + 0xac]
push eax
push ecx
mov ecx, edi
call fcn.0046d990
test al, al
jne 0x475376
jmp 0x4752f4
mov eax, dword [edi + 0x2fc]
cmp eax, 4
je 0x4752f4
cmp eax, 5
je 0x4752f4
mov eax, dword [edi + 0x4a4]
test eax, eax
je 0x4752f4
push edi
push ebx
mov ecx, ebx
call fcn.006aab40
test al, al
je 0x4752f4
lea esi, [edi + 0x98]
mov edx, esi
mov eax, dword [edx]
mov dword [esp + 0x50], eax
mov al, byte [0x93f99c]
mov ecx, dword [edx + 4]
test al, 1
mov edx, dword [edx + 8]
mov dword [esp + 0x54], ecx
mov dword [esp + 0x58], edx
jne 0x47519b
mov dl, al
push fcn.0040de30
or dl, 1
mov byte [0x93f99c], dl
call fcn.00726f2f
add esp, 4
fld dword [esp + 0x50]
fsub dword [esp + 0x1c]
fstp dword [0x93f9a0]
fld dword [esp + 0x54]
fsub dword [esp + 0x20]
mov eax, dword [0x93f9a0]
mov dword [esp + 0x5c], eax
fstp dword [0x93f9a4]
fld dword [esp + 0x58]
fsub dword [esp + 0x24]
mov ecx, dword [0x93f9a4]
mov dword [esp + 0x60], ecx
fstp dword [0x93f9a8]
fld dword [esp + 0x5c]
mov edx, dword [0x93f9a8]
fmul dword [esp + 0x5c]
mov dword [esp + 0x64], edx
fld dword [esp + 0x64]
fmul dword [esp + 0x64]
faddp st(1)
fld dword [esp + 0x60]
fmul dword [esp + 0x60]
faddp st(1)
fsqrt
fst dword [esp + 0x10]
fcomp dword [0x766460]
fnstsw ax
test ah, 1
je 0x4752f4
fld dword [ebx + 0x17c]
fmul dword [ebx + 0x90]
mov ecx, edi
fstp dword [esp + 0x94]
call fcn.00465330
fadd dword [esp + 0x94]
fmul dword [0x766568]
fcomp dword [esp + 0x10]
fnstsw ax
test ah, 0x41
jne 0x4752f4
mov eax, dword [esi]
mov ecx, dword [esi + 4]
mov edx, dword [esi + 8]
mov dword [esp + 0x44], eax
mov al, byte [0x93f99c]
mov dword [esp + 0x48], ecx
test al, 1
mov dword [esp + 0x4c], edx
jne 0x475280
mov dl, al
push fcn.0040de30
or dl, 1
mov byte [0x93f99c], dl
call fcn.00726f2f
add esp, 4
fld dword [esp + 0x44]
fsub dword [esp + 0x6c]
fstp dword [0x93f9a0]
fld dword [esp + 0x48]
fsub dword [esp + 0x70]
mov eax, dword [0x93f9a0]
mov dword [esp + 0x34], eax
fstp dword [0x93f9a4]
fld dword [esp + 0x4c]
fsub dword [esp + 0x74]
mov ecx, dword [0x93f9a4]
mov dword [esp + 0x38], ecx
fstp dword [0x93f9a8]
fld dword [esp + 0x34]
mov edx, dword [0x93f9a8]
fmul dword [esp + 0x34]
mov dword [esp + 0x3c], edx
fld dword [esp + 0x3c]
fmul dword [esp + 0x3c]
faddp st(1)
fld dword [esp + 0x38]
fmul dword [esp + 0x38]
faddp st(1)
fsqrt
fcomp dword [esp + 0x10]
fnstsw ax
test ah, 1
jne 0x4762a5
lea ecx, [esp + 0x18]
call fcn.0047a490
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x68]
cmp eax, ecx
jne 0x474efc
mov edi, dword [esp + 0x40]
mov ecx, dword [0x93c98c]
mov dword [esp + 0x94], 0
mov eax, dword [ecx + 0x8a0]
lea eax, [eax + eax*4]
shl eax, 1
cmp eax, 0x190
je 0x4754f0
cmp eax, 0x19a
je 0x4754f0
cmp eax, 0x1a4
je 0x4754f0
cmp eax, 0x1ae
je 0x4754f0
cmp eax, 0x1b8
je 0x4754f0
cmp eax, 0x2710
je 0x4754f0
mov ecx, eax
jmp 0x4754f8
fld dword [esp + 0x8c]
fld st(0)
fmulp st(1)
fld dword [esp + 0x84]
fmul dword [esp + 0x84]
mov dword [esp + 0x88], 0
faddp st(1)
fsqrt
fcomp qword [0x766560]
fnstsw ax
test ah, 0x41
jne 0x4753df
fld dword [esp + 0x8c]
fmul dword [esp + 0x30]
fld dword [esp + 0x84]
fmul dword [esp + 0x28]
faddp st(1)
fcomp dword [0x765614]
fnstsw ax
test ah, 0x41
je 0x4753df
mov al, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1b8
ret 4
mov eax, dword [esp + 0xc4]
mov dword [ebx + 0xb3c], edi
mov dword [ebx + 0x348], eax
mov ecx, dword [0x93c984]
mov eax, dword [esp + 0x74]
push 0
mov ecx, dword [ecx + 0x1c]
push eax
mov eax, dword [esp + 0x74]
mov edx, dword [ecx]
push eax
call dword [edx + 0x30]
fstp dword [esp + 0x10]
mov ecx, dword [0x93c984]
lea eax, [esp + 0x84]
fld dword [0x7a3fd8]
mov ecx, dword [ecx + 0x1c]
push eax
fmul dword [0x765f84]
mov edx, dword [ecx]
push ecx
lea eax, [esp + 0x74]
fstp dword [esp]
push eax
call dword [edx + 0x50]
fld dword [esp + 0x10]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x475456
mov ecx, dword [esp + 0x10]
fstp st(0)
mov dword [ebx + 0xb38], ecx
jmp 0x47545c
fstp dword [ebx + 0xb38]
fld dword [esp + 0x20]
fadd dword [0x766550]
mov edx, dword [esp + 0x24]
mov eax, dword [0x93c984]
mov dword [esp + 0x48], esi
mov dword [esp + 0x44], ebp
mov dword [esp + 0x4c], edx
push 1
fstp dword [esp + 0x4c]
mov ecx, dword [eax + 0x1c]
lea eax, [esp + 0x54]
push 0
push eax
lea eax, [esp + 0xa4]
mov edx, dword [ecx]
push eax
mov eax, dword [esp + 0x24]
push eax
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0x5c]
push eax
call dword [edx + 0x60]
test al, al
je 0x4754ba
mov al, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1b8
ret 4
mov al, byte [esp + 0x1cc]
mov ecx, dword [ebx + 0x348]
test al, al
mov dword [esp + 0x70], ecx
je 0x4761c8
mov edx, dword [ebx + 0x50]
lea ecx, [ebx + 0x50]
lea eax, [esp + 0x6c]
push eax
call dword [edx + 0x28]
xor al, al
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1b8
ret 4
mov ecx, dword [ecx + 0x8a4]
add ecx, eax
mov esi, dword [0x93c8a0]
mov dword [esp + 0x68], ecx
lea ecx, [esp + 0x68]
lea edx, [esp + 0x10]
push ecx
push edx
lea ecx, [esi + 0x14]
call fcn.0047a5c0
mov eax, dword [esp + 0x10]
mov ecx, dword [esi + 0x18]
cmp eax, ecx
je 0x475533
add eax, 0x10
test eax, eax
je 0x475533
mov eax, dword [eax + 0xac]
mov dword [esp + 0x94], eax
mov ecx, dword [0x93c988]
mov edx, dword [ecx + 0x2c]
mov eax, dword [edx]
mov dword [esp + 0x90], eax
mov ebp, dword [ecx + 0x2c]
cmp eax, ebp
je 0x4757cf
mov ebx, 2
mov esi, dword [eax + 0x10]
mov eax, dword [esi + 0x450]
test eax, eax
jne 0x4757b0
test esi, esi
je 0x475586
mov eax, dword [esi + 0x7cc]
cmp eax, 0x758b
je 0x4757b0
cmp eax, 0x758c
je 0x4757b0
mov eax, dword [esi + 0x7cc]
cmp eax, 0x7588
je 0x4755c0
cmp eax, 0x7589
je 0x4755c0
cmp eax, 0x758a
je 0x4755c0
cmp eax, 0x758e
je 0x4755c0
cmp eax, 0x75f8
je 0x4755c0
push esi
push edi
mov ecx, edi
call fcn.006aab40
test al, al
je 0x4757b0
mov eax, dword [esp + 0x94]
test eax, eax
jne 0x47561c
mov eax, dword [esi + 0x7cc]
cmp eax, 0x7588
je 0x47561c
cmp eax, 0x7589
je 0x47561c
cmp eax, 0x758a
je 0x47561c
cmp eax, 0x758e
je 0x47561c
cmp eax, 0x75f8
je 0x47561c
mov eax, dword [edi + 0x490]
cmp eax, 1
jne 0x47560b
cmp dword [esi + 0x490], ebx
jne 0x4757b0
cmp eax, ebx
jne 0x47561c
cmp dword [esi + 0x490], 1
jne 0x4757b0
lea edi, [esi + 0x98]
mov eax, edi
mov ecx, dword [eax]
mov dword [esp + 0x44], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x48], edx
mov eax, dword [eax + 8]
mov dword [esp + 0x4c], eax
mov al, byte [0x93f99c]
test al, 1
jne 0x475659
mov dl, al
push fcn.0040de30
or dl, 1
mov byte [0x93f99c], dl
call fcn.00726f2f
add esp, 4
fld dword [esp + 0x44]
fsub dword [esp + 0x1c]
fstp dword [0x93f9a0]
fld dword [esp + 0x48]
fsub dword [esp + 0x20]
mov ecx, dword [0x93f9a0]
mov dword [esp + 0x34], ecx
fstp dword [0x93f9a4]
fld dword [esp + 0x4c]
fsub dword [esp + 0x24]
mov edx, dword [0x93f9a4]
mov dword [esp + 0x38], edx
fstp dword [0x93f9a8]
fld dword [esp + 0x34]
mov eax, dword [0x93f9a8]
fmul dword [esp + 0x34]
mov dword [esp + 0x3c], eax
fld dword [esp + 0x3c]
fmul dword [esp + 0x3c]
faddp st(1)
fld dword [esp + 0x38]
fmul dword [esp + 0x38]
faddp st(1)
fsqrt
fst dword [esp + 0x10]
fcomp dword [0x766460]
fnstsw ax
test ah, 1
je 0x4757b0
mov eax, dword [esp + 0x40]
mov ecx, esi
fld dword [eax + 0x17c]
fmul dword [eax + 0x90]
fstp dword [esp + 0x68]
call fcn.00465330
fadd dword [esp + 0x68]
fmul dword [0x766568]
fcomp dword [esp + 0x10]
fnstsw ax
test ah, 0x41
jne 0x4757b0
mov eax, dword [edi + 8]
mov ecx, dword [edi]
mov edx, dword [edi + 4]
mov dword [esp + 0x58], eax
mov al, byte [0x93f99c]
mov dword [esp + 0x50], ecx
test al, 1
mov dword [esp + 0x54], edx
jne 0x47573c
mov dl, al
push fcn.0040de30
or dl, 1
mov byte [0x93f99c], dl
call fcn.00726f2f
add esp, 4
fld dword [esp + 0x50]
fsub dword [esp + 0x6c]
fstp dword [0x93f9a0]
fld dword [esp + 0x54]
fsub dword [esp + 0x70]
mov ecx, dword [0x93f9a0]
mov dword [esp + 0x5c], ecx
fstp dword [0x93f9a4]
fld dword [esp + 0x58]
fsub dword [esp + 0x74]
mov edx, dword [0x93f9a4]
mov dword [esp + 0x60], edx
fstp dword [0x93f9a8]
fld dword [esp + 0x5c]
mov eax, dword [0x93f9a8]
fmul dword [esp + 0x5c]
mov dword [esp + 0x64], eax
fld dword [esp + 0x64]
fmul dword [esp + 0x64]
faddp st(1)
fld dword [esp + 0x60]
fmul dword [esp + 0x60]
faddp st(1)
fsqrt
fcomp dword [esp + 0x10]
fnstsw ax
test ah, 1
jne 0x4762a5
lea ecx, [esp + 0x90]
call fcn.0047a400
mov eax, dword [esp + 0x90]
mov edi, dword [esp + 0x40]
cmp eax, ebp
jne 0x475555
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov dword [esp + 0x80], eax
mov al, byte [edi + 0x4a8]
mov dword [esp + 0x78], ecx
test al, al
mov dword [esp + 0x7c], edx
je 0x475831
mov eax, dword [edi + 0x4ac]
cmp eax, 0x753a
je 0x4758b2
cmp eax, 0x7558
je 0x4758b2
cmp eax, 0x7562
je 0x4758b2
cmp eax, 0x756c
je 0x4758b2
cmp eax, 0x756d
je 0x4758b2
mov eax, dword [0x93c984]
fld dword [esp + 0x20]
mov cl, byte [eax + 0x18]
test cl, cl
jne 0x475849
fadd dword [0x765810]
jmp 0x47584f
fadd dword [0x766550]
fstp dword [esp + 0x7c]
mov ecx, dword [eax + 0x1c]
push 1
lea eax, [esp + 0xb8]
push 0
push eax
lea eax, [esp + 0x128]
mov edx, dword [ecx]
push eax
mov eax, dword [esp + 0x24]
push eax
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0x90]
push eax
call dword [edx + 0x60]
mov ecx, dword [edi + 0x4a4]
test ecx, ecx
je 0x475c4b
cmp ecx, 0xfa
je 0x475c4b
test al, al
je 0x475c4b
mov al, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1b8
ret 4
mov eax, dword [0x93c984]
fld dword [esp + 0x20]
mov cl, byte [eax + 0x18]
test cl, cl
jne 0x4758ca
fadd dword [0x765810]
jmp 0x4758d0
fadd dword [0x766550]
fstp dword [esp + 0x7c]
mov ecx, dword [eax + 0x1c]
mov edi, dword [esp + 0x14]
push 1
lea eax, [esp + 0xb8]
push 0
mov edx, dword [ecx]
push eax
lea eax, [esp + 0x128]
push eax
lea eax, [esp + 0x38]
push edi
push eax
lea eax, [esp + 0x90]
push eax
call dword [edx + 0x60]
mov ebx, dword [esp + 0x40]
mov ecx, dword [ebx + 0x4a4]
test ecx, ecx
je 0x47592b
cmp ecx, 0xfa
je 0x47592b
test al, al
je 0x47592b
mov al, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1b8
ret 4
fld dword [0x7664dc]
fmul dword [0x765eb8]
mov eax, dword [ebx + 0x4ac]
mov dword [esp + 0x108], 0
cmp eax, 0x756c
mov dword [esp + 0x104], 0
mov dword [esp + 0x100], 0
mov dword [esp + 0xfc], 0
fstp dword [esp + 0x68]
mov dword [esp + 0xf4], 0
mov dword [esp + 0xf0], 0
mov dword [esp + 0xec], 0
mov dword [esp + 0xe8], 0
mov dword [esp + 0xe0], 0
mov dword [esp + 0xdc], 0
mov dword [esp + 0xd8], 0
mov dword [esp + 0xd4], 0
mov dword [esp + 0x10c], 0x3f800000
mov dword [esp + 0xf8], 0x3f800000
mov dword [esp + 0xe4], 0x3f800000
mov dword [esp + 0xd0], 0x3f800000
mov ecx, ebx
jne 0x475a07
call fcn.004654f0
fmul dword [0x765810]
jmp 0x475a0c
call fcn.004654f0
fstp dword [esp + 0x18]
xor ebp, ebp
lea esi, [esp + 0x168]
mov dword [esp + 0x90], ebp
fild dword [esp + 0x90]
push ecx
lea ecx, [esp + 0xd4]
fmul dword [esp + 0x6c]
fstp dword [esp]
push ecx
call fcn.007008db
mov al, byte [0x93f97c]
test al, 1
jne 0x475a5d
mov dl, al
push fcn.0040de30
or dl, 1
mov byte [0x93f97c], dl
call fcn.00726f2f
add esp, 4
fld dword [esp + 0xe0]
fmul dword [esp + 0x2c]
fld dword [esp + 0xf0]
fmul dword [esp + 0x30]
faddp st(1)
fld dword [esp + 0xd0]
fmul dword [esp + 0x28]
faddp st(1)
fadd dword [esp + 0x100]
fstp dword [0x93f980]
fld dword [esp + 0xd4]
fmul dword [esp + 0x28]
fld dword [esp + 0xe4]
fmul dword [esp + 0x2c]
mov edx, dword [0x93f980]
mov dword [esp + 0x44], edx
mov dword [esi], edx
faddp st(1)
fld dword [esp + 0xf4]
fmul dword [esp + 0x30]
faddp st(1)
fadd dword [esp + 0x104]
fstp dword [0x93f984]
fld dword [esp + 0xd8]
fmul dword [esp + 0x28]
fld dword [esp + 0xf8]
fmul dword [esp + 0x30]
mov eax, dword [0x93f984]
mov dword [esp + 0x48], eax
mov dword [esi + 4], eax
faddp st(1)
fld dword [esp + 0xe8]
fmul dword [esp + 0x2c]
mov al, byte [0x93f95c]
test al, 1
faddp st(1)
fadd dword [esp + 0x108]
fstp dword [0x93f988]
mov ecx, dword [0x93f988]
mov dword [esp + 0x4c], ecx
mov dword [esi + 8], ecx
jne 0x475b39
mov dl, al
push fcn.0040de30
or dl, 1
mov byte [0x93f95c], dl
call fcn.00726f2f
add esp, 4
fld dword [esp + 0x28]
fmul dword [esp + 0x18]
fstp dword [0x93f960]
fld dword [esp + 0x2c]
fmul dword [esp + 0x18]
mov edx, dword [0x93f960]
mov dword [esp + 0x50], edx
fstp dword [0x93f964]
fld dword [esp + 0x30]
fmul dword [esp + 0x18]
mov eax, dword [0x93f964]
mov dword [esp + 0x54], eax
mov al, byte [0x93f934]
test al, 1
fstp dword [0x93f968]
mov ecx, dword [0x93f968]
mov dword [esp + 0x58], ecx
jne 0x475ba1
mov dl, al
push fcn.0040de30
or dl, 1
mov byte [0x93f934], dl
call fcn.00726f2f
add esp, 4
fld dword [esp + 0x50]
fadd dword [esp + 0x1c]
push 1
push 0
fstp dword [0x93f940]
fld dword [esp + 0x5c]
fadd dword [esp + 0x28]
mov edx, dword [0x93f940]
mov dword [esp + 0xac], edx
mov edx, dword [0x93c984]
fstp dword [0x93f944]
fld dword [esp + 0x60]
fadd dword [esp + 0x2c]
mov eax, dword [0x93f944]
mov dword [esp + 0xb0], eax
fstp dword [0x93f948]
mov ecx, dword [0x93f948]
mov dword [esp + 0xb4], ecx
mov ecx, dword [edx + 0x1c]
lea edx, [esp + 0xbc]
mov eax, dword [ecx]
push edx
lea edx, [esp + 0x128]
push edx
push edi
lea edx, [esp + 0xb8]
push esi
push edx
call dword [eax + 0x60]
mov ecx, dword [ebx + 0x4a4]
test ecx, ecx
je 0x475c37
cmp ecx, 0xfa
je 0x475c37
test al, al
jne 0x4762a5
inc ebp
add esi, 0xc
cmp ebp, 8
mov dword [esp + 0x90], ebp
jl 0x475a20
mov eax, dword [0x93c984]
push 0
mov ecx, dword [eax + 0x1c]
mov eax, dword [esp + 0x78]
push eax
mov eax, dword [esp + 0x74]
mov edx, dword [ecx]
push eax
call dword [edx + 0x30]
fstp dword [esp + 0x18]
mov ecx, dword [0x93c984]
lea eax, [esp + 0xb4]
fld dword [0x7a3fd8]
mov ecx, dword [ecx + 0x1c]
push eax
fmul dword [0x765f84]
mov edx, dword [ecx]
push ecx
lea eax, [esp + 0x74]
fstp dword [esp]
push eax
call dword [edx + 0x50]
mov ecx, dword [0x93c988]
mov esi, dword [esp + 0x40]
fstp dword [esp + 0x10]
mov edx, dword [ecx + 0x3c]
mov eax, dword [edx]
mov dword [esp + 0xcc], eax
mov edi, dword [ecx + 0x3c]
cmp dword [esi + 0x8a0], 0x1e
jne 0x476055
cmp eax, edi
je 0x476055
mov esi, dword [eax + 0x10]
mov eax, dword [esi + 0x2fc]
cmp eax, 4
je 0x476036
cmp eax, 5
je 0x476036
mov eax, dword [esi + 0x4a4]
test eax, eax
je 0x476036
cmp eax, 0xfa
je 0x476036
test esi, esi
je 0x476036
mov al, byte [esi + 0x4a8]
test al, al
je 0x476036
mov eax, dword [esi + 0x4ac]
cmp eax, 0x753a
je 0x475d3c
cmp eax, 0x7558
je 0x475d3c
cmp eax, 0x7562
je 0x475d3c
cmp eax, 0x756c
je 0x475d3c
cmp eax, 0x756d
jne 0x476036
lea eax, [esi + 0x98]
mov ecx, dword [esi + 0x98]
mov dword [esp + 0x44], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x48], edx
mov eax, dword [eax + 8]
mov dword [esp + 0x4c], eax
mov al, byte [0x93f99c]
test al, 1
jne 0x475d7b
mov dl, al
push fcn.0040de30
or dl, 1
mov byte [0x93f99c], dl
call fcn.00726f2f
add esp, 4
fld dword [esp + 0x44]
fsub dword [esp + 0x1c]
fstp dword [0x93f9a0]
fld dword [esp + 0x48]
fsub dword [esp + 0x20]
mov ecx, dword [0x93f9a0]
mov dword [esp + 0x34], ecx
fstp dword [0x93f9a4]
fld dword [esp + 0x4c]
fsub dword [esp + 0x24]
mov edx, dword [0x93f9a4]
mov dword [esp + 0x38], edx
fstp dword [0x93f9a8]
fld dword [esp + 0x34]
mov eax, dword [0x93f9a8]
fmul dword [esp + 0x34]
mov dword [esp + 0x3c], eax
fld dword [esp + 0x3c]
fmul dword [esp + 0x3c]
faddp st(1)
fld dword [esp + 0x38]
fmul dword [esp + 0x38]
faddp st(1)
fsqrt
fcomp dword [0x76644c]
fnstsw ax
test ah, 1
je 0x476036
mov al, byte [0x93f95c]
test al, 1
jne 0x475e12
mov dl, al
push fcn.0040de30
or dl, 1
mov byte [0x93f95c], dl
call fcn.00726f2f
add esp, 4
fld dword [esp + 0x28]
fmul dword [esp + 0x14]
fstp dword [0x93f960]
fld dword [esp + 0x2c]
fmul dword [esp + 0x14]
mov ecx, dword [0x93f960]
mov dword [esp + 0x50], ecx
fstp dword [0x93f964]
fld dword [esp + 0x30]
fmul dword [esp + 0x14]
mov edx, dword [0x93f964]
mov dword [esp + 0x54], edx
fstp dword [0x93f968]
mov eax, dword [0x93f968]
mov dword [esp + 0x58], eax
mov al, byte [0x93f934]
test al, 1
jne 0x475e7a
mov dl, al
push fcn.0040de30
or dl, 1
mov byte [0x93f934], dl
call fcn.00726f2f
add esp, 4
fld dword [esp + 0x50]
fadd dword [esp + 0x1c]
fstp dword [0x93f940]
fld dword [esp + 0x54]
fadd dword [esp + 0x20]
mov ecx, dword [0x93f940]
mov dword [esp + 0x5c], ecx
fstp dword [0x93f944]
fld dword [esp + 0x58]
fadd dword [esp + 0x24]
mov edx, dword [0x93f944]
mov dword [esp + 0x60], edx
fstp dword [0x93f948]
mov eax, dword [0x93f948]
mov dword [esp + 0x64], eax
mov al, byte [0x93f95c]
test al, 1
jne 0x475ee2
mov dl, al
push fcn.0040de30
or dl, 1
mov byte [0x93f95c], dl
call fcn.00726f2f
add esp, 4
fld dword [0x765614]
fst dword [0x93f960]
fld dword [esp + 0x14]
fmul dword [0x765fe8]
mov ecx, dword [0x93f960]
mov dword [esp + 0x98], ecx
fstp dword [0x93f964]
mov edx, dword [0x93f964]
fstp dword [0x93f968]
mov eax, dword [0x93f968]
mov dword [esp + 0x9c], edx
mov dword [esp + 0xa0], eax
mov al, byte [0x93f934]
test al, 1
jne 0x475f4b
mov dl, al
push fcn.0040de30
or dl, 1
mov byte [0x93f934], dl
call fcn.00726f2f
add esp, 4
fld dword [esp + 0x98]
fadd dword [esp + 0x5c]
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0
mov dword [esp + 0xa4], 0
mov dword [esp + 0xa8], 0
mov dword [esp + 0xac], 0
fstp dword [0x93f940]
fld dword [esp + 0x60]
fadd dword [esp + 0x9c]
mov ecx, dword [0x93f940]
mov dword [esp + 0xc0], ecx
lea ecx, [esp + 0xa4]
push ecx
lea ecx, [esp + 0x60]
fstp dword [0x93f944]
fld dword [esp + 0x68]
fadd dword [esp + 0xa4]
mov edx, dword [0x93f944]
mov dword [esp + 0xc8], edx
lea edx, [esp + 0x88]
push edx
fstp dword [0x93f948]
mov eax, dword [0x93f948]
mov dword [esp + 0xd0], eax
lea eax, [esp + 0xc8]
push eax
push ecx
mov ecx, esi
call fcn.0046d990
test al, al
je 0x476036
fld dword [esp + 0x88]
fcomp dword [esp + 0x18]
fnstsw ax
test ah, 0x41
jne 0x476036
fld dword [esp + 0x88]
fcomp dword [esp + 0x10]
fnstsw ax
test ah, 0x41
je 0x47612a
lea ecx, [esp + 0xcc]
call fcn.0047a490
mov eax, dword [esp + 0xcc]
cmp eax, edi
jne 0x475cc5
mov esi, dword [esp + 0x40]
fld dword [esp + 0x10]
mov ecx, dword [0x93c984]
mov dword [esp + 0xb8], 0
fcomp dword [esp + 0x18]
mov al, byte [ecx + 0x18]
test al, al
fnstsw ax
jne 0x476220
test ah, 0x41
jne 0x4761d7
fld dword [0x765f84]
fdiv dword [0x7a3fd4]
fmul dword [0x765810]
fadd dword [esp + 0x70]
fcomp dword [esp + 0x10]
fnstsw ax
test ah, 0x41
jne 0x4761d7
fld dword [esp + 0xbc]
fld dword [esp + 0xb4]
fmul dword [esp + 0xb4]
fld st(1)
fmul st(2)
faddp st(1)
fsqrt
fstp st(1)
fcomp dword [0x7664f0]
fnstsw ax
test ah, 0x41
jne 0x47619b
fld dword [esp + 0xbc]
fmul dword [esp + 0x30]
fld dword [esp + 0xb4]
fmul dword [esp + 0x28]
faddp st(1)
fcomp dword [0x765614]
fnstsw ax
test ah, 0x41
je 0x47619b
mov eax, dword [esi + 0x4a4]
test eax, eax
je 0x47619b
cmp eax, 0xfa
je 0x47619b
mov al, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1b8
ret 4
mov edi, dword [esp + 0x40]
mov al, byte [esp + 0x1cc]
mov edx, dword [esp + 0x88]
test al, al
mov dword [edi + 0x348], edx
je 0x476154
mov eax, dword [edi + 0x50]
lea ecx, [edi + 0x50]
lea edx, [esp + 0x6c]
push edx
call dword [eax + 0x28]
fld dword [esp + 0x18]
fcomp dword [esp + 0x10]
mov dword [edi + 0xb3c], esi
fnstsw ax
test ah, 0x41
jne 0x476182
mov eax, dword [esp + 0x18]
mov dword [edi + 0xb38], eax
xor al, al
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1b8
ret 4
mov ecx, dword [esp + 0x10]
xor al, al
mov dword [edi + 0xb38], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1b8
ret 4
mov edx, dword [esp + 0x10]
mov dword [esi + 0x348], edx
mov al, byte [esp + 0x1cc]
test al, al
je 0x4761be
mov edx, dword [esi + 0x50]
lea ecx, [esi + 0x50]
lea eax, [esp + 0x6c]
push eax
call dword [edx + 0x28]
mov dword [esi + 0xb3c], 0
xor al, al
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1b8
ret 4
mov edx, dword [0x7664f0]
mov ecx, dword [ecx + 0x1c]
push edx
lea edx, [esp + 0x2c]
mov eax, dword [ecx]
push edx
lea edx, [esp + 0x74]
push edx
call dword [eax + 0x48]
cmp al, 1
jne 0x476214
mov eax, dword [esi + 0x4a4]
test eax, eax
je 0x476214
cmp eax, 0xfa
je 0x476214
mov al, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1b8
ret 4
mov eax, dword [esp + 0x18]
mov dword [esi + 0x348], eax
jmp 0x4761a5
test ah, 0x41
jne 0x476246
fld dword [esp + 0x70]
fadd dword [0x766550]
fcomp dword [esp + 0x10]
fnstsw ax
test ah, 0x41
jne 0x476246
mov ecx, dword [esp + 0x10]
mov dword [esi + 0x348], ecx
jmp 0x476250
mov edx, dword [esp + 0x18]
mov dword [esi + 0x348], edx
fld dword [esp + 0x20]
fadd dword [0x766550]
fcomp dword [esi + 0x348]
fnstsw ax
test ah, 1
jne 0x476282
fld dword [esp + 0x20]
fsub dword [0x765eb4]
fcomp dword [esi + 0x348]
fnstsw ax
test ah, 0x41
jne 0x4761a5
mov eax, dword [esp + 0x20]
mov dword [esi + 0x348], eax
mov eax, dword [esi + 0x4a4]
test eax, eax
je 0x4761a5
cmp eax, 0xfa
je 0x4761a5
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
add esp, 0x1b8
ret 4