Function at 0x5c02b530
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, 0x374
mov eax, dword [0x5c059aa4]
xor eax, esp
mov dword [esp + 0x370], eax
test byte [0x5c05b7fc], 2
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
push ebx
je 0x5c02b58c
call fcn.5c01d010
cmp dword [ebx + 0x684], 0
jne 0x5c02e024
mov ecx, ebx
call fcn.5c011281
mov ecx, dword [esp + 0x37c]
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 0x5c02b55c
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 + 0x78], edi
mov dword [esp + 0x88], ecx
cmp eax, 0xffffffff
je 0x5c02e00e
mov edx, dword [ebx + 0x1a48]
push 3
mov dword [esp + 0x68], ecx
pop ecx
mov dword [esp + 0x8c], edx
cmp eax, ecx
jbe 0x5c02b60c
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.5c02b470
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 + 0x84], eax
mov eax, dword [ebx + 0x1a64]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x148], ecx
mov ecx, 0x8000000
mov dword [esp + 0x58], eax
mov eax, dword [ebx + 0x1a7c]
mov dword [esp + 0x70], edx
mov dword [esp + 0x38], edi
mov dword [esp + 0x60], eax
test ecx, edx
jne 0x5c02b6b2
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 + 0x34], edx
cmp dword [ebx + 0x1a84], 0
mov dword [esp + 0x44], edx
mov edx, dword [esp + 0x70]
mov dword [esp + 0x3c], esi
mov dword [esp + 0x28], ecx
mov dword [esp + 0x4c], ecx
je 0x5c02b73a
mov ecx, dword [ebx + 0x1cbc]
add ecx, edi
jmp 0x5c02b6fb
mov eax, dword [ebx + 0x1a2c]
mov dword [esp + 0x3c], eax
mov eax, dword [ebx + 0x1a34]
mov dword [esp + 0x34], eax
mov dword [esp + 0x44], eax
mov eax, dword [ebx + 0x1a90]
mov dword [esp + 0x28], eax
mov dword [esp + 0x4c], eax
test dl, 0x10
jne 0x5c02b708
test dword [ebx + 0x1a44], ecx
jne 0x5c02b708
cmp dword [ebx + 0x1a84], 0
je 0x5c02b73a
mov eax, dword [ebx + 0x688]
mov ecx, dword [ebx + eax*8 + 0x1a98]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x148], ecx
jmp 0x5c02b73a
mov esi, dword [ebx + 0x1a84]
xor ecx, ecx
test esi, esi
je 0x5c02b73a
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 0x5c02b71a
mov eax, dword [esp + 0x148]
mov edx, dword [esp + 0x70]
mov dword [esp + 0x1c], 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 0x5c02b891
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 0x5c02b88b
mov edx, dword [ebx + 0x1a5c]
test dl, 0x40
je 0x5c02b811
xor edi, edi
mov ecx, eax
cmp dword [ebx + 0x5f8], edi
jne 0x5c02b7be
or ecx, 0x2200
lea esi, [esp + 0x44]
mov dword [ebx + 0x1a44], ecx
mov dword [esp + 0x7c], esi
mov eax, ecx
cmp dword [ebx + 0x5f0], edi
jne 0x5c02b7db
or eax, 0x4200
lea ecx, [esp + 0x44]
mov dword [ebx + 0x1a44], eax
mov dword [esp + 0x68], ecx
cmp dword [ebx + 0x5ec], edi
jne 0x5c02b7f6
or eax, 0x10200
lea ecx, [esp + 0x44]
mov dword [ebx + 0x1a44], eax
mov dword [esp + 0x74], ecx
cmp dword [ebx + 0x5f4], edi
jne 0x5c02b811
or eax, 0x8200
lea ecx, [esp + 0x44]
mov dword [ebx + 0x1a44], eax
mov dword [esp + 0x6c], ecx
test dl, dl
jns 0x5c02b88b
cmp dword [ebx + 0x5f8], 1
jne 0x5c02b831
or eax, 0x2200
lea esi, [esp + 0x4c]
mov dword [ebx + 0x1a44], eax
mov dword [esp + 0x7c], esi
cmp dword [ebx + 0x5f0], 1
jne 0x5c02b84d
or eax, 0x4200
lea ecx, [esp + 0x4c]
mov dword [ebx + 0x1a44], eax
mov dword [esp + 0x68], ecx
cmp dword [ebx + 0x5ec], 1
jne 0x5c02b869
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 + 0x38]
jne 0x5c02b893
or eax, 0x8200
lea ecx, [esp + 0x4c]
mov dword [ebx + 0x1a44], eax
mov dword [esp + 0x6c], ecx
jmp 0x5c02b893
mov edi, dword [esp + 0x38]
jmp 0x5c02b893
fstp st(0)
mov edx, dword [ebx + 0x1a54]
lea eax, [esp + 0x218]
mov dword [esp + 0x194], eax
lea eax, [esp + 0x2c8]
mov dword [esp + 0x244], eax
mov dword [esp + 0x80], edx
test edx, edx
je 0x5c02de72
fld1
fstp qword [esp + 0x90]
fld qword [0x5c003180]
fstp qword [esp + 0x98]
mov eax, edi
mov dword [esp + 0x40], 3
lea ecx, [esp + 0x168]
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.5c02b037
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 + 0x40], 1
mov dword [esp + 0x18], ecx
jne 0x5c02b8f8
or dword [ebx + 0x680], esi
and dword [ebx + 0x684], edi
test edi, edi
jne 0x5c02dc37
mov edx, dword [esp + 0x84]
test edx, esi
jne 0x5c02ca86
inc dword [esp + 0x78]
lea ecx, [esp + 0x168]
mov eax, dword [esp + 0x64]
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x20], 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 + 0x24]
fld dword [esp + 0x14]
fld dword [esp + 0x24]
jne 0x5c02ba25
fld st(1)
fld dword [ebx + 0x1b1c]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x5c02b9d8
fxch st(2)
fst dword [ebx + 0x1b1c]
fxch st(2)
fld dword [ebx + 0x1b24]
fcompp
fnstsw ax
test ah, 5
jp 0x5c02b9f1
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 0x5c02ba0c
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 0x5c02ba25
fst dword [ebx + 0x1b28]
fld dword [ecx + 8]
xor ecx, ecx
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 0x5c02bcc1
mov eax, dword [esp + 0x38]
fld dword [ebx + 0x444]
mov edx, 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 + 0x24]
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 edx, edx
je 0x5c02bcb8
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 + 0x24]
fst dword [esp + 0x50]
fld dword [esp + 0x18]
fst dword [esp + 0x48]
fld dword [esp + 0x14]
fst dword [esp + 0x40]
fxch st(3)
fst dword [esp + 0x18]
fst dword [esp + 0x24]
fstp dword [esp + 0x14]
test edx, edx
je 0x5c02bc71
mov ecx, dword [esp + 0x38]
lea eax, [ebx + 0x2e4]
fxch st(1)
fstp dword [esp + 0x50]
fstp dword [esp + 0x48]
fstp dword [esp + 0x40]
fld dword [ecx + 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 + 0x24]
fstp dword [esp + 0x100]
fld dword [esp + 0x48]
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 + 0x40]
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 [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 + 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 + 0x48]
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 esi, edx
jb 0x5c02bb84
fld dword [esp + 0x24]
mov ecx, dword [ebx + 0x5b8]
fstp dword [esp + 0x18]
fld dword [esp + 0x10]
fstp dword [esp + 0x24]
fld dword [esp + 0x14]
fstp dword [esp + 0x14]
jmp 0x5c02bc77
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 + 0x48]
fmul st(1)
fadd dword [esp + 0x24]
fstp dword [esp + 0x104]
fmul dword [esp + 0x40]
fadd dword [esp + 0x14]
fstp dword [esp + 0x108]
or ecx, 1
mov dword [ebx + 0x5b8], ecx
test edi, 0x40000000
je 0x5c02bf27
mov esi, dword [esp + 0x3c]
fld dword [ebx + 0x484]
mov ecx, dword [ebx + 0x1cb4]
fmul dword [esi]
fld dword [ebx + 0x488]
fmul dword [esi + 4]
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 + 0x494]
fmul dword [esi]
fld dword [ebx + 0x498]
fmul dword [esi + 4]
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 + 0x24]
fstp dword [esp + 0x110]
fld dword [ebx + 0x4a4]
fmul dword [esi]
fld dword [ebx + 0x4a8]
fmul dword [esi + 4]
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 0x5c02bf00
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 + 0x40]
fld dword [esp + 0x24]
fst dword [esp + 0x48]
fld dword [esp + 0x10]
fst dword [esp + 0x50]
fxch st(3)
fst dword [esp + 0x14]
fst dword [esp + 0x24]
fstp dword [esp + 0x18]
test ecx, ecx
je 0x5c02bebb
mov edi, dword [esp + 0x38]
lea eax, [ebx + 0x38c]
fxch st(1)
fstp dword [esp + 0x40]
fstp dword [esp + 0x48]
fstp dword [esp + 0x50]
fld dword [edi + edx*4 + 0xc]
inc edx
fld dword [esp + 0x40]
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 + 0x48]
fmul st(1)
fadd dword [esp + 0x110]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x24]
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 + 0x40]
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 + 0x48]
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 0x5c02bdd7
fld dword [esp + 0x14]
mov edi, dword [ebx + 0x1a60]
fstp dword [esp + 0x14]
fld dword [esp + 0x24]
fstp dword [esp + 0x24]
fld dword [esp + 0x10]
fstp dword [esp + 0x18]
jmp 0x5c02bec1
fstp st(1)
fstp st(0)
fstp st(0)
fsub dword [esp + 0x30]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fld dword [esp + 0x40]
fmul st(1)
fadd dword [esp + 0x14]
fstp dword [esp + 0x10c]
fld dword [esp + 0x48]
fmul st(1)
fadd dword [esp + 0x24]
fstp dword [esp + 0x110]
fmul dword [esp + 0x50]
fadd dword [esp + 0x18]
fstp dword [esp + 0x114]
jmp 0x5c02bf02
fstp st(0)
test edi, 0x2000000
je 0x5c02bf18
lea edx, [esp + 0x10c]
mov ecx, edx
call fcn.5c04ff08
or dword [ebx + 0x5b8], 2
mov ecx, dword [ebx + 0x5b8]
jmp 0x5c02bf29
fstp st(0)
mov edx, dword [ebx + 0x1a44]
test edx, 0x400
je 0x5c02c4ec
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 edx, 0x200
je 0x5c02bfc5
test edx, 0x10000
je 0x5c02bf89
mov eax, dword [esp + 0x74]
test eax, eax
je 0x5c02bf81
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c02bf83
xor eax, eax
mov dword [ebx + 0x540], eax
test edx, 0x4000
je 0x5c02bfa7
mov eax, dword [esp + 0x68]
test eax, eax
je 0x5c02bf9f
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c02bfa1
xor eax, eax
mov dword [ebx + 0x550], eax
test edx, 0x8000
je 0x5c02bfc5
mov eax, dword [esp + 0x6c]
test eax, eax
je 0x5c02bfbd
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c02bfbf
xor eax, eax
mov dword [ebx + 0x570], eax
mov edi, dword [ebx + 0x5c0]
mov esi, edx
test edi, edi
je 0x5c02c011
fstp st(0)
mov esi, dword [edi + 0x80]
lea eax, [esp + 0x100]
push eax
push dword [esp + 0x40]
mov ecx, esi
push dword [esp + 0x40]
push edi
push ebx
call dword [0x5c05d150]
call esi
mov edi, dword [edi + 0x58]
add esp, 0x14
test edi, edi
jne 0x5c02bfd3
mov edx, dword [ebx + 0x1a44]
mov esi, edx
mov ecx, dword [ebx + 0x5b8]
fld dword [esp + 0x5c]
test edx, 0x12000
je 0x5c02c25c
test byte [ebx + 0x5b8], 8
jne 0x5c02c03a
fst dword [ebx + 0x504]
fst dword [ebx + 0x508]
fstp dword [ebx + 0x50c]
jmp 0x5c02c03c
fstp st(0)
test edx, 0x10000
je 0x5c02c100
mov eax, dword [esp + 0x74]
test eax, eax
je 0x5c02c056
mov eax, dword [eax]
mov ecx, dword [eax]
jmp 0x5c02c058
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 0x5c02c072
fadd dword [0x5c0031f0]
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 0x5c02c0a6
fadd dword [0x5c0031f0]
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 0x5c02c0d5
fadd dword [0x5c0031f0]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
mov eax, dword [esp + 0x148]
mov edi, dword [esp + 0x4c]
fmul dword [ebx + 0x55c]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x34], eax
mov dword [esp + 0x28], edi
jmp 0x5c02c140
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 0x5c02c202
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x5c02c16a
mov eax, dword [eax]
mov ecx, dword [eax]
jmp 0x5c02c16c
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 0x5c02c186
fadd dword [0x5c0031f0]
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 0x5c02c1b4
fadd dword [0x5c0031f0]
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 0x5c02c1dd
fadd dword [0x5c0031f0]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
mov eax, dword [esp + 0x148]
mov edi, dword [esp + 0x4c]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x34], eax
mov dword [esp + 0x28], edi
jmp 0x5c02c23b
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 0x5c02c262
mov edi, dword [esp + 0x28]
fstp st(0)
test cl, 8
je 0x5c02c390
test esi, 0x12000
jne 0x5c02c2b3
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 0x5c02c2b9
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 0x5c02c31c
xor ecx, ecx
jmp 0x5c02c322
cmp ecx, eax
jle 0x5c02c322
mov ecx, eax
test edx, edx
jns 0x5c02c32a
xor edx, edx
jmp 0x5c02c330
cmp edx, eax
jle 0x5c02c330
mov edx, eax
test esi, esi
jns 0x5c02c338
xor esi, esi
jmp 0x5c02c33e
cmp esi, eax
jle 0x5c02c33e
mov esi, eax
test dword [ebx + 0x1a44], 0x4000
jne 0x5c02c35a
shl ecx, 8
add ecx, edx
shl ecx, 8
add ecx, dword [ebx + 0x510]
jmp 0x5c02c379
mov eax, dword [esp + 0x68]
test eax, eax
je 0x5c02c368
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c02c36a
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 0x5c02c3ca
test esi, 0x4000
jne 0x5c02c3a6
mov eax, dword [ebx + 0x5e8]
add eax, dword [ebx + 0x510]
jmp 0x5c02c3c4
mov eax, dword [esp + 0x68]
test eax, eax
je 0x5c02c3ba
mov eax, dword [eax]
mov edx, dword [eax]
and edx, 0xff000000
jmp 0x5c02c3bc
xor edx, edx
mov eax, dword [ebx + 0x5e8]
add eax, edx
mov dword [ebx + 0x530], eax
test cl, 4
je 0x5c02c496
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 0x5c02c434
xor ecx, ecx
jmp 0x5c02c43a
cmp ecx, eax
jle 0x5c02c43a
mov ecx, eax
test edx, edx
jns 0x5c02c442
xor edx, edx
jmp 0x5c02c448
cmp edx, eax
jle 0x5c02c448
mov edx, eax
test esi, esi
jns 0x5c02c450
xor esi, esi
jmp 0x5c02c456
cmp esi, eax
jle 0x5c02c456
mov esi, eax
test dword [ebx + 0x1a44], 0x8000
jne 0x5c02c472
shl ecx, 8
add ecx, edx
shl ecx, 8
add ecx, dword [ebx + 0x5bc]
jmp 0x5c02c491
mov eax, dword [esp + 0x6c]
test eax, eax
je 0x5c02c480
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c02c482
xor eax, eax
shl ecx, 8
and eax, 0xff000000
add ecx, edx
shl ecx, 8
add ecx, eax
lea eax, [ecx + esi]
jmp 0x5c02c4dc
test esi, 0x100000
jne 0x5c02c4e2
test dword [ebx + 0x1a60], 0x800
jne 0x5c02c4b7
test byte [ebx + 0x1a5c], 0x80
je 0x5c02c4da
mov eax, dword [edi]
jmp 0x5c02c4dc
test esi, 0x8000
jne 0x5c02c4c7
mov eax, dword [ebx + 0x5bc]
jmp 0x5c02c4dc
mov eax, dword [esp + 0x6c]
test eax, eax
je 0x5c02c4da
mov eax, dword [eax]
mov eax, dword [eax]
and eax, 0xff000000
jmp 0x5c02c4dc
xor eax, eax
mov dword [ebx + 0x560], eax
mov eax, dword [ebx + 0x1a44]
mov ecx, eax
jmp 0x5c02c527
test byte [ebx + 0x1a5c], 0xc0
mov eax, edx
mov ecx, edx
je 0x5c02c527
test byte [ebx + 0x1a5c], 0x40
je 0x5c02c50e
mov eax, dword [esp + 0x34]
mov eax, dword [eax]
mov dword [ebx + 0x530], eax
test byte [ebx + 0x1a5c], 0x80
mov eax, edx
je 0x5c02c527
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
mov dword [ebx + 0x560], eax
mov eax, edx
test eax, 0x100
je 0x5c02c54a
mov edx, dword [esp + 0x38]
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 + 0x64]
test eax, eax
js 0x5c02c569
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 0x5c02c585
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 0x5c02c832
test ecx, ecx
jne 0x5c02c7b1
test dword [esp + 0x70], 0x200000
jne 0x5c02c7a8
test eax, 0x4010000
jne 0x5c02c613
xor eax, eax
mov dword [esp + 0x14], eax
cmp dword [ebx + 0x1a88], eax
jbe 0x5c02c7b1
lea ecx, [ebx + 0x1ad8]
mov dword [esp + 0x24], ecx
mov esi, dword [ecx]
push esi
push dword [esp + eax*4 + 0x14c]
push edi
call sub.msvcrt.dll_memcpy
mov eax, dword [esp + 0x20]
add esp, 0xc
mov ecx, dword [esp + 0x24]
add edi, esi
inc eax
add ecx, 4
mov dword [esp + 0x14], eax
mov dword [esp + 0x24], ecx
cmp eax, dword [ebx + 0x1a88]
jb 0x5c02c5dd
jmp 0x5c02c7b1
test eax, 0x10000
jne 0x5c02c6ac
xor ecx, ecx
mov dword [esp + 0x14], ecx
cmp dword [ebx + 0x1a88], ecx
jbe 0x5c02c7b1
lea eax, [ebx + 0x1af8]
mov dword [esp + 0x24], 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 + 0x18], edx
mov dword [esp + 0x10], eax
test eax, eax
jne 0x5c02c662
push edx
push ecx
push edi
call sub.msvcrt.dll_memcpy
jmp 0x5c02c684
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 [0x5c05d150]
call esi
mov ecx, dword [esp + 0x20]
add esp, 0xc
add edi, dword [esp + 0x18]
inc ecx
mov eax, dword [esp + 0x24]
add eax, 4
mov dword [esp + 0x14], ecx
mov dword [esp + 0x24], eax
cmp ecx, dword [ebx + 0x1a88]
jb 0x5c02c63a
jmp 0x5c02c7b1
and dword [esp + 0x14], 0
cmp dword [ebx + 0x1c2c], 0
jbe 0x5c02c7b1
lea eax, [ebx + 0x1ad8]
lea esi, [ebx + 0x1b40]
mov dword [esp + 0x30], eax
mov dword [esp + 0x24], esi
mov eax, dword [esi + 8]
test eax, eax
jne 0x5c02c6e5
mov eax, dword [esi - 0x14]
mov ecx, dword [esp + eax*4 + 0x148]
jmp 0x5c02c749
cmp eax, 0x20000
jne 0x5c02c6f5
lea ecx, [esp + 0x100]
jmp 0x5c02c749
cmp eax, 0x10000
jne 0x5c02c705
lea ecx, [esp + 0x10c]
jmp 0x5c02c749
test dword [ebx + 0x1a60], 0x1000000
je 0x5c02c72f
lea eax, [esp + 0x118]
push eax
lea edx, [esp + 0x110]
lea ecx, [esp + 0x104]
call fcn.5c01a4a7
pop ecx
jmp 0x5c02c742
lea edx, [esp + 0x118]
lea ecx, [esp + 0x10c]
call fcn.5c01a531
lea ecx, [esp + 0x118]
cmp dword [esi], 0
mov eax, dword [esp + 0x30]
mov eax, dword [eax]
mov dword [esp + 0x10], eax
je 0x5c02c776
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 + 0x30]
jmp 0x5c02c77e
push eax
push ecx
push edi
call sub.msvcrt.dll_memcpy
mov ecx, dword [esp + 0x20]
add esp, 0xc
add edi, dword [esp + 0x10]
add esi, 0x20
add dword [esp + 0x30], 4
inc ecx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x24], esi
cmp ecx, dword [ebx + 0x1c2c]
jb 0x5c02c6d2
jmp 0x5c02c7b1
fld dword [esp + 0x5c]
fst dword [edi]
fstp dword [edi + 4]
mov eax, dword [esp + 0x60]
add dword [esp + 0x38], eax
test dword [ebx + 0x1a44], 0x40000000
jne 0x5c02ca5f
mov eax, dword [esp + 0x3c]
xor ecx, ecx
add eax, dword [ebx + 0x1a30]
mov edx, dword [esp + 0x34]
add edx, dword [ebx + 0x1a38]
mov esi, dword [ebx + 0x1a84]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x28]
add eax, dword [ebx + 0x1a94]
mov dword [esp + 0x34], edx
mov dword [esp + 0x44], edx
mov dword [esp + 0x28], eax
mov dword [esp + 0x4c], eax
test esi, esi
je 0x5c02ca5f
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 0x5c02c811
mov eax, dword [esp + 0x148]
mov dword [esp + 0x1c], eax
jmp 0x5c02ca5f
test ecx, ecx
jne 0x5c02ca1a
test dword [esp + 0x70], 0x200000
jne 0x5c02ca11
test eax, 0x4010000
jne 0x5c02c867
push dword [ebx + 0x1a8c]
push dword [esp + 0x20]
push edi
call sub.msvcrt.dll_memcpy
add esp, 0xc
jmp 0x5c02ca1a
test eax, 0x10000
jne 0x5c02c917
mov edx, dword [esp + 0x1c]
xor esi, esi
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], esi
cmp dword [ebx + 0x1a88], esi
jbe 0x5c02ca1a
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 + 0x40], ecx
mov dword [esp + 0x10], eax
test eax, eax
je 0x5c02c8df
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 [0x5c05d150]
call esi
mov esi, dword [esp + 0x30]
jmp 0x5c02c8e7
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 + 0x40]
inc esi
mov eax, dword [esp + 0x18]
add eax, 4
mov dword [esp + 0x30], edx
mov dword [esp + 0x24], esi
mov dword [esp + 0x18], eax
cmp esi, dword [ebx + 0x1a88]
jb 0x5c02c896
jmp 0x5c02ca1a
and dword [esp + 0x14], 0
cmp dword [ebx + 0x1c2c], 0
jbe 0x5c02ca1a
lea eax, [ebx + 0x1ad8]
lea esi, [ebx + 0x1b30]
mov dword [esp + 0x30], eax
mov dword [esp + 0x24], esi
mov eax, dword [esi + 0x18]
test eax, eax
jne 0x5c02c94c
mov ecx, dword [esi]
add ecx, dword [esp + 0x1c]
jmp 0x5c02c9b0
cmp eax, 0x20000
jne 0x5c02c95c
lea ecx, [esp + 0x100]
jmp 0x5c02c9b0
cmp eax, 0x10000
jne 0x5c02c96c
lea ecx, [esp + 0x10c]
jmp 0x5c02c9b0
test dword [ebx + 0x1a60], 0x1000000
je 0x5c02c996
lea eax, [esp + 0x124]
push eax
lea edx, [esp + 0x110]
lea ecx, [esp + 0x104]
call fcn.5c01a4a7
pop ecx
jmp 0x5c02c9a9
lea edx, [esp + 0x124]
lea ecx, [esp + 0x10c]
call fcn.5c01a531
lea ecx, [esp + 0x124]
cmp dword [esi + 0x10], 0
mov eax, dword [esp + 0x30]
mov eax, dword [eax]
mov dword [esp + 0x10], eax
je 0x5c02c9df
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 + 0x30]
jmp 0x5c02c9e7
push eax
push ecx
push edi
call sub.msvcrt.dll_memcpy
mov ecx, dword [esp + 0x20]
add esp, 0xc
add edi, dword [esp + 0x10]
add esi, 0x20
add dword [esp + 0x30], 4
inc ecx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x24], esi
cmp ecx, dword [ebx + 0x1c2c]
jb 0x5c02c93d
jmp 0x5c02ca1a
fld dword [esp + 0x5c]
fst dword [edi]
fstp dword [edi + 4]
mov edx, dword [esp + 0x60]
add dword [esp + 0x38], edx
test dword [ebx + 0x1a44], 0x40000000
jne 0x5c02ca5f
mov eax, dword [esp + 0x34]
mov edi, dword [esp + 0x1c]
add eax, edx
add dword [esp + 0x3c], edx
mov dword [esp + 0x34], eax
mov dword [esp + 0x44], 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 + 0x1c], edi
mov dword [esp + 0x148], edi
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x64]
add eax, dword [esp + 0x58]
sub dword [esp + 0x20], 1
mov ecx, dword [ecx + 0x2c]
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x64], eax
jne 0x5c02b966
jmp 0x5c02de60
mov eax, dword [esp + 0x78]
test eax, eax
je 0x5c02cae7
mov ecx, dword [esp + 0x88]
imul edi, eax, 3
mov dword [ebx + 0x1a70], ecx
mov dword [ebx + 0x1a3c], 4
mov dword [ebx + 0x1a40], edi
mov dword [ebx + 0x1a54], eax
mov eax, dword [ebx]
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 + 0x64]
mov dword [esp + 0x88], eax
test ecx, ecx
jne 0x5c02debf
mov edx, dword [esp + 0x84]
and dword [esp + 0x78], 0
lea ecx, [esp + 0x168]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x24], 3
test dword [ecx + 0x10], edx
jne 0x5c02cbe4
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 0x5c02cbc3
fld st(1)
fld dword [ebx + 0x1b1c]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x5c02cb7a
fxch st(2)
fst dword [ebx + 0x1b1c]
fxch st(2)
fld dword [ebx + 0x1b24]
fcompp
fnstsw ax
test ah, 5
jp 0x5c02cb93
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 0x5c02cbae
fxch st(1)
fst dword [ebx + 0x1b20]
fxch st(1)
fld dword [ebx + 0x1b28]
fcompp
fnstsw ax
test ah, 5
jp 0x5c02cbc3
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 0x5c02cbeb
fld qword [esp + 0x90]
and dword [ebx + 0x5b8], 0
xor ecx, ecx
mov edx, dword [ebx + 0x1a60]
test edx, 0x20000000
je 0x5c02ce5f
mov eax, dword [esp + 0x38]
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 + 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 + 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 + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x10]
fstp dword [esp + 0x108]
test esi, esi
je 0x5c02ce56
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 + 0x40]
fld dword [esp + 0x20]
fst dword [esp + 0x48]
fld dword [esp + 0x10]
fst dword [esp + 0x50]
fxch st(3)
fst dword [esp + 0x20]
fst dword [esp + 0x2c]
fstp dword [esp + 0x14]
test esi, esi
je 0x5c02ce0f
mov ecx, dword [esp + 0x38]
lea eax, [ebx + 0x2e4]
fxch st(1)
fstp dword [esp + 0x40]
fstp dword [esp + 0x48]
fstp dword [esp + 0x50]
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 + 0x54]
fstp dword [esp + 0x100]
fld dword [esp + 0x48]
fmul st(1)
fadd dword [esp + 0x104]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x2c]
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 [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 + 0x40]
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 + 0x48]
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, esi
jb 0x5c02cd22
fld dword [esp + 0x54]
mov ecx, dword [ebx + 0x5b8]
fstp dword [esp + 0x20]
fld dword [esp + 0x2c]
fstp dword [esp + 0x2c]
fld dword [esp + 0x10]
fstp dword [esp + 0x14]
jmp 0x5c02ce15
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 + 0x40]
fmul st(1)
fadd dword [esp + 0x20]
fstp dword [esp + 0x100]
fld dword [esp + 0x48]
fmul st(1)
fadd dword [esp + 0x2c]
fstp dword [esp + 0x104]
fmul dword [esp + 0x50]
fadd dword [esp + 0x14]
fstp dword [esp + 0x108]
or ecx, 1
mov dword [ebx + 0x5b8], ecx
test edx, 0x40000000
je 0x5c02d0c5
mov edi, dword [esp + 0x3c]
fld dword [ebx + 0x484]
mov ecx, dword [ebx + 0x1cb4]
fmul dword [edi]
fld dword [ebx + 0x488]
fmul dword [edi + 4]
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 + 0x494]
fmul dword [edi]
fld dword [ebx + 0x498]
fmul dword [edi + 4]
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 + 0x20]
fstp dword [esp + 0x110]
fld dword [ebx + 0x4a4]
fmul dword [edi]
fld dword [ebx + 0x4a8]
fmul dword [edi + 4]
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 0x5c02d09e
fld dword [esp + 0x5c]
xor esi, esi
fst dword [esp + 0x18]
fst dword [esp + 0x10c]
fst dword [esp + 0x110]
fst dword [esp + 0x114]
fld dword [esp + 0x54]
fst dword [esp + 0x40]
fld dword [esp + 0x20]
fst dword [esp + 0x48]
fld dword [esp + 0x10]
fst dword [esp + 0x50]
fxch st(3)
fst dword [esp + 0x20]
fst dword [esp + 0x2c]
fstp dword [esp + 0x14]
test ecx, ecx
je 0x5c02d059
mov edx, dword [esp + 0x38]
lea eax, [ebx + 0x38c]
fxch st(1)
fstp dword [esp + 0x40]
fstp dword [esp + 0x48]
fstp dword [esp + 0x50]
fld dword [edx + esi*4 + 0xc]
inc esi
fld dword [esp + 0x40]
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 + 0x48]
fmul st(1)
fadd dword [esp + 0x110]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fst dword [esp + 0x2c]
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 + 0x40]
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 + 0x48]
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 esi, ecx
jb 0x5c02cf75
fld dword [esp + 0x54]
mov edx, dword [ebx + 0x1a60]
fstp dword [esp + 0x20]
fld dword [esp + 0x2c]
fstp dword [esp + 0x2c]
fld dword [esp + 0x10]
fstp dword [esp + 0x14]
jmp 0x5c02d05f
fstp st(1)
fstp st(0)
fstp st(0)
fsub dword [esp + 0x18]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fld dword [esp + 0x40]
fmul st(1)
fadd dword [esp + 0x20]
fstp dword [esp + 0x10c]
fld dword [esp + 0x48]
fmul st(1)
fadd dword [esp + 0x2c]
fstp dword [esp + 0x110]
fmul dword [esp + 0x50]
fadd dword [esp + 0x14]
fstp dword [esp + 0x114]
jmp 0x5c02d0a0
fstp st(0)
test edx, 0x2000000
je 0x5c02d0b6
lea edx, [esp + 0x10c]
mov ecx, edx
call fcn.5c04ff08
or dword [ebx + 0x5b8], 2
mov ecx, dword [ebx + 0x5b8]
jmp 0x5c02d0c7
fstp st(0)
mov edx, dword [ebx + 0x1a44]
test edx, 0x400
je 0x5c02d68a
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 edx, 0x200
je 0x5c02d163
test edx, 0x10000
je 0x5c02d127
mov eax, dword [esp + 0x74]
test eax, eax
je 0x5c02d11f
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c02d121
xor eax, eax
mov dword [ebx + 0x540], eax
test edx, 0x4000
je 0x5c02d145
mov eax, dword [esp + 0x68]
test eax, eax
je 0x5c02d13d
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c02d13f
xor eax, eax
mov dword [ebx + 0x550], eax
test edx, 0x8000
je 0x5c02d163
mov eax, dword [esp + 0x6c]
test eax, eax
je 0x5c02d15b
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c02d15d
xor eax, eax
mov dword [ebx + 0x570], eax
mov edi, dword [ebx + 0x5c0]
mov esi, edx
test edi, edi
je 0x5c02d1af
fstp st(0)
mov esi, dword [edi + 0x80]
lea eax, [esp + 0x100]
push eax
push dword [esp + 0x40]
mov ecx, esi
push dword [esp + 0x40]
push edi
push ebx
call dword [0x5c05d150]
call esi
mov edi, dword [edi + 0x58]
add esp, 0x14
test edi, edi
jne 0x5c02d171
mov edx, dword [ebx + 0x1a44]
mov esi, edx
mov ecx, dword [ebx + 0x5b8]
fld dword [esp + 0x5c]
test edx, 0x12000
je 0x5c02d3fa
test byte [ebx + 0x5b8], 8
jne 0x5c02d1d8
fst dword [ebx + 0x504]
fst dword [ebx + 0x508]
fstp dword [ebx + 0x50c]
jmp 0x5c02d1da
fstp st(0)
test edx, 0x10000
je 0x5c02d29e
mov eax, dword [esp + 0x74]
test eax, eax
je 0x5c02d1f4
mov eax, dword [eax]
mov ecx, dword [eax]
jmp 0x5c02d1f6
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 0x5c02d210
fadd dword [0x5c0031f0]
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 0x5c02d244
fadd dword [0x5c0031f0]
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 0x5c02d273
fadd dword [0x5c0031f0]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
mov eax, dword [esp + 0x148]
mov edi, dword [esp + 0x4c]
fmul dword [ebx + 0x55c]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x34], eax
mov dword [esp + 0x28], edi
jmp 0x5c02d2de
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 0x5c02d3a0
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x5c02d308
mov eax, dword [eax]
mov ecx, dword [eax]
jmp 0x5c02d30a
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 0x5c02d324
fadd dword [0x5c0031f0]
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 0x5c02d352
fadd dword [0x5c0031f0]
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 0x5c02d37b
fadd dword [0x5c0031f0]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
mov eax, dword [esp + 0x148]
mov edi, dword [esp + 0x4c]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x34], eax
mov dword [esp + 0x28], edi
jmp 0x5c02d3d9
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 0x5c02d400
mov edi, dword [esp + 0x28]
fstp st(0)
test cl, 8
je 0x5c02d52e
test esi, 0x12000
jne 0x5c02d451
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 0x5c02d457
fld dword [ebx + 0x504]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
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 0x5c02d4ba
xor ecx, ecx
jmp 0x5c02d4c0
cmp ecx, eax
jle 0x5c02d4c0
mov ecx, eax
test edx, edx
jns 0x5c02d4c8
xor edx, edx
jmp 0x5c02d4ce
cmp edx, eax
jle 0x5c02d4ce
mov edx, eax
test esi, esi
jns 0x5c02d4d6
xor esi, esi
jmp 0x5c02d4dc
cmp esi, eax
jle 0x5c02d4dc
mov esi, eax
test dword [ebx + 0x1a44], 0x4000
jne 0x5c02d4f8
shl ecx, 8
add ecx, edx
shl ecx, 8
add ecx, dword [ebx + 0x510]
jmp 0x5c02d517
mov eax, dword [esp + 0x68]
test eax, eax
je 0x5c02d506
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c02d508
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 ecx, dword [ebx + 0x5b8]
mov esi, dword [ebx + 0x1a44]
jmp 0x5c02d568
test esi, 0x4000
jne 0x5c02d544
mov eax, dword [ebx + 0x5e8]
add eax, dword [ebx + 0x510]
jmp 0x5c02d562
mov eax, dword [esp + 0x68]
test eax, eax
je 0x5c02d558
mov eax, dword [eax]
mov edx, dword [eax]
and edx, 0xff000000
jmp 0x5c02d55a
xor edx, edx
mov eax, dword [ebx + 0x5e8]
add eax, edx
mov dword [ebx + 0x530], eax
test cl, 4
je 0x5c02d634
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 0x5c02d5d2
xor ecx, ecx
jmp 0x5c02d5d8
cmp ecx, eax
jle 0x5c02d5d8
mov ecx, eax
test edx, edx
jns 0x5c02d5e0
xor edx, edx
jmp 0x5c02d5e6
cmp edx, eax
jle 0x5c02d5e6
mov edx, eax
test esi, esi
jns 0x5c02d5ee
xor esi, esi
jmp 0x5c02d5f4
cmp esi, eax
jle 0x5c02d5f4
mov esi, eax
test dword [ebx + 0x1a44], 0x8000
jne 0x5c02d610
shl ecx, 8
add ecx, edx
shl ecx, 8
add ecx, dword [ebx + 0x5bc]
jmp 0x5c02d62f
mov eax, dword [esp + 0x6c]
test eax, eax
je 0x5c02d61e
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x5c02d620
xor eax, eax
shl ecx, 8
and eax, 0xff000000
add ecx, edx
shl ecx, 8
add ecx, eax
lea eax, [esi + ecx]
jmp 0x5c02d67a
test esi, 0x100000
jne 0x5c02d680
test dword [ebx + 0x1a60], 0x800
jne 0x5c02d655
test byte [ebx + 0x1a5c], 0x80
je 0x5c02d678
mov eax, dword [edi]
jmp 0x5c02d67a
test esi, 0x8000
jne 0x5c02d665
mov eax, dword [ebx + 0x5bc]
jmp 0x5c02d67a
mov eax, dword [esp + 0x6c]
test eax, eax
je 0x5c02d678
mov eax, dword [eax]
mov eax, dword [eax]
and eax, 0xff000000
jmp 0x5c02d67a
xor eax, eax
mov dword [ebx + 0x560], eax
mov eax, dword [ebx + 0x1a44]
mov ecx, eax
jmp 0x5c02d6c5
test byte [ebx + 0x1a5c], 0xc0
mov eax, edx
mov ecx, edx
je 0x5c02d6c5
test byte [ebx + 0x1a5c], 0x40
je 0x5c02d6ac
mov eax, dword [esp + 0x34]
mov eax, dword [eax]
mov dword [ebx + 0x530], eax
test byte [ebx + 0x1a5c], 0x80
mov eax, edx
je 0x5c02d6c5
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
mov dword [ebx + 0x560], eax
mov eax, edx
test eax, 0x100
je 0x5c02d6e6
mov edx, dword [esp + 0x38]
lea eax, [esp + 0x100]
push eax
mov ecx, ebx
call fcn.5c01a55e
pop ecx
mov ecx, dword [ebx + 0x1a44]
mov edx, dword [ebx + 0x1a6c]
mov esi, dword [esp + 0x30]
test dl, 0x40
je 0x5c02d6fe
mov eax, dword [ebx + 0x530]
mov dword [esi + 0x14], eax
test dl, dl
jns 0x5c02d70b
mov eax, dword [ebx + 0x560]
mov dword [esi + 0x18], eax
mov eax, dword [ebx + 0x1a60]
and ecx, 0x10000000
test eax, 0x8000000
je 0x5c02d9b3
test ecx, ecx
jne 0x5c02d932
test dword [esp + 0x70], 0x200000
lea edi, [esi + 0x30]
jne 0x5c02d929
test eax, 0x4010000
jne 0x5c02d794
xor eax, eax
mov dword [esp + 0x20], eax
cmp dword [ebx + 0x1a88], eax
jbe 0x5c02d932
lea ecx, [ebx + 0x1ad8]
mov dword [esp + 0x2c], 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 + 0x2c]
add edi, esi
inc eax
add ecx, 4
mov dword [esp + 0x20], eax
mov dword [esp + 0x2c], ecx
cmp eax, dword [ebx + 0x1a88]
jb 0x5c02d75e
jmp 0x5c02d932
test eax, 0x10000
jne 0x5c02d82d
xor ecx, ecx
mov dword [esp + 0x20], ecx
cmp dword [ebx + 0x1a88], ecx
jbe 0x5c02d932
lea eax, [ebx + 0x1af8]
mov dword [esp + 0x2c], 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 + 0x54], edx
mov dword [esp + 0x10], eax
test eax, eax
jne 0x5c02d7e3
push edx
push ecx
push edi
call sub.msvcrt.dll_memcpy
jmp 0x5c02d805
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 [0x5c05d150]
call esi
mov ecx, dword [esp + 0x2c]
add esp, 0xc
add edi, dword [esp + 0x54]
inc ecx
mov eax, dword [esp + 0x2c]
add eax, 4
mov dword [esp + 0x20], ecx
mov dword [esp + 0x2c], eax
cmp ecx, dword [ebx + 0x1a88]
jb 0x5c02d7bb
jmp 0x5c02d932
and dword [esp + 0x20], 0
cmp dword [ebx + 0x1c2c], 0
jbe 0x5c02d932
lea eax, [ebx + 0x1ad8]
lea esi, [ebx + 0x1b40]
mov dword [esp + 0x18], eax
mov dword [esp + 0x2c], esi
mov eax, dword [esi + 8]
test eax, eax
jne 0x5c02d866
mov eax, dword [esi - 0x14]
mov ecx, dword [esp + eax*4 + 0x148]
jmp 0x5c02d8ca
cmp eax, 0x20000
jne 0x5c02d876
lea ecx, [esp + 0x100]
jmp 0x5c02d8ca
cmp eax, 0x10000
jne 0x5c02d886
lea ecx, [esp + 0x10c]
jmp 0x5c02d8ca
test dword [ebx + 0x1a60], 0x1000000
je 0x5c02d8b0
lea eax, [esp + 0x130]
push eax
lea edx, [esp + 0x110]
lea ecx, [esp + 0x104]
call fcn.5c01a4a7
pop ecx
jmp 0x5c02d8c3
lea edx, [esp + 0x130]
lea ecx, [esp + 0x10c]
call fcn.5c01a531
lea ecx, [esp + 0x130]
cmp dword [esi], 0
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov dword [esp + 0x10], eax
je 0x5c02d8f7
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 + 0x38]
jmp 0x5c02d8ff
push eax
push ecx
push edi
call sub.msvcrt.dll_memcpy
mov ecx, dword [esp + 0x2c]
add esp, 0xc
add edi, dword [esp + 0x10]
add esi, 0x20
add dword [esp + 0x18], 4
inc ecx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x2c], esi
cmp ecx, dword [ebx + 0x1c2c]
jb 0x5c02d853
jmp 0x5c02d932
fld dword [esp + 0x5c]
fst dword [edi]
fstp dword [edi + 4]
mov eax, dword [esp + 0x60]
add dword [esp + 0x38], eax
test dword [ebx + 0x1a44], 0x40000000
jne 0x5c02dbe4
mov edi, dword [esp + 0x3c]
xor ecx, ecx
mov edx, dword [esp + 0x34]
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 + 0x3c], edi
mov dword [esp + 0x34], edx
mov dword [esp + 0x44], edx
mov dword [esp + 0x28], eax
mov dword [esp + 0x4c], eax
test esi, esi
je 0x5c02dbe4
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 0x5c02d992
mov eax, dword [esp + 0x148]
mov dword [esp + 0x1c], eax
jmp 0x5c02dbe4
test ecx, ecx
jne 0x5c02db9f
test dword [esp + 0x70], 0x200000
lea edi, [esi + 0x30]
jne 0x5c02db96
test eax, 0x4010000
jne 0x5c02d9ec
push dword [ebx + 0x1a8c]
mov esi, dword [esp + 0x20]
push esi
push edi
call sub.msvcrt.dll_memcpy
add esp, 0xc
jmp 0x5c02dba3
test eax, 0x10000
jne 0x5c02da9c
mov edx, dword [esp + 0x1c]
xor esi, esi
mov dword [esp + 0x18], edx
mov dword [esp + 0x2c], esi
cmp dword [ebx + 0x1a88], esi
jbe 0x5c02db9f
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 + 0x20], edx
mov edx, dword [esp + 0x18]
mov dword [esp + 0x54], ecx
mov dword [esp + 0x10], eax
test eax, eax
je 0x5c02da64
mov eax, dword [esp + 0x20]
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 [0x5c05d150]
call esi
mov esi, dword [esp + 0x38]
jmp 0x5c02da6c
push ecx
push edx
push edi
call sub.msvcrt.dll_memcpy
mov edx, dword [esp + 0x24]
add esp, 0xc
add edx, dword [esp + 0x20]
add edi, dword [esp + 0x54]
inc esi
mov eax, dword [esp + 0x14]
add eax, 4
mov dword [esp + 0x18], edx
mov dword [esp + 0x2c], esi
mov dword [esp + 0x14], eax
cmp esi, dword [ebx + 0x1a88]
jb 0x5c02da1b
jmp 0x5c02db9f
and dword [esp + 0x20], 0
cmp dword [ebx + 0x1c2c], 0
jbe 0x5c02db9f
lea eax, [ebx + 0x1ad8]
lea esi, [ebx + 0x1b30]
mov dword [esp + 0x18], eax
mov dword [esp + 0x2c], esi
mov eax, dword [esi + 0x18]
test eax, eax
jne 0x5c02dad1
mov ecx, dword [esi]
add ecx, dword [esp + 0x1c]
jmp 0x5c02db35
cmp eax, 0x20000
jne 0x5c02dae1
lea ecx, [esp + 0x100]
jmp 0x5c02db35
cmp eax, 0x10000
jne 0x5c02daf1
lea ecx, [esp + 0x10c]
jmp 0x5c02db35
test dword [ebx + 0x1a60], 0x1000000
je 0x5c02db1b
lea eax, [esp + 0x13c]
push eax
lea edx, [esp + 0x110]
lea ecx, [esp + 0x104]
call fcn.5c01a4a7
pop ecx
jmp 0x5c02db2e
lea edx, [esp + 0x13c]
lea ecx, [esp + 0x10c]
call fcn.5c01a531
lea ecx, [esp + 0x13c]
cmp dword [esi + 0x10], 0
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov dword [esp + 0x10], eax
je 0x5c02db64
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 + 0x38]
jmp 0x5c02db6c
push eax
push ecx
push edi
call sub.msvcrt.dll_memcpy
mov ecx, dword [esp + 0x2c]
add esp, 0xc
add edi, dword [esp + 0x10]
add esi, 0x20
add dword [esp + 0x18], 4
inc ecx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x2c], esi
cmp ecx, dword [ebx + 0x1c2c]
jb 0x5c02dac2
jmp 0x5c02db9f
fld dword [esp + 0x5c]
fst dword [edi]
fstp dword [esi + 0x34]
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 0x60]
add dword [esp + 0x38], edx
test dword [ebx + 0x1a44], 0x40000000
jne 0x5c02dbe4
mov eax, dword [esp + 0x34]
add dword [esp + 0x3c], edx
add eax, edx
mov dword [esp + 0x34], eax
mov dword [esp + 0x44], 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 + 0x1c], esi
mov dword [esp + 0x148], esi
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x84]
add ecx, 0xb0
sub dword [esp + 0x24], 1
mov dword [esp + 0x30], ecx
jne 0x5c02caff
lea eax, [esp + 0x2c8]
mov ecx, ebx
push eax
lea eax, [esp + 0x21c]
push eax
lea edx, [esp + 0x170]
call fcn.5c021546
pop ecx
pop ecx
mov ecx, eax
mov dword [esp + 0x54], ecx
test ecx, ecx
jne 0x5c02debf
jmp 0x5c02de60
mov edx, dword [ebx + 0x1a60]
mov eax, dword [esp + 0x38]
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 0x5c02dd04
test edx, edx
je 0x5c02dccf
mov ecx, dword [esp + 0x3c]
add ecx, dword [ebx + 0x1a30]
mov edi, dword [esp + 0x28]
add edi, dword [ebx + 0x1a94]
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x34]
add ecx, dword [ebx + 0x1a38]
mov dword [esp + 0x34], ecx
mov dword [esp + 0x44], ecx
xor ecx, ecx
mov dword [esp + 0x28], edi
mov dword [esp + 0x4c], edi
cmp dword [ebx + 0x1a84], ecx
jbe 0x5c02dd08
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 0x5c02dca9
mov eax, dword [esp + 0x148]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x10]
jmp 0x5c02dd04
mov ecx, dword [esp + 0x34]
add dword [esp + 0x3c], edi
add ecx, edi
mov edi, dword [esp + 0x28]
add edi, dword [esp + 0x60]
mov dword [esp + 0x34], ecx
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x1c]
add ecx, dword [esp + 0x60]
mov dword [esp + 0x28], edi
mov dword [esp + 0x4c], edi
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x148], ecx
mov edi, dword [esp + 0x28]
mov ecx, dword [esp + 0x60]
add eax, ecx
mov dword [esp + 0x20], eax
test esi, esi
jne 0x5c02ddb1
test edx, edx
je 0x5c02dd82
mov ecx, dword [esp + 0x3c]
add ecx, dword [ebx + 0x1a30]
add edi, dword [ebx + 0x1a94]
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x34]
add ecx, dword [ebx + 0x1a38]
mov dword [esp + 0x34], ecx
mov dword [esp + 0x44], ecx
xor ecx, ecx
mov dword [esp + 0x28], edi
mov dword [esp + 0x4c], edi
cmp dword [ebx + 0x1a84], ecx
jbe 0x5c02ddb1
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 0x5c02dd5c
mov edi, dword [esp + 0x148]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x1c], edi
jmp 0x5c02ddb5
mov eax, dword [esp + 0x60]
add edi, eax
add dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x28], edi
add ecx, eax
mov dword [esp + 0x4c], edi
mov edi, dword [esp + 0x1c]
add edi, eax
mov dword [esp + 0x34], ecx
mov dword [esp + 0x44], ecx
mov dword [esp + 0x148], edi
jmp 0x5c02dd78
mov edi, dword [esp + 0x1c]
add eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x38], eax
test edx, edx
je 0x5c02de2b
test esi, esi
jne 0x5c02de60
add ecx, dword [ebx + 0x1a38]
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x28]
add eax, dword [ebx + 0x1a94]
add edx, dword [ebx + 0x1a30]
mov esi, dword [ebx + 0x1a84]
mov dword [esp + 0x34], ecx
mov dword [esp + 0x44], ecx
xor ecx, ecx
mov dword [esp + 0x3c], edx
mov dword [esp + 0x28], eax
mov dword [esp + 0x4c], eax
test esi, esi
je 0x5c02de60
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 0x5c02de0d
mov eax, dword [esp + 0x148]
mov dword [esp + 0x1c], eax
jmp 0x5c02de60
mov dword [esp + 0x38], eax
test esi, esi
jne 0x5c02de60
mov edx, dword [esp + 0x60]
add ecx, edx
mov eax, dword [esp + 0x28]
add dword [esp + 0x3c], edx
add eax, edx
add edi, edx
mov dword [esp + 0x34], ecx
mov dword [esp + 0x44], ecx
mov dword [esp + 0x28], eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x1c], edi
mov dword [esp + 0x148], edi
sub dword [esp + 0x80], 1
mov edi, dword [esp + 0x38]
jne 0x5c02b8da
mov eax, dword [esp + 0x78]
test eax, eax
je 0x5c02debb
mov ecx, dword [esp + 0x88]
imul edi, eax, 3
mov dword [ebx + 0x1a70], ecx
mov dword [ebx + 0x1a3c], 4
mov dword [ebx + 0x1a40], edi
mov dword [ebx + 0x1a54], eax
mov eax, dword [ebx]
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 0x5c02debf
mov ecx, dword [esp + 0x54]
test dword [ebx + 0x1a60], 0x100000
jne 0x5c02dfe1
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 0x5c02df67
fstp dword [ebx + 0x1b1c]
jmp 0x5c02df69
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 0x5c02df8e
fstp dword [ebx + 0x1b20]
jmp 0x5c02df90
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 0x5c02dfb5
fstp dword [ebx + 0x1b24]
jmp 0x5c02dfb7
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 0x5c02dfdf
fstp dword [ebx + 0x1b28]
jmp 0x5c02dfe1
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 0x5c02b575
and dword [ebx + 0x1a44], 0xffdfffff
cmp dword [ebx + 0x684], edi
je 0x5c02b56e
xor eax, eax
jmp 0x5c02b575