Function at 0x5c02b4d0
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, 0x3a4
mov eax, dword [0x5c05aac4]
xor eax, esp
mov dword [esp + 0x3a0], eax
test byte [0x5c05c804], 2
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
push ebx
je 0x5c02b52c
call fcn.5c01ce90
cmp dword [ebx + 0x684], 0
jne 0x5c02e1d6
mov ecx, ebx
call fcn.5c011121
mov ecx, dword [esp + 0x3ac]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.5c0501b0
mov esp, ebp
pop ebp
ret 4
test dword [ebx + 0x1a60], 0x80000
jne 0x5c02b4fc
or dword [ebx + 0x225c], 0xffffffff
or dword [ebx + 0x1a44], 0x200000
call fcn.5c01ce90
mov eax, dword [ebx + 0x225c]
xor edi, edi
mov ecx, dword [ebx + 0x1a70]
mov dword [esp + 0x78], edi
mov dword [esp + 0x84], ecx
cmp eax, 0xffffffff
je 0x5c02e1c0
mov edx, dword [ebx + 0x1a48]
push 3
mov dword [esp + 0x68], ecx
pop ecx
mov dword [esp + 0x8c], edx
cmp eax, ecx
jbe 0x5c02b5ac
xor edx, edx
div ecx
mov ecx, ebx
mov esi, eax
sub dword [ebx + 0x1a54], esi
imul edx, esi, 3
mov dword [esp + 0x78], esi
call fcn.5c02b3f9
mov eax, dword [ebx + 0x1a70]
mov dword [esp + 0x64], eax
mov eax, dword [ebx + 0x1cd8]
mov edx, dword [ebx + 0x1a60]
mov dword [esp + 0x54], edi
mov dword [esp + 0x7c], edi
mov dword [esp + 0x74], edi
mov dword [esp + 0x68], edi
mov dword [esp + 0x6c], edi
mov edi, dword [ebx + 0x1a78]
mov ecx, edi
mov dword [esp + 0x88], eax
mov eax, dword [ebx + 0x1a64]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x178], ecx
mov ecx, 0x8000000
mov dword [esp + 0x58], eax
mov eax, dword [ebx + 0x1a7c]
mov dword [esp + 0x70], edx
mov dword [esp + 0x40], edi
mov dword [esp + 0x60], eax
test ecx, edx
jne 0x5c02b652
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 + 0x3c], edx
cmp dword [ebx + 0x1a84], 0
mov dword [esp + 0x48], edx
mov edx, dword [esp + 0x70]
mov dword [esp + 0x44], esi
mov dword [esp + 0x28], ecx
mov dword [esp + 0x4c], ecx
je 0x5c02b6da
mov ecx, dword [ebx + 0x1cbc]
add ecx, edi
jmp 0x5c02b69b
mov eax, dword [ebx + 0x1a2c]
mov dword [esp + 0x44], eax
mov eax, dword [ebx + 0x1a34]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x48], eax
mov eax, dword [ebx + 0x1a90]
mov dword [esp + 0x28], eax
mov dword [esp + 0x4c], eax
test dl, 0x10
jne 0x5c02b6a8
test dword [ebx + 0x1a44], ecx
jne 0x5c02b6a8
cmp dword [ebx + 0x1a84], 0
je 0x5c02b6da
mov eax, dword [ebx + 0x688]
mov ecx, dword [ebx + eax*8 + 0x1a98]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x178], ecx
jmp 0x5c02b6da
mov esi, dword [ebx + 0x1a84]
xor ecx, ecx
test esi, esi
je 0x5c02b6da
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 0x5c02b6ba
mov eax, dword [esp + 0x178]
mov edx, dword [esp + 0x70]
mov dword [esp + 0x20], 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 + 0x5c]
test eax, 0x400
je 0x5c02b831
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 0x5c02b82b
mov edx, dword [ebx + 0x1a5c]
test dl, 0x40
je 0x5c02b7b1
xor edi, edi
mov ecx, eax
cmp dword [ebx + 0x5f8], edi
jne 0x5c02b75e
or ecx, 0x2200
lea esi, [esp + 0x48]
mov dword [ebx + 0x1a44], ecx
mov dword [esp + 0x7c], esi
mov eax, ecx
cmp dword [ebx + 0x5f0], edi
jne 0x5c02b77b
or eax, 0x4200
lea ecx, [esp + 0x48]
mov dword [ebx + 0x1a44], eax
mov dword [esp + 0x68], ecx
cmp dword [ebx + 0x5ec], edi
jne 0x5c02b796
or eax, 0x10200
lea ecx, [esp + 0x48]
mov dword [ebx + 0x1a44], eax
mov dword [esp + 0x74], ecx
cmp dword [ebx + 0x5f4], edi
jne 0x5c02b7b1
or eax, 0x8200
lea ecx, [esp + 0x48]
mov dword [ebx + 0x1a44], eax
mov dword [esp + 0x6c], ecx
test dl, dl
jns 0x5c02b82b
cmp dword [ebx + 0x5f8], 1
jne 0x5c02b7d1
or eax, 0x2200
lea esi, [esp + 0x4c]
mov dword [ebx + 0x1a44], eax
mov dword [esp + 0x7c], esi
cmp dword [ebx + 0x5f0], 1
jne 0x5c02b7ed
or eax, 0x4200
lea ecx, [esp + 0x4c]
mov dword [ebx + 0x1a44], eax
mov dword [esp + 0x68], ecx
cmp dword [ebx + 0x5ec], 1
jne 0x5c02b809
or eax, 0x10200
lea ecx, [esp + 0x4c]
mov dword [ebx + 0x1a44], eax
mov dword [esp + 0x74], ecx
cmp dword [ebx + 0x5f4], 1
mov edi, dword [esp + 0x40]
jne 0x5c02b833
or eax, 0x8200
lea ecx, [esp + 0x4c]
mov dword [ebx + 0x1a44], eax
mov dword [esp + 0x6c], ecx
jmp 0x5c02b833
mov edi, dword [esp + 0x40]
jmp 0x5c02b833
fstp st(0)
mov edx, dword [ebx + 0x1a54]
lea eax, [esp + 0x248]
mov dword [esp + 0x1c4], eax
lea eax, [esp + 0x2f8]
mov dword [esp + 0x274], eax
mov dword [esp + 0x80], edx
test edx, edx
je 0x5c02e042
fld1
fstp qword [esp + 0x90]
fld qword [0x5c003160]
fstp qword [esp + 0x98]
mov eax, edi
mov dword [esp + 0x1c], 3
lea ecx, [esp + 0x198]
mov dword [esp + 0x30], eax
xor esi, esi
mov dword [esp + 0x18], ecx
or edi, 0xffffffff
push ecx
mov edx, eax
mov ecx, ebx
call fcn.5c02afc0
or esi, eax
and edi, eax
mov eax, dword [esp + 0x34]
add eax, dword [esp + 0x64]
pop ecx
mov ecx, dword [esp + 0x18]
add ecx, 0xb0
mov dword [esp + 0x30], eax
sub dword [esp + 0x1c], 1
mov dword [esp + 0x18], ecx
jne 0x5c02b898
or dword [ebx + 0x680], esi
and dword [ebx + 0x684], edi
test edi, edi
jne 0x5c02de07
mov edx, dword [esp + 0x88]
test edx, esi
jne 0x5c02cb4d
inc dword [esp + 0x78]
lea ecx, [esp + 0x198]
mov eax, dword [esp + 0x64]
mov dword [esp + 0x38], ecx
mov dword [esp + 0x24], 3
test dword [ebx + 0x1a60], 0x100000
fld dword [ecx + 0xc]
fld qword [esp + 0x90]
fld st(0)
fdivrp st(2)
fxch st(1)
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fld st(0)
fld dword [ecx]
fmul st(1)
fmul dword [ebx + 0x5fc]
fadd dword [ebx + 0x604]
fstp dword [esp + 0x14]
fld dword [ecx + 4]
fmul st(1)
fmul dword [ebx + 0x600]
fadd dword [ebx + 0x608]
fstp dword [esp + 0x34]
fld dword [esp + 0x14]
fld dword [esp + 0x34]
jne 0x5c02b9c5
fld st(1)
fld dword [ebx + 0x1b1c]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x5c02b978
fxch st(2)
fst dword [ebx + 0x1b1c]
fxch st(2)
fld dword [ebx + 0x1b24]
fcompp
fnstsw ax
test ah, 5
jp 0x5c02b991
fxch st(1)
fst dword [ebx + 0x1b24]
fxch st(1)
fld st(0)
fld dword [ebx + 0x1b20]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x5c02b9ac
fxch st(1)
fst dword [ebx + 0x1b20]
fxch st(1)
fld dword [ebx + 0x1b28]
fcompp
fnstsw ax
test ah, 5
mov eax, dword [esp + 0x64]
jp 0x5c02b9c5
fst dword [ebx + 0x1b28]
fld dword [ecx + 8]
xor edx, edx
fmul dword [ebx + 0x60c]
fmulp st(3)
fld dword [ebx + 0x610]
faddp st(3)
fxch st(2)
fstp dword [esp + 0x14]
fstp dword [eax]
fstp dword [eax + 4]
fld dword [esp + 0x14]
fstp dword [eax + 8]
fstp dword [eax + 0xc]
and dword [ebx + 0x5b8], 0
mov edi, dword [ebx + 0x1a60]
test edi, 0x20000000
je 0x5c02bc61
mov eax, dword [esp + 0x40]
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 + 0x14]
fld dword [esp + 0x14]
fst dword [esp + 0x34]
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 + 0x14]
fld dword [esp + 0x14]
fst dword [esp + 0x18]
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 + 0x14]
fld dword [esp + 0x14]
fst dword [esp + 0x14]
fstp dword [esp + 0x108]
test ecx, ecx
je 0x5c02bc58
fld dword [esp + 0x5c]
xor esi, esi
fst dword [esp + 0x30]
fst dword [esp + 0x100]
fst dword [esp + 0x104]
fst dword [esp + 0x108]
fld dword [esp + 0x34]
fst dword [esp + 0x50]
fld dword [esp + 0x18]
fst dword [esp + 0x2c]
fld dword [esp + 0x14]
fst dword [esp + 0x1c]
fxch st(3)
fst dword [esp + 0x18]
fst dword [esp + 0x34]
fstp dword [esp + 0x14]
test ecx, ecx
je 0x5c02bc11
mov edx, dword [esp + 0x40]
lea eax, [ebx + 0x2e4]
fxch st(1)
fstp dword [esp + 0x50]
fstp dword [esp + 0x2c]
fstp dword [esp + 0x1c]
fld dword [edx + esi*4 + 0xc]
inc esi
fld dword [esp + 0x50]
fmul st(1)
fadd dword [esp + 0x100]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fst dword [esp + 0x34]
fstp dword [esp + 0x100]
fld dword [esp + 0x2c]
fmul st(1)
fadd dword [esp + 0x104]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fst dword [esp + 0x10]
fstp dword [esp + 0x104]
fld dword [esp + 0x1c]
fmul st(1)
fadd dword [esp + 0x108]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fst dword [esp + 0x14]
fstp dword [esp + 0x108]
fadd dword [esp + 0x30]
fstp dword [esp + 0x30]
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 + 0x50]
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 + 0x2c]
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 0x5c02bb24
fld dword [esp + 0x34]
mov edx, dword [ebx + 0x5b8]
fstp dword [esp + 0x18]
fld dword [esp + 0x10]
fstp dword [esp + 0x34]
fld dword [esp + 0x14]
fstp dword [esp + 0x14]
jmp 0x5c02bc17
fstp st(1)
fstp st(0)
fstp st(0)
fld dword [esp + 0x30]
fld st(1)
fsubrp st(1)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fld dword [esp + 0x50]
fmul st(1)
fadd dword [esp + 0x18]
fstp dword [esp + 0x100]
fld dword [esp + 0x2c]
fmul st(1)
fadd dword [esp + 0x34]
fstp dword [esp + 0x104]
fmul dword [esp + 0x1c]
fadd dword [esp + 0x14]
fstp dword [esp + 0x108]
or edx, 1
mov dword [ebx + 0x5b8], edx
test edi, 0x40000000
je 0x5c02bec7
mov esi, dword [esp + 0x44]
fld dword [ebx + 0x488]
mov ecx, dword [ebx + 0x1cb4]
fmul dword [esi + 4]
fld dword [ebx + 0x484]
fmul dword [esi]
faddp st(1)
fld dword [ebx + 0x48c]
fmul dword [esi + 8]
faddp st(1)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x14]
fstp dword [esp + 0x10c]
fld dword [ebx + 0x498]
fmul dword [esi + 4]
fld dword [ebx + 0x494]
fmul dword [esi]
faddp st(1)
fld dword [ebx + 0x49c]
fmul dword [esi + 8]
faddp st(1)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x34]
fstp dword [esp + 0x110]
fld dword [ebx + 0x4a8]
fmul dword [esi + 4]
fld dword [ebx + 0x4a4]
fmul dword [esi]
faddp st(1)
fld dword [ebx + 0x4ac]
fmul dword [esi + 8]
faddp st(1)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x10]
fstp dword [esp + 0x114]
test ecx, ecx
je 0x5c02bea0
fld dword [esp + 0x5c]
xor edx, edx
fst dword [esp + 0x30]
fst dword [esp + 0x10c]
fst dword [esp + 0x110]
fst dword [esp + 0x114]
fld dword [esp + 0x14]
fst dword [esp + 0x1c]
fld dword [esp + 0x34]
fst dword [esp + 0x2c]
fld dword [esp + 0x10]
fst dword [esp + 0x50]
fxch st(3)
fst dword [esp + 0x14]
fst dword [esp + 0x34]
fstp dword [esp + 0x18]
test ecx, ecx
je 0x5c02be5b
mov edi, dword [esp + 0x40]
lea eax, [ebx + 0x38c]
fxch st(1)
fstp dword [esp + 0x1c]
fstp dword [esp + 0x2c]
fstp dword [esp + 0x50]
fld dword [edi + edx*4 + 0xc]
inc edx
fld dword [esp + 0x1c]
fmul st(1)
fadd dword [esp + 0x10c]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x14]
fstp dword [esp + 0x10c]
fld dword [esp + 0x2c]
fmul st(1)
fadd dword [esp + 0x110]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x34]
fstp dword [esp + 0x110]
fld dword [esp + 0x50]
fmul st(1)
fadd dword [esp + 0x114]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x10]
fstp dword [esp + 0x114]
fadd dword [esp + 0x30]
fstp dword [esp + 0x30]
fld dword [esi + 4]
fld dword [esi]
fld dword [esi + 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 + 0x2c]
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 + 0x50]
cmp edx, ecx
jb 0x5c02bd77
fld dword [esp + 0x14]
mov edi, dword [ebx + 0x1a60]
fstp dword [esp + 0x14]
fld dword [esp + 0x34]
fstp dword [esp + 0x34]
fld dword [esp + 0x10]
fstp dword [esp + 0x18]
jmp 0x5c02be61
fstp st(1)
fstp st(0)
fstp st(0)
fsub dword [esp + 0x30]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fld dword [esp + 0x1c]
fmul st(1)
fadd dword [esp + 0x14]
fstp dword [esp + 0x10c]
fld dword [esp + 0x2c]
fmul st(1)
fadd dword [esp + 0x34]
fstp dword [esp + 0x110]
fmul dword [esp + 0x50]
fadd dword [esp + 0x18]
fstp dword [esp + 0x114]
jmp 0x5c02bea2
fstp st(0)
test edi, 0x2000000
je 0x5c02beb8
lea edx, [esp + 0x10c]
mov ecx, edx
call fcn.5c068ea2
or dword [ebx + 0x5b8], 2
mov edx, dword [ebx + 0x5b8]
jmp 0x5c02bec9
fstp st(0)
mov ecx, dword [ebx + 0x1a44]
test ecx, 0x400
je 0x5c02c48c
fld dword [esp + 0x5c]
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 ecx, 0x200
je 0x5c02bf65
test ecx, 0x10000
je 0x5c02bf29
mov eax, dword [esp + 0x74]
test eax, eax
je 0x5c02bf21
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c02bf23
xor eax, eax
mov dword [ebx + 0x540], eax
test ecx, 0x4000
je 0x5c02bf47
mov eax, dword [esp + 0x68]
test eax, eax
je 0x5c02bf3f
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c02bf41
xor eax, eax
mov dword [ebx + 0x550], eax
test ecx, 0x8000
je 0x5c02bf65
mov eax, dword [esp + 0x6c]
test eax, eax
je 0x5c02bf5d
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c02bf5f
xor eax, eax
mov dword [ebx + 0x570], eax
mov edi, dword [ebx + 0x5c0]
mov esi, ecx
test edi, edi
je 0x5c02bfb1
fstp st(0)
mov esi, dword [edi + 0x80]
lea eax, [esp + 0x100]
push eax
push dword [esp + 0x48]
mov ecx, esi
push dword [esp + 0x48]
push edi
push ebx
call dword [0x5c05e150]
call esi
mov edi, dword [edi + 0x58]
add esp, 0x14
test edi, edi
jne 0x5c02bf73
mov ecx, dword [ebx + 0x1a44]
mov esi, ecx
mov edx, dword [ebx + 0x5b8]
fld dword [esp + 0x5c]
test ecx, 0x12000
je 0x5c02c1fc
test byte [ebx + 0x5b8], 8
jne 0x5c02bfda
fst dword [ebx + 0x504]
fst dword [ebx + 0x508]
fstp dword [ebx + 0x50c]
jmp 0x5c02bfdc
fstp st(0)
test ecx, 0x10000
je 0x5c02c0a0
mov eax, dword [esp + 0x74]
test eax, eax
je 0x5c02bff6
mov eax, dword [eax]
mov ecx, dword [eax]
jmp 0x5c02bff8
xor ecx, ecx
mov eax, ecx
shr eax, 0x10
movzx eax, al
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
test eax, eax
jns 0x5c02c012
fadd dword [0x5c0031d0]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
mov eax, ecx
fmul dword [ebx + 0x554]
shr eax, 8
movzx eax, al
mov dword [esp + 0x10], eax
fadd dword [ebx + 0x504]
fstp dword [ebx + 0x504]
fild dword [esp + 0x10]
test eax, eax
jns 0x5c02c046
fadd dword [0x5c0031d0]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fmul dword [ebx + 0x558]
movzx eax, cl
mov dword [esp + 0x10], eax
fadd dword [ebx + 0x508]
fstp dword [ebx + 0x508]
fild dword [esp + 0x10]
test eax, eax
jns 0x5c02c075
fadd dword [0x5c0031d0]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
mov eax, dword [esp + 0x178]
mov edi, dword [esp + 0x4c]
fmul dword [ebx + 0x55c]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x28], edi
jmp 0x5c02c0e0
fld dword [ebx + 0x584]
fmul dword [ebx + 0x544]
mov edi, dword [esp + 0x28]
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 0x5c02c1a2
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x5c02c10a
mov eax, dword [eax]
mov ecx, dword [eax]
jmp 0x5c02c10c
xor ecx, ecx
mov eax, ecx
shr eax, 0x10
movzx eax, al
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
test eax, eax
jns 0x5c02c126
fadd dword [0x5c0031d0]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
mov eax, ecx
fadd dword [ebx + 0x504]
shr eax, 8
movzx eax, al
mov dword [esp + 0x10], eax
fstp dword [ebx + 0x504]
fild dword [esp + 0x10]
test eax, eax
jns 0x5c02c154
fadd dword [0x5c0031d0]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fadd dword [ebx + 0x508]
movzx eax, cl
mov dword [esp + 0x10], eax
fstp dword [ebx + 0x508]
fild dword [esp + 0x10]
test eax, eax
jns 0x5c02c17d
fadd dword [0x5c0031d0]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
mov eax, dword [esp + 0x178]
mov edi, dword [esp + 0x4c]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x28], edi
jmp 0x5c02c1db
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 0x5c02c202
mov edi, dword [esp + 0x28]
fstp st(0)
test dl, 8
je 0x5c02c330
test esi, 0x12000
jne 0x5c02c253
fld dword [ebx + 0x514]
fadd dword [ebx + 0x504]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
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 0x5c02c259
fld dword [ebx + 0x504]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fistp qword [esp + 0xa0]
fld dword [ebx + 0x508]
mov ecx, dword [esp + 0xa0]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fistp qword [esp + 0xa8]
fld dword [ebx + 0x50c]
mov edx, dword [esp + 0xa8]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fistp qword [esp + 0xb0]
mov esi, dword [esp + 0xb0]
mov eax, 0xff
test ecx, ecx
jns 0x5c02c2bc
xor ecx, ecx
jmp 0x5c02c2c2
cmp ecx, eax
jle 0x5c02c2c2
mov ecx, eax
test edx, edx
jns 0x5c02c2ca
xor edx, edx
jmp 0x5c02c2d0
cmp edx, eax
jle 0x5c02c2d0
mov edx, eax
test esi, esi
jns 0x5c02c2d8
xor esi, esi
jmp 0x5c02c2de
cmp esi, eax
jle 0x5c02c2de
mov esi, eax
test dword [ebx + 0x1a44], 0x4000
jne 0x5c02c2fa
shl ecx, 8
add ecx, edx
shl ecx, 8
add ecx, dword [ebx + 0x510]
jmp 0x5c02c319
mov eax, dword [esp + 0x68]
test eax, eax
je 0x5c02c308
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c02c30a
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 0x5c02c36a
test esi, 0x4000
jne 0x5c02c346
mov eax, dword [ebx + 0x5e8]
add eax, dword [ebx + 0x510]
jmp 0x5c02c364
mov eax, dword [esp + 0x68]
test eax, eax
je 0x5c02c35a
mov eax, dword [eax]
mov ecx, dword [eax]
and ecx, 0xff000000
jmp 0x5c02c35c
xor ecx, ecx
mov eax, dword [ebx + 0x5e8]
add eax, ecx
mov dword [ebx + 0x530], eax
test dl, 4
je 0x5c02c436
fld dword [ebx + 0x524]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fistp qword [esp + 0xb8]
fld dword [ebx + 0x528]
mov ecx, dword [esp + 0xb8]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fistp qword [esp + 0xc0]
fld dword [ebx + 0x52c]
mov edx, dword [esp + 0xc0]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fistp qword [esp + 0xc8]
mov esi, dword [esp + 0xc8]
mov eax, 0xff
test ecx, ecx
jns 0x5c02c3d4
xor ecx, ecx
jmp 0x5c02c3da
cmp ecx, eax
jle 0x5c02c3da
mov ecx, eax
test edx, edx
jns 0x5c02c3e2
xor edx, edx
jmp 0x5c02c3e8
cmp edx, eax
jle 0x5c02c3e8
mov edx, eax
test esi, esi
jns 0x5c02c3f0
xor esi, esi
jmp 0x5c02c3f6
cmp esi, eax
jle 0x5c02c3f6
mov esi, eax
test dword [ebx + 0x1a44], 0x8000
jne 0x5c02c412
shl ecx, 8
add ecx, edx
shl ecx, 8
add ecx, dword [ebx + 0x5bc]
jmp 0x5c02c431
mov eax, dword [esp + 0x6c]
test eax, eax
je 0x5c02c420
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c02c422
xor eax, eax
shl ecx, 8
and eax, 0xff000000
add ecx, edx
shl ecx, 8
add ecx, eax
lea eax, [ecx + esi]
jmp 0x5c02c47c
test esi, 0x100000
jne 0x5c02c482
test dword [ebx + 0x1a60], 0x800
jne 0x5c02c457
test byte [ebx + 0x1a5c], 0x80
je 0x5c02c47a
mov eax, dword [edi]
jmp 0x5c02c47c
test esi, 0x8000
jne 0x5c02c467
mov eax, dword [ebx + 0x5bc]
jmp 0x5c02c47c
mov eax, dword [esp + 0x6c]
test eax, eax
je 0x5c02c47a
mov eax, dword [eax]
mov eax, dword [eax]
and eax, 0xff000000
jmp 0x5c02c47c
xor eax, eax
mov dword [ebx + 0x560], eax
mov eax, dword [ebx + 0x1a44]
mov edx, eax
jmp 0x5c02c4c7
test byte [ebx + 0x1a5c], 0xc0
mov eax, ecx
mov edx, ecx
je 0x5c02c4c7
test byte [ebx + 0x1a5c], 0x40
je 0x5c02c4ae
mov eax, dword [esp + 0x3c]
mov eax, dword [eax]
mov dword [ebx + 0x530], eax
test byte [ebx + 0x1a5c], 0x80
mov eax, ecx
je 0x5c02c4c7
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
mov dword [ebx + 0x560], eax
mov eax, ecx
test eax, 0x100
je 0x5c02c4ea
mov edx, dword [esp + 0x40]
lea eax, [esp + 0x100]
push eax
mov ecx, ebx
call fcn.5c01a3e0
mov eax, dword [ebx + 0x1a44]
mov edx, eax
pop ecx
mov esi, dword [esp + 0x64]
test eax, eax
js 0x5c02c509
mov ecx, dword [ebx + 0x1cd0]
mov eax, dword [ebx + 0x530]
mov dword [esi + ecx], eax
mov eax, dword [ebx + 0x1a44]
mov edx, eax
test eax, 0x100000
jne 0x5c02c525
mov ecx, dword [ebx + 0x1cd4]
mov eax, dword [ebx + 0x560]
mov dword [esi + ecx], eax
mov edx, dword [ebx + 0x1a44]
mov edi, dword [ebx + 0x1ccc]
and edx, 0x10000000
mov eax, dword [ebx + 0x1a60]
add edi, esi
mov dword [esp + 0x1c], edi
test eax, 0x8000000
je 0x5c02c863
test edx, edx
jne 0x5c02c7e2
test dword [esp + 0x70], 0x200000
jne 0x5c02c7d9
test eax, 0x4010000
jne 0x5c02c5b7
xor eax, eax
mov dword [esp + 0x14], eax
cmp dword [ebx + 0x1a88], eax
jbe 0x5c02c7e2
lea ecx, [ebx + 0x1ad8]
mov dword [esp + 0x34], ecx
mov esi, dword [ecx]
push esi
push dword [esp + eax*4 + 0x17c]
push edi
call sub.msvcrt.dll_memcpy
mov eax, dword [esp + 0x20]
add esp, 0xc
mov ecx, dword [esp + 0x34]
add edi, esi
inc eax
add ecx, 4
mov dword [esp + 0x14], eax
mov dword [esp + 0x34], ecx
cmp eax, dword [ebx + 0x1a88]
jb 0x5c02c581
jmp 0x5c02c7e2
test eax, 0x10000
jne 0x5c02c650
xor ecx, ecx
mov dword [esp + 0x14], ecx
cmp dword [ebx + 0x1a88], ecx
jbe 0x5c02c7e2
lea eax, [ebx + 0x1af8]
mov dword [esp + 0x34], eax
mov edx, dword [eax - 0x20]
mov esi, dword [eax]
mov eax, dword [eax + 0x138]
mov ecx, dword [esp + ecx*4 + 0x178]
mov dword [esp + 0x18], edx
mov dword [esp + 0x10], eax
test eax, eax
jne 0x5c02c606
push edx
push ecx
push edi
call sub.msvcrt.dll_memcpy
jmp 0x5c02c628
push dword [esp + 0x10]
mov eax, edx
shr esi, 2
shr eax, 2
push edi
push ecx
lea eax, [esi + eax*4]
mov esi, dword [eax*4 + 0x5c00169c]
mov ecx, esi
call dword [0x5c05e150]
call esi
mov ecx, dword [esp + 0x20]
add esp, 0xc
add edi, dword [esp + 0x18]
inc ecx
mov eax, dword [esp + 0x34]
add eax, 4
mov dword [esp + 0x14], ecx
mov dword [esp + 0x34], eax
cmp ecx, dword [ebx + 0x1a88]
jb 0x5c02c5de
jmp 0x5c02c7e2
and dword [esp + 0x14], 0
cmp dword [ebx + 0x1c2c], 0
jbe 0x5c02c7e2
lea eax, [ebx + 0x1ad8]
lea esi, [ebx + 0x1b40]
mov dword [esp + 0x30], eax
mov dword [esp + 0x2c], esi
mov eax, dword [esi + 8]
test eax, eax
jne 0x5c02c68c
mov eax, dword [esi - 0x14]
mov ecx, dword [esp + eax*4 + 0x178]
jmp 0x5c02c776
cmp eax, 0x20000
jne 0x5c02c69f
lea ecx, [esp + 0x100]
jmp 0x5c02c776
cmp eax, 0x10000
jne 0x5c02c6b2
lea ecx, [esp + 0x10c]
jmp 0x5c02c776
test dword [ebx + 0x1a60], 0x1000000
je 0x5c02c75c
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.5c050908
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(4)
mov edi, dword [esp + 0x1c]
fmul st(6)
fld st(3)
mov esi, dword [esp + 0x2c]
fmul st(5)
faddp st(1)
fld st(1)
fmul st(3)
faddp st(1)
fadd st(0), st(0)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
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 0x5c02c76f
lea edx, [esp + 0x148]
lea ecx, [esp + 0x10c]
call fcn.5c01a3b3
lea ecx, [esp + 0x148]
cmp dword [esi], 0
mov eax, dword [esp + 0x30]
mov eax, dword [eax]
mov dword [esp + 0x10], eax
je 0x5c02c7a3
push dword [esi]
mov eax, dword [esi + 4]
push edi
push ecx
mov esi, dword [eax*4 + 0x5c0016b0]
mov ecx, esi
call dword [0x5c05e150]
call esi
mov esi, dword [esp + 0x38]
jmp 0x5c02c7ab
push eax
push ecx
push edi
call sub.msvcrt.dll_memcpy
add edi, dword [esp + 0x1c]
add esp, 0xc
mov ecx, dword [esp + 0x14]
add esi, 0x20
add dword [esp + 0x30], 4
inc ecx
mov dword [esp + 0x1c], edi
mov dword [esp + 0x14], ecx
mov dword [esp + 0x2c], esi
cmp ecx, dword [ebx + 0x1c2c]
jb 0x5c02c676
jmp 0x5c02c7e2
fld dword [esp + 0x5c]
fst dword [edi]
fstp dword [edi + 4]
mov eax, dword [esp + 0x60]
add dword [esp + 0x40], eax
test dword [ebx + 0x1a44], 0x40000000
jne 0x5c02cb26
mov eax, dword [esp + 0x44]
xor ecx, ecx
add eax, dword [ebx + 0x1a30]
mov edx, dword [esp + 0x3c]
add edx, dword [ebx + 0x1a38]
mov esi, dword [ebx + 0x1a84]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x28]
add eax, dword [ebx + 0x1a94]
mov dword [esp + 0x3c], edx
mov dword [esp + 0x48], edx
mov dword [esp + 0x28], eax
mov dword [esp + 0x4c], eax
test esi, esi
je 0x5c02cb26
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 0x5c02c842
mov eax, dword [esp + 0x178]
mov dword [esp + 0x20], eax
jmp 0x5c02cb26
test edx, edx
jne 0x5c02cae1
test dword [esp + 0x70], 0x200000
jne 0x5c02cad8
test eax, 0x4010000
jne 0x5c02c898
push dword [ebx + 0x1a8c]
push dword [esp + 0x24]
push edi
call sub.msvcrt.dll_memcpy
add esp, 0xc
jmp 0x5c02cae1
test eax, 0x10000
jne 0x5c02c948
mov edx, dword [esp + 0x20]
xor esi, esi
mov dword [esp + 0x30], edx
mov dword [esp + 0x34], esi
cmp dword [ebx + 0x1a88], esi
jbe 0x5c02cae1
lea eax, [ebx + 0x1af8]
mov dword [esp + 0x18], eax
mov edx, dword [eax]
mov ecx, dword [eax - 0x20]
mov eax, dword [eax + 0x138]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x30]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x10], eax
test eax, eax
je 0x5c02c910
mov eax, dword [esp + 0x14]
push dword [esp + 0x10]
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 [0x5c05e150]
call esi
mov esi, dword [esp + 0x40]
jmp 0x5c02c918
push ecx
push edx
push edi
call sub.msvcrt.dll_memcpy
mov edx, dword [esp + 0x3c]
add esp, 0xc
add edx, dword [esp + 0x14]
add edi, dword [esp + 0x1c]
inc esi
mov eax, dword [esp + 0x18]
add eax, 4
mov dword [esp + 0x30], edx
mov dword [esp + 0x34], esi
mov dword [esp + 0x18], eax
cmp esi, dword [ebx + 0x1a88]
jb 0x5c02c8c7
jmp 0x5c02cae1
and dword [esp + 0x14], 0
cmp dword [ebx + 0x1c2c], 0
jbe 0x5c02cae1
lea esi, [ebx + 0x1ad8]
lea eax, [ebx + 0x1b30]
mov dword [esp + 0x30], esi
mov dword [esp + 0x2c], eax
mov ecx, dword [eax + 0x18]
test ecx, ecx
jne 0x5c02c980
mov ecx, dword [eax]
add ecx, dword [esp + 0x20]
jmp 0x5c02ca70
cmp ecx, 0x20000
jne 0x5c02c994
lea ecx, [esp + 0x100]
jmp 0x5c02ca70
cmp ecx, 0x10000
jne 0x5c02c9a8
lea ecx, [esp + 0x10c]
jmp 0x5c02ca70
test dword [ebx + 0x1a60], 0x1000000
je 0x5c02ca56
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.5c050908
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(4)
mov edi, dword [esp + 0x1c]
fmul st(6)
fld st(3)
mov eax, dword [esp + 0x2c]
fmul st(5)
mov esi, dword [esp + 0x30]
faddp st(1)
fld st(1)
fmul st(3)
faddp st(1)
fadd st(0), st(0)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
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 0x5c02ca69
lea edx, [esp + 0x154]
lea ecx, [esp + 0x10c]
call fcn.5c01a3b3
lea ecx, [esp + 0x154]
mov edx, dword [eax + 0x10]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
test edx, edx
je 0x5c02ca9a
mov eax, dword [eax + 0x14]
push edx
push edi
push ecx
mov esi, dword [eax*4 + 0x5c0016b0]
mov ecx, esi
call dword [0x5c05e150]
call esi
mov esi, dword [esp + 0x1c]
jmp 0x5c02caa2
push esi
push ecx
push edi
call sub.msvcrt.dll_memcpy
mov edx, dword [esp + 0x20]
add edi, esi
mov esi, dword [esp + 0x3c]
add esp, 0xc
mov eax, dword [esp + 0x2c]
inc edx
add esi, 4
mov dword [esp + 0x1c], edi
add eax, 0x20
mov dword [esp + 0x14], edx
mov dword [esp + 0x30], esi
mov dword [esp + 0x2c], eax
cmp edx, dword [ebx + 0x1c2c]
jb 0x5c02c96e
jmp 0x5c02cae1
fld dword [esp + 0x5c]
fst dword [edi]
fstp dword [edi + 4]
mov edx, dword [esp + 0x60]
add dword [esp + 0x40], edx
test dword [ebx + 0x1a44], 0x40000000
jne 0x5c02cb26
mov eax, dword [esp + 0x3c]
mov edi, dword [esp + 0x20]
add eax, edx
add dword [esp + 0x44], edx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x28]
add eax, edx
add edi, edx
mov dword [esp + 0x28], eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x20], edi
mov dword [esp + 0x178], edi
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x64]
add eax, dword [esp + 0x58]
sub dword [esp + 0x24], 1
mov ecx, dword [ecx + 0x2c]
mov dword [esp + 0x38], ecx
mov dword [esp + 0x64], eax
jne 0x5c02b906
jmp 0x5c02e030
mov eax, dword [esp + 0x78]
test eax, eax
je 0x5c02cb90
imul esi, eax, 3
mov ecx, ebx
push eax
push esi
push dword [esp + 0x8c]
push 4
pop edx
call fcn.5c0212f9
add dword [ebx + 0x1a48], esi
mov ecx, eax
mov eax, dword [esp + 0x70]
add esp, 0xc
mov dword [esp + 0x84], eax
test ecx, ecx
jne 0x5c02e071
mov edx, dword [esp + 0x88]
and dword [esp + 0x78], 0
lea ecx, [esp + 0x198]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], 3
test dword [ecx + 0x10], edx
jne 0x5c02cc8d
test dword [ebx + 0x1a60], 0x100000
fld dword [ecx + 0xc]
fld qword [esp + 0x90]
fld st(0)
fdivrp st(2)
fxch st(1)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fld st(0)
fld dword [ecx]
fmul st(1)
fmul dword [ebx + 0x5fc]
fadd dword [ebx + 0x604]
fstp dword [esp + 0x10]
fld dword [ecx + 4]
fmul st(1)
fmul dword [ebx + 0x600]
fadd dword [ebx + 0x608]
fstp dword [esp + 0x54]
fld dword [esp + 0x10]
fld dword [esp + 0x54]
jne 0x5c02cc6c
fld st(1)
fld dword [ebx + 0x1b1c]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x5c02cc23
fxch st(2)
fst dword [ebx + 0x1b1c]
fxch st(2)
fld dword [ebx + 0x1b24]
fcompp
fnstsw ax
test ah, 5
jp 0x5c02cc3c
fxch st(1)
fst dword [ebx + 0x1b24]
fxch st(1)
fld st(0)
fld dword [ebx + 0x1b20]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x5c02cc57
fxch st(1)
fst dword [ebx + 0x1b20]
fxch st(1)
fld dword [ebx + 0x1b28]
fcompp
fnstsw ax
test ah, 5
jp 0x5c02cc6c
fst dword [ebx + 0x1b28]
fxch st(1)
fstp dword [ecx + 0x1c]
fstp dword [ecx + 0x20]
fld dword [ecx + 8]
fmul dword [ebx + 0x60c]
fmulp st(1)
fadd dword [ebx + 0x610]
fstp dword [ecx + 0x24]
fstp dword [ecx + 0x28]
jmp 0x5c02cc94
fld qword [esp + 0x90]
and dword [ebx + 0x5b8], 0
xor edx, edx
mov esi, dword [ebx + 0x1a60]
test esi, 0x20000000
je 0x5c02cf08
mov eax, dword [esp + 0x40]
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 + 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 + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x24]
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 0x5c02ceff
fld dword [esp + 0x5c]
xor edi, edi
fst dword [esp + 0x18]
fst dword [esp + 0x100]
fst dword [esp + 0x104]
fst dword [esp + 0x108]
fld dword [esp + 0x54]
fst dword [esp + 0x1c]
fld dword [esp + 0x24]
fst dword [esp + 0x2c]
fld dword [esp + 0x10]
fst dword [esp + 0x50]
fxch st(3)
fst dword [esp + 0x24]
fst dword [esp + 0x38]
fstp dword [esp + 0x14]
test ecx, ecx
je 0x5c02ceb8
mov edx, dword [esp + 0x40]
lea eax, [ebx + 0x2e4]
fxch st(1)
fstp dword [esp + 0x1c]
fstp dword [esp + 0x2c]
fstp dword [esp + 0x50]
fld dword [edx + edi*4 + 0xc]
inc edi
fld dword [esp + 0x1c]
fmul st(1)
fadd dword [esp + 0x100]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x54]
fstp dword [esp + 0x100]
fld dword [esp + 0x2c]
fmul st(1)
fadd dword [esp + 0x104]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x38]
fstp dword [esp + 0x104]
fld dword [esp + 0x50]
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 + 0x18]
fstp dword [esp + 0x18]
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 + 0x2c]
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 + 0x50]
cmp edi, ecx
jb 0x5c02cdcb
fld dword [esp + 0x54]
mov edx, dword [ebx + 0x5b8]
fstp dword [esp + 0x24]
fld dword [esp + 0x38]
fstp dword [esp + 0x38]
fld dword [esp + 0x10]
fstp dword [esp + 0x14]
jmp 0x5c02cebe
fstp st(1)
fstp st(0)
fstp st(0)
fld dword [esp + 0x18]
fld st(1)
fsubrp st(1)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fld dword [esp + 0x1c]
fmul st(1)
fadd dword [esp + 0x24]
fstp dword [esp + 0x100]
fld dword [esp + 0x2c]
fmul st(1)
fadd dword [esp + 0x38]
fstp dword [esp + 0x104]
fmul dword [esp + 0x50]
fadd dword [esp + 0x14]
fstp dword [esp + 0x108]
or edx, 1
mov dword [ebx + 0x5b8], edx
test esi, 0x40000000
je 0x5c02d16e
mov edi, dword [esp + 0x44]
fld dword [ebx + 0x488]
mov ecx, dword [ebx + 0x1cb4]
fmul dword [edi + 4]
fld dword [ebx + 0x484]
fmul dword [edi]
faddp st(1)
fld dword [ebx + 0x48c]
fmul dword [edi + 8]
faddp st(1)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x54]
fstp dword [esp + 0x10c]
fld dword [ebx + 0x498]
fmul dword [edi + 4]
fld dword [ebx + 0x494]
fmul dword [edi]
faddp st(1)
fld dword [ebx + 0x49c]
fmul dword [edi + 8]
faddp st(1)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x24]
fstp dword [esp + 0x110]
fld dword [ebx + 0x4a8]
fmul dword [edi + 4]
fld dword [ebx + 0x4a4]
fmul dword [edi]
faddp st(1)
fld dword [ebx + 0x4ac]
fmul dword [edi + 8]
faddp st(1)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x10]
fstp dword [esp + 0x114]
test ecx, ecx
je 0x5c02d147
fld dword [esp + 0x5c]
xor edx, edx
fst dword [esp + 0x18]
fst dword [esp + 0x10c]
fst dword [esp + 0x110]
fst dword [esp + 0x114]
fld dword [esp + 0x54]
fst dword [esp + 0x1c]
fld dword [esp + 0x24]
fst dword [esp + 0x2c]
fld dword [esp + 0x10]
fst dword [esp + 0x50]
fxch st(3)
fst dword [esp + 0x24]
fst dword [esp + 0x38]
fstp dword [esp + 0x14]
test ecx, ecx
je 0x5c02d102
mov esi, dword [esp + 0x40]
lea eax, [ebx + 0x38c]
fxch st(1)
fstp dword [esp + 0x1c]
fstp dword [esp + 0x2c]
fstp dword [esp + 0x50]
fld dword [esi + edx*4 + 0xc]
inc edx
fld dword [esp + 0x1c]
fmul st(1)
fadd dword [esp + 0x10c]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x54]
fstp dword [esp + 0x10c]
fld dword [esp + 0x2c]
fmul st(1)
fadd dword [esp + 0x110]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x38]
fstp dword [esp + 0x110]
fld dword [esp + 0x50]
fmul st(1)
fadd dword [esp + 0x114]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x10]
fstp dword [esp + 0x114]
fadd dword [esp + 0x18]
fstp dword [esp + 0x18]
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 + 0x2c]
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 + 0x50]
cmp edx, ecx
jb 0x5c02d01e
fld dword [esp + 0x54]
mov esi, dword [ebx + 0x1a60]
fstp dword [esp + 0x24]
fld dword [esp + 0x38]
fstp dword [esp + 0x38]
fld dword [esp + 0x10]
fstp dword [esp + 0x14]
jmp 0x5c02d108
fstp st(1)
fstp st(0)
fstp st(0)
fsub dword [esp + 0x18]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fld dword [esp + 0x1c]
fmul st(1)
fadd dword [esp + 0x24]
fstp dword [esp + 0x10c]
fld dword [esp + 0x2c]
fmul st(1)
fadd dword [esp + 0x38]
fstp dword [esp + 0x110]
fmul dword [esp + 0x50]
fadd dword [esp + 0x14]
fstp dword [esp + 0x114]
jmp 0x5c02d149
fstp st(0)
test esi, 0x2000000
je 0x5c02d15f
lea edx, [esp + 0x10c]
mov ecx, edx
call fcn.5c050908
or dword [ebx + 0x5b8], 2
mov edx, dword [ebx + 0x5b8]
jmp 0x5c02d170
fstp st(0)
mov ecx, dword [ebx + 0x1a44]
test ecx, 0x400
je 0x5c02d733
fld dword [esp + 0x5c]
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 ecx, 0x200
je 0x5c02d20c
test ecx, 0x10000
je 0x5c02d1d0
mov eax, dword [esp + 0x74]
test eax, eax
je 0x5c02d1c8
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c02d1ca
xor eax, eax
mov dword [ebx + 0x540], eax
test ecx, 0x4000
je 0x5c02d1ee
mov eax, dword [esp + 0x68]
test eax, eax
je 0x5c02d1e6
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c02d1e8
xor eax, eax
mov dword [ebx + 0x550], eax
test ecx, 0x8000
je 0x5c02d20c
mov eax, dword [esp + 0x6c]
test eax, eax
je 0x5c02d204
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c02d206
xor eax, eax
mov dword [ebx + 0x570], eax
mov edi, dword [ebx + 0x5c0]
mov esi, ecx
test edi, edi
je 0x5c02d258
fstp st(0)
mov esi, dword [edi + 0x80]
lea eax, [esp + 0x100]
push eax
push dword [esp + 0x48]
mov ecx, esi
push dword [esp + 0x48]
push edi
push ebx
call dword [0x5c05e150]
call esi
mov edi, dword [edi + 0x58]
add esp, 0x14
test edi, edi
jne 0x5c02d21a
mov ecx, dword [ebx + 0x1a44]
mov esi, ecx
mov edx, dword [ebx + 0x5b8]
fld dword [esp + 0x5c]
test ecx, 0x12000
je 0x5c02d4a3
test byte [ebx + 0x5b8], 8
jne 0x5c02d281
fst dword [ebx + 0x504]
fst dword [ebx + 0x508]
fstp dword [ebx + 0x50c]
jmp 0x5c02d283
fstp st(0)
test ecx, 0x10000
je 0x5c02d347
mov eax, dword [esp + 0x74]
test eax, eax
je 0x5c02d29d
mov eax, dword [eax]
mov ecx, dword [eax]
jmp 0x5c02d29f
xor ecx, ecx
mov eax, ecx
shr eax, 0x10
movzx eax, al
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
test eax, eax
jns 0x5c02d2b9
fadd dword [0x5c0031d0]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
mov eax, ecx
fmul dword [ebx + 0x554]
shr eax, 8
movzx eax, al
mov dword [esp + 0x10], eax
fadd dword [ebx + 0x504]
fstp dword [ebx + 0x504]
fild dword [esp + 0x10]
test eax, eax
jns 0x5c02d2ed
fadd dword [0x5c0031d0]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fmul dword [ebx + 0x558]
movzx eax, cl
mov dword [esp + 0x10], eax
fadd dword [ebx + 0x508]
fstp dword [ebx + 0x508]
fild dword [esp + 0x10]
test eax, eax
jns 0x5c02d31c
fadd dword [0x5c0031d0]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
mov eax, dword [esp + 0x178]
mov edi, dword [esp + 0x4c]
fmul dword [ebx + 0x55c]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x28], edi
jmp 0x5c02d387
fld dword [ebx + 0x584]
fmul dword [ebx + 0x544]
mov edi, dword [esp + 0x28]
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 0x5c02d449
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x5c02d3b1
mov eax, dword [eax]
mov ecx, dword [eax]
jmp 0x5c02d3b3
xor ecx, ecx
mov eax, ecx
shr eax, 0x10
movzx eax, al
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
test eax, eax
jns 0x5c02d3cd
fadd dword [0x5c0031d0]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
mov eax, ecx
fadd dword [ebx + 0x504]
shr eax, 8
movzx eax, al
mov dword [esp + 0x10], eax
fstp dword [ebx + 0x504]
fild dword [esp + 0x10]
test eax, eax
jns 0x5c02d3fb
fadd dword [0x5c0031d0]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fadd dword [ebx + 0x508]
movzx eax, cl
mov dword [esp + 0x10], eax
fstp dword [ebx + 0x508]
fild dword [esp + 0x10]
test eax, eax
jns 0x5c02d424
fadd dword [0x5c0031d0]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
mov eax, dword [esp + 0x178]
mov edi, dword [esp + 0x4c]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x28], edi
jmp 0x5c02d482
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 0x5c02d4a9
mov edi, dword [esp + 0x28]
fstp st(0)
test dl, 8
je 0x5c02d5d7
test esi, 0x12000
jne 0x5c02d4fa
fld dword [ebx + 0x514]
fadd dword [ebx + 0x504]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
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 0x5c02d500
fld dword [ebx + 0x504]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fistp qword [esp + 0xd0]
fld dword [ebx + 0x508]
mov ecx, dword [esp + 0xd0]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fistp qword [esp + 0xd8]
fld dword [ebx + 0x50c]
mov edx, dword [esp + 0xd8]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fistp qword [esp + 0xe0]
mov esi, dword [esp + 0xe0]
mov eax, 0xff
test ecx, ecx
jns 0x5c02d563
xor ecx, ecx
jmp 0x5c02d569
cmp ecx, eax
jle 0x5c02d569
mov ecx, eax
test edx, edx
jns 0x5c02d571
xor edx, edx
jmp 0x5c02d577
cmp edx, eax
jle 0x5c02d577
mov edx, eax
test esi, esi
jns 0x5c02d57f
xor esi, esi
jmp 0x5c02d585
cmp esi, eax
jle 0x5c02d585
mov esi, eax
test dword [ebx + 0x1a44], 0x4000
jne 0x5c02d5a1
shl ecx, 8
add ecx, edx
shl ecx, 8
add ecx, dword [ebx + 0x510]
jmp 0x5c02d5c0
mov eax, dword [esp + 0x68]
test eax, eax
je 0x5c02d5af
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c02d5b1
xor eax, eax
shl ecx, 8
and eax, 0xff000000
add ecx, edx
shl ecx, 8
add ecx, eax
lea eax, [esi + ecx]
mov dword [ebx + 0x530], eax
mov edx, dword [ebx + 0x5b8]
mov esi, dword [ebx + 0x1a44]
jmp 0x5c02d611
test esi, 0x4000
jne 0x5c02d5ed
mov eax, dword [ebx + 0x5e8]
add eax, dword [ebx + 0x510]
jmp 0x5c02d60b
mov eax, dword [esp + 0x68]
test eax, eax
je 0x5c02d601
mov eax, dword [eax]
mov ecx, dword [eax]
and ecx, 0xff000000
jmp 0x5c02d603
xor ecx, ecx
mov eax, dword [ebx + 0x5e8]
add eax, ecx
mov dword [ebx + 0x530], eax
test dl, 4
je 0x5c02d6dd
fld dword [ebx + 0x524]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fistp qword [esp + 0xe8]
fld dword [ebx + 0x528]
mov ecx, dword [esp + 0xe8]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fistp qword [esp + 0xf0]
fld dword [ebx + 0x52c]
mov edx, dword [esp + 0xf0]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fistp qword [esp + 0xf8]
mov esi, dword [esp + 0xf8]
mov eax, 0xff
test ecx, ecx
jns 0x5c02d67b
xor ecx, ecx
jmp 0x5c02d681
cmp ecx, eax
jle 0x5c02d681
mov ecx, eax
test edx, edx
jns 0x5c02d689
xor edx, edx
jmp 0x5c02d68f
cmp edx, eax
jle 0x5c02d68f
mov edx, eax
test esi, esi
jns 0x5c02d697
xor esi, esi
jmp 0x5c02d69d
cmp esi, eax
jle 0x5c02d69d
mov esi, eax
test dword [ebx + 0x1a44], 0x8000
jne 0x5c02d6b9
shl ecx, 8
add ecx, edx
shl ecx, 8
add ecx, dword [ebx + 0x5bc]
jmp 0x5c02d6d8
mov eax, dword [esp + 0x6c]
test eax, eax
je 0x5c02d6c7
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c02d6c9
xor eax, eax
shl ecx, 8
and eax, 0xff000000
add ecx, edx
shl ecx, 8
add ecx, eax
lea eax, [esi + ecx]
jmp 0x5c02d723
test esi, 0x100000
jne 0x5c02d729
test dword [ebx + 0x1a60], 0x800
jne 0x5c02d6fe
test byte [ebx + 0x1a5c], 0x80
je 0x5c02d721
mov eax, dword [edi]
jmp 0x5c02d723
test esi, 0x8000
jne 0x5c02d70e
mov eax, dword [ebx + 0x5bc]
jmp 0x5c02d723
mov eax, dword [esp + 0x6c]
test eax, eax
je 0x5c02d721
mov eax, dword [eax]
mov eax, dword [eax]
and eax, 0xff000000
jmp 0x5c02d723
xor eax, eax
mov dword [ebx + 0x560], eax
mov eax, dword [ebx + 0x1a44]
mov edx, eax
jmp 0x5c02d76e
test byte [ebx + 0x1a5c], 0xc0
mov eax, ecx
mov edx, ecx
je 0x5c02d76e
test byte [ebx + 0x1a5c], 0x40
je 0x5c02d755
mov eax, dword [esp + 0x3c]
mov eax, dword [eax]
mov dword [ebx + 0x530], eax
test byte [ebx + 0x1a5c], 0x80
mov eax, ecx
je 0x5c02d76e
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
mov dword [ebx + 0x560], eax
mov eax, ecx
test eax, 0x100
je 0x5c02d78f
mov edx, dword [esp + 0x40]
lea eax, [esp + 0x100]
push eax
mov ecx, ebx
call fcn.5c01a3e0
mov edx, dword [ebx + 0x1a44]
pop ecx
mov ecx, dword [ebx + 0x1a6c]
mov esi, dword [esp + 0x30]
test cl, 0x40
je 0x5c02d7a7
mov eax, dword [ebx + 0x530]
mov dword [esi + 0x14], eax
test cl, cl
jns 0x5c02d7b4
mov eax, dword [ebx + 0x560]
mov dword [esi + 0x18], eax
mov eax, dword [ebx + 0x1a60]
and edx, 0x10000000
test eax, 0x8000000
je 0x5c02dae9
test edx, edx
jne 0x5c02da68
test dword [esp + 0x70], 0x200000
lea edi, [esi + 0x30]
mov dword [esp + 0x24], edi
jne 0x5c02da5f
test eax, 0x4010000
jne 0x5c02d841
xor eax, eax
mov dword [esp + 0x24], eax
cmp dword [ebx + 0x1a88], eax
jbe 0x5c02da68
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 + 0x30]
add esp, 0xc
mov ecx, dword [esp + 0x38]
add edi, esi
inc eax
add ecx, 4
mov dword [esp + 0x24], eax
mov dword [esp + 0x38], ecx
cmp eax, dword [ebx + 0x1a88]
jb 0x5c02d80b
jmp 0x5c02da68
test eax, 0x10000
jne 0x5c02d8da
xor ecx, ecx
mov dword [esp + 0x24], ecx
cmp dword [ebx + 0x1a88], ecx
jbe 0x5c02da68
lea eax, [ebx + 0x1af8]
mov dword [esp + 0x38], eax
mov edx, dword [eax - 0x20]
mov esi, dword [eax]
mov eax, dword [eax + 0x138]
mov ecx, dword [esp + ecx*4 + 0x178]
mov dword [esp + 0x54], edx
mov dword [esp + 0x10], eax
test eax, eax
jne 0x5c02d890
push edx
push ecx
push edi
call sub.msvcrt.dll_memcpy
jmp 0x5c02d8b2
push dword [esp + 0x10]
mov eax, edx
shr esi, 2
shr eax, 2
push edi
push ecx
lea eax, [esi + eax*4]
mov esi, dword [eax*4 + 0x5c00169c]
mov ecx, esi
call dword [0x5c05e150]
call esi
mov ecx, dword [esp + 0x30]
add esp, 0xc
add edi, dword [esp + 0x54]
inc ecx
mov eax, dword [esp + 0x38]
add eax, 4
mov dword [esp + 0x24], ecx
mov dword [esp + 0x38], eax
cmp ecx, dword [ebx + 0x1a88]
jb 0x5c02d868
jmp 0x5c02da68
and dword [esp + 0x38], 0
cmp dword [ebx + 0x1c2c], 0
jbe 0x5c02da68
lea eax, [ebx + 0x1ad8]
lea esi, [ebx + 0x1b40]
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], esi
mov eax, dword [esi + 8]
test eax, eax
jne 0x5c02d916
mov eax, dword [esi - 0x14]
mov ecx, dword [esp + eax*4 + 0x178]
jmp 0x5c02d9fc
cmp eax, 0x20000
jne 0x5c02d929
lea ecx, [esp + 0x100]
jmp 0x5c02d9fc
cmp eax, 0x10000
jne 0x5c02d93c
lea ecx, [esp + 0x10c]
jmp 0x5c02d9fc
test dword [ebx + 0x1a60], 0x1000000
je 0x5c02d9e2
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.5c050908
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 + 0x24]
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 + 0x10]
fld dword [esp + 0x10]
fmul st(3), st(0)
fxch st(4)
fsubrp st(3)
fxch st(2)
fstp dword [esp + 0x160]
fxch st(3)
fmul st(2)
fsubp st(4)
fxch st(3)
fstp dword [esp + 0x164]
fmulp st(2)
fsubrp st(1)
fstp dword [esp + 0x168]
jmp 0x5c02d9f5
lea edx, [esp + 0x160]
lea ecx, [esp + 0x10c]
call fcn.5c01a3b3
lea ecx, [esp + 0x160]
cmp dword [esi], 0
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov dword [esp + 0x10], eax
je 0x5c02da29
push dword [esi]
mov eax, dword [esi + 4]
push edi
push ecx
mov esi, dword [eax*4 + 0x5c0016b0]
mov ecx, esi
call dword [0x5c05e150]
call esi
mov esi, dword [esp + 0x28]
jmp 0x5c02da31
push eax
push ecx
push edi
call sub.msvcrt.dll_memcpy
add edi, dword [esp + 0x1c]
add esp, 0xc
mov ecx, dword [esp + 0x38]
add esi, 0x20
add dword [esp + 0x18], 4
inc ecx
mov dword [esp + 0x24], edi
mov dword [esp + 0x38], ecx
mov dword [esp + 0x1c], esi
cmp ecx, dword [ebx + 0x1c2c]
jb 0x5c02d900
jmp 0x5c02da68
fld dword [esp + 0x5c]
fst dword [edi]
fstp dword [edi + 4]
mov eax, dword [esp + 0x60]
add dword [esp + 0x40], eax
test dword [ebx + 0x1a44], 0x40000000
jne 0x5c02ddb4
mov edi, dword [esp + 0x44]
xor ecx, ecx
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x28]
add edx, dword [ebx + 0x1a38]
add eax, dword [ebx + 0x1a94]
add edi, dword [ebx + 0x1a30]
mov esi, dword [ebx + 0x1a84]
mov dword [esp + 0x44], edi
mov dword [esp + 0x3c], edx
mov dword [esp + 0x48], edx
mov dword [esp + 0x28], eax
mov dword [esp + 0x4c], eax
test esi, esi
je 0x5c02ddb4
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 0x5c02dac8
mov eax, dword [esp + 0x178]
mov dword [esp + 0x20], eax
jmp 0x5c02ddb4
test edx, edx
jne 0x5c02dd6f
test dword [esp + 0x70], 0x200000
lea edi, [esi + 0x30]
mov dword [esp + 0x24], edi
jne 0x5c02dd66
test eax, 0x4010000
jne 0x5c02db26
push dword [ebx + 0x1a8c]
mov esi, dword [esp + 0x24]
push esi
push edi
call sub.msvcrt.dll_memcpy
add esp, 0xc
jmp 0x5c02dd73
test eax, 0x10000
jne 0x5c02dbd6
mov edx, dword [esp + 0x20]
xor esi, esi
mov dword [esp + 0x18], edx
mov dword [esp + 0x38], esi
cmp dword [ebx + 0x1a88], esi
jbe 0x5c02dd6f
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 + 0x24], edx
mov edx, dword [esp + 0x18]
mov dword [esp + 0x54], ecx
mov dword [esp + 0x10], eax
test eax, eax
je 0x5c02db9e
mov eax, dword [esp + 0x24]
push dword [esp + 0x10]
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 [0x5c05e150]
call esi
mov esi, dword [esp + 0x44]
jmp 0x5c02dba6
push ecx
push edx
push edi
call sub.msvcrt.dll_memcpy
mov edx, dword [esp + 0x24]
add esp, 0xc
add edx, dword [esp + 0x24]
add edi, dword [esp + 0x54]
inc esi
mov eax, dword [esp + 0x14]
add eax, 4
mov dword [esp + 0x18], edx
mov dword [esp + 0x38], esi
mov dword [esp + 0x14], eax
cmp esi, dword [ebx + 0x1a88]
jb 0x5c02db55
jmp 0x5c02dd6f
and dword [esp + 0x38], 0
cmp dword [ebx + 0x1c2c], 0
jbe 0x5c02dd6f
lea esi, [ebx + 0x1ad8]
lea eax, [ebx + 0x1b30]
mov dword [esp + 0x18], esi
mov dword [esp + 0x1c], eax
mov ecx, dword [eax + 0x18]
test ecx, ecx
jne 0x5c02dc0e
mov ecx, dword [eax]
add ecx, dword [esp + 0x20]
jmp 0x5c02dcfe
cmp ecx, 0x20000
jne 0x5c02dc22
lea ecx, [esp + 0x100]
jmp 0x5c02dcfe
cmp ecx, 0x10000
jne 0x5c02dc36
lea ecx, [esp + 0x10c]
jmp 0x5c02dcfe
test dword [ebx + 0x1a60], 0x1000000
je 0x5c02dce4
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.5c050908
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 + 0x24]
fmul st(5)
fld st(4)
mov eax, dword [esp + 0x1c]
fmul st(4)
mov esi, dword [esp + 0x18]
faddp st(1)
fld st(2)
fmul st(2)
faddp st(1)
fadd st(0), st(0)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
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 0x5c02dcf7
lea edx, [esp + 0x16c]
lea ecx, [esp + 0x10c]
call fcn.5c01a3b3
lea ecx, [esp + 0x16c]
mov edx, dword [eax + 0x10]
mov esi, dword [esi]
mov dword [esp + 0x10], esi
test edx, edx
je 0x5c02dd28
mov eax, dword [eax + 0x14]
push edx
push edi
push ecx
mov esi, dword [eax*4 + 0x5c0016b0]
mov ecx, esi
call dword [0x5c05e150]
call esi
mov esi, dword [esp + 0x1c]
jmp 0x5c02dd30
push esi
push ecx
push edi
call sub.msvcrt.dll_memcpy
mov edx, dword [esp + 0x44]
add edi, esi
mov esi, dword [esp + 0x24]
add esp, 0xc
mov eax, dword [esp + 0x1c]
inc edx
add esi, 4
mov dword [esp + 0x24], edi
add eax, 0x20
mov dword [esp + 0x38], edx
mov dword [esp + 0x18], esi
mov dword [esp + 0x1c], eax
cmp edx, dword [ebx + 0x1c2c]
jb 0x5c02dbfc
jmp 0x5c02dd6f
fld dword [esp + 0x5c]
fst dword [edi]
fstp dword [esi + 0x34]
mov esi, dword [esp + 0x20]
mov edx, dword [esp + 0x60]
add dword [esp + 0x40], edx
test dword [ebx + 0x1a44], 0x40000000
jne 0x5c02ddb4
mov eax, dword [esp + 0x3c]
add dword [esp + 0x44], edx
add eax, edx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x28]
add eax, edx
add esi, edx
mov dword [esp + 0x28], eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x20], esi
mov dword [esp + 0x178], esi
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x88]
add ecx, 0xb0
sub dword [esp + 0x34], 1
mov dword [esp + 0x30], ecx
jne 0x5c02cba8
lea eax, [esp + 0x2f8]
mov ecx, ebx
push eax
lea eax, [esp + 0x24c]
push eax
lea edx, [esp + 0x1a0]
call fcn.5c0213b6
pop ecx
pop ecx
mov ecx, eax
mov dword [esp + 0x54], ecx
test ecx, ecx
jne 0x5c02e071
jmp 0x5c02e030
mov edx, dword [ebx + 0x1a60]
mov eax, dword [esp + 0x40]
and edx, 0x8000000
mov edi, dword [esp + 0x60]
add eax, edi
mov esi, dword [ebx + 0x1a44]
mov dword [esp + 0x10], eax
and esi, 0x40000000
jne 0x5c02ded4
test edx, edx
je 0x5c02de9f
mov ecx, dword [esp + 0x44]
add ecx, dword [ebx + 0x1a30]
mov edi, dword [esp + 0x28]
add edi, dword [ebx + 0x1a94]
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x3c]
add ecx, dword [ebx + 0x1a38]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x48], ecx
xor ecx, ecx
mov dword [esp + 0x28], edi
mov dword [esp + 0x4c], edi
cmp dword [ebx + 0x1a84], ecx
jbe 0x5c02ded8
lea edi, [ebx + 0x1a9c]
mov eax, dword [edi]
lea edi, [edi + 8]
add dword [esp + ecx*4 + 0x178], eax
inc ecx
cmp ecx, dword [ebx + 0x1a84]
jb 0x5c02de79
mov eax, dword [esp + 0x178]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x10]
jmp 0x5c02ded4
mov ecx, dword [esp + 0x3c]
add dword [esp + 0x44], edi
add ecx, edi
mov edi, dword [esp + 0x28]
add edi, dword [esp + 0x60]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x48], ecx
mov ecx, dword [esp + 0x20]
add ecx, dword [esp + 0x60]
mov dword [esp + 0x28], edi
mov dword [esp + 0x4c], edi
mov dword [esp + 0x20], ecx
mov dword [esp + 0x178], ecx
mov edi, dword [esp + 0x28]
mov ecx, dword [esp + 0x60]
add eax, ecx
mov dword [esp + 0x24], eax
test esi, esi
jne 0x5c02df81
test edx, edx
je 0x5c02df52
mov ecx, dword [esp + 0x44]
add ecx, dword [ebx + 0x1a30]
add edi, dword [ebx + 0x1a94]
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x3c]
add ecx, dword [ebx + 0x1a38]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x48], ecx
xor ecx, ecx
mov dword [esp + 0x28], edi
mov dword [esp + 0x4c], edi
cmp dword [ebx + 0x1a84], ecx
jbe 0x5c02df81
lea edi, [ebx + 0x1a9c]
mov eax, dword [edi]
lea edi, [edi + 8]
add dword [esp + ecx*4 + 0x178], eax
inc ecx
cmp ecx, dword [ebx + 0x1a84]
jb 0x5c02df2c
mov edi, dword [esp + 0x178]
mov eax, dword [esp + 0x24]
mov dword [esp + 0x20], edi
jmp 0x5c02df85
mov eax, dword [esp + 0x60]
add edi, eax
add dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x28], edi
add ecx, eax
mov dword [esp + 0x4c], edi
mov edi, dword [esp + 0x20]
add edi, eax
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x48], ecx
mov dword [esp + 0x178], edi
jmp 0x5c02df48
mov edi, dword [esp + 0x20]
add eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x40], eax
test edx, edx
je 0x5c02dffb
test esi, esi
jne 0x5c02e030
add ecx, dword [ebx + 0x1a38]
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x28]
add eax, dword [ebx + 0x1a94]
add edx, dword [ebx + 0x1a30]
mov esi, dword [ebx + 0x1a84]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x48], ecx
xor ecx, ecx
mov dword [esp + 0x44], edx
mov dword [esp + 0x28], eax
mov dword [esp + 0x4c], eax
test esi, esi
je 0x5c02e030
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 0x5c02dfdd
mov eax, dword [esp + 0x178]
mov dword [esp + 0x20], eax
jmp 0x5c02e030
mov dword [esp + 0x40], eax
test esi, esi
jne 0x5c02e030
mov edx, dword [esp + 0x60]
add ecx, edx
mov eax, dword [esp + 0x28]
add dword [esp + 0x44], edx
add eax, edx
add edi, edx
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x48], ecx
mov dword [esp + 0x28], eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x20], edi
mov dword [esp + 0x178], edi
sub dword [esp + 0x80], 1
mov edi, dword [esp + 0x40]
jne 0x5c02b87a
mov eax, dword [esp + 0x78]
test eax, eax
je 0x5c02e06d
imul esi, eax, 3
mov ecx, ebx
push eax
push esi
push dword [esp + 0x8c]
push 4
pop edx
call fcn.5c0212f9
add esp, 0xc
mov ecx, eax
add dword [ebx + 0x1a48], esi
jmp 0x5c02e071
mov ecx, dword [esp + 0x54]
test dword [ebx + 0x1a60], 0x100000
jne 0x5c02e193
fld dword [ebx + 0x1b24]
fadd dword [ebx + 0x68c]
fstp dword [esp + 0x58]
fld dword [esp + 0x58]
fst dword [esp + 0x54]
fstp dword [ebx + 0x1b24]
fld dword [ebx + 0x1b28]
fadd dword [ebx + 0x68c]
fstp dword [esp + 0x58]
fld dword [esp + 0x58]
fst dword [esp + 0x80]
fstp dword [ebx + 0x1b28]
fld dword [ebx + 0x1b1c]
fsub dword [ebx + 0x68c]
fstp dword [esp + 0x58]
fld dword [esp + 0x58]
fst dword [ebx + 0x1b1c]
fld dword [ebx + 0x1b20]
fsub dword [ebx + 0x68c]
fstp dword [esp + 0x58]
fld dword [esp + 0x58]
fst dword [esp + 0x10]
fstp dword [ebx + 0x1b20]
fld dword [ebx + 0x624]
fstp dword [esp + 0x58]
fld dword [esp + 0x58]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x5c02e119
fstp dword [ebx + 0x1b1c]
jmp 0x5c02e11b
fstp st(0)
fld dword [ebx + 0x628]
fstp dword [esp + 0x58]
fld dword [esp + 0x10]
fld dword [esp + 0x58]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x5c02e140
fstp dword [ebx + 0x1b20]
jmp 0x5c02e142
fstp st(0)
fld dword [ebx + 0x62c]
fstp dword [esp + 0x58]
fld dword [esp + 0x54]
fld dword [esp + 0x58]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x5c02e167
fstp dword [ebx + 0x1b24]
jmp 0x5c02e169
fstp st(0)
fld dword [ebx + 0x630]
fstp dword [esp + 0x58]
fld dword [esp + 0x80]
fld dword [esp + 0x58]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x5c02e191
fstp dword [ebx + 0x1b28]
jmp 0x5c02e193
fstp st(0)
mov eax, dword [ebx + 0x1a48]
mov dword [ebx + 0x1a58], eax
mov eax, dword [ebx + 0x1a48]
sub eax, dword [esp + 0x8c]
imul eax, dword [ebx + 0x1a64]
mov dword [ebx + 0x1a74], eax
mov eax, ecx
jmp 0x5c02b515
and dword [ebx + 0x1a44], 0xffdfffff
cmp dword [ebx + 0x684], edi
je 0x5c02b50e
xor eax, eax
jmp 0x5c02b515