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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x12c
mov eax, dword [0x100a60a4]
xor eax, esp
mov dword [esp + 0x128], eax
push ebx
mov ebx, ecx
push esi
push edi
mov dword [esp + 0xdc], ebx
mov eax, dword [ebx + 0x30]
test eax, 0x200000
je 0x10077c74
mov ecx, dword [ebx + 0x24]
fld dword [ecx + 0xf68c]
fld dword [ecx + 0xf690]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fld st(0)
fucom st(2)
fnstsw ax
test ah, 0x44
jp 0x10077bf6
fstp st(0)
fstp st(0)
fstp st(0)
fldz
fst dword [esp + 0x14]
jmp 0x10077c16
fsubrp st(2)
fld qword [0x1000b790]
fdivrp st(2)
fxch st(1)
fstp dword [esp + 0x20]
fchs
fld dword [esp + 0x20]
fld st(0)
fmulp st(2)
fxch st(1)
fstp dword [esp + 0x14]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fstp dword [ecx + 0x90]
fld dword [esp + 0x14]
fstp dword [ecx + 0x94]
mov eax, dword [ecx + 0xf638]
cmp eax, 0xa
ja 0x10077c3e
mov eax, 0xa
cmp dword [ecx + 0xf63c], 9
mov dword [ecx + 0xf638], eax
jbe 0x10077c57
mov dword [ecx + 0xf63c], 9
cmp dword [ecx + 0xf640], 0xa
jae 0x10077c6a
mov dword [ecx + 0xf640], 0xa
and dword [ebx + 0x30], 0xffdfffff
mov eax, dword [ebx + 0x30]
mov ecx, dword [ebx + 0x18]
test cl, 4
jne 0x10078680
test al, 0x10
je 0x1007804f
fld dword [ebx + 0x72c]
fmul dword [ebx + 0x578]
fld dword [ebx + 0x728]
fmul dword [ebx + 0x568]
faddp st(1)
fld dword [ebx + 0x588]
fmul dword [ebx + 0x730]
faddp st(1)
fld dword [ebx + 0x598]
fmul dword [ebx + 0x734]
faddp st(1)
fstp dword [ebx + 0x628]
fld dword [ebx + 0x57c]
fmul dword [ebx + 0x72c]
fld dword [ebx + 0x728]
fmul dword [ebx + 0x56c]
faddp st(1)
fld dword [ebx + 0x58c]
fmul dword [ebx + 0x730]
faddp st(1)
fld dword [ebx + 0x734]
fmul dword [ebx + 0x59c]
faddp st(1)
fstp dword [ebx + 0x62c]
fld dword [ebx + 0x728]
fmul dword [ebx + 0x570]
fld dword [ebx + 0x580]
fmul dword [ebx + 0x72c]
faddp st(1)
fld dword [ebx + 0x730]
fmul dword [ebx + 0x590]
faddp st(1)
fld dword [ebx + 0x734]
fmul dword [ebx + 0x5a0]
faddp st(1)
fstp dword [ebx + 0x630]
fld dword [ebx + 0x584]
fmul dword [ebx + 0x72c]
fld dword [ebx + 0x728]
fmul dword [ebx + 0x574]
faddp st(1)
fld dword [ebx + 0x594]
fmul dword [ebx + 0x730]
faddp st(1)
fld dword [ebx + 0x734]
fmul dword [ebx + 0x5a4]
faddp st(1)
fstp dword [ebx + 0x634]
fld dword [ebx + 0x568]
fmul dword [ebx + 0x738]
fld dword [ebx + 0x73c]
fmul dword [ebx + 0x578]
faddp st(1)
fld dword [ebx + 0x588]
fmul dword [ebx + 0x740]
faddp st(1)
fld dword [ebx + 0x598]
fmul dword [ebx + 0x744]
faddp st(1)
fstp dword [ebx + 0x638]
fld dword [ebx + 0x738]
fmul dword [ebx + 0x56c]
fld dword [ebx + 0x57c]
fmul dword [ebx + 0x73c]
faddp st(1)
fld dword [ebx + 0x58c]
fmul dword [ebx + 0x740]
faddp st(1)
fld dword [ebx + 0x744]
fmul dword [ebx + 0x59c]
faddp st(1)
fstp dword [ebx + 0x63c]
fld dword [ebx + 0x73c]
fmul dword [ebx + 0x580]
fld dword [ebx + 0x738]
fmul dword [ebx + 0x570]
faddp st(1)
fld dword [ebx + 0x740]
fmul dword [ebx + 0x590]
faddp st(1)
fld dword [ebx + 0x5a0]
fmul dword [ebx + 0x744]
faddp st(1)
fstp dword [ebx + 0x640]
fld dword [ebx + 0x738]
fmul dword [ebx + 0x574]
fld dword [ebx + 0x584]
fmul dword [ebx + 0x73c]
faddp st(1)
fld dword [ebx + 0x594]
fmul dword [ebx + 0x740]
faddp st(1)
fld dword [ebx + 0x744]
fmul dword [ebx + 0x5a4]
faddp st(1)
fstp dword [ebx + 0x644]
fld dword [ebx + 0x74c]
fmul dword [ebx + 0x578]
fld dword [ebx + 0x568]
fmul dword [ebx + 0x748]
faddp st(1)
fld dword [ebx + 0x750]
fmul dword [ebx + 0x588]
faddp st(1)
fld dword [ebx + 0x754]
fmul dword [ebx + 0x598]
faddp st(1)
fstp dword [ebx + 0x648]
fld dword [ebx + 0x57c]
fmul dword [ebx + 0x74c]
fld dword [ebx + 0x748]
fmul dword [ebx + 0x56c]
faddp st(1)
fld dword [ebx + 0x750]
fmul dword [ebx + 0x58c]
faddp st(1)
fld dword [ebx + 0x754]
fmul dword [ebx + 0x59c]
faddp st(1)
fstp dword [ebx + 0x64c]
fld dword [ebx + 0x74c]
fmul dword [ebx + 0x580]
fld dword [ebx + 0x570]
fmul dword [ebx + 0x748]
faddp st(1)
fld dword [ebx + 0x750]
fmul dword [ebx + 0x590]
faddp st(1)
fld dword [ebx + 0x754]
fmul dword [ebx + 0x5a0]
faddp st(1)
fstp dword [ebx + 0x650]
fld dword [ebx + 0x584]
fmul dword [ebx + 0x74c]
fld dword [ebx + 0x748]
fmul dword [ebx + 0x574]
faddp st(1)
fld dword [ebx + 0x750]
fmul dword [ebx + 0x594]
faddp st(1)
fld dword [ebx + 0x754]
fmul dword [ebx + 0x5a4]
faddp st(1)
fstp dword [ebx + 0x654]
fld dword [ebx + 0x568]
fmul dword [ebx + 0x758]
fld dword [ebx + 0x75c]
fmul dword [ebx + 0x578]
faddp st(1)
fld dword [ebx + 0x760]
fmul dword [ebx + 0x588]
faddp st(1)
fld dword [ebx + 0x598]
fmul dword [ebx + 0x764]
faddp st(1)
fstp dword [ebx + 0x658]
fld dword [ebx + 0x57c]
fmul dword [ebx + 0x75c]
fld dword [ebx + 0x758]
fmul dword [ebx + 0x56c]
faddp st(1)
fld dword [ebx + 0x760]
fmul dword [ebx + 0x58c]
faddp st(1)
fld dword [ebx + 0x764]
fmul dword [ebx + 0x59c]
faddp st(1)
fstp dword [ebx + 0x65c]
fld dword [ebx + 0x580]
fmul dword [ebx + 0x75c]
fld dword [ebx + 0x570]
fmul dword [ebx + 0x758]
faddp st(1)
fld dword [ebx + 0x760]
fmul dword [ebx + 0x590]
faddp st(1)
fld dword [ebx + 0x5a0]
fmul dword [ebx + 0x764]
faddp st(1)
fstp dword [ebx + 0x660]
fld dword [ebx + 0x584]
fmul dword [ebx + 0x75c]
fld dword [ebx + 0x758]
fmul dword [ebx + 0x574]
faddp st(1)
fld dword [ebx + 0x760]
fmul dword [ebx + 0x594]
faddp st(1)
fld dword [ebx + 0x764]
fmul dword [ebx + 0x5a4]
faddp st(1)
fstp dword [ebx + 0x664]
and dword [ebx + 0x30], 0xffffffef
mov eax, dword [ebx + 0x30]
test al, 1
je 0x10078574
fld dword [ebx + 0x5b8]
fstp qword [esp + 0x18]
fld dword [ebx + 0x62c]
fst qword [esp + 0x80]
fld dword [ebx + 0x628]
fst qword [esp + 0x58]
fld dword [ebx + 0x5a8]
fst qword [esp + 0xb8]
fld dword [ebx + 0x5c8]
fst qword [esp + 0xc8]
fld dword [ebx + 0x630]
fld dword [ebx + 0x5d8]
fst qword [esp + 0xc0]
fld dword [ebx + 0x634]
fxch st(4)
fmul st(5)
fld qword [esp + 0x18]
fmulp st(7)
faddp st(6)
fld st(1)
fmulp st(3)
fxch st(5)
faddp st(2)
fld st(2)
fmulp st(5)
fxch st(1)
faddp st(4)
fxch st(3)
fstp dword [esp + 0x64]
fld dword [ebx + 0x5bc]
fstp qword [esp + 0x28]
fld dword [ebx + 0x5ac]
fst qword [esp + 0xd0]
fld dword [ebx + 0x5cc]
fst qword [esp + 0x50]
fld dword [ebx + 0x5dc]
fst qword [esp + 0x48]
fxch st(2)
fmul st(4)
fld qword [esp + 0x28]
fld qword [esp + 0x80]
fmul st(1), st(0)
fxch st(2)
faddp st(1)
fxch st(2)
fmul st(6)
faddp st(2)
fxch st(2)
fmul st(3)
faddp st(1)
fstp dword [esp + 0xa0]
fld dword [ebx + 0x5c0]
fstp qword [esp + 0x68]
fld dword [ebx + 0x5b0]
fst qword [esp + 0x40]
fld dword [ebx + 0x5d0]
fst qword [esp + 0x98]
fld dword [ebx + 0x5e0]
fst qword [esp + 0x90]
fxch st(2)
fmulp st(5)
fld qword [esp + 0x68]
fmulp st(3)
fxch st(4)
faddp st(2)
fxch st(3)
fmul st(4)
faddp st(1)
fxch st(2)
fmul st(1)
faddp st(2)
fxch st(1)
fstp dword [esp + 0xa8]
fld dword [ebx + 0x5c4]
fst qword [esp + 0x20]
fld dword [ebx + 0x5b4]
fst qword [esp + 0x88]
fld dword [ebx + 0x5d4]
fld dword [ebx + 0x5e4]
fst qword [esp + 0x38]
fld qword [esp + 0x58]
fmulp st(3)
fld qword [esp + 0x80]
fmulp st(4)
fxch st(2)
faddp st(3)
fld st(0)
fmulp st(5)
fxch st(2)
faddp st(4)
fmulp st(2)
fxch st(2)
faddp st(1)
fstp dword [esp + 0xb0]
fld dword [ebx + 0x63c]
fld dword [ebx + 0x638]
fld dword [ebx + 0x640]
fld dword [ebx + 0x644]
fld st(2)
fmul qword [esp + 0xb8]
fld st(4)
fmul qword [esp + 0x18]
faddp st(1)
fld st(2)
fmul qword [esp + 0xc8]
faddp st(1)
fld st(1)
fmul qword [esp + 0xc0]
faddp st(1)
fstp dword [esp + 0x78]
fld st(2)
fmul qword [esp + 0xd0]
fld st(4)
fmul qword [esp + 0x28]
faddp st(1)
fld st(2)
fmul qword [esp + 0x50]
faddp st(1)
fld st(1)
fmul qword [esp + 0x48]
faddp st(1)
fstp dword [esp + 0x70]
fld st(2)
fmul qword [esp + 0x40]
fld st(4)
fmul qword [esp + 0x68]
faddp st(1)
fld st(2)
fmul qword [esp + 0x98]
faddp st(1)
fld st(1)
fmul qword [esp + 0x90]
faddp st(1)
fstp dword [esp + 0x58]
fld qword [esp + 0x88]
fmulp st(3)
fld qword [esp + 0x20]
fmulp st(4)
fxch st(2)
faddp st(3)
fmulp st(3)
fxch st(1)
faddp st(2)
fmul qword [esp + 0x38]
faddp st(1)
fld dword [ebx + 0x64c]
fld dword [ebx + 0x648]
fld dword [ebx + 0x650]
fld dword [ebx + 0x654]
fld st(2)
fmul qword [esp + 0xb8]
fld st(4)
fmul qword [esp + 0x18]
faddp st(1)
fld st(2)
fmul qword [esp + 0xc8]
faddp st(1)
fld st(1)
fmul qword [esp + 0xc0]
faddp st(1)
fld st(3)
fmul qword [esp + 0xd0]
fld qword [esp + 0x28]
fmul st(6)
mov eax, dword [ebx + 0x24]
faddp st(1)
fld qword [esp + 0x50]
fmulp st(4)
faddp st(3)
fld qword [esp + 0x48]
fmulp st(2)
fxch st(2)
faddp st(1)
fld qword [esp + 0x40]
fmulp st(3)
fld qword [esp + 0x68]
fmulp st(4)
fxch st(2)
faddp st(3)
fld dword [ebx + 0x5d0]
fmul dword [ebx + 0x650]
faddp st(3)
fld dword [ebx + 0x654]
fmul dword [ebx + 0x5e0]
faddp st(3)
fld dword [ebx + 0x648]
fmul dword [ebx + 0x5b4]
fld dword [ebx + 0x5c4]
fmul dword [ebx + 0x64c]
faddp st(1)
fld dword [ebx + 0x5d4]
fmul dword [ebx + 0x650]
faddp st(1)
fld dword [ebx + 0x654]
fmul dword [ebx + 0x5e4]
faddp st(1)
fld dword [ebx + 0x5b8]
fmul dword [ebx + 0x65c]
fld dword [ebx + 0x658]
fmul dword [ebx + 0x5a8]
faddp st(1)
fld dword [ebx + 0x5c8]
fmul dword [ebx + 0x660]
faddp st(1)
fld dword [ebx + 0x664]
fmul dword [ebx + 0x5d8]
faddp st(1)
fstp qword [esp + 0x68]
fld dword [ebx + 0x658]
fmul dword [ebx + 0x5ac]
fld dword [ebx + 0x5bc]
fmul dword [ebx + 0x65c]
faddp st(1)
fld dword [ebx + 0x5cc]
fmul dword [ebx + 0x660]
faddp st(1)
fld dword [ebx + 0x664]
fmul dword [ebx + 0x5dc]
faddp st(1)
fstp qword [esp + 0x28]
fld dword [ebx + 0x658]
fmul dword [ebx + 0x5b0]
fld dword [ebx + 0x5c0]
fmul dword [ebx + 0x65c]
faddp st(1)
fld dword [ebx + 0x5d0]
fmul dword [ebx + 0x660]
faddp st(1)
fld dword [ebx + 0x664]
fmul dword [ebx + 0x5e0]
faddp st(1)
fstp qword [esp + 0x18]
fld dword [ebx + 0x658]
fmul dword [ebx + 0x5b4]
fld dword [ebx + 0x5c4]
fmul dword [ebx + 0x65c]
faddp st(1)
fld dword [ebx + 0x5d4]
fmul dword [ebx + 0x660]
faddp st(1)
fld dword [ebx + 0x664]
fmul dword [ebx + 0x5e4]
faddp st(1)
mov ecx, dword [eax + 0xf638]
cmp ecx, 7
ja 0x1007842a
mov ecx, 7
cmp dword [eax + 0xf63c], 3
fstp dword [esp + 0x20]
fld qword [esp + 0x18]
fstp dword [esp + 0x38]
fld qword [esp + 0x28]
fstp dword [esp + 0x10]
fld qword [esp + 0x68]
fstp dword [esp + 0x14]
mov dword [eax + 0xf638], ecx
fstp dword [esp + 0x34]
fxch st(2)
fstp dword [esp + 0x30]
fstp dword [esp + 0x88]
fstp dword [esp + 0x90]
fstp dword [esp + 0x98]
jbe 0x1007847e
mov dword [eax + 0xf63c], 3
cmp dword [eax + 0xf640], 7
fld dword [esp + 0x20]
fstp dword [esp + 0x50]
fld dword [esp + 0x38]
fstp dword [esp + 0x48]
fld dword [esp + 0x10]
fstp dword [esp + 0x40]
fld dword [esp + 0x14]
fstp dword [esp + 0x10]
fld dword [esp + 0x34]
fstp dword [esp + 0x38]
fld dword [esp + 0x30]
fstp dword [esp + 0x20]
fld dword [esp + 0x88]
fstp dword [esp + 0x88]
fld dword [esp + 0x90]
fstp dword [esp + 0x90]
fld dword [esp + 0x98]
fstp dword [esp + 0x98]
jae 0x100784eb
mov dword [eax + 0xf640], 7
fld dword [esp + 0x64]
fstp dword [eax + 0x30]
fld dword [esp + 0xa0]
fstp dword [eax + 0x34]
fld dword [esp + 0xa8]
fstp dword [eax + 0x38]
fld dword [esp + 0xb0]
fstp dword [eax + 0x3c]
fld dword [esp + 0x78]
fstp dword [eax + 0x40]
fld dword [esp + 0x70]
fstp dword [eax + 0x44]
fld dword [esp + 0x58]
fstp dword [eax + 0x48]
fld dword [esp + 0x98]
fstp dword [eax + 0x4c]
fld dword [esp + 0x90]
fstp dword [eax + 0x50]
fld dword [esp + 0x88]
fstp dword [eax + 0x54]
fld dword [esp + 0x20]
fstp dword [eax + 0x58]
fld dword [esp + 0x38]
fstp dword [eax + 0x5c]
fld dword [esp + 0x10]
fstp dword [eax + 0x60]
fld dword [esp + 0x40]
fstp dword [eax + 0x64]
fld dword [esp + 0x48]
fstp dword [eax + 0x68]
fld dword [esp + 0x50]
fstp dword [eax + 0x6c]
and dword [ebx + 0x30], 0xfffffffe
mov eax, dword [ebx + 0x30]
mov edx, dword [ebx + 0x18]
mov ecx, eax
test dl, 1
je 0x100785e4
test eax, 0x1000
je 0x100785e4
mov edi, dword [ebx + 0x24]
mov eax, dword [edi + 0xf638]
cmp eax, 0xe
ja 0x10078598
mov eax, 0xe
cmp dword [edi + 0xf63c], 0xa
mov dword [edi + 0xf638], eax
jbe 0x100785b1
mov dword [edi + 0xf63c], 0xa
cmp dword [edi + 0xf640], 0xe
jae 0x100785c4
mov dword [edi + 0xf640], 0xe
add edi, 0xa0
lea esi, [ebx + 0x628]
mov ecx, 0x10
rep movsd dword es:[edi], dword [esi]
and dword [ebx + 0x30], 0xffffefff
mov ecx, dword [ebx + 0x30]
mov edx, dword [ebx + 0x18]
mov eax, ecx
test dl, 2
je 0x100795ac
test ecx, 0x100
je 0x100795ac
mov edi, dword [ebx + 0x20]
lea eax, [ebx + 0x628]
push eax
lea eax, [esp + 0xf4]
push eax
mov edx, dword [edi]
mov esi, dword [edx + 0x14]
mov ecx, esi
call dword [0x100ac510]
mov ecx, edi
call esi
mov edi, dword [ebx + 0x24]
mov eax, dword [edi + 0xf638]
cmp eax, 0x12
ja 0x10078631
mov eax, 0x12
cmp dword [edi + 0xf63c], 0xe
mov dword [edi + 0xf638], eax
jbe 0x1007864a
mov dword [edi + 0xf63c], 0xe
cmp dword [edi + 0xf640], 0x12
jae 0x1007865d
mov dword [edi + 0xf640], 0x12
add edi, 0xe0
lea esi, [esp + 0xf0]
mov ecx, 0x10
rep movsd dword es:[edi], dword [esi]
and dword [ebx + 0x30], 0xfffffeff
mov eax, dword [ebx + 0x30]
jmp 0x100795ac
test cl, 8
je 0x100789e3
test eax, 0x80000
je 0x100786f3
mov edi, dword [ebx + 0x24]
mov eax, dword [edi + 0xf638]
cmp eax, 0x16
ja 0x100786a3
mov eax, 0x16
cmp dword [edi + 0xf63c], 0x12
mov dword [edi + 0xf638], eax
jbe 0x100786bc
mov dword [edi + 0xf63c], 0x12
cmp dword [edi + 0xf640], 0x16
jae 0x100786cf
mov dword [edi + 0xf640], 0x16
lea edx, [ebx + 0x568]
add edi, 0x120
mov ecx, 0x10
mov esi, edx
rep movsd dword es:[edi], dword [esi]
and dword [ebx + 0x30], 0xfff7ffff
mov eax, dword [ebx + 0x30]
mov ecx, dword [ebx + 0x18]
jmp 0x100786f9
lea edx, [ebx + 0x568]
test eax, 0x100000
je 0x1007877f
test cl, 2
je 0x1007877f
mov edi, dword [ebx + 0x20]
lea ecx, [esp + 0xf0]
push edx
push ecx
mov eax, dword [edi]
mov esi, dword [eax + 0x14]
mov ecx, esi
call dword [0x100ac510]
mov ecx, edi
call esi
mov edi, dword [ebx + 0x24]
mov eax, dword [edi + 0xf638]
cmp eax, 0x1a
ja 0x10078735
mov eax, 0x1a
cmp dword [edi + 0xf63c], 0x16
mov dword [edi + 0xf638], eax
jbe 0x1007874e
mov dword [edi + 0xf63c], 0x16
cmp dword [edi + 0xf640], 0x1a
jae 0x10078761
mov dword [edi + 0xf640], 0x1a
add edi, 0x160
lea esi, [esp + 0xf0]
mov ecx, 0x10
rep movsd dword es:[edi], dword [esi]
and dword [ebx + 0x30], 0xffefffff
mov eax, dword [ebx + 0x30]
test eax, 0x40000
je 0x100787e2
mov edi, dword [ebx + 0x24]
mov eax, dword [edi + 0xf638]
cmp eax, 0x1e
ja 0x10078799
mov eax, 0x1e
cmp dword [edi + 0xf63c], 0x1a
mov dword [edi + 0xf638], eax
jbe 0x100787b2
mov dword [edi + 0xf63c], 0x1a
cmp dword [edi + 0xf640], 0x1e
jae 0x100787c5
mov dword [edi + 0xf640], 0x1e
add edi, 0x1a0
lea esi, [ebx + 0x5a8]
mov ecx, 0x10
rep movsd dword es:[edi], dword [esi]
and dword [ebx + 0x30], 0xfffbffff
mov eax, dword [ebx + 0x30]
test eax, 0x10000
je 0x10078804
mov ecx, dword [ebx + 0x24]
lea eax, [ebx + 0x728]
push eax
push 0
call fcn.10077690
and dword [ebx + 0x30], 0xfffeffff
mov eax, dword [ebx + 0x30]
movzx ecx, word [ebx + 0x260]
mov edx, 0xffff
cmp cx, dx
je 0x100788af
mov eax, ecx
jmp 0x10078820
mov ecx, dword [ebx + 0x24]
movzx edx, ax
cmp edx, dword [ecx + 0xf630]
jae 0x10078888
mov esi, dword [ecx + 0xf638]
mov edi, edx
shl edi, 7
add edi, dword [ecx + 0xf628]
sub edi, ecx
shr edi, 4
lea eax, [edi + 4]
cmp esi, eax
ja 0x1007884d
mov esi, eax
mov dword [ecx + 0xf638], esi
cmp dword [ecx + 0xf64c], edi
jbe 0x10078861
mov dword [ecx + 0xf64c], edi
cmp dword [ecx + 0xf650], eax
jae 0x1007886f
mov dword [ecx + 0xf650], eax
mov eax, edx
shl edi, 4
shl eax, 6
lea esi, [ebx + 0x728]
add esi, eax
add edi, ecx
mov ecx, 0x10
rep movsd dword es:[edi], dword [esi]
and byte [ebx + edx + 0x464], 0xfe
movzx eax, word [ebx + edx*2 + 0x60]
mov edx, 0xffff
mov ecx, eax
mov word [ebx + 0x260], ax
cmp cx, dx
jne 0x10078820
mov eax, dword [ebx + 0x30]
and eax, 0xfbffffff
test byte [ebx + 0x18], 2
mov dword [ebx + 0x30], eax
je 0x100795ac
test eax, 0x20000
je 0x100788fd
mov edi, dword [ebx + 0x20]
lea eax, [ebx + 0x728]
push eax
lea eax, [esp + 0xf4]
push eax
mov edx, dword [edi]
mov esi, dword [edx + 0x14]
mov ecx, esi
call dword [0x100ac510]
mov ecx, edi
call esi
mov ecx, dword [ebx + 0x24]
lea eax, [esp + 0xf0]
push eax
push 0
call fcn.100776f0
movzx eax, word [ebx + 0x462]
mov ecx, 0xffff
cmp ax, cx
je 0x100789d4
mov dword [esp + 0x10], eax
mov edi, dword [ebx + 0x20]
movzx eax, ax
shl eax, 6
add eax, 0x728
mov esi, dword [edi]
add eax, ebx
push eax
lea eax, [esp + 0xf4]
push eax
mov esi, dword [esi + 0x14]
mov ecx, esi
call dword [0x100ac510]
mov ecx, edi
call esi
mov eax, dword [ebx + 0x24]
mov ecx, dword [esp + 0x10]
movzx edx, cx
cmp edx, dword [eax + 0xf630]
jae 0x100789a9
mov esi, dword [eax + 0xf638]
mov edi, edx
shl edi, 7
add edi, dword [eax + 0xf628]
sub edi, eax
add edi, 0x40
shr edi, 4
lea ecx, [edi + 4]
cmp esi, ecx
ja 0x10078974
mov esi, ecx
mov dword [eax + 0xf638], esi
cmp dword [eax + 0xf64c], edi
jbe 0x10078988
mov dword [eax + 0xf64c], edi
cmp dword [eax + 0xf650], ecx
jae 0x10078996
mov dword [eax + 0xf650], ecx
shl edi, 4
lea esi, [esp + 0xf0]
add edi, eax
mov ecx, 0x10
rep movsd dword es:[edi], dword [esi]
and byte [ebx + edx + 0x464], 0xfd
movzx eax, word [ebx + edx*2 + 0x262]
mov edx, 0xffff
mov ecx, eax
mov word [ebx + 0x462], ax
mov dword [esp + 0x10], eax
cmp cx, dx
jne 0x10078916
and dword [ebx + 0x30], 0xf7ffffff
mov eax, dword [ebx + 0x30]
jmp 0x100795ac
mov edx, dword [ebx + 8]
mov esi, 0x1000
shr edx, 0x12
mov edi, eax
and edx, 3
mov dword [esp + 0x14], 1
mov dword [esp + 0x18], edx
xor edx, edx
mov dword [esp + 0x30], 0x10
mov dword [esp + 0x10], pe_nt_image_headers32
mov dword [esp + 0x34], esi
mov dword [esp + 0x20], edx
lea esp, [esp]
mov eax, edi
mov ecx, dword [esp + 0x14]
test dword [esp + 0x30], edi
je 0x10078e55
mov eax, edx
shl eax, 6
fld dword [eax + ebx + 0x72c]
fmul dword [ebx + 0x578]
fld dword [eax + ebx + 0x728]
fmul dword [ebx + 0x568]
faddp st(1)
fld dword [ebx + 0x588]
fmul dword [eax + ebx + 0x730]
faddp st(1)
fld dword [ebx + 0x598]
fmul dword [eax + ebx + 0x734]
faddp st(1)
fstp dword [eax + ebx + 0x628]
fld dword [eax + ebx + 0x728]
fmul dword [ebx + 0x56c]
fld dword [eax + ebx + 0x72c]
fmul dword [ebx + 0x57c]
faddp st(1)
fld dword [eax + ebx + 0x730]
fmul dword [ebx + 0x58c]
faddp st(1)
fld dword [ebx + 0x59c]
fmul dword [eax + ebx + 0x734]
faddp st(1)
fstp dword [eax + ebx + 0x62c]
fld dword [ebx + 0x580]
fmul dword [eax + ebx + 0x72c]
fld dword [eax + ebx + 0x728]
fmul dword [ebx + 0x570]
faddp st(1)
fld dword [eax + ebx + 0x730]
fmul dword [ebx + 0x590]
faddp st(1)
fld dword [eax + ebx + 0x734]
fmul dword [ebx + 0x5a0]
faddp st(1)
fstp dword [eax + ebx + 0x630]
fld dword [eax + ebx + 0x728]
fmul dword [ebx + 0x574]
fld dword [eax + ebx + 0x72c]
fmul dword [ebx + 0x584]
faddp st(1)
fld dword [eax + ebx + 0x730]
fmul dword [ebx + 0x594]
faddp st(1)
fld dword [ebx + 0x5a4]
fmul dword [eax + ebx + 0x734]
faddp st(1)
fstp dword [eax + ebx + 0x634]
fld dword [eax + ebx + 0x73c]
fmul dword [ebx + 0x578]
fld dword [ebx + 0x568]
fmul dword [eax + ebx + 0x738]
faddp st(1)
fld dword [ebx + 0x588]
fmul dword [eax + ebx + 0x740]
faddp st(1)
fld dword [ebx + 0x598]
fmul dword [eax + ebx + 0x744]
faddp st(1)
fstp dword [eax + ebx + 0x638]
fld dword [ebx + 0x56c]
fmul dword [eax + ebx + 0x738]
fld dword [eax + ebx + 0x73c]
fmul dword [ebx + 0x57c]
faddp st(1)
fld dword [eax + ebx + 0x740]
fmul dword [ebx + 0x58c]
faddp st(1)
fld dword [ebx + 0x59c]
fmul dword [eax + ebx + 0x744]
faddp st(1)
fstp dword [eax + ebx + 0x63c]
fld dword [eax + ebx + 0x73c]
fmul dword [ebx + 0x580]
fld dword [eax + ebx + 0x738]
fmul dword [ebx + 0x570]
faddp st(1)
fld dword [eax + ebx + 0x740]
fmul dword [ebx + 0x590]
faddp st(1)
fld dword [ebx + 0x5a0]
fmul dword [eax + ebx + 0x744]
faddp st(1)
fstp dword [eax + ebx + 0x640]
fld dword [ebx + 0x574]
fmul dword [eax + ebx + 0x738]
fld dword [eax + ebx + 0x73c]
fmul dword [ebx + 0x584]
faddp st(1)
fld dword [eax + ebx + 0x740]
fmul dword [ebx + 0x594]
faddp st(1)
fld dword [ebx + 0x5a4]
fmul dword [eax + ebx + 0x744]
faddp st(1)
fstp dword [eax + ebx + 0x644]
fld dword [eax + ebx + 0x74c]
fmul dword [ebx + 0x578]
fld dword [eax + ebx + 0x748]
fmul dword [ebx + 0x568]
faddp st(1)
fld dword [ebx + 0x588]
fmul dword [eax + ebx + 0x750]
faddp st(1)
fld dword [eax + ebx + 0x754]
fmul dword [ebx + 0x598]
faddp st(1)
fstp dword [eax + ebx + 0x648]
fld dword [eax + ebx + 0x748]
fmul dword [ebx + 0x56c]
fld dword [eax + ebx + 0x74c]
fmul dword [ebx + 0x57c]
faddp st(1)
fld dword [eax + ebx + 0x750]
fmul dword [ebx + 0x58c]
faddp st(1)
fld dword [ebx + 0x59c]
fmul dword [eax + ebx + 0x754]
faddp st(1)
fstp dword [eax + ebx + 0x64c]
fld dword [eax + ebx + 0x748]
fmul dword [ebx + 0x570]
fld dword [eax + ebx + 0x74c]
fmul dword [ebx + 0x580]
faddp st(1)
fld dword [ebx + 0x590]
fmul dword [eax + ebx + 0x750]
faddp st(1)
fld dword [eax + ebx + 0x754]
fmul dword [ebx + 0x5a0]
faddp st(1)
fstp dword [eax + ebx + 0x650]
fld dword [eax + ebx + 0x748]
fmul dword [ebx + 0x574]
fld dword [eax + ebx + 0x74c]
fmul dword [ebx + 0x584]
faddp st(1)
fld dword [eax + ebx + 0x750]
fmul dword [ebx + 0x594]
faddp st(1)
fld dword [ebx + 0x5a4]
fmul dword [eax + ebx + 0x754]
faddp st(1)
fstp dword [eax + ebx + 0x654]
fld dword [eax + ebx + 0x75c]
fmul dword [ebx + 0x578]
fld dword [ebx + 0x568]
fmul dword [eax + ebx + 0x758]
faddp st(1)
fld dword [ebx + 0x588]
fmul dword [eax + ebx + 0x760]
faddp st(1)
fld dword [ebx + 0x598]
fmul dword [eax + ebx + 0x764]
faddp st(1)
fstp dword [eax + ebx + 0x658]
fld dword [ebx + 0x56c]
fmul dword [eax + ebx + 0x758]
fld dword [eax + ebx + 0x75c]
fmul dword [ebx + 0x57c]
faddp st(1)
mov edi, dword [esp + 0x30]
fld dword [eax + ebx + 0x760]
fmul dword [ebx + 0x58c]
faddp st(1)
fld dword [ebx + 0x59c]
fmul dword [eax + ebx + 0x764]
faddp st(1)
fstp dword [eax + ebx + 0x65c]
fld dword [eax + ebx + 0x75c]
fmul dword [ebx + 0x580]
fld dword [eax + ebx + 0x758]
fmul dword [ebx + 0x570]
faddp st(1)
fld dword [eax + ebx + 0x760]
fmul dword [ebx + 0x590]
faddp st(1)
fld dword [eax + ebx + 0x764]
fmul dword [ebx + 0x5a0]
faddp st(1)
fstp dword [eax + ebx + 0x660]
fld dword [ebx + 0x574]
fmul dword [eax + ebx + 0x758]
fld dword [eax + ebx + 0x75c]
fmul dword [ebx + 0x584]
faddp st(1)
fld dword [eax + ebx + 0x760]
fmul dword [ebx + 0x594]
faddp st(1)
fld dword [ebx + 0x5a4]
fmul dword [eax + ebx + 0x764]
faddp st(1)
fstp dword [eax + ebx + 0x664]
mov eax, edi
not eax
and dword [ebx + 0x30], eax
mov eax, dword [ebx + 0x30]
jmp 0x10078e59
mov edi, dword [esp + 0x30]
add edi, edi
mov dword [esp + 0x30], edi
test ecx, eax
je 0x1007944f
mov eax, edx
shl eax, 6
fld dword [ebx + eax + 0x62c]
fst qword [esp + 0xc0]
fld dword [ebx + 0x5b8]
fstp qword [esp + 0x28]
fld dword [ebx + eax + 0x628]
fst qword [esp + 0xc8]
fld dword [ebx + 0x5a8]
fst qword [esp + 0xb8]
fld dword [ebx + 0x5c8]
fst qword [esp + 0x50]
fld dword [ebx + eax + 0x630]
fld dword [ebx + 0x5d8]
fst qword [esp + 0x48]
fld dword [ebx + eax + 0x634]
fxch st(4)
fmul st(5)
fld qword [esp + 0x28]
fmul st(7)
faddp st(1)
fld st(2)
fmulp st(4)
faddp st(3)
fmul st(3)
faddp st(2)
fxch st(1)
fstp dword [esp + 0x90]
fld dword [ebx + 0x5bc]
fstp qword [esp + 0x68]
fld dword [ebx + 0x5ac]
fst qword [esp + 0x40]
fld dword [ebx + 0x5cc]
fst qword [esp + 0x58]
fld dword [ebx + 0x5dc]
fst qword [esp + 0x70]
fxch st(2)
fmul st(5)
fld qword [esp + 0x68]
fmul st(7)
faddp st(1)
fxch st(1)
fmul st(3)
faddp st(1)
fxch st(1)
fmul st(3)
faddp st(1)
fstp dword [esp + 0x64]
fld dword [ebx + 0x5c0]
fstp qword [esp + 0x80]
fld dword [ebx + 0x5b0]
fstp dword [esp + 0x38]
fld dword [esp + 0x38]
fst qword [esp + 0x78]
fld dword [ebx + 0x5d0]
fst qword [esp + 0xb0]
fld dword [ebx + 0x5e0]
fst qword [esp + 0xa8]
fxch st(2)
fmulp st(5)
fld qword [esp + 0x80]
fmulp st(6)
fxch st(4)
faddp st(5)
fxch st(3)
fmul st(1)
faddp st(4)
fxch st(2)
fmul st(1)
faddp st(3)
fxch st(2)
fstp dword [esp + 0x98]
fld dword [ebx + 0x5c4]
fst qword [esp + 0xa0]
fld dword [ebx + 0x5b4]
fst qword [esp + 0xe0]
fld dword [ebx + 0x5d4]
fld dword [ebx + 0x5e4]
fst qword [esp + 0xe8]
fld qword [esp + 0xc8]
fmulp st(3)
fld qword [esp + 0xc0]
fmulp st(4)
fxch st(2)
faddp st(3)
fld st(0)
fmulp st(4)
fxch st(2)
faddp st(3)
fmulp st(3)
fxch st(1)
faddp st(2)
fxch st(1)
fstp dword [esp + 0x88]
fld dword [ebx + eax + 0x63c]
fld dword [ebx + eax + 0x638]
fld dword [ebx + eax + 0x640]
fld dword [ebx + eax + 0x644]
fld st(3)
fmul qword [esp + 0x28]
fld st(3)
fmul qword [esp + 0xb8]
faddp st(1)
fld st(2)
fmul qword [esp + 0x50]
faddp st(1)
fld st(1)
fmul qword [esp + 0x48]
faddp st(1)
fstp dword [esp + 0xd0]
fld st(3)
fmul qword [esp + 0x68]
fld st(3)
fmul qword [esp + 0x40]
faddp st(1)
fld st(2)
fmul qword [esp + 0x58]
faddp st(1)
fld st(1)
fmul qword [esp + 0x70]
faddp st(1)
fstp dword [esp + 0xc0]
fld st(3)
fmul qword [esp + 0x80]
fld st(3)
fmul qword [esp + 0x78]
faddp st(1)
fld st(2)
fmul qword [esp + 0xb0]
faddp st(1)
fld st(1)
fmul qword [esp + 0xa8]
faddp st(1)
fstp dword [esp + 0xc8]
fld qword [esp + 0xa0]
fmulp st(4)
fld qword [esp + 0xe0]
fmulp st(3)
fxch st(3)
faddp st(2)
fmulp st(3)
faddp st(2)
fmul qword [esp + 0xe8]
faddp st(1)
fld dword [ebx + eax + 0x64c]
fld dword [ebx + eax + 0x648]
fld dword [ebx + eax + 0x650]
fld dword [ebx + eax + 0x654]
fld st(2)
fmul qword [esp + 0xb8]
fld st(4)
fmul qword [esp + 0x28]
faddp st(1)
fld st(2)
fmul qword [esp + 0x50]
faddp st(1)
fld st(1)
fmul qword [esp + 0x48]
faddp st(1)
fstp qword [esp + 0x28]
fld st(3)
fmul qword [esp + 0x68]
mov ecx, dword [ebx + 0x24]
fld st(3)
fmul qword [esp + 0x40]
faddp st(1)
fld qword [esp + 0x58]
fmulp st(3)
faddp st(2)
fmul qword [esp + 0x70]
faddp st(1)
fld dword [esp + 0x38]
fmulp st(2)
fld qword [esp + 0x80]
fmulp st(3)
fxch st(1)
faddp st(2)
fld dword [ebx + eax + 0x650]
fmul dword [ebx + 0x5d0]
faddp st(2)
fld dword [ebx + eax + 0x654]
fmul dword [ebx + 0x5e0]
faddp st(2)
fld dword [ebx + eax + 0x648]
fmul dword [ebx + 0x5b4]
fld dword [ebx + eax + 0x64c]
fmul dword [ebx + 0x5c4]
faddp st(1)
fld dword [ebx + eax + 0x650]
fmul dword [ebx + 0x5d4]
faddp st(1)
fld dword [ebx + eax + 0x654]
fmul dword [ebx + 0x5e4]
faddp st(1)
fld dword [ebx + 0x5b8]
fmul dword [ebx + eax + 0x65c]
fld dword [ebx + eax + 0x658]
fmul dword [ebx + 0x5a8]
faddp st(1)
fld dword [ebx + eax + 0x660]
fmul dword [ebx + 0x5c8]
faddp st(1)
fld dword [ebx + eax + 0x664]
fmul dword [ebx + 0x5d8]
faddp st(1)
fld dword [ebx + eax + 0x658]
fmul dword [ebx + 0x5ac]
fld dword [ebx + eax + 0x65c]
fmul dword [ebx + 0x5bc]
faddp st(1)
fld dword [ebx + eax + 0x660]
fmul dword [ebx + 0x5cc]
faddp st(1)
fld dword [ebx + eax + 0x664]
fmul dword [ebx + 0x5dc]
faddp st(1)
fstp qword [esp + 0xe0]
fld dword [ebx + eax + 0x658]
fmul dword [ebx + 0x5b0]
fld dword [ebx + eax + 0x65c]
fmul dword [ebx + 0x5c0]
faddp st(1)
fld dword [ebx + eax + 0x660]
fmul dword [ebx + 0x5d0]
faddp st(1)
fld dword [ebx + eax + 0x664]
fmul dword [ebx + 0x5e0]
faddp st(1)
fstp qword [esp + 0xe8]
fld dword [ebx + eax + 0x658]
fmul dword [ebx + 0x5b4]
fld dword [ebx + eax + 0x65c]
fmul dword [ebx + 0x5c4]
faddp st(1)
fld dword [ebx + eax + 0x660]
fmul dword [ebx + 0x5d4]
faddp st(1)
fld dword [ebx + eax + 0x664]
fmul dword [ebx + 0x5e4]
faddp st(1)
test edx, edx
jne 0x10079261
lea eax, [edx + 3]
jmp 0x10079269
add eax, 0x3a0
shr eax, 4
fstp dword [esp + 0x50]
fld qword [esp + 0xe8]
lea esi, [eax + 4]
mov edi, dword [ecx + 0xf638]
fstp dword [esp + 0x48]
fld qword [esp + 0xe0]
fstp dword [esp + 0x40]
fstp dword [esp + 0x58]
fstp dword [esp + 0x70]
fxch st(1)
fstp dword [esp + 0x78]
fstp dword [esp + 0xb0]
fld qword [esp + 0x28]
fstp dword [esp + 0xa8]
fstp dword [esp + 0xa0]
cmp edi, esi
ja 0x100792b9
mov edi, esi
fld dword [esp + 0x50]
fstp dword [esp + 0x50]
fld dword [esp + 0x48]
fstp dword [esp + 0x48]
fld dword [esp + 0x40]
fstp dword [esp + 0x40]
fld dword [esp + 0x58]
fstp dword [esp + 0x58]
fld dword [esp + 0x70]
fstp dword [esp + 0x70]
fld dword [esp + 0x78]
fstp dword [esp + 0x78]
fld dword [esp + 0xb0]
fstp dword [esp + 0xb0]
fld dword [esp + 0xa8]
fstp dword [esp + 0xa8]
fld dword [esp + 0xa0]
fstp dword [esp + 0xa0]
fld dword [esp + 0x64]
fstp dword [esp + 0x64]
mov dword [ecx + 0xf638], edi
cmp dword [ecx + 0xf63c], eax
jbe 0x1007932f
mov dword [ecx + 0xf63c], eax
fld dword [esp + 0x50]
fstp dword [esp + 0x28]
fld dword [esp + 0x48]
fstp dword [esp + 0x68]
fld dword [esp + 0x40]
fstp dword [esp + 0x80]
fld dword [esp + 0x58]
fstp dword [esp + 0xb8]
fld dword [esp + 0x70]
fstp dword [esp + 0x38]
fld dword [esp + 0x78]
fstp dword [esp + 0x78]
fld dword [esp + 0xb0]
fstp dword [esp + 0x70]
fld dword [esp + 0xa8]
fstp dword [esp + 0x58]
fld dword [esp + 0xa0]
fstp dword [esp + 0x40]
fld dword [esp + 0x98]
fstp dword [esp + 0x48]
fld dword [esp + 0x64]
fstp dword [esp + 0x50]
cmp dword [ecx + 0xf640], esi
jae 0x100793a7
mov dword [ecx + 0xf640], esi
fld dword [esp + 0x90]
add eax, eax
mov esi, dword [esp + 0x34]
fstp dword [ecx + eax*8]
fld dword [esp + 0x50]
fstp dword [ecx + eax*8 + 4]
fld dword [esp + 0x48]
fstp dword [ecx + eax*8 + 8]
fld dword [esp + 0x88]
fstp dword [ecx + eax*8 + 0xc]
fld dword [esp + 0xd0]
fstp dword [ecx + eax*8 + 0x10]
fld dword [esp + 0xc0]
fstp dword [ecx + eax*8 + 0x14]
fld dword [esp + 0xc8]
fstp dword [ecx + eax*8 + 0x18]
fld dword [esp + 0x40]
fstp dword [ecx + eax*8 + 0x1c]
fld dword [esp + 0x58]
fstp dword [ecx + eax*8 + 0x20]
fld dword [esp + 0x70]
fstp dword [ecx + eax*8 + 0x24]
fld dword [esp + 0x78]
fstp dword [ecx + eax*8 + 0x28]
fld dword [esp + 0x38]
fstp dword [ecx + eax*8 + 0x2c]
fld dword [esp + 0xb8]
fstp dword [ecx + eax*8 + 0x30]
fld dword [esp + 0x80]
fstp dword [ecx + eax*8 + 0x34]
fld dword [esp + 0x68]
fstp dword [ecx + eax*8 + 0x38]
fld dword [esp + 0x28]
fstp dword [ecx + eax*8 + 0x3c]
mov ecx, dword [esp + 0x14]
mov eax, ecx
not eax
and dword [ebx + 0x30], eax
mov eax, dword [ebx + 0x30]
add ecx, ecx
mov dword [esp + 0x14], ecx
mov ecx, dword [ebx + 0x18]
test cl, 1
je 0x100794e0
test esi, eax
je 0x100794da
mov ecx, dword [ebx + 0x24]
test edx, edx
jne 0x10079471
lea edi, [edx + 0xa]
jmp 0x1007947f
mov edi, edx
shl edi, 6
add edi, 0x460
shr edi, 4
mov esi, dword [ecx + 0xf638]
lea eax, [edi + 4]
cmp esi, eax
ja 0x1007948e
mov esi, eax
mov dword [ecx + 0xf638], esi
cmp dword [ecx + 0xf63c], edi
jbe 0x100794a2
mov dword [ecx + 0xf63c], edi
cmp dword [ecx + 0xf640], eax
jae 0x100794b0
mov dword [ecx + 0xf640], eax
shl edi, 4
lea esi, [ebx + 0x628]
mov eax, edx
add edi, ecx
shl eax, 6
mov ecx, 0x10
add esi, eax
rep movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x34]
mov eax, esi
mov ecx, dword [ebx + 0x18]
not eax
and dword [ebx + 0x30], eax
mov eax, dword [ebx + 0x30]
add esi, esi
mov dword [esp + 0x34], esi
test cl, 2
je 0x10079597
mov ecx, dword [esp + 0x10]
test ecx, eax
je 0x10079591
mov edi, dword [ebx + 0x20]
mov eax, edx
shl eax, 6
mov dword [esp + 0x28], eax
add eax, 0x628
add eax, ebx
mov edx, dword [edi]
push eax
lea eax, [esp + 0xf4]
push eax
mov esi, dword [edx + 0x14]
mov ecx, esi
call dword [0x100ac510]
mov ecx, edi
call esi
mov edx, dword [esp + 0x20]
mov eax, dword [ebx + 0x24]
test edx, edx
jne 0x10079532
lea edi, [edx + 0xe]
jmp 0x1007953f
mov edi, dword [esp + 0x28]
add edi, 0x520
shr edi, 4
mov esi, dword [eax + 0xf638]
lea ecx, [edi + 4]
cmp esi, ecx
ja 0x1007954e
mov esi, ecx
mov dword [eax + 0xf638], esi
cmp dword [eax + 0xf63c], edi
jbe 0x10079562
mov dword [eax + 0xf63c], edi
cmp dword [eax + 0xf640], ecx
jae 0x10079570
mov dword [eax + 0xf640], ecx
shl edi, 4
lea esi, [esp + 0xf0]
add edi, eax
mov ecx, 0x10
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x10]
mov eax, ecx
not eax
and dword [ebx + 0x30], eax
mov eax, dword [ebx + 0x30]
add ecx, ecx
mov dword [esp + 0x10], ecx
mov esi, dword [esp + 0x34]
inc edx
mov edi, eax
mov dword [esp + 0x20], edx
cmp edx, dword [esp + 0x18]
jbe 0x10078a20
lea edx, [ebx + 0x4928]
mov dword [esp + 0x10], edx
test eax, 0x800000
je 0x100795e5
mov ecx, dword [ebx + 0x24]
lea eax, [ebx + 0x568]
push eax
push dword [ebx + 0x4d24]
push edx
call fcn.100bcc27
and dword [ebx + 0x30], 0xff7fffff
lea edx, [ebx + 0x4928]
mov eax, dword [ebx + 0x30]
jmp 0x100795e9
mov dword [esp + 0x10], edx
test eax, 0x2000000
je 0x10079726
mov esi, dword [ebx + 0x4d24]
mov ecx, dword [ebx + 0x24]
mov dword [esp + 0x38], esi
test esi, esi
je 0x1007971e
fld qword [0x1000b6c0]
mov ebx, ecx
lea eax, [ebx + 0xf694]
mov dword [esp + 0x20], eax
imul edi, dword [eax], 0x70
mov esi, dword [edx]
add edi, dword [ebx + 0xf620]
mov eax, dword [esi + 0x24]
mov dword [edi], eax
mov eax, dword [esi + 0x28]
mov dword [edi + 4], eax
mov eax, dword [esi + 0x2c]
mov dword [edi + 8], eax
mov eax, dword [esi + 0x30]
mov dword [edi + 0xc], eax
mov eax, dword [esi + 4]
mov dword [edi + 0x10], eax
mov eax, dword [esi + 8]
mov dword [edi + 0x14], eax
mov eax, dword [esi + 0xc]
mov dword [edi + 0x18], eax
mov eax, dword [esi + 0x10]
mov dword [edi + 0x1c], eax
mov eax, dword [esi + 0x14]
mov dword [edi + 0x20], eax
mov eax, dword [esi + 0x18]
mov dword [edi + 0x24], eax
mov eax, dword [esi + 0x1c]
mov dword [edi + 0x28], eax
mov eax, dword [esi + 0x20]
mov dword [edi + 0x2c], eax
fld dword [esi + 0x54]
fstp dword [edi + 0x50]
fld dword [esi + 0x58]
fstp dword [edi + 0x54]
fld dword [esi + 0x5c]
fstp dword [edi + 0x58]
fld dword [esi + 0x50]
fstp dword [edi + 0x5c]
fmul dword [esi + 0x60]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
call sub.msvcrt.dll__CIcos
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp dword [edi + 0x60]
fld dword [esi + 0x64]
fmul qword [0x1000b6c0]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
call sub.msvcrt.dll__CIcos
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp dword [edi + 0x64]
fld dword [esi + 0x4c]
fstp dword [edi + 0x68]
sub edi, ebx
shr edi, 4
cmp dword [ebx + 0xf644], edi
jbe 0x100796da
mov dword [ebx + 0xf644], edi
add edi, 7
cmp dword [ebx + 0xf648], edi
jae 0x100796eb
mov dword [ebx + 0xf648], edi
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
add edx, 4
fld qword [0x1000b6c0]
add eax, 4
sub dword [esp + 0x38], 1
mov dword [esp + 0x10], edx
mov dword [esp + 0x20], eax
jne 0x1007961b
mov ebx, dword [esp + 0xdc]
fstp st(0)
mov eax, dword [ebx + 0x30]
and eax, 0xfdffffff
mov dword [ebx + 0x30], eax
mov ecx, dword [esp + 0x134]
pop edi
pop esi
mov dword [ebx + 0x34], eax
pop ebx
xor ecx, esp
call fcn.1009ebb0
mov esp, ebp
pop ebp
ret