Function at 0x5c036567
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, 0x2c4
mov eax, dword [0x5c059aa4]
xor eax, esp
mov dword [esp + 0x2c0], eax
test byte [0x5c05b7fc], 2
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
push ebx
je 0x5c0365c3
call fcn.5c01d010
cmp dword [ebx + 0x684], 0
jne 0x5c038dc3
mov ecx, ebx
call fcn.5c011281
mov ecx, dword [esp + 0x2cc]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.5c04f7b0
mov esp, ebp
pop ebp
ret 4
test dword [ebx + 0x1a60], 0x80000
jne 0x5c036593
or dword [ebx + 0x225c], 0xffffffff
or dword [ebx + 0x1a44], 0x200000
call fcn.5c01d010
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 0x5c038dad
mov edx, dword [ebx + 0x1a48]
mov dword [esp + 0x94], edx
mov dword [esp + 0x68], ecx
cmp eax, 2
jbe 0x5c03663f
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.5c02b470
mov eax, dword [ebx + 0x1a70]
mov dword [esp + 0x68], eax
mov eax, dword [ebx + 0x1cd8]
mov edx, dword [ebx + 0x1a60]
mov dword [esp + 0x50], 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 + 0x7c], eax
mov eax, dword [ebx + 0x1a64]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x148], ecx
mov ecx, 0x8000000
mov dword [esp + 0x58], eax
mov eax, dword [ebx + 0x1a7c]
mov dword [esp + 0x6c], edx
mov dword [esp + 0x30], edi
mov dword [esp + 0x5c], eax
test ecx, edx
jne 0x5c0366e2
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 + 0x6c]
mov dword [esp + 0x38], esi
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x4c], ecx
je 0x5c03676a
mov ecx, dword [ebx + 0x1cbc]
add ecx, edi
jmp 0x5c03672b
mov eax, dword [ebx + 0x1a2c]
mov dword [esp + 0x38], eax
mov eax, dword [ebx + 0x1a34]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x48], eax
mov eax, dword [ebx + 0x1a90]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x4c], eax
test dl, 0x10
jne 0x5c036738
test dword [ebx + 0x1a44], ecx
jne 0x5c036738
cmp dword [ebx + 0x1a84], 0
je 0x5c03676a
mov eax, dword [ebx + 0x688]
mov ecx, dword [ebx + eax*8 + 0x1a98]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x148], ecx
jmp 0x5c03676a
mov esi, dword [ebx + 0x1a84]
xor ecx, ecx
test esi, esi
je 0x5c03676a
lea edx, [ebx + 0x1a98]
mov eax, dword [edx]
lea edx, [edx + 8]
mov dword [esp + ecx*4 + 0x148], eax
inc ecx
cmp ecx, esi
jb 0x5c03674a
mov eax, dword [esp + 0x148]
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 + 0x54]
test eax, 0x400
je 0x5c0368c1
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 0x5c0368bb
mov edx, dword [ebx + 0x1a5c]
test dl, 0x40
je 0x5c036841
xor edi, edi
mov ecx, eax
cmp dword [ebx + 0x5f8], edi
jne 0x5c0367ee
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 0x5c03680b
or eax, 0x4200
lea ecx, [esp + 0x48]
mov dword [ebx + 0x1a44], eax
mov dword [esp + 0x60], ecx
cmp dword [ebx + 0x5ec], edi
jne 0x5c036826
or eax, 0x10200
lea ecx, [esp + 0x48]
mov dword [ebx + 0x1a44], eax
mov dword [esp + 0x70], ecx
cmp dword [ebx + 0x5f4], edi
jne 0x5c036841
or eax, 0x8200
lea ecx, [esp + 0x48]
mov dword [ebx + 0x1a44], eax
mov dword [esp + 0x64], ecx
test dl, dl
jns 0x5c0368bb
cmp dword [ebx + 0x5f8], 1
jne 0x5c036861
or eax, 0x2200
lea esi, [esp + 0x4c]
mov dword [ebx + 0x1a44], eax
mov dword [esp + 0x78], esi
cmp dword [ebx + 0x5f0], 1
jne 0x5c03687d
or eax, 0x4200
lea ecx, [esp + 0x4c]
mov dword [ebx + 0x1a44], eax
mov dword [esp + 0x60], ecx
cmp dword [ebx + 0x5ec], 1
jne 0x5c036899
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 + 0x30]
jne 0x5c0368c3
or eax, 0x8200
lea ecx, [esp + 0x4c]
mov dword [ebx + 0x1a44], eax
mov dword [esp + 0x64], ecx
jmp 0x5c0368c3
mov edi, dword [esp + 0x30]
jmp 0x5c0368c3
fstp st(0)
mov edx, dword [ebx + 0x1a54]
lea eax, [esp + 0x218]
mov dword [esp + 0x194], eax
mov dword [esp + 0x84], edx
test edx, edx
je 0x5c038c27
fld1
fstp qword [esp + 0x88]
fld qword [0x5c003180]
fstp qword [esp + 0x98]
mov eax, edi
mov dword [esp + 0x34], 2
lea ecx, [esp + 0x168]
mov dword [esp + 0x24], eax
xor esi, esi
mov dword [esp + 0x14], ecx
or edi, 0xffffffff
push ecx
mov edx, eax
mov ecx, ebx
call fcn.5c02b037
or esi, eax
and edi, eax
mov eax, dword [esp + 0x28]
add eax, dword [esp + 0x60]
pop ecx
mov ecx, dword [esp + 0x14]
add ecx, 0xb0
mov dword [esp + 0x24], eax
sub dword [esp + 0x34], 1
mov dword [esp + 0x14], ecx
jne 0x5c03691a
or dword [ebx + 0x680], esi
and dword [ebx + 0x684], edi
test edi, edi
jne 0x5c038a99
mov edx, dword [esp + 0x7c]
test edx, esi
jne 0x5c0379cf
inc dword [esp + 0x74]
lea eax, [esp + 0x168]
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x28], eax
mov dword [esp + 0x20], 2
push ecx
mov edx, eax
mov ecx, ebx
call fcn.5c02b392
and dword [ebx + 0x5b8], 0
mov edx, dword [ebx + 0x1a60]
pop ecx
xor ecx, ecx
test edx, 0x20000000
je 0x5c036c07
mov eax, dword [esp + 0x30]
fld dword [ebx + 0x444]
mov esi, 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 + 0x1c]
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 esi, esi
je 0x5c036bfe
fld dword [esp + 0x54]
xor edi, edi
fst dword [esp + 0x24]
fst dword [esp + 0x100]
fst dword [esp + 0x104]
fst dword [esp + 0x108]
fld dword [esp + 0x1c]
fst dword [esp + 0x40]
fld dword [esp + 0x14]
fst dword [esp + 0x44]
fld dword [esp + 0x10]
fst dword [esp + 0x34]
fxch st(3)
fst dword [esp + 0x14]
fst dword [esp + 0x1c]
fstp dword [esp + 0x10]
test esi, esi
je 0x5c036bb4
mov ecx, dword [esp + 0x30]
lea eax, [ebx + 0x2e4]
fxch st(1)
fstp dword [esp + 0x40]
fstp dword [esp + 0x44]
fstp dword [esp + 0x34]
fld dword [ecx + edi*4 + 0xc]
inc edi
fld dword [esp + 0x40]
fmul st(1)
fadd dword [esp + 0x100]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x1c]
fstp dword [esp + 0x100]
fld dword [esp + 0x44]
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 + 0x34]
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 + 0x24]
fstp dword [esp + 0x24]
fld dword [ecx + 4]
fld dword [ecx]
fld dword [ecx + 8]
fld dword [eax - 0x10]
fmul st(3)
fld dword [eax - 0x20]
fmul st(3)
faddp st(1)
fld dword [eax]
fmul st(2)
faddp st(1)
fadd dword [eax + 0x10]
fstp dword [esp + 0x40]
fld dword [eax - 0xc]
fmul st(3)
fld dword [eax - 0x1c]
fmul st(3)
faddp st(1)
fld dword [eax + 4]
fmul st(2)
faddp st(1)
fadd dword [eax + 0x14]
fstp dword [esp + 0x44]
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 + 0x34]
cmp edi, esi
jb 0x5c036ac7
fld dword [esp + 0x1c]
mov ecx, dword [ebx + 0x5b8]
fstp dword [esp + 0x14]
fld dword [esp + 0xc]
fstp dword [esp + 0x1c]
fld dword [esp + 0x10]
fstp dword [esp + 0x10]
jmp 0x5c036bba
fstp st(1)
fstp st(0)
fstp st(0)
fld dword [esp + 0x24]
fsubr qword [esp + 0x88]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fld dword [esp + 0x40]
fmul st(1)
fadd dword [esp + 0x14]
fstp dword [esp + 0x100]
fld dword [esp + 0x44]
fmul st(1)
fadd dword [esp + 0x1c]
fstp dword [esp + 0x104]
fmul dword [esp + 0x34]
fadd dword [esp + 0x10]
fstp dword [esp + 0x108]
or ecx, 1
mov dword [ebx + 0x5b8], ecx
test edx, 0x40000000
je 0x5c036e72
mov eax, dword [esp + 0x38]
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 + 0x1c]
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 0x5c036e4f
fld dword [esp + 0x54]
xor esi, esi
fst dword [esp + 0x24]
fst dword [esp + 0x10c]
fst dword [esp + 0x110]
fst dword [esp + 0x114]
fld dword [esp + 0x10]
fst dword [esp + 0x34]
fld dword [esp + 0x1c]
fst dword [esp + 0x44]
fld dword [esp + 0xc]
fst dword [esp + 0x40]
fxch st(3)
fst dword [esp + 0x10]
fst dword [esp + 0x1c]
fstp dword [esp + 0x14]
test ecx, ecx
je 0x5c036e05
mov edi, dword [esp + 0x30]
lea eax, [ebx + 0x38c]
mov edx, dword [esp + 0x38]
fxch st(1)
fstp dword [esp + 0x34]
fstp dword [esp + 0x44]
fstp dword [esp + 0x40]
fld dword [edi + esi*4 + 0xc]
inc esi
fld dword [esp + 0x34]
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 + 0x44]
fmul st(1)
fadd dword [esp + 0x110]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fst dword [esp + 0x1c]
fstp dword [esp + 0x110]
fld dword [esp + 0x40]
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 + 0x24]
fstp dword [esp + 0x24]
fld dword [edx + 4]
fld dword [edx]
fld dword [edx + 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 + 0x34]
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 + 0x44]
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 + 0x40]
cmp esi, ecx
jb 0x5c036d21
fld dword [esp + 0x10]
mov edx, dword [ebx + 0x1a60]
fstp dword [esp + 0x10]
fld dword [esp + 0x1c]
fstp dword [esp + 0x1c]
fld dword [esp + 0xc]
fstp dword [esp + 0x14]
jmp 0x5c036e0b
fstp st(1)
fstp st(0)
fstp st(0)
fld dword [esp + 0x24]
fsubr qword [esp + 0x88]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fld dword [esp + 0x34]
fmul st(1)
fadd dword [esp + 0x10]
fstp dword [esp + 0x10c]
fld dword [esp + 0x44]
fmul st(1)
fadd dword [esp + 0x1c]
fstp dword [esp + 0x110]
fmul dword [esp + 0x40]
fadd dword [esp + 0x14]
fstp dword [esp + 0x114]
test edx, 0x2000000
je 0x5c036e65
lea edx, [esp + 0x10c]
mov ecx, edx
call fcn.5c04ff08
or dword [ebx + 0x5b8], 2
mov ecx, dword [ebx + 0x5b8]
mov edx, dword [ebx + 0x1a44]
test edx, 0x400
je 0x5c037435
fld dword [esp + 0x54]
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 edx, 0x200
je 0x5c036f0e
test edx, 0x10000
je 0x5c036ed2
mov eax, dword [esp + 0x70]
test eax, eax
je 0x5c036eca
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c036ecc
xor eax, eax
mov dword [ebx + 0x540], eax
test edx, 0x4000
je 0x5c036ef0
mov eax, dword [esp + 0x60]
test eax, eax
je 0x5c036ee8
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c036eea
xor eax, eax
mov dword [ebx + 0x550], eax
test edx, 0x8000
je 0x5c036f0e
mov eax, dword [esp + 0x64]
test eax, eax
je 0x5c036f06
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c036f08
xor eax, eax
mov dword [ebx + 0x570], eax
mov edi, dword [ebx + 0x5c0]
mov esi, edx
test edi, edi
je 0x5c036f5a
fstp st(0)
mov esi, dword [edi + 0x80]
lea eax, [esp + 0x100]
push eax
push dword [esp + 0x3c]
mov ecx, esi
push dword [esp + 0x38]
push edi
push ebx
call dword [0x5c05d150]
call esi
mov edi, dword [edi + 0x58]
add esp, 0x14
test edi, edi
jne 0x5c036f1c
mov edx, dword [ebx + 0x1a44]
mov esi, edx
mov ecx, dword [ebx + 0x5b8]
fld dword [esp + 0x54]
test edx, 0x12000
je 0x5c0371a5
test byte [ebx + 0x5b8], 8
jne 0x5c036f83
fst dword [ebx + 0x504]
fst dword [ebx + 0x508]
fstp dword [ebx + 0x50c]
jmp 0x5c036f85
fstp st(0)
test edx, 0x10000
je 0x5c037049
mov eax, dword [esp + 0x70]
test eax, eax
je 0x5c036f9f
mov eax, dword [eax]
mov ecx, dword [eax]
jmp 0x5c036fa1
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 0x5c036fbb
fadd dword [0x5c0031f0]
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 0x5c036fef
fadd dword [0x5c0031f0]
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 0x5c03701e
fadd dword [0x5c0031f0]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
mov eax, dword [esp + 0x148]
mov edi, dword [esp + 0x4c]
fmul dword [ebx + 0x55c]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x2c], edi
jmp 0x5c037089
fld dword [ebx + 0x584]
fmul dword [ebx + 0x544]
mov edi, dword [esp + 0x2c]
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 0x5c03714b
mov eax, dword [esp + 0x78]
test eax, eax
je 0x5c0370b3
mov eax, dword [eax]
mov ecx, dword [eax]
jmp 0x5c0370b5
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 0x5c0370cf
fadd dword [0x5c0031f0]
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 0x5c0370fd
fadd dword [0x5c0031f0]
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 0x5c037126
fadd dword [0x5c0031f0]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
mov eax, dword [esp + 0x148]
mov edi, dword [esp + 0x4c]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x2c], edi
jmp 0x5c037184
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 ecx, dword [ebx + 0x5b8]
mov esi, dword [ebx + 0x1a44]
jmp 0x5c0371ab
mov edi, dword [esp + 0x2c]
fstp st(0)
test cl, 8
je 0x5c0372d9
test esi, 0x12000
jne 0x5c0371fc
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 0x5c037202
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 0x5c037265
xor ecx, ecx
jmp 0x5c03726b
cmp ecx, eax
jle 0x5c03726b
mov ecx, eax
test edx, edx
jns 0x5c037273
xor edx, edx
jmp 0x5c037279
cmp edx, eax
jle 0x5c037279
mov edx, eax
test esi, esi
jns 0x5c037281
xor esi, esi
jmp 0x5c037287
cmp esi, eax
jle 0x5c037287
mov esi, eax
test dword [ebx + 0x1a44], 0x4000
jne 0x5c0372a3
shl ecx, 8
add ecx, edx
shl ecx, 8
add ecx, dword [ebx + 0x510]
jmp 0x5c0372c2
mov eax, dword [esp + 0x60]
test eax, eax
je 0x5c0372b1
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c0372b3
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 ecx, dword [ebx + 0x5b8]
mov esi, dword [ebx + 0x1a44]
jmp 0x5c037313
test esi, 0x4000
jne 0x5c0372ef
mov eax, dword [ebx + 0x5e8]
add eax, dword [ebx + 0x510]
jmp 0x5c03730d
mov eax, dword [esp + 0x60]
test eax, eax
je 0x5c037303
mov eax, dword [eax]
mov edx, dword [eax]
and edx, 0xff000000
jmp 0x5c037305
xor edx, edx
mov eax, dword [ebx + 0x5e8]
add eax, edx
mov dword [ebx + 0x530], eax
test cl, 4
je 0x5c0373df
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 0x5c03737d
xor ecx, ecx
jmp 0x5c037383
cmp ecx, eax
jle 0x5c037383
mov ecx, eax
test edx, edx
jns 0x5c03738b
xor edx, edx
jmp 0x5c037391
cmp edx, eax
jle 0x5c037391
mov edx, eax
test esi, esi
jns 0x5c037399
xor esi, esi
jmp 0x5c03739f
cmp esi, eax
jle 0x5c03739f
mov esi, eax
test dword [ebx + 0x1a44], 0x8000
jne 0x5c0373bb
shl ecx, 8
add ecx, edx
shl ecx, 8
add ecx, dword [ebx + 0x5bc]
jmp 0x5c0373da
mov eax, dword [esp + 0x64]
test eax, eax
je 0x5c0373c9
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c0373cb
xor eax, eax
shl ecx, 8
and eax, 0xff000000
add ecx, edx
shl ecx, 8
add ecx, eax
lea eax, [ecx + esi]
jmp 0x5c037425
test esi, 0x100000
jne 0x5c03742b
test dword [ebx + 0x1a60], 0x800
jne 0x5c037400
test byte [ebx + 0x1a5c], 0x80
je 0x5c037423
mov eax, dword [edi]
jmp 0x5c037425
test esi, 0x8000
jne 0x5c037410
mov eax, dword [ebx + 0x5bc]
jmp 0x5c037425
mov eax, dword [esp + 0x64]
test eax, eax
je 0x5c037423
mov eax, dword [eax]
mov eax, dword [eax]
and eax, 0xff000000
jmp 0x5c037425
xor eax, eax
mov dword [ebx + 0x560], eax
mov eax, dword [ebx + 0x1a44]
mov ecx, eax
jmp 0x5c037470
test byte [ebx + 0x1a5c], 0xc0
mov eax, edx
mov ecx, edx
je 0x5c037470
test byte [ebx + 0x1a5c], 0x40
je 0x5c037457
mov eax, dword [esp + 0x3c]
mov eax, dword [eax]
mov dword [ebx + 0x530], eax
test byte [ebx + 0x1a5c], 0x80
mov eax, edx
je 0x5c037470
mov eax, dword [esp + 0x2c]
mov eax, dword [eax]
mov dword [ebx + 0x560], eax
mov eax, edx
test eax, 0x100
je 0x5c037493
mov edx, dword [esp + 0x30]
lea eax, [esp + 0x100]
push eax
mov ecx, ebx
call fcn.5c01a55e
mov eax, dword [ebx + 0x1a44]
pop ecx
mov ecx, eax
mov edx, dword [esp + 0x68]
test eax, eax
js 0x5c0374b2
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 0x5c0374ce
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
test eax, 0x8000000
je 0x5c03777b
test ecx, ecx
jne 0x5c0376fa
test dword [esp + 0x6c], 0x200000
jne 0x5c0376f1
test eax, 0x4010000
jne 0x5c03755c
xor eax, eax
mov dword [esp + 0x10], eax
cmp dword [ebx + 0x1a88], eax
jbe 0x5c0376fa
lea ecx, [ebx + 0x1ad8]
mov dword [esp + 0x1c], ecx
mov esi, dword [ecx]
push esi
push dword [esp + eax*4 + 0x14c]
push edi
call sub.msvcrt.dll_memcpy
mov eax, dword [esp + 0x1c]
add esp, 0xc
mov ecx, dword [esp + 0x1c]
add edi, esi
inc eax
add ecx, 4
mov dword [esp + 0x10], eax
mov dword [esp + 0x1c], ecx
cmp eax, dword [ebx + 0x1a88]
jb 0x5c037526
jmp 0x5c0376fa
test eax, 0x10000
jne 0x5c0375f5
xor ecx, ecx
mov dword [esp + 0x10], ecx
cmp dword [ebx + 0x1a88], ecx
jbe 0x5c0376fa
lea eax, [ebx + 0x1af8]
mov dword [esp + 0x1c], eax
mov edx, dword [eax - 0x20]
mov esi, dword [eax]
mov eax, dword [eax + 0x138]
mov ecx, dword [esp + ecx*4 + 0x148]
mov dword [esp + 0x14], edx
mov dword [esp + 0xc], eax
test eax, eax
jne 0x5c0375ab
push edx
push ecx
push edi
call sub.msvcrt.dll_memcpy
jmp 0x5c0375cd
push dword [esp + 0xc]
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 [0x5c05d150]
call esi
mov ecx, dword [esp + 0x1c]
add esp, 0xc
add edi, dword [esp + 0x14]
inc ecx
mov eax, dword [esp + 0x1c]
add eax, 4
mov dword [esp + 0x10], ecx
mov dword [esp + 0x1c], eax
cmp ecx, dword [ebx + 0x1a88]
jb 0x5c037583
jmp 0x5c0376fa
and dword [esp + 0x10], 0
cmp dword [ebx + 0x1c2c], 0
jbe 0x5c0376fa
lea eax, [ebx + 0x1ad8]
lea esi, [ebx + 0x1b40]
mov dword [esp + 0x24], eax
mov dword [esp + 0x1c], esi
mov eax, dword [esi + 8]
test eax, eax
jne 0x5c03762e
mov eax, dword [esi - 0x14]
mov ecx, dword [esp + eax*4 + 0x148]
jmp 0x5c037692
cmp eax, 0x20000
jne 0x5c03763e
lea ecx, [esp + 0x100]
jmp 0x5c037692
cmp eax, 0x10000
jne 0x5c03764e
lea ecx, [esp + 0x10c]
jmp 0x5c037692
test dword [ebx + 0x1a60], 0x1000000
je 0x5c037678
lea eax, [esp + 0x118]
push eax
lea edx, [esp + 0x110]
lea ecx, [esp + 0x104]
call fcn.5c01a4a7
pop ecx
jmp 0x5c03768b
lea edx, [esp + 0x118]
lea ecx, [esp + 0x10c]
call fcn.5c01a531
lea ecx, [esp + 0x118]
cmp dword [esi], 0
mov eax, dword [esp + 0x24]
mov eax, dword [eax]
mov dword [esp + 0xc], eax
je 0x5c0376bf
push dword [esi]
mov eax, dword [esi + 4]
push edi
push ecx
mov esi, dword [eax*4 + 0x5c0016b0]
mov ecx, esi
call dword [0x5c05d150]
call esi
mov esi, dword [esp + 0x28]
jmp 0x5c0376c7
push eax
push ecx
push edi
call sub.msvcrt.dll_memcpy
mov ecx, dword [esp + 0x1c]
add esp, 0xc
add edi, dword [esp + 0xc]
add esi, 0x20
add dword [esp + 0x24], 4
inc ecx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x1c], esi
cmp ecx, dword [ebx + 0x1c2c]
jb 0x5c03761b
jmp 0x5c0376fa
fld dword [esp + 0x54]
fst dword [edi]
fstp dword [edi + 4]
mov eax, dword [esp + 0x5c]
add dword [esp + 0x30], eax
test dword [ebx + 0x1a44], 0x40000000
jne 0x5c0379a8
mov eax, dword [esp + 0x38]
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 + 0x38], eax
mov eax, dword [esp + 0x2c]
add eax, dword [ebx + 0x1a94]
mov dword [esp + 0x3c], edx
mov dword [esp + 0x48], edx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x4c], eax
test esi, esi
je 0x5c0379a8
lea edx, [ebx + 0x1a9c]
mov eax, dword [edx]
lea edx, [edx + 8]
add dword [esp + ecx*4 + 0x148], eax
inc ecx
cmp ecx, esi
jb 0x5c03775a
mov eax, dword [esp + 0x148]
mov dword [esp + 0x18], eax
jmp 0x5c0379a8
test ecx, ecx
jne 0x5c037963
test dword [esp + 0x6c], 0x200000
jne 0x5c03795a
test eax, 0x4010000
jne 0x5c0377b0
push dword [ebx + 0x1a8c]
push dword [esp + 0x1c]
push edi
call sub.msvcrt.dll_memcpy
add esp, 0xc
jmp 0x5c037963
test eax, 0x10000
jne 0x5c037860
mov edx, dword [esp + 0x18]
xor esi, esi
mov dword [esp + 0x24], edx
mov dword [esp + 0x1c], esi
cmp dword [ebx + 0x1a88], esi
jbe 0x5c037963
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 + 0x24]
mov dword [esp + 0x34], ecx
mov dword [esp + 0xc], eax
test eax, eax
je 0x5c037828
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 [0x5c05d150]
call esi
mov esi, dword [esp + 0x28]
jmp 0x5c037830
push ecx
push edx
push edi
call sub.msvcrt.dll_memcpy
mov edx, dword [esp + 0x30]
add esp, 0xc
add edx, dword [esp + 0x10]
add edi, dword [esp + 0x34]
inc esi
mov eax, dword [esp + 0x14]
add eax, 4
mov dword [esp + 0x24], edx
mov dword [esp + 0x1c], esi
mov dword [esp + 0x14], eax
cmp esi, dword [ebx + 0x1a88]
jb 0x5c0377df
jmp 0x5c037963
and dword [esp + 0x10], 0
cmp dword [ebx + 0x1c2c], 0
jbe 0x5c037963
lea eax, [ebx + 0x1ad8]
lea esi, [ebx + 0x1b30]
mov dword [esp + 0x24], eax
mov dword [esp + 0x1c], esi
mov eax, dword [esi + 0x18]
test eax, eax
jne 0x5c037895
mov ecx, dword [esi]
add ecx, dword [esp + 0x18]
jmp 0x5c0378f9
cmp eax, 0x20000
jne 0x5c0378a5
lea ecx, [esp + 0x100]
jmp 0x5c0378f9
cmp eax, 0x10000
jne 0x5c0378b5
lea ecx, [esp + 0x10c]
jmp 0x5c0378f9
test dword [ebx + 0x1a60], 0x1000000
je 0x5c0378df
lea eax, [esp + 0x124]
push eax
lea edx, [esp + 0x110]
lea ecx, [esp + 0x104]
call fcn.5c01a4a7
pop ecx
jmp 0x5c0378f2
lea edx, [esp + 0x124]
lea ecx, [esp + 0x10c]
call fcn.5c01a531
lea ecx, [esp + 0x124]
cmp dword [esi + 0x10], 0
mov eax, dword [esp + 0x24]
mov eax, dword [eax]
mov dword [esp + 0xc], eax
je 0x5c037928
push dword [esi + 0x10]
mov eax, dword [esi + 0x14]
push edi
push ecx
mov esi, dword [eax*4 + 0x5c0016b0]
mov ecx, esi
call dword [0x5c05d150]
call esi
mov esi, dword [esp + 0x28]
jmp 0x5c037930
push eax
push ecx
push edi
call sub.msvcrt.dll_memcpy
mov ecx, dword [esp + 0x1c]
add esp, 0xc
add edi, dword [esp + 0xc]
add esi, 0x20
add dword [esp + 0x24], 4
inc ecx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x1c], esi
cmp ecx, dword [ebx + 0x1c2c]
jb 0x5c037886
jmp 0x5c037963
fld dword [esp + 0x54]
fst dword [edi]
fstp dword [edi + 4]
mov ecx, dword [esp + 0x5c]
add dword [esp + 0x30], ecx
test dword [ebx + 0x1a44], 0x40000000
jne 0x5c0379a8
mov eax, dword [esp + 0x3c]
mov edi, dword [esp + 0x18]
add eax, ecx
add dword [esp + 0x38], ecx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x2c]
add eax, ecx
add edi, ecx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x18], edi
mov dword [esp + 0x148], edi
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x68]
add ecx, dword [esp + 0x58]
sub dword [esp + 0x20], 1
mov eax, dword [eax + 0x2c]
mov dword [esp + 0x28], eax
mov dword [esp + 0x68], ecx
jne 0x5c036985
jmp 0x5c038c15
mov eax, dword [esp + 0x74]
test eax, eax
je 0x5c037a2d
mov ecx, dword [esp + 0x80]
lea edi, [eax + eax]
mov dword [ebx + 0x1a54], eax
mov eax, dword [ebx]
mov dword [ebx + 0x1a70], ecx
mov dword [ebx + 0x1a3c], 2
mov dword [ebx + 0x1a40], edi
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x5c05d150]
mov ecx, ebx
call esi
add dword [ebx + 0x1a48], edi
mov ecx, eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x80], eax
test ecx, ecx
jne 0x5c038c74
mov edx, dword [esp + 0x7c]
and dword [esp + 0x74], 0
lea ecx, [esp + 0x168]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x1c], 2
test dword [ecx + 0x10], edx
jne 0x5c037a58
lea eax, [ecx + 0x1c]
mov edx, ecx
push eax
mov ecx, ebx
call fcn.5c02b392
pop ecx
and dword [ebx + 0x5b8], 0
xor ecx, ecx
mov edx, dword [ebx + 0x1a60]
test edx, 0x20000000
je 0x5c037ccf
mov eax, dword [esp + 0x30]
fld dword [ebx + 0x444]
mov esi, 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 + 0x50]
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 esi, esi
je 0x5c037cc6
fld dword [esp + 0x54]
xor edi, edi
fst dword [esp + 0x14]
fst dword [esp + 0x100]
fst dword [esp + 0x104]
fst dword [esp + 0x108]
fld dword [esp + 0x50]
fst dword [esp + 0x34]
fld dword [esp + 0x20]
fst dword [esp + 0x44]
fld dword [esp + 0xc]
fst dword [esp + 0x40]
fxch st(3)
fst dword [esp + 0x20]
fst dword [esp + 0x28]
fstp dword [esp + 0x10]
test esi, esi
je 0x5c037c7c
mov ecx, dword [esp + 0x30]
lea eax, [ebx + 0x2e4]
fxch st(1)
fstp dword [esp + 0x34]
fstp dword [esp + 0x44]
fstp dword [esp + 0x40]
fld dword [ecx + edi*4 + 0xc]
inc edi
fld dword [esp + 0x34]
fmul st(1)
fadd dword [esp + 0x100]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fst dword [esp + 0x50]
fstp dword [esp + 0x100]
fld dword [esp + 0x44]
fmul st(1)
fadd dword [esp + 0x104]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fst dword [esp + 0x28]
fstp dword [esp + 0x104]
fld dword [esp + 0x40]
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 [ecx + 4]
fld dword [ecx]
fld dword [ecx + 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 + 0x34]
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 + 0x44]
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 + 0x40]
cmp edi, esi
jb 0x5c037b8f
fld dword [esp + 0x50]
mov ecx, dword [ebx + 0x5b8]
fstp dword [esp + 0x20]
fld dword [esp + 0x28]
fstp dword [esp + 0x28]
fld dword [esp + 0xc]
fstp dword [esp + 0x10]
jmp 0x5c037c82
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 + 0x34]
fmul st(1)
fadd dword [esp + 0x20]
fstp dword [esp + 0x100]
fld dword [esp + 0x44]
fmul st(1)
fadd dword [esp + 0x28]
fstp dword [esp + 0x104]
fmul dword [esp + 0x40]
fadd dword [esp + 0x10]
fstp dword [esp + 0x108]
or ecx, 1
mov dword [ebx + 0x5b8], ecx
test edx, 0x40000000
je 0x5c037f3a
mov eax, dword [esp + 0x38]
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 + 0x50]
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 0x5c037f17
fld dword [esp + 0x54]
xor esi, esi
fst dword [esp + 0x14]
fst dword [esp + 0x10c]
fst dword [esp + 0x110]
fst dword [esp + 0x114]
fld dword [esp + 0x50]
fst dword [esp + 0x34]
fld dword [esp + 0x20]
fst dword [esp + 0x44]
fld dword [esp + 0xc]
fst dword [esp + 0x40]
fxch st(3)
fst dword [esp + 0x20]
fst dword [esp + 0x28]
fstp dword [esp + 0x10]
test ecx, ecx
je 0x5c037ecd
mov edi, dword [esp + 0x30]
lea eax, [ebx + 0x38c]
mov edx, dword [esp + 0x38]
fxch st(1)
fstp dword [esp + 0x34]
fstp dword [esp + 0x44]
fstp dword [esp + 0x40]
fld dword [edi + esi*4 + 0xc]
inc esi
fld dword [esp + 0x34]
fmul st(1)
fadd dword [esp + 0x10c]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fst dword [esp + 0x50]
fstp dword [esp + 0x10c]
fld dword [esp + 0x44]
fmul st(1)
fadd dword [esp + 0x110]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fst dword [esp + 0x28]
fstp dword [esp + 0x110]
fld dword [esp + 0x40]
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 [edx + 4]
fld dword [edx]
fld dword [edx + 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 + 0x34]
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 + 0x44]
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 + 0x40]
cmp esi, ecx
jb 0x5c037de9
fld dword [esp + 0x50]
mov edx, dword [ebx + 0x1a60]
fstp dword [esp + 0x20]
fld dword [esp + 0x28]
fstp dword [esp + 0x28]
fld dword [esp + 0xc]
fstp dword [esp + 0x10]
jmp 0x5c037ed3
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 + 0x34]
fmul st(1)
fadd dword [esp + 0x20]
fstp dword [esp + 0x10c]
fld dword [esp + 0x44]
fmul st(1)
fadd dword [esp + 0x28]
fstp dword [esp + 0x110]
fmul dword [esp + 0x40]
fadd dword [esp + 0x10]
fstp dword [esp + 0x114]
test edx, 0x2000000
je 0x5c037f2d
lea edx, [esp + 0x10c]
mov ecx, edx
call fcn.5c04ff08
or dword [ebx + 0x5b8], 2
mov ecx, dword [ebx + 0x5b8]
mov edx, dword [ebx + 0x1a44]
test edx, 0x400
je 0x5c0384fd
fld dword [esp + 0x54]
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 edx, 0x200
je 0x5c037fd6
test edx, 0x10000
je 0x5c037f9a
mov eax, dword [esp + 0x70]
test eax, eax
je 0x5c037f92
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c037f94
xor eax, eax
mov dword [ebx + 0x540], eax
test edx, 0x4000
je 0x5c037fb8
mov eax, dword [esp + 0x60]
test eax, eax
je 0x5c037fb0
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c037fb2
xor eax, eax
mov dword [ebx + 0x550], eax
test edx, 0x8000
je 0x5c037fd6
mov eax, dword [esp + 0x64]
test eax, eax
je 0x5c037fce
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c037fd0
xor eax, eax
mov dword [ebx + 0x570], eax
mov edi, dword [ebx + 0x5c0]
mov esi, edx
test edi, edi
je 0x5c038022
fstp st(0)
mov esi, dword [edi + 0x80]
lea eax, [esp + 0x100]
push eax
push dword [esp + 0x3c]
mov ecx, esi
push dword [esp + 0x38]
push edi
push ebx
call dword [0x5c05d150]
call esi
mov edi, dword [edi + 0x58]
add esp, 0x14
test edi, edi
jne 0x5c037fe4
mov edx, dword [ebx + 0x1a44]
mov esi, edx
mov ecx, dword [ebx + 0x5b8]
fld dword [esp + 0x54]
test edx, 0x12000
je 0x5c03826d
test byte [ebx + 0x5b8], 8
jne 0x5c03804b
fst dword [ebx + 0x504]
fst dword [ebx + 0x508]
fstp dword [ebx + 0x50c]
jmp 0x5c03804d
fstp st(0)
test edx, 0x10000
je 0x5c038111
mov eax, dword [esp + 0x70]
test eax, eax
je 0x5c038067
mov eax, dword [eax]
mov ecx, dword [eax]
jmp 0x5c038069
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 0x5c038083
fadd dword [0x5c0031f0]
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 0x5c0380b7
fadd dword [0x5c0031f0]
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 0x5c0380e6
fadd dword [0x5c0031f0]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
mov eax, dword [esp + 0x148]
mov edi, dword [esp + 0x4c]
fmul dword [ebx + 0x55c]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x2c], edi
jmp 0x5c038151
fld dword [ebx + 0x584]
fmul dword [ebx + 0x544]
mov edi, dword [esp + 0x2c]
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 0x5c038213
mov eax, dword [esp + 0x78]
test eax, eax
je 0x5c03817b
mov eax, dword [eax]
mov ecx, dword [eax]
jmp 0x5c03817d
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 0x5c038197
fadd dword [0x5c0031f0]
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 0x5c0381c5
fadd dword [0x5c0031f0]
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 0x5c0381ee
fadd dword [0x5c0031f0]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
mov eax, dword [esp + 0x148]
mov edi, dword [esp + 0x4c]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x2c], edi
jmp 0x5c03824c
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 ecx, dword [ebx + 0x5b8]
mov esi, dword [ebx + 0x1a44]
jmp 0x5c038273
mov edi, dword [esp + 0x2c]
fstp st(0)
test cl, 8
je 0x5c0383a1
test esi, 0x12000
jne 0x5c0382c4
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 0x5c0382ca
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 0x5c03832d
xor ecx, ecx
jmp 0x5c038333
cmp ecx, eax
jle 0x5c038333
mov ecx, eax
test edx, edx
jns 0x5c03833b
xor edx, edx
jmp 0x5c038341
cmp edx, eax
jle 0x5c038341
mov edx, eax
test esi, esi
jns 0x5c038349
xor esi, esi
jmp 0x5c03834f
cmp esi, eax
jle 0x5c03834f
mov esi, eax
test dword [ebx + 0x1a44], 0x4000
jne 0x5c03836b
shl ecx, 8
add ecx, edx
shl ecx, 8
add ecx, dword [ebx + 0x510]
jmp 0x5c03838a
mov eax, dword [esp + 0x60]
test eax, eax
je 0x5c038379
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c03837b
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 ecx, dword [ebx + 0x5b8]
mov esi, dword [ebx + 0x1a44]
jmp 0x5c0383db
test esi, 0x4000
jne 0x5c0383b7
mov eax, dword [ebx + 0x5e8]
add eax, dword [ebx + 0x510]
jmp 0x5c0383d5
mov eax, dword [esp + 0x60]
test eax, eax
je 0x5c0383cb
mov eax, dword [eax]
mov edx, dword [eax]
and edx, 0xff000000
jmp 0x5c0383cd
xor edx, edx
mov eax, dword [ebx + 0x5e8]
add eax, edx
mov dword [ebx + 0x530], eax
test cl, 4
je 0x5c0384a7
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 0x5c038445
xor ecx, ecx
jmp 0x5c03844b
cmp ecx, eax
jle 0x5c03844b
mov ecx, eax
test edx, edx
jns 0x5c038453
xor edx, edx
jmp 0x5c038459
cmp edx, eax
jle 0x5c038459
mov edx, eax
test esi, esi
jns 0x5c038461
xor esi, esi
jmp 0x5c038467
cmp esi, eax
jle 0x5c038467
mov esi, eax
test dword [ebx + 0x1a44], 0x8000
jne 0x5c038483
shl ecx, 8
add ecx, edx
shl ecx, 8
add ecx, dword [ebx + 0x5bc]
jmp 0x5c0384a2
mov eax, dword [esp + 0x64]
test eax, eax
je 0x5c038491
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c038493
xor eax, eax
shl ecx, 8
and eax, 0xff000000
add ecx, edx
shl ecx, 8
add ecx, eax
lea eax, [ecx + esi]
jmp 0x5c0384ed
test esi, 0x100000
jne 0x5c0384f3
test dword [ebx + 0x1a60], 0x800
jne 0x5c0384c8
test byte [ebx + 0x1a5c], 0x80
je 0x5c0384eb
mov eax, dword [edi]
jmp 0x5c0384ed
test esi, 0x8000
jne 0x5c0384d8
mov eax, dword [ebx + 0x5bc]
jmp 0x5c0384ed
mov eax, dword [esp + 0x64]
test eax, eax
je 0x5c0384eb
mov eax, dword [eax]
mov eax, dword [eax]
and eax, 0xff000000
jmp 0x5c0384ed
xor eax, eax
mov dword [ebx + 0x560], eax
mov eax, dword [ebx + 0x1a44]
mov ecx, eax
jmp 0x5c038538
test byte [ebx + 0x1a5c], 0xc0
mov eax, edx
mov ecx, edx
je 0x5c038538
test byte [ebx + 0x1a5c], 0x40
je 0x5c03851f
mov eax, dword [esp + 0x3c]
mov eax, dword [eax]
mov dword [ebx + 0x530], eax
test byte [ebx + 0x1a5c], 0x80
mov eax, edx
je 0x5c038538
mov eax, dword [esp + 0x2c]
mov eax, dword [eax]
mov dword [ebx + 0x560], eax
mov eax, edx
test eax, 0x100
je 0x5c038559
mov edx, dword [esp + 0x30]
lea eax, [esp + 0x100]
push eax
mov ecx, ebx
call 0x5c067d61
pop ecx
mov ecx, dword [ebx + 0x1a44]
mov edx, dword [ebx + 0x1a6c]
mov esi, dword [esp + 0x24]
test dl, 0x40
je 0x5c038571
mov eax, dword [ebx + 0x530]
mov dword [esi + 0x14], eax
test dl, dl
jns 0x5c03857e
mov eax, dword [ebx + 0x560]
mov dword [esi + 0x18], eax
mov eax, dword [ebx + 0x1a60]
and ecx, 0x10000000
test eax, 0x8000000
je 0x5c038822
test ecx, ecx
jne 0x5c0387a5
test dword [esp + 0x6c], 0x200000
lea edi, [esi + 0x30]
jne 0x5c03879c
test eax, 0x4010000
jne 0x5c038607
xor eax, eax
mov dword [esp + 0x20], eax
cmp dword [ebx + 0x1a88], eax
jbe 0x5c0387a5
lea ecx, [ebx + 0x1ad8]
mov dword [esp + 0x28], ecx
mov esi, dword [ecx]
push esi
push dword [esp + eax*4 + 0x14c]
push edi
call sub.msvcrt.dll_memcpy
mov eax, dword [esp + 0x2c]
add esp, 0xc
mov ecx, dword [esp + 0x28]
add edi, esi
inc eax
add ecx, 4
mov dword [esp + 0x20], eax
mov dword [esp + 0x28], ecx
cmp eax, dword [ebx + 0x1a88]
jb 0x5c0385d1
jmp 0x5c0387a5
test eax, 0x10000
jne 0x5c0386a0
xor ecx, ecx
mov dword [esp + 0x20], ecx
cmp dword [ebx + 0x1a88], ecx
jbe 0x5c0387a5
lea eax, [ebx + 0x1af8]
mov dword [esp + 0x28], eax
mov edx, dword [eax - 0x20]
mov esi, dword [eax]
mov eax, dword [eax + 0x138]
mov ecx, dword [esp + ecx*4 + 0x148]
mov dword [esp + 0x50], edx
mov dword [esp + 0xc], eax
test eax, eax
jne 0x5c038656
push edx
push ecx
push edi
call sub.msvcrt.dll_memcpy
jmp 0x5c038678
push dword [esp + 0xc]
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 [0x5c05d150]
call esi
mov ecx, dword [esp + 0x2c]
add esp, 0xc
add edi, dword [esp + 0x50]
inc ecx
mov eax, dword [esp + 0x28]
add eax, 4
mov dword [esp + 0x20], ecx
mov dword [esp + 0x28], eax
cmp ecx, dword [ebx + 0x1a88]
jb 0x5c03862e
jmp 0x5c0387a5
and dword [esp + 0x20], 0
cmp dword [ebx + 0x1c2c], 0
jbe 0x5c0387a5
lea eax, [ebx + 0x1ad8]
lea esi, [ebx + 0x1b40]
mov dword [esp + 0x14], eax
mov dword [esp + 0x28], esi
mov eax, dword [esi + 8]
test eax, eax
jne 0x5c0386d9
mov eax, dword [esi - 0x14]
mov ecx, dword [esp + eax*4 + 0x148]
jmp 0x5c03873d
cmp eax, 0x20000
jne 0x5c0386e9
lea ecx, [esp + 0x100]
jmp 0x5c03873d
cmp eax, 0x10000
jne 0x5c0386f9
lea ecx, [esp + 0x10c]
jmp 0x5c03873d
test dword [ebx + 0x1a60], 0x1000000
je 0x5c038723
lea eax, [esp + 0x130]
push eax
lea edx, [esp + 0x110]
lea ecx, [esp + 0x104]
call fcn.5c01a4a7
pop ecx
jmp 0x5c038736
lea edx, [esp + 0x130]
lea ecx, [esp + 0x10c]
call fcn.5c01a531
lea ecx, [esp + 0x130]
cmp dword [esi], 0
mov eax, dword [esp + 0x14]
mov eax, dword [eax]
mov dword [esp + 0xc], eax
je 0x5c03876a
push dword [esi]
mov eax, dword [esi + 4]
push edi
push ecx
mov esi, dword [eax*4 + 0x5c0016b0]
mov ecx, esi
call dword [0x5c05d150]
call esi
mov esi, dword [esp + 0x34]
jmp 0x5c038772
push eax
push ecx
push edi
call sub.msvcrt.dll_memcpy
mov ecx, dword [esp + 0x2c]
add esp, 0xc
add edi, dword [esp + 0xc]
add esi, 0x20
add dword [esp + 0x14], 4
inc ecx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x28], esi
cmp ecx, dword [ebx + 0x1c2c]
jb 0x5c0386c6
jmp 0x5c0387a5
fld dword [esp + 0x54]
fst dword [edi]
fstp dword [edi + 4]
mov eax, dword [esp + 0x5c]
add dword [esp + 0x30], eax
test dword [ebx + 0x1a44], 0x40000000
jne 0x5c038a52
mov eax, dword [esp + 0x38]
xor ecx, ecx
mov edi, dword [esp + 0x3c]
mov edx, dword [esp + 0x2c]
add edi, dword [ebx + 0x1a38]
add edx, dword [ebx + 0x1a94]
add eax, dword [ebx + 0x1a30]
mov esi, dword [ebx + 0x1a84]
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], edi
mov dword [esp + 0x48], edi
mov dword [esp + 0x2c], edx
mov dword [esp + 0x4c], edx
test esi, esi
je 0x5c038a52
lea edx, [ebx + 0x1a9c]
mov eax, dword [edx]
lea edx, [edx + 8]
add dword [esp + ecx*4 + 0x148], eax
inc ecx
cmp ecx, esi
jb 0x5c038805
mov eax, dword [esp + 0x148]
jmp 0x5c038a4e
test ecx, ecx
jne 0x5c038a0d
test dword [esp + 0x6c], 0x200000
lea edi, [esi + 0x30]
jne 0x5c038a04
test eax, 0x4010000
jne 0x5c03885a
push dword [ebx + 0x1a8c]
push dword [esp + 0x1c]
push edi
call sub.msvcrt.dll_memcpy
add esp, 0xc
jmp 0x5c038a0d
test eax, 0x10000
jne 0x5c03890a
mov eax, dword [esp + 0x18]
xor esi, esi
mov dword [esp + 0x14], eax
mov dword [esp + 0x28], esi
cmp dword [ebx + 0x1a88], esi
jbe 0x5c038a11
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 + 0x50], ecx
mov dword [esp + 0xc], eax
test eax, eax
je 0x5c0388d2
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 [0x5c05d150]
call esi
mov esi, dword [esp + 0x34]
jmp 0x5c0388da
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 + 0x50]
inc esi
mov eax, dword [esp + 0x10]
add eax, 4
mov dword [esp + 0x14], edx
mov dword [esp + 0x28], esi
mov dword [esp + 0x10], eax
cmp esi, dword [ebx + 0x1a88]
jb 0x5c038889
jmp 0x5c038a0d
and dword [esp + 0x20], 0
cmp dword [ebx + 0x1c2c], 0
jbe 0x5c038a0d
lea eax, [ebx + 0x1ad8]
lea esi, [ebx + 0x1b30]
mov dword [esp + 0x14], eax
mov dword [esp + 0x28], esi
mov eax, dword [esi + 0x18]
test eax, eax
jne 0x5c03893f
mov ecx, dword [esi]
add ecx, dword [esp + 0x18]
jmp 0x5c0389a3
cmp eax, 0x20000
jne 0x5c03894f
lea ecx, [esp + 0x100]
jmp 0x5c0389a3
cmp eax, 0x10000
jne 0x5c03895f
lea ecx, [esp + 0x10c]
jmp 0x5c0389a3
test dword [ebx + 0x1a60], 0x1000000
je 0x5c038989
lea eax, [esp + 0x13c]
push eax
lea edx, [esp + 0x110]
lea ecx, [esp + 0x104]
call fcn.5c01a4a7
pop ecx
jmp 0x5c03899c
lea edx, [esp + 0x13c]
lea ecx, [esp + 0x10c]
call fcn.5c01a531
lea ecx, [esp + 0x13c]
cmp dword [esi + 0x10], 0
mov eax, dword [esp + 0x14]
mov eax, dword [eax]
mov dword [esp + 0xc], eax
je 0x5c0389d2
push dword [esi + 0x10]
mov eax, dword [esi + 0x14]
push edi
push ecx
mov esi, dword [eax*4 + 0x5c0016b0]
mov ecx, esi
call dword [0x5c05d150]
call esi
mov esi, dword [esp + 0x34]
jmp 0x5c0389da
push eax
push ecx
push edi
call sub.msvcrt.dll_memcpy
mov ecx, dword [esp + 0x2c]
add esp, 0xc
add edi, dword [esp + 0xc]
add esi, 0x20
add dword [esp + 0x14], 4
inc ecx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x28], esi
cmp ecx, dword [ebx + 0x1c2c]
jb 0x5c038930
jmp 0x5c038a0d
fld dword [esp + 0x54]
fst dword [edi]
fstp dword [esi + 0x34]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x5c]
add dword [esp + 0x30], edx
test dword [ebx + 0x1a44], 0x40000000
jne 0x5c038a52
mov ecx, dword [esp + 0x3c]
add dword [esp + 0x38], edx
add ecx, edx
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x48], ecx
mov ecx, dword [esp + 0x2c]
add ecx, edx
add eax, edx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x148], eax
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x7c]
add ecx, 0xb0
sub dword [esp + 0x1c], 1
mov dword [esp + 0x24], ecx
jne 0x5c037a45
lea eax, [esp + 0x218]
mov ecx, ebx
push eax
lea edx, [esp + 0x16c]
call fcn.5c021690
pop ecx
mov ecx, eax
mov dword [esp + 0x50], ecx
test ecx, ecx
jne 0x5c038c74
jmp 0x5c038c15
mov edx, dword [ebx + 0x1a60]
mov eax, dword [esp + 0x30]
and edx, 0x8000000
mov edi, dword [esp + 0x5c]
add eax, edi
mov esi, dword [ebx + 0x1a44]
mov dword [esp + 0xc], eax
and esi, 0x40000000
jne 0x5c038b66
test edx, edx
je 0x5c038b31
mov ecx, dword [esp + 0x38]
add ecx, dword [ebx + 0x1a30]
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0x3c]
add ecx, dword [ebx + 0x1a38]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x48], ecx
mov ecx, dword [esp + 0x2c]
add ecx, dword [ebx + 0x1a94]
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x4c], ecx
xor ecx, ecx
cmp dword [ebx + 0x1a84], ecx
jbe 0x5c038b66
lea edi, [ebx + 0x1a9c]
mov eax, dword [edi]
lea edi, [edi + 8]
add dword [esp + ecx*4 + 0x148], eax
inc ecx
cmp ecx, dword [ebx + 0x1a84]
jb 0x5c038b0b
mov edi, dword [esp + 0x148]
mov eax, dword [esp + 0xc]
mov dword [esp + 0x18], edi
jmp 0x5c038b6a
mov ecx, dword [esp + 0x3c]
add dword [esp + 0x38], edi
add ecx, edi
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x48], ecx
mov ecx, dword [esp + 0x2c]
add ecx, edi
mov edi, dword [esp + 0x18]
add edi, dword [esp + 0x5c]
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x18], edi
mov dword [esp + 0x148], edi
jmp 0x5c038b6a
mov edi, dword [esp + 0x18]
add eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x30], eax
test edx, edx
je 0x5c038be0
test esi, esi
jne 0x5c038c15
add ecx, dword [ebx + 0x1a94]
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x3c]
add eax, dword [ebx + 0x1a38]
add edx, dword [ebx + 0x1a30]
mov esi, dword [ebx + 0x1a84]
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x4c], ecx
xor ecx, ecx
mov dword [esp + 0x38], edx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x48], eax
test esi, esi
je 0x5c038c15
lea edx, [ebx + 0x1a9c]
mov eax, dword [edx]
lea edx, [edx + 8]
add dword [esp + ecx*4 + 0x148], eax
inc ecx
cmp ecx, esi
jb 0x5c038bc2
mov eax, dword [esp + 0x148]
mov dword [esp + 0x18], eax
jmp 0x5c038c15
mov dword [esp + 0x30], eax
test esi, esi
jne 0x5c038c15
mov edx, dword [esp + 0x5c]
add ecx, edx
mov eax, dword [esp + 0x3c]
add dword [esp + 0x38], edx
add eax, edx
add edi, edx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x18], edi
mov dword [esp + 0x148], edi
sub dword [esp + 0x84], 1
mov edi, dword [esp + 0x30]
jne 0x5c0368fc
mov eax, dword [esp + 0x74]
test eax, eax
je 0x5c038c70
mov ecx, dword [esp + 0x80]
lea edi, [eax + eax]
mov dword [ebx + 0x1a54], eax
mov eax, dword [ebx]
mov dword [ebx + 0x1a70], ecx
mov dword [ebx + 0x1a3c], 2
mov dword [ebx + 0x1a40], edi
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x5c05d150]
mov ecx, ebx
call esi
add dword [ebx + 0x1a48], edi
mov ecx, eax
jmp 0x5c038c74
mov ecx, dword [esp + 0x50]
test dword [ebx + 0x1a60], 0x100000
jne 0x5c038d80
fld dword [ebx + 0x68c]
fld dword [ebx + 0x1b24]
fadd st(1)
fstp dword [ebx + 0x1b24]
fadd dword [ebx + 0x1b28]
fstp dword [ebx + 0x1b28]
fld dword [ebx + 0x1b1c]
fsub dword [ebx + 0x68c]
fstp dword [ebx + 0x1b1c]
fld dword [ebx + 0x1b20]
fsub dword [ebx + 0x68c]
fstp dword [esp + 0x58]
fld dword [esp + 0x58]
fst dword [ebx + 0x1b20]
fld dword [ebx + 0x624]
fstp dword [esp + 0x58]
fstp dword [esp + 0x50]
fld dword [ebx + 0x1b1c]
fld dword [esp + 0x58]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x5c038d05
fstp dword [ebx + 0x1b1c]
fld dword [ebx + 0x1b20]
fstp dword [esp + 0x50]
jmp 0x5c038d07
fstp st(0)
fld dword [ebx + 0x628]
fstp dword [esp + 0x58]
fld dword [esp + 0x50]
fld dword [esp + 0x58]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x5c038d2c
fstp dword [ebx + 0x1b20]
jmp 0x5c038d2e
fstp st(0)
fld dword [ebx + 0x62c]
fstp dword [esp + 0x58]
fld dword [ebx + 0x1b24]
fld dword [esp + 0x58]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x5c038d55
fstp dword [ebx + 0x1b24]
jmp 0x5c038d57
fstp st(0)
fld dword [ebx + 0x630]
fstp dword [esp + 0x58]
fld dword [ebx + 0x1b28]
fld dword [esp + 0x58]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x5c038d7e
fstp dword [ebx + 0x1b28]
jmp 0x5c038d80
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 0x5c0365ac
and dword [ebx + 0x1a44], 0xffdfffff
cmp dword [ebx + 0x684], edi
je 0x5c0365a5
xor eax, eax
jmp 0x5c0365ac