Function at 0x5bf010
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x80c
push ebx
push esi
push edi
lea edi, [ebp - 0x80c]
mov ecx, 0x203
mov eax, 0xcccccccc
rep stosd dword es:[edi], eax
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x2c], ecx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x14]
mov edx, dword [ecx + 4]
mov eax, dword [edx]
mov dword [ebp - 8], eax
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x14], ecx
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 0x10]
mov edx, dword [ecx + 8]
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax]
mov dword [ebp - 0x38], ecx
mov edx, dword [ebp - 0x2c]
add edx, 4
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 0x36]
and ecx, 0xc
je 0x5bf0d1
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x3c]
sub ecx, 1
mov edx, dword [ebp + 8]
mov dword [edx + 0x3c], ecx
mov eax, dword [ebp + 8]
cmp dword [eax + 0x3c], 0
je 0x5bf09b
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 0x36]
and ecx, 4
je 0x5bf0d1
mov eax, dword [ebp - 0x2c]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.005c1af0
add esp, 8
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 6]
cmp ecx, 1
jne 0x5bf0c8
mov eax, dword [ebp - 0x2c]
sub eax, 4
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x18], eax
jmp 0x5c19ee
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x14], ecx
mov eax, dword [ebp - 0x38]
shr eax, 6
and eax, 0xff
shl eax, 4
add eax, dword [ebp - 0x14]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x38]
and eax, 0x3f
mov dword [ebp - 0x800], eax
cmp dword [ebp - 0x800], 0x2a
ja case.default.0x5bf104
mov ecx, dword [ebp - 0x800]
jmp dword [ecx*4 + 0x5c1a38]
mov eax, dword [ebp - 0x38]
shr eax, 0x17
and eax, 0x1ff
shl eax, 4
add eax, dword [ebp - 0x14]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x50]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x5c]
mov dword [eax], ecx
mov dword [eax + 4], edx
mov eax, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x50]
mov edx, dword [ecx + 8]
mov dword [eax + 8], edx
jmp 0x5bf05a
mov eax, dword [ebp - 0x38]
shr eax, 0xe
and eax, 0x3ffff
shl eax, 4
add eax, dword [ebp - 0x20]
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x74], eax
mov eax, dword [ebp - 0x68]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x74]
mov dword [eax], ecx
mov dword [eax + 4], edx
mov eax, dword [ebp - 0x74]
mov ecx, dword [ebp - 0x68]
mov edx, dword [ecx + 8]
mov dword [eax + 8], edx
jmp 0x5bf05a
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x80], eax
mov eax, dword [ebp - 0x38]
shr eax, 0x17
and eax, 0x1ff
mov ecx, dword [ebp - 0x80]
mov dword [ecx], eax
mov eax, dword [ebp - 0x80]
mov dword [eax + 8], 1
mov eax, dword [ebp - 0x38]
shr eax, 0xe
and eax, 0x1ff
je 0x5bf1b7
mov eax, dword [ebp - 0x2c]
add eax, 4
mov dword [ebp - 0x2c], eax
jmp 0x5bf05a
mov eax, dword [ebp - 0x38]
shr eax, 0x17
and eax, 0x1ff
shl eax, 4
add eax, dword [ebp - 0x14]
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0x8c]
mov dword [eax + 8], 0
mov ecx, dword [ebp - 0x8c]
sub ecx, 0x10
mov dword [ebp - 0x8c], ecx
mov eax, dword [ebp - 0x8c]
cmp eax, dword [ebp - 0x44]
jae 0x5bf1d3
jmp 0x5bf05a
mov eax, dword [ebp - 0x38]
shr eax, 0x17
and eax, 0x1ff
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0x98]
mov ecx, dword [ebp - 8]
mov edx, dword [ecx + eax*4 + 0x14]
mov eax, dword [edx + 8]
mov dword [ebp - 0xa4], eax
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0xa4]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xb0]
mov dword [eax], ecx
mov dword [eax + 4], edx
mov eax, dword [ebp - 0xb0]
mov ecx, dword [ebp - 0xa4]
mov edx, dword [ecx + 8]
mov dword [eax + 8], edx
jmp 0x5bf05a
mov eax, dword [ebp - 0x38]
shr eax, 0xe
and eax, 0x3ffff
shl eax, 4
add eax, dword [ebp - 0x20]
mov dword [ebp - 0xd4], eax
lea eax, [ebp - 0xc8]
mov dword [ebp - 0xe0], eax
mov eax, dword [ebp - 0xe0]
mov ecx, dword [ebp - 8]
mov edx, dword [ecx + 0xc]
mov dword [eax], edx
mov eax, dword [ebp - 0xe0]
mov dword [eax + 8], 5
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x2c]
mov dword [eax + 0x18], ecx
mov eax, dword [ebp - 0x44]
push eax
mov ecx, dword [ebp - 0xd4]
push ecx
lea edx, [ebp - 0xc8]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.005bdde0
add esp, 0x10
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x14], ecx
jmp 0x5bf05a
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x2c]
mov dword [eax + 0x18], ecx
mov eax, dword [ebp - 0x38]
shr eax, 0xe
and eax, 0x1ff
and eax, 0x100
je 0x5bf30a
mov ecx, dword [ebp - 0x38]
shr ecx, 0xe
and ecx, 0x1ff
and ecx, 0xfffffeff
shl ecx, 4
add ecx, dword [ebp - 0x20]
mov dword [ebp - 0x800], ecx
jmp 0x5bf322
mov edx, dword [ebp - 0x38]
shr edx, 0xe
and edx, 0x1ff
shl edx, 4
add edx, dword [ebp - 0x14]
mov dword [ebp - 0x800], edx
mov eax, dword [ebp - 0x44]
push eax
mov ecx, dword [ebp - 0x800]
push ecx
mov edx, dword [ebp - 0x38]
shr edx, 0x17
and edx, 0x1ff
shl edx, 4
add edx, dword [ebp - 0x14]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.005bdde0
add esp, 0x10
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x14], ecx
jmp 0x5bf05a
lea eax, [ebp - 0xf8]
mov dword [ebp - 0x104], eax
mov eax, dword [ebp - 0x104]
mov ecx, dword [ebp - 8]
mov edx, dword [ecx + 0xc]
mov dword [eax], edx
mov eax, dword [ebp - 0x104]
mov dword [eax + 8], 5
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x2c]
mov dword [eax + 0x18], ecx
mov eax, dword [ebp - 0x44]
push eax
mov ecx, dword [ebp - 0x38]
shr ecx, 0xe
and ecx, 0x3ffff
shl ecx, 4
add ecx, dword [ebp - 0x20]
push ecx
lea edx, [ebp - 0xf8]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.005be0d0
add esp, 0x10
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x14], ecx
jmp 0x5bf05a
mov eax, dword [ebp - 0x38]
shr eax, 0x17
and eax, 0x1ff
mov ecx, dword [ebp - 8]
mov edx, dword [ecx + eax*4 + 0x14]
mov dword [ebp - 0x110], edx
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x11c], eax
mov eax, dword [ebp - 0x110]
mov ecx, dword [eax + 8]
mov dword [ebp - 0x128], ecx
mov eax, dword [ebp - 0x11c]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x128]
mov dword [eax], ecx
mov dword [eax + 4], edx
mov eax, dword [ebp - 0x128]
mov ecx, dword [ebp - 0x11c]
mov edx, dword [ecx + 8]
mov dword [eax + 8], edx
mov eax, dword [ebp - 0x44]
cmp dword [eax + 8], 4
jl 0x5bf459
mov eax, dword [ebp - 0x44]
mov ecx, dword [eax]
movzx edx, byte [ecx + 5]
and edx, 3
je 0x5bf459
mov eax, dword [ebp - 0x110]
movzx ecx, byte [eax + 5]
and ecx, 4
je 0x5bf459
mov eax, dword [ebp - 0x44]
mov ecx, dword [eax]
push ecx
mov edx, dword [ebp - 0x110]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.005bd7d0
add esp, 0xc
jmp 0x5bf05a
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x2c]
mov dword [eax + 0x18], ecx
mov eax, dword [ebp - 0x38]
shr eax, 0xe
and eax, 0x1ff
and eax, 0x100
je 0x5bf499
mov ecx, dword [ebp - 0x38]
shr ecx, 0xe
and ecx, 0x1ff
and ecx, 0xfffffeff
shl ecx, 4
add ecx, dword [ebp - 0x20]
mov dword [ebp - 0x800], ecx
jmp 0x5bf4b1
mov edx, dword [ebp - 0x38]
shr edx, 0xe
and edx, 0x1ff
shl edx, 4
add edx, dword [ebp - 0x14]
mov dword [ebp - 0x800], edx
mov eax, dword [ebp - 0x38]
shr eax, 0x17
and eax, 0x1ff
and eax, 0x100
je 0x5bf4e3
mov ecx, dword [ebp - 0x38]
shr ecx, 0x17
and ecx, 0x1ff
and ecx, 0xfffffeff
shl ecx, 4
add ecx, dword [ebp - 0x20]
mov dword [ebp - 0x804], ecx
jmp 0x5bf4fb
mov edx, dword [ebp - 0x38]
shr edx, 0x17
and edx, 0x1ff
shl edx, 4
add edx, dword [ebp - 0x14]
mov dword [ebp - 0x804], edx
mov eax, dword [ebp - 0x800]
push eax
mov ecx, dword [ebp - 0x804]
push ecx
mov edx, dword [ebp - 0x44]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.005be0d0
add esp, 0x10
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x14], ecx
jmp 0x5bf05a
mov eax, dword [ebp - 0x38]
shr eax, 0x17
and eax, 0x1ff
mov dword [ebp - 0x134], eax
mov eax, dword [ebp - 0x38]
shr eax, 0xe
and eax, 0x1ff
mov dword [ebp - 0x140], eax
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x14c], eax
mov eax, dword [ebp - 0x140]
push eax
call fcn.005c37e0
add esp, 4
push eax
mov ecx, dword [ebp - 0x134]
push ecx
call fcn.005c37e0
add esp, 4
push eax
mov edx, dword [ebp + 8]
push edx
call fcn.005c28a0
add esp, 0xc
mov ecx, dword [ebp - 0x14c]
mov dword [ecx], eax
mov eax, dword [ebp - 0x14c]
mov dword [eax + 8], 5
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x2c]
mov dword [eax + 0x18], ecx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x10]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x10]
mov ecx, dword [ecx + 0x44]
cmp ecx, dword [eax + 0x40]
jb 0x5bf5bc
mov eax, dword [ebp + 8]
push eax
call fcn.005bc350
add esp, 4
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x14], ecx
jmp 0x5bf05a
mov eax, dword [ebp - 0x38]
shr eax, 0x17
and eax, 0x1ff
shl eax, 4
add eax, dword [ebp - 0x14]
mov dword [ebp - 0x158], eax
mov eax, dword [ebp - 0x158]
mov dword [ebp - 0x164], eax
mov eax, dword [ebp - 0x44]
add eax, 0x10
mov dword [ebp - 0x170], eax
mov eax, dword [ebp - 0x164]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x170]
mov dword [eax], ecx
mov dword [eax + 4], edx
mov eax, dword [ebp - 0x170]
mov ecx, dword [ebp - 0x164]
mov edx, dword [ecx + 8]
mov dword [eax + 8], edx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x2c]
mov dword [eax + 0x18], ecx
mov eax, dword [ebp - 0x38]
shr eax, 0xe
and eax, 0x1ff
and eax, 0x100
je 0x5bf65c
mov ecx, dword [ebp - 0x38]
shr ecx, 0xe
and ecx, 0x1ff
and ecx, 0xfffffeff
shl ecx, 4
add ecx, dword [ebp - 0x20]
mov dword [ebp - 0x800], ecx
jmp 0x5bf674
mov edx, dword [ebp - 0x38]
shr edx, 0xe
and edx, 0x1ff
shl edx, 4
add edx, dword [ebp - 0x14]
mov dword [ebp - 0x800], edx
mov eax, dword [ebp - 0x44]
push eax
mov ecx, dword [ebp - 0x800]
push ecx
mov edx, dword [ebp - 0x158]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.005bdde0
add esp, 0x10
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x14], ecx
jmp 0x5bf05a
mov eax, dword [ebp - 0x38]
shr eax, 0x17
and eax, 0x1ff
and eax, 0x100
je 0x5bf6d2
mov ecx, dword [ebp - 0x38]
shr ecx, 0x17
and ecx, 0x1ff
and ecx, 0xfffffeff
shl ecx, 4
add ecx, dword [ebp - 0x20]
mov dword [ebp - 0x800], ecx
jmp 0x5bf6ea
mov edx, dword [ebp - 0x38]
shr edx, 0x17
and edx, 0x1ff
shl edx, 4
add edx, dword [ebp - 0x14]
mov dword [ebp - 0x800], edx
mov eax, dword [ebp - 0x800]
mov dword [ebp - 0x17c], eax
mov eax, dword [ebp - 0x38]
shr eax, 0xe
and eax, 0x1ff
and eax, 0x100
je 0x5bf728
mov ecx, dword [ebp - 0x38]
shr ecx, 0xe
and ecx, 0x1ff
and ecx, 0xfffffeff
shl ecx, 4
add ecx, dword [ebp - 0x20]
mov dword [ebp - 0x800], ecx
jmp 0x5bf740
mov edx, dword [ebp - 0x38]
shr edx, 0xe
and edx, 0x1ff
shl edx, 4
add edx, dword [ebp - 0x14]
mov dword [ebp - 0x800], edx
mov eax, dword [ebp - 0x800]
mov dword [ebp - 0x188], eax
mov eax, dword [ebp - 0x17c]
cmp dword [eax + 8], 3
jne 0x5bf7ac
mov eax, dword [ebp - 0x188]
cmp dword [eax + 8], 3
jne 0x5bf7ac
mov eax, dword [ebp - 0x17c]
fld qword [eax]
fstp qword [ebp - 0x198]
mov eax, dword [ebp - 0x188]
fld qword [eax]
fstp qword [ebp - 0x1a8]
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x1b4], eax
fld qword [ebp - 0x198]
fadd qword [ebp - 0x1a8]
mov eax, dword [ebp - 0x1b4]
fstp qword [eax]
mov eax, dword [ebp - 0x1b4]
mov dword [eax + 8], 3
jmp 0x5bf7de
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x2c]
mov dword [eax + 0x18], ecx
push 5
mov eax, dword [ebp - 0x188]
push eax
mov ecx, dword [ebp - 0x17c]
push ecx
mov edx, dword [ebp - 0x44]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.005c1d60
add esp, 0x14
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x14], ecx
jmp 0x5bf05a
mov eax, dword [ebp - 0x38]
shr eax, 0x17
and eax, 0x1ff
and eax, 0x100
je 0x5bf815
mov ecx, dword [ebp - 0x38]
shr ecx, 0x17
and ecx, 0x1ff
and ecx, 0xfffffeff
shl ecx, 4
add ecx, dword [ebp - 0x20]
mov dword [ebp - 0x800], ecx
jmp 0x5bf82d
mov edx, dword [ebp - 0x38]
shr edx, 0x17
and edx, 0x1ff
shl edx, 4
add edx, dword [ebp - 0x14]
mov dword [ebp - 0x800], edx
mov eax, dword [ebp - 0x800]
mov dword [ebp - 0x1c0], eax
mov eax, dword [ebp - 0x38]
shr eax, 0xe
and eax, 0x1ff
and eax, 0x100
je 0x5bf86b
mov ecx, dword [ebp - 0x38]
shr ecx, 0xe
and ecx, 0x1ff
and ecx, 0xfffffeff
shl ecx, 4
add ecx, dword [ebp - 0x20]
mov dword [ebp - 0x800], ecx
jmp 0x5bf883
mov edx, dword [ebp - 0x38]
shr edx, 0xe
and edx, 0x1ff
shl edx, 4
add edx, dword [ebp - 0x14]
mov dword [ebp - 0x800], edx
mov eax, dword [ebp - 0x800]
mov dword [ebp - 0x1cc], eax
mov eax, dword [ebp - 0x1c0]
cmp dword [eax + 8], 3
jne 0x5bf8ef
mov eax, dword [ebp - 0x1cc]
cmp dword [eax + 8], 3
jne 0x5bf8ef
mov eax, dword [ebp - 0x1c0]
fld qword [eax]
fstp qword [ebp - 0x1dc]
mov eax, dword [ebp - 0x1cc]
fld qword [eax]
fstp qword [ebp - 0x1ec]
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x1f8], eax
fld qword [ebp - 0x1dc]
fsub qword [ebp - 0x1ec]
mov eax, dword [ebp - 0x1f8]
fstp qword [eax]
mov eax, dword [ebp - 0x1f8]
mov dword [eax + 8], 3
jmp 0x5bf921
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x2c]
mov dword [eax + 0x18], ecx
push 6
mov eax, dword [ebp - 0x1cc]
push eax
mov ecx, dword [ebp - 0x1c0]
push ecx
mov edx, dword [ebp - 0x44]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.005c1d60
add esp, 0x14
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x14], ecx
jmp 0x5bf05a
mov eax, dword [ebp - 0x38]
shr eax, 0x17
and eax, 0x1ff
and eax, 0x100
je 0x5bf958
mov ecx, dword [ebp - 0x38]
shr ecx, 0x17
and ecx, 0x1ff
and ecx, 0xfffffeff
shl ecx, 4
add ecx, dword [ebp - 0x20]
mov dword [ebp - 0x800], ecx
jmp 0x5bf970
mov edx, dword [ebp - 0x38]
shr edx, 0x17
and edx, 0x1ff
shl edx, 4
add edx, dword [ebp - 0x14]
mov dword [ebp - 0x800], edx
mov eax, dword [ebp - 0x800]
mov dword [ebp - 0x204], eax
mov eax, dword [ebp - 0x38]
shr eax, 0xe
and eax, 0x1ff
and eax, 0x100
je 0x5bf9ae
mov ecx, dword [ebp - 0x38]
shr ecx, 0xe
and ecx, 0x1ff
and ecx, 0xfffffeff
shl ecx, 4
add ecx, dword [ebp - 0x20]
mov dword [ebp - 0x800], ecx
jmp 0x5bf9c6
mov edx, dword [ebp - 0x38]
shr edx, 0xe
and edx, 0x1ff
shl edx, 4
add edx, dword [ebp - 0x14]
mov dword [ebp - 0x800], edx
mov eax, dword [ebp - 0x800]
mov dword [ebp - 0x210], eax
mov eax, dword [ebp - 0x204]
cmp dword [eax + 8], 3
jne 0x5bfa32
mov eax, dword [ebp - 0x210]
cmp dword [eax + 8], 3
jne 0x5bfa32
mov eax, dword [ebp - 0x204]
fld qword [eax]
fstp qword [ebp - 0x220]
mov eax, dword [ebp - 0x210]
fld qword [eax]
fstp qword [ebp - 0x230]
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x23c], eax
fld qword [ebp - 0x220]
fmul qword [ebp - 0x230]
mov eax, dword [ebp - 0x23c]
fstp qword [eax]
mov eax, dword [ebp - 0x23c]
mov dword [eax + 8], 3
jmp 0x5bfa64
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x2c]
mov dword [eax + 0x18], ecx
push 7
mov eax, dword [ebp - 0x210]
push eax
mov ecx, dword [ebp - 0x204]
push ecx
mov edx, dword [ebp - 0x44]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.005c1d60
add esp, 0x14
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x14], ecx
jmp 0x5bf05a
mov eax, dword [ebp - 0x38]
shr eax, 0x17
and eax, 0x1ff
and eax, 0x100
je 0x5bfa9b
mov ecx, dword [ebp - 0x38]
shr ecx, 0x17
and ecx, 0x1ff
and ecx, 0xfffffeff
shl ecx, 4
add ecx, dword [ebp - 0x20]
mov dword [ebp - 0x800], ecx
jmp 0x5bfab3
mov edx, dword [ebp - 0x38]
shr edx, 0x17
and edx, 0x1ff
shl edx, 4
add edx, dword [ebp - 0x14]
mov dword [ebp - 0x800], edx
mov eax, dword [ebp - 0x800]
mov dword [ebp - 0x248], eax
mov eax, dword [ebp - 0x38]
shr eax, 0xe
and eax, 0x1ff
and eax, 0x100
je 0x5bfaf1
mov ecx, dword [ebp - 0x38]
shr ecx, 0xe
and ecx, 0x1ff
and ecx, 0xfffffeff
shl ecx, 4
add ecx, dword [ebp - 0x20]
mov dword [ebp - 0x800], ecx
jmp 0x5bfb09
mov edx, dword [ebp - 0x38]
shr edx, 0xe
and edx, 0x1ff
shl edx, 4
add edx, dword [ebp - 0x14]
mov dword [ebp - 0x800], edx
mov eax, dword [ebp - 0x800]
mov dword [ebp - 0x254], eax
mov eax, dword [ebp - 0x248]
cmp dword [eax + 8], 3
jne 0x5bfb75
mov eax, dword [ebp - 0x254]
cmp dword [eax + 8], 3
jne 0x5bfb75
mov eax, dword [ebp - 0x248]
fld qword [eax]
fstp qword [ebp - 0x264]
mov eax, dword [ebp - 0x254]
fld qword [eax]
fstp qword [ebp - 0x274]
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x280], eax
fld qword [ebp - 0x264]
fdiv qword [ebp - 0x274]
mov eax, dword [ebp - 0x280]
fstp qword [eax]
mov eax, dword [ebp - 0x280]
mov dword [eax + 8], 3
jmp 0x5bfba7
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x2c]
mov dword [eax + 0x18], ecx
push 8
mov eax, dword [ebp - 0x254]
push eax
mov ecx, dword [ebp - 0x248]
push ecx
mov edx, dword [ebp - 0x44]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.005c1d60
add esp, 0x14
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x14], ecx
jmp 0x5bf05a
mov eax, dword [ebp - 0x38]
shr eax, 0x17
and eax, 0x1ff
and eax, 0x100
je 0x5bfbde
mov ecx, dword [ebp - 0x38]
shr ecx, 0x17
and ecx, 0x1ff
and ecx, 0xfffffeff
shl ecx, 4
add ecx, dword [ebp - 0x20]
mov dword [ebp - 0x800], ecx
jmp 0x5bfbf6
mov edx, dword [ebp - 0x38]
shr edx, 0x17
and edx, 0x1ff
shl edx, 4
add edx, dword [ebp - 0x14]
mov dword [ebp - 0x800], edx
mov eax, dword [ebp - 0x800]
mov dword [ebp - 0x28c], eax
mov eax, dword [ebp - 0x38]
shr eax, 0xe
and eax, 0x1ff
and eax, 0x100
je 0x5bfc34
mov ecx, dword [ebp - 0x38]
shr ecx, 0xe
and ecx, 0x1ff
and ecx, 0xfffffeff
shl ecx, 4
add ecx, dword [ebp - 0x20]
mov dword [ebp - 0x800], ecx
jmp 0x5bfc4c
mov edx, dword [ebp - 0x38]
shr edx, 0xe
and edx, 0x1ff
shl edx, 4
add edx, dword [ebp - 0x14]
mov dword [ebp - 0x800], edx
mov eax, dword [ebp - 0x800]
mov dword [ebp - 0x298], eax
mov eax, dword [ebp - 0x28c]
cmp dword [eax + 8], 3
jne 0x5bfcd2
mov eax, dword [ebp - 0x298]
cmp dword [eax + 8], 3
jne 0x5bfcd2
mov eax, dword [ebp - 0x28c]
fld qword [eax]
fstp qword [ebp - 0x2a8]
mov eax, dword [ebp - 0x298]
fld qword [eax]
fstp qword [ebp - 0x2b8]
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x2c4], eax
fld qword [ebp - 0x2a8]
fdiv qword [ebp - 0x2b8]
sub esp, 8
fstp qword [esp]
call fcn.00737100
add esp, 8
fmul qword [ebp - 0x2b8]
fsubr qword [ebp - 0x2a8]
mov eax, dword [ebp - 0x2c4]
fstp qword [eax]
mov eax, dword [ebp - 0x2c4]
mov dword [eax + 8], 3
jmp 0x5bfd04
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x2c]
mov dword [eax + 0x18], ecx
push 9
mov eax, dword [ebp - 0x298]
push eax
mov ecx, dword [ebp - 0x28c]
push ecx
mov edx, dword [ebp - 0x44]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.005c1d60
add esp, 0x14
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x14], ecx
jmp 0x5bf05a
mov eax, dword [ebp - 0x38]
shr eax, 0x17
and eax, 0x1ff
and eax, 0x100
je 0x5bfd3b
mov ecx, dword [ebp - 0x38]
shr ecx, 0x17
and ecx, 0x1ff
and ecx, 0xfffffeff
shl ecx, 4
add ecx, dword [ebp - 0x20]
mov dword [ebp - 0x800], ecx
jmp 0x5bfd53
mov edx, dword [ebp - 0x38]
shr edx, 0x17
and edx, 0x1ff
shl edx, 4
add edx, dword [ebp - 0x14]
mov dword [ebp - 0x800], edx
mov eax, dword [ebp - 0x800]
mov dword [ebp - 0x2d0], eax
mov eax, dword [ebp - 0x38]
shr eax, 0xe
and eax, 0x1ff
and eax, 0x100
je 0x5bfd91
mov ecx, dword [ebp - 0x38]
shr ecx, 0xe
and ecx, 0x1ff
and ecx, 0xfffffeff
shl ecx, 4
add ecx, dword [ebp - 0x20]
mov dword [ebp - 0x800], ecx
jmp 0x5bfda9
mov edx, dword [ebp - 0x38]
shr edx, 0xe
and edx, 0x1ff
shl edx, 4
add edx, dword [ebp - 0x14]
mov dword [ebp - 0x800], edx
mov eax, dword [ebp - 0x800]
mov dword [ebp - 0x2dc], eax
mov eax, dword [ebp - 0x2d0]
cmp dword [eax + 8], 3
jne 0x5bfe29
mov eax, dword [ebp - 0x2dc]
cmp dword [eax + 8], 3
jne 0x5bfe29
mov eax, dword [ebp - 0x2d0]
fld qword [eax]
fstp qword [ebp - 0x2ec]
mov eax, dword [ebp - 0x2dc]
fld qword [eax]
fstp qword [ebp - 0x2fc]
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x308], eax
sub esp, 8
fld qword [ebp - 0x2fc]
fstp qword [esp]
sub esp, 8
fld qword [ebp - 0x2ec]
fstp qword [esp]
call fcn.007370d0
add esp, 0x10
mov eax, dword [ebp - 0x308]
fstp qword [eax]
mov eax, dword [ebp - 0x308]
mov dword [eax + 8], 3
jmp 0x5bfe5b
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x2c]
mov dword [eax + 0x18], ecx
push 0xa
mov eax, dword [ebp - 0x2dc]
push eax
mov ecx, dword [ebp - 0x2d0]
push ecx
mov edx, dword [ebp - 0x44]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.005c1d60
add esp, 0x14
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x14], ecx
jmp 0x5bf05a
mov eax, dword [ebp - 0x38]
shr eax, 0x17
and eax, 0x1ff
shl eax, 4
add eax, dword [ebp - 0x14]
mov dword [ebp - 0x314], eax
mov eax, dword [ebp - 0x314]
cmp dword [eax + 8], 3
jne 0x5bfeb9
mov eax, dword [ebp - 0x314]
fld qword [eax]
fstp qword [ebp - 0x324]
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x330], eax
fld qword [ebp - 0x324]
fchs
mov eax, dword [ebp - 0x330]
fstp qword [eax]
mov eax, dword [ebp - 0x330]
mov dword [eax + 8], 3
jmp 0x5bfeeb
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x2c]
mov dword [eax + 0x18], ecx
push 0xb
mov eax, dword [ebp - 0x314]
push eax
mov ecx, dword [ebp - 0x314]
push ecx
mov edx, dword [ebp - 0x44]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.005c1d60
add esp, 0x14
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x14], ecx
jmp 0x5bf05a
mov eax, dword [ebp - 0x38]
shr eax, 0x17
and eax, 0x1ff
shl eax, 4
mov ecx, dword [ebp - 0x14]
cmp dword [ecx + eax + 8], 0
je 0x5bff45
mov edx, dword [ebp - 0x38]
shr edx, 0x17
and edx, 0x1ff
shl edx, 4
mov eax, dword [ebp - 0x14]
cmp dword [eax + edx + 8], 1
jne 0x5bff39
mov ecx, dword [ebp - 0x38]
shr ecx, 0x17
and ecx, 0x1ff
shl ecx, 4
mov edx, dword [ebp - 0x14]
cmp dword [edx + ecx], 0
je 0x5bff45
mov dword [ebp - 0x800], 0
jmp 0x5bff4f
mov dword [ebp - 0x800], 1
mov eax, dword [ebp - 0x800]
mov dword [ebp - 0x33c], eax
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x348], eax
mov eax, dword [ebp - 0x348]
mov ecx, dword [ebp - 0x33c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x348]
mov dword [eax + 8], 1
jmp 0x5bf05a
mov eax, dword [ebp - 0x38]
shr eax, 0x17
and eax, 0x1ff
and eax, 0x100
je 0x5bffb6
mov ecx, dword [ebp - 0x38]
shr ecx, 0x17
and ecx, 0x1ff
and ecx, 0xfffffeff
shl ecx, 4
add ecx, dword [ebp - 0x20]
mov dword [ebp - 0x800], ecx
jmp 0x5bffce
mov edx, dword [ebp - 0x38]
shr edx, 0x17
and edx, 0x1ff
shl edx, 4
add edx, dword [ebp - 0x14]
mov dword [ebp - 0x800], edx
mov eax, dword [ebp - 0x800]
mov dword [ebp - 0x354], eax
mov eax, dword [ebp - 0x38]
shr eax, 0xe
and eax, 0x1ff
and eax, 0x100
je 0x5c000c
mov ecx, dword [ebp - 0x38]
shr ecx, 0xe
and ecx, 0x1ff
and ecx, 0xfffffeff
shl ecx, 4
add ecx, dword [ebp - 0x20]
mov dword [ebp - 0x800], ecx
jmp 0x5c0024
mov edx, dword [ebp - 0x38]
shr edx, 0xe
and edx, 0x1ff
shl edx, 4
add edx, dword [ebp - 0x14]
mov dword [ebp - 0x800], edx
mov eax, dword [ebp - 0x800]
mov dword [ebp - 0x360], eax
mov eax, dword [ebp - 0x354]
cmp dword [eax + 8], 3
jne 0x5c010e
mov eax, dword [ebp - 0x360]
cmp dword [eax + 8], 3
jne 0x5c010e
mov eax, dword [ebp - 0x354]
fld qword [eax]
fnstcw word [ebp - 0x7fe]
movzx eax, word [ebp - 0x7fe]
or eax, 0xc00
mov dword [ebp - 0x804], eax
fldcw word [ebp - 0x804]
fistp qword [ebp - 0x80c]
fldcw word [ebp - 0x7fe]
mov ecx, dword [ebp - 0x80c]
mov dword [ebp - 0x36c], ecx
mov eax, dword [ebp - 0x360]
fld qword [eax]
fnstcw word [ebp - 0x7fe]
movzx eax, word [ebp - 0x7fe]
or eax, 0xc00
mov dword [ebp - 0x804], eax
fldcw word [ebp - 0x804]
fistp qword [ebp - 0x80c]
fldcw word [ebp - 0x7fe]
mov ecx, dword [ebp - 0x80c]
mov dword [ebp - 0x378], ecx
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x384], eax
mov eax, dword [ebp - 0x36c]
and eax, dword [ebp - 0x378]
mov dword [ebp - 0x804], eax
mov dword [ebp - 0x800], 0
fild qword [ebp - 0x804]
mov ecx, dword [ebp - 0x384]
fstp qword [ecx]
mov eax, dword [ebp - 0x384]
mov dword [eax + 8], 3
jmp 0x5c0128
mov eax, dword [ebp - 0x360]
push eax
mov ecx, dword [ebp - 0x354]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.005c8170
add esp, 0xc
jmp 0x5bf05a
mov eax, dword [ebp - 0x38]
shr eax, 0x17
and eax, 0x1ff
and eax, 0x100
je 0x5c015f
mov ecx, dword [ebp - 0x38]
shr ecx, 0x17
and ecx, 0x1ff
and ecx, 0xfffffeff
shl ecx, 4
add ecx, dword [ebp - 0x20]
mov dword [ebp - 0x800], ecx
jmp 0x5c0177
mov edx, dword [ebp - 0x38]
shr edx, 0x17
and edx, 0x1ff
shl edx, 4
add edx, dword [ebp - 0x14]
mov dword [ebp - 0x800], edx
mov eax, dword [ebp - 0x800]
mov dword [ebp - 0x390], eax
mov eax, dword [ebp - 0x38]
shr eax, 0xe
and eax, 0x1ff
and eax, 0x100
je 0x5c01b5
mov ecx, dword [ebp - 0x38]
shr ecx, 0xe
and ecx, 0x1ff
and ecx, 0xfffffeff
shl ecx, 4
add ecx, dword [ebp - 0x20]
mov dword [ebp - 0x800], ecx
jmp 0x5c01cd
mov edx, dword [ebp - 0x38]
shr edx, 0xe
and edx, 0x1ff
shl edx, 4
add edx, dword [ebp - 0x14]
mov dword [ebp - 0x800], edx
mov eax, dword [ebp - 0x800]
mov dword [ebp - 0x39c], eax
mov eax, dword [ebp - 0x390]
cmp dword [eax + 8], 3
jne 0x5c02b7
mov eax, dword [ebp - 0x39c]
cmp dword [eax + 8], 3
jne 0x5c02b7
mov eax, dword [ebp - 0x390]
fld qword [eax]
fnstcw word [ebp - 0x7fe]
movzx eax, word [ebp - 0x7fe]
or eax, 0xc00
mov dword [ebp - 0x804], eax
fldcw word [ebp - 0x804]
fistp qword [ebp - 0x80c]
fldcw word [ebp - 0x7fe]
mov ecx, dword [ebp - 0x80c]
mov dword [ebp - 0x3a8], ecx
mov eax, dword [ebp - 0x39c]
fld qword [eax]
fnstcw word [ebp - 0x7fe]
movzx eax, word [ebp - 0x7fe]
or eax, 0xc00
mov dword [ebp - 0x804], eax
fldcw word [ebp - 0x804]
fistp qword [ebp - 0x80c]
fldcw word [ebp - 0x7fe]
mov ecx, dword [ebp - 0x80c]
mov dword [ebp - 0x3b4], ecx
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x3c0], eax
mov eax, dword [ebp - 0x3a8]
or eax, dword [ebp - 0x3b4]
mov dword [ebp - 0x804], eax
mov dword [ebp - 0x800], 0
fild qword [ebp - 0x804]
mov ecx, dword [ebp - 0x3c0]
fstp qword [ecx]
mov eax, dword [ebp - 0x3c0]
mov dword [eax + 8], 3
jmp 0x5c02d1
mov eax, dword [ebp - 0x39c]
push eax
mov ecx, dword [ebp - 0x390]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.005c8170
add esp, 0xc
jmp 0x5bf05a
mov eax, dword [ebp - 0x38]
shr eax, 0x17
and eax, 0x1ff
and eax, 0x100
je 0x5c0308
mov ecx, dword [ebp - 0x38]
shr ecx, 0x17
and ecx, 0x1ff
and ecx, 0xfffffeff
shl ecx, 4
add ecx, dword [ebp - 0x20]
mov dword [ebp - 0x800], ecx
jmp 0x5c0320
mov edx, dword [ebp - 0x38]
shr edx, 0x17
and edx, 0x1ff
shl edx, 4
add edx, dword [ebp - 0x14]
mov dword [ebp - 0x800], edx
mov eax, dword [ebp - 0x800]
mov dword [ebp - 0x3cc], eax
mov eax, dword [ebp - 0x38]
shr eax, 0xe
and eax, 0x1ff
and eax, 0x100
je 0x5c035e
mov ecx, dword [ebp - 0x38]
shr ecx, 0xe
and ecx, 0x1ff
and ecx, 0xfffffeff
shl ecx, 4
add ecx, dword [ebp - 0x20]
mov dword [ebp - 0x800], ecx
jmp 0x5c0376
mov edx, dword [ebp - 0x38]
shr edx, 0xe
and edx, 0x1ff
shl edx, 4
add edx, dword [ebp - 0x14]
mov dword [ebp - 0x800], edx
mov eax, dword [ebp - 0x800]
mov dword [ebp - 0x3d8], eax
mov eax, dword [ebp - 0x3cc]
cmp dword [eax + 8], 3
jne 0x5c0460
mov eax, dword [ebp - 0x3d8]
cmp dword [eax + 8], 3
jne 0x5c0460
mov eax, dword [ebp - 0x3cc]
fld qword [eax]
fnstcw word [ebp - 0x7fe]
movzx eax, word [ebp - 0x7fe]
or eax, 0xc00
mov dword [ebp - 0x804], eax
fldcw word [ebp - 0x804]
fistp qword [ebp - 0x80c]
fldcw word [ebp - 0x7fe]
mov ecx, dword [ebp - 0x80c]
mov dword [ebp - 0x3e4], ecx
mov eax, dword [ebp - 0x3d8]
fld qword [eax]
fnstcw word [ebp - 0x7fe]
movzx eax, word [ebp - 0x7fe]
or eax, 0xc00
mov dword [ebp - 0x804], eax
fldcw word [ebp - 0x804]
fistp qword [ebp - 0x80c]
fldcw word [ebp - 0x7fe]
mov ecx, dword [ebp - 0x80c]
mov dword [ebp - 0x3f0], ecx
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x3fc], eax
mov eax, dword [ebp - 0x3e4]
xor eax, dword [ebp - 0x3f0]
mov dword [ebp - 0x804], eax
mov dword [ebp - 0x800], 0
fild qword [ebp - 0x804]
mov ecx, dword [ebp - 0x3fc]
fstp qword [ecx]
mov eax, dword [ebp - 0x3fc]
mov dword [eax + 8], 3
jmp 0x5c047a
mov eax, dword [ebp - 0x3d8]
push eax
mov ecx, dword [ebp - 0x3cc]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.005c8170
add esp, 0xc
jmp 0x5bf05a
mov eax, dword [ebp - 0x38]
shr eax, 0x17
and eax, 0x1ff
and eax, 0x100
je 0x5c04b1
mov ecx, dword [ebp - 0x38]
shr ecx, 0x17
and ecx, 0x1ff
and ecx, 0xfffffeff
shl ecx, 4
add ecx, dword [ebp - 0x20]
mov dword [ebp - 0x800], ecx
jmp 0x5c04c9
mov edx, dword [ebp - 0x38]
shr edx, 0x17
and edx, 0x1ff
shl edx, 4
add edx, dword [ebp - 0x14]
mov dword [ebp - 0x800], edx
mov eax, dword [ebp - 0x800]
mov dword [ebp - 0x408], eax
mov eax, dword [ebp - 0x38]
shr eax, 0xe
and eax, 0x1ff
and eax, 0x100
je 0x5c0507
mov ecx, dword [ebp - 0x38]
shr ecx, 0xe
and ecx, 0x1ff
and ecx, 0xfffffeff
shl ecx, 4
add ecx, dword [ebp - 0x20]
mov dword [ebp - 0x800], ecx
jmp 0x5c051f
mov edx, dword [ebp - 0x38]
shr edx, 0xe
and edx, 0x1ff
shl edx, 4
add edx, dword [ebp - 0x14]
mov dword [ebp - 0x800], edx
mov eax, dword [ebp - 0x800]
mov dword [ebp - 0x414], eax
mov eax, dword [ebp - 0x408]
cmp dword [eax + 8], 3
jne 0x5c060b
mov eax, dword [ebp - 0x414]
cmp dword [eax + 8], 3
jne 0x5c060b
mov eax, dword [ebp - 0x408]
fld qword [eax]
fnstcw word [ebp - 0x7fe]
movzx eax, word [ebp - 0x7fe]
or eax, 0xc00
mov dword [ebp - 0x804], eax
fldcw word [ebp - 0x804]
fistp qword [ebp - 0x80c]
fldcw word [ebp - 0x7fe]
mov ecx, dword [ebp - 0x80c]
mov dword [ebp - 0x420], ecx
mov eax, dword [ebp - 0x414]
fld qword [eax]
fnstcw word [ebp - 0x7fe]
movzx eax, word [ebp - 0x7fe]
or eax, 0xc00
mov dword [ebp - 0x804], eax
fldcw word [ebp - 0x804]
fistp qword [ebp - 0x80c]
fldcw word [ebp - 0x7fe]
mov ecx, dword [ebp - 0x80c]
mov dword [ebp - 0x42c], ecx
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x438], eax
mov eax, dword [ebp - 0x420]
mov ecx, dword [ebp - 0x42c]
shl eax, cl
mov dword [ebp - 0x804], eax
mov dword [ebp - 0x800], 0
fild qword [ebp - 0x804]
mov ecx, dword [ebp - 0x438]
fstp qword [ecx]
mov eax, dword [ebp - 0x438]
mov dword [eax + 8], 3
jmp 0x5c0625
mov eax, dword [ebp - 0x414]
push eax
mov ecx, dword [ebp - 0x408]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.005c8170
add esp, 0xc
jmp 0x5bf05a
mov eax, dword [ebp - 0x38]
shr eax, 0x17
and eax, 0x1ff
and eax, 0x100
je 0x5c065c
mov ecx, dword [ebp - 0x38]
shr ecx, 0x17
and ecx, 0x1ff
and ecx, 0xfffffeff
shl ecx, 4
add ecx, dword [ebp - 0x20]
mov dword [ebp - 0x800], ecx
jmp 0x5c0674
mov edx, dword [ebp - 0x38]
shr edx, 0x17
and edx, 0x1ff
shl edx, 4
add edx, dword [ebp - 0x14]
mov dword [ebp - 0x800], edx
mov eax, dword [ebp - 0x800]
mov dword [ebp - 0x444], eax
mov eax, dword [ebp - 0x38]
shr eax, 0xe
and eax, 0x1ff
and eax, 0x100
je 0x5c06b2
mov ecx, dword [ebp - 0x38]
shr ecx, 0xe
and ecx, 0x1ff
and ecx, 0xfffffeff
shl ecx, 4
add ecx, dword [ebp - 0x20]
mov dword [ebp - 0x800], ecx
jmp 0x5c06ca
mov edx, dword [ebp - 0x38]
shr edx, 0xe
and edx, 0x1ff
shl edx, 4
add edx, dword [ebp - 0x14]
mov dword [ebp - 0x800], edx
mov eax, dword [ebp - 0x800]
mov dword [ebp - 0x450], eax
mov eax, dword [ebp - 0x444]
cmp dword [eax + 8], 3
jne 0x5c07b6
mov eax, dword [ebp - 0x450]
cmp dword [eax + 8], 3
jne 0x5c07b6
mov eax, dword [ebp - 0x444]
fld qword [eax]
fnstcw word [ebp - 0x7fe]
movzx eax, word [ebp - 0x7fe]
or eax, 0xc00
mov dword [ebp - 0x804], eax
fldcw word [ebp - 0x804]
fistp qword [ebp - 0x80c]
fldcw word [ebp - 0x7fe]
mov ecx, dword [ebp - 0x80c]
mov dword [ebp - 0x45c], ecx
mov eax, dword [ebp - 0x450]
fld qword [eax]
fnstcw word [ebp - 0x7fe]
movzx eax, word [ebp - 0x7fe]
or eax, 0xc00
mov dword [ebp - 0x804], eax
fldcw word [ebp - 0x804]
fistp qword [ebp - 0x80c]
fldcw word [ebp - 0x7fe]
mov ecx, dword [ebp - 0x80c]
mov dword [ebp - 0x468], ecx
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x474], eax
mov eax, dword [ebp - 0x45c]
mov ecx, dword [ebp - 0x468]
shr eax, cl
mov dword [ebp - 0x804], eax
mov dword [ebp - 0x800], 0
fild qword [ebp - 0x804]
mov ecx, dword [ebp - 0x474]
fstp qword [ecx]
mov eax, dword [ebp - 0x474]
mov dword [eax + 8], 3
jmp 0x5c07d0
mov eax, dword [ebp - 0x450]
push eax
mov ecx, dword [ebp - 0x444]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.005c8170
add esp, 0xc
jmp 0x5bf05a
mov eax, dword [ebp - 0x38]
shr eax, 0x17
and eax, 0x1ff
shl eax, 4
add eax, dword [ebp - 0x14]
mov dword [ebp - 0x480], eax
mov eax, dword [ebp - 0x480]
mov ecx, dword [eax + 8]
mov dword [ebp - 0x800], ecx
cmp dword [ebp - 0x800], 4
je 0x5c0852
cmp dword [ebp - 0x800], 5
je 0x5c0812
jmp 0x5c0893
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x48c], eax
mov eax, dword [ebp - 0x480]
mov ecx, dword [eax]
push ecx
call fcn.005c35c0
add esp, 4
mov dword [ebp - 0x800], eax
fild dword [ebp - 0x800]
mov edx, dword [ebp - 0x48c]
fstp qword [edx]
mov eax, dword [ebp - 0x48c]
mov dword [eax + 8], 3
jmp 0x5c08df
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x498], eax
mov eax, dword [ebp - 0x480]
mov ecx, dword [eax]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0x804], edx
mov dword [ebp - 0x800], 0
fild qword [ebp - 0x804]
mov eax, dword [ebp - 0x498]
fstp qword [eax]
mov eax, dword [ebp - 0x498]
mov dword [eax + 8], 3
jmp 0x5c08df
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x2c]
mov dword [eax + 0x18], ecx
push 0xc
mov eax, dword [ebp - 0x44]
push eax
push 0x79f338
mov ecx, dword [ebp - 0x480]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.005bef70
add esp, 0x14
test eax, eax
jne 0x5c08d6
push str.get_length_of
mov eax, dword [ebp - 0x480]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.005c7fa0
add esp, 0xc
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x14], ecx
jmp 0x5bf05a
mov eax, dword [ebp - 0x38]
shr eax, 0x17
and eax, 0x1ff
mov dword [ebp - 0x4a4], eax
mov eax, dword [ebp - 0x38]
shr eax, 0xe
and eax, 0x1ff
mov dword [ebp - 0x4b0], eax
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x2c]
mov dword [eax + 0x18], ecx
mov eax, dword [ebp - 0x4b0]
push eax
mov ecx, dword [ebp - 0x4b0]
sub ecx, dword [ebp - 0x4a4]
add ecx, 1
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.005be9d0
add esp, 0xc
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x10]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x10]
mov ecx, dword [ecx + 0x44]
cmp ecx, dword [eax + 0x40]
jb 0x5c0952
mov eax, dword [ebp + 8]
push eax
call fcn.005bc350
add esp, 4
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x14], ecx
mov eax, dword [ebp - 0x4a4]
shl eax, 4
add eax, dword [ebp - 0x14]
mov dword [ebp - 0x4bc], eax
mov eax, dword [ebp - 0x38]
shr eax, 6
and eax, 0xff
shl eax, 4
add eax, dword [ebp - 0x14]
mov dword [ebp - 0x4c8], eax
mov eax, dword [ebp - 0x4bc]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x4c8]
mov dword [eax], ecx
mov dword [eax + 4], edx
mov eax, dword [ebp - 0x4c8]
mov ecx, dword [ebp - 0x4bc]
mov edx, dword [ecx + 8]
mov dword [eax + 8], edx
jmp 0x5bf05a
mov eax, dword [ebp - 0x38]
shr eax, 0xe
and eax, 0x3ffff
mov ecx, dword [ebp - 0x2c]
lea edx, [ecx + eax*4 - 0x7fffc]
mov dword [ebp - 0x2c], edx
jmp 0x5bf05a
mov eax, dword [ebp - 0x38]
shr eax, 0x17
and eax, 0x1ff
and eax, 0x100
je 0x5c0a00
mov ecx, dword [ebp - 0x38]
shr ecx, 0x17
and ecx, 0x1ff
and ecx, 0xfffffeff
shl ecx, 4
add ecx, dword [ebp - 0x20]
mov dword [ebp - 0x800], ecx
jmp 0x5c0a18
mov edx, dword [ebp - 0x38]
shr edx, 0x17
and edx, 0x1ff
shl edx, 4
add edx, dword [ebp - 0x14]
mov dword [ebp - 0x800], edx
mov eax, dword [ebp - 0x800]
mov dword [ebp - 0x4d4], eax
mov eax, dword [ebp - 0x38]
shr eax, 0xe
and eax, 0x1ff
and eax, 0x100
je 0x5c0a56
mov ecx, dword [ebp - 0x38]
shr ecx, 0xe
and ecx, 0x1ff
and ecx, 0xfffffeff
shl ecx, 4
add ecx, dword [ebp - 0x20]
mov dword [ebp - 0x800], ecx
jmp 0x5c0a6e
mov edx, dword [ebp - 0x38]
shr edx, 0xe
and edx, 0x1ff
shl edx, 4
add edx, dword [ebp - 0x14]
mov dword [ebp - 0x800], edx
mov eax, dword [ebp - 0x800]
mov dword [ebp - 0x4e0], eax
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x2c]
mov dword [eax + 0x18], ecx
mov eax, dword [ebp - 0x4d4]
mov ecx, dword [ebp - 0x4e0]
mov edx, dword [eax + 8]
cmp edx, dword [ecx + 8]
jne 0x5c0ac1
mov eax, dword [ebp - 0x4e0]
push eax
mov ecx, dword [ebp - 0x4d4]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.005be6a0
add esp, 0xc
test eax, eax
je 0x5c0ac1
mov dword [ebp - 0x800], 1
jmp 0x5c0acb
mov dword [ebp - 0x800], 0
mov eax, dword [ebp - 0x38]
shr eax, 6
and eax, 0xff
cmp dword [ebp - 0x800], eax
jne 0x5c0af9
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax]
shr ecx, 0xe
and ecx, 0x3ffff
mov edx, dword [ebp - 0x2c]
lea eax, [edx + ecx*4 - 0x7fffc]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x14], ecx
mov eax, dword [ebp - 0x2c]
add eax, 4
mov dword [ebp - 0x2c], eax
jmp 0x5bf05a
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x2c]
mov dword [eax + 0x18], ecx
mov eax, dword [ebp - 0x38]
shr eax, 0xe
and eax, 0x1ff
and eax, 0x100
je 0x5c0b4b
mov ecx, dword [ebp - 0x38]
shr ecx, 0xe
and ecx, 0x1ff
and ecx, 0xfffffeff
shl ecx, 4
add ecx, dword [ebp - 0x20]
mov dword [ebp - 0x800], ecx
jmp 0x5c0b63
mov edx, dword [ebp - 0x38]
shr edx, 0xe
and edx, 0x1ff
shl edx, 4
add edx, dword [ebp - 0x14]
mov dword [ebp - 0x800], edx
mov eax, dword [ebp - 0x38]
shr eax, 0x17
and eax, 0x1ff
and eax, 0x100
je 0x5c0b95
mov ecx, dword [ebp - 0x38]
shr ecx, 0x17
and ecx, 0x1ff
and ecx, 0xfffffeff
shl ecx, 4
add ecx, dword [ebp - 0x20]
mov dword [ebp - 0x804], ecx
jmp 0x5c0bad
mov edx, dword [ebp - 0x38]
shr edx, 0x17
and edx, 0x1ff
shl edx, 4
add edx, dword [ebp - 0x14]
mov dword [ebp - 0x804], edx
mov eax, dword [ebp - 0x800]
push eax
mov ecx, dword [ebp - 0x804]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.005be3d0
add esp, 0xc
mov ecx, dword [ebp - 0x38]
shr ecx, 6
and ecx, 0xff
cmp eax, ecx
jne 0x5c0bf2
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax]
shr ecx, 0xe
and ecx, 0x3ffff
mov edx, dword [ebp - 0x2c]
lea eax, [edx + ecx*4 - 0x7fffc]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x14], ecx
mov eax, dword [ebp - 0x2c]
add eax, 4
mov dword [ebp - 0x2c], eax
jmp 0x5bf05a
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x2c]
mov dword [eax + 0x18], ecx
mov eax, dword [ebp - 0x38]
shr eax, 0xe
and eax, 0x1ff
and eax, 0x100
je 0x5c0c44
mov ecx, dword [ebp - 0x38]
shr ecx, 0xe
and ecx, 0x1ff
and ecx, 0xfffffeff
shl ecx, 4
add ecx, dword [ebp - 0x20]
mov dword [ebp - 0x800], ecx
jmp 0x5c0c5c
mov edx, dword [ebp - 0x38]
shr edx, 0xe
and edx, 0x1ff
shl edx, 4
add edx, dword [ebp - 0x14]
mov dword [ebp - 0x800], edx
mov eax, dword [ebp - 0x38]
shr eax, 0x17
and eax, 0x1ff
and eax, 0x100
je 0x5c0c8e
mov ecx, dword [ebp - 0x38]
shr ecx, 0x17
and ecx, 0x1ff
and ecx, 0xfffffeff
shl ecx, 4
add ecx, dword [ebp - 0x20]
mov dword [ebp - 0x804], ecx
jmp 0x5c0ca6
mov edx, dword [ebp - 0x38]
shr edx, 0x17
and edx, 0x1ff
shl edx, 4
add edx, dword [ebp - 0x14]
mov dword [ebp - 0x804], edx
mov eax, dword [ebp - 0x800]
push eax
mov ecx, dword [ebp - 0x804]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.005c1c30
add esp, 0xc
mov ecx, dword [ebp - 0x38]
shr ecx, 6
and ecx, 0xff
cmp eax, ecx
jne 0x5c0ceb
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax]
shr ecx, 0xe
and ecx, 0x3ffff
mov edx, dword [ebp - 0x2c]
lea eax, [edx + ecx*4 - 0x7fffc]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x14], ecx
mov eax, dword [ebp - 0x2c]
add eax, 4
mov dword [ebp - 0x2c], eax
jmp 0x5bf05a
mov eax, dword [ebp - 0x44]
cmp dword [eax + 8], 0
je 0x5c0d28
mov ecx, dword [ebp - 0x44]
cmp dword [ecx + 8], 1
jne 0x5c0d1c
mov edx, dword [ebp - 0x44]
cmp dword [edx], 0
je 0x5c0d28
mov dword [ebp - 0x800], 0
jmp 0x5c0d32
mov dword [ebp - 0x800], 1
mov eax, dword [ebp - 0x38]
shr eax, 0xe
and eax, 0x1ff
cmp dword [ebp - 0x800], eax
je 0x5c0d60
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax]
shr ecx, 0xe
and ecx, 0x3ffff
mov edx, dword [ebp - 0x2c]
lea eax, [edx + ecx*4 - 0x7fffc]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
add eax, 4
mov dword [ebp - 0x2c], eax
jmp 0x5bf05a
mov eax, dword [ebp - 0x38]
shr eax, 0x17
and eax, 0x1ff
shl eax, 4
add eax, dword [ebp - 0x14]
mov dword [ebp - 0x4ec], eax
mov eax, dword [ebp - 0x4ec]
cmp dword [eax + 8], 0
je 0x5c0db4
mov ecx, dword [ebp - 0x4ec]
cmp dword [ecx + 8], 1
jne 0x5c0da8
mov edx, dword [ebp - 0x4ec]
cmp dword [edx], 0
je 0x5c0db4
mov dword [ebp - 0x800], 0
jmp 0x5c0dbe
mov dword [ebp - 0x800], 1
mov eax, dword [ebp - 0x38]
shr eax, 0xe
and eax, 0x1ff
cmp dword [ebp - 0x800], eax
je 0x5c0e29
mov eax, dword [ebp - 0x4ec]
mov dword [ebp - 0x4f8], eax
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x504], eax
mov eax, dword [ebp - 0x4f8]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x504]
mov dword [eax], ecx
mov dword [eax + 4], edx
mov eax, dword [ebp - 0x504]
mov ecx, dword [ebp - 0x4f8]
mov edx, dword [ecx + 8]
mov dword [eax + 8], edx
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax]
shr ecx, 0xe
and ecx, 0x3ffff
mov edx, dword [ebp - 0x2c]
lea eax, [edx + ecx*4 - 0x7fffc]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
add eax, 4
mov dword [ebp - 0x2c], eax
jmp 0x5bf05a
mov eax, dword [ebp - 0x38]
shr eax, 0x17
and eax, 0x1ff
mov dword [ebp - 0x510], eax
mov eax, dword [ebp - 0x38]
shr eax, 0xe
and eax, 0x1ff
sub eax, 1
mov dword [ebp - 0x51c], eax
cmp dword [ebp - 0x510], 0
je 0x5c0e77
mov eax, dword [ebp - 0x510]
shl eax, 4
add eax, dword [ebp - 0x44]
mov ecx, dword [ebp + 8]
mov dword [ecx + 8], eax
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x2c]
mov dword [eax + 0x18], ecx
mov eax, dword [ebp - 0x51c]
push eax
mov ecx, dword [ebp - 0x44]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.005c5d20
add esp, 0xc
mov dword [ebp - 0x800], eax
cmp dword [ebp - 0x800], 0
je 0x5c0eb1
cmp dword [ebp - 0x800], 1
je 0x5c0ebf
jmp 0x5c0ee5
mov eax, dword [ebp + 0xc]
add eax, 1
mov dword [ebp + 0xc], eax
jmp 0x5bf02e
cmp dword [ebp - 0x51c], 0
jl 0x5c0ed7
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x14]
mov edx, dword [ebp + 8]
mov eax, dword [ecx + 8]
mov dword [edx + 8], eax
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x14], ecx
jmp 0x5bf05a
jmp 0x5c19ee
mov eax, dword [ebp - 0x38]
shr eax, 0x17
and eax, 0x1ff
mov dword [ebp - 0x528], eax
je 0x5c0f0f
mov eax, dword [ebp - 0x528]
shl eax, 4
add eax, dword [ebp - 0x44]
mov ecx, dword [ebp + 8]
mov dword [ecx + 8], eax
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x2c]
mov dword [eax + 0x18], ecx
push 0xffffffffffffffff
mov eax, dword [ebp - 0x44]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.005c5d20
add esp, 0xc
mov dword [ebp - 0x800], eax
cmp dword [ebp - 0x800], 0
je 0x5c0f4b
cmp dword [ebp - 0x800], 1
je 0x5c10ac
jmp 0x5c10ba
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x14]
sub ecx, 0x18
mov dword [ebp - 0x534], ecx
mov eax, dword [ebp - 0x534]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x54c], ecx
mov eax, dword [ebp - 0x534]
mov ecx, dword [eax + 0x1c]
mov dword [ebp - 0x558], ecx
mov eax, dword [ebp + 8]
cmp dword [eax + 0x68], 0
je 0x5c0f96
mov eax, dword [ebp - 0x534]
mov ecx, dword [eax]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.005c50c0
add esp, 8
mov eax, dword [ebp - 0x534]
mov ecx, dword [eax + 0x18]
sub ecx, dword [ebp - 0x558]
sar ecx, 4
shl ecx, 4
mov edx, dword [ebp - 0x534]
add ecx, dword [edx + 4]
mov eax, dword [ebp - 0x534]
mov dword [eax], ecx
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x534]
mov eax, dword [edx]
mov dword [ecx + 0xc], eax
mov dword [ebp - 0x540], 0
jmp 0x5c0fe5
mov eax, dword [ebp - 0x540]
add eax, 1
mov dword [ebp - 0x540], eax
mov eax, dword [ebp - 0x540]
shl eax, 4
add eax, dword [ebp - 0x558]
mov ecx, dword [ebp + 8]
cmp eax, dword [ecx + 8]
jae 0x5c1050
mov eax, dword [ebp - 0x540]
shl eax, 4
add eax, dword [ebp - 0x558]
mov dword [ebp - 0x564], eax
mov eax, dword [ebp - 0x540]
shl eax, 4
add eax, dword [ebp - 0x54c]
mov dword [ebp - 0x570], eax
mov eax, dword [ebp - 0x564]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x570]
mov dword [eax], ecx
mov dword [eax + 4], edx
mov eax, dword [ebp - 0x570]
mov ecx, dword [ebp - 0x564]
mov edx, dword [ecx + 8]
mov dword [eax + 8], edx
jmp 0x5c0fd6
mov eax, dword [ebp - 0x540]
shl eax, 4
add eax, dword [ebp - 0x54c]
mov ecx, dword [ebp + 8]
mov dword [ecx + 8], eax
mov edx, dword [ebp - 0x534]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
mov dword [edx + 8], ecx
mov eax, dword [ebp - 0x534]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x18]
mov dword [eax + 0xc], edx
mov eax, dword [ebp - 0x534]
mov ecx, dword [eax + 0x14]
add ecx, 1
mov edx, dword [ebp - 0x534]
mov dword [edx + 0x14], ecx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x14]
sub ecx, 0x18
mov edx, dword [ebp + 8]
mov dword [edx + 0x14], ecx
jmp 0x5bf02e
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x14], ecx
jmp 0x5bf05a
jmp 0x5c19ee
mov eax, dword [ebp - 0x38]
shr eax, 0x17
and eax, 0x1ff
mov dword [ebp - 0x57c], eax
je 0x5c10e8
mov eax, dword [ebp - 0x57c]
shl eax, 4
mov ecx, dword [ebp - 0x44]
lea edx, [ecx + eax - 0x10]
mov eax, dword [ebp + 8]
mov dword [eax + 8], edx
mov eax, dword [ebp + 8]
cmp dword [eax + 0x68], 0
je 0x5c1101
mov eax, dword [ebp - 0x14]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.005c50c0
add esp, 8
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x2c]
mov dword [eax + 0x18], ecx
mov eax, dword [ebp - 0x44]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.005c6480
add esp, 8
mov dword [ebp - 0x57c], eax
mov eax, dword [ebp + 0xc]
sub eax, 1
mov dword [ebp + 0xc], eax
jne 0x5c1132
jmp 0x5c19ee
cmp dword [ebp - 0x57c], 0
je 0x5c114a
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x14]
mov edx, dword [ebp + 8]
mov eax, dword [ecx + 8]
mov dword [edx + 8], eax
jmp 0x5bf02e
mov eax, dword [ebp - 0x44]
fld qword [eax + 0x20]
fstp qword [ebp - 0x58c]
mov eax, dword [ebp - 0x44]
fld qword [eax]
fadd qword [ebp - 0x58c]
fstp qword [ebp - 0x59c]
mov eax, dword [ebp - 0x44]
fld qword [eax + 0x10]
fstp qword [ebp - 0x5ac]
fld qword [ebp - 0x58c]
fcomp qword [0x79ef70]
fnstsw ax
test ah, 0x41
jne 0x5c11c2
fld qword [ebp - 0x5ac]
fcomp qword [ebp - 0x59c]
fnstsw ax
test ah, 1
jne 0x5c11aa
mov dword [ebp - 0x800], 1
jmp 0x5c11b4
mov dword [ebp - 0x800], 0
mov eax, dword [ebp - 0x800]
mov dword [ebp - 0x804], eax
jmp 0x5c11f7
fld qword [ebp - 0x59c]
fcomp qword [ebp - 0x5ac]
fnstsw ax
test ah, 1
jne 0x5c11e1
mov dword [ebp - 0x808], 1
jmp 0x5c11eb
mov dword [ebp - 0x808], 0
mov ecx, dword [ebp - 0x808]
mov dword [ebp - 0x804], ecx
cmp dword [ebp - 0x804], 0
je 0x5c1263
mov eax, dword [ebp - 0x38]
shr eax, 0xe
and eax, 0x3ffff
mov ecx, dword [ebp - 0x2c]
lea edx, [ecx + eax*4 - 0x7fffc]
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x5b8], eax
mov eax, dword [ebp - 0x5b8]
fld qword [ebp - 0x59c]
fstp qword [eax]
mov eax, dword [ebp - 0x5b8]
mov dword [eax + 8], 3
mov eax, dword [ebp - 0x44]
add eax, 0x30
mov dword [ebp - 0x5c4], eax
mov eax, dword [ebp - 0x5c4]
fld qword [ebp - 0x59c]
fstp qword [eax]
mov eax, dword [ebp - 0x5c4]
mov dword [eax + 8], 3
jmp 0x5bf05a
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x5d0], eax
mov eax, dword [ebp - 0x44]
add eax, 0x10
mov dword [ebp - 0x5dc], eax
mov eax, dword [ebp - 0x44]
add eax, 0x20
mov dword [ebp - 0x5e8], eax
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x2c]
mov dword [eax + 0x18], ecx
mov eax, dword [ebp - 0x5d0]
cmp dword [eax + 8], 3
je 0x5c12d6
mov eax, dword [ebp - 0x44]
push eax
mov ecx, dword [ebp - 0x5d0]
push ecx
call fcn.005bdc10
add esp, 8
mov dword [ebp - 0x5d0], eax
cmp dword [ebp - 0x5d0], 0
jne 0x5c12d6
push str.for_initial_value_must_be_a_number
mov eax, dword [ebp + 8]
push eax
call fcn.005c83c0
add esp, 8
jmp 0x5c135c
mov eax, dword [ebp - 0x5dc]
cmp dword [eax + 8], 3
je 0x5c131a
mov eax, dword [ebp - 0x44]
add eax, 0x10
push eax
mov ecx, dword [ebp - 0x5dc]
push ecx
call fcn.005bdc10
add esp, 8
mov dword [ebp - 0x5dc], eax
cmp dword [ebp - 0x5dc], 0
jne 0x5c131a
push str.for_limit_must_be_a_number
mov eax, dword [ebp + 8]
push eax
call fcn.005c83c0
add esp, 8
jmp 0x5c135c
mov eax, dword [ebp - 0x5e8]
cmp dword [eax + 8], 3
je 0x5c135c
mov eax, dword [ebp - 0x44]
add eax, 0x20
push eax
mov ecx, dword [ebp - 0x5e8]
push ecx
call fcn.005bdc10
add esp, 8
mov dword [ebp - 0x5e8], eax
cmp dword [ebp - 0x5e8], 0
jne 0x5c135c
push str.for_step_must_be_a_number
mov eax, dword [ebp + 8]
push eax
call fcn.005c83c0
add esp, 8
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x5f4], eax
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x5e8]
fld qword [eax]
fsub qword [ecx]
mov edx, dword [ebp - 0x5f4]
fstp qword [edx]
mov eax, dword [ebp - 0x5f4]
mov dword [eax + 8], 3
mov eax, dword [ebp - 0x38]
shr eax, 0xe
and eax, 0x3ffff
mov ecx, dword [ebp - 0x2c]
lea edx, [ecx + eax*4 - 0x7fffc]
mov dword [ebp - 0x2c], edx
jmp 0x5bf05a
mov eax, dword [ebp - 0x44]
add eax, 0x30
mov dword [ebp - 0x600], eax
mov eax, dword [ebp - 0x44]
add eax, 0x20
mov dword [ebp - 0x60c], eax
mov eax, dword [ebp - 0x600]
add eax, 0x20
mov dword [ebp - 0x618], eax
mov eax, dword [ebp - 0x60c]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x618]
mov dword [eax], ecx
mov dword [eax + 4], edx
mov eax, dword [ebp - 0x618]
mov ecx, dword [ebp - 0x60c]
mov edx, dword [ecx + 8]
mov dword [eax + 8], edx
mov eax, dword [ebp - 0x44]
add eax, 0x10
mov dword [ebp - 0x624], eax
mov eax, dword [ebp - 0x600]
add eax, 0x10
mov dword [ebp - 0x630], eax
mov eax, dword [ebp - 0x624]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x630]
mov dword [eax], ecx
mov dword [eax + 4], edx
mov eax, dword [ebp - 0x630]
mov ecx, dword [ebp - 0x624]
mov edx, dword [ecx + 8]
mov dword [eax + 8], edx
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x63c], eax
mov eax, dword [ebp - 0x600]
mov dword [ebp - 0x648], eax
mov eax, dword [ebp - 0x63c]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x648]
mov dword [eax], ecx
mov dword [eax + 4], edx
mov eax, dword [ebp - 0x648]
mov ecx, dword [ebp - 0x63c]
mov edx, dword [ecx + 8]
mov dword [eax + 8], edx
mov eax, dword [ebp - 0x600]
add eax, 0x30
mov ecx, dword [ebp + 8]
mov dword [ecx + 8], eax
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x2c]
mov dword [eax + 0x18], ecx
mov eax, dword [ebp - 0x38]
shr eax, 0xe
and eax, 0x1ff
push eax
mov ecx, dword [ebp - 0x600]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.005c6680
add esp, 0xc
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x14], ecx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x14]
mov edx, dword [ebp + 8]
mov eax, dword [ecx + 8]
mov dword [edx + 8], eax
mov eax, dword [ebp - 0x38]
shr eax, 6
and eax, 0xff
shl eax, 4
mov ecx, dword [ebp - 0x14]
lea edx, [ecx + eax + 0x30]
mov dword [ebp - 0x600], edx
mov eax, dword [ebp - 0x600]
cmp dword [eax + 8], 0
je 0x5c1547
mov eax, dword [ebp - 0x600]
mov dword [ebp - 0x654], eax
mov eax, dword [ebp - 0x600]
sub eax, 0x10
mov dword [ebp - 0x660], eax
mov eax, dword [ebp - 0x654]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x660]
mov dword [eax], ecx
mov dword [eax + 4], edx
mov eax, dword [ebp - 0x660]
mov ecx, dword [ebp - 0x654]
mov edx, dword [ecx + 8]
mov dword [eax + 8], edx
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax]
shr ecx, 0xe
and ecx, 0x3ffff
mov edx, dword [ebp - 0x2c]
lea eax, [edx + ecx*4 - 0x7fffc]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
add eax, 4
mov dword [ebp - 0x2c], eax
jmp 0x5bf05a
mov eax, dword [ebp - 0x38]
shr eax, 0x17
and eax, 0x1ff
mov dword [ebp - 0x66c], eax
mov eax, dword [ebp - 0x38]
shr eax, 0xe
and eax, 0x1ff
mov dword [ebp - 0x678], eax
cmp dword [ebp - 0x66c], 0
jne 0x5c15a4
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
sub ecx, dword [ebp - 0x44]
sar ecx, 4
sub ecx, 1
mov dword [ebp - 0x66c], ecx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x14]
mov edx, dword [ebp + 8]
mov eax, dword [ecx + 8]
mov dword [edx + 8], eax
cmp dword [ebp - 0x678], 0
jne 0x5c15c1
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax]
mov dword [ebp - 0x678], ecx
mov edx, dword [ebp - 0x2c]
add edx, 4
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x44]
cmp dword [eax + 8], 5
je 0x5c15cf
jmp case.default.0x5bf104
mov eax, dword [ebp - 0x44]
mov ecx, dword [eax]
mov dword [ebp - 0x690], ecx
mov eax, dword [ebp - 0x678]
sub eax, 1
imul eax, eax, 0x32
add eax, dword [ebp - 0x66c]
mov dword [ebp - 0x684], eax
mov eax, dword [ebp - 0x690]
mov ecx, dword [ebp - 0x684]
cmp ecx, dword [eax + 0x1c]
jle 0x5c161d
mov eax, dword [ebp - 0x684]
push eax
mov ecx, dword [ebp - 0x690]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.005c2410
add esp, 0xc
jmp 0x5c162e
mov eax, dword [ebp - 0x66c]
sub eax, 1
mov dword [ebp - 0x66c], eax
cmp dword [ebp - 0x66c], 0
jle 0x5c1700
mov eax, dword [ebp - 0x66c]
shl eax, 4
add eax, dword [ebp - 0x44]
mov dword [ebp - 0x69c], eax
mov eax, dword [ebp - 0x69c]
mov dword [ebp - 0x6a8], eax
mov eax, dword [ebp - 0x684]
mov dword [ebp - 0x800], eax
mov ecx, dword [ebp - 0x684]
sub ecx, 1
mov dword [ebp - 0x684], ecx
mov edx, dword [ebp - 0x800]
push edx
mov eax, dword [ebp - 0x690]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.005c33b0
add esp, 0xc
mov dword [ebp - 0x6b4], eax
mov eax, dword [ebp - 0x6a8]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x6b4]
mov dword [eax], ecx
mov dword [eax + 4], edx
mov eax, dword [ebp - 0x6b4]
mov ecx, dword [ebp - 0x6a8]
mov edx, dword [ecx + 8]
mov dword [eax + 8], edx
mov eax, dword [ebp - 0x69c]
cmp dword [eax + 8], 4
jl 0x5c16fb
mov eax, dword [ebp - 0x69c]
mov ecx, dword [eax]
movzx edx, byte [ecx + 5]
and edx, 3
je 0x5c16fb
mov eax, dword [ebp - 0x690]
movzx ecx, byte [eax + 5]
and ecx, 4
je 0x5c16fb
mov eax, dword [ebp - 0x690]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.005bd850
add esp, 8
jmp 0x5c161f
jmp 0x5bf05a
mov eax, dword [ebp - 0x44]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.005c50c0
add esp, 8
jmp 0x5bf05a
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 0x10]
mov edx, dword [ebp - 0x38]
shr edx, 0xe
and edx, 0x3ffff
mov eax, dword [ecx + 0x10]
mov ecx, dword [eax + edx*4]
mov dword [ebp - 0x6c0], ecx
mov eax, dword [ebp - 0x6c0]
movzx ecx, byte [eax + 0x48]
mov dword [ebp - 0x6d8], ecx
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 0xc]
push ecx
mov edx, dword [ebp - 0x6d8]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.005c4dc0
add esp, 0xc
mov dword [ebp - 0x6cc], eax
mov eax, dword [ebp - 0x6cc]
mov ecx, dword [ebp - 0x6c0]
mov dword [eax + 0x10], ecx
mov dword [ebp - 0x6e4], 0
jmp 0x5c179b
mov eax, dword [ebp - 0x6e4]
add eax, 1
mov dword [ebp - 0x6e4], eax
mov ecx, dword [ebp - 0x2c]
add ecx, 4
mov dword [ebp - 0x2c], ecx
mov eax, dword [ebp - 0x6e4]
cmp eax, dword [ebp - 0x6d8]
jge 0x5c1813
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax]
and ecx, 0x3f
cmp ecx, 4
jne 0x5c17dd
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax]
shr ecx, 0x17
and ecx, 0x1ff
mov edx, dword [ebp - 0x6e4]
mov eax, dword [ebp - 0x6cc]
mov esi, dword [ebp - 8]
mov ecx, dword [esi + ecx*4 + 0x14]
mov dword [eax + edx*4 + 0x14], ecx
jmp 0x5c180e
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax]
shr ecx, 0x17
and ecx, 0x1ff
shl ecx, 4
add ecx, dword [ebp - 0x14]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.005c4ef0
add esp, 8
mov ecx, dword [ebp - 0x6e4]
mov edx, dword [ebp - 0x6cc]
mov dword [edx + ecx*4 + 0x14], eax
jmp 0x5c1783
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x6f0], eax
mov eax, dword [ebp - 0x6f0]
mov ecx, dword [ebp - 0x6cc]
mov dword [eax], ecx
mov eax, dword [ebp - 0x6f0]
mov dword [eax + 8], 6
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x2c]
mov dword [eax + 0x18], ecx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x10]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x10]
mov ecx, dword [ecx + 0x44]
cmp ecx, dword [eax + 0x40]
jb 0x5c1860
mov eax, dword [ebp + 8]
push eax
call fcn.005bc350
add esp, 4
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x14], ecx
jmp 0x5bf05a
mov eax, dword [ebp - 0x38]
shr eax, 0x17
and eax, 0x1ff
sub eax, 1
mov dword [ebp - 0x6fc], eax
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x14]
mov dword [ebp - 0x714], ecx
mov eax, dword [ebp - 0x714]
mov ecx, dword [ebp - 0x714]
mov edx, dword [eax]
sub edx, dword [ecx + 4]
sar edx, 4
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 0x10]
movzx eax, byte [ecx + 0x49]
sub edx, eax
sub edx, 1
mov dword [ebp - 0x720], edx
cmp dword [ebp - 0x6fc], 0xffffffff
jne 0x5c1930
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x2c]
mov dword [eax + 0x18], ecx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 8]
mov edx, dword [eax + 0x1c]
sub edx, dword [ecx + 8]
mov eax, dword [ebp - 0x720]
shl eax, 4
cmp edx, eax
jg 0x5c18f5
mov eax, dword [ebp - 0x720]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.005c5b40
add esp, 8
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x14], ecx
mov eax, dword [ebp - 0x38]
shr eax, 6
and eax, 0xff
shl eax, 4
add eax, dword [ebp - 0x14]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x720]
mov dword [ebp - 0x6fc], eax
mov eax, dword [ebp - 0x720]
shl eax, 4
add eax, dword [ebp - 0x44]
mov ecx, dword [ebp + 8]
mov dword [ecx + 8], eax
mov dword [ebp - 0x708], 0
jmp 0x5c194b
mov eax, dword [ebp - 0x708]
add eax, 1
mov dword [ebp - 0x708], eax
mov eax, dword [ebp - 0x708]
cmp eax, dword [ebp - 0x6fc]
jge 0x5c19e4
mov eax, dword [ebp - 0x708]
cmp eax, dword [ebp - 0x720]
jge 0x5c19cb
mov eax, dword [ebp - 0x720]
shl eax, 4
mov ecx, dword [ebp - 0x714]
mov edx, dword [ecx]
sub edx, eax
mov eax, dword [ebp - 0x708]
shl eax, 4
add edx, eax
mov dword [ebp - 0x72c], edx
mov eax, dword [ebp - 0x708]
shl eax, 4
add eax, dword [ebp - 0x44]
mov dword [ebp - 0x738], eax
mov eax, dword [ebp - 0x72c]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x738]
mov dword [eax], ecx
mov dword [eax + 4], edx
mov eax, dword [ebp - 0x738]
mov ecx, dword [ebp - 0x72c]
mov edx, dword [ecx + 8]
mov dword [eax + 8], edx
jmp 0x5c19df
mov eax, dword [ebp - 0x708]
shl eax, 4
mov ecx, dword [ebp - 0x44]
mov dword [ecx + eax + 8], 0
jmp 0x5c193c
jmp 0x5bf05a
jmp 0x5bf05a
push edx
mov ecx, ebp
push eax
lea edx, [0x5c1a14]
call fcn.0074705e
pop eax
pop edx
pop edi
pop esi
pop ebx
add esp, 0x80c
cmp ebp, esp
call fcn.0074703b
mov esp, ebp
pop ebp
ret