Function at 0x5c0383a0
Capabilities:
Inspect section memory permissions
Resolve function by parsing pe exports

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x2f4
mov eax, dword [0x5c066124]
xor eax, esp
mov dword [esp + 0x2f0], eax
test byte [0x5c067ffc], 2
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
push ebx
je 0x5c0383dd
call fcn.5c01df40
cmp dword [ebx + 0x684], 0
jmp 0x5c03ae15
test dword [ebx + 0x1a60], 0x80000
jne 0x5c0383cc
or dword [ebx + 0x225c], 0xffffffff
or dword [ebx + 0x1a44], 0x200000
call fcn.5c01df40
mov eax, dword [ebx + 0x225c]
xor edi, edi
mov ecx, dword [ebx + 0x1a70]
mov dword [esp + 0x74], edi
mov dword [esp + 0x80], ecx
cmp eax, 0xffffffff
je 0x5c03ae05
mov edx, dword [ebx + 0x1a48]
mov dword [esp + 0x94], edx
mov dword [esp + 0x68], ecx
cmp eax, 2
jbe 0x5c038459
mov esi, eax
mov ecx, ebx
shr esi, 1
sub dword [ebx + 0x1a54], esi
mov dword [esp + 0x74], esi
lea edx, [esi + esi]
call fcn.5c02c94d
mov eax, dword [ebx + 0x1a70]
mov dword [esp + 0x68], eax
mov eax, dword [ebx + 0x1cd8]
mov edx, dword [ebx + 0x1a60]
mov dword [esp + 0x54], edi
mov dword [esp + 0x78], edi
mov dword [esp + 0x70], edi
mov dword [esp + 0x60], edi
mov dword [esp + 0x64], edi
mov edi, dword [ebx + 0x1a78]
mov ecx, edi
mov dword [esp + 0x84], eax
mov eax, dword [ebx + 0x1a64]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x178], ecx
mov ecx, 0x8000000
mov dword [esp + 0x50], eax
mov eax, dword [ebx + 0x1a7c]
mov dword [esp + 0x6c], edx
mov dword [esp + 0x24], edi
mov dword [esp + 0x5c], eax
test ecx, edx
jne 0x5c0384ff
mov edx, dword [ebx + 0x1cc4]
mov esi, dword [ebx + 0x1cc0]
add edx, edi
mov ecx, dword [ebx + 0x1cc8]
add esi, edi
add ecx, edi
mov dword [esp + 0x40], edx
cmp dword [ebx + 0x1a84], 0
mov dword [esp + 0x48], edx
mov edx, dword [esp + 0x6c]
mov dword [esp + 0x3c], esi
mov dword [esp + 0x34], ecx
mov dword [esp + 0x4c], ecx
je 0x5c038587
mov ecx, dword [ebx + 0x1cbc]
add ecx, edi
jmp 0x5c038548
mov eax, dword [ebx + 0x1a2c]
mov dword [esp + 0x3c], eax
mov eax, dword [ebx + 0x1a34]
mov dword [esp + 0x40], eax
mov dword [esp + 0x48], eax
mov eax, dword [ebx + 0x1a90]
mov dword [esp + 0x34], eax
mov dword [esp + 0x4c], eax
test dl, 0x10
jne 0x5c038555
test dword [ebx + 0x1a44], ecx
jne 0x5c038555
cmp dword [ebx + 0x1a84], 0
je 0x5c038587
mov eax, dword [ebx + 0x688]
mov ecx, dword [ebx + eax*8 + 0x1a98]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x178], ecx
jmp 0x5c038587
mov esi, dword [ebx + 0x1a84]
xor ecx, ecx
test esi, esi
je 0x5c038587
lea edx, [ebx + 0x1a98]
mov eax, dword [edx]
lea edx, [edx + 8]
mov dword [esp + ecx*4 + 0x178], eax
inc ecx
cmp ecx, esi
jb 0x5c038567
mov eax, dword [esp + 0x178]
mov edx, dword [esp + 0x6c]
mov dword [esp + 0x18], eax
or dword [ebx + 0x530], 0xffffffff
and dword [ebx + 0x560], 0
and dword [ebx + 0x5b8], 0
mov eax, dword [ebx + 0x1a44]
fldz
fst dword [esp + 0x58]
test eax, 0x400
je 0x5c0386de
lea esi, [ebx + 0x514]
lea edi, [ebx + 0x504]
movsd dword es:[edi], dword [esi]
fst dword [ebx + 0x524]
fst dword [ebx + 0x528]
fstp dword [ebx + 0x52c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
test edx, 0x10000000
je 0x5c0386d8
mov edx, dword [ebx + 0x1a5c]
test dl, 0x40
je 0x5c03865e
xor edi, edi
mov ecx, eax
cmp dword [ebx + 0x5f8], edi
jne 0x5c03860b
or ecx, 0x2200
lea esi, [esp + 0x48]
mov dword [ebx + 0x1a44], ecx
mov dword [esp + 0x78], esi
mov eax, ecx
cmp dword [ebx + 0x5f0], edi
jne 0x5c038628
or eax, 0x4200
lea ecx, [esp + 0x48]
mov dword [ebx + 0x1a44], eax
mov dword [esp + 0x60], ecx
cmp dword [ebx + 0x5ec], edi
jne 0x5c038643
or eax, 0x10200
lea ecx, [esp + 0x48]
mov dword [ebx + 0x1a44], eax
mov dword [esp + 0x70], ecx
cmp dword [ebx + 0x5f4], edi
jne 0x5c03865e
or eax, 0x8200
lea ecx, [esp + 0x48]
mov dword [ebx + 0x1a44], eax
mov dword [esp + 0x64], ecx
test dl, dl
jns 0x5c0386d8
cmp dword [ebx + 0x5f8], 1
jne 0x5c03867e
or eax, 0x2200
lea esi, [esp + 0x4c]
mov dword [ebx + 0x1a44], eax
mov dword [esp + 0x78], esi
cmp dword [ebx + 0x5f0], 1
jne 0x5c03869a
or eax, 0x4200
lea ecx, [esp + 0x4c]
mov dword [ebx + 0x1a44], eax
mov dword [esp + 0x60], ecx
cmp dword [ebx + 0x5ec], 1
jne 0x5c0386b6
or eax, 0x10200
lea ecx, [esp + 0x4c]
mov dword [ebx + 0x1a44], eax
mov dword [esp + 0x70], ecx
cmp dword [ebx + 0x5f4], 1
mov edi, dword [esp + 0x24]
jne 0x5c0386e0
or eax, 0x8200
lea ecx, [esp + 0x4c]
mov dword [ebx + 0x1a44], eax
mov dword [esp + 0x64], ecx
jmp 0x5c0386e0
mov edi, dword [esp + 0x24]
jmp 0x5c0386e0
fstp st(0)
mov edx, dword [ebx + 0x1a54]
lea eax, [esp + 0x248]
mov dword [esp + 0x1c4], eax
mov dword [esp + 0x7c], edx
test edx, edx
je 0x5c039921
fld1
fstp qword [esp + 0x88]
fld qword [0x5c003840]
fstp qword [esp + 0x98]
mov eax, edi
mov dword [esp + 0x1c], 2
lea ecx, [esp + 0x198]
mov dword [esp + 0x2c], eax
xor esi, esi
mov dword [esp + 0x14], ecx
or edi, 0xffffffff
push ecx
mov edx, eax
mov ecx, ebx
call fcn.5c02c510
mov edx, dword [esp + 0x60]
or esi, eax
and edi, eax
mov eax, dword [esp + 0x30]
pop ecx
mov ecx, dword [esp + 0x14]
add eax, edx
add ecx, 0xb0
mov dword [esp + 0x2c], eax
sub dword [esp + 0x1c], 1
mov dword [esp + 0x14], ecx
jne 0x5c038734
or dword [ebx + 0x680], esi
and dword [ebx + 0x684], edi
test edi, edi
jne 0x5c03ab31
mov edx, dword [esp + 0x84]
test edx, esi
jne 0x5c039953
inc dword [esp + 0x74]
lea eax, [esp + 0x198]
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x30], eax
mov dword [esp + 0x20], 2
push ecx
mov edx, eax
mov ecx, ebx
call fcn.5c02c86d
and dword [ebx + 0x5b8], 0
add esp, 4
mov edi, dword [ebx + 0x1a60]
xor edx, edx
xor ecx, ecx
test edi, 0x20000000
je 0x5c038a2c
mov eax, dword [esp + 0x24]
fld dword [ebx + 0x444]
mov ecx, dword [ebx + 0x1cb4]
fmul dword [eax]
fld dword [ebx + 0x454]
fmul dword [eax + 4]
faddp st(1)
fld dword [ebx + 0x464]
fmul dword [eax + 8]
faddp st(1)
fadd dword [ebx + 0x474]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x38]
fstp dword [esp + 0x100]
fld dword [ebx + 0x448]
fmul dword [eax]
fld dword [ebx + 0x458]
fmul dword [eax + 4]
faddp st(1)
fld dword [ebx + 0x468]
fmul dword [eax + 8]
faddp st(1)
fadd dword [ebx + 0x478]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x14]
fstp dword [esp + 0x104]
fld dword [ebx + 0x44c]
fmul dword [eax]
fld dword [ebx + 0x45c]
fmul dword [eax + 4]
faddp st(1)
fld dword [ebx + 0x46c]
fmul dword [eax + 8]
faddp st(1)
fadd dword [ebx + 0x47c]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x10]
fstp dword [esp + 0x108]
test ecx, ecx
je 0x5c038a21
fld dword [esp + 0x58]
xor esi, esi
fst dword [esp + 0x2c]
fst dword [esp + 0x100]
fst dword [esp + 0x104]
fst dword [esp + 0x108]
fld dword [esp + 0x38]
fst dword [esp + 0x44]
fld dword [esp + 0x14]
fst dword [esp + 0x28]
fld dword [esp + 0x10]
fst dword [esp + 0x1c]
fxch st(3)
fst dword [esp + 0x14]
fst dword [esp + 0x38]
fstp dword [esp + 0x10]
test ecx, ecx
je 0x5c0389d7
mov edx, dword [esp + 0x24]
lea eax, [ebx + 0x2e4]
fxch st(1)
fstp dword [esp + 0x44]
fstp dword [esp + 0x28]
fstp dword [esp + 0x1c]
fld dword [edx + esi*4 + 0xc]
inc esi
fld dword [esp + 0x44]
fmul st(1)
fadd dword [esp + 0x100]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x38]
fstp dword [esp + 0x100]
fld dword [esp + 0x28]
fmul st(1)
fadd dword [esp + 0x104]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0xc]
fstp dword [esp + 0x104]
fld dword [esp + 0x1c]
fmul st(1)
fadd dword [esp + 0x108]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x10]
fstp dword [esp + 0x108]
fadd dword [esp + 0x2c]
fstp dword [esp + 0x2c]
fld dword [edx + 4]
fld dword [edx]
fld dword [edx + 8]
fld dword [eax - 0x20]
fmul st(2)
fld dword [eax - 0x10]
fmul st(4)
faddp st(1)
fld dword [eax]
fmul st(2)
faddp st(1)
fadd dword [eax + 0x10]
fstp dword [esp + 0x44]
fld dword [eax - 0x1c]
fmul st(2)
fld dword [eax - 0xc]
fmul st(4)
faddp st(1)
fld dword [eax + 4]
fmul st(2)
faddp st(1)
fadd dword [eax + 0x14]
fstp dword [esp + 0x28]
fld dword [eax - 0x18]
fmulp st(2)
fld dword [eax - 8]
fmulp st(3)
fxch st(1)
faddp st(2)
fmul dword [eax + 8]
faddp st(1)
fadd dword [eax + 0x18]
add eax, 0x40
fstp dword [esp + 0x1c]
cmp esi, ecx
jb 0x5c0388ea
fld dword [esp + 0x38]
mov edx, dword [ebx + 0x5b8]
fstp dword [esp + 0x14]
fld dword [esp + 0xc]
fstp dword [esp + 0x38]
fld dword [esp + 0x10]
fstp dword [esp + 0x10]
jmp 0x5c0389dd
fstp st(1)
fstp st(0)
fstp st(0)
fld dword [esp + 0x2c]
fsubr qword [esp + 0x88]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fld dword [esp + 0x44]
fmul st(1)
fadd dword [esp + 0x14]
fstp dword [esp + 0x100]
fld dword [esp + 0x28]
fmul st(1)
fadd dword [esp + 0x38]
fstp dword [esp + 0x104]
fmul dword [esp + 0x1c]
fadd dword [esp + 0x10]
fstp dword [esp + 0x108]
or edx, 1
mov dword [ebx + 0x5b8], edx
mov ecx, edx
test edi, 0x40000000
je 0x5c038c99
mov eax, dword [esp + 0x3c]
fld dword [ebx + 0x488]
mov ecx, dword [ebx + 0x1cb4]
fmul dword [eax + 4]
fld dword [ebx + 0x484]
fmul dword [eax]
faddp st(1)
fld dword [ebx + 0x48c]
fmul dword [eax + 8]
faddp st(1)
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fst dword [esp + 0x10]
fstp dword [esp + 0x10c]
fld dword [ebx + 0x498]
fmul dword [eax + 4]
fld dword [ebx + 0x494]
fmul dword [eax]
faddp st(1)
fld dword [ebx + 0x49c]
fmul dword [eax + 8]
faddp st(1)
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fst dword [esp + 0x38]
fstp dword [esp + 0x110]
fld dword [ebx + 0x4a8]
fmul dword [eax + 4]
fld dword [ebx + 0x4a4]
fmul dword [eax]
faddp st(1)
fld dword [ebx + 0x4ac]
fmul dword [eax + 8]
faddp st(1)
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fst dword [esp + 0xc]
fstp dword [esp + 0x114]
test ecx, ecx
je 0x5c038c74
fld dword [esp + 0x58]
xor edx, edx
fst dword [esp + 0x2c]
fst dword [esp + 0x10c]
fst dword [esp + 0x110]
fst dword [esp + 0x114]
fld dword [esp + 0x10]
fst dword [esp + 0x1c]
fld dword [esp + 0x38]
fst dword [esp + 0x28]
fld dword [esp + 0xc]
fst dword [esp + 0x44]
fxch st(3)
fst dword [esp + 0x10]
fst dword [esp + 0x38]
fstp dword [esp + 0x14]
test ecx, ecx
je 0x5c038c2a
mov esi, dword [esp + 0x24]
lea eax, [ebx + 0x38c]
mov edi, dword [esp + 0x3c]
fxch st(1)
fstp dword [esp + 0x1c]
fstp dword [esp + 0x28]
fstp dword [esp + 0x44]
fld dword [esi + edx*4 + 0xc]
inc edx
fld dword [esp + 0x1c]
fmul st(1)
fadd dword [esp + 0x10c]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fst dword [esp + 0x10]
fstp dword [esp + 0x10c]
fld dword [esp + 0x28]
fmul st(1)
fadd dword [esp + 0x110]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fst dword [esp + 0x38]
fstp dword [esp + 0x110]
fld dword [esp + 0x44]
fmul st(1)
fadd dword [esp + 0x114]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fst dword [esp + 0xc]
fstp dword [esp + 0x114]
fadd dword [esp + 0x2c]
fstp dword [esp + 0x2c]
fld dword [edi + 4]
fld dword [edi]
fld dword [edi + 8]
fld dword [eax - 8]
fmul st(2)
fld dword [eax - 4]
fmul st(4)
faddp st(1)
fld dword [eax]
fmul st(2)
faddp st(1)
fstp dword [esp + 0x1c]
fld dword [eax + 8]
fmul st(2)
fld dword [eax + 0xc]
fmul st(4)
faddp st(1)
fld dword [eax + 0x10]
fmul st(2)
faddp st(1)
fstp dword [esp + 0x28]
fld dword [eax + 0x18]
fmulp st(2)
fld dword [eax + 0x1c]
fmulp st(3)
fxch st(1)
faddp st(2)
fmul dword [eax + 0x20]
add eax, 0x40
faddp st(1)
fstp dword [esp + 0x44]
cmp edx, ecx
jb 0x5c038b46
fld dword [esp + 0x10]
mov edi, dword [ebx + 0x1a60]
fstp dword [esp + 0x10]
fld dword [esp + 0x38]
fstp dword [esp + 0x38]
fld dword [esp + 0xc]
fstp dword [esp + 0x14]
jmp 0x5c038c30
fstp st(1)
fstp st(0)
fstp st(0)
fld dword [esp + 0x2c]
fsubr qword [esp + 0x88]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fld dword [esp + 0x1c]
fmul st(1)
fadd dword [esp + 0x10]
fstp dword [esp + 0x10c]
fld dword [esp + 0x28]
fmul st(1)
fadd dword [esp + 0x38]
fstp dword [esp + 0x110]
fmul dword [esp + 0x44]
fadd dword [esp + 0x14]
fstp dword [esp + 0x114]
test edi, 0x2000000
je 0x5c038c8a
lea edx, [esp + 0x10c]
mov ecx, edx
call fcn.5c0504a4
or dword [ebx + 0x5b8], 2
mov edx, dword [ebx + 0x5b8]
mov ecx, edx
mov edi, dword [ebx + 0x1a44]
test edi, 0x400
je 0x5c039258
fld dword [esp + 0x58]
fst dword [ebx + 0x504]
fst dword [ebx + 0x508]
fst dword [ebx + 0x50c]
fst dword [ebx + 0x524]
fst dword [ebx + 0x528]
fst dword [ebx + 0x52c]
test edi, 0x200
je 0x5c038d35
test edi, 0x10000
je 0x5c038cf9
mov eax, dword [esp + 0x70]
test eax, eax
je 0x5c038cf1
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c038cf3
xor eax, eax
mov dword [ebx + 0x540], eax
test edi, 0x4000
je 0x5c038d17
mov eax, dword [esp + 0x60]
test eax, eax
je 0x5c038d0f
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c038d11
xor eax, eax
mov dword [ebx + 0x550], eax
test edi, 0x8000
je 0x5c038d35
mov eax, dword [esp + 0x64]
test eax, eax
je 0x5c038d2d
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c038d2f
xor eax, eax
mov dword [ebx + 0x570], eax
mov eax, dword [ebx + 0x5c0]
mov esi, edi
mov dword [esp + 0x10], eax
test eax, eax
je 0x5c038d8f
fstp st(0)
mov esi, dword [eax + 0x80]
lea ecx, [esp + 0x100]
push ecx
push dword [esp + 0x40]
mov ecx, esi
push dword [esp + 0x2c]
push eax
push ebx
call dword [0x5c06a150]
call esi
mov eax, dword [esp + 0x24]
add esp, 0x14
mov eax, dword [eax + 0x58]
mov dword [esp + 0x10], eax
test eax, eax
jne 0x5c038d47
mov edi, dword [ebx + 0x1a44]
mov esi, edi
mov edx, dword [ebx + 0x5b8]
mov ecx, edx
fld dword [esp + 0x58]
test edi, 0x12000
je 0x5c038fd6
test cl, 8
jne 0x5c038db4
fst dword [ebx + 0x504]
fst dword [ebx + 0x508]
fstp dword [ebx + 0x50c]
jmp 0x5c038db6
fstp st(0)
test edi, 0x10000
je 0x5c038e7a
mov eax, dword [esp + 0x70]
test eax, eax
je 0x5c038dd0
mov eax, dword [eax]
mov ecx, dword [eax]
jmp 0x5c038dd2
xor ecx, ecx
mov eax, ecx
shr eax, 0x10
movzx eax, al
mov dword [esp + 0xc], eax
fild dword [esp + 0xc]
test eax, eax
jns 0x5c038dec
fadd dword [0x5c00386c]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
mov eax, ecx
fmul dword [ebx + 0x554]
shr eax, 8
movzx eax, al
mov dword [esp + 0xc], eax
fadd dword [ebx + 0x504]
fstp dword [ebx + 0x504]
fild dword [esp + 0xc]
test eax, eax
jns 0x5c038e20
fadd dword [0x5c00386c]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fmul dword [ebx + 0x558]
movzx eax, cl
mov dword [esp + 0xc], eax
fadd dword [ebx + 0x508]
fstp dword [ebx + 0x508]
fild dword [esp + 0xc]
test eax, eax
jns 0x5c038e4f
fadd dword [0x5c00386c]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
mov eax, dword [esp + 0x178]
mov edi, dword [esp + 0x4c]
fmul dword [ebx + 0x55c]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x40], eax
mov dword [esp + 0x34], edi
jmp 0x5c038eba
fld dword [ebx + 0x584]
fmul dword [ebx + 0x544]
mov edi, dword [esp + 0x34]
fadd dword [ebx + 0x504]
fstp dword [ebx + 0x504]
fld dword [ebx + 0x588]
fmul dword [ebx + 0x548]
fadd dword [ebx + 0x508]
fstp dword [ebx + 0x508]
fld dword [ebx + 0x58c]
fmul dword [ebx + 0x54c]
fadd dword [ebx + 0x50c]
fstp dword [ebx + 0x50c]
test dword [ebx + 0x1a44], 0x2000
je 0x5c038f7c
mov eax, dword [esp + 0x78]
test eax, eax
je 0x5c038ee4
mov eax, dword [eax]
mov ecx, dword [eax]
jmp 0x5c038ee6
xor ecx, ecx
mov eax, ecx
shr eax, 0x10
movzx eax, al
mov dword [esp + 0xc], eax
fild dword [esp + 0xc]
test eax, eax
jns 0x5c038f00
fadd dword [0x5c00386c]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
mov eax, ecx
fadd dword [ebx + 0x504]
shr eax, 8
movzx eax, al
mov dword [esp + 0xc], eax
fstp dword [ebx + 0x504]
fild dword [esp + 0xc]
test eax, eax
jns 0x5c038f2e
fadd dword [0x5c00386c]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fadd dword [ebx + 0x508]
movzx eax, cl
mov dword [esp + 0xc], eax
fstp dword [ebx + 0x508]
fild dword [esp + 0xc]
test eax, eax
jns 0x5c038f57
fadd dword [0x5c00386c]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
mov eax, dword [esp + 0x178]
mov edi, dword [esp + 0x4c]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x40], eax
mov dword [esp + 0x34], edi
jmp 0x5c038fb5
fld dword [ebx + 0x5a4]
fld qword [esp + 0x98]
fmul st(1), st(0)
fld dword [ebx + 0x504]
faddp st(2)
fxch st(1)
fstp dword [ebx + 0x504]
fld dword [ebx + 0x5a8]
fmul st(1)
fadd dword [ebx + 0x508]
fstp dword [ebx + 0x508]
fmul dword [ebx + 0x5ac]
fadd dword [ebx + 0x50c]
fstp dword [ebx + 0x50c]
or dword [ebx + 0x5b8], 8
mov edx, dword [ebx + 0x5b8]
mov esi, dword [ebx + 0x1a44]
jmp 0x5c038fdc
mov edi, dword [esp + 0x34]
fstp st(0)
test dl, 8
je 0x5c03910a
test esi, 0x12000
jne 0x5c03902d
fld dword [ebx + 0x514]
fadd dword [ebx + 0x504]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fst dword [ebx + 0x504]
fld dword [ebx + 0x518]
fadd dword [ebx + 0x508]
fstp dword [ebx + 0x508]
fld dword [ebx + 0x51c]
fadd dword [ebx + 0x50c]
fstp dword [ebx + 0x50c]
jmp 0x5c039033
fld dword [ebx + 0x504]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fistp qword [esp + 0xa0]
fld dword [ebx + 0x508]
mov ecx, dword [esp + 0xa0]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fistp qword [esp + 0xa8]
fld dword [ebx + 0x50c]
mov edx, dword [esp + 0xa8]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fistp qword [esp + 0xb0]
mov esi, dword [esp + 0xb0]
mov eax, 0xff
test ecx, ecx
jns 0x5c039096
xor ecx, ecx
jmp 0x5c03909c
cmp ecx, eax
jle 0x5c03909c
mov ecx, eax
test edx, edx
jns 0x5c0390a4
xor edx, edx
jmp 0x5c0390aa
cmp edx, eax
jle 0x5c0390aa
mov edx, eax
test esi, esi
jns 0x5c0390b2
xor esi, esi
jmp 0x5c0390b8
cmp esi, eax
jle 0x5c0390b8
mov esi, eax
test dword [ebx + 0x1a44], 0x4000
jne 0x5c0390d4
shl ecx, 8
add ecx, edx
shl ecx, 8
add ecx, dword [ebx + 0x510]
jmp 0x5c0390f3
mov eax, dword [esp + 0x60]
test eax, eax
je 0x5c0390e2
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c0390e4
xor eax, eax
shl ecx, 8
and eax, 0xff000000
add ecx, edx
shl ecx, 8
add ecx, eax
lea eax, [ecx + esi]
mov dword [ebx + 0x530], eax
mov edx, dword [ebx + 0x5b8]
mov esi, dword [ebx + 0x1a44]
jmp 0x5c039144
test esi, 0x4000
jne 0x5c039120
mov eax, dword [ebx + 0x5e8]
add eax, dword [ebx + 0x510]
jmp 0x5c03913e
mov eax, dword [esp + 0x60]
test eax, eax
je 0x5c039134
mov eax, dword [eax]
mov ecx, dword [eax]
and ecx, 0xff000000
jmp 0x5c039136
xor ecx, ecx
mov eax, dword [ebx + 0x5e8]
add eax, ecx
mov dword [ebx + 0x530], eax
test dl, 4
je 0x5c039210
fld dword [ebx + 0x524]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fistp qword [esp + 0xb8]
fld dword [ebx + 0x528]
mov ecx, dword [esp + 0xb8]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fistp qword [esp + 0xc0]
fld dword [ebx + 0x52c]
mov edx, dword [esp + 0xc0]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fistp qword [esp + 0xc8]
mov esi, dword [esp + 0xc8]
mov eax, 0xff
test ecx, ecx
jns 0x5c0391ae
xor ecx, ecx
jmp 0x5c0391b4
cmp ecx, eax
jle 0x5c0391b4
mov ecx, eax
test edx, edx
jns 0x5c0391bc
xor edx, edx
jmp 0x5c0391c2
cmp edx, eax
jle 0x5c0391c2
mov edx, eax
test esi, esi
jns 0x5c0391ca
xor esi, esi
jmp 0x5c0391d0
cmp esi, eax
jle 0x5c0391d0
mov esi, eax
test dword [ebx + 0x1a44], 0x8000
jne 0x5c0391ec
shl ecx, 8
add ecx, edx
shl ecx, 8
add ecx, dword [ebx + 0x5bc]
jmp 0x5c03920b
mov eax, dword [esp + 0x64]
test eax, eax
je 0x5c0391fa
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c0391fc
xor eax, eax
shl ecx, 8
and eax, 0xff000000
add ecx, edx
shl ecx, 8
add ecx, eax
lea eax, [ecx + esi]
jmp 0x5c03927e
test esi, 0x100000
jne 0x5c039284
test dword [ebx + 0x1a60], 0x800
jne 0x5c039235
test byte [ebx + 0x1a5c], 0x80
je 0x5c039231
mov eax, dword [edi]
jmp 0x5c03927e
xor eax, eax
jmp 0x5c03927e
test esi, 0x8000
jne 0x5c039245
mov eax, dword [ebx + 0x5bc]
jmp 0x5c03927e
mov eax, dword [esp + 0x64]
test eax, eax
je 0x5c039231
mov eax, dword [eax]
mov eax, dword [eax]
and eax, 0xff000000
jmp 0x5c03927e
mov ecx, dword [ebx + 0x1a5c]
test cl, 0xc0
je 0x5c039284
test cl, 0x40
je 0x5c039274
mov eax, dword [esp + 0x40]
mov eax, dword [eax]
mov dword [ebx + 0x530], eax
test cl, cl
jns 0x5c039284
mov eax, dword [esp + 0x34]
mov eax, dword [eax]
mov dword [ebx + 0x560], eax
mov eax, dword [ebx + 0x1a44]
mov ecx, eax
test eax, 0x100
je 0x5c0392af
mov edx, dword [esp + 0x24]
lea eax, [esp + 0x100]
push eax
mov ecx, ebx
call fcn.5c01b46b
mov eax, dword [ebx + 0x1a44]
pop ecx
mov ecx, eax
mov edx, dword [esp + 0x68]
test eax, eax
js 0x5c0392ce
mov ecx, dword [ebx + 0x1cd0]
mov eax, dword [ebx + 0x530]
mov dword [edx + ecx], eax
mov eax, dword [ebx + 0x1a44]
mov ecx, eax
test eax, 0x100000
jne 0x5c0392ea
mov ecx, dword [ebx + 0x1cd4]
mov eax, dword [ebx + 0x560]
mov dword [edx + ecx], eax
mov ecx, dword [ebx + 0x1a44]
mov edi, dword [ebx + 0x1ccc]
and ecx, 0x10000000
mov eax, dword [ebx + 0x1a60]
add edi, edx
mov dword [esp + 0x1c], edi
test eax, 0x8000000
je 0x5c03962d
test ecx, ecx
jne 0x5c0395ac
test dword [esp + 0x6c], 0x200000
jne 0x5c0395a3
test eax, 0x4010000
jne 0x5c03937c
xor eax, eax
mov dword [esp + 0x10], eax
cmp dword [ebx + 0x1a88], eax
jbe 0x5c0395ac
lea ecx, [ebx + 0x1ad8]
mov dword [esp + 0x38], ecx
mov esi, dword [ecx]
push esi
push dword [esp + eax*4 + 0x17c]
push edi
call sub.msvcrt.dll_memcpy
mov eax, dword [esp + 0x1c]
add esp, 0xc
mov ecx, dword [esp + 0x38]
add edi, esi
inc eax
add ecx, 4
mov dword [esp + 0x10], eax
mov dword [esp + 0x38], ecx
cmp eax, dword [ebx + 0x1a88]
jb 0x5c039346
jmp 0x5c0395ac
test eax, 0x10000
jne 0x5c03941a
xor ecx, ecx
mov dword [esp + 0x10], ecx
cmp dword [ebx + 0x1a88], ecx
jbe 0x5c0395ac
lea eax, [ebx + 0x1af8]
mov dword [esp + 0x38], eax
mov edx, dword [eax - 0x20]
mov esi, dword [eax]
mov eax, dword [eax + 0x138]
mov dword [esp + 0x14], edx
mov dword [esp + 0xc], eax
test eax, eax
jne 0x5c0393ca
push edx
push dword [esp + ecx*4 + 0x17c]
push edi
call sub.msvcrt.dll_memcpy
jmp 0x5c0393f2
push dword [esp + 0xc]
mov eax, edx
shr esi, 2
shr eax, 2
push edi
push dword [esp + ecx*4 + 0x180]
lea eax, [esi + eax*4]
mov esi, dword [eax*4 + 0x5c00169c]
mov ecx, esi
call dword [0x5c06a150]
call esi
mov ecx, dword [esp + 0x1c]
add esp, 0xc
add edi, dword [esp + 0x14]
inc ecx
mov eax, dword [esp + 0x38]
add eax, 4
mov dword [esp + 0x10], ecx
mov dword [esp + 0x38], eax
cmp ecx, dword [ebx + 0x1a88]
jb 0x5c0393a3
jmp 0x5c0395ac
and dword [esp + 0x10], 0
cmp dword [ebx + 0x1c2c], 0
jbe 0x5c0395ac
lea eax, [ebx + 0x1ad8]
lea esi, [ebx + 0x1b40]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x28], esi
mov eax, dword [esi + 8]
test eax, eax
jne 0x5c039456
mov eax, dword [esi - 0x14]
mov ecx, dword [esp + eax*4 + 0x178]
jmp 0x5c039540
cmp eax, 0x20000
jne 0x5c039469
lea ecx, [esp + 0x100]
jmp 0x5c039540
cmp eax, 0x10000
jne 0x5c03947c
lea ecx, [esp + 0x10c]
jmp 0x5c039540
test dword [ebx + 0x1a60], 0x1000000
je 0x5c039526
lea esi, [esp + 0x100]
lea edi, [esp + 0x118]
movsd dword es:[edi], dword [esi]
lea edx, [esp + 0x118]
mov ecx, edx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.5c0504a4
fld dword [esp + 0x11c]
fld dword [esp + 0x110]
fld dword [esp + 0x118]
fld dword [esp + 0x10c]
fld dword [esp + 0x120]
fld dword [esp + 0x114]
fld st(5)
mov edi, dword [esp + 0x1c]
fmul st(5)
fld st(4)
mov esi, dword [esp + 0x28]
fmul st(4)
faddp st(1)
fld st(2)
fmul st(2)
faddp st(1)
fadd st(0), st(0)
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fld st(0)
fmulp st(4)
fxch st(4)
fsubrp st(3)
fxch st(2)
fstp dword [esp + 0x148]
fld st(2)
fmulp st(4)
fxch st(4)
fsubrp st(3)
fxch st(2)
fstp dword [esp + 0x14c]
fmulp st(1)
fsubp st(1)
fstp dword [esp + 0x150]
jmp 0x5c039539
lea edx, [esp + 0x148]
lea ecx, [esp + 0x10c]
call fcn.5c01b43c
lea ecx, [esp + 0x148]
cmp dword [esi], 0
mov eax, dword [esp + 0x2c]
mov eax, dword [eax]
mov dword [esp + 0xc], eax
je 0x5c03956d
push dword [esi]
mov eax, dword [esi + 4]
push edi
push ecx
mov esi, dword [eax*4 + 0x5c0016b0]
mov ecx, esi
call dword [0x5c06a150]
call esi
mov esi, dword [esp + 0x34]
jmp 0x5c039575
push eax
push ecx
push edi
call sub.msvcrt.dll_memcpy
add edi, dword [esp + 0x18]
add esp, 0xc
mov ecx, dword [esp + 0x10]
add esi, 0x20
add dword [esp + 0x2c], 4
inc ecx
mov dword [esp + 0x1c], edi
mov dword [esp + 0x10], ecx
mov dword [esp + 0x28], esi
cmp ecx, dword [ebx + 0x1c2c]
jb 0x5c039440
jmp 0x5c0395ac
fld dword [esp + 0x58]
fst dword [edi]
fstp dword [edi + 4]
mov eax, dword [esp + 0x5c]
add dword [esp + 0x24], eax
test dword [ebx + 0x1a44], 0x40000000
jne 0x5c0398f0
mov eax, dword [esp + 0x3c]
xor ecx, ecx
mov edi, dword [esp + 0x40]
mov edx, dword [esp + 0x34]
add edi, dword [ebx + 0x1a38]
add edx, dword [ebx + 0x1a94]
add eax, dword [ebx + 0x1a30]
mov esi, dword [ebx + 0x1a84]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], edi
mov dword [esp + 0x48], edi
mov dword [esp + 0x34], edx
mov dword [esp + 0x4c], edx
test esi, esi
je 0x5c0398f0
lea edx, [ebx + 0x1a9c]
mov eax, dword [edx]
lea edx, [edx + 8]
add dword [esp + ecx*4 + 0x178], eax
inc ecx
cmp ecx, esi
jb 0x5c03960c
mov eax, dword [esp + 0x178]
mov dword [esp + 0x18], eax
jmp 0x5c0398f0
test ecx, ecx
jne 0x5c0398ab
test dword [esp + 0x6c], 0x200000
jne 0x5c0398a2
test eax, 0x4010000
jne 0x5c039662
push dword [ebx + 0x1a8c]
push dword [esp + 0x1c]
push edi
call sub.msvcrt.dll_memcpy
add esp, 0xc
jmp 0x5c0398ab
test eax, 0x10000
jne 0x5c039712
mov ecx, dword [esp + 0x18]
xor esi, esi
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x38], esi
cmp dword [ebx + 0x1a88], esi
jbe 0x5c0398af
lea eax, [ebx + 0x1af8]
mov dword [esp + 0x14], eax
mov edx, dword [eax]
mov ecx, dword [eax - 0x20]
mov eax, dword [eax + 0x138]
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0xc], eax
test eax, eax
je 0x5c0396da
mov eax, dword [esp + 0x10]
push dword [esp + 0xc]
shr ecx, 2
shr eax, 2
push edi
push edx
lea eax, [eax + ecx*4]
mov esi, dword [eax*4 + 0x5c00169c]
mov ecx, esi
call dword [0x5c06a150]
call esi
mov esi, dword [esp + 0x44]
jmp 0x5c0396e2
push ecx
push edx
push edi
call sub.msvcrt.dll_memcpy
mov edx, dword [esp + 0x38]
add esp, 0xc
add edx, dword [esp + 0x10]
add edi, dword [esp + 0x1c]
inc esi
mov eax, dword [esp + 0x14]
add eax, 4
mov dword [esp + 0x2c], edx
mov dword [esp + 0x38], esi
mov dword [esp + 0x14], eax
cmp esi, dword [ebx + 0x1a88]
jb 0x5c039691
jmp 0x5c0398ab
and dword [esp + 0x10], 0
cmp dword [ebx + 0x1c2c], 0
jbe 0x5c0398ab
lea esi, [ebx + 0x1ad8]
lea eax, [ebx + 0x1b30]
mov dword [esp + 0x2c], esi
mov dword [esp + 0x28], eax
mov ecx, dword [eax + 0x18]
test ecx, ecx
jne 0x5c03974a
mov ecx, dword [eax]
add ecx, dword [esp + 0x18]
jmp 0x5c03983a
cmp ecx, 0x20000
jne 0x5c03975e
lea ecx, [esp + 0x100]
jmp 0x5c03983a
cmp ecx, 0x10000
jne 0x5c039772
lea ecx, [esp + 0x10c]
jmp 0x5c03983a
test dword [ebx + 0x1a60], 0x1000000
je 0x5c039820
lea esi, [esp + 0x100]
lea edi, [esp + 0x124]
movsd dword es:[edi], dword [esi]
lea edx, [esp + 0x124]
mov ecx, edx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.5c0504a4
fld dword [esp + 0x128]
fld dword [esp + 0x110]
fld dword [esp + 0x124]
fld dword [esp + 0x10c]
fld dword [esp + 0x12c]
fld dword [esp + 0x114]
fld st(5)
mov edi, dword [esp + 0x1c]
fmul st(5)
fld st(4)
mov eax, dword [esp + 0x28]
fmul st(4)
mov esi, dword [esp + 0x2c]
faddp st(1)
fld st(2)
fmul st(2)
faddp st(1)
fadd st(0), st(0)
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fld st(0)
fmulp st(4)
fxch st(4)
fsubrp st(3)
fxch st(2)
fstp dword [esp + 0x154]
fld st(2)
fmulp st(4)
fxch st(4)
fsubrp st(3)
fxch st(2)
fstp dword [esp + 0x158]
fmulp st(1)
fsubp st(1)
fstp dword [esp + 0x15c]
jmp 0x5c039833
lea edx, [esp + 0x154]
lea ecx, [esp + 0x10c]
call fcn.5c01b43c
lea ecx, [esp + 0x154]
mov edx, dword [eax + 0x10]
mov esi, dword [esi]
mov dword [esp + 0xc], esi
test edx, edx
je 0x5c039864
mov eax, dword [eax + 0x14]
push edx
push edi
push ecx
mov esi, dword [eax*4 + 0x5c0016b0]
mov ecx, esi
call dword [0x5c06a150]
call esi
mov esi, dword [esp + 0x18]
jmp 0x5c03986c
push esi
push ecx
push edi
call sub.msvcrt.dll_memcpy
mov edx, dword [esp + 0x1c]
add edi, esi
mov esi, dword [esp + 0x38]
add esp, 0xc
mov eax, dword [esp + 0x28]
inc edx
add esi, 4
mov dword [esp + 0x1c], edi
add eax, 0x20
mov dword [esp + 0x10], edx
mov dword [esp + 0x2c], esi
mov dword [esp + 0x28], eax
cmp edx, dword [ebx + 0x1c2c]
jb 0x5c039738
jmp 0x5c0398ab
fld dword [esp + 0x58]
fst dword [edi]
fstp dword [edi + 4]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x5c]
add dword [esp + 0x24], edx
test dword [ebx + 0x1a44], 0x40000000
jne 0x5c0398f0
mov eax, dword [esp + 0x40]
add dword [esp + 0x3c], edx
add eax, edx
mov dword [esp + 0x40], eax
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x34]
add eax, edx
add ecx, edx
mov dword [esp + 0x34], eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x18], ecx
mov dword [esp + 0x178], ecx
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x68]
add ecx, dword [esp + 0x50]
sub dword [esp + 0x20], 1
mov eax, dword [eax + 0x2c]
mov dword [esp + 0x30], eax
mov dword [esp + 0x68], ecx
jne 0x5c0387a4
mov edi, dword [esp + 0x24]
sub dword [esp + 0x7c], 1
jne 0x5c038716
mov eax, dword [esp + 0x74]
test eax, eax
je 0x5c03acc3
push eax
lea esi, [eax + eax]
mov ecx, ebx
push esi
push dword [esp + 0x88]
push 2
pop edx
call fcn.5c022413
add esp, 0xc
mov ecx, eax
add dword [ebx + 0x1a48], esi
jmp 0x5c03acc7
mov eax, dword [esp + 0x74]
test eax, eax
je 0x5c039996
push eax
lea esi, [eax + eax]
mov ecx, ebx
push esi
push dword [esp + 0x88]
push 2
pop edx
call fcn.5c022413
add dword [ebx + 0x1a48], esi
mov ecx, eax
mov eax, dword [esp + 0x74]
add esp, 0xc
mov dword [esp + 0x80], eax
test ecx, ecx
jne 0x5c03acc7
mov edx, dword [esp + 0x84]
and dword [esp + 0x74], 0
lea ecx, [esp + 0x198]
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x38], 2
test dword [ecx + 0x10], edx
jne 0x5c0399c3
lea eax, [ecx + 0x1c]
mov edx, ecx
push eax
mov ecx, ebx
call fcn.5c02c86d
add esp, 4
and dword [ebx + 0x5b8], 0
xor edx, edx
mov edi, dword [ebx + 0x1a60]
xor ecx, ecx
test edi, 0x20000000
je 0x5c039c3e
mov eax, dword [esp + 0x24]
fld dword [ebx + 0x444]
mov ecx, dword [ebx + 0x1cb4]
fmul dword [eax]
fld dword [ebx + 0x454]
fmul dword [eax + 4]
faddp st(1)
fld dword [ebx + 0x464]
fmul dword [eax + 8]
faddp st(1)
fadd dword [ebx + 0x474]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fst dword [esp + 0x54]
fstp dword [esp + 0x100]
fld dword [ebx + 0x448]
fmul dword [eax]
fld dword [ebx + 0x458]
fmul dword [eax + 4]
faddp st(1)
fld dword [ebx + 0x468]
fmul dword [eax + 8]
faddp st(1)
fadd dword [ebx + 0x478]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fst dword [esp + 0x20]
fstp dword [esp + 0x104]
fld dword [ebx + 0x44c]
fmul dword [eax]
fld dword [ebx + 0x45c]
fmul dword [eax + 4]
faddp st(1)
fld dword [ebx + 0x46c]
fmul dword [eax + 8]
faddp st(1)
fadd dword [ebx + 0x47c]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fst dword [esp + 0xc]
fstp dword [esp + 0x108]
test ecx, ecx
je 0x5c039c33
fld dword [esp + 0x58]
xor esi, esi
fst dword [esp + 0x14]
fst dword [esp + 0x100]
fst dword [esp + 0x104]
fst dword [esp + 0x108]
fld dword [esp + 0x54]
fst dword [esp + 0x1c]
fld dword [esp + 0x20]
fst dword [esp + 0x28]
fld dword [esp + 0xc]
fst dword [esp + 0x44]
fxch st(3)
fst dword [esp + 0x20]
fst dword [esp + 0x30]
fstp dword [esp + 0x10]
test ecx, ecx
je 0x5c039be9
mov edx, dword [esp + 0x24]
lea eax, [ebx + 0x2e4]
fxch st(1)
fstp dword [esp + 0x1c]
fstp dword [esp + 0x28]
fstp dword [esp + 0x44]
fld dword [edx + esi*4 + 0xc]
inc esi
fld dword [esp + 0x1c]
fmul st(1)
fadd dword [esp + 0x100]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fst dword [esp + 0x54]
fstp dword [esp + 0x100]
fld dword [esp + 0x28]
fmul st(1)
fadd dword [esp + 0x104]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fst dword [esp + 0x30]
fstp dword [esp + 0x104]
fld dword [esp + 0x44]
fmul st(1)
fadd dword [esp + 0x108]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fst dword [esp + 0xc]
fstp dword [esp + 0x108]
fadd dword [esp + 0x14]
fstp dword [esp + 0x14]
fld dword [edx + 4]
fld dword [edx]
fld dword [edx + 8]
fld dword [eax - 0x20]
fmul st(2)
fld dword [eax - 0x10]
fmul st(4)
faddp st(1)
fld dword [eax]
fmul st(2)
faddp st(1)
fadd dword [eax + 0x10]
fstp dword [esp + 0x1c]
fld dword [eax - 0x1c]
fmul st(2)
fld dword [eax - 0xc]
fmul st(4)
faddp st(1)
fld dword [eax + 4]
fmul st(2)
faddp st(1)
fadd dword [eax + 0x14]
fstp dword [esp + 0x28]
fld dword [eax - 0x18]
fmulp st(2)
fld dword [eax - 8]
fmulp st(3)
fxch st(1)
faddp st(2)
fmul dword [eax + 8]
faddp st(1)
fadd dword [eax + 0x18]
add eax, 0x40
fstp dword [esp + 0x44]
cmp esi, ecx
jb 0x5c039afc
fld dword [esp + 0x54]
mov edx, dword [ebx + 0x5b8]
fstp dword [esp + 0x20]
fld dword [esp + 0x30]
fstp dword [esp + 0x30]
fld dword [esp + 0xc]
fstp dword [esp + 0x10]
jmp 0x5c039bef
fstp st(1)
fstp st(0)
fstp st(0)
fld dword [esp + 0x14]
fsubr qword [esp + 0x88]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fld dword [esp + 0x1c]
fmul st(1)
fadd dword [esp + 0x20]
fstp dword [esp + 0x100]
fld dword [esp + 0x28]
fmul st(1)
fadd dword [esp + 0x30]
fstp dword [esp + 0x104]
fmul dword [esp + 0x44]
fadd dword [esp + 0x10]
fstp dword [esp + 0x108]
or edx, 1
mov dword [ebx + 0x5b8], edx
mov ecx, edx
test edi, 0x40000000
je 0x5c039eab
mov eax, dword [esp + 0x3c]
fld dword [ebx + 0x488]
mov ecx, dword [ebx + 0x1cb4]
fmul dword [eax + 4]
fld dword [ebx + 0x484]
fmul dword [eax]
faddp st(1)
fld dword [ebx + 0x48c]
fmul dword [eax + 8]
faddp st(1)
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fst dword [esp + 0x54]
fstp dword [esp + 0x10c]
fld dword [ebx + 0x498]
fmul dword [eax + 4]
fld dword [ebx + 0x494]
fmul dword [eax]
faddp st(1)
fld dword [ebx + 0x49c]
fmul dword [eax + 8]
faddp st(1)
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fst dword [esp + 0x20]
fstp dword [esp + 0x110]
fld dword [ebx + 0x4a8]
fmul dword [eax + 4]
fld dword [ebx + 0x4a4]
fmul dword [eax]
faddp st(1)
fld dword [ebx + 0x4ac]
fmul dword [eax + 8]
faddp st(1)
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fst dword [esp + 0xc]
fstp dword [esp + 0x114]
test ecx, ecx
je 0x5c039e86
fld dword [esp + 0x58]
xor edx, edx
fst dword [esp + 0x14]
fst dword [esp + 0x10c]
fst dword [esp + 0x110]
fst dword [esp + 0x114]
fld dword [esp + 0x54]
fst dword [esp + 0x1c]
fld dword [esp + 0x20]
fst dword [esp + 0x28]
fld dword [esp + 0xc]
fst dword [esp + 0x44]
fxch st(3)
fst dword [esp + 0x20]
fst dword [esp + 0x30]
fstp dword [esp + 0x10]
test ecx, ecx
je 0x5c039e3c
mov esi, dword [esp + 0x24]
lea eax, [ebx + 0x38c]
mov edi, dword [esp + 0x3c]
fxch st(1)
fstp dword [esp + 0x1c]
fstp dword [esp + 0x28]
fstp dword [esp + 0x44]
fld dword [esi + edx*4 + 0xc]
inc edx
fld dword [esp + 0x1c]
fmul st(1)
fadd dword [esp + 0x10c]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fst dword [esp + 0x54]
fstp dword [esp + 0x10c]
fld dword [esp + 0x28]
fmul st(1)
fadd dword [esp + 0x110]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fst dword [esp + 0x30]
fstp dword [esp + 0x110]
fld dword [esp + 0x44]
fmul st(1)
fadd dword [esp + 0x114]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fst dword [esp + 0xc]
fstp dword [esp + 0x114]
fadd dword [esp + 0x14]
fstp dword [esp + 0x14]
fld dword [edi + 4]
fld dword [edi]
fld dword [edi + 8]
fld dword [eax - 8]
fmul st(2)
fld dword [eax - 4]
fmul st(4)
faddp st(1)
fld dword [eax]
fmul st(2)
faddp st(1)
fstp dword [esp + 0x1c]
fld dword [eax + 8]
fmul st(2)
fld dword [eax + 0xc]
fmul st(4)
faddp st(1)
fld dword [eax + 0x10]
fmul st(2)
faddp st(1)
fstp dword [esp + 0x28]
fld dword [eax + 0x18]
fmulp st(2)
fld dword [eax + 0x1c]
fmulp st(3)
fxch st(1)
faddp st(2)
fmul dword [eax + 0x20]
add eax, 0x40
faddp st(1)
fstp dword [esp + 0x44]
cmp edx, ecx
jb 0x5c039d58
fld dword [esp + 0x54]
mov edi, dword [ebx + 0x1a60]
fstp dword [esp + 0x20]
fld dword [esp + 0x30]
fstp dword [esp + 0x30]
fld dword [esp + 0xc]
fstp dword [esp + 0x10]
jmp 0x5c039e42
fstp st(1)
fstp st(0)
fstp st(0)
fld dword [esp + 0x14]
fsubr qword [esp + 0x88]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fld dword [esp + 0x1c]
fmul st(1)
fadd dword [esp + 0x20]
fstp dword [esp + 0x10c]
fld dword [esp + 0x28]
fmul st(1)
fadd dword [esp + 0x30]
fstp dword [esp + 0x110]
fmul dword [esp + 0x44]
fadd dword [esp + 0x10]
fstp dword [esp + 0x114]
test edi, 0x2000000
je 0x5c039e9c
lea edx, [esp + 0x10c]
mov ecx, edx
call fcn.5c075df4
or dword [ebx + 0x5b8], 2
mov edx, dword [ebx + 0x5b8]
mov ecx, edx
mov edi, dword [ebx + 0x1a44]
test edi, 0x400
je 0x5c03a46a
fld dword [esp + 0x58]
fst dword [ebx + 0x504]
fst dword [ebx + 0x508]
fst dword [ebx + 0x50c]
fst dword [ebx + 0x524]
fst dword [ebx + 0x528]
fst dword [ebx + 0x52c]
test edi, 0x200
je 0x5c039f47
test edi, 0x10000
je 0x5c039f0b
mov eax, dword [esp + 0x70]
test eax, eax
je 0x5c039f03
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c039f05
xor eax, eax
mov dword [ebx + 0x540], eax
test edi, 0x4000
je 0x5c039f29
mov eax, dword [esp + 0x60]
test eax, eax
je 0x5c039f21
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c039f23
xor eax, eax
mov dword [ebx + 0x550], eax
test edi, 0x8000
je 0x5c039f47
mov eax, dword [esp + 0x64]
test eax, eax
je 0x5c039f3f
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c039f41
xor eax, eax
mov dword [ebx + 0x570], eax
mov eax, dword [ebx + 0x5c0]
mov esi, edi
mov dword [esp + 0x20], eax
test eax, eax
je 0x5c039fa1
fstp st(0)
mov esi, dword [eax + 0x80]
lea ecx, [esp + 0x100]
push ecx
push dword [esp + 0x40]
mov ecx, esi
push dword [esp + 0x2c]
push eax
push ebx
call dword [0x5c06a150]
call esi
mov eax, dword [esp + 0x34]
add esp, 0x14
mov eax, dword [eax + 0x58]
mov dword [esp + 0x20], eax
test eax, eax
jne 0x5c039f59
mov edi, dword [ebx + 0x1a44]
mov esi, edi
mov edx, dword [ebx + 0x5b8]
mov ecx, edx
fld dword [esp + 0x58]
test edi, 0x12000
je 0x5c03a1e8
test cl, 8
jne 0x5c039fc6
fst dword [ebx + 0x504]
fst dword [ebx + 0x508]
fstp dword [ebx + 0x50c]
jmp 0x5c039fc8
fstp st(0)
test edi, 0x10000
je 0x5c03a08c
mov eax, dword [esp + 0x70]
test eax, eax
je 0x5c039fe2
mov eax, dword [eax]
mov ecx, dword [eax]
jmp 0x5c039fe4
xor ecx, ecx
mov eax, ecx
shr eax, 0x10
movzx eax, al
mov dword [esp + 0xc], eax
fild dword [esp + 0xc]
test eax, eax
jns 0x5c039ffe
fadd dword [0x5c00386c]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
mov eax, ecx
fmul dword [ebx + 0x554]
shr eax, 8
movzx eax, al
mov dword [esp + 0xc], eax
fadd dword [ebx + 0x504]
fstp dword [ebx + 0x504]
fild dword [esp + 0xc]
test eax, eax
jns 0x5c03a032
fadd dword [0x5c00386c]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fmul dword [ebx + 0x558]
movzx eax, cl
mov dword [esp + 0xc], eax
fadd dword [ebx + 0x508]
fstp dword [ebx + 0x508]
fild dword [esp + 0xc]
test eax, eax
jns 0x5c03a061
fadd dword [0x5c00386c]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
mov eax, dword [esp + 0x178]
mov edi, dword [esp + 0x4c]
fmul dword [ebx + 0x55c]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x40], eax
mov dword [esp + 0x34], edi
jmp 0x5c03a0cc
fld dword [ebx + 0x584]
fmul dword [ebx + 0x544]
mov edi, dword [esp + 0x34]
fadd dword [ebx + 0x504]
fstp dword [ebx + 0x504]
fld dword [ebx + 0x588]
fmul dword [ebx + 0x548]
fadd dword [ebx + 0x508]
fstp dword [ebx + 0x508]
fld dword [ebx + 0x58c]
fmul dword [ebx + 0x54c]
fadd dword [ebx + 0x50c]
fstp dword [ebx + 0x50c]
test dword [ebx + 0x1a44], 0x2000
je 0x5c03a18e
mov eax, dword [esp + 0x78]
test eax, eax
je 0x5c03a0f6
mov eax, dword [eax]
mov ecx, dword [eax]
jmp 0x5c03a0f8
xor ecx, ecx
mov eax, ecx
shr eax, 0x10
movzx eax, al
mov dword [esp + 0xc], eax
fild dword [esp + 0xc]
test eax, eax
jns 0x5c03a112
fadd dword [0x5c00386c]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
mov eax, ecx
fadd dword [ebx + 0x504]
shr eax, 8
movzx eax, al
mov dword [esp + 0xc], eax
fstp dword [ebx + 0x504]
fild dword [esp + 0xc]
test eax, eax
jns 0x5c03a140
fadd dword [0x5c00386c]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fadd dword [ebx + 0x508]
movzx eax, cl
mov dword [esp + 0xc], eax
fstp dword [ebx + 0x508]
fild dword [esp + 0xc]
test eax, eax
jns 0x5c03a169
fadd dword [0x5c00386c]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
mov eax, dword [esp + 0x178]
mov edi, dword [esp + 0x4c]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x40], eax
mov dword [esp + 0x34], edi
jmp 0x5c03a1c7
fld dword [ebx + 0x5a4]
fld qword [esp + 0x98]
fmul st(1), st(0)
fld dword [ebx + 0x504]
faddp st(2)
fxch st(1)
fstp dword [ebx + 0x504]
fld dword [ebx + 0x5a8]
fmul st(1)
fadd dword [ebx + 0x508]
fstp dword [ebx + 0x508]
fmul dword [ebx + 0x5ac]
fadd dword [ebx + 0x50c]
fstp dword [ebx + 0x50c]
or dword [ebx + 0x5b8], 8
mov edx, dword [ebx + 0x5b8]
mov esi, dword [ebx + 0x1a44]
jmp 0x5c03a1ee
mov edi, dword [esp + 0x34]
fstp st(0)
test dl, 8
je 0x5c03a31c
test esi, 0x12000
jne 0x5c03a23f
fld dword [ebx + 0x514]
fadd dword [ebx + 0x504]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fst dword [ebx + 0x504]
fld dword [ebx + 0x518]
fadd dword [ebx + 0x508]
fstp dword [ebx + 0x508]
fld dword [ebx + 0x51c]
fadd dword [ebx + 0x50c]
fstp dword [ebx + 0x50c]
jmp 0x5c03a245
fld dword [ebx + 0x504]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fistp qword [esp + 0xd0]
fld dword [ebx + 0x508]
mov ecx, dword [esp + 0xd0]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fistp qword [esp + 0xd8]
fld dword [ebx + 0x50c]
mov edx, dword [esp + 0xd8]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fistp qword [esp + 0xe0]
mov esi, dword [esp + 0xe0]
mov eax, 0xff
test ecx, ecx
jns 0x5c03a2a8
xor ecx, ecx
jmp 0x5c03a2ae
cmp ecx, eax
jle 0x5c03a2ae
mov ecx, eax
test edx, edx
jns 0x5c03a2b6
xor edx, edx
jmp 0x5c03a2bc
cmp edx, eax
jle 0x5c03a2bc
mov edx, eax
test esi, esi
jns 0x5c03a2c4
xor esi, esi
jmp 0x5c03a2ca
cmp esi, eax
jle 0x5c03a2ca
mov esi, eax
test dword [ebx + 0x1a44], 0x4000
jne 0x5c03a2e6
shl ecx, 8
add ecx, edx
shl ecx, 8
add ecx, dword [ebx + 0x510]
jmp 0x5c03a305
mov eax, dword [esp + 0x60]
test eax, eax
je 0x5c03a2f4
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c03a2f6
xor eax, eax
shl ecx, 8
and eax, 0xff000000
add ecx, edx
shl ecx, 8
add ecx, eax
lea eax, [ecx + esi]
mov dword [ebx + 0x530], eax
mov edx, dword [ebx + 0x5b8]
mov esi, dword [ebx + 0x1a44]
jmp 0x5c03a356
test esi, 0x4000
jne 0x5c03a332
mov eax, dword [ebx + 0x5e8]
add eax, dword [ebx + 0x510]
jmp 0x5c03a350
mov eax, dword [esp + 0x60]
test eax, eax
je 0x5c03a346
mov eax, dword [eax]
mov ecx, dword [eax]
and ecx, 0xff000000
jmp 0x5c03a348
xor ecx, ecx
mov eax, dword [ebx + 0x5e8]
add eax, ecx
mov dword [ebx + 0x530], eax
test dl, 4
je 0x5c03a422
fld dword [ebx + 0x524]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fistp qword [esp + 0xe8]
fld dword [ebx + 0x528]
mov ecx, dword [esp + 0xe8]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fistp qword [esp + 0xf0]
fld dword [ebx + 0x52c]
mov edx, dword [esp + 0xf0]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fistp qword [esp + 0xf8]
mov esi, dword [esp + 0xf8]
mov eax, 0xff
test ecx, ecx
jns 0x5c03a3c0
xor ecx, ecx
jmp 0x5c03a3c6
cmp ecx, eax
jle 0x5c03a3c6
mov ecx, eax
test edx, edx
jns 0x5c03a3ce
xor edx, edx
jmp 0x5c03a3d4
cmp edx, eax
jle 0x5c03a3d4
mov edx, eax
test esi, esi
jns 0x5c03a3dc
xor esi, esi
jmp 0x5c03a3e2
cmp esi, eax
jle 0x5c03a3e2
mov esi, eax
test dword [ebx + 0x1a44], 0x8000
jne 0x5c03a3fe
shl ecx, 8
add ecx, edx
shl ecx, 8
add ecx, dword [ebx + 0x5bc]
jmp 0x5c03a41d
mov eax, dword [esp + 0x64]
test eax, eax
je 0x5c03a40c
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c03a40e
xor eax, eax
shl ecx, 8
and eax, 0xff000000
add ecx, edx
shl ecx, 8
add ecx, eax
lea eax, [ecx + esi]
jmp 0x5c03a490
test esi, 0x100000
jne 0x5c03a496
test dword [ebx + 0x1a60], 0x800
jne 0x5c03a447
test byte [ebx + 0x1a5c], 0x80
je 0x5c03a443
mov eax, dword [edi]
jmp 0x5c03a490
xor eax, eax
jmp 0x5c03a490
test esi, 0x8000
jne 0x5c03a457
mov eax, dword [ebx + 0x5bc]
jmp 0x5c03a490
mov eax, dword [esp + 0x64]
test eax, eax
je 0x5c03a443
mov eax, dword [eax]
mov eax, dword [eax]
and eax, 0xff000000
jmp 0x5c03a490
mov ecx, dword [ebx + 0x1a5c]
test cl, 0xc0
je 0x5c03a496
test cl, 0x40
je 0x5c03a486
mov eax, dword [esp + 0x40]
mov eax, dword [eax]
mov dword [ebx + 0x530], eax
test cl, cl
jns 0x5c03a496
mov eax, dword [esp + 0x34]
mov eax, dword [eax]
mov dword [ebx + 0x560], eax
mov ecx, dword [ebx + 0x1a44]
test ecx, 0x100
je 0x5c03a4be
mov edx, dword [esp + 0x24]
lea eax, [esp + 0x100]
push eax
mov ecx, ebx
call fcn.5c01b46b
pop ecx
mov ecx, dword [ebx + 0x1a44]
mov edx, dword [ebx + 0x1a6c]
mov esi, dword [esp + 0x2c]
test dl, 0x40
je 0x5c03a4d6
mov eax, dword [ebx + 0x530]
mov dword [esi + 0x14], eax
test dl, dl
jns 0x5c03a4e3
mov eax, dword [ebx + 0x560]
mov dword [esi + 0x18], eax
mov eax, dword [ebx + 0x1a60]
and ecx, 0x10000000
test eax, 0x8000000
je 0x5c03a81d
test ecx, ecx
jne 0x5c03a7a0
test dword [esp + 0x6c], 0x200000
lea edi, [esi + 0x30]
mov dword [esp + 0x20], edi
jne 0x5c03a797
test eax, 0x4010000
jne 0x5c03a570
xor eax, eax
mov dword [esp + 0x20], eax
cmp dword [ebx + 0x1a88], eax
jbe 0x5c03a7a0
lea ecx, [ebx + 0x1ad8]
mov dword [esp + 0x30], ecx
mov esi, dword [ecx]
push esi
push dword [esp + eax*4 + 0x17c]
push edi
call sub.msvcrt.dll_memcpy
mov eax, dword [esp + 0x2c]
add esp, 0xc
mov ecx, dword [esp + 0x30]
add edi, esi
inc eax
add ecx, 4
mov dword [esp + 0x20], eax
mov dword [esp + 0x30], ecx
cmp eax, dword [ebx + 0x1a88]
jb 0x5c03a53a
jmp 0x5c03a7a0
test eax, 0x10000
jne 0x5c03a60e
xor ecx, ecx
mov dword [esp + 0x20], ecx
cmp dword [ebx + 0x1a88], ecx
jbe 0x5c03a7a0
lea eax, [ebx + 0x1af8]
mov dword [esp + 0x30], eax
mov edx, dword [eax - 0x20]
mov esi, dword [eax]
mov eax, dword [eax + 0x138]
mov dword [esp + 0x54], edx
mov dword [esp + 0xc], eax
test eax, eax
jne 0x5c03a5be
push edx
push dword [esp + ecx*4 + 0x17c]
push edi
call sub.msvcrt.dll_memcpy
jmp 0x5c03a5e6
push dword [esp + 0xc]
mov eax, edx
shr esi, 2
shr eax, 2
push edi
push dword [esp + ecx*4 + 0x180]
lea eax, [esi + eax*4]
mov esi, dword [eax*4 + 0x5c00169c]
mov ecx, esi
call dword [0x5c06a150]
call esi
mov ecx, dword [esp + 0x2c]
add esp, 0xc
add edi, dword [esp + 0x54]
inc ecx
mov eax, dword [esp + 0x30]
add eax, 4
mov dword [esp + 0x20], ecx
mov dword [esp + 0x30], eax
cmp ecx, dword [ebx + 0x1a88]
jb 0x5c03a597
jmp 0x5c03a7a0
and dword [esp + 0x30], 0
cmp dword [ebx + 0x1c2c], 0
jbe 0x5c03a7a0
lea eax, [ebx + 0x1ad8]
lea esi, [ebx + 0x1b40]
mov dword [esp + 0x14], eax
mov dword [esp + 0x1c], esi
mov eax, dword [esi + 8]
test eax, eax
jne 0x5c03a64a
mov eax, dword [esi - 0x14]
mov ecx, dword [esp + eax*4 + 0x178]
jmp 0x5c03a734
cmp eax, 0x20000
jne 0x5c03a65d
lea ecx, [esp + 0x100]
jmp 0x5c03a734
cmp eax, 0x10000
jne 0x5c03a670
lea ecx, [esp + 0x10c]
jmp 0x5c03a734
test dword [ebx + 0x1a60], 0x1000000
je 0x5c03a71a
lea esi, [esp + 0x100]
lea edi, [esp + 0x130]
movsd dword es:[edi], dword [esi]
lea edx, [esp + 0x130]
mov ecx, edx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.5c0504a4
fld dword [esp + 0x134]
fld dword [esp + 0x110]
fld dword [esp + 0x130]
fld dword [esp + 0x10c]
fld dword [esp + 0x138]
fld dword [esp + 0x114]
fld st(5)
mov edi, dword [esp + 0x20]
fmul st(5)
fld st(4)
mov esi, dword [esp + 0x1c]
fmul st(4)
faddp st(1)
fld st(2)
fmul st(2)
faddp st(1)
fadd st(0), st(0)
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fld st(0)
fmulp st(4)
fxch st(4)
fsubrp st(3)
fxch st(2)
fstp dword [esp + 0x160]
fld st(2)
fmulp st(4)
fxch st(4)
fsubrp st(3)
fxch st(2)
fstp dword [esp + 0x164]
fmulp st(1)
fsubp st(1)
fstp dword [esp + 0x168]
jmp 0x5c03a72d
lea edx, [esp + 0x160]
lea ecx, [esp + 0x10c]
call fcn.5c01b43c
lea ecx, [esp + 0x160]
cmp dword [esi], 0
mov eax, dword [esp + 0x14]
mov eax, dword [eax]
mov dword [esp + 0xc], eax
je 0x5c03a761
push dword [esi]
mov eax, dword [esi + 4]
push edi
push ecx
mov esi, dword [eax*4 + 0x5c0016b0]
mov ecx, esi
call dword [0x5c06a150]
call esi
mov esi, dword [esp + 0x28]
jmp 0x5c03a769
push eax
push ecx
push edi
call sub.msvcrt.dll_memcpy
add edi, dword [esp + 0x18]
add esp, 0xc
mov ecx, dword [esp + 0x30]
add esi, 0x20
add dword [esp + 0x14], 4
inc ecx
mov dword [esp + 0x20], edi
mov dword [esp + 0x30], ecx
mov dword [esp + 0x1c], esi
cmp ecx, dword [ebx + 0x1c2c]
jb 0x5c03a634
jmp 0x5c03a7a0
fld dword [esp + 0x58]
fst dword [edi]
fstp dword [edi + 4]
mov eax, dword [esp + 0x5c]
add dword [esp + 0x24], eax
test dword [ebx + 0x1a44], 0x40000000
jne 0x5c03aae7
mov eax, dword [esp + 0x3c]
xor ecx, ecx
mov edi, dword [esp + 0x40]
mov edx, dword [esp + 0x34]
add edi, dword [ebx + 0x1a38]
add edx, dword [ebx + 0x1a94]
add eax, dword [ebx + 0x1a30]
mov esi, dword [ebx + 0x1a84]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], edi
mov dword [esp + 0x48], edi
mov dword [esp + 0x34], edx
mov dword [esp + 0x4c], edx
test esi, esi
je 0x5c03aae7
lea edx, [ebx + 0x1a9c]
mov eax, dword [edx]
lea edx, [edx + 8]
add dword [esp + ecx*4 + 0x178], eax
inc ecx
cmp ecx, esi
jb 0x5c03a800
mov eax, dword [esp + 0x178]
jmp 0x5c03aae3
test ecx, ecx
jne 0x5c03aaa2
test dword [esp + 0x6c], 0x200000
lea edi, [esi + 0x30]
mov dword [esp + 0x20], edi
jne 0x5c03aa99
test eax, 0x4010000
jne 0x5c03a859
push dword [ebx + 0x1a8c]
push dword [esp + 0x1c]
push edi
call sub.msvcrt.dll_memcpy
add esp, 0xc
jmp 0x5c03aaa2
test eax, 0x10000
jne 0x5c03a909
mov eax, dword [esp + 0x18]
xor esi, esi
mov dword [esp + 0x14], eax
mov dword [esp + 0x30], esi
cmp dword [ebx + 0x1a88], esi
jbe 0x5c03aaa6
lea eax, [ebx + 0x1af8]
mov dword [esp + 0x10], eax
mov edx, dword [eax]
mov ecx, dword [eax - 0x20]
mov eax, dword [eax + 0x138]
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x54], ecx
mov dword [esp + 0xc], eax
test eax, eax
je 0x5c03a8d1
mov eax, dword [esp + 0x20]
push dword [esp + 0xc]
shr ecx, 2
shr eax, 2
push edi
push edx
lea eax, [eax + ecx*4]
mov esi, dword [eax*4 + 0x5c00169c]
mov ecx, esi
call dword [0x5c06a150]
call esi
mov esi, dword [esp + 0x3c]
jmp 0x5c03a8d9
push ecx
push edx
push edi
call sub.msvcrt.dll_memcpy
mov edx, dword [esp + 0x20]
add esp, 0xc
add edx, dword [esp + 0x20]
add edi, dword [esp + 0x54]
inc esi
mov eax, dword [esp + 0x10]
add eax, 4
mov dword [esp + 0x14], edx
mov dword [esp + 0x30], esi
mov dword [esp + 0x10], eax
cmp esi, dword [ebx + 0x1a88]
jb 0x5c03a888
jmp 0x5c03aaa2
and dword [esp + 0x30], 0
cmp dword [ebx + 0x1c2c], 0
jbe 0x5c03aaa2
lea esi, [ebx + 0x1ad8]
lea eax, [ebx + 0x1b30]
mov dword [esp + 0x14], esi
mov dword [esp + 0x1c], eax
mov ecx, dword [eax + 0x18]
test ecx, ecx
jne 0x5c03a941
mov ecx, dword [eax]
add ecx, dword [esp + 0x18]
jmp 0x5c03aa31
cmp ecx, 0x20000
jne 0x5c03a955
lea ecx, [esp + 0x100]
jmp 0x5c03aa31
cmp ecx, 0x10000
jne 0x5c03a969
lea ecx, [esp + 0x10c]
jmp 0x5c03aa31
test dword [ebx + 0x1a60], 0x1000000
je 0x5c03aa17
lea esi, [esp + 0x100]
lea edi, [esp + 0x13c]
movsd dword es:[edi], dword [esi]
lea edx, [esp + 0x13c]
mov ecx, edx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.5c0504a4
fld dword [esp + 0x140]
fld dword [esp + 0x110]
fld dword [esp + 0x13c]
fld dword [esp + 0x10c]
fld dword [esp + 0x144]
fld dword [esp + 0x114]
fld st(5)
mov edi, dword [esp + 0x20]
fmul st(5)
fld st(4)
mov eax, dword [esp + 0x1c]
fmul st(4)
mov esi, dword [esp + 0x14]
faddp st(1)
fld st(2)
fmul st(2)
faddp st(1)
fadd st(0), st(0)
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fld st(0)
fmulp st(4)
fxch st(4)
fsubrp st(3)
fxch st(2)
fstp dword [esp + 0x16c]
fld st(2)
fmulp st(4)
fxch st(4)
fsubrp st(3)
fxch st(2)
fstp dword [esp + 0x170]
fmulp st(1)
fsubp st(1)
fstp dword [esp + 0x174]
jmp 0x5c03aa2a
lea edx, [esp + 0x16c]
lea ecx, [esp + 0x10c]
call fcn.5c01b43c
lea ecx, [esp + 0x16c]
mov edx, dword [eax + 0x10]
mov esi, dword [esi]
mov dword [esp + 0xc], esi
test edx, edx
je 0x5c03aa5b
mov eax, dword [eax + 0x14]
push edx
push edi
push ecx
mov esi, dword [eax*4 + 0x5c0016b0]
mov ecx, esi
call dword [0x5c06a150]
call esi
mov esi, dword [esp + 0x18]
jmp 0x5c03aa63
push esi
push ecx
push edi
call sub.msvcrt.dll_memcpy
mov edx, dword [esp + 0x3c]
add edi, esi
mov esi, dword [esp + 0x20]
add esp, 0xc
mov eax, dword [esp + 0x1c]
inc edx
add esi, 4
mov dword [esp + 0x20], edi
add eax, 0x20
mov dword [esp + 0x30], edx
mov dword [esp + 0x14], esi
mov dword [esp + 0x1c], eax
cmp edx, dword [ebx + 0x1c2c]
jb 0x5c03a92f
jmp 0x5c03aaa2
fld dword [esp + 0x58]
fst dword [edi]
fstp dword [esi + 0x34]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x5c]
add dword [esp + 0x24], edx
test dword [ebx + 0x1a44], 0x40000000
jne 0x5c03aae7
mov ecx, dword [esp + 0x40]
add dword [esp + 0x3c], edx
add ecx, edx
mov dword [esp + 0x40], ecx
mov dword [esp + 0x48], ecx
mov ecx, dword [esp + 0x34]
add ecx, edx
add eax, edx
mov dword [esp + 0x34], ecx
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x178], eax
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x84]
add ecx, 0xb0
sub dword [esp + 0x38], 1
mov dword [esp + 0x2c], ecx
jne 0x5c0399ae
lea eax, [esp + 0x248]
mov ecx, ebx
push eax
lea edx, [esp + 0x19c]
call fcn.5c022675
pop ecx
mov ecx, eax
mov dword [esp + 0x54], ecx
test ecx, ecx
jne 0x5c03acc7
jmp 0x5c039912
mov eax, dword [esp + 0x24]
mov ecx, dword [ebx + 0x1a44]
add eax, edx
mov edi, dword [ebx + 0x1a60]
and ecx, 0x40000000
mov dword [esp + 0xc], eax
and edi, 0x8000000
je 0x5c03abc5
test ecx, ecx
jne 0x5c03ac02
mov edx, dword [esp + 0x3c]
add edx, dword [ebx + 0x1a30]
mov esi, dword [esp + 0x34]
add esi, dword [ebx + 0x1a94]
mov dword [esp + 0x3c], edx
mov edx, dword [esp + 0x40]
add edx, dword [ebx + 0x1a38]
mov dword [esp + 0x40], edx
mov dword [esp + 0x48], edx
xor edx, edx
mov dword [esp + 0x34], esi
mov dword [esp + 0x4c], esi
cmp dword [ebx + 0x1a84], edx
jbe 0x5c03ac02
lea esi, [ebx + 0x1a9c]
mov eax, dword [esi]
lea esi, [esi + 8]
add dword [esp + edx*4 + 0x178], eax
inc edx
cmp edx, dword [ebx + 0x1a84]
jb 0x5c03ab9f
mov edx, dword [esp + 0x178]
mov eax, dword [esp + 0xc]
mov dword [esp + 0x18], edx
jmp 0x5c03ac06
test ecx, ecx
jne 0x5c03ac02
add dword [esp + 0x3c], edx
mov edx, dword [esp + 0x40]
add edx, dword [esp + 0x5c]
mov esi, dword [esp + 0x34]
add esi, dword [esp + 0x5c]
mov dword [esp + 0x40], edx
mov dword [esp + 0x48], edx
mov edx, dword [esp + 0x18]
add edx, dword [esp + 0x5c]
mov dword [esp + 0x34], esi
mov dword [esp + 0x4c], esi
mov dword [esp + 0x18], edx
mov dword [esp + 0x178], edx
jmp 0x5c03ac06
mov edx, dword [esp + 0x18]
add eax, dword [esp + 0x5c]
mov esi, dword [esp + 0x34]
mov dword [esp + 0x24], eax
test edi, edi
je 0x5c03ac81
test ecx, ecx
jne 0x5c039912
mov eax, dword [esp + 0x3c]
add eax, dword [ebx + 0x1a30]
add esi, dword [ebx + 0x1a94]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x40]
add eax, dword [ebx + 0x1a38]
mov dword [esp + 0x34], esi
mov dword [esp + 0x4c], esi
mov esi, dword [ebx + 0x1a84]
mov dword [esp + 0x40], eax
mov dword [esp + 0x48], eax
test esi, esi
je 0x5c039912
lea edx, [ebx + 0x1a9c]
mov eax, dword [edx]
lea edx, [edx + 8]
add dword [esp + ecx*4 + 0x178], eax
inc ecx
cmp ecx, esi
jb 0x5c03ac60
mov eax, dword [esp + 0x178]
mov dword [esp + 0x18], eax
jmp 0x5c039912
mov edi, dword [esp + 0x24]
mov dword [esp + 0x24], edi
test ecx, ecx
jne 0x5c039916
mov ecx, dword [esp + 0x5c]
add esi, ecx
mov eax, dword [esp + 0x40]
add dword [esp + 0x3c], ecx
add eax, ecx
add edx, ecx
mov dword [esp + 0x40], eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x34], esi
mov dword [esp + 0x4c], esi
mov dword [esp + 0x18], edx
mov dword [esp + 0x178], edx
jmp 0x5c039916
mov ecx, dword [esp + 0x54]
test dword [ebx + 0x1a60], 0x100000
jne 0x5c03addb
fld dword [ebx + 0x68c]
fld dword [ebx + 0x1b24]
fadd st(1)
fstp dword [esp + 0x50]
fld dword [esp + 0x50]
fst dword [esp + 0x54]
fstp dword [ebx + 0x1b24]
fld dword [ebx + 0x1b28]
fadd st(1)
fstp dword [esp + 0x50]
fld dword [esp + 0x50]
fst dword [esp + 0x7c]
fstp dword [ebx + 0x1b28]
fld dword [ebx + 0x1b1c]
fsub st(1)
fstp dword [esp + 0x50]
fld dword [esp + 0x50]
fst dword [ebx + 0x1b1c]
fld dword [ebx + 0x1b20]
fsubrp st(2)
fxch st(1)
fstp dword [esp + 0x50]
fld dword [esp + 0x50]
fst dword [esp + 0xc]
fstp dword [ebx + 0x1b20]
fld dword [ebx + 0x624]
fstp dword [esp + 0x50]
fld dword [esp + 0x50]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x5c03ad64
fstp dword [ebx + 0x1b1c]
jmp 0x5c03ad66
fstp st(0)
fld dword [ebx + 0x628]
fstp dword [esp + 0x50]
fld dword [esp + 0xc]
fld dword [esp + 0x50]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x5c03ad8b
fstp dword [ebx + 0x1b20]
jmp 0x5c03ad8d
fstp st(0)
fld dword [ebx + 0x62c]
fstp dword [esp + 0x50]
fld dword [esp + 0x54]
fld dword [esp + 0x50]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x5c03adb2
fstp dword [ebx + 0x1b24]
jmp 0x5c03adb4
fstp st(0)
fld dword [ebx + 0x630]
fstp dword [esp + 0x50]
fld dword [esp + 0x7c]
fld dword [esp + 0x50]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x5c03add9
fstp dword [ebx + 0x1b28]
jmp 0x5c03addb
fstp st(0)
mov eax, dword [ebx + 0x1a48]
mov dword [ebx + 0x1a58], eax
mov eax, dword [ebx + 0x1a48]
sub eax, dword [esp + 0x94]
imul eax, dword [ebx + 0x1a64]
mov dword [ebx + 0x1a74], eax
mov eax, ecx
jmp 0x5c03ae22
and dword [ebx + 0x1a44], 0xffdfffff
cmp dword [ebx + 0x684], edi
je 0x5c03ae1b
xor eax, eax
jmp 0x5c03ae22
mov ecx, ebx
call fcn.5c011e17
mov ecx, dword [esp + 0x2fc]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.5c04fcf0
mov esp, ebp
pop ebp
ret 4