Function at 0x52bf78
Capabilities:
Check http status code

Disassembly:
push ebp
mov ebp, esp
push eax
mov eax, 5
add esp, 0xfffff004
push eax
dec eax
jne 0x52bf81
mov eax, dword [ebp - 4]
add esp, 0xfffffdb4
push ebx
push esi
push edi
xor eax, eax
mov dword [ebp - 0x5250], eax
mov dword [ebp - 0x5140], eax
mov dword [ebp - 0x5144], eax
mov dword [ebp - 0x5148], eax
mov dword [ebp - 0x514c], eax
mov dword [ebp - 0x2e4], eax
mov dword [ebp - 4], eax
mov dword [ebp - 0x2f8], eax
xor eax, eax
push ebp
push 0x52f78b
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 0x2e9], 0
lea eax, [ebp - 0x5144]
mov edx, dword [0x5a733c]
mov edx, dword [edx]
call fcn.0040a430
push dword [ebp - 0x5144]
lea edx, [ebp - 0x5148]
mov eax, 1
call fcn.004049bc
push dword [ebp - 0x5148]
push 0x52f7ac
lea edx, [ebp - 0x514c]
mov eax, 2
call fcn.004049bc
push dword [ebp - 0x514c]
push 0x52f7bc
lea eax, [ebp - 0x5140]
mov edx, 5
call fcn.0040a59c
mov edx, dword [ebp - 0x5140]
xor ecx, ecx
lea eax, [ebp - 0x2e0]
call fcn.0040510c
lea edx, [ebp - 0x513b]
mov ecx, 0x4e21
lea eax, [ebp - 0x2e0]
call fcn.0040646c
lea eax, [ebp - 0x2e0]
call fcn.00404d40
lea edx, [ebp - 4]
lea eax, [ebp - 0x2e0]
call fcn.00405fb0
lea eax, [ebp - 0x2e0]
call fcn.004061ac
mov eax, dword [0x5a7410]
xor edx, edx
mov dword [eax], edx
lea eax, [ebp - 0x2e0]
call fcn.00405afc
mov dword [ebp - 0x2e8], eax
lea eax, [ebp - 0x2e0]
call fcn.004061ac
lea edx, [ebp - 0x2e4]
lea eax, [ebp - 0x2e0]
call fcn.00405fb0
lea eax, [ebp - 0x2e0]
call fcn.004061ac
cmp dword [ebp - 0x2e8], 1
jne 0x52c139
mov eax, dword [ebp - 0x2e4]
mov edx, 0x52f7d4
call fcn.0040a64c
je 0x52c139
mov eax, dword [0x5a7410]
inc dword [eax]
mov eax, dword [0x5a7410]
cmp dword [eax], 0x1e
jle 0x52c105
push ebp
mov edx, 0x52f7e4
mov eax, 1
call fcn.0052bb58
pop ecx
lea eax, [ebp - 0x524c]
mov edx, dword [ebp - 0x2e4]
mov ecx, 0xff
call fcn.0040a3c4
lea edx, [ebp - 0x524c]
mov eax, dword [0x5a7410]
mov eax, dword [eax]
mov ecx, dword [0x5a7124]
mov eax, dword [ecx + eax*4 - 4]
mov cl, 0x50
call fcn.00409bcc
cmp dword [ebp - 0x2e8], 1
jle 0x52c090
lea eax, [ebp - 0x2e0]
call fcn.0040520c
lea eax, [ebp - 0x2e0]
call fcn.00404d40
lea edx, [ebp - 4]
lea eax, [ebp - 0x2e0]
call fcn.00405fb0
lea eax, [ebp - 0x2e0]
call fcn.004061ac
mov eax, dword [0x5a6e7c]
mov edi, eax
mov esi, 0x52f830
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea eax, [ebp - 0x2e0]
call fcn.00405afc
mov dword [ebp - 0x2e8], eax
lea eax, [ebp - 0x2e0]
call fcn.004061ac
lea edx, [ebp - 0x2e4]
lea eax, [ebp - 0x2e0]
call fcn.00405fb0
lea eax, [ebp - 0x2e0]
call fcn.004061ac
cmp dword [ebp - 0x2e8], 2
jne 0x52c201
mov eax, dword [ebp - 0x2e4]
mov edx, 0x52f7d4
call fcn.0040a64c
je 0x52c201
lea eax, [ebp - 0x524c]
mov edx, dword [ebp - 0x2e4]
mov ecx, 0xff
call fcn.0040a3c4
lea edx, [ebp - 0x524c]
mov eax, dword [0x5a6e7c]
mov cl, 0x50
call fcn.00409bcc
cmp dword [ebp - 0x2e8], 2
jle 0x52c186
lea eax, [ebp - 0x2e0]
call fcn.0040520c
lea eax, [ebp - 0x2e0]
call fcn.00404d40
lea edx, [ebp - 4]
lea eax, [ebp - 0x2e0]
call fcn.00405fb0
lea eax, [ebp - 0x2e0]
call fcn.004061ac
mov eax, dword [0x5a74d4]
xor edx, edx
mov dword [eax], edx
mov dword [ebp - 0x2f0], 1
mov eax, dword [0x5a7390]
mov edx, dword [ebp - 0x2f0]
mov eax, dword [eax + edx*4 - 4]
mov dword [eax + 0x19c8], 1
inc dword [ebp - 0x2f0]
cmp dword [ebp - 0x2f0], 0xc
jne 0x52c250
lea eax, [ebp - 0x2e0]
call fcn.00405afc
mov dword [ebp - 0x2e8], eax
lea eax, [ebp - 0x2e0]
call fcn.004061ac
lea edx, [ebp - 0x2e4]
lea eax, [ebp - 0x2e0]
call fcn.00405fb0
lea eax, [ebp - 0x2e0]
call fcn.004061ac
cmp dword [ebp - 0x2e8], 3
jne 0x52c9ab
mov eax, dword [ebp - 0x2e4]
mov edx, 0x52f7d4
call fcn.0040a64c
je 0x52c9ab
mov eax, dword [0x5a7470]
mov edx, dword [ebp - 0x2e4]
call fcn.0052b56c
mov eax, dword [0x5a7470]
cmp dword [eax], 3
jne 0x52c59e
mov eax, dword [0x5a75e8]
fld qword [eax]
call fcn.00404c78
mov edx, dword [0x5a7390]
mov eax, dword [edx + eax*4 - 4]
cmp dword [eax + 0x19c8], 1
jle 0x52c59e
mov eax, dword [0x5a7470]
mov dword [eax], 0xc
mov eax, dword [0x5a75e8]
fld qword [eax]
call fcn.00404c78
mov edx, dword [0x5a7390]
mov eax, dword [edx + eax*4 - 4]
imul ebx, dword [eax + 0x19c8], 0xb
mov eax, dword [0x5a75e8]
fld qword [eax]
call fcn.00404c78
mov edx, dword [0x5a7390]
mov eax, dword [edx + eax*4 - 4]
mov edx, dword [0x5a75e8]
mov ecx, dword [eax + ebx*8 - 8]
mov dword [edx + 0x18], ecx
mov ecx, dword [eax + ebx*8 - 4]
mov dword [edx + 0x1c], ecx
mov eax, dword [0x5a75e8]
fld qword [eax]
call fcn.00404c78
mov edx, dword [0x5a7390]
mov eax, dword [edx + eax*4 - 4]
imul ebx, dword [eax + 0x19c8], 0xb
mov eax, dword [0x5a75e8]
fld qword [eax]
call fcn.00404c78
mov edx, dword [0x5a7390]
mov eax, dword [edx + eax*4 - 4]
mov edx, dword [0x5a75e8]
mov ecx, dword [eax + ebx*8 - 0x48]
mov dword [edx + 0x20], ecx
mov ecx, dword [eax + ebx*8 - 0x44]
mov dword [edx + 0x24], ecx
mov eax, dword [0x5a75e8]
fld qword [eax]
call fcn.00404c78
mov edx, dword [0x5a7390]
mov eax, dword [edx + eax*4 - 4]
imul ebx, dword [eax + 0x19c8], 0xb
mov eax, dword [0x5a75e8]
fld qword [eax]
call fcn.00404c78
mov edx, dword [0x5a7390]
mov eax, dword [edx + eax*4 - 4]
mov edx, dword [0x5a75e8]
mov ecx, dword [eax + ebx*8 - 0x40]
mov dword [edx + 0x28], ecx
mov ecx, dword [eax + ebx*8 - 0x3c]
mov dword [edx + 0x2c], ecx
mov eax, dword [0x5a75e8]
fld qword [eax]
call fcn.00404c78
mov edx, dword [0x5a7390]
mov eax, dword [edx + eax*4 - 4]
imul ebx, dword [eax + 0x19c8], 0xb
mov eax, dword [0x5a75e8]
fld qword [eax]
call fcn.00404c78
mov edx, dword [0x5a7390]
mov eax, dword [edx + eax*4 - 4]
mov edx, dword [0x5a75e8]
mov ecx, dword [eax + ebx*8 - 0x20]
mov dword [edx + 0x30], ecx
mov ecx, dword [eax + ebx*8 - 0x1c]
mov dword [edx + 0x34], ecx
mov eax, dword [0x5a75e8]
fld qword [eax]
call fcn.00404c78
mov edx, dword [0x5a7390]
mov eax, dword [edx + eax*4 - 4]
imul ebx, dword [eax + 0x19c8], 0xb
mov eax, dword [0x5a75e8]
fld qword [eax]
call fcn.00404c78
mov edx, dword [0x5a7390]
mov eax, dword [edx + eax*4 - 4]
mov edx, dword [0x5a75e8]
mov ecx, dword [eax + ebx*8 - 0x18]
mov dword [edx + 0x38], ecx
mov ecx, dword [eax + ebx*8 - 0x14]
mov dword [edx + 0x3c], ecx
mov eax, dword [0x5a75e8]
fld qword [eax]
call fcn.00404c78
mov edx, dword [0x5a7390]
mov eax, dword [edx + eax*4 - 4]
imul ebx, dword [eax + 0x19c8], 0xb
mov eax, dword [0x5a75e8]
fld qword [eax]
call fcn.00404c78
mov edx, dword [0x5a7390]
mov eax, dword [edx + eax*4 - 4]
mov edx, dword [0x5a75e8]
mov ecx, dword [eax + ebx*8 - 0x10]
mov dword [edx + 0x40], ecx
mov ecx, dword [eax + ebx*8 - 0xc]
mov dword [edx + 0x44], ecx
mov eax, dword [0x5a75e8]
fld qword [eax]
call fcn.00404c78
mov edx, dword [0x5a7390]
mov eax, dword [edx + eax*4 - 4]
imul ebx, dword [eax + 0x19c8], 0xb
mov eax, dword [0x5a75e8]
fld qword [eax]
call fcn.00404c78
mov edx, dword [0x5a7390]
mov eax, dword [edx + eax*4 - 4]
mov edx, dword [0x5a75e8]
mov ecx, dword [eax + ebx*8 - 0x38]
mov dword [edx + 0x48], ecx
mov ecx, dword [eax + ebx*8 - 0x34]
mov dword [edx + 0x4c], ecx
mov eax, dword [0x5a75e8]
fld qword [eax]
call fcn.00404c78
mov edx, dword [0x5a7390]
mov eax, dword [edx + eax*4 - 4]
imul ebx, dword [eax + 0x19c8], 0xb
mov eax, dword [0x5a75e8]
fld qword [eax]
call fcn.00404c78
mov edx, dword [0x5a7390]
mov eax, dword [edx + eax*4 - 4]
mov edx, dword [0x5a75e8]
mov ecx, dword [eax + ebx*8 - 0x30]
mov dword [edx + 0x50], ecx
mov ecx, dword [eax + ebx*8 - 0x2c]
mov dword [edx + 0x54], ecx
mov eax, dword [0x5a75e8]
fld qword [eax]
call fcn.00404c78
mov edx, dword [0x5a7390]
mov eax, dword [edx + eax*4 - 4]
imul ebx, dword [eax + 0x19c8], 0xb
mov eax, dword [0x5a75e8]
fld qword [eax]
call fcn.00404c78
mov edx, dword [0x5a7390]
mov eax, dword [edx + eax*4 - 4]
mov edx, dword [0x5a75e8]
mov ecx, dword [eax + ebx*8 - 0x28]
mov dword [edx + 0x58], ecx
mov ecx, dword [eax + ebx*8 - 0x24]
mov dword [edx + 0x5c], ecx
mov eax, dword [0x5a7470]
cmp dword [eax], 9
jne 0x52c5da
mov eax, dword [0x5a7470]
mov dword [eax], 0xc
mov eax, dword [0x5a75e8]
xor edx, edx
mov dword [eax + 0x48], edx
mov dword [eax + 0x4c], edx
mov eax, dword [0x5a75e8]
xor edx, edx
mov dword [eax + 0x50], edx
mov dword [eax + 0x54], edx
mov eax, dword [0x5a75e8]
xor edx, edx
mov dword [eax + 0x58], edx
mov dword [eax + 0x5c], edx
mov eax, dword [0x5a7470]
cmp dword [eax], 0xc
jne 0x52c86e
mov eax, dword [0x5a75e8]
fld qword [eax]
call fcn.00404c78
mov dword [ebp - 0x2f0], eax
mov eax, dword [0x5a74d4]
mov eax, dword [eax]
cmp eax, dword [ebp - 0x2f0]
jge 0x52c616
mov eax, dword [0x5a74d4]
mov edx, dword [ebp - 0x2f0]
mov dword [eax], edx
cmp dword [ebp - 0x2f0], 1
jge 0x52c630
push ebp
mov edx, 0x52f850
mov eax, 3
call fcn.0052bb58
pop ecx
mov eax, dword [0x5a74d4]
cmp dword [eax], 0xb
jle 0x52c64b
push ebp
mov edx, 0x52f894
mov eax, 3
call fcn.0052bb58
pop ecx
mov eax, dword [0x5a7390]
mov edx, dword [ebp - 0x2f0]
mov eax, dword [eax + edx*4 - 4]
mov dword [ebp - 0x2fc], eax
mov eax, dword [ebp - 0x2fc]
inc dword [eax + 0x19c8]
mov eax, dword [ebp - 0x2fc]
cmp dword [eax + 0x19c8], 0x4b
jle 0x52c68c
push ebp
mov edx, 0x52f8c0
mov eax, 3
call fcn.0052bb58
pop ecx
mov eax, dword [ebp - 0x2fc]
mov eax, dword [eax + 0x19c8]
mov dword [ebp - 0x2f4], eax
imul eax, dword [ebp - 0x2f4], 0xb
mov edx, dword [ebp - 0x2fc]
mov ecx, dword [0x5a75e8]
mov ebx, dword [ecx + 8]
mov dword [edx + eax*8 - 0x58], ebx
mov ebx, dword [ecx + 0xc]
mov dword [edx + eax*8 - 0x54], ebx
imul eax, dword [ebp - 0x2f4], 0xb
mov edx, dword [ebp - 0x2fc]
mov ecx, dword [0x5a75e8]
mov ebx, dword [ecx + 0x10]
mov dword [edx + eax*8 - 0x50], ebx
mov ebx, dword [ecx + 0x14]
mov dword [edx + eax*8 - 0x4c], ebx
imul eax, dword [ebp - 0x2f4], 0xb
mov edx, dword [ebp - 0x2fc]
mov ecx, dword [0x5a75e8]
mov ebx, dword [ecx + 0x18]
mov dword [edx + eax*8 - 8], ebx
mov ebx, dword [ecx + 0x1c]
mov dword [edx + eax*8 - 4], ebx
imul eax, dword [ebp - 0x2f4], 0xb
mov edx, dword [ebp - 0x2fc]
mov ecx, dword [0x5a75e8]
mov ebx, dword [ecx + 0x20]
mov dword [edx + eax*8 - 0x48], ebx
mov ebx, dword [ecx + 0x24]
mov dword [edx + eax*8 - 0x44], ebx
imul eax, dword [ebp - 0x2f4], 0xb
mov edx, dword [ebp - 0x2fc]
mov ecx, dword [0x5a75e8]
mov ebx, dword [ecx + 0x28]
mov dword [edx + eax*8 - 0x40], ebx
mov ebx, dword [ecx + 0x2c]
mov dword [edx + eax*8 - 0x3c], ebx
imul eax, dword [ebp - 0x2f4], 0xb
mov edx, dword [ebp - 0x2fc]
mov ecx, dword [0x5a75e8]
mov ebx, dword [ecx + 0x30]
mov dword [edx + eax*8 - 0x20], ebx
mov ebx, dword [ecx + 0x34]
mov dword [edx + eax*8 - 0x1c], ebx
imul eax, dword [ebp - 0x2f4], 0xb
mov edx, dword [ebp - 0x2fc]
mov ecx, dword [0x5a75e8]
mov ebx, dword [ecx + 0x38]
mov dword [edx + eax*8 - 0x18], ebx
mov ebx, dword [ecx + 0x3c]
mov dword [edx + eax*8 - 0x14], ebx
imul eax, dword [ebp - 0x2f4], 0xb
mov edx, dword [ebp - 0x2fc]
mov ecx, dword [0x5a75e8]
mov ebx, dword [ecx + 0x40]
mov dword [edx + eax*8 - 0x10], ebx
mov ebx, dword [ecx + 0x44]
mov dword [edx + eax*8 - 0xc], ebx
imul eax, dword [ebp - 0x2f4], 0xb
mov edx, dword [ebp - 0x2fc]
mov ecx, dword [0x5a75e8]
mov ebx, dword [ecx + 0x48]
mov dword [edx + eax*8 - 0x38], ebx
mov ebx, dword [ecx + 0x4c]
mov dword [edx + eax*8 - 0x34], ebx
imul eax, dword [ebp - 0x2f4], 0xb
mov edx, dword [ebp - 0x2fc]
mov ecx, dword [0x5a75e8]
mov ebx, dword [ecx + 0x50]
mov dword [edx + eax*8 - 0x30], ebx
mov ebx, dword [ecx + 0x54]
mov dword [edx + eax*8 - 0x2c], ebx
imul eax, dword [ebp - 0x2f4], 0xb
mov edx, dword [ebp - 0x2fc]
mov ecx, dword [0x5a75e8]
mov ebx, dword [ecx + 0x58]
mov dword [edx + eax*8 - 0x28], ebx
mov ebx, dword [ecx + 0x5c]
mov dword [edx + eax*8 - 0x24], ebx
imul eax, dword [ebp - 0x2f4], 0xb
mov edx, dword [ebp - 0x2fc]
fld qword [edx + eax*8 - 0x38]
fcomp dword [0x52f8f8]
wait
fnstsw ax
sahf
jae 0x52c837
push ebp
mov edx, 0x52f908
mov eax, 3
call fcn.0052bb58
pop ecx
imul eax, dword [ebp - 0x2f4], 0xb
mov edx, dword [ebp - 0x2fc]
fld qword [edx + eax*8 - 0x30]
fcomp dword [0x52f8f8]
wait
fnstsw ax
sahf
jae 0x52c9ab
push ebp
mov edx, 0x52f964
mov eax, 3
call fcn.0052bb58
pop ecx
jmp 0x52c9ab
mov eax, dword [0x5a7470]
mov eax, dword [eax]
cmp eax, 0xb
ja case.0x52c87e.9
jmp dword [eax*4 + 0x52c885]
push ebp
mov edx, 0x52f9c0
mov eax, 3
call fcn.0052bb58
pop ecx
jmp case.0x52c87e.9
push ebp
mov edx, 0x52fa04
mov eax, 3
call fcn.0052bb58
pop ecx
jmp case.0x52c87e.9
push ebp
mov edx, 0x52fa94
mov eax, 3
call fcn.0052bb58
pop ecx
jmp case.0x52c87e.9
push ebp
mov edx, 0x52fb20
mov eax, 3
call fcn.0052bb58
pop ecx
jmp case.0x52c87e.9
push ebp
mov edx, 0x52fba4
mov eax, 3
call fcn.0052bb58
pop ecx
jmp case.0x52c87e.9
push ebp
mov edx, 0x52fc24
mov eax, 3
call fcn.0052bb58
pop ecx
jmp case.0x52c87e.9
push ebp
mov edx, 0x52fc9c
mov eax, 3
call fcn.0052bb58
pop ecx
jmp case.0x52c87e.9
push ebp
mov edx, 0x52fd0c
mov eax, 3
call fcn.0052bb58
pop ecx
jmp case.0x52c87e.9
push ebp
mov edx, 0x52fd74
mov eax, 3
call fcn.0052bb58
pop ecx
jmp case.0x52c87e.9
push ebp
mov edx, 0x52fdcc
mov eax, 3
call fcn.0052bb58
pop ecx
jmp case.0x52c87e.9
push ebp
mov edx, 0x52fe2c
mov eax, 3
call fcn.0052bb58
pop ecx
mov eax, dword [0x5a7470]
cmp dword [eax], 0xc
jle 0x52c9ab
push ebp
mov edx, 0x52f9c0
mov eax, 3
call fcn.0052bb58
pop ecx
cmp dword [ebp - 0x2e8], 3
jle 0x52c278
lea eax, [ebp - 0x2e0]
call fcn.0040520c
mov eax, dword [0x5a74d4]
mov eax, dword [eax]
test eax, eax
jle 0x52ca24
mov dword [ebp - 0x300], eax
mov dword [ebp - 0x2f0], 1
mov eax, dword [0x5a7390]
mov edx, dword [ebp - 0x2f0]
mov eax, dword [eax + edx*4 - 4]
mov dword [ebp - 0x304], eax
mov eax, dword [ebp - 0x304]
imul eax, dword [eax + 0x19c8], 0xb
mov edx, dword [ebp - 0x304]
mov ecx, dword [ebp - 0x304]
lea esi, [edx + eax*8 - 0x58]
mov edi, ecx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
inc dword [ebp - 0x2f0]
dec dword [ebp - 0x300]
jne 0x52c9de
lea eax, [ebp - 0x2e0]
call fcn.00404d40
lea edx, [ebp - 4]
lea eax, [ebp - 0x2e0]
call fcn.00405fb0
lea eax, [ebp - 0x2e0]
call fcn.004061ac
mov eax, dword [0x5a6e70]
xor edx, edx
mov dword [eax], edx
lea eax, [ebp - 0x2e0]
call fcn.00405afc
mov dword [ebp - 0x2e8], eax
lea eax, [ebp - 0x2e0]
call fcn.004061ac
lea edx, [ebp - 0x2e4]
lea eax, [ebp - 0x2e0]
call fcn.00405fb0
lea eax, [ebp - 0x2e0]
call fcn.004061ac
cmp dword [ebp - 0x2e8], 4
jne 0x52ce27
mov eax, dword [ebp - 0x2e4]
mov edx, 0x52f7d4
call fcn.0040a64c
je 0x52ce27
mov eax, dword [0x5a7470]
mov edx, dword [ebp - 0x2e4]
call fcn.0052b56c
mov eax, dword [0x5a7470]
cmp dword [eax], 4
jne 0x52cb92
mov eax, dword [0x5a6e70]
cmp dword [eax], 0
jle 0x52cb92
mov eax, dword [0x5a7470]
mov dword [eax], 9
mov eax, dword [0x5a6e70]
mov eax, dword [eax]
mov edx, dword [0x5a70b8]
mov eax, dword [edx + eax*4 - 4]
mov edx, dword [0x5a75e8]
mov ecx, dword [eax + 0x48]
mov dword [edx + 0x20], ecx
mov ecx, dword [eax + 0x4c]
mov dword [edx + 0x24], ecx
mov eax, dword [0x5a6e70]
mov eax, dword [eax]
mov edx, dword [0x5a70b8]
mov eax, dword [edx + eax*4 - 4]
mov edx, dword [0x5a75e8]
mov ecx, dword [eax + 0x20]
mov dword [edx + 0x28], ecx
mov ecx, dword [eax + 0x24]
mov dword [edx + 0x2c], ecx
mov eax, dword [0x5a6e70]
mov eax, dword [eax]
mov edx, dword [0x5a70b8]
mov eax, dword [edx + eax*4 - 4]
mov edx, dword [0x5a75e8]
mov ecx, dword [eax + 0x30]
mov dword [edx + 0x30], ecx
mov ecx, dword [eax + 0x34]
mov dword [edx + 0x34], ecx
mov eax, dword [0x5a6e70]
mov eax, dword [eax]
mov edx, dword [0x5a70b8]
mov eax, dword [edx + eax*4 - 4]
mov edx, dword [0x5a75e8]
mov ecx, dword [eax + 0x38]
mov dword [edx + 0x38], ecx
mov ecx, dword [eax + 0x3c]
mov dword [edx + 0x3c], ecx
mov eax, dword [0x5a6e70]
mov eax, dword [eax]
mov edx, dword [0x5a70b8]
mov eax, dword [edx + eax*4 - 4]
mov edx, dword [0x5a75e8]
mov ecx, dword [eax + 0x40]
mov dword [edx + 0x40], ecx
mov ecx, dword [eax + 0x44]
mov dword [edx + 0x44], ecx
mov eax, dword [0x5a7470]
cmp dword [eax], 6
jne 0x52cbce
mov eax, dword [0x5a7470]
mov dword [eax], 9
mov eax, dword [0x5a75e8]
xor edx, edx
mov dword [eax + 0x30], edx
mov dword [eax + 0x34], edx
mov eax, dword [0x5a75e8]
xor edx, edx
mov dword [eax + 0x38], edx
mov dword [eax + 0x3c], edx
mov eax, dword [0x5a75e8]
xor edx, edx
mov dword [eax + 0x40], edx
mov dword [eax + 0x44], edx
mov eax, dword [0x5a7470]
cmp dword [eax], 9
jne 0x52cd4e
mov eax, dword [0x5a6e70]
inc dword [eax]
mov eax, dword [0x5a6e70]
cmp dword [eax], 0x4b
jle 0x52cbfe
push ebp
mov edx, 0x52fe80
mov eax, 4
call fcn.0052bb58
pop ecx
mov eax, dword [0x5a6e70]
mov eax, dword [eax]
mov edx, dword [0x5a70b8]
mov eax, dword [edx + eax*4 - 4]
mov dword [ebp - 0x308], eax
mov eax, dword [ebp - 0x308]
mov edx, dword [0x5a75e8]
mov ecx, dword [edx]
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
mov eax, dword [ebp - 0x308]
mov edx, dword [0x5a75e8]
mov ecx, dword [edx + 8]
mov dword [eax + 8], ecx
mov ecx, dword [edx + 0xc]
mov dword [eax + 0xc], ecx
mov eax, dword [ebp - 0x308]
mov edx, dword [0x5a75e8]
mov ecx, dword [edx + 0x10]
mov dword [eax + 0x10], ecx
mov ecx, dword [edx + 0x14]
mov dword [eax + 0x14], ecx
mov eax, dword [ebp - 0x308]
mov edx, dword [0x5a75e8]
mov ecx, dword [edx + 0x18]
mov dword [eax + 0x18], ecx
mov ecx, dword [edx + 0x1c]
mov dword [eax + 0x1c], ecx
mov eax, dword [ebp - 0x308]
mov edx, dword [0x5a75e8]
mov ecx, dword [edx + 0x20]
mov dword [eax + 0x48], ecx
mov ecx, dword [edx + 0x24]
mov dword [eax + 0x4c], ecx
mov eax, dword [ebp - 0x308]
mov edx, dword [0x5a75e8]
mov ecx, dword [edx + 0x28]
mov dword [eax + 0x20], ecx
mov ecx, dword [edx + 0x2c]
mov dword [eax + 0x24], ecx
mov eax, dword [ebp - 0x308]
xor edx, edx
mov dword [eax + 0x28], edx
mov dword [eax + 0x2c], edx
mov eax, dword [ebp - 0x308]
mov edx, dword [0x5a75e8]
mov ecx, dword [edx + 0x30]
mov dword [eax + 0x30], ecx
mov ecx, dword [edx + 0x34]
mov dword [eax + 0x34], ecx
mov eax, dword [ebp - 0x308]
mov edx, dword [0x5a75e8]
mov ecx, dword [edx + 0x38]
mov dword [eax + 0x38], ecx
mov ecx, dword [edx + 0x3c]
mov dword [eax + 0x3c], ecx
mov eax, dword [ebp - 0x308]
mov edx, dword [0x5a75e8]
mov ecx, dword [edx + 0x40]
mov dword [eax + 0x40], ecx
mov ecx, dword [edx + 0x44]
mov dword [eax + 0x44], ecx
mov eax, dword [ebp - 0x308]
fld qword [eax + 0x30]
fcomp dword [0x52f8f8]
wait
fnstsw ax
sahf
jae 0x52cd1f
push ebp
mov edx, 0x52f908
mov eax, 4
call fcn.0052bb58
pop ecx
mov eax, dword [ebp - 0x308]
fld qword [eax + 0x38]
fcomp dword [0x52f8f8]
wait
fnstsw ax
sahf
jae 0x52ce27
push ebp
mov edx, 0x52f964
mov eax, 4
call fcn.0052bb58
pop ecx
jmp 0x52ce27
mov eax, dword [0x5a7470]
mov eax, dword [eax]
cmp eax, 8
ja case.0x52cd5e.0
jmp dword [eax*4 + 0x52cd65]
push ebp
mov edx, 0x52feb4
mov eax, 4
call fcn.0052bb58
pop ecx
jmp case.0x52cd5e.0
push ebp
mov edx, 0x52ff2c
mov eax, 4
call fcn.0052bb58
pop ecx
jmp case.0x52cd5e.0
push ebp
mov edx, 0x52ff9c
mov eax, 4
call fcn.0052bb58
pop ecx
jmp case.0x52cd5e.0
push ebp
mov edx, 0x530004
mov eax, 4
call fcn.0052bb58
pop ecx
jmp case.0x52cd5e.0
push ebp
mov edx, 0x530064
mov eax, 4
call fcn.0052bb58
pop ecx
jmp case.0x52cd5e.0
push ebp
mov edx, 0x52fdcc
mov eax, 4
call fcn.0052bb58
pop ecx
jmp case.0x52cd5e.0
push ebp
mov edx, 0x52fe2c
mov eax, 4
call fcn.0052bb58
pop ecx
mov eax, dword [0x5a7470]
cmp dword [eax], 9
jle 0x52ce27
push ebp
mov edx, 0x52f9c0
mov eax, 4
call fcn.0052bb58
pop ecx
cmp dword [ebp - 0x2e8], 4
jle 0x52ca51
lea eax, [ebp - 0x2e0]
call fcn.0040520c
lea eax, [ebp - 0x2e0]
call fcn.00404d40
lea edx, [ebp - 4]
lea eax, [ebp - 0x2e0]
call fcn.00405fb0
lea eax, [ebp - 0x2e0]
call fcn.004061ac
mov eax, dword [0x5a71e8]
xor edx, edx
mov dword [eax], edx
lea eax, [ebp - 0x2e0]
call fcn.00405afc
mov dword [ebp - 0x2e8], eax
lea eax, [ebp - 0x2e0]
call fcn.004061ac
lea edx, [ebp - 0x2e4]
lea eax, [ebp - 0x2e0]
call fcn.00405fb0
lea eax, [ebp - 0x2e0]
call fcn.004061ac
cmp dword [ebp - 0x2e8], 5
jne 0x52d012
mov eax, dword [ebp - 0x2e4]
mov edx, 0x52f7d4
call fcn.0040a64c
je 0x52d012
mov eax, dword [0x5a7470]
mov edx, dword [ebp - 0x2e4]
call fcn.0052b56c
mov eax, dword [0x5a7470]
cmp dword [eax], 2
jne 0x52cf19
mov eax, dword [0x5a71e8]
cmp dword [eax], 0
jle 0x52cf19
mov eax, dword [0x5a7470]
mov dword [eax], 3
mov eax, dword [0x5a71e8]
mov eax, dword [eax]
mov edx, dword [0x5a7448]
mov eax, dword [edx + eax*4 - 4]
mov edx, dword [0x5a75e8]
mov ecx, dword [eax + 0x10]
mov dword [edx + 0x10], ecx
mov ecx, dword [eax + 0x14]
mov dword [edx + 0x14], ecx
mov eax, dword [0x5a7470]
cmp dword [eax], 3
jne 0x52cfc4
mov eax, dword [0x5a71e8]
inc dword [eax]
mov eax, dword [0x5a71e8]
cmp dword [eax], 0x4b
jle 0x52cf49
push ebp
mov edx, 0x5300b8
mov eax, 5
call fcn.0052bb58
pop ecx
mov eax, dword [0x5a71e8]
mov eax, dword [eax]
mov edx, dword [0x5a7448]
mov eax, dword [edx + eax*4 - 4]
mov dword [ebp - 0x30c], eax
mov eax, dword [ebp - 0x30c]
mov edx, dword [0x5a75e8]
mov ecx, dword [edx]
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
mov eax, dword [ebp - 0x30c]
mov edx, dword [0x5a75e8]
mov ecx, dword [edx + 8]
mov dword [eax + 8], ecx
mov ecx, dword [edx + 0xc]
mov dword [eax + 0xc], ecx
mov eax, dword [ebp - 0x30c]
mov edx, dword [0x5a75e8]
mov ecx, dword [edx + 0x10]
mov dword [eax + 0x10], ecx
mov ecx, dword [edx + 0x14]
mov dword [eax + 0x14], ecx
mov eax, dword [ebp - 0x30c]
xor edx, edx
mov dword [eax + 0x18], edx
mov dword [eax + 0x1c], edx
mov eax, dword [ebp - 0x30c]
xor edx, edx
mov dword [eax + 0x20], edx
mov dword [eax + 0x24], edx
jmp 0x52d012
mov eax, dword [0x5a7470]
mov eax, dword [eax]
dec eax
je 0x52cfd3
dec eax
je 0x52cfe6
jmp 0x52cff7
push ebp
mov edx, 0x5300ec
mov eax, 5
call fcn.0052bb58
pop ecx
jmp 0x52cff7
push ebp
mov edx, 0x53014c
mov eax, 5
call fcn.0052bb58
pop ecx
mov eax, dword [0x5a7470]
cmp dword [eax], 3
jle 0x52d012
push ebp
mov edx, 0x52f9c0
mov eax, 5
call fcn.0052bb58
pop ecx
cmp dword [ebp - 0x2e8], 5
jle 0x52ce6c
lea eax, [ebp - 0x2e0]
call fcn.0040520c
lea eax, [ebp - 0x2e0]
call fcn.00404d40
lea edx, [ebp - 4]
lea eax, [ebp - 0x2e0]
call fcn.00405fb0
lea eax, [ebp - 0x2e0]
call fcn.004061ac
mov eax, dword [0x5a6ec4]
xor edx, edx
mov dword [eax], edx
lea eax, [ebp - 0x2e0]
call fcn.00405afc
mov dword [ebp - 0x2e8], eax
lea eax, [ebp - 0x2e0]
call fcn.004061ac
lea edx, [ebp - 0x2e4]
lea eax, [ebp - 0x2e0]
call fcn.00405fb0
lea eax, [ebp - 0x2e0]
call fcn.004061ac
cmp dword [ebp - 0x2e8], 6
jne 0x52d2d4
mov eax, dword [ebp - 0x2e4]
mov edx, 0x52f7d4
call fcn.0040a64c
je 0x52d2d4
mov eax, dword [0x5a7470]
mov edx, dword [ebp - 0x2e4]
call fcn.0052b56c
mov eax, dword [0x5a7470]
cmp dword [eax], 6
jne 0x52d105
mov eax, dword [0x5a7470]
mov dword [eax], 8
mov eax, dword [0x5a75e8]
mov edx, dword [0x5a75e8]
mov ecx, dword [edx + 0x20]
mov dword [eax + 0x30], ecx
mov ecx, dword [edx + 0x24]
mov dword [eax + 0x34], ecx
mov eax, dword [0x5a75e8]
mov edx, dword [0x5a75e8]
mov ecx, dword [edx + 0x28]
mov dword [eax + 0x38], ecx
mov ecx, dword [edx + 0x2c]
mov dword [eax + 0x3c], ecx
mov eax, dword [0x5a7470]
cmp dword [eax], 8
jne 0x52d212
mov eax, dword [0x5a6ec4]
inc dword [eax]
mov eax, dword [0x5a6ec4]
cmp dword [eax], 0x1f4
jle 0x52d138
push ebp
mov edx, 0x5301a0
mov eax, 6
call fcn.0052bb58
pop ecx
mov eax, dword [0x5a6ec4]
mov eax, dword [eax]
mov edx, dword [0x5a7130]
mov eax, dword [edx + eax*4 - 4]
mov dword [ebp - 0x310], eax
mov eax, dword [ebp - 0x310]
mov edx, dword [0x5a75e8]
mov ecx, dword [edx]
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
mov eax, dword [ebp - 0x310]
mov edx, dword [0x5a75e8]
mov ecx, dword [edx + 8]
mov dword [eax + 8], ecx
mov ecx, dword [edx + 0xc]
mov dword [eax + 0xc], ecx
mov eax, dword [ebp - 0x310]
mov edx, dword [0x5a75e8]
mov ecx, dword [edx + 0x10]
mov dword [eax + 0x10], ecx
mov ecx, dword [edx + 0x14]
mov dword [eax + 0x14], ecx
mov eax, dword [ebp - 0x310]
mov edx, dword [0x5a75e8]
mov ecx, dword [edx + 0x18]
mov dword [eax + 0x18], ecx
mov ecx, dword [edx + 0x1c]
mov dword [eax + 0x1c], ecx
mov eax, dword [ebp - 0x310]
mov edx, dword [0x5a75e8]
mov ecx, dword [edx + 0x20]
mov dword [eax + 0x20], ecx
mov ecx, dword [edx + 0x24]
mov dword [eax + 0x24], ecx
mov eax, dword [ebp - 0x310]
mov edx, dword [0x5a75e8]
mov ecx, dword [edx + 0x28]
mov dword [eax + 0x30], ecx
mov ecx, dword [edx + 0x2c]
mov dword [eax + 0x34], ecx
mov eax, dword [ebp - 0x310]
mov edx, dword [0x5a75e8]
mov ecx, dword [edx + 0x30]
mov dword [eax + 0x28], ecx
mov ecx, dword [edx + 0x34]
mov dword [eax + 0x2c], ecx
mov eax, dword [ebp - 0x310]
mov edx, dword [0x5a75e8]
mov ecx, dword [edx + 0x38]
mov dword [eax + 0x38], ecx
mov ecx, dword [edx + 0x3c]
mov dword [eax + 0x3c], ecx
jmp 0x52d2d4
mov eax, dword [0x5a7470]
mov eax, dword [eax]
cmp eax, 7
ja case.0x52d222.0
jmp dword [eax*4 + 0x52d229]
push ebp
mov edx, 0x5301d8
mov eax, 6
call fcn.0052bb58
pop ecx
jmp case.0x52d222.0
push ebp
mov edx, 0x530258
mov eax, 6
call fcn.0052bb58
pop ecx
jmp case.0x52d222.0
push ebp
mov edx, 0x5302d0
mov eax, 6
call fcn.0052bb58
pop ecx
jmp case.0x52d222.0
push ebp
mov edx, 0x530340
mov eax, 6
call fcn.0052bb58
pop ecx
jmp case.0x52d222.0
push ebp
mov edx, 0x5303a8
mov eax, 6
call fcn.0052bb58
pop ecx
jmp case.0x52d222.0
push ebp
mov edx, 0x530400
mov eax, 6
call fcn.0052bb58
pop ecx
mov eax, dword [0x5a7470]
cmp dword [eax], 8
jle 0x52d2d4
push ebp
mov edx, 0x52f9c0
mov eax, 6
call fcn.0052bb58
pop ecx
cmp dword [ebp - 0x2e8], 6
jle 0x52d057
lea eax, [ebp - 0x2e0]
call fcn.0040520c
lea eax, [ebp - 0x2e0]
call fcn.00404d40
lea edx, [ebp - 4]
lea eax, [ebp - 0x2e0]
call fcn.00405fb0
lea eax, [ebp - 0x2e0]
call fcn.004061ac
mov eax, dword [0x5a70b4]
xor edx, edx
mov dword [eax], edx
lea eax, [ebp - 0x2e0]
call fcn.00405afc
mov dword [ebp - 0x2e8], eax
lea eax, [ebp - 0x2e0]
call fcn.004061ac
lea edx, [ebp - 0x2e4]
lea eax, [ebp - 0x2e0]
call fcn.00405fb0
lea eax, [ebp - 0x2e0]
call fcn.004061ac
cmp dword [ebp - 0x2e8], 7
jne 0x52d492
mov eax, dword [ebp - 0x2e4]
mov edx, 0x52f7d4
call fcn.0040a64c
je 0x52d492
mov eax, dword [0x5a7470]
mov edx, dword [ebp - 0x2e4]
call fcn.0052b56c
mov eax, dword [0x5a7470]
cmp dword [eax], 4
jne 0x52d42e
mov eax, dword [0x5a70b4]
inc dword [eax]
mov eax, dword [0x5a70b4]
cmp dword [eax], 0xc8
jle 0x52d3b7
push ebp
mov edx, 0x530458
mov eax, 7
call fcn.0052bb58
pop ecx
mov eax, dword [0x5a70b4]
mov eax, dword [eax]
mov edx, dword [0x5a72f4]
mov eax, dword [edx + eax*4 - 4]
mov dword [ebp - 0x314], eax
mov eax, dword [ebp - 0x314]
mov edx, dword [0x5a75e8]
mov ecx, dword [edx]
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
mov eax, dword [ebp - 0x314]
mov edx, dword [0x5a75e8]
mov ecx, dword [edx + 8]
mov dword [eax + 8], ecx
mov ecx, dword [edx + 0xc]
mov dword [eax + 0xc], ecx
mov eax, dword [ebp - 0x314]
mov edx, dword [0x5a75e8]
mov ecx, dword [edx + 0x10]
mov dword [eax + 0x10], ecx
mov ecx, dword [edx + 0x14]
mov dword [eax + 0x14], ecx
mov eax, dword [ebp - 0x314]
mov edx, dword [0x5a75e8]
mov ecx, dword [edx + 0x18]
mov dword [eax + 0x18], ecx
mov ecx, dword [edx + 0x1c]
mov dword [eax + 0x1c], ecx
jmp 0x52d492
mov eax, dword [0x5a7470]
mov eax, dword [eax]
dec eax
je 0x52d440
dec eax
je 0x52d453
dec eax
je 0x52d466
jmp 0x52d477
push ebp
mov edx, 0x53048c
mov eax, 7
call fcn.0052bb58
pop ecx
jmp 0x52d477
push ebp
mov edx, 0x5304f4
mov eax, 7
call fcn.0052bb58
pop ecx
jmp 0x52d477
push ebp
mov edx, 0x530558
mov eax, 7
call fcn.0052bb58
pop ecx
mov eax, dword [0x5a7470]
cmp dword [eax], 4
jle 0x52d492
push ebp
mov edx, 0x52f9c0
mov eax, 7
call fcn.0052bb58
pop ecx
cmp dword [ebp - 0x2e8], 7
jle 0x52d319
lea eax, [ebp - 0x2e0]
call fcn.0040520c
lea eax, [ebp - 0x2e0]
call fcn.00404d40
lea edx, [ebp - 4]
lea eax, [ebp - 0x2e0]
call fcn.00405fb0
lea eax, [ebp - 0x2e0]
call fcn.004061ac
mov eax, dword [0x5a7270]
xor edx, edx
mov dword [eax], edx
mov dword [eax + 4], edx
lea eax, [ebp - 0x2e0]
call fcn.00405afc
mov dword [ebp - 0x2e8], eax
lea eax, [ebp - 0x2e0]
call fcn.004061ac
lea edx, [ebp - 0x2e4]
lea eax, [ebp - 0x2e0]
call fcn.00405fb0
lea eax, [ebp - 0x2e0]
call fcn.004061ac
cmp dword [ebp - 0x2e8], 8
jne 0x52d6f2
mov eax, dword [ebp - 0x2e4]
mov edx, 0x52f7d4
call fcn.0040a64c
je 0x52d6e1
mov eax, dword [0x5a7470]
mov edx, dword [ebp - 0x2e4]
call fcn.0052b56c
mov eax, dword [0x5a7470]
cmp dword [eax], 6
jne 0x52d570
mov eax, dword [0x5a7270]
mov edx, dword [0x5a75e8]
mov ecx, dword [edx + 0x28]
mov dword [eax], ecx
mov ecx, dword [edx + 0x2c]
mov dword [eax + 4], ecx
mov eax, dword [0x5a7470]
mov dword [eax], 5
mov eax, dword [0x5a7470]
cmp dword [eax], 5
jne 0x52d665
mov eax, dword [0x5a75e8]
fld qword [eax]
fld dword [0x5305a0]
call fcn.004052d0
mov eax, dword [0x5a7080]
fstp qword [eax]
wait
mov eax, dword [0x5a70a8]
mov edx, dword [0x5a75e8]
mov ecx, dword [edx + 8]
mov dword [eax], ecx
mov ecx, dword [edx + 0xc]
mov dword [eax + 4], ecx
mov eax, dword [0x5a7114]
mov edx, dword [0x5a75e8]
mov ecx, dword [edx + 0x10]
mov dword [eax], ecx
mov ecx, dword [edx + 0x14]
mov dword [eax + 4], ecx
mov eax, dword [0x5a6ff0]
mov edx, dword [0x5a75e8]
mov ecx, dword [edx + 0x18]
mov dword [eax], ecx
mov ecx, dword [edx + 0x1c]
mov dword [eax + 4], ecx
mov eax, dword [0x5a6f00]
mov edx, dword [0x5a75e8]
mov ecx, dword [edx + 0x20]
mov dword [eax], ecx
mov ecx, dword [edx + 0x24]
mov dword [eax + 4], ecx
mov eax, dword [0x5a7080]
fld qword [eax]
fcomp dword [0x52f8f8]
wait
fnstsw ax
sahf
ja 0x52d614
push ebp
mov edx, 0x5305b0
mov eax, 8
call fcn.0052bb58
pop ecx
mov eax, dword [0x5a70a8]
fld qword [eax]
fcomp dword [0x52f8f8]
wait
fnstsw ax
sahf
jae 0x52d638
push ebp
mov edx, 0x530614
mov eax, 8
call fcn.0052bb58
pop ecx
mov eax, dword [0x5a6f00]
fld qword [eax]
fcomp dword [0x52f8f8]
wait
fnstsw ax
sahf
ja 0x52d6f2
push ebp
mov edx, 0x530670
mov eax, 8
call fcn.0052bb58
pop ecx
jmp 0x52d6f2
mov eax, dword [0x5a7470]
mov eax, dword [eax]
dec eax
je 0x52d67a
dec eax
je 0x52d68d
dec eax
je 0x52d6a0
dec eax
je 0x52d6b3
jmp 0x52d6c4
push ebp
mov edx, 0x5306d4
mov eax, 8
call fcn.0052bb58
pop ecx
jmp 0x52d6c4
push ebp
mov edx, 0x530760
mov eax, 8
call fcn.0052bb58
pop ecx
jmp 0x52d6c4
push ebp
mov edx, 0x5307e4
mov eax, 8
call fcn.0052bb58
pop ecx
jmp 0x52d6c4
push ebp
mov edx, 0x530858
mov eax, 8
call fcn.0052bb58
pop ecx
mov eax, dword [0x5a7470]
cmp dword [eax], 5
jle 0x52d6f2
push ebp
mov edx, 0x52f9c0
mov eax, 8
call fcn.0052bb58
pop ecx
jmp 0x52d6f2
push ebp
mov edx, 0x5308b4
mov eax, 8
call fcn.0052bb58
pop ecx
cmp dword [ebp - 0x2e8], 8
jle 0x52d4da
lea eax, [ebp - 0x2e0]
call fcn.0040520c
lea eax, [ebp - 0x2e0]
call fcn.00404d40
lea edx, [ebp - 4]
lea eax, [ebp - 0x2e0]
call fcn.00405fb0
lea eax, [ebp - 0x2e0]
call fcn.004061ac
mov eax, dword [0x5a7274]
xor edx, edx
mov dword [eax], edx
lea eax, [ebp - 0x2e0]
call fcn.00405afc
mov dword [ebp - 0x2e8], eax
lea eax, [ebp - 0x2e0]
call fcn.004061ac
lea edx, [ebp - 0x2e4]
lea eax, [ebp - 0x2e0]
call fcn.00405fb0
lea eax, [ebp - 0x2e0]
call fcn.004061ac
cmp dword [ebp - 0x2e8], 9
jne 0x52db13
mov eax, dword [ebp - 0x2e4]
mov edx, 0x52f7d4
call fcn.0040a64c
je 0x52db13
mov eax, dword [0x5a7470]
mov edx, dword [ebp - 0x2e4]
call fcn.0052b56c
mov eax, dword [0x5a7470]
cmp dword [eax], 8
jne 0x52d855
mov eax, dword [0x5a7274]
cmp dword [eax], 0
jle 0x52d855
mov eax, dword [0x5a7470]
mov dword [eax], 0xc
mov eax, dword [0x5a7274]
mov eax, dword [eax]
mov edx, dword [0x5a74b4]
mov eax, dword [edx + eax*4 - 4]
fld qword [eax + 0x48]
fmul dword [0x5305a0]
mov eax, dword [0x5a75e8]
fstp qword [eax + 0x40]
wait
mov eax, dword [0x5a7274]
mov eax, dword [eax]
mov edx, dword [0x5a74b4]
mov eax, dword [edx + eax*4 - 4]
mov edx, dword [0x5a75e8]
mov ecx, dword [eax + 0x40]
mov dword [edx + 0x48], ecx
mov ecx, dword [eax + 0x44]
mov dword [edx + 0x4c], ecx
mov eax, dword [0x5a7274]
mov eax, dword [eax]
mov edx, dword [0x5a74b4]
mov eax, dword [edx + eax*4 - 4]
mov edx, dword [0x5a75e8]
mov ecx, dword [eax + 0x50]
mov dword [edx + 0x50], ecx
mov ecx, dword [eax + 0x54]
mov dword [edx + 0x54], ecx
mov eax, dword [0x5a7274]
mov eax, dword [eax]
mov edx, dword [0x5a74b4]
mov eax, dword [edx + eax*4 - 4]
mov edx, dword [0x5a75e8]
mov ecx, dword [eax + 0x58]
mov dword [edx + 0x58], ecx
mov ecx, dword [eax + 0x5c]
mov dword [edx + 0x5c], ecx
mov eax, dword [0x5a7470]
cmp dword [eax], 0xc
jne 0x52d9d6
mov eax, dword [0x5a7274]
inc dword [eax]
mov eax, dword [0x5a7274]
cmp dword [eax], 0x19
jle 0x52d885
push ebp
mov edx, 0x53094c
mov eax, 9
call fcn.0052bb58
pop ecx
mov eax, dword [0x5a7274]
mov eax, dword [eax]
mov edx, dword [0x5a74b4]
mov eax, dword [edx + eax*4 - 4]
mov dword [ebp - 0x318], eax
mov eax, dword [ebp - 0x318]
mov edx, dword [0x5a75e8]
mov ecx, dword [edx]
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
mov eax, dword [ebp - 0x318]
mov edx, dword [0x5a75e8]
mov ecx, dword [edx + 8]
mov dword [eax + 8], ecx
mov ecx, dword [edx + 0xc]
mov dword [eax + 0xc], ecx
mov eax, dword [ebp - 0x318]
mov edx, dword [0x5a75e8]
mov ecx, dword [edx + 0x10]
mov dword [eax + 0x10], ecx
mov ecx, dword [edx + 0x14]
mov dword [eax + 0x14], ecx
mov eax, dword [ebp - 0x318]
mov edx, dword [0x5a75e8]
mov ecx, dword [edx + 0x18]
mov dword [eax + 0x18], ecx
mov ecx, dword [edx + 0x1c]
mov dword [eax + 0x1c], ecx
mov eax, dword [ebp - 0x318]
mov edx, dword [0x5a75e8]
mov ecx, dword [edx + 0x20]
mov dword [eax + 0x20], ecx
mov ecx, dword [edx + 0x24]
mov dword [eax + 0x24], ecx
mov eax, dword [ebp - 0x318]
mov edx, dword [0x5a75e8]
mov ecx, dword [edx + 0x28]
mov dword [eax + 0x28], ecx
mov ecx, dword [edx + 0x2c]
mov dword [eax + 0x2c], ecx
mov eax, dword [ebp - 0x318]
mov edx, dword [0x5a75e8]
mov ecx, dword [edx + 0x30]
mov dword [eax + 0x30], ecx
mov ecx, dword [edx + 0x34]
mov dword [eax + 0x34], ecx
mov eax, dword [ebp - 0x318]
mov edx, dword [0x5a75e8]
mov ecx, dword [edx + 0x38]
mov dword [eax + 0x38], ecx
mov ecx, dword [edx + 0x3c]
mov dword [eax + 0x3c], ecx
mov eax, dword [0x5a75e8]
fld qword [eax + 0x40]
fld dword [0x5305a0]
call fcn.004052d0
mov eax, dword [ebp - 0x318]
fstp qword [eax + 0x48]
wait
mov eax, dword [ebp - 0x318]
mov edx, dword [0x5a75e8]
mov ecx, dword [edx + 0x48]
mov dword [eax + 0x40], ecx
mov ecx, dword [edx + 0x4c]
mov dword [eax + 0x44], ecx
mov eax, dword [ebp - 0x318]
mov edx, dword [0x5a75e8]
mov ecx, dword [edx + 0x50]
mov dword [eax + 0x50], ecx
mov ecx, dword [edx + 0x54]
mov dword [eax + 0x54], ecx
mov eax, dword [ebp - 0x318]
mov edx, dword [0x5a75e8]
mov ecx, dword [edx + 0x58]
mov dword [eax + 0x58], ecx
mov ecx, dword [edx + 0x5c]
mov dword [eax + 0x5c], ecx
mov eax, dword [ebp - 0x318]
xor edx, edx
mov dword [eax + 0x60], edx
mov dword [eax + 0x64], 0x3ff00000
jmp 0x52db13
mov eax, dword [0x5a7470]
mov eax, dword [eax]
cmp eax, 0xb
ja case.0x52d9e6.0
jmp dword [eax*4 + 0x52d9ed]
push ebp
mov edx, 0x530988
mov eax, 9
call fcn.0052bb58
pop ecx
jmp case.0x52d9e6.0
push ebp
mov edx, 0x530a4c
mov eax, 9
call fcn.0052bb58
pop ecx
jmp case.0x52d9e6.0
push ebp
mov edx, 0x530b08
mov eax, 9
call fcn.0052bb58
pop ecx
jmp case.0x52d9e6.0
push ebp
mov edx, 0x530bbc
mov eax, 9
call fcn.0052bb58
pop ecx
jmp case.0x52d9e6.0
push ebp
mov edx, 0x530c68
mov eax, 9
call fcn.0052bb58
pop ecx
jmp case.0x52d9e6.0
push ebp
mov edx, 0x530d0c
mov eax, 9
call fcn.0052bb58
pop ecx
jmp case.0x52d9e6.0
push ebp
mov edx, 0x530da8
mov eax, 9
call fcn.0052bb58
pop ecx
jmp case.0x52d9e6.0
push ebp
mov edx, 0x530e3c
mov eax, 9
call fcn.0052bb58
pop ecx
jmp case.0x52d9e6.0
push ebp
mov edx, 0x530ec8
mov eax, 9
call fcn.0052bb58
pop ecx
jmp case.0x52d9e6.0
push ebp
mov edx, 0x530f44
mov eax, 9
call fcn.0052bb58
pop ecx
jmp case.0x52d9e6.0
push ebp
mov edx, 0x530fbc
mov eax, 9
call fcn.0052bb58
pop ecx
mov eax, dword [0x5a7470]
cmp dword [eax], 0xc
jle 0x52db13
push ebp
mov edx, 0x52f9c0
mov eax, 9
call fcn.0052bb58
pop ecx
cmp dword [ebp - 0x2e8], 9
jle 0x52d737
lea eax, [ebp - 0x2e0]
call fcn.0040520c
lea eax, [ebp - 0x2e0]
call fcn.00404d40
lea edx, [ebp - 4]
lea eax, [ebp - 0x2e0]
call fcn.00405fb0
lea eax, [ebp - 0x2e0]
call fcn.004061ac
mov eax, dword [0x5a738c]
xor edx, edx
mov dword [eax], edx
lea eax, [ebp - 0x2e0]
call fcn.00405afc
mov dword [ebp - 0x2e8], eax
lea eax, [ebp - 0x2e0]
call fcn.004061ac
lea edx, [ebp - 0x2e4]
lea eax, [ebp - 0x2e0]
call fcn.00405fb0
lea eax, [ebp - 0x2e0]
call fcn.004061ac
cmp dword [ebp - 0x2e8], 0xa
jne 0x52dcad
mov eax, dword [ebp - 0x2e4]
mov edx, 0x52f7d4
call fcn.0040a64c
je 0x52dc9c
mov eax, dword [0x5a7470]
mov edx, dword [ebp - 0x2e4]
call fcn.0052b56c
mov eax, dword [0x5a7470]
cmp dword [eax], 2
jge 0x52dbde
push ebp
mov edx, 0x53101c
mov eax, 0xa
call fcn.0052bb58
pop ecx
mov eax, dword [0x5a7470]
cmp dword [eax], 0x18
jle 0x52dbf9
push ebp
mov edx, 0x52f9c0
mov eax, 0xa
call fcn.0052bb58
pop ecx
mov eax, dword [0x5a7470]
mov eax, dword [eax]
mov edx, dword [0x5a738c]
mov dword [edx], eax
mov eax, dword [0x5a7470]
mov eax, dword [eax]
test eax, eax
jle 0x52dcad
mov dword [ebp - 0x300], eax
mov dword [ebp - 0x2f0], 1
mov eax, dword [0x5a75e0]
mov edx, dword [ebp - 0x2f0]
mov ecx, dword [0x5a75e8]
mov ebx, dword [ebp - 0x2f0]
mov esi, dword [ecx + ebx*8 - 8]
mov dword [eax + edx*8 - 8], esi
mov esi, dword [ecx + ebx*8 - 4]
mov dword [eax + edx*8 - 4], esi
cmp dword [ebp - 0x2f0], 1
jle 0x52dc8c
mov eax, dword [0x5a75e0]
mov edx, dword [ebp - 0x2f0]
fld qword [eax + edx*8 - 8]
mov eax, dword [0x5a75e0]
mov edx, dword [ebp - 0x2f0]
fcomp qword [eax + edx*8 - 0x10]
wait
fnstsw ax
sahf
ja 0x52dc8c
push ebp
mov edx, 0x5310a4
mov eax, 0xa
call fcn.0052bb58
pop ecx
inc dword [ebp - 0x2f0]
dec dword [ebp - 0x300]
jne 0x52dc27
jmp 0x52dcad
push ebp
mov edx, 0x531120
mov eax, 0xa
call fcn.0052bb58
pop ecx
cmp dword [ebp - 0x2e8], 0xa
jle 0x52db58
lea eax, [ebp - 0x2e0]
call fcn.0040520c
lea eax, [ebp - 0x2e0]
call fcn.00404d40
lea edx, [ebp - 4]
lea eax, [ebp - 0x2e0]
call fcn.00405fb0
lea eax, [ebp - 0x2e0]
call fcn.004061ac
mov eax, dword [0x5a72c8]
xor edx, edx
mov dword [eax], edx
lea eax, [ebp - 0x2e0]
call fcn.00405afc
mov dword [ebp - 0x2e8], eax
lea eax, [ebp - 0x2e0]
call fcn.004061ac
lea edx, [ebp - 0x2e4]
lea eax, [ebp - 0x2e0]
call fcn.00405fb0
lea eax, [ebp - 0x2e0]
call fcn.004061ac
cmp dword [ebp - 0x2e8], 0xb
jne 0x52de47
mov eax, dword [ebp - 0x2e4]
mov edx, 0x52f7d4
call fcn.0040a64c
je 0x52de36
mov eax, dword [0x5a7470]
mov edx, dword [ebp - 0x2e4]
call fcn.0052b56c
mov eax, dword [0x5a7470]
cmp dword [eax], 2
jge 0x52dd78
push ebp
mov edx, 0x5311ac
mov eax, 0xb
call fcn.0052bb58
pop ecx
mov eax, dword [0x5a7470]
cmp dword [eax], 0x18
jle 0x52dd93
push ebp
mov edx, 0x52f9c0
mov eax, 0xb
call fcn.0052bb58
pop ecx
mov eax, dword [0x5a7470]
mov eax, dword [eax]
mov edx, dword [0x5a72c8]
mov dword [edx], eax
mov eax, dword [0x5a7470]
mov eax, dword [eax]
test eax, eax
jle 0x52de47
mov dword [ebp - 0x300], eax
mov dword [ebp - 0x2f0], 1
mov eax, dword [0x5a7510]
mov edx, dword [ebp - 0x2f0]
mov ecx, dword [0x5a75e8]
mov ebx, dword [ebp - 0x2f0]
mov esi, dword [ecx + ebx*8 - 8]
mov dword [eax + edx*8 - 8], esi
mov esi, dword [ecx + ebx*8 - 4]
mov dword [eax + edx*8 - 4], esi
cmp dword [ebp - 0x2f0], 1
jle 0x52de26
mov eax, dword [0x5a7510]
mov edx, dword [ebp - 0x2f0]
fld qword [eax + edx*8 - 8]
mov eax, dword [0x5a7510]
mov edx, dword [ebp - 0x2f0]
fcomp qword [eax + edx*8 - 0x10]
wait
fnstsw ax
sahf
ja 0x52de26
push ebp
mov edx, 0x53123c
mov eax, 0xb
call fcn.0052bb58
pop ecx
inc dword [ebp - 0x2f0]
dec dword [ebp - 0x300]
jne 0x52ddc1
jmp 0x52de47
push ebp
mov edx, 0x5312b8
mov eax, 0xb
call fcn.0052bb58
pop ecx
cmp dword [ebp - 0x2e8], 0xb
jle 0x52dcf2
lea eax, [ebp - 0x2e0]
call fcn.0040520c
lea eax, [ebp - 0x2e0]
call fcn.00404d40
lea edx, [ebp - 4]
lea eax, [ebp - 0x2e0]
call fcn.00405fb0
lea eax, [ebp - 0x2e0]
call fcn.004061ac
mov eax, dword [0x5a71d4]
mov byte [eax], 0
mov eax, dword [0x5a73fc]
xor edx, edx
mov dword [eax], edx
mov dword [eax + 4], edx
mov eax, dword [0x5a72e4]
xor edx, edx
mov dword [eax], edx
mov dword [eax + 4], edx
lea eax, [ebp - 0x2e0]
call fcn.00405afc
mov dword [ebp - 0x2e8], eax
lea eax, [ebp - 0x2e0]
call fcn.004061ac
lea edx, [ebp - 0x2e4]
lea eax, [ebp - 0x2e0]
call fcn.00405fb0
lea eax, [ebp - 0x2e0]
call fcn.004061ac
cmp dword [ebp - 0x2e8], 0xc
jne 0x52e413
mov eax, dword [ebp - 0x2e4]
mov edx, 0x52f7d4
call fcn.0040a64c
je 0x52e402
mov eax, dword [0x5a7470]
mov edx, dword [ebp - 0x2e4]
call fcn.0052b56c
mov eax, dword [0x5a7470]
cmp dword [eax], 0xc
jne 0x52df42
mov eax, dword [0x5a75e8]
fld qword [eax + 0x58]
call fcn.00404c78
cmp edx, 0
jne 0x52df37
cmp eax, 1
jne 0x52df37
mov eax, dword [0x5a7190]
mov byte [eax], 1
mov eax, dword [0x5a7470]
mov dword [eax], 0xb
mov eax, dword [0x5a7470]
cmp dword [eax], 0xb
jne 0x52e001
mov eax, dword [0x5a7470]
mov dword [eax], 9
mov eax, dword [0x5a73fc]
mov edx, dword [0x5a75e8]
mov ecx, dword [edx + 0x48]
mov dword [eax], ecx
mov ecx, dword [edx + 0x4c]
mov dword [eax + 4], ecx
mov eax, dword [0x5a72e4]
mov edx, dword [0x5a75e8]
mov ecx, dword [edx + 0x50]
mov dword [eax], ecx
mov ecx, dword [edx + 0x54]
mov dword [eax + 4], ecx
mov eax, dword [0x5a73fc]
fld qword [eax]
fcomp dword [0x52f8f8]
wait
fnstsw ax
sahf
ja 0x52dfab
push ebp
mov edx, 0x531344
mov eax, 0xc
call fcn.0052bb58
pop ecx
mov eax, dword [0x5a72e4]
fld qword [eax]
fcomp dword [0x52f8f8]
wait
fnstsw ax
sahf
ja 0x52dfcf
push ebp
mov edx, 0x5313a4
mov eax, 0xc
call fcn.0052bb58
pop ecx
call fcn.0052ba6c
test al, al
jne 0x52e001
mov eax, dword [0x5a73fc]
xor edx, edx
mov dword [eax], edx
mov dword [eax + 4], edx
mov eax, dword [0x5a72e4]
xor edx, edx
mov dword [eax], edx
mov dword [eax + 4], edx
push ebp
mov edx, 0x531408
mov eax, 0xc
call fcn.0052bb58
pop ecx
mov eax, dword [0x5a75e8]
fld qword [eax]
call fcn.00404c78
cmp edx, 0
jne 0x52e019
cmp eax, 0
jae 0x52e034
jmp 0x52e01b
jge 0x52e034
mov eax, dword [0x5a75e8]
fld qword [eax]
fchs
mov eax, dword [0x5a75e8]
fstp qword [eax]
wait
mov eax, dword [0x5a71d4]
mov byte [eax], 1
mov eax, dword [0x5a71d4]
cmp byte [eax], 0
je 0x52e063
mov eax, dword [0x5a7470]
cmp dword [eax], 7
je 0x52e063
mov eax, dword [0x5a7470]
cmp dword [eax], 9
je 0x52e063
push ebp
mov edx, 0x531494
mov eax, 0xc
call fcn.0052bb58
pop ecx
mov eax, dword [0x5a7470]
cmp dword [eax], 6
jne 0x52e085
mov eax, dword [0x5a7470]
mov dword [eax], 7
mov eax, dword [0x5a75e8]
xor edx, edx
mov dword [eax + 0x30], edx
mov dword [eax + 0x34], edx
mov eax, dword [0x5a7470]
cmp dword [eax], 7
jne 0x52e0c8
mov eax, dword [0x5a7470]
mov dword [eax], 9
mov eax, dword [0x5a75e8]
mov edx, dword [0x5a75e8]
mov ecx, dword [edx + 0x18]
mov dword [eax + 0x38], ecx
mov ecx, dword [edx + 0x1c]
mov dword [eax + 0x3c], ecx
mov eax, dword [0x5a75e8]
mov edx, dword [0x5a75e8]
mov ecx, dword [edx + 0x20]
mov dword [eax + 0x40], ecx
mov ecx, dword [edx + 0x24]
mov dword [eax + 0x44], ecx
mov eax, dword [0x5a7470]
cmp dword [eax], 9
jne 0x52e35d
mov eax, dword [0x5a75e8]
fld qword [eax]
call fcn.00404c78
mov edx, dword [0x5a70f8]
mov dword [edx], eax
mov eax, dword [0x5a75e8]
fld qword [eax + 8]
call fcn.00404c78
mov edx, dword [0x5a6e68]
mov dword [edx], eax
mov eax, dword [0x5a720c]
mov edx, dword [0x5a75e8]
mov ecx, dword [edx + 0x10]
mov dword [eax], ecx
mov ecx, dword [edx + 0x14]
mov dword [eax + 4], ecx
mov eax, dword [0x5a6ebc]
mov edx, dword [0x5a75e8]
mov ecx, dword [edx + 0x18]
mov dword [eax], ecx
mov ecx, dword [edx + 0x1c]
mov dword [eax + 4], ecx
mov eax, dword [0x5a6e28]
mov edx, dword [0x5a75e8]
mov ecx, dword [edx + 0x20]
mov dword [eax], ecx
mov ecx, dword [edx + 0x24]
mov dword [eax + 4], ecx
mov eax, dword [0x5a718c]
mov edx, dword [0x5a75e8]
mov ecx, dword [edx + 0x28]
mov dword [eax], ecx
mov ecx, dword [edx + 0x2c]
mov dword [eax + 4], ecx
mov eax, dword [0x5a7174]
mov edx, dword [0x5a75e8]
mov ecx, dword [edx + 0x30]
mov dword [eax], ecx
mov ecx, dword [edx + 0x34]
mov dword [eax + 4], ecx
mov eax, dword [0x5a7368]
mov edx, dword [0x5a75e8]
mov ecx, dword [edx + 0x38]
mov dword [eax], ecx
mov ecx, dword [edx + 0x3c]
mov dword [eax + 4], ecx
mov eax, dword [0x5a72bc]
mov edx, dword [0x5a75e8]
mov ecx, dword [edx + 0x40]
mov dword [eax], ecx
mov ecx, dword [edx + 0x44]
mov dword [eax + 4], ecx
mov eax, dword [0x5a71d4]
cmp byte [eax], 0
jne 0x52e1d8
mov eax, dword [0x5a70f8]
mov eax, dword [eax]
not eax
sub eax, 0xf
je 0x52e1c5
sub eax, 0xa
je 0x52e1c5
sub eax, 0xa
je 0x52e1c5
sub eax, 0xa
je 0x52e1c5
sub eax, 0xa
jne 0x52e204
push ebp
mov edx, 0x531514
mov eax, 0xc
call fcn.0052bb58
pop ecx
jmp 0x52e204
mov eax, dword [0x5a70f8]
mov eax, dword [eax]
not eax
add eax, 0xfffffff8
cmp eax, 0x2f
ja 0x52e1f1
bt word [0x531584], ax
jae 0x52e204
push ebp
mov edx, 0x531598
mov eax, 0xc
call fcn.0052bb58
pop ecx
mov eax, dword [0x5a6e68]
mov eax, dword [eax]
not eax
add eax, 0xfffffffd
sub eax, 2
jae 0x52e226
push ebp
mov edx, 0x53161c
mov eax, 0xc
call fcn.0052bb58
pop ecx
mov eax, dword [0x5a720c]
fld qword [eax]
fcomp dword [0x52f8f8]
wait
fnstsw ax
sahf
jae 0x52e24a
push ebp
mov edx, 0x531680
mov eax, 0xc
call fcn.0052bb58
pop ecx
mov eax, dword [0x5a720c]
fld qword [eax]
fcomp dword [0x5316d4]
wait
fnstsw ax
sahf
jbe 0x52e26e
push ebp
mov edx, 0x5316e4
mov eax, 0xc
call fcn.0052bb58
pop ecx
mov eax, dword [0x5a6ebc]
fld qword [eax]
fcomp dword [0x52f8f8]
wait
fnstsw ax
sahf
ja 0x52e292
push ebp
mov edx, 0x531748
mov eax, 0xc
call fcn.0052bb58
pop ecx
mov eax, dword [0x5a6e28]
fld qword [eax]
fcomp dword [0x52f8f8]
wait
fnstsw ax
sahf
ja 0x52e2b6
push ebp
mov edx, 0x5317a8
mov eax, 0xc
call fcn.0052bb58
pop ecx
mov eax, dword [0x5a7368]
fld qword [eax]
fcomp dword [0x52f8f8]
wait
fnstsw ax
sahf
ja 0x52e2da
push ebp
mov edx, 0x531748
mov eax, 0xc
call fcn.0052bb58
pop ecx
mov eax, dword [0x5a72bc]
fld qword [eax]
fcomp dword [0x52f8f8]
wait
fnstsw ax
sahf
ja 0x52e2fe
push ebp
mov edx, 0x5317a8
mov eax, 0xc
call fcn.0052bb58
pop ecx
mov eax, dword [0x5a7174]
fld qword [eax]
fcomp dword [0x52f8f8]
wait
fnstsw ax
sahf
jae 0x52e322
push ebp
mov edx, 0x531808
mov eax, 0xc
call fcn.0052bb58
pop ecx
mov eax, dword [0x5a71d4]
cmp byte [eax], 0
je 0x52e413
mov eax, dword [0x5a7174]
fld qword [eax]
fcomp dword [0x52f8f8]
wait
fnstsw ax
sahf
ja 0x52e413
push ebp
mov edx, 0x531868
mov eax, 0xc
call fcn.0052bb58
pop ecx
jmp 0x52e413
mov eax, dword [0x5a7470]
mov eax, dword [eax]
cmp eax, 5
ja case.0x52e369.0
jmp dword [eax*4 + 0x52e370]
push ebp
mov edx, 0x5318d8
mov eax, 0xc
call fcn.0052bb58
pop ecx
jmp case.0x52e369.0
push ebp
mov edx, 0x531960
mov eax, 0xc
call fcn.0052bb58
pop ecx
jmp case.0x52e369.0
push ebp
mov edx, 0x5319dc
mov eax, 0xc
call fcn.0052bb58
pop ecx
jmp case.0x52e369.0
push ebp
mov edx, 0x531a50
mov eax, 0xc
call fcn.0052bb58
pop ecx
jmp case.0x52e369.0
push ebp
mov edx, 0x531ab8
mov eax, 0xc
call fcn.0052bb58
pop ecx
mov eax, dword [0x5a7470]
cmp dword [eax], 7
jle 0x52e413
push ebp
mov edx, 0x52f9c0
mov eax, 0xc
call fcn.0052bb58
pop ecx
jmp 0x52e413
push ebp
mov edx, 0x531b10
mov eax, 0xc
call fcn.0052bb58
pop ecx
cmp dword [ebp - 0x2e8], 0xc
jle 0x52dea3
lea eax, [ebp - 0x2e0]
call fcn.0040520c
mov eax, dword [0x5a7174]
fld qword [eax]
fcomp dword [0x52f8f8]
wait
fnstsw ax
sahf
jne 0x52e4bc
mov eax, dword [0x5a70f8]
mov eax, dword [eax]
cmp eax, 0x23
jg 0x52e458
je 0x52e488
sub eax, 0xf
je 0x52e464
sub eax, 0xa
je 0x52e476
jmp 0x52e4bc
sub eax, 0x2d
je 0x52e49a
sub eax, 0xa
je 0x52e4ac
jmp 0x52e4bc
mov eax, dword [0x5a7174]
xor edx, edx
mov dword [eax], edx
mov dword [eax + 4], 0x40d96400
jmp 0x52e4bc
mov eax, dword [0x5a7174]
xor edx, edx
mov dword [eax], edx
mov dword [eax + 4], 0x40dd4c00
jmp 0x52e4bc
mov eax, dword [0x5a7174]
xor edx, edx
mov dword [eax], edx
mov dword [eax + 4], 0x40e09a00
jmp 0x52e4bc
mov eax, dword [0x5a7174]
xor edx, edx
mov dword [eax], edx
mov dword [eax + 4], 0x40e21100
jmp 0x52e4bc
mov eax, dword [0x5a7174]
xor edx, edx
mov dword [eax], edx
mov dword [eax + 4], 0x40e30b00
lea eax, [ebp - 0x2e0]
call fcn.00404d40
lea edx, [ebp - 4]
lea eax, [ebp - 0x2e0]
call fcn.00405fb0
lea eax, [ebp - 0x2e0]
call fcn.004061ac
mov eax, dword [0x5a740c]
xor edx, edx
mov dword [eax], edx
lea eax, [ebp - 0x2e0]
call fcn.00405afc
mov dword [ebp - 0x2e8], eax
lea eax, [ebp - 0x2e0]
call fcn.004061ac
lea edx, [ebp - 0x2e4]
lea eax, [ebp - 0x2e0]
call fcn.00405fb0
lea eax, [ebp - 0x2e0]
call fcn.004061ac
cmp dword [ebp - 0x2e8], 0xd
jne 0x52e577
mov eax, dword [ebp - 0x2e4]
mov edx, 0x52f7d4
call fcn.0040a64c
je 0x52e577
mov eax, dword [0x5a740c]
inc dword [eax]
lea eax, [ebp - 0x524c]
mov edx, dword [ebp - 0x2e4]
mov ecx, 0xff
call fcn.0040a3c4
lea edx, [ebp - 0x524c]
mov eax, dword [0x5a740c]
mov eax, dword [eax]
mov ecx, dword [0x5a7120]
mov eax, dword [ecx + eax*4 - 4]
mov cl, 0x50
call fcn.00409bcc
cmp dword [ebp - 0x2e8], 0xd
jle 0x52e4e9
lea eax, [ebp - 0x2e0]
call fcn.0040520c
lea eax, [ebp - 0x2e0]
call fcn.00404d40
lea edx, [ebp - 4]
lea eax, [ebp - 0x2e0]
call fcn.00405fb0
lea eax, [ebp - 0x2e0]
call fcn.004061ac
lea eax, [ebp - 0x2e0]
call fcn.00405afc
mov dword [ebp - 0x2e8], eax
lea eax, [ebp - 0x2e0]
call fcn.004061ac
lea edx, [ebp - 0x2e4]
lea eax, [ebp - 0x2e0]
call fcn.00405fb0
lea eax, [ebp - 0x2e0]
call fcn.004061ac
cmp dword [ebp - 0x2e8], 0xe
jne 0x52e7de
mov eax, dword [ebp - 0x2e4]
mov edx, 0x52f7d4
call fcn.0040a64c
je 0x52e7cd
mov eax, dword [0x5a7470]
mov edx, dword [ebp - 0x2e4]
call fcn.0052b56c
mov eax, dword [0x5a7470]
cmp dword [eax], 5
jne 0x52e751
mov eax, dword [0x5a75e8]
fld qword [eax]
call fcn.00404c78
mov edx, dword [0x5a74a0]
mov dword [edx], eax
mov eax, dword [0x5a75e8]
fld qword [eax + 8]
call fcn.00404c78
mov edx, dword [0x5a73b0]
mov dword [edx], eax
mov eax, dword [0x5a75e8]
fld qword [eax + 0x10]
call fcn.00404c78
mov edx, dword [0x5a71ec]
mov dword [edx], eax
mov eax, dword [0x5a75e8]
fld qword [eax + 0x18]
call fcn.00404c78
mov edx, dword [0x5a75d0]
mov dword [edx], eax
mov eax, dword [0x5a75e8]
fld qword [eax + 0x20]
call fcn.00404c78
mov edx, dword [0x5a7588]
mov dword [edx], eax
mov eax, dword [0x5a74a0]
mov eax, dword [eax]
cdq
xor eax, edx
sub eax, edx
not eax
sub eax, 2
jae 0x52e6b8
push ebp
mov edx, 0x531ba0
mov eax, 0xe
call fcn.0052bb58
pop ecx
mov eax, dword [0x5a73b0]
mov eax, dword [eax]
cdq
xor eax, edx
sub eax, edx
not eax
sub eax, 3
jae 0x52e6dc
push ebp
mov edx, 0x531c0c
mov eax, 0xe
call fcn.0052bb58
pop ecx
mov eax, dword [0x5a71ec]
mov eax, dword [eax]
cdq
xor eax, edx
sub eax, edx
not eax
sub eax, 2
jae 0x52e700
push ebp
mov edx, 0x531c80
mov eax, 0xe
call fcn.0052bb58
pop ecx
mov eax, dword [0x5a75d0]
mov eax, dword [eax]
cdq
xor eax, edx
sub eax, edx
not eax
sub eax, 2
jae 0x52e724
push ebp
mov edx, 0x531cec
mov eax, 0xe
call fcn.0052bb58
pop ecx
mov eax, dword [0x5a7588]
mov eax, dword [eax]
cdq
xor eax, edx
sub eax, edx
not eax
sub eax, 2
jae 0x52e7de
push ebp
mov edx, 0x531d58
mov eax, 0xe
call fcn.0052bb58
pop ecx
jmp 0x52e7de
mov eax, dword [0x5a7470]
mov eax, dword [eax]
dec eax
je 0x52e766
dec eax
je 0x52e779
dec eax
je 0x52e78c
dec eax
je 0x52e79f
jmp 0x52e7b0
push ebp
mov edx, 0x531dc4
mov eax, 0xe
call fcn.0052bb58
pop ecx
jmp 0x52e7b0
push ebp
mov edx, 0x531e40
mov eax, 0xe
call fcn.0052bb58
pop ecx
jmp 0x52e7b0
push ebp
mov edx, 0x531eb4
mov eax, 0xe
call fcn.0052bb58
pop ecx
jmp 0x52e7b0
push ebp
mov edx, 0x531f1c
mov eax, 0xe
call fcn.0052bb58
pop ecx
mov eax, dword [0x5a7470]
cmp dword [eax], 5
jle 0x52e7de
push ebp
mov edx, 0x52f9c0
mov eax, 0xe
call fcn.0052bb58
pop ecx
jmp 0x52e7de
push ebp
mov edx, 0x531dc4
mov eax, 0xe
call fcn.0052bb58
pop ecx
cmp dword [ebp - 0x2e8], 0xe
jle 0x52e5b3
lea eax, [ebp - 0x2e0]
call fcn.0040520c
lea eax, [ebp - 0x2e0]
call fcn.00404d40
lea edx, [ebp - 4]
lea eax, [ebp - 0x2e0]
call fcn.00405fb0
lea eax, [ebp - 0x2e0]
call fcn.004061ac
lea eax, [ebp - 0x2e0]
call fcn.00405afc
mov dword [ebp - 0x2e8], eax
lea eax, [ebp - 0x2e0]
call fcn.004061ac
lea edx, [ebp - 0x2e4]
lea eax, [ebp - 0x2e0]
call fcn.00405fb0
lea eax, [ebp - 0x2e0]
call fcn.004061ac
cmp dword [ebp - 0x2e8], 0xf
jne 0x52e946
mov eax, dword [ebp - 0x2e4]
mov edx, 0x52f7d4
call fcn.0040a64c
je 0x52e935
mov eax, dword [0x5a7470]
mov edx, dword [ebp - 0x2e4]
call fcn.0052b56c
mov eax, dword [0x5a7470]
cmp dword [eax], 2
jne 0x52e8fd
mov eax, dword [0x5a75e8]
fld qword [eax]
call fcn.00404c78
mov edx, dword [0x5a6fd8]
mov dword [edx], eax
mov eax, dword [0x5a75e8]
fld qword [eax + 8]
call fcn.00404c78
mov edx, dword [0x5a72a0]
mov dword [edx], eax
mov eax, dword [0x5a6fd8]
mov eax, dword [eax]
cdq
xor eax, edx
sub eax, edx
not eax
sub eax, 2
jae 0x52e8dc
push ebp
mov edx, 0x531f74
mov eax, 0xf
call fcn.0052bb58
pop ecx
mov eax, dword [0x5a72a0]
mov eax, dword [eax]
not eax
sub eax, 3
jae 0x52e946
push ebp
mov edx, 0x531fe8
mov eax, 0xf
call fcn.0052bb58
pop ecx
jmp 0x52e946
mov eax, dword [0x5a7470]
mov eax, dword [eax]
dec eax
jne 0x52e918
push ebp
mov edx, 0x532050
mov eax, 0xf
call fcn.0052bb58
pop ecx
mov eax, dword [0x5a7470]
cmp dword [eax], 2
jle 0x52e946
push ebp
mov edx, 0x52f9c0
mov eax, 0xf
call fcn.0052bb58
pop ecx
jmp 0x52e946
push ebp
mov edx, 0x5320ac
mov eax, 0xf
call fcn.0052bb58
pop ecx
cmp dword [ebp - 0x2e8], 0xf
jle 0x52e81a
lea eax, [ebp - 0x2e0]
call fcn.0040520c
lea eax, [ebp - 0x2e0]
call fcn.00404d40
lea edx, [ebp - 4]
lea eax, [ebp - 0x2e0]
call fcn.00405fb0
lea eax, [ebp - 0x2e0]
call fcn.004061ac
lea eax, [ebp - 0x2e0]
call fcn.00405afc
mov dword [ebp - 0x2e8], eax
lea eax, [ebp - 0x2e0]
call fcn.004061ac
lea edx, [ebp - 0x2e4]
lea eax, [ebp - 0x2e0]
call fcn.00405fb0
lea eax, [ebp - 0x2e0]
call fcn.004061ac
cmp dword [ebp - 0x2e8], 0x10
jne 0x52eaae
mov eax, dword [ebp - 0x2e4]
mov edx, 0x52f7d4
call fcn.0040a64c
je 0x52ea9d
mov eax, dword [0x5a7470]
mov edx, dword [ebp - 0x2e4]
call fcn.0052b56c
mov eax, dword [0x5a7470]
cmp dword [eax], 2
jne 0x52ea65
mov eax, dword [0x5a75e8]
fld qword [eax]
call fcn.00404c78
mov edx, dword [0x5a737c]
mov dword [edx], eax
mov eax, dword [0x5a75e8]
fld qword [eax + 8]
call fcn.00404c78
mov edx, dword [0x5a75f8]
mov dword [edx], eax
mov eax, dword [0x5a737c]
mov eax, dword [eax]
cdq
xor eax, edx
sub eax, edx
not eax
sub eax, 5
jae 0x52ea44
push ebp
mov edx, 0x532120
mov eax, 0x10
call fcn.0052bb58
pop ecx
mov eax, dword [0x5a75f8]
mov eax, dword [eax]
not eax
sub eax, 3
jae 0x52eaae
push ebp
mov edx, 0x5321b0
mov eax, 0x10
call fcn.0052bb58
pop ecx
jmp 0x52eaae
mov eax, dword [0x5a7470]
mov eax, dword [eax]
dec eax
jne 0x52ea80
push ebp
mov edx, 0x53223c
mov eax, 0x10
call fcn.0052bb58
pop ecx
mov eax, dword [0x5a7470]
cmp dword [eax], 2
jle 0x52eaae
push ebp
mov edx, 0x52f9c0
mov eax, 0x10
call fcn.0052bb58
pop ecx
jmp 0x52eaae
push ebp
mov edx, 0x5322b4
mov eax, 0x10
call fcn.0052bb58
pop ecx
cmp dword [ebp - 0x2e8], 0x10
jle 0x52e982
lea eax, [ebp - 0x2e0]
call fcn.0040520c
lea eax, [ebp - 0x2e0]
call fcn.00404d40
lea edx, [ebp - 4]
lea eax, [ebp - 0x2e0]
call fcn.00405fb0
lea eax, [ebp - 0x2e0]
call fcn.004061ac
lea eax, [ebp - 0x2e0]
call fcn.00405afc
mov dword [ebp - 0x2e8], eax
lea eax, [ebp - 0x2e0]
call fcn.004061ac
lea edx, [ebp - 0x2e4]
lea eax, [ebp - 0x2e0]
call fcn.00405fb0
lea eax, [ebp - 0x2e0]
call fcn.004061ac
cmp dword [ebp - 0x2e8], 0x11
jne 0x52eca4
mov eax, dword [ebp - 0x2e4]
mov edx, 0x52f7d4
call fcn.0040a64c
je 0x52ec93
mov eax, dword [0x5a7470]
mov edx, dword [ebp - 0x2e4]
call fcn.0052b56c
mov eax, dword [0x5a7470]
cmp dword [eax], 5
jne 0x52eb89
mov eax, dword [0x5a7470]
mov dword [eax], 4
mov eax, dword [0x5a75e8]
fld qword [eax + 0x20]
call fcn.00404c78
cmp edx, 0
jne 0x52eb89
cmp eax, 1
jne 0x52eb89
mov eax, dword [0x5a6e78]
mov byte [eax], 1
mov eax, dword [0x5a7470]
cmp dword [eax], 4
jne 0x52ec2d
mov eax, dword [0x5a75e8]
fld qword [eax]
call fcn.00404c78
mov edx, dword [0x5a7328]
mov dword [edx], eax
mov eax, dword [0x5a75e8]
fld qword [eax + 8]
call fcn.00404c78
mov edx, dword [0x5a75c8]
mov dword [edx], eax
mov eax, dword [0x5a75e8]
fld qword [eax + 0x10]
fabs
mov eax, dword [0x5a7484]
fstp qword [eax]
wait
mov eax, dword [0x5a75e8]
fld qword [eax + 0x18]
fabs
mov eax, dword [0x5a6fa4]
fstp qword [eax]
wait
mov eax, dword [0x5a7328]
mov eax, dword [eax]
cdq
xor eax, edx
sub eax, edx
not eax
sub eax, 2
jae 0x52ec08
push ebp
mov edx, 0x532354
mov eax, 0x11
call fcn.0052bb58
pop ecx
mov eax, dword [0x5a75c8]
mov eax, dword [eax]
not eax
sub eax, 2
jae 0x52eca4
push ebp
mov edx, 0x5323c0
mov eax, 0x11
call fcn.0052bb58
pop ecx
jmp 0x52eca4
mov eax, dword [0x5a7470]
mov eax, dword [eax]
dec eax
je 0x52ec3f
dec eax
je 0x52ec52
dec eax
je 0x52ec65
jmp 0x52ec76
push ebp
mov edx, 0x532424
mov eax, 0x11
call fcn.0052bb58
pop ecx
jmp 0x52ec76
push ebp
mov edx, 0x5324a4
mov eax, 0x11
call fcn.0052bb58
pop ecx
jmp 0x52ec76
push ebp
mov edx, 0x53251c
mov eax, 0x11
call fcn.0052bb58
pop ecx
mov eax, dword [0x5a7470]
cmp dword [eax], 4
jle 0x52eca4
push ebp
mov edx, 0x52f9c0
mov eax, 0x11
call fcn.0052bb58
pop ecx
jmp 0x52eca4
push ebp
mov edx, 0x53257c
mov eax, 0x11
call fcn.0052bb58
pop ecx
cmp dword [ebp - 0x2e8], 0x11
jle 0x52eaea
lea eax, [ebp - 0x2e0]
call fcn.0040520c
lea eax, [ebp - 0x2e0]
call fcn.00404d40
lea edx, [ebp - 4]
lea eax, [ebp - 0x2e0]
call fcn.00405fb0
lea eax, [ebp - 0x2e0]
call fcn.004061ac
lea eax, [ebp - 0x2e0]
call fcn.00405afc
mov dword [ebp - 0x2e8], eax
lea eax, [ebp - 0x2e0]
call fcn.004061ac
lea edx, [ebp - 0x2e4]
lea eax, [ebp - 0x2e0]
call fcn.00405fb0
lea eax, [ebp - 0x2e0]
call fcn.004061ac
cmp dword [ebp - 0x2e8], 0x12
jne 0x52ee9b
mov eax, dword [ebp - 0x2e4]
mov edx, 0x52f7d4
call fcn.0040a64c
je 0x52ee8a
mov eax, dword [0x5a7470]
mov edx, dword [ebp - 0x2e4]
call fcn.0052b56c
mov eax, dword [0x5a7470]
cmp dword [eax], 3
jne 0x52ee3a
mov eax, dword [0x5a75e8]
fld qword [eax]
call fcn.00404c78
mov edx, dword [0x5a731c]
mov dword [edx], eax
mov eax, dword [0x5a75e8]
fld qword [eax + 8]
call fcn.00404c78
mov edx, dword [0x5a7258]
mov dword [edx], eax
mov eax, dword [0x5a75e8]
fld qword [eax + 0x10]
call fcn.00404c78
mov edx, dword [0x5a74d0]
mov dword [edx], eax
mov eax, dword [0x5a731c]
mov eax, dword [eax]
not eax
dec eax
sub eax, 2
jae 0x52edb7
push ebp
mov edx, 0x532608
mov eax, 0x12
call fcn.0052bb58
pop ecx
mov eax, dword [0x5a7258]
mov eax, dword [eax]
cdq
xor eax, edx
sub eax, edx
not eax
sub eax, 2
jae 0x52eddb
push ebp
mov edx, 0x532680
mov eax, 0x12
call fcn.0052bb58
pop ecx
mov eax, dword [0x5a74d0]
mov eax, dword [eax]
not eax
sub eax, 2
jae 0x52edfa
push ebp
mov edx, 0x5326fc
mov eax, 0x12
call fcn.0052bb58
pop ecx
mov eax, dword [0x5a731c]
cmp dword [eax], 1
jne 0x52ee9b
mov eax, dword [0x5a71d4]
cmp byte [eax], 0
je 0x52ee9b
mov eax, dword [0x5a70f8]
mov eax, dword [eax]
sub eax, 8
je 0x52ee27
sub eax, 2
jne 0x52ee9b
push ebp
mov edx, 0x53276c
mov eax, 0x12
call fcn.0052bb58
pop ecx
jmp 0x52ee9b
mov eax, dword [0x5a7470]
mov eax, dword [eax]
dec eax
je 0x52ee49
dec eax
je 0x52ee5c
jmp 0x52ee6d
push ebp
mov edx, 0x5327d8
mov eax, 0x12
call fcn.0052bb58
pop ecx
jmp 0x52ee6d
push ebp
mov edx, 0x53285c
mov eax, 0x12
call fcn.0052bb58
pop ecx
mov eax, dword [0x5a7470]
cmp dword [eax], 3
jle 0x52ee9b
push ebp
mov edx, 0x52f9c0
mov eax, 0x12
call fcn.0052bb58
pop ecx
jmp 0x52ee9b
push ebp
mov edx, 0x5328c0
mov eax, 0x12
call fcn.0052bb58
pop ecx
cmp dword [ebp - 0x2e8], 0x12
jle 0x52ece0
lea eax, [ebp - 0x2e0]
call fcn.0040520c
lea eax, [ebp - 0x2e0]
call fcn.00404d40
lea edx, [ebp - 4]
lea eax, [ebp - 0x2e0]
call fcn.00405fb0
lea eax, [ebp - 0x2e0]
call fcn.004061ac
mov eax, dword [0x5a72b8]
mov byte [eax], 0
mov eax, dword [0x5a6fd0]
mov byte [eax], 0
mov eax, dword [0x5a6ee0]
mov byte [eax], 0
lea eax, [ebp - 0x2e0]
call fcn.00405afc
mov dword [ebp - 0x2e8], eax
lea eax, [ebp - 0x2e0]
call fcn.004061ac
lea edx, [ebp - 0x2e4]
lea eax, [ebp - 0x2e0]
call fcn.00405fb0
lea eax, [ebp - 0x2e0]
call fcn.004061ac
cmp dword [ebp - 0x2e8], 0x13
jne 0x52efe8
mov eax, dword [ebp - 0x2e4]
mov edx, 0x52f7d4
call fcn.0040a64c
je 0x52efd7
mov eax, dword [0x5a7470]
mov edx, dword [ebp - 0x2e4]
call fcn.0052b56c
mov eax, dword [0x5a7470]
cmp dword [eax], 1
jne 0x52efba
mov eax, dword [0x5a75e8]
fld qword [eax]
call fcn.00404c78
dec eax
je 0x52ef78
dec eax
je 0x52ef8a
jmp 0x52ef92
mov eax, dword [0x5a72b8]
mov byte [eax], 1
mov eax, dword [0x5a6fd0]
mov byte [eax], 1
jmp 0x52ef92
mov eax, dword [0x5a6ee0]
mov byte [eax], 1
mov eax, dword [0x5a75e8]
fld qword [eax]
call fcn.00404c78
not eax
not edx
sub eax, 3
jae 0x52efe8
push ebp
mov edx, 0x532964
mov eax, 0x13
call fcn.0052bb58
pop ecx
jmp 0x52efe8
mov eax, dword [0x5a7470]
cmp dword [eax], 1
jle 0x52efe8
push ebp
mov edx, 0x52f9c0
mov eax, 0x13
call fcn.0052bb58
pop ecx
jmp 0x52efe8
push ebp
mov edx, 0x5329dc
mov eax, 0x13
call fcn.0052bb58
pop ecx
cmp dword [ebp - 0x2e8], 0x13
jle 0x52eeef
lea eax, [ebp - 0x2e0]
call fcn.0040520c
lea eax, [ebp - 0x2e0]
call fcn.00404d40
lea edx, [ebp - 4]
lea eax, [ebp - 0x2e0]
call fcn.00405fb0
lea eax, [ebp - 0x2e0]
call fcn.004061ac
mov eax, dword [0x5a6f74]
mov byte [eax], 0
lea eax, [ebp - 0x2e0]
call fcn.00405afc
mov dword [ebp - 0x2e8], eax
lea eax, [ebp - 0x2e0]
call fcn.004061ac
lea edx, [ebp - 0x2e4]
lea eax, [ebp - 0x2e0]
call fcn.00405fb0
lea eax, [ebp - 0x2e0]
call fcn.004061ac
cmp dword [ebp - 0x2e8], 0x14
jne 0x52f17f
mov eax, dword [ebp - 0x2e4]
mov edx, 0x52f7d4
call fcn.0040a64c
je 0x52f16e
mov eax, dword [0x5a7470]
mov edx, dword [ebp - 0x2e4]
call fcn.0052b56c
mov eax, dword [0x5a7470]
cmp dword [eax], 3
jne 0x52f0cb
mov eax, dword [0x5a7470]
mov dword [eax], 2
mov eax, dword [0x5a75e8]
fld qword [eax + 0x10]
call fcn.00404c78
cmp edx, 0
jne 0x52f0cb
cmp eax, 1
jne 0x52f0cb
mov eax, dword [0x5a7630]
mov byte [eax], 1
mov eax, dword [0x5a7470]
cmp dword [eax], 1
jne 0x52f0ed
mov eax, dword [0x5a7470]
mov dword [eax], 2
mov eax, dword [0x5a75e8]
xor edx, edx
mov dword [eax + 8], edx
mov dword [eax + 0xc], edx
mov eax, dword [0x5a7470]
cmp dword [eax], 2
jne 0x52f151
mov eax, dword [0x5a7150]
mov edx, dword [0x5a75e8]
mov ecx, dword [edx]
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
mov eax, dword [0x5a75e8]
fld qword [eax + 8]
call fcn.00404c78
cmp edx, 0
jne 0x52f12b
cmp eax, 1
jne 0x52f12b
mov eax, dword [0x5a6f74]
mov byte [eax], 1
mov eax, dword [0x5a7150]
fld qword [eax]
fcomp dword [0x52f8f8]
wait
fnstsw ax
sahf
ja 0x52f17f
push ebp
mov edx, 0x532a40
mov eax, 0x14
call fcn.0052bb58
pop ecx
jmp 0x52f17f
mov eax, dword [0x5a7470]
cmp dword [eax], 2
jle 0x52f17f
push ebp
mov edx, 0x52f9c0
mov eax, 0x14
call fcn.0052bb58
pop ecx
jmp 0x52f17f
push ebp
mov edx, 0x532ac0
mov eax, 0x14
call fcn.0052bb58
pop ecx
cmp dword [ebp - 0x2e8], 0x14
jle 0x52f02c
lea eax, [ebp - 0x2e0]
call fcn.0040520c
mov eax, dword [0x5a7508]
mov dword [eax], 1
mov eax, dword [0x5a6eb8]
mov dword [eax], 0x2c280291
mov dword [eax + 4], 0xc5208b2a
mov eax, dword [0x5a6eb8]
mov dword [eax + 8], 0x2c280291
mov dword [eax + 0xc], 0x45208b2a
mov eax, dword [0x5a6eb8]
mov dword [eax + 0x10], 0x2c280291
mov dword [eax + 0x14], 0xc5208b2a
mov eax, dword [0x5a6eb8]
mov dword [eax + 0x18], 0x2c280291
mov dword [eax + 0x1c], 0x45208b2a
mov eax, dword [0x5a6eb8]
mov byte [eax + 0x20], 1
mov eax, dword [0x5a6eb8]
mov byte [eax + 0x21], 1
mov eax, dword [0x5a6eb8]
mov byte [eax + 0x22], 1
lea eax, [ebp - 0x2e0]
call fcn.00404d40
lea edx, [ebp - 4]
lea eax, [ebp - 0x2e0]
call fcn.00405fb0
lea eax, [ebp - 0x2e0]
call fcn.004061ac
lea eax, [ebp - 0x2e0]
call fcn.00405afc
mov dword [ebp - 0x2e8], eax
lea eax, [ebp - 0x2e0]
call fcn.004061ac
lea edx, [ebp - 0x2e4]
lea eax, [ebp - 0x2e0]
call fcn.00405fb0
lea eax, [ebp - 0x2e0]
call fcn.004061ac
cmp dword [ebp - 0x2e8], 0x15
jne 0x52f47f
mov eax, dword [ebp - 0x2e4]
mov edx, 0x52f7d4
call fcn.0040a64c
je 0x52f47f
mov eax, dword [0x5a7470]
mov edx, dword [ebp - 0x2e4]
call fcn.0052b56c
mov eax, dword [0x5a7470]
cmp dword [eax], 7
jne 0x52f46e
mov eax, dword [0x5a7508]
inc dword [eax]
mov eax, dword [0x5a7508]
cmp dword [eax], 0x15
jle 0x52f2c7
push ebp
mov edx, 0x532b34
mov eax, 0x15
call fcn.0052bb58
pop ecx
mov eax, dword [0x5a7508]
mov eax, dword [eax]
lea eax, [eax + eax*8]
mov edx, dword [0x5a6eb8]
mov ecx, dword [0x5a75e8]
mov ebx, dword [ecx]
mov dword [edx + eax*4 - 0x24], ebx
mov ebx, dword [ecx + 4]
mov dword [edx + eax*4 - 0x20], ebx
mov eax, dword [0x5a7508]
mov eax, dword [eax]
lea eax, [eax + eax*8]
mov edx, dword [0x5a6eb8]
mov ecx, dword [0x5a75e8]
mov ebx, dword [ecx + 8]
mov dword [edx + eax*4 - 0x1c], ebx
mov ebx, dword [ecx + 0xc]
mov dword [edx + eax*4 - 0x18], ebx
mov eax, dword [0x5a7508]
mov eax, dword [eax]
lea eax, [eax + eax*8]
mov edx, dword [0x5a6eb8]
mov ecx, dword [0x5a75e8]
mov ebx, dword [ecx + 0x10]
mov dword [edx + eax*4 - 0x14], ebx
mov ebx, dword [ecx + 0x14]
mov dword [edx + eax*4 - 0x10], ebx
mov eax, dword [0x5a7508]
mov eax, dword [eax]
lea eax, [eax + eax*8]
mov edx, dword [0x5a6eb8]
mov ecx, dword [0x5a75e8]
mov ebx, dword [ecx + 0x18]
mov dword [edx + eax*4 - 0xc], ebx
mov ebx, dword [ecx + 0x1c]
mov dword [edx + eax*4 - 8], ebx
mov eax, dword [0x5a75e8]
fld qword [eax + 0x20]
call fcn.00404c78
cmp edx, 0
jne 0x52f384
cmp eax, 1
jne 0x52f384
mov eax, dword [0x5a7508]
mov eax, dword [eax]
lea eax, [eax + eax*8]
mov edx, dword [0x5a6eb8]
mov byte [edx + eax*4 - 4], 1
jmp 0x52f399
mov eax, dword [0x5a7508]
mov eax, dword [eax]
lea eax, [eax + eax*8]
mov edx, dword [0x5a6eb8]
mov byte [edx + eax*4 - 4], 0
mov eax, dword [0x5a75e8]
fld qword [eax + 0x28]
call fcn.00404c78
cmp edx, 0
jne 0x52f3c7
cmp eax, 1
jne 0x52f3c7
mov eax, dword [0x5a7508]
mov eax, dword [eax]
lea eax, [eax + eax*8]
mov edx, dword [0x5a6eb8]
mov byte [edx + eax*4 - 3], 1
jmp 0x52f3dc
mov eax, dword [0x5a7508]
mov eax, dword [eax]
lea eax, [eax + eax*8]
mov edx, dword [0x5a6eb8]
mov byte [edx + eax*4 - 3], 0
mov eax, dword [0x5a75e8]
fld qword [eax + 0x30]
call fcn.00404c78
cmp edx, 0
jne 0x52f40a
cmp eax, 1
jne 0x52f40a
mov eax, dword [0x5a7508]
mov eax, dword [eax]
lea eax, [eax + eax*8]
mov edx, dword [0x5a6eb8]
mov byte [edx + eax*4 - 2], 1
jmp 0x52f41f
mov eax, dword [0x5a7508]
mov eax, dword [eax]
lea eax, [eax + eax*8]
mov edx, dword [0x5a6eb8]
mov byte [edx + eax*4 - 2], 0
mov eax, dword [0x5a75e8]
fld qword [eax]
mov eax, dword [0x5a75e8]
fcomp qword [eax + 8]
wait
fnstsw ax
sahf
jb 0x52f445
push ebp
mov edx, 0x532b6c
mov eax, 0x15
call fcn.0052bb58
pop ecx
mov eax, dword [0x5a75e8]
fld qword [eax + 0x10]
mov eax, dword [0x5a75e8]
fcomp qword [eax + 0x18]
wait
fnstsw ax
sahf
jb 0x52f47f
push ebp
mov edx, 0x532ba8
mov eax, 0x15
call fcn.0052bb58
pop ecx
jmp 0x52f47f
push ebp
mov edx, 0x532be4
mov eax, 0x15
call fcn.0052bb58
pop ecx
cmp dword [ebp - 0x2e8], 0x15
jle 0x52f22c
lea eax, [ebp - 0x2e0]
call fcn.0040520c
mov eax, dword [0x5a7154]
xor edx, edx
mov dword [eax], edx
lea eax, [ebp - 0x2e0]
call fcn.00404d40
lea edx, [ebp - 4]
lea eax, [ebp - 0x2e0]
call fcn.00405fb0
lea eax, [ebp - 0x2e0]
call fcn.004061ac
lea eax, [ebp - 0x2e0]
call fcn.00405afc
mov dword [ebp - 0x2e8], eax
lea eax, [ebp - 0x2e0]
call fcn.004061ac
lea edx, [ebp - 0x2e4]
lea eax, [ebp - 0x2e0]
call fcn.00405fb0
lea eax, [ebp - 0x2e0]
call fcn.004061ac
cmp dword [ebp - 0x2e8], 0x16
jne 0x52f725
mov eax, dword [ebp - 0x2e4]
mov edx, 0x52f7d4
call fcn.0040a64c
je 0x52f725
jmp 0x52f536
lea eax, [ebp - 0x2e4]
mov ecx, 1
mov edx, 1
call fcn.0040a6cc
mov eax, dword [ebp - 0x2e4]
call fcn.004099ec
test eax, eax
jle 0x52f551
mov eax, dword [ebp - 0x2e4]
cmp word [eax], 0x20
je 0x52f521
lea eax, [ebp - 0x2f8]
call fcn.004094fc
jmp 0x52f5cc
mov eax, dword [ebp - 0x2e4]
mov ax, word [eax]
mov word [ebp - 0x31a], ax
mov eax, dword [ebp - 0x2e4]
mov ax, word [eax]
add eax, 0xffffff9f
sub ax, 0x1a
jae 0x52f594
mov eax, dword [ebp - 0x2e4]
mov ax, word [eax]
and ax, 0xffdf
mov word [ebp - 0x31a], ax
lea eax, [ebp - 0x5250]
mov dx, word [ebp - 0x31a]
call fcn.0040a2e8
mov edx, dword [ebp - 0x5250]
lea eax, [ebp - 0x2f8]
call fcn.0040a4bc
lea eax, [ebp - 0x2e4]
mov ecx, 1
mov edx, 1
call fcn.0040a6cc
mov eax, dword [ebp - 0x2e4]
call fcn.004099ec
test eax, eax
jle 0x52f5eb
mov eax, dword [ebp - 0x2e4]
cmp word [eax], 0x20
jne 0x52f55e
mov eax, dword [0x5a7470]
mov edx, dword [ebp - 0x2e4]
call fcn.0052b56c
mov eax, dword [0x5a7470]
cmp dword [eax], 5
jne 0x52f6ef
mov eax, dword [0x5a7154]
inc dword [eax]
lea eax, [ebp - 0x524c]
mov edx, dword [ebp - 0x2f8]
mov ecx, 0xff
call fcn.0040a3c4
lea edx, [ebp - 0x524c]
mov eax, dword [0x5a7154]
mov eax, dword [eax]
mov ecx, eax
shl eax, 3
sub eax, ecx
mov ecx, dword [0x5a73ac]
lea eax, [ecx + eax - 7]
mov cl, 6
call fcn.00409bcc
mov eax, dword [0x5a7154]
mov eax, dword [eax]
mov edx, dword [0x5a717c]
mov ecx, dword [0x5a75e8]
mov ebx, dword [ecx]
mov dword [edx + eax*8 - 8], ebx
mov ebx, dword [ecx + 4]
mov dword [edx + eax*8 - 4], ebx
mov eax, dword [0x5a7154]
mov eax, dword [eax]
mov edx, dword [0x5a70a4]
mov ecx, dword [0x5a75e8]
mov ebx, dword [ecx + 8]
mov dword [edx + eax*8 - 8], ebx
mov ebx, dword [ecx + 0xc]
mov dword [edx + eax*8 - 4], ebx
mov eax, dword [0x5a7154]
mov eax, dword [eax]
mov edx, dword [0x5a7030]
mov ecx, dword [0x5a75e8]
mov ebx, dword [ecx + 0x10]
mov dword [edx + eax*8 - 8], ebx
mov ebx, dword [ecx + 0x14]
mov dword [edx + eax*8 - 4], ebx
mov eax, dword [0x5a7154]
mov eax, dword [eax]
mov edx, dword [0x5a723c]
mov ecx, dword [0x5a75e8]
mov ebx, dword [ecx + 0x18]
mov dword [edx + eax*8 - 8], ebx
mov ebx, dword [ecx + 0x1c]
mov dword [edx + eax*8 - 4], ebx
mov eax, dword [0x5a75e8]
fld qword [eax + 0x20]
call fcn.00404c78
mov edx, dword [0x5a7154]
mov edx, dword [edx]
mov ecx, dword [0x5a6f98]
mov dword [ecx + edx*4 - 4], eax
jmp 0x52f725
mov eax, dword [0x5a7470]
cmp dword [eax], 5
jge 0x52f70a
push ebp
mov edx, 0x532c44
mov eax, 0x16
call fcn.0052bb58
pop ecx
mov eax, dword [0x5a7470]
cmp dword [eax], 5
jle 0x52f725
push ebp
mov edx, 0x532c8c
mov eax, 0x16
call fcn.0052bb58
pop ecx
cmp dword [ebp - 0x2e8], 0x16
jle 0x52f4c4
lea eax, [ebp - 0x2e0]
call fcn.0040520c
mov byte [ebp - 0x2e9], 1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x52f792
lea eax, [ebp - 0x5250]
call fcn.004094fc
lea eax, [ebp - 0x514c]
mov edx, 4
call fcn.0040955c
lea eax, [ebp - 0x2f8]
call fcn.004094fc
lea eax, [ebp - 0x2e4]
call fcn.004094fc
lea eax, [ebp - 4]
call fcn.004094fc
ret