Function at 0x5f0d2c
Capabilities:
Encode data using base64
Parse pe header
Resolve function by parsing pe exports

Disassembly:
test dword [0x9d4cb8], 0xffffff80
jne 0x5f0d54
test dword [0x9d4cb8], 0xffffffff
jne 0x5f4e54
call fcn.008a6df8
jmp fcn.005f0d2c
push ebx
mov ebx, esp
and esp, 0xfffffff0
sub esp, 8
push ebp
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x8c1492
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x764
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0xf0], edi
mov dword [ebp - 0xec], esi
mov dword [ebp - 0x7c], ecx
test dword [0x9ee064], 0x10
jne 0x5f0dbc
mov eax, 0xa
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 0xc
lea ecx, [ebp - 0x65c]
call fcn.0041cbf8
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x658]
call fcn.0041cbf8
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x654]
call fcn.004e4b6c
mov dword [ebp - 4], 2
mov edx, 1
xor ecx, ecx
mov eax, dword [ebx + 0x10]
test eax, eax
mov esi, edx
jne 0x5f0e04
mov esi, ecx
mov dword [ebp - 0xb4], esi
push 2
call fcn.00410c88
mov dword [ebp - 0x54], eax
add esp, 4
mov edi, 1
cmp esi, 0
lea esi, [ebp - 0x65c]
lea ecx, [ebp - 0x640]
cmovne eax, edi
lea edi, [ebp - 0x63c]
lea edx, [ebp - 0x644]
mov dword [ebp - 0x54], eax
lea eax, [ebp - 0x658]
push edx
push ecx
push eax
lea eax, [ebp - 0x654]
mov ecx, dword [ebx + 0xc]
push esi
push edi
push eax
call fcn.004eb990
movzx eax, al
test eax, eax
jne 0x5f0ec7
mov eax, dword [ebp - 0xb4]
test eax, eax
je 0x5f0e6d
call fcn.005fdc9c
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x654]
call fcn.0040b540
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x658]
call fcn.00406220
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x65c]
call fcn.00406220
mov eax, 9
mov edi, dword [ebp - 0xf0]
mov esi, dword [ebp - 0xec]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 0xc
mov eax, dword [ebp - 0x63c]
cmp eax, 0x70
je 0x5f0f3b
mov eax, dword [ebp - 0xb4]
test eax, eax
je 0x5f0ee1
call fcn.005fdc9c
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x654]
call fcn.0040b540
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x658]
call fcn.00406220
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x65c]
call fcn.00406220
mov eax, 9
mov edi, dword [ebp - 0xf0]
mov esi, dword [ebp - 0xec]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 0xc
mov eax, dword [ebp - 0xb4]
test eax, eax
je 0x5f0fd0
mov edi, dword [ebp - 0x658]
test edi, edi
je 0x5f1054
xor eax, eax
mov dh, byte [edi]
mov ecx, edi
test dh, dh
je 0x5f0f69
inc ecx
inc eax
mov dl, byte [ecx]
test dl, dl
jne 0x5f0f61
test eax, eax
jle 0x5f1054
call fcn.005fdc9c
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x654]
call fcn.0040b540
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x658]
call fcn.00406220
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x65c]
call fcn.00406220
mov eax, 0xa
mov edi, dword [ebp - 0xf0]
mov esi, dword [ebp - 0xec]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 0xc
mov edi, dword [ebp - 0x658]
test edi, edi
je 0x5f0ffa
xor eax, eax
mov dh, byte [edi]
mov ecx, edi
test dh, dh
je 0x5f0fec
inc ecx
inc eax
mov dl, byte [ecx]
test dl, dl
jne 0x5f0fe4
test eax, eax
jle 0x5f0ffa
mov eax, dword [ebp - 0x644]
test eax, eax
jge 0x5f1054
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x654]
call fcn.0040b540
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x658]
call fcn.00406220
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x65c]
call fcn.00406220
mov eax, 9
mov edi, dword [ebp - 0xf0]
mov esi, dword [ebp - 0xec]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 0xc
mov eax, dword [ebp - 0x7c]
lea ecx, [eax + 0x390]
lea edx, [ebp - 0x654]
mov dword [ebp - 0xe4], ecx
push edx
call fcn.005d06e0
test eax, eax
je 0x5f10d2
cmp eax, 2
je 0x5f10d2
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x654]
call fcn.0040b540
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x658]
call fcn.00406220
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x65c]
call fcn.00406220
mov eax, 0xa
mov edi, dword [ebp - 0xf0]
mov esi, dword [ebp - 0xec]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 0xc
mov dword [ebp - 0x638], 0
mov dword [ebp - 4], 3
mov eax, dword [ebp - 0xb4]
test eax, eax
jne 0x5f18c7
lea ecx, [ebp - 0x634]
call fcn.005f91c4
mov dword [ebp - 4], 4
lea ecx, [ebp - 0x5ec]
call fcn.004e4b6c
mov dword [ebp - 4], 5
lea ecx, [ebp - 0x5dc]
call fcn.004e4b6c
mov dword [ebp - 4], 6
lea ecx, [ebp - 0x5cc]
call fcn.0041cbf8
mov dword [ebp - 4], 7
mov eax, dword [ebp - 0x54]
movzx edx, al
test edx, edx
je 0x5f15bc
mov eax, 1
mov edx, dword [ebp - 0xb4]
test edx, edx
mov byte [ebp - 0x608], al
mov dword [ebp - 0x600], eax
mov byte [ebp - 0x612], al
mov dword [ebp - 0x604], 0
je 0x5f11af
lea ecx, [ebp - 0x5c8]
push 0xa13d5c
call fcn.004061ac
mov dword [ebp - 4], 8
lea ecx, [ebp - 0x5cc]
lea eax, [ebp - 0x5c8]
push eax
call fcn.004061ec
mov dword [ebp - 4], 7
lea ecx, [ebp - 0x5c8]
call fcn.00406220
jmp 0x5f11c1
lea ecx, [ebp - 0x5cc]
lea eax, [ebp - 0x658]
push eax
call fcn.004061ec
lea ecx, [ebp - 0x5c4]
call fcn.0041cbf8
mov dword [ebp - 4], 9
lea ecx, [ebp - 0x5cc]
push 1
call fcn.004062e8
mov ecx, 0x9ec5a0
call fcn.004e2e74
movzx eax, al
test eax, eax
jne 0x5f1261
mov ecx, 0x9ec5a0
call fcn.004e2de4
cmp eax, 1
jne 0x5f1261
mov ecx, 0x9ec5a0
call fcn.004e2e50
movzx eax, al
test eax, eax
jne 0x5f1261
mov ecx, 0x9ec5a0
lea eax, [ebp - 0x5c0]
push 0
push eax
call fcn.004e5490
mov dword [ebp - 4], 0xa
lea ecx, [ebp - 0x5c4]
lea eax, [ebp - 0x5c0]
push eax
call fcn.004061ec
mov dword [ebp - 4], 9
lea ecx, [ebp - 0x5c0]
call fcn.00406220
lea ecx, [ebp - 0x60c]
lea eax, [ebp - 0x5c4]
push eax
call fcn.004061ec
mov eax, dword [ebp - 0xb4]
test eax, eax
je 0x5f1277
mov dword [ebp - 0x610], 0xc
jmp 0x5f1281
mov dword [ebp - 0x610], 0
test eax, eax
je 0x5f1298
mov ecx, dword [ebx + 0x10]
call fcn.004e2e74
movzx eax, al
test eax, eax
je 0x5f1393
push edi
mov ecx, esp
lea eax, [ebp - 0x5cc]
push eax
call fcn.0040618c
lea ecx, [ebp - 0x634]
call fcn.0056432c
movzx eax, al
test eax, eax
jne 0x5f1393
mov dword [ebp - 4], 7
lea ecx, [ebp - 0x5c4]
call fcn.00406220
mov dword [ebp - 4], 6
lea ecx, [ebp - 0x5cc]
call fcn.00406220
mov dword [ebp - 4], 5
lea ecx, [ebp - 0x5dc]
call fcn.0040b540
mov dword [ebp - 4], 4
lea ecx, [ebp - 0x5ec]
call fcn.0040b540
mov dword [ebp - 4], 3
lea ecx, [ebp - 0x634]
call fcn.0046bef8
mov dword [ebp - 4], 2
mov eax, dword [ebp - 0x638]
test eax, eax
je 0x5f132f
push eax
call fcn.00888fb0
pop ecx
mov dword [ebp - 0x638], 0
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x654]
call fcn.0040b540
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x658]
call fcn.00406220
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x65c]
call fcn.00406220
mov eax, 0xa
mov edi, dword [ebp - 0xf0]
mov esi, dword [ebp - 0xec]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 0xc
add esp, 0xfffffff8
mov ecx, esp
lea eax, [ebp - 0x61c]
push eax
call fcn.0040618c
lea ecx, [ebp - 0x5ec]
xor eax, eax
mov word [esp + 4], ax
call fcn.004e83f4
mov eax, dword [ebp - 0xb4]
test eax, eax
je 0x5f13e9
mov ecx, dword [ebx + 0x10]
call fcn.004e2e74
movzx eax, al
test eax, eax
jne 0x5f13de
lea ecx, [ebp - 0x5ec]
mov eax, dword [ebx + 0x10]
push eax
call fcn.004e2d98
lea ecx, [ebp - 0x5ec]
call fcn.004e2ff4
lea ecx, [ebp - 0x5b4]
call fcn.004e4b6c
mov dword [ebp - 4], 0xb
add esp, 0xfffffff8
mov ecx, esp
lea eax, [ebp - 0x618]
push eax
call fcn.0040618c
lea ecx, [ebp - 0x5b4]
xor eax, eax
mov word [esp + 4], ax
call fcn.004e83f4
mov eax, dword [ebp - 0xb4]
test eax, eax
jne 0x5f143a
lea ecx, [ebp - 0x5b4]
call fcn.004e2e74
movzx eax, al
test eax, eax
je 0x5f14b4
lea ecx, [ebp - 0x654]
lea eax, [ebp - 0x5a0]
push eax
call fcn.004e4df4
mov dword [ebp - 4], 0xc
lea ecx, [ebp - 0x5b4]
lea eax, [ebp - 0x5a0]
push eax
call fcn.004e2d98
mov dword [ebp - 4], 0xb
lea ecx, [ebp - 0x5a0]
call fcn.0040b540
lea ecx, [ebp - 0x5b4]
lea eax, [ebp - 0x590]
push eax
call fcn.004e5be4
mov dword [ebp - 4], 0xd
lea ecx, [ebp - 0x5b4]
lea eax, [ebp - 0x590]
push eax
call fcn.004e2d98
mov dword [ebp - 4], 0xb
lea ecx, [ebp - 0x590]
call fcn.0040b540
lea ecx, [ebp - 0x5b4]
lea eax, [ebp - 0x580]
push 0
push eax
call fcn.004e5490
mov dword [ebp - 4], 0xe
lea ecx, [ebp - 0x5c4]
lea eax, [ebp - 0x580]
push eax
call fcn.004061ec
mov dword [ebp - 4], 0xb
lea ecx, [ebp - 0x580]
call fcn.00406220
lea ecx, [ebp - 0x5c4]
push 0xa13d30
call fcn.004060d4
add esp, 0xfffffff8
mov ecx, esp
lea eax, [ebp - 0x5c4]
push eax
call fcn.0040618c
lea ecx, [ebp - 0x5b4]
xor eax, eax
mov word [esp + 4], ax
call fcn.004e83f4
lea ecx, [ebp - 0x5b4]
call fcn.007efe9c
lea ecx, [ebp - 0x5b4]
call fcn.004e2ff4
lea ecx, [ebp - 0x5ec]
lea eax, [ebp - 0x578]
push eax
call fcn.004e4e80
mov dword [ebp - 4], 0xf
lea ecx, [ebp - 0x5dc]
lea eax, [ebp - 0x578]
push eax
call fcn.004e2d98
mov dword [ebp - 4], 0xb
lea ecx, [ebp - 0x578]
call fcn.0040b540
lea ecx, [ebp - 0x5dc]
lea eax, [ebp - 0x5b4]
push eax
call fcn.004e3380
lea eax, [ebp - 0x5dc]
push eax
call fcn.0043c6a0
pop ecx
mov dword [ebp - 4], 9
lea ecx, [ebp - 0x5b4]
call fcn.0040b540
mov dword [ebp - 4], 7
lea ecx, [ebp - 0x5c4]
call fcn.00406220
mov eax, dword [ebp - 0x644]
mov edx, dword [ebp - 0xb4]
test edx, edx
mov dword [ebp - 0xdc], eax
mov dword [ebp - 0xe0], eax
je 0x5f160e
xor eax, eax
mov edx, dword [ebp - 0x7c]
lea ecx, [edx + 0x7dc]
mov dword [ebp - 0xdc], eax
mov esi, dword [edx + 0x7dc]
call dword [esi + 0xc]
lea ecx, [eax + 0x6c]
mov eax, dword [eax + 0x6c]
call dword [eax + 0xc]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x30]
mov dword [ebp - 0xe0], eax
dec dword [ebp - 0xe0]
xor eax, eax
mov ecx, dword [ebp - 0xe0]
mov edx, dword [ebp - 0xdc]
mov dword [ebp - 0xc4], eax
cmp edx, ecx
jg 0x5f40bf
mov edx, dword [ebp - 0x7c]
lea ecx, [edx + 0x7dc]
mov dword [ebp - 0xbc], esi
xor edi, edi
mov dword [ebp - 0x90], eax
mov dword [ebp - 0x8c], ecx
mov dword [ebp - 0xc0], edi
mov eax, dword [ebp - 0xc0]
test eax, eax
jne 0x5f40bf
mov eax, dword [ebp - 0xb4]
test eax, eax
jne 0x5f16d6
mov eax, dword [ebx + 8]
mov esi, dword [ebp - 0x7c]
mov edx, dword [esi + eax*4 + 0x16fcc]
mov ecx, 1
xor esi, esi
cmp edx, 0
cmovne esi, ecx
test esi, esi
je 0x5f168b
mov ecx, dword [ebp - 0x7c]
call fcn.0058e7e0
call fcn.0041109c
mov edi, dword [ebp - 0x7c]
lea edx, [edi + 0x28]
lea ecx, [edi + 0x16dcc]
mov dword [ebp - 0xb8], edx
movzx edi, byte [0x9ec108]
push eax
mov eax, dword [ebx + 8]
push edi
push edx
push eax
call fcn.00566a74
mov dword [ebp - 0x50], eax
mov eax, dword [ebx + 8]
mov ecx, dword [ebp - 0x7c]
push eax
call fcn.004c2e38
test esi, esi
je 0x5f174a
mov ecx, dword [ebp - 0x7c]
call fcn.0058e6c8
jmp 0x5f174a
mov dword [ebp - 0x568], 0
push 0x9678
call fcn.00898760
mov dword [ebp - 0x50], eax
add esp, 4
test eax, eax
mov dword [ebp - 0x564], eax
je 0x5f4e49
mov dword [ebp - 0x568], 1
mov dword [ebp - 4], 0x10
mov ecx, eax
call fcn.0057c47c
mov dword [ebp - 0x568], 0
mov dword [ebp - 4], 7
mov eax, dword [ebp - 0x7c]
lea edx, [eax + 0x28]
mov ecx, dword [ebp - 0x50]
mov dword [ebp - 0xb8], edx
mov dword [ecx + 0x801c], edx
call fcn.0041109c
mov edx, dword [ebp - 0x50]
mov dword [edx + 0x9048], eax
mov eax, dword [ebp - 0x50]
test eax, eax
je 0x5f4d85
mov eax, dword [ebp - 0x7c]
mov edx, dword [eax + 0x7dc]
mov ecx, dword [ebp - 0x8c]
call dword [edx + 0xc]
lea ecx, [eax + 0x6c]
mov eax, dword [eax + 0x6c]
call dword [eax + 0xc]
mov esi, dword [eax]
mov edx, dword [ebp - 0xdc]
mov ecx, eax
push edx
call dword [esi + 0x34]
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x50]
lea ecx, [eax + 0x9040]
mov edx, dword [ebp - 0x88]
mov dword [ebp - 0xd8], ecx
push edx
call fcn.004061ec
mov eax, dword [ebp - 0x88]
mov edx, dword [eax + 0x18]
mov esi, 1
mov dword [ebp - 0xcc], edx
lea ecx, [ebp - 0x560]
mov dword [ebp - 0xb0], esi
call fcn.0041cbf8
mov dword [ebp - 4], 0x11
lea ecx, [ebp - 0x55c]
call fcn.004e4b6c
mov dword [ebp - 4], 0x12
add esp, 0xfffffff4
mov ecx, esp
push 0xa31bf8
call fcn.004061ac
lea ecx, [esp + 8]
call fcn.0041cbf8
lea ecx, [ebp - 0x544]
mov byte [esp + 4], 1
call fcn.005659f8
mov dword [ebp - 4], 0x13
mov ecx, dword [ebp - 0xcc]
movss xmm6, dword [0xa3071c]
xor eax, eax
cvtsi2ss xmm5, ecx
divss xmm6, xmm5
xor edx, edx
movss dword [ebp - 0x5c], xmm5
test ecx, ecx
movss dword [ebp - 0x52c], xmm6
mov dword [ebp - 0xac], eax
mov dword [ebp - 0xc8], edx
jle 0x5f1e93
mov eax, dword [ebp - 0x88]
lea edx, [eax + 0x24]
lea ecx, [ebp - 0x518]
mov dword [ebp - 0xd4], edx
and ecx, 7
mov dword [ebp - 0xd0], ecx
mov eax, dword [ebp - 0x88]
mov edx, dword [eax + 0x24]
mov ecx, dword [ebp - 0xd4]
call dword [edx + 0xc]
mov esi, dword [eax]
mov edx, dword [ebp - 0xc8]
mov ecx, eax
push edx
call dword [esi + 0x34]
mov dword [ebp - 0x40], eax
lea ecx, [eax + 0x78]
mov edx, dword [eax + 0x78]
mov dword [ebp - 0x84], ecx
call dword [edx + 0xc]
mov eax, dword [eax]
xor edx, edx
mov ecx, 5
mov dword [ebp - 0x58], eax
mov dword [ebp - 0xa4], edx
lea edx, [ebp - 0x498]
xor eax, eax
mov dword [edx], eax
mov dword [edx + 8], eax
mov dword [edx + 4], eax
mov dword [edx + 0xc], eax
add edx, 0x10
dec ecx
jne 0x5f18af
jmp 0x5f194e
mov eax, dword [ebp - 0x7c]
lea ecx, [eax + 0x7dc]
mov edx, dword [eax + 0x7dc]
call dword [edx + 0xc]
lea ecx, [eax + 0xcc]
mov eax, dword [eax + 0xcc]
call dword [eax + 0xc]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x30]
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0x638]
test eax, eax
je 0x5f1906
push eax
call fcn.00888fb0
pop ecx
mov dword [ebp - 0x638], 0
mov eax, dword [ebp - 0xd0]
push eax
call fcn.00898760
pop ecx
mov dword [ebp - 0x638], eax
xor ecx, ecx
mov edx, dword [ebp - 0xd0]
test edx, edx
jle 0x5f10f1
mov byte [eax + ecx], 0
inc ecx
mov eax, dword [ebp - 0xd0]
cmp ecx, eax
jge 0x5f10f1
mov eax, dword [ebp - 0x638]
jmp 0x5f1933
xor eax, eax
xor edi, edi
mov dword [ebp - 0x94], eax
mov eax, dword [ebp - 0x40]
mov edx, dword [eax + 0x78]
mov ecx, dword [ebp - 0x84]
call dword [edx + 0xc]
lea esi, [edi + edi*4]
add esi, esi
add esi, esi
sub esi, edi
mov eax, dword [eax + esi*8 + 0xac]
test eax, eax
jl 0x5f1b9f
mov eax, dword [ebp - 0x40]
mov edx, dword [eax + 0x78]
mov ecx, dword [ebp - 0x84]
call dword [edx + 0xc]
mov eax, dword [eax + esi*8 + 0x24]
cmp eax, 0x84
je 0x5f4d61
mov eax, dword [ebp - 0x40]
mov edx, dword [eax + 0x78]
mov ecx, dword [ebp - 0x84]
call dword [edx + 0xc]
mov eax, dword [eax + esi*8 + 0x24]
cmp eax, 0x85
jne 0x5f1a33
mov eax, dword [ebp - 0x94]
cmp eax, 5
jge 0x5f1b80
mov eax, dword [ebp - 0x40]
mov edx, dword [eax + 0x78]
mov ecx, dword [ebp - 0x84]
call dword [edx + 0xc]
mov edx, dword [ebp - 0x94]
lea edx, [edx + edx]
mov eax, dword [eax + esi*8 + 0x18]
mov dword [ebp - 0x9c], edx
lea edx, [edx + edx]
add edx, edx
add edx, edx
mov ecx, dword [ebp - 0x84]
mov dword [ebp + edx - 0x498], eax
mov eax, dword [ebp - 0x40]
mov eax, dword [eax + 0x78]
call dword [eax + 0xc]
mov edx, 1
mov ecx, dword [eax + esi*8 + 0x20]
shl edx, cl
mov eax, dword [ebp - 0x9c]
mov dword [ebp + eax*8 - 0x494], edx
mov dword [ebp + eax*8 - 0x490], 2
inc dword [ebp - 0x94]
jmp 0x5f1b9f
mov eax, dword [ebp - 0x40]
mov edx, dword [eax + 0x78]
mov ecx, dword [ebp - 0x84]
call dword [edx + 0xc]
mov eax, dword [eax + esi*8 + 0x24]
cmp eax, 0x81
jne 0x5f1ac9
mov eax, dword [ebp - 0x94]
cmp eax, 5
jge 0x5f1b80
mov eax, dword [ebp - 0x40]
mov edx, dword [eax + 0x78]
mov ecx, dword [ebp - 0x84]
call dword [edx + 0xc]
mov edx, dword [ebp - 0x94]
lea edx, [edx + edx]
mov eax, dword [eax + esi*8 + 0x18]
mov dword [ebp - 0xe8], edx
lea edx, [edx + edx]
add edx, edx
add edx, edx
mov ecx, dword [ebp - 0x84]
mov dword [ebp + edx - 0x498], eax
mov eax, dword [ebp - 0x40]
mov eax, dword [eax + 0x78]
call dword [eax + 0xc]
mov edx, 1
mov ecx, dword [eax + esi*8 + 0x20]
shl edx, cl
mov eax, dword [ebp - 0xe8]
mov dword [ebp + eax*8 - 0x494], edx
mov dword [ebp + eax*8 - 0x490], 3
inc dword [ebp - 0x94]
jmp 0x5f1b9f
mov eax, dword [ebp - 0x40]
mov edx, dword [eax + 0x78]
mov ecx, dword [ebp - 0x84]
call dword [edx + 0xc]
mov eax, dword [eax + esi*8 + 0x24]
cmp eax, 0x80
jge 0x5f1b80
mov eax, dword [ebp - 0x94]
cmp eax, 5
jge 0x5f1b80
mov eax, dword [ebp - 0x40]
mov edx, dword [eax + 0x78]
mov ecx, dword [ebp - 0x84]
call dword [edx + 0xc]
mov edx, dword [ebp - 0x94]
lea edx, [edx + edx]
mov eax, dword [eax + esi*8 + 0x18]
mov dword [ebp - 0xa8], edx
lea edx, [edx + edx]
add edx, edx
add edx, edx
mov ecx, dword [ebp - 0x84]
mov dword [ebp + edx - 0x498], eax
mov eax, dword [ebp - 0x40]
mov eax, dword [eax + 0x78]
call dword [eax + 0xc]
mov edx, 1
mov ecx, dword [eax + esi*8 + 0x20]
shl edx, cl
mov eax, dword [ebp - 0xa8]
mov ecx, dword [ebp - 0x84]
mov dword [ebp + eax*8 - 0x494], edx
mov eax, dword [ebp - 0x40]
mov eax, dword [eax + 0x78]
call dword [eax + 0xc]
mov eax, dword [eax + esi*8 + 0x24]
mov edx, dword [ebp - 0xa8]
mov dword [ebp + edx*8 - 0x48c], eax
mov dword [ebp + edx*8 - 0x490], 1
inc dword [ebp - 0x94]
jmp 0x5f1b9f
mov eax, dword [ebp - 0x40]
mov edx, dword [eax + 0x78]
mov ecx, dword [ebp - 0x84]
call dword [edx + 0xc]
mov edx, dword [ebp - 0xac]
or edx, dword [eax + esi*8 + 0x18]
mov dword [ebp - 0xac], edx
inc edi
cmp edi, 5
jl 0x5f1958
mov esi, dword [ebp - 0xc8]
mov edx, 1
mov ecx, dword [ebp - 0xd0]
cvtsi2ss xmm2, esi
divss xmm2, dword [ebp - 0x5c]
mov esi, 0
movss dword [ebp - 0x68], xmm2
cmp ecx, 0
cmove edx, ecx
mov eax, 0x1f
mov edi, 0x20
cmovne edi, eax
and edi, 1
neg edi
add edi, 0x20
test edx, edx
je 0x5f1bff
xor eax, eax
mov esi, 1
mov dword [ebp - 0x448], eax
mov dword [ebp - 0x518], eax
pxor mm0, mm0
movq qword [ebp - 0x30], mm0
movq mm0, qword [ebp - 0x30]
movq qword [ebp + esi*4 - 0x448], mm0
movq qword [ebp + esi*4 - 0x518], mm0
add esi, 2
cmp esi, edi
jl 0x5f1c06
emms
cmp esi, 0x20
jge 0x5f1c3e
xor eax, eax
mov dword [ebp + esi*4 - 0x448], eax
mov dword [ebp + esi*4 - 0x518], eax
inc esi
cmp esi, 0x20
jl 0x5f1c28
xor eax, eax
mov edx, dword [ebp - 0x58]
test edx, edx
mov dword [ebp - 0x3c], eax
jle 0x5f1e6e
mov eax, dword [ebp - 0x40]
lea edx, [eax + 0x98]
mov ecx, dword [ebp - 0x88]
mov dword [ebp - 0x4c], edx
lea esi, [ecx + 0x44]
mov dword [ebp - 0x60], esi
xor eax, eax
mov edx, dword [ebp - 0x40]
mov esi, dword [edx + 0x78]
mov dword [ebp - 0x44], eax
mov ecx, dword [ebp - 0x84]
call dword [esi + 0xc]
lea ecx, [eax + 4]
mov eax, dword [eax + 4]
call dword [eax + 0xc]
mov edx, dword [ebp - 0x3c]
mov eax, dword [eax + edx*4]
test eax, eax
mov dword [ebp - 0x54], eax
jl 0x5f1e5c
mov eax, dword [ebp - 0x7c]
mov edx, dword [eax + 0x7dc]
mov ecx, dword [ebp - 0x8c]
call dword [edx + 0xc]
lea ecx, [eax + 0xcc]
mov eax, dword [eax + 0xcc]
call dword [eax + 0xc]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x30]
mov edx, dword [ebp - 0x54]
cmp edx, eax
jae 0x5f1e5c
mov eax, dword [ebp - 0x3c]
test eax, eax
jne 0x5f1d11
mov eax, dword [ebp - 0x7c]
mov edx, dword [eax + 0x7dc]
mov ecx, dword [ebp - 0x8c]
call dword [edx + 0xc]
lea ecx, [eax + 0xcc]
mov eax, dword [eax + 0xcc]
call dword [eax + 0xc]
mov esi, dword [eax]
mov edx, dword [ebp - 0x3c]
mov ecx, eax
push edx
call dword [esi + 0x34]
movzx esi, word [eax + 2]
mov edi, 1
xor eax, eax
cmp esi, 2
cmove eax, edi
mov dword [ebp - 0x90], eax
mov edi, dword [ebp - 0x498]
mov eax, dword [ebp - 0x40]
mov edx, dword [eax + 0x98]
or edi, dword [ebp - 0x488]
mov ecx, dword [ebp - 0x4c]
or edi, dword [ebp - 0x478]
or edi, dword [ebp - 0x468]
or edi, dword [ebp - 0x458]
or edi, dword [ebp - 0xa4]
and edi, dword [ebp - 0x3c]
call dword [edx + 0xc]
mov esi, dword [eax]
mov edx, dword [ebp - 0x3c]
mov ecx, eax
push edx
call dword [esi + 0x34]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
mov eax, dword [eax + 0x68]
test eax, eax
jne 0x5f1d9c
add edi, edi
add edi, edi
lea eax, [ebp - 0x448]
add eax, edi
lea edx, [ebp - 0x518]
add edx, edi
mov dword [ebp - 0x6c], eax
xor eax, eax
mov dword [ebp + edi - 0x448], 0
mov dword [ebp - 0x64], edx
mov edx, 0x7f
mov dword [ebp + edi - 0x518], 0x7f
jmp 0x5f1e4a
mov ecx, dword [ebp - 0x90]
movzx eax, cl
mov edx, 2
mov esi, 1
cmp eax, 0
cmovne esi, edx
mov eax, dword [ebp - 0x3c]
cdq
idiv esi
test edx, edx
jne 0x5f1e22
lea ecx, [edi + edi]
add ecx, ecx
lea eax, [ebp - 0x448]
add eax, ecx
lea edx, [ebp - 0x518]
add edx, ecx
mov dword [ebp - 0x6c], eax
mov esi, dword [ebp + ecx - 0x518]
inc esi
mov dword [ebp - 0x64], edx
cmp esi, 0x7f
mov dword [ebp + ecx - 0x448], esi
jg 0x5f1e5c
mov eax, dword [ebp - 0x40]
mov edx, dword [eax + 0x98]
mov ecx, dword [ebp - 0x4c]
call dword [edx + 0xc]
mov esi, dword [eax]
mov edx, dword [ebp - 0x3c]
mov ecx, eax
push edx
call dword [esi + 0x34]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
mov edx, dword [eax + 0x68]
mov eax, dword [ebp + edi*4 - 0x448]
mov dword [ebp + edi*4 - 0x518], edx
jmp 0x5f1e4a
add edi, edi
add edi, edi
lea eax, [ebp - 0x448]
add eax, edi
lea edx, [ebp - 0x518]
add edx, edi
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp + edi - 0x448]
mov dword [ebp - 0x64], edx
mov edx, dword [ebp + edi - 0x518]
cmp eax, edx
jne 0x5f1e56
dec edx
mov eax, dword [ebp - 0x64]
mov dword [eax], edx
jmp 0x5f1e5c
jle 0x5f2348
mov eax, dword [ebp - 0x3c]
inc eax
mov edx, dword [ebp - 0x58]
mov dword [ebp - 0x3c], eax
cmp eax, edx
jl 0x5f1c66
mov eax, dword [ebp - 0xc0]
test eax, eax
jne 0x5f1e93
mov eax, dword [ebp - 0xc8]
inc eax
mov edx, dword [ebp - 0xcc]
mov dword [ebp - 0xc8], eax
cmp eax, edx
jl 0x5f1865
lea ecx, [ebp - 0x5ec]
call fcn.004e2e74
movzx eax, al
test eax, eax
jne 0x5f1ed8
xor edx, edx
mov eax, dword [ebp - 0x50]
mov eax, dword [eax + 0x8004]
test eax, eax
jle 0x5f3a1d
mov esi, dword [ebp - 0x50]
mov eax, dword [esi + edx*4]
mov ecx, dword [eax + 0x4c]
mov byte [ecx + 0x784], 0
mov eax, dword [esi + 0x8004]
inc edx
cmp edx, eax
jl 0x5f1eb8
jmp 0x5f3a1d
mov eax, dword [ebp - 0xc0]
test eax, eax
jne 0x5f2287
mov eax, dword [ebp - 0x50]
mov edx, dword [eax + 0x8000]
test edx, edx
jg 0x5f1f50
mov eax, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0x50]
push dword [eax + 0x16cf8]
push dword [eax + 0x16974]
push 0xffffffffffffffff
call fcn.0056f2e0
mov dword [ebp - 0x94], eax
lea ecx, [ebp - 0x148]
push 0xa31c6c
call fcn.004061ac
mov dword [ebp - 4], 0x43
mov ecx, dword [ebp - 0x94]
add ecx, 8
lea eax, [ebp - 0x148]
push eax
call fcn.004061ec
mov dword [ebp - 4], 0x13
lea ecx, [ebp - 0x148]
call fcn.00406220
lea ecx, [ebp - 0x5ec]
call fcn.004e2e74
movzx eax, al
test eax, eax
jne 0x5f21d0
mov eax, dword [ebp - 0xb4]
test eax, eax
je 0x5f212e
mov esi, dword [ebp - 0x7c]
mov eax, dword [esi + 0x16fcc]
mov edx, dword [ebp - 0x50]
mov dword [ebp - 0xd0], eax
lea ecx, [ebp - 0x5ec]
lea edi, [ebp - 0x168]
mov dword [esi + 0x16fcc], edx
push edi
call fcn.004e4e80
mov dword [ebp - 4], 0x46
lea ecx, [ebp - 0x158]
mov eax, dword [ebp - 0xd8]
push 0
push eax
call fcn.004e2e90
mov dword [ebp - 4], 0x47
lea ecx, [ebp - 0x158]
push 1
call fcn.004e5a44
lea ecx, [ebp - 0x168]
lea eax, [ebp - 0x158]
push eax
call fcn.004e3380
add esp, 0xfffffff8
mov ecx, esp
push 0x9ffe20
call fcn.004061ac
lea ecx, [ebp - 0x168]
mov dword [esp + 4], 0xffffffff
call fcn.004e5ef4
add esp, 0xffffffc4
lea ecx, [esp + 4]
xor eax, eax
mov dword [ebp - 0x6c8], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], eax
mov dword [ebp - 4], 0x48
lea eax, [ebp - 0x168]
push eax
call fcn.004e2d98
mov dword [ebp - 4], 0x47
mov dword [ebp - 4], 0x47
lea ecx, [esp + 0x14]
xor eax, eax
mov dword [ebp - 0x6c0], ecx
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], eax
mov dword [ebp - 4], 0x49
lea eax, [ebp - 0x5dc]
push eax
call fcn.004e2d98
mov dword [ebp - 4], 0x47
mov dword [ebp - 4], 0x47
xor eax, eax
mov edx, 0xffffffff
mov ecx, esi
mov dword [esp], eax
mov byte [esp + 0x24], al
mov dword [esp + 0x28], eax
mov byte [esp + 0x2c], al
mov byte [esp + 0x30], al
mov dword [esp + 0x34], edx
mov dword [esp + 0x38], edx
call fcn.0051bb64
mov eax, dword [ebp - 0xd0]
mov edx, esi
mov dword [edx + 0x16fcc], eax
mov dword [ebp - 4], 0x46
lea eax, [ebp - 0x158]
mov dword [ebp - 0x6b8], eax
mov dword [ebp - 4], 0x4a
mov dword [ebp - 4], 0x46
mov eax, dword [ebp - 0x154]
mov edx, dword [ebp - 0x150]
cmp eax, edx
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x58], edx
je 0x5f3fb2
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x6b0], eax
mov dword [ebp - 4], 0x4b
mov dword [ebp - 4], 0x4c
mov dword [ebp - 4], 0x4b
lea ecx, [eax + 0xc]
call fcn.00406220
mov eax, dword [ebp - 0x48]
lea ecx, [eax + 8]
call fcn.00406220
mov eax, dword [ebp - 0x48]
add eax, 0x10
mov edx, dword [ebp - 0x58]
mov dword [ebp - 0x48], eax
cmp eax, edx
jne 0x5f20e8
jmp 0x5f3fa9
add esp, 0xffffffc4
lea ecx, [esp + 4]
xor eax, eax
mov dword [ebp - 0x6d8], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], eax
mov dword [ebp - 4], 0x44
lea eax, [ebp - 0x5ec]
push eax
call fcn.004e2d98
mov dword [ebp - 4], 0x13
mov dword [ebp - 4], 0x13
lea ecx, [esp + 0x14]
xor eax, eax
mov dword [ebp - 0x6d0], ecx
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], eax
mov dword [ebp - 4], 0x45
lea eax, [ebp - 0x5dc]
push eax
call fcn.004e2d98
mov dword [ebp - 4], 0x13
mov dword [ebp - 4], 0x13
mov esi, dword [ebx + 8]
xor eax, eax
mov edx, 0xffffffff
mov dword [esp], esi
mov ecx, dword [ebp - 0x7c]
mov byte [esp + 0x24], al
mov dword [esp + 0x28], eax
mov byte [esp + 0x2c], al
mov byte [esp + 0x30], al
mov dword [esp + 0x34], edx
mov dword [esp + 0x38], edx
call fcn.0051bb64
mov eax, dword [ebp - 0xb4]
test eax, eax
je 0x5f21ec
mov eax, dword [ebp - 0x50]
test eax, eax
je 0x5f21f4
push 1
mov ecx, eax
call fcn.005f013c
jmp 0x5f21f4
mov ecx, dword [ebp - 0x50]
call fcn.0057c128
mov dword [ebp - 4], 0x12
lea ecx, [ebp - 0x544]
call fcn.00565c00
mov dword [ebp - 4], 0x11
lea eax, [ebp - 0x55c]
mov dword [ebp - 0x698], eax
mov dword [ebp - 4], 0x50
mov dword [ebp - 4], 0x11
mov eax, dword [ebp - 0x558]
mov edx, dword [ebp - 0x554]
cmp eax, edx
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x4c], edx
je 0x5f4077
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x690], eax
mov dword [ebp - 4], 0x51
mov dword [ebp - 4], 0x52
mov dword [ebp - 4], 0x51
lea ecx, [eax + 0xc]
call fcn.00406220
mov eax, dword [ebp - 0x44]
lea ecx, [eax + 8]
call fcn.00406220
mov eax, dword [ebp - 0x44]
add eax, 0x10
mov edx, dword [ebp - 0x4c]
mov dword [ebp - 0x44], eax
cmp eax, edx
jne 0x5f2241
jmp 0x5f406e
mov eax, dword [ebp - 0xb4]
test eax, eax
je 0x5f22a3
mov eax, dword [ebp - 0x50]
test eax, eax
je 0x5f22b5
push 1
mov ecx, eax
call fcn.005f013c
jmp 0x5f22b5
mov ecx, dword [ebp - 0x7c]
add ecx, 0x16dcc
mov eax, dword [ebx + 8]
push eax
call fcn.00566930
mov dword [ebp - 4], 0x12
lea ecx, [ebp - 0x544]
call fcn.00565c00
mov dword [ebp - 4], 0x11
lea eax, [ebp - 0x55c]
mov dword [ebp - 0x718], eax
mov dword [ebp - 4], 0x37
mov dword [ebp - 4], 0x11
mov eax, dword [ebp - 0x558]
mov edx, dword [ebp - 0x554]
cmp eax, edx
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x4c], edx
je 0x5f4327
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x710], eax
mov dword [ebp - 4], 0x38
mov dword [ebp - 4], 0x39
mov dword [ebp - 4], 0x38
lea ecx, [eax + 0xc]
call fcn.00406220
mov eax, dword [ebp - 0x44]
lea ecx, [eax + 8]
call fcn.00406220
mov eax, dword [ebp - 0x44]
add eax, 0x10
mov edx, dword [ebp - 0x4c]
mov dword [ebp - 0x44], eax
cmp eax, edx
jne 0x5f2302
jmp 0x5f431e
mov eax, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0x50]
push dword [eax + 0x16cf8]
push dword [eax + 0x16974]
push 0xffffffffffffffff
call fcn.0056f2e0
mov dword [ebp - 0x78], eax
mov edx, dword [ebp - 0xac]
mov eax, dword [ebp - 0x3c]
test edx, eax
je 0x5f239b
mov eax, dword [ebp - 0x90]
movzx edx, al
test edx, edx
je 0x5f238f
mov eax, dword [ebp - 0x3c]
and eax, 0xfffffffe
mov edx, dword [ebp - 0x78]
mov dword [edx + 0xa668], eax
jmp 0x5f239b
mov edx, dword [ebp - 0x78]
mov eax, dword [ebp - 0x3c]
mov dword [edx + 0xa668], eax
mov eax, dword [ebp - 0x3c]
and eax, dword [ebp - 0xa4]
mov dword [ebp - 0x94], eax
jne 0x5f23b9
xor al, al
mov byte [ebp - 0x98], al
jmp 0x5f24b2
mov al, 1
mov edx, dword [ebp - 0x78]
mov esi, dword [ebp - 0x40]
mov byte [ebp - 0x98], al
mov ecx, dword [ebp - 0x4c]
mov byte [edx + 0x32], 1
mov edi, dword [esi + 0x98]
call dword [edi + 0xc]
mov esi, dword [eax]
mov edx, dword [ebp - 0x3c]
mov ecx, eax
push edx
call dword [esi + 0x34]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
lea ecx, [eax + 0x28]
mov eax, dword [eax + 0x28]
call dword [eax + 0xc]
mov eax, dword [eax + 0x14]
cmp eax, 8
jne 0x5f2407
xor al, al
mov byte [ebp - 0x98], al
jmp 0x5f24b2
mov eax, dword [ebp - 0x40]
mov edx, dword [eax + 0x98]
mov ecx, dword [ebp - 0x4c]
call dword [edx + 0xc]
mov esi, dword [eax]
mov edx, dword [ebp - 0x3c]
mov ecx, eax
push edx
call dword [esi + 0x34]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
lea ecx, [eax + 0x28]
mov eax, dword [eax + 0x28]
call dword [eax + 0xc]
mov edx, dword [eax + 0x14]
shr edx, 0x1f
add esp, 0xfffffff8
fild dword [eax + 0x14]
fadd dword [edx*4 + 0xa30798]
fmul dword [0xa30718]
fmul qword [0xa30698]
fadd qword [0xa306a0]
fstp qword [esp]
call fcn.0088ba48
add esp, 8
fadd st(0)
fstp qword [ebp - 0x100]
mov esi, dword [ebp - 0x100]
mov eax, dword [ebp - 0xfc]
mov ecx, eax
shr ecx, 0x14
and ecx, 0x7ff
cmp ecx, 0x3fe
jle 0x5f24aa
mov edx, eax
neg ecx
add ecx, 0x41e
shld edx, esi, 0xb
or edx, 0x80000000
shr edx, cl
mov ecx, edx
neg ecx
cmp eax, 0
cmovge ecx, edx
jmp 0x5f24ac
xor ecx, ecx
mov eax, dword [ebp - 0x78]
mov dword [eax + 0x34], ecx
xor eax, eax
xor edx, edx
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x48], edx
mov eax, dword [ebp - 0x48]
lea edx, [eax + eax]
lea ecx, [edx + edx]
mov dword [ebp - 0x74], edx
add ecx, ecx
add ecx, ecx
mov eax, dword [ebp + ecx - 0x498]
test eax, eax
je 0x5f2515
mov edx, dword [ebp - 0x3c]
and edx, eax
mov dword [ebp - 0x70], edx
push edi
call fcn.005f8ae0
pop ecx
mov ecx, eax
mov edx, dword [ebp - 0x70]
mov esi, dword [ebp - 0x74]
sar edx, cl
mov dword [ebp - 0x70], edx
mov edx, dword [ebp + esi*8 - 0x490]
cmp edx, 2
je 0x5f4cc1
cmp edx, 1
je 0x5f4c5e
cmp edx, 3
je 0x5f45b6
mov eax, dword [ebp - 0x48]
inc eax
cmp eax, 5
mov dword [ebp - 0x48], eax
jl 0x5f24bc
mov eax, dword [ebp - 0x40]
mov edx, dword [eax + 0x98]
mov ecx, dword [ebp - 0x4c]
call dword [edx + 0xc]
mov esi, dword [eax]
mov edx, dword [ebp - 0x3c]
mov ecx, eax
push edx
call dword [esi + 0x34]
lea ecx, [eax + 0x20]
mov eax, dword [eax + 0x20]
call dword [eax + 0xc]
mov esi, dword [eax + 0x44]
mov edi, 1
xor eax, eax
cmp esi, 0
mov edx, dword [ebp - 0x78]
cmove eax, edi
mov ecx, dword [ebp - 0x4c]
mov byte [edx + 0x30], al
mov eax, dword [ebp - 0x40]
mov eax, dword [eax + 0x98]
call dword [eax + 0xc]
mov esi, dword [eax]
mov edx, dword [ebp - 0x3c]
mov ecx, eax
push edx
call dword [esi + 0x34]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
lea ecx, [eax + 0x48]
mov eax, dword [eax + 0x48]
call dword [eax + 0xc]
mov eax, dword [eax]
test eax, eax
je 0x5f2695
mov eax, dword [ebp - 0x40]
mov edx, dword [eax + 0x98]
mov ecx, dword [ebp - 0x4c]
call dword [edx + 0xc]
mov esi, dword [eax]
mov edx, dword [ebp - 0x3c]
mov ecx, eax
push edx
call dword [esi + 0x34]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
lea ecx, [eax + 0x48]
mov eax, dword [eax + 0x48]
call dword [eax + 0xc]
push dword [eax + 0xc]
call fcn.005d2030
fstp qword [ebp - 0x30]
add esp, 4
fld qword [ebp - 0x30]
mov eax, dword [ebp - 0x78]
mov edx, dword [ebp - 0x40]
fstp dword [eax + 0xa5c8]
mov esi, dword [edx + 0x98]
mov ecx, dword [ebp - 0x4c]
call dword [esi + 0xc]
mov esi, dword [eax]
mov edx, dword [ebp - 0x3c]
mov ecx, eax
push edx
call dword [esi + 0x34]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
lea ecx, [eax + 0x48]
mov eax, dword [eax + 0x48]
call dword [eax + 0xc]
mov esi, dword [eax + 0x14]
shr esi, 0x1f
mov edx, dword [ebp - 0x78]
fild dword [eax + 0x14]
mov al, byte [0x9ec0f4]
mov edi, dword [ebp - 0x40]
fadd dword [esi*4 + 0xa30798]
fmul dword [0xa30708]
fstp dword [edx + 0xa5cc]
mov ecx, dword [ebp - 0x4c]
mov byte [edx + 0xa5c4], al
mov eax, dword [edi + 0x98]
call dword [eax + 0xc]
mov esi, dword [eax]
mov edx, dword [ebp - 0x3c]
mov ecx, eax
push edx
call dword [esi + 0x34]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
lea ecx, [eax + 0x48]
mov eax, dword [eax + 0x48]
call dword [eax + 0xc]
mov eax, dword [eax + 4]
test eax, eax
je 0x5f39c9
cmp eax, 1
je 0x5f2688
cmp eax, 2
jne 0x5f2674
mov eax, dword [ebp - 0x78]
mov dword [eax + 0xa5b8], 4
jmp 0x5f2695
cmp eax, 3
jne 0x5f2695
mov eax, dword [ebp - 0x78]
mov dword [eax + 0xa5b8], 9
jmp 0x5f2695
mov eax, dword [ebp - 0x78]
mov dword [eax + 0xa5b8], 5
xor esi, esi
lea eax, [esi + esi]
add eax, eax
sub eax, esi
add eax, eax
add eax, eax
sub eax, esi
lea edx, [esi + eax*8]
lea edi, [edx + edx]
add edi, edi
sub edi, edx
add edi, edi
add edi, edi
add edi, dword [ebp - 0x78]
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x70], edi
mov dword [edi + 0x6b8], 1
mov dword [edi + 0x9f8], 2
mov dword [edi + 0x6f0], 0
mov dword [edi + 0x5fc], 0x3f800000
mov eax, dword [eax + 0x98]
call dword [eax + 0xc]
mov edi, dword [eax]
mov edx, dword [ebp - 0x3c]
mov ecx, eax
push edx
call dword [edi + 0x34]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
lea ecx, [eax + 0x14]
mov eax, dword [eax + 0x14]
push esi
call dword [eax + 0x34]
push dword [eax + 4]
call fcn.005d200c
fstp qword [ebp - 0x30]
add esp, 4
fld qword [0xa30690]
mov eax, dword [ebp - 0x70]
cmp esi, 1
fmul qword [ebp - 0x30]
fst qword [ebp - 0x28]
fstp dword [eax + 0x6f8]
je 0x5f39a5
mov eax, dword [ebp - 0x70]
mov edx, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x4c]
mov dword [eax + 0x6fc], 0
mov edi, dword [edx + 0x98]
call dword [edi + 0xc]
mov edi, dword [eax]
mov edx, dword [ebp - 0x3c]
mov ecx, eax
push edx
call dword [edi + 0x34]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
lea ecx, [eax + 0x14]
mov eax, dword [eax + 0x14]
push esi
call dword [eax + 0x34]
push dword [eax + 8]
call fcn.005d200c
fstp qword [ebp - 0x28]
add esp, 4
fld qword [0xa30690]
mov eax, dword [ebp - 0x70]
mov edx, dword [ebp - 0x40]
fmul qword [ebp - 0x28]
mov ecx, dword [ebp - 0x4c]
fstp dword [eax + 0x700]
mov edi, dword [edx + 0x98]
call dword [edi + 0xc]
mov edi, dword [eax]
mov edx, dword [ebp - 0x3c]
mov ecx, eax
push edx
call dword [edi + 0x34]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
lea ecx, [eax + 0x14]
mov eax, dword [eax + 0x14]
push esi
call dword [eax + 0x34]
push dword [eax + 0x14]
call fcn.005d200c
fstp qword [ebp - 0x28]
add esp, 4
fld qword [0xa30690]
mov eax, dword [ebp - 0x70]
mov edx, dword [ebp - 0x40]
fmul qword [ebp - 0x28]
mov ecx, dword [ebp - 0x4c]
fstp dword [eax + 0x704]
mov edi, dword [edx + 0x98]
call dword [edi + 0xc]
mov edi, dword [eax]
mov edx, dword [ebp - 0x3c]
mov ecx, eax
push edx
call dword [edi + 0x34]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
lea ecx, [eax + 0x14]
mov eax, dword [eax + 0x14]
push esi
call dword [eax + 0x34]
mov edx, dword [eax + 0x10]
shr edx, 0x1f
inc esi
fild dword [eax + 0x10]
mov eax, dword [ebp - 0x70]
cmp esi, 2
fadd dword [edx*4 + 0xa30798]
fmul dword [0xa30700]
fstp dword [eax + 0x6f4]
jge 0x5f2838
cmp esi, 1
je 0x5f398f
jmp 0x5f2697
mov edx, 1
mov ecx, dword [ebp - 0x78]
mov eax, 4
mov word [ecx + 0x5f8], dx
lea esi, [ecx + 0xa28]
mov edi, dword [ecx + 0xa5c8]
mov word [ecx + 0xa24], ax
mov eax, dword [ebp - 0x40]
mov dword [ecx + 0xae4], edx
mov dword [ebp - 0x9c], esi
fld dword [ecx + 0xa5c8]
mov dword [ecx + 0xa28], edi
mov dword [ecx + 0xa5c8], 0
fsub dword [0xa30710]
fstp dword [ecx + 0xa28]
mov eax, dword [eax + 0x98]
mov ecx, dword [ebp - 0x4c]
call dword [eax + 0xc]
mov esi, dword [eax]
mov edx, dword [ebp - 0x3c]
mov ecx, eax
push edx
call dword [esi + 0x34]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
lea ecx, [eax + 0x14]
mov eax, dword [eax + 0x14]
push 2
call dword [eax + 0x34]
mov eax, dword [eax + 0x38]
test eax, eax
je 0x5f2991
mov esi, dword [ebp - 0x78]
mov eax, 2
mov edx, 3
mov dword [esi + 0xf10], 1
mov edi, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x4c]
mov dword [esi + 0x1250], eax
mov dword [esi + 0xf48], eax
mov word [esi + 0xe50], dx
mov eax, dword [edi + 0x98]
call dword [eax + 0xc]
mov esi, dword [eax]
mov edx, dword [ebp - 0x3c]
mov ecx, eax
push edx
call dword [esi + 0x34]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
lea ecx, [eax + 0x14]
mov eax, dword [eax + 0x14]
push 2
call dword [eax + 0x34]
cvtsi2ss xmm5, dword [eax + 0x38]
mulss xmm5, dword [0xa306fc]
mov eax, dword [ebp - 0x78]
movss dword [eax + 0xe54], xmm5
mov edx, edi
mov esi, dword [edx + 0x98]
mov ecx, dword [ebp - 0x4c]
call dword [esi + 0xc]
mov esi, dword [eax]
mov edx, dword [ebp - 0x3c]
mov ecx, eax
push edx
call dword [esi + 0x34]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
lea ecx, [eax + 0x14]
mov eax, dword [eax + 0x14]
push 2
call dword [eax + 0x34]
push dword [eax + 4]
call fcn.005d200c
fstp qword [ebp - 0x28]
add esp, 4
fld qword [0xa30690]
mov eax, dword [ebp - 0x78]
fmul qword [ebp - 0x28]
fstp dword [eax + 0x115c]
mov dword [eax + 0x1160], 0
mov dword [eax + 0x1158], 0
xor esi, esi
mov eax, dword [ebp - 0x78]
lea edx, [eax + 0x127c]
mov dword [ebp - 0xa0], edx
lea ecx, [eax + 0x167c]
lea edi, [eax + 0x1344]
mov dword [ebp - 0xa8], ecx
lea edx, [eax + 0x1684]
mov dword [ebp - 0xe8], edi
mov dword [ebp - 0x80], edx
lea edx, [eax + 0x1280]
lea eax, [eax + 0x127c]
mov dword [ebp - 0x74], edx
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x40]
mov edx, dword [eax + 0x98]
mov ecx, dword [ebp - 0x4c]
call dword [edx + 0xc]
mov edi, dword [eax]
mov edx, dword [ebp - 0x3c]
mov ecx, eax
push edx
call dword [edi + 0x34]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
mov edx, dword [eax]
mov ecx, eax
push esi
call dword [edx + 0x34]
mov eax, dword [eax + 4]
test eax, eax
je 0x5f2ae3
mov edx, 1
mov eax, dword [ebp - 0xa0]
mov edi, dword [ebp - 0xa8]
mov dword [eax + 0xc0], edx
mov eax, dword [ebp - 0xe8]
mov ecx, dword [ebp - 0x4c]
mov dword [edi], edx
mov dword [eax], 2
mov eax, dword [ebp - 0x40]
mov eax, dword [eax + 0x98]
call dword [eax + 0xc]
mov edi, dword [eax]
mov edx, dword [ebp - 0x3c]
mov ecx, eax
push edx
call dword [edi + 0x34]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
mov edx, dword [eax]
mov ecx, eax
push esi
call dword [edx + 0x34]
push dword [eax]
call fcn.005d200c
fstp qword [ebp - 0x28]
add esp, 4
fld qword [ebp - 0x28]
mov eax, dword [ebp - 0x80]
mov edx, dword [ebp - 0x40]
fstp dword [eax]
mov edi, dword [edx + 0x98]
mov ecx, dword [ebp - 0x4c]
call dword [edi + 0xc]
mov edi, dword [eax]
mov edx, dword [ebp - 0x3c]
mov ecx, eax
push edx
call dword [edi + 0x34]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
mov edx, dword [eax]
mov ecx, eax
push esi
call dword [edx + 0x34]
mov edx, dword [eax + 4]
shr edx, 0x1f
test esi, esi
fild dword [eax + 4]
mov eax, dword [ebp - 0x74]
fadd dword [edx*4 + 0xa30798]
fmul dword [0xa306f8]
fstp dword [eax]
je 0x5f2ad8
cmp esi, 1
jne 0x5f2ac6
mov eax, 4
mov edx, dword [ebp - 0x70]
mov word [edx], ax
jmp 0x5f2ae3
cmp esi, 2
jne 0x5f2ae3
mov eax, 3
mov edx, dword [ebp - 0x70]
mov word [edx], ax
jmp 0x5f2ae3
mov eax, 1
mov edx, dword [ebp - 0x70]
mov word [edx], ax
inc esi
cmp esi, 3
jl 0x5f29d5
mov esi, dword [ebp - 0x44]
lea edi, [esi + esi]
add edi, edi
sub edi, esi
add edi, edi
add edi, edi
add edi, edi
lea edx, [edi + edi]
add edx, edx
add edx, edx
add edx, edx
add edx, edx
sub edx, edi
mov eax, 1
mov ecx, dword [ebp - 0x4c]
add edx, dword [ebp - 0x78]
mov dword [ebp - 0x70], edx
mov dword [edx + 0x4978], eax
mov byte [edx + 0x4b97], al
mov byte [edx + 0x4b98], 6
mov word [edx + 0x48b8], ax
mov eax, dword [ebp - 0x40]
mov eax, dword [eax + 0x98]
call dword [eax + 0xc]
mov esi, dword [eax]
mov edx, dword [ebp - 0x3c]
mov ecx, eax
push edx
call dword [esi + 0x34]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
lea ecx, [eax + 0x28]
mov eax, dword [eax + 0x28]
call dword [eax + 0xc]
mov edx, dword [eax + 4]
neg edx
add edx, 6
mov dword [ebp - 0xf8], edx
shr edx, 0x1f
mov esi, dword [ebp - 0x70]
fild dword [ebp - 0xf8]
mov edi, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x4c]
fadd dword [edx*4 + 0xa30798]
fmul qword [0xa30688]
fst dword [esi + 0x48bc]
fld dword [0xa3071c]
fcom st(1)
fnstsw ax
sahf
fcmovnbe st(0), st(1)
fstp st(1)
fst dword [esi + 0x48bc]
fld dword [0xa30710]
fcom st(1)
fnstsw ax
sahf
fcmovb st(0), st(1)
fstp st(1)
fstp dword [esi + 0x48bc]
inc dword [ebp - 0x44]
mov eax, dword [edi + 0x98]
call dword [eax + 0xc]
mov esi, dword [eax]
mov edx, dword [ebp - 0x3c]
mov ecx, eax
push edx
call dword [esi + 0x34]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
lea ecx, [eax + 0x48]
mov eax, dword [eax + 0x48]
call dword [eax + 0xc]
mov eax, dword [eax + 0x20]
cmp eax, 0x64
jae 0x5f2cdf
mov esi, dword [ebp - 0x44]
lea edi, [esi + esi]
add edi, edi
sub edi, esi
add edi, edi
add edi, edi
add edi, edi
lea ecx, [edi + edi]
add ecx, ecx
add ecx, ecx
add ecx, ecx
add ecx, ecx
sub ecx, edi
mov eax, 1
mov edx, 4
add ecx, dword [ebp - 0x78]
mov dword [ebp - 0xa0], ecx
mov dword [ecx + 0x4978], eax
mov byte [ecx + 0x4b97], al
mov byte [ecx + 0x4b98], 6
mov eax, dword [ebp - 0x40]
mov word [ecx + 0x48b8], dx
mov eax, dword [eax + 0x98]
mov ecx, dword [ebp - 0x4c]
call dword [eax + 0xc]
mov esi, dword [eax]
mov edx, dword [ebp - 0x3c]
mov ecx, eax
push edx
call dword [esi + 0x34]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
lea ecx, [eax + 0x48]
mov eax, dword [eax + 0x48]
call dword [eax + 0xc]
mov edx, dword [eax + 0x20]
neg edx
add edx, 0x64
mov dword [ebp - 0xf8], edx
shr edx, 0x1f
mov ecx, dword [ebp - 0xa0]
fild dword [ebp - 0xf8]
mov esi, dword [ebp - 0x9c]
fadd dword [edx*4 + 0xa30798]
fmul dword [0xa30700]
fmul st(0)
fst dword [ecx + 0x48bc]
fld dword [0xa3071c]
fcom st(1)
fnstsw ax
sahf
fcmovnbe st(0), st(1)
fstp st(1)
fst qword [ebp - 0x28]
fst dword [ecx + 0x48bc]
fld dword [0xa306f4]
fst qword [ebp - 0x30]
fld dword [esi]
faddp st(2)
fcompp
fnstsw ax
sahf
jae 0x5f2cdc
fld qword [ebp - 0x30]
fsub qword [ebp - 0x28]
mov edx, esi
fst dword [edx]
fld dword [0xa30710]
fcom st(1)
fnstsw ax
sahf
fcmovb st(0), st(1)
fstp st(1)
fstp dword [edx]
inc dword [ebp - 0x44]
mov eax, dword [ebp - 0x44]
lea esi, [eax + eax]
add esi, esi
sub esi, eax
add esi, esi
add esi, esi
add esi, esi
lea eax, [esi + esi]
add eax, eax
add eax, eax
add eax, eax
add eax, eax
sub eax, esi
mov edx, 1
mov edi, 3
add eax, dword [ebp - 0x78]
mov cl, byte [ebp - 0x98]
test cl, cl
mov dword [eax + 0x4978], edx
mov byte [eax + 0x4b97], dl
mov byte [eax + 0x4b98], dl
mov word [eax + 0x48b8], di
mov dword [eax + 0x48bc], 0x3daaaaab
je 0x5f2d5f
mov edx, 1
mov dword [eax + 0x4c60], edx
mov byte [eax + 0x4e7f], dl
mov byte [eax + 0x4e80], 8
mov word [eax + 0x4ba0], dx
mov dword [eax + 0x4ba4], 0x3f800000
mov edi, 0x9ee0a0
mov ecx, 0x9ee0a0
mov eax, 0xa31c04
mov esi, 0xa12990
mov edx, dword [ebp - 0x94]
cmp edx, 0
cmovne edi, eax
mov eax, 0
mov dword [ebp - 0x70], edi
cmovne ecx, esi
mov dword [ebp - 0x74], ecx
mov dword [ebp - 0x44], eax
mov eax, 0
lea edx, [eax + eax]
mov ecx, dword [ebp + edx*8 - 0x498]
mov edi, dword [ebp - 0x44]
lea esi, [edi + 1]
test ecx, ecx
mov edx, esi
jne 0x5f2dad
mov edx, edi
inc eax
cmp eax, 5
mov dword [ebp - 0x44], edx
jl 0x5f2d95
mov eax, edx
test eax, eax
jle 0x5f2ef7
lea eax, [ebp - 0x3c8]
mov edi, dword [ebp - 0x70]
mov dword [ebp - 0x74], eax
xor eax, eax
mov dh, byte [edi]
mov ecx, edi
test dh, dh
je 0x5f2dde
inc ecx
inc eax
mov dl, byte [ecx]
test dl, dl
jne 0x5f2dd6
mov ecx, 0xa31c10
mov edx, 0xa31c14
cmp eax, 0
lea esi, [ebp - 0x3c8]
cmova edx, ecx
push edx
push 0x9f5b18
push esi
call fcn.0089882d
add esp, 0xc
xor eax, eax
xor esi, esi
mov dword [ebp - 0x48], eax
lea eax, [esi + esi]
lea edx, [eax + eax]
add edx, edx
add edx, edx
mov ecx, dword [ebp + edx - 0x498]
test ecx, ecx
je 0x5f2eed
inc dword [ebp - 0x48]
mov edx, dword [ebp + eax*8 - 0x490]
cmp edx, 1
je 0x5f2e68
cmp edx, 2
jne 0x5f2e4d
lea eax, [ebp - 0x2c8]
push 0xa24ee4
push eax
call fcn.0089882d
add esp, 8
jmp 0x5f2e83
cmp edx, 3
jne 0x5f2e83
lea eax, [ebp - 0x2c8]
push 0xa31c20
push eax
call fcn.0089882d
add esp, 8
jmp 0x5f2e83
lea edx, [ebp - 0x2c8]
push dword [ebp + eax*8 - 0x48c]
push 0xa31c18
push edx
call fcn.0089882d
add esp, 0xc
lea edi, [ebp - 0x3c8]
lea edx, [ebp - 0x2c8]
mov ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
dec edi
mov al, byte [edx]
inc edx
mov byte [edi], al
inc edi
test al, al
jne 0x5f2e99
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
cmp eax, edx
jne 0x5f2ece
lea edi, [ebp - 0x3c8]
mov edx, 0xa12990
mov ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
dec edi
mov al, byte [edx]
inc edx
mov byte [edi], al
inc edi
test al, al
jne 0x5f2ec2
jmp 0x5f2eed
lea edi, [ebp - 0x3c8]
mov edx, 0xa31c10
mov ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
dec edi
mov al, byte [edx]
inc edx
mov byte [edi], al
inc edi
test al, al
jne 0x5f2ee3
inc esi
cmp esi, 5
jl 0x5f2e0a
mov edx, dword [ebp - 0x78]
mov ecx, dword [edx + 0xa668]
mov esi, 0x9ee0a0
mov eax, 0xa31c28
cmp ecx, 0
mov edi, dword [ebp - 0x74]
cmovge edi, esi
mov ecx, dword [ebp - 0x70]
mov dword [ebp - 0x74], edi
cmovge ecx, eax
mov dword [ebp - 0x70], ecx
mov ecx, dword [ebp - 0x50]
push edx
call fcn.0057cee8
mov edx, dword [ebp - 0x78]
lea edi, [edx + 8]
inc eax
mov ecx, dword [ebp - 0x74]
mov esi, dword [ebp - 0x70]
push ecx
push esi
push eax
push 0xa31c40
push edi
call fcn.00406768
add esp, 0x14
lea ecx, [ebp - 0x5ec]
call fcn.004e2e74
movzx eax, al
test eax, eax
jne 0x5f2f65
mov eax, dword [ebp - 0x78]
mov dword [eax + 0xa624], 3
mov eax, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x50]
push eax
call fcn.0061c494
mov esi, eax
test esi, esi
jl 0x5f397a
mov edx, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x50]
push edx
call fcn.0057cee8
push eax
mov ecx, dword [ebp - 0x50]
call fcn.0057d208
mov edx, dword [ebp - 0x50]
mov eax, dword [edx + esi*4 + 0x4000]
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x50]
push eax
call fcn.0057cee8
push eax
mov ecx, dword [ebp - 0x50]
call fcn.0057c994
mov dword [ebp - 0x74], eax
lea ecx, [eax + 0x1b8]
call fcn.005f8e38
mov eax, dword [ebp - 0x40]
mov edx, dword [eax + 0x98]
mov ecx, dword [ebp - 0x4c]
call dword [edx + 0xc]
mov esi, dword [eax]
mov edx, dword [ebp - 0x3c]
mov ecx, eax
push edx
call dword [esi + 0x34]
lea ecx, [eax + 0x20]
mov eax, dword [eax + 0x20]
call dword [eax + 0xc]
mov eax, dword [eax + 0x10]
test eax, eax
je 0x5f30a9
and dword [ebp - 0xbc], 0xff000000
mov eax, dword [ebp - 0x40]
mov edx, dword [eax + 0x98]
mov dword [ebp - 0x254], 0x3f800000
mov ecx, dword [ebp - 0x4c]
call dword [edx + 0xc]
mov esi, dword [eax]
mov edx, dword [ebp - 0x3c]
mov ecx, eax
push edx
call dword [esi + 0x34]
lea ecx, [eax + 0x40]
mov eax, dword [eax + 0x40]
call dword [eax + 0xc]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x40]
mov esi, dword [edx + 0x98]
mov dword [ebp - 0x70], eax
mov ecx, dword [ebp - 0x4c]
call dword [esi + 0xc]
mov esi, dword [eax]
mov edx, dword [ebp - 0x3c]
mov ecx, eax
push edx
call dword [esi + 0x34]
lea ecx, [eax + 0x40]
mov eax, dword [eax + 0x40]
call dword [eax + 0xc]
mov ecx, dword [eax + 0xc]
mov esi, dword [ebp - 0xbc]
or esi, 0x300
mov dword [ebp - 0xbc], esi
mov eax, dword [ebp - 0x70]
mov edx, dword [ebp - 0x74]
mov dword [edx + 0x1b8], eax
mov edi, dword [ebp - 0x254]
cmp eax, 0
mov dword [edx + 0x1bc], ecx
mov ecx, 0
mov dword [edx + 0x1c0], 0
mov dword [edx + 0x1c4], esi
mov dword [edx + 0x1c8], edi
cmovl ecx, eax
mov dword [edx + 0x1cc], ecx
mov byte [edx + 0x1c6], 1
mov eax, dword [ebp - 0x7c]
mov edx, dword [eax + 0x7dc]
mov ecx, dword [ebp - 0x8c]
call dword [edx + 0xc]
lea ecx, [eax + 0xcc]
mov eax, dword [eax + 0xcc]
call dword [eax + 0xc]
mov esi, dword [eax]
mov edx, dword [ebp - 0x54]
mov ecx, eax
push edx
call dword [esi + 0x34]
lea ecx, [ebp - 0x560]
add eax, 0x10
push eax
call fcn.004061ec
lea ecx, [ebp - 0x24c]
call fcn.0041cbf8
mov dword [ebp - 4], 0x14
lea ecx, [ebp - 0x55c]
lea edi, [ebp - 0x654]
lea esi, [ebp - 0x560]
lea edx, [ebp - 0x24c]
mov eax, dword [ebp - 0x54]
push 0xffffffffffffffff
push eax
push edx
push esi
push edi
call fcn.004e958c
mov dword [ebp - 4], 0x13
lea ecx, [ebp - 0x24c]
call fcn.00406220
push 0
call fcn.00410b40
mov dword [ebp - 0x70], eax
add esp, 4
xor eax, eax
lea ecx, [ebp - 0x5ec]
mov dword [ebp - 0x80], eax
call fcn.004e2e74
movzx eax, al
test eax, eax
je 0x5f3968
lea ecx, [ebp - 0x248]
call fcn.004e4b6c
mov dword [ebp - 4], 0x15
mov ecx, 1
mov eax, dword [ebp - 0xb4]
test eax, eax
je 0x5f3191
mov eax, dword [ebp - 0x638]
mov ecx, dword [ebp - 0x54]
movzx edx, byte [ecx + eax]
mov esi, 1
xor ecx, ecx
cmp edx, 0
cmove ecx, esi
lea esi, [ebp - 0x55c]
lea edx, [ebp - 0x248]
lea eax, [ebp - 0x544]
push ecx
mov edi, dword [ebp - 0x80]
mov ecx, dword [ebp - 0xb0]
push edi
push ecx
push 1
mov ecx, dword [ebp - 0x74]
push eax
mov eax, dword [ebp - 0x70]
push 0
push eax
mov eax, dword [ebp - 0xb8]
push eax
push edx
push esi
call fcn.00525aac
mov esi, eax
test esi, esi
je 0x5f3235
mov edx, dword [ebp - 0x74]
mov ecx, dword [ebp - 0x50]
push edx
call fcn.0057ceb4
push eax
mov ecx, dword [ebp - 0x50]
call fcn.0057cf20
cmp esi, 4
je 0x5f3510
mov dword [ebp - 4], 0x13
lea eax, [ebp - 0x248]
mov dword [ebp - 0x770], eax
mov dword [ebp - 4], 0x20
mov dword [ebp - 4], 0x13
mov edi, dword [ebp - 0x244]
mov esi, dword [ebp - 0x240]
cmp edi, esi
je 0x5f34f0
mov ecx, edi
call fcn.00411784
add edi, 0x10
cmp edi, esi
jne 0x5f3222
jmp 0x5f34ea
xor eax, eax
lea ecx, [ebp - 0x238]
mov dword [ebp - 0xb0], eax
call fcn.0041cbf8
mov dword [ebp - 4], 0x16
lea ecx, [ebp - 0x55c]
lea eax, [ebp - 0x234]
push eax
call fcn.004e4df4
mov dword [ebp - 4], 0x17
lea ecx, [ebp - 0x234]
lea eax, [ebp - 0x224]
push 0
push eax
call fcn.004e5490
mov dword [ebp - 4], 0x18
lea eax, [ebp - 0x238]
push dword [ebp - 0x224]
push 0xa0947c
push eax
call fcn.00406768
add esp, 0xc
mov dword [ebp - 4], 0x17
lea ecx, [ebp - 0x224]
call fcn.00406220
mov dword [ebp - 4], 0x16
lea ecx, [ebp - 0x234]
call fcn.0040b540
mov eax, dword [ebp - 0x238]
add esp, 0xffffffec
lea ecx, [ebp - 0x544]
mov dword [esp], eax
movss xmm0, dword [ebp - 0x68]
movss dword [esp + 4], xmm0
mov dword [esp + 8], 0
mov byte [esp + 0xc], 1
mov dword [esp + 0x10], 0xa31c50
call fcn.00565d60
movzx esi, al
mov edi, 1
cmp esi, 0
mov eax, dword [ebp - 0xc4]
cmovne eax, edi
mov dword [ebp - 0xc4], eax
movzx edx, al
test edx, edx
mov dword [ebp - 0xc0], edx
jne 0x5f393f
mov edi, dword [ebp - 0x40]
mov al, byte [edi]
mov esi, dword [ebp - 0x74]
mov byte [esi + 0x29a], al
mov dl, byte [edi + 4]
mov eax, dword [ebp - 0x6c]
mov byte [esi + 0x29b], dl
mov al, byte [eax]
mov ecx, dword [ebp - 0x4c]
mov byte [esi + 0x298], al
mov eax, dword [ebp - 0x64]
mov al, byte [eax]
mov byte [esi + 0x299], al
mov eax, dword [edi + 0x98]
call dword [eax + 0xc]
mov esi, dword [eax]
mov edx, dword [ebp - 0x3c]
mov ecx, eax
push edx
call dword [esi + 0x34]
lea ecx, [eax + 0x20]
mov eax, dword [eax + 0x20]
call dword [eax + 0xc]
mov al, byte [eax + 4]
mov ecx, dword [ebp - 0x74]
mov byte [ecx + 0x2a0], al
call fcn.00524364
mov eax, edi
mov edx, dword [eax + 0x98]
mov ecx, dword [ebp - 0x4c]
call dword [edx + 0xc]
mov esi, dword [eax]
mov edx, dword [ebp - 0x3c]
mov ecx, eax
push edx
call dword [esi + 0x34]
lea ecx, [eax + 0x20]
mov eax, dword [eax + 0x20]
call dword [eax + 0xc]
add esp, 0xfffffff0
movsx eax, word [eax + 8]
fld qword [0xa30680]
fstp qword [esp]
mov dword [ebp - 0xf8], eax
fild dword [ebp - 0xf8]
fmul qword [0xa30678]
fstp qword [esp + 8]
call fcn.0088b9f8
add esp, 0x10
mov eax, dword [ebp - 0x74]
fstp dword [eax + 0x2ac]
mov edx, edi
mov esi, dword [edx + 0x98]
mov ecx, dword [ebp - 0x4c]
call dword [esi + 0xc]
mov esi, dword [eax]
mov edx, dword [ebp - 0x3c]
mov ecx, eax
push edx
call dword [esi + 0x34]
lea ecx, [eax + 0x20]
mov eax, dword [eax + 0x20]
call dword [eax + 0xc]
mov eax, dword [eax + 0xc]
cmp eax, 0x80000000
jne 0x5f3415
mov eax, dword [ebp - 0x74]
mov dword [eax + 0x2a4], 0
jmp 0x5f3469
mov eax, edi
mov edx, dword [eax + 0x98]
mov ecx, dword [ebp - 0x4c]
call dword [edx + 0xc]
mov esi, dword [eax]
mov edx, dword [ebp - 0x3c]
mov ecx, eax
push edx
call dword [esi + 0x34]
lea ecx, [eax + 0x20]
mov eax, dword [eax + 0x20]
call dword [eax + 0xc]
fild dword [eax + 0xc]
add esp, 0xfffffff0
fmul qword [0xa30670]
fchs
fld qword [0xa30680]
fstp qword [esp]
fmul qword [0xa30688]
fstp qword [esp + 8]
call fcn.0088b9f8
add esp, 0x10
mov eax, dword [ebp - 0x74]
fstp dword [eax + 0x2a4]
mov eax, edi
mov edx, dword [eax + 0x98]
mov ecx, dword [ebp - 0x4c]
call dword [edx + 0xc]
mov esi, dword [eax]
mov edx, dword [ebp - 0x3c]
mov ecx, eax
push edx
call dword [esi + 0x34]
lea ecx, [eax + 0x20]
mov eax, dword [eax + 0x20]
call dword [eax + 0xc]
mov edi, dword [eax + 0x38]
mov esi, edi
neg esi
add esi, 0x3f
cmp edi, 0x3f
mov al, 0
cmovg edi, esi
add edi, 0x40
mov dword [ebp - 0xf8], edi
mov edi, dword [ebp - 0x74]
fild dword [ebp - 0xf8]
fmul qword [0xa30668]
fstp dword [edi + 0x2a8]
mov byte [ebp - 0x44], al
push 1
mov ecx, dword [ebp - 0x50]
push edi
call fcn.0057d29c
mov esi, eax
test esi, esi
je 0x5f353d
mov dl, 1
mov ecx, dword [ebp - 0x50]
mov byte [ebp - 0x44], dl
push edi
call fcn.0057ceb4
push eax
mov ecx, dword [ebp - 0x50]
call fcn.0057cf20
mov edi, esi
jmp 0x5f34be
mov edi, dword [ebp - 0x244]
push edi
call fcn.00888fb0
pop ecx
xor eax, eax
mov dword [ebp - 0x244], eax
mov dword [ebp - 0x240], eax
mov dword [ebp - 0x23c], eax
jmp 0x5f1e5c
mov eax, 1
mov dword [ebp - 0xc4], eax
mov dword [ebp - 4], 0x13
lea ecx, [ebp - 0x248]
call fcn.0040b540
mov eax, 1
mov dword [ebp - 0xc0], eax
jmp 0x5f1e6e
mov al, byte [ebp - 0x44]
test al, al
je 0x5f356d
mov dword [ebp - 4], 0x15
lea ecx, [ebp - 0x238]
call fcn.00406220
mov dword [ebp - 4], 0x13
lea ecx, [ebp - 0x248]
call fcn.0040b540
jmp 0x5f1e5c
mov eax, 1
mov edx, dword [ebp - 0xb4]
test edx, edx
mov dword [ebp - 0x6c], eax
je 0x5f359c
mov edx, dword [ebp - 0x638]
mov eax, dword [ebp - 0x54]
movzx ecx, byte [eax + edx]
mov edi, 1
xor esi, esi
cmp ecx, 0
cmove esi, edi
mov dword [ebp - 0x6c], esi
lea ecx, [ebp - 0x5ec]
call fcn.004e2e74
movzx eax, al
test eax, eax
jne 0x5f38ab
mov eax, dword [ebp - 0x6c]
test eax, eax
je 0x5f38ab
mov eax, dword [ebp - 0x74]
mov edx, dword [eax + 0x4c]
mov ecx, dword [edx + 0x550]
test ecx, ecx
je 0x5f38ab
mov eax, dword [ebp - 0x7c]
mov edx, dword [eax + 0x7dc]
mov ecx, dword [ebp - 0x8c]
call dword [edx + 0xc]
lea ecx, [eax + 0xcc]
mov eax, dword [eax + 0xcc]
call dword [eax + 0xc]
mov edx, dword [ebp - 0x54]
push edx
push eax
call fcn.005f8f90
mov dword [ebp - 0xe8], eax
add esp, 8
lea ecx, [ebp - 0x220]
call fcn.004e4b6c
mov dword [ebp - 4], 0x19
mov eax, dword [ebp - 0xe8]
test eax, eax
jle 0x5f38c2
mov eax, dword [ebp - 0x74]
mov ecx, dword [eax + 0x4c]
add ecx, 0x748
lea edx, [ebp - 0x1fc]
push edx
call fcn.004e4df4
mov dword [ebp - 4], 0x1c
lea ecx, [ebp - 0x1fc]
lea eax, [ebp - 0x1ec]
push 0
push eax
call fcn.004e5490
mov dword [ebp - 4], 0x1d
lea edx, [ebp - 0x560]
mov eax, dword [ebp - 0xe8]
push eax
push dword [ebp - 0x1ec]
push 0xa31c64
push edx
call fcn.00406768
add esp, 0x10
mov dword [ebp - 4], 0x1c
lea ecx, [ebp - 0x1ec]
call fcn.00406220
mov dword [ebp - 4], 0x19
lea ecx, [ebp - 0x1fc]
call fcn.0040b540
lea ecx, [ebp - 0x560]
push 1
call fcn.004062e8
lea ecx, [ebp - 0x1e8]
call fcn.004e4b6c
mov dword [ebp - 4], 0x1e
lea ecx, [ebp - 0x1e8]
lea eax, [ebp - 0x5dc]
push eax
call fcn.004e2d98
lea ecx, [ebp - 0x1d8]
lea eax, [ebp - 0x560]
push 0
push eax
call fcn.004e2e90
mov dword [ebp - 4], 0x1f
lea ecx, [ebp - 0x1e8]
lea eax, [ebp - 0x1d8]
push eax
call fcn.004e3380
mov dword [ebp - 4], 0x1e
lea ecx, [ebp - 0x1d8]
call fcn.0040b540
add esp, 0xfffffff8
mov ecx, esp
push 0x9f3274
call fcn.004061ac
lea ecx, [ebp - 0x1e8]
mov dword [esp + 4], 0xffffffff
call fcn.004e5ef4
lea edx, [ebp - 0x1e8]
xor eax, eax
mov esi, dword [ebp - 0x74]
push eax
mov ecx, dword [esi + 0x4c]
push eax
push eax
push edx
call fcn.004cbab8
mov eax, dword [ebp - 0xb4]
test eax, eax
je 0x5f3764
mov edx, dword [ebp - 0x638]
mov eax, dword [ebp - 0x54]
mov byte [eax + edx], 1
mov eax, esi
mov edx, dword [eax + 0x4c]
lea ecx, [edx + 0x6c]
mov dword [ebp - 0xe8], edx
mov esi, dword [edx + 0x6c]
call dword [esi + 0x24]
xor eax, eax
mov edx, dword [ebp - 0xe8]
lea ecx, [edx + 0xac]
mov dword [edx + 0x68], eax
mov esi, dword [edx + 0xac]
mov dword [edx + 0x80], eax
mov dword [edx + 0x84], eax
call dword [esi + 0x24]
xor eax, eax
mov edx, dword [ebp - 0xe8]
lea ecx, [edx + 0xec]
mov dword [edx + 0xa8], eax
mov esi, dword [edx + 0xec]
mov dword [edx + 0xc0], eax
mov dword [edx + 0xc4], eax
call dword [esi + 0x24]
xor eax, eax
mov edx, dword [ebp - 0xe8]
lea ecx, [edx + 0x12c]
mov dword [edx + 0xe8], eax
mov esi, dword [edx + 0x12c]
mov dword [edx + 0x100], eax
mov dword [edx + 0x104], eax
call dword [esi + 0x24]
xor eax, eax
mov edx, dword [ebp - 0xe8]
lea ecx, [edx + 0x16c]
mov dword [edx + 0x128], eax
mov esi, dword [edx + 0x16c]
mov dword [edx + 0x140], eax
mov dword [edx + 0x144], eax
call dword [esi + 0x24]
xor eax, eax
mov edx, dword [ebp - 0xe8]
lea ecx, [edx + 0x1ac]
mov dword [edx + 0x168], eax
mov esi, dword [edx + 0x1ac]
mov dword [edx + 0x180], eax
mov dword [edx + 0x184], eax
call dword [esi + 0x24]
xor eax, eax
mov edx, dword [ebp - 0xe8]
mov ecx, dword [ebp - 0x78]
mov dword [edx + 0x1a8], eax
mov dword [edx + 0x1c0], eax
mov dword [edx + 0x1c4], eax
mov dword [edx + 0x550], eax
mov dword [edx + 0x76c], eax
mov dword [edx + 0x770], eax
fld qword [0xa30660]
fstp qword [edx + 0x760]
mov dword [ecx + 0xa624], 3
mov dword [ebp - 4], 0x19
lea ecx, [ebp - 0x1e8]
call fcn.0040b540
mov dword [ebp - 4], 0x16
lea ecx, [ebp - 0x220]
call fcn.0040b540
mov dword [ebp - 4], 0x15
lea ecx, [ebp - 0x238]
call fcn.00406220
jmp 0x5f31ed
mov eax, dword [ebp - 0x74]
mov ecx, dword [eax + 0x4c]
add ecx, 0x748
lea edx, [ebp - 0x210]
push edx
call fcn.004e4df4
mov dword [ebp - 4], 0x1a
lea ecx, [ebp - 0x210]
lea eax, [ebp - 0x200]
push 0
push eax
call fcn.004e5490
mov dword [ebp - 4], 0x1b
lea eax, [ebp - 0x560]
push dword [ebp - 0x200]
push 0x9f5b18
push eax
call fcn.00406768
add esp, 0xc
mov dword [ebp - 4], 0x1a
lea ecx, [ebp - 0x200]
call fcn.00406220
mov dword [ebp - 4], 0x19
lea ecx, [ebp - 0x210]
call fcn.0040b540
jmp 0x5f36a4
mov dword [ebp - 4], 0x15
lea ecx, [ebp - 0x238]
call fcn.00406220
mov dword [ebp - 4], 0x13
lea ecx, [ebp - 0x248]
call fcn.0040b540
jmp 0x5f1e6e
xor eax, eax
mov dword [ebp - 0x70], eax
call fcn.00410b5c
mov dword [ebp - 0x80], eax
jmp 0x5f3156
mov ecx, dword [ebp - 0x78]
call fcn.005f8d84
mov ecx, dword [ebp - 0x78]
call fcn.00595df4
jmp 0x5f2f9d
mov eax, dword [ebp - 0x78]
mov edx, dword [eax + 0xa5b8]
test edx, edx
je 0x5f2838
jmp 0x5f2697
fld qword [ebp - 0x28]
fcomp dword [0xa30704]
fnstsw ax
sahf
jae 0x5f2737
mov eax, dword [ebp - 0x70]
mov dword [eax + 0x6f8], 0
jmp 0x5f2737
mov eax, edi
mov edx, dword [eax + 0x98]
mov ecx, dword [ebp - 0x4c]
call dword [edx + 0xc]
mov esi, dword [eax]
mov edx, dword [ebp - 0x3c]
mov ecx, eax
push edx
call dword [esi + 0x34]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
lea ecx, [eax + 0x48]
mov eax, dword [eax + 0x48]
call dword [eax + 0xc]
mov eax, dword [eax + 8]
test eax, eax
je 0x5f3a0b
mov eax, dword [ebp - 0x78]
mov dword [eax + 0xa5b8], 6
jmp 0x5f2695
mov eax, dword [ebp - 0x78]
mov dword [eax + 0xa5b8], 3
jmp 0x5f2695
xor edx, edx
test eax, eax
mov dword [ebp - 0x54], edx
jle 0x5f1ed8
mov esi, 1
xor ecx, ecx
mov edx, dword [ebp - 0xb4]
cmp edx, 0
mov edi, dword [ebp - 0x7c]
cmove ecx, esi
lea edx, [edi + 0x40]
mov dword [ebp - 0xc8], ecx
mov dword [ebp - 0xcc], edx
mov esi, dword [ebp - 0x54]
lea edi, [esi + esi]
add edi, edi
add edi, dword [ebp - 0x50]
mov edx, dword [edi]
mov edx, dword [edx + 0x4c]
mov dword [ebp - 0x60], edi
mov cl, byte [edx + 0x784]
test cl, cl
je 0x5f3a7c
mov edx, dword [ebp - 0x54]
inc edx
cmp edx, eax
mov dword [ebp - 0x54], edx
jl 0x5f3a4f
jmp 0x5f1ed8
mov byte [edx + 0x784], 1
mov eax, edi
mov edx, dword [eax]
mov ecx, dword [edx + 0x4c]
add ecx, 0x748
call fcn.004e450c
mov dword [ebp - 0x74], eax
mov eax, dword [ebp - 0x7c]
mov edx, dword [eax + 0x7dc]
mov ecx, dword [ebp - 0x8c]
call dword [edx + 0xc]
lea ecx, [eax + 0xcc]
mov eax, dword [eax + 0xcc]
call dword [eax + 0xc]
mov edx, dword [ebp - 0x74]
push edx
push eax
call fcn.005f8f90
mov dword [ebp - 0x84], eax
add esp, 8
lea ecx, [ebp - 0x1c4]
call fcn.004e4b6c
mov dword [ebp - 4], 0x21
mov eax, dword [ebp - 0x84]
test eax, eax
jle 0x5f3ea1
mov eax, edi
mov edx, dword [eax]
mov ecx, dword [edx + 0x4c]
add ecx, 0x748
lea esi, [ebp - 0x1a0]
push esi
call fcn.004e4df4
mov dword [ebp - 4], 0x27
lea ecx, [ebp - 0x1a0]
lea eax, [ebp - 0x190]
push 0
push eax
call fcn.004e5490
mov dword [ebp - 4], 0x28
lea edx, [ebp - 0x560]
mov eax, dword [ebp - 0x84]
push eax
push dword [ebp - 0x190]
push 0xa31c64
push edx
call fcn.00406768
add esp, 0x10
mov dword [ebp - 4], 0x27
lea ecx, [ebp - 0x190]
call fcn.00406220
mov dword [ebp - 4], 0x21
lea eax, [ebp - 0x1a0]
mov dword [ebp - 0x758], eax
mov dword [ebp - 4], 0x29
mov dword [ebp - 4], 0x21
mov eax, dword [ebp - 0x19c]
mov edx, dword [ebp - 0x198]
cmp eax, edx
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x44], edx
je 0x5f3bdb
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x750], eax
mov dword [ebp - 4], 0x2a
mov dword [ebp - 4], 0x2b
mov dword [ebp - 4], 0x2a
lea ecx, [eax + 0xc]
call fcn.00406220
mov eax, dword [ebp - 0x40]
lea ecx, [eax + 8]
call fcn.00406220
mov eax, dword [ebp - 0x40]
add eax, 0x10
mov edx, dword [ebp - 0x44]
mov dword [ebp - 0x40], eax
cmp eax, edx
jne 0x5f3b91
mov eax, dword [ebp - 0x19c]
mov dword [ebp - 0x40], eax
push eax
call fcn.00888fb0
pop ecx
xor eax, eax
mov dword [ebp - 0x19c], eax
mov dword [ebp - 0x198], eax
mov dword [ebp - 0x194], eax
lea ecx, [ebp - 0x560]
push 1
call fcn.004062e8
lea ecx, [ebp - 0x18c]
call fcn.004e4b6c
mov dword [ebp - 4], 0x2c
lea ecx, [ebp - 0x18c]
lea eax, [ebp - 0x5dc]
push eax
call fcn.004e2d98
lea ecx, [ebp - 0x17c]
lea eax, [ebp - 0x560]
push 0
push eax
call fcn.004e2e90
mov dword [ebp - 4], 0x2d
lea ecx, [ebp - 0x18c]
lea eax, [ebp - 0x17c]
push eax
call fcn.004e3380
mov dword [ebp - 4], 0x2c
lea eax, [ebp - 0x17c]
mov dword [ebp - 0x748], eax
mov dword [ebp - 4], 0x2e
mov dword [ebp - 4], 0x2c
mov eax, dword [ebp - 0x178]
mov edx, dword [ebp - 0x174]
cmp eax, edx
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x44], edx
je 0x5f3cd5
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x740], eax
mov dword [ebp - 4], 0x2f
mov dword [ebp - 4], 0x30
mov dword [ebp - 4], 0x2f
lea ecx, [eax + 0xc]
call fcn.00406220
mov eax, dword [ebp - 0x40]
lea ecx, [eax + 8]
call fcn.00406220
mov eax, dword [ebp - 0x40]
add eax, 0x10
mov edx, dword [ebp - 0x44]
mov dword [ebp - 0x40], eax
cmp eax, edx
jne 0x5f3c8b
mov eax, dword [ebp - 0x178]
mov dword [ebp - 0x40], eax
push eax
call fcn.00888fb0
pop ecx
xor eax, eax
add esp, 0xfffffff8
mov ecx, esp
mov dword [ebp - 0x178], eax
mov dword [ebp - 0x174], eax
mov dword [ebp - 0x170], eax
push 0x9f3274
call fcn.004061ac
lea ecx, [ebp - 0x18c]
mov dword [esp + 4], 0xffffffff
call fcn.004e5ef4
mov eax, dword [ebp - 0x60]
mov esi, dword [eax]
call fcn.00410b5c
mov edx, dword [esi + 0x4c]
mov edi, dword [ebp - 0xe4]
mov dword [edx + 0x14], eax
mov eax, dword [ebp - 0x60]
mov esi, dword [eax]
mov ecx, dword [esi + 0x4c]
mov dword [ecx + 0x10], edi
mov edx, dword [eax]
mov ecx, dword [edx + 0x4c]
mov edx, dword [ebp - 0xcc]
mov dword [ecx + 0xc], edx
mov ecx, dword [eax]
lea edx, [ebp - 0x18c]
push 0
mov eax, dword [ebp - 0xc8]
mov ecx, dword [ecx + 0x4c]
push eax
push edx
call fcn.004ccb10
mov dword [ebp - 4], 0x21
lea eax, [ebp - 0x18c]
mov dword [ebp - 0x738], eax
mov dword [ebp - 4], 0x31
mov dword [ebp - 4], 0x21
mov eax, dword [ebp - 0x188]
mov edx, dword [ebp - 0x184]
cmp eax, edx
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x44], edx
je 0x5f3ddc
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x730], eax
mov dword [ebp - 4], 0x32
mov dword [ebp - 4], 0x33
mov dword [ebp - 4], 0x32
lea ecx, [eax + 0xc]
call fcn.00406220
mov eax, dword [ebp - 0x40]
lea ecx, [eax + 8]
call fcn.00406220
mov eax, dword [ebp - 0x40]
add eax, 0x10
mov edx, dword [ebp - 0x44]
mov dword [ebp - 0x40], eax
cmp eax, edx
jne 0x5f3d92
mov eax, dword [ebp - 0x188]
mov dword [ebp - 0x40], eax
push eax
call fcn.00888fb0
pop ecx
xor eax, eax
mov dword [ebp - 0x188], eax
mov dword [ebp - 0x184], eax
mov dword [ebp - 0x180], eax
mov dword [ebp - 4], 0x13
lea eax, [ebp - 0x1c4]
mov dword [ebp - 0x728], eax
mov dword [ebp - 4], 0x34
mov dword [ebp - 4], 0x13
mov eax, dword [ebp - 0x1c0]
mov edx, dword [ebp - 0x1bc]
cmp eax, edx
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x44], edx
je 0x5f3e78
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x720], eax
mov dword [ebp - 4], 0x35
mov dword [ebp - 4], 0x36
mov dword [ebp - 4], 0x35
lea ecx, [eax + 0xc]
call fcn.00406220
mov eax, dword [ebp - 0x40]
lea ecx, [eax + 8]
call fcn.00406220
mov eax, dword [ebp - 0x40]
add eax, 0x10
mov edx, dword [ebp - 0x44]
mov dword [ebp - 0x40], eax
cmp eax, edx
jne 0x5f3e2e
mov eax, dword [ebp - 0x1c0]
mov dword [ebp - 0x40], eax
push eax
call fcn.00888fb0
pop ecx
xor eax, eax
mov edx, dword [ebp - 0x50]
mov dword [ebp - 0x1c0], eax
mov dword [ebp - 0x1bc], eax
mov dword [ebp - 0x1b8], eax
mov eax, dword [edx + 0x8004]
jmp 0x5f3a6c
mov eax, edi
mov edx, dword [eax]
mov ecx, dword [edx + 0x4c]
add ecx, 0x748
lea esi, [ebp - 0x1b4]
push esi
call fcn.004e4df4
mov dword [ebp - 4], 0x22
lea ecx, [ebp - 0x1b4]
lea eax, [ebp - 0x1a4]
push 0
push eax
call fcn.004e5490
mov dword [ebp - 4], 0x23
lea eax, [ebp - 0x560]
push dword [ebp - 0x1a4]
push 0x9f5b18
push eax
call fcn.00406768
add esp, 0xc
mov dword [ebp - 4], 0x22
lea ecx, [ebp - 0x1a4]
call fcn.00406220
mov dword [ebp - 4], 0x21
lea eax, [ebp - 0x1b4]
mov dword [ebp - 0x768], eax
mov dword [ebp - 4], 0x24
mov dword [ebp - 4], 0x21
mov eax, dword [ebp - 0x1b0]
mov edx, dword [ebp - 0x1ac]
cmp eax, edx
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x58], edx
je 0x5f3f89
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x760], eax
mov dword [ebp - 4], 0x25
mov dword [ebp - 4], 0x26
mov dword [ebp - 4], 0x25
lea ecx, [eax + 0xc]
call fcn.00406220
mov eax, dword [ebp - 0x44]
lea ecx, [eax + 8]
call fcn.00406220
mov eax, dword [ebp - 0x44]
add eax, 0x10
mov edx, dword [ebp - 0x58]
mov dword [ebp - 0x44], eax
cmp eax, edx
jne 0x5f3f3f
mov eax, dword [ebp - 0x1b0]
mov dword [ebp - 0x44], eax
push eax
call fcn.00888fb0
pop ecx
xor eax, eax
mov dword [ebp - 0x1b0], eax
mov dword [ebp - 0x1ac], eax
mov dword [ebp - 0x1a8], eax
jmp 0x5f3bf6
mov eax, dword [ebp - 0x154]
mov dword [ebp - 0x48], eax
push eax
call fcn.00888fb0
pop ecx
xor eax, eax
mov dword [ebp - 0x154], eax
mov dword [ebp - 0x150], eax
mov dword [ebp - 0x14c], eax
mov dword [ebp - 4], 0x13
lea eax, [ebp - 0x168]
mov dword [ebp - 0x6a8], eax
mov dword [ebp - 4], 0x4d
mov dword [ebp - 4], 0x13
mov eax, dword [ebp - 0x164]
mov edx, dword [ebp - 0x160]
cmp eax, edx
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x58], edx
je 0x5f404e
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x6a0], eax
mov dword [ebp - 4], 0x4e
mov dword [ebp - 4], 0x4f
mov dword [ebp - 4], 0x4e
lea ecx, [eax + 0xc]
call fcn.00406220
mov eax, dword [ebp - 0x48]
lea ecx, [eax + 8]
call fcn.00406220
mov eax, dword [ebp - 0x48]
add eax, 0x10
mov edx, dword [ebp - 0x58]
mov dword [ebp - 0x48], eax
cmp eax, edx
jne 0x5f4004
mov eax, dword [ebp - 0x164]
mov dword [ebp - 0x48], eax
push eax
call fcn.00888fb0
pop ecx
xor eax, eax
mov dword [ebp - 0x164], eax
mov dword [ebp - 0x160], eax
mov dword [ebp - 0x15c], eax
jmp 0x5f21d0
mov eax, dword [ebp - 0x558]
mov dword [ebp - 0x44], eax
push eax
call fcn.00888fb0
pop ecx
xor eax, eax
mov dword [ebp - 0x558], eax
mov dword [ebp - 0x554], eax
mov dword [ebp - 0x550], eax
mov dword [ebp - 4], 7
lea ecx, [ebp - 0x560]
call fcn.00406220
mov eax, dword [ebp - 0xdc]
inc eax
mov edx, dword [ebp - 0xe0]
mov dword [ebp - 0xdc], eax
cmp eax, edx
jle 0x5f164d
mov dword [ebp - 4], 6
lea ecx, [ebp - 0x5cc]
call fcn.00406220
mov dword [ebp - 4], 5
lea eax, [ebp - 0x5dc]
mov dword [ebp - 0x688], eax
mov dword [ebp - 4], 0x53
mov dword [ebp - 4], 5
mov eax, dword [ebp - 0x5d8]
mov edx, dword [ebp - 0x5d4]
cmp eax, edx
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x48], edx
je 0x5f4152
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x680], eax
mov dword [ebp - 4], 0x54
mov dword [ebp - 4], 0x55
mov dword [ebp - 4], 0x54
lea ecx, [eax + 0xc]
call fcn.00406220
mov eax, dword [ebp - 0x44]
lea ecx, [eax + 8]
call fcn.00406220
mov eax, dword [ebp - 0x44]
add eax, 0x10
mov edx, dword [ebp - 0x48]
mov dword [ebp - 0x44], eax
cmp eax, edx
jne 0x5f4108
mov eax, dword [ebp - 0x5d8]
mov dword [ebp - 0x44], eax
push eax
call fcn.00888fb0
pop ecx
xor eax, eax
mov dword [ebp - 0x5d8], eax
mov dword [ebp - 0x5d4], eax
mov dword [ebp - 0x5d0], eax
mov dword [ebp - 4], 4
lea eax, [ebp - 0x5ec]
mov dword [ebp - 0x678], eax
mov dword [ebp - 4], 0x56
mov dword [ebp - 4], 4
mov eax, dword [ebp - 0x5e8]
mov edx, dword [ebp - 0x5e4]
cmp eax, edx
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x48], edx
je 0x5f41ee
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x670], eax
mov dword [ebp - 4], 0x57
mov dword [ebp - 4], 0x58
mov dword [ebp - 4], 0x57
lea ecx, [eax + 0xc]
call fcn.00406220
mov eax, dword [ebp - 0x44]
lea ecx, [eax + 8]
call fcn.00406220
mov eax, dword [ebp - 0x44]
add eax, 0x10
mov edx, dword [ebp - 0x48]
mov dword [ebp - 0x44], eax
cmp eax, edx
jne 0x5f41a4
mov eax, dword [ebp - 0x5e8]
mov dword [ebp - 0x44], eax
push eax
call fcn.00888fb0
pop ecx
xor eax, eax
mov dword [ebp - 0x5e8], eax
mov dword [ebp - 0x5e4], eax
mov dword [ebp - 0x5e0], eax
mov dword [ebp - 4], 3
lea ecx, [ebp - 0x634]
call fcn.0046bef8
mov dword [ebp - 4], 2
mov eax, dword [ebp - 0x638]
test eax, eax
je 0x5f4233
push eax
call fcn.00888fb0
pop ecx
mov dword [ebp - 0x638], 0
mov dword [ebp - 4], 1
lea eax, [ebp - 0x654]
mov dword [ebp - 0x668], eax
mov dword [ebp - 4], 0x59
mov dword [ebp - 4], 1
mov eax, dword [ebp - 0x650]
mov edx, dword [ebp - 0x64c]
cmp eax, edx
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x48], edx
je 0x5f42be
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x660], eax
mov dword [ebp - 4], 0x5a
mov dword [ebp - 4], 0x5b
mov dword [ebp - 4], 0x5a
lea ecx, [eax + 0xc]
call fcn.00406220
mov eax, dword [ebp - 0x44]
lea ecx, [eax + 8]
call fcn.00406220
mov eax, dword [ebp - 0x44]
add eax, 0x10
mov edx, dword [ebp - 0x48]
mov dword [ebp - 0x44], eax
cmp eax, edx
jne 0x5f4274
mov eax, dword [ebp - 0x650]
mov dword [ebp - 0x44], eax
push eax
call fcn.00888fb0
pop ecx
xor eax, eax
mov dword [ebp - 0x650], eax
mov dword [ebp - 0x64c], eax
mov dword [ebp - 0x648], eax
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x658]
call fcn.00406220
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x65c]
call fcn.00406220
xor eax, eax
mov edi, dword [ebp - 0xf0]
mov esi, dword [ebp - 0xec]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 0xc
mov eax, dword [ebp - 0x558]
mov dword [ebp - 0x44], eax
push eax
call fcn.00888fb0
pop ecx
xor eax, eax
mov dword [ebp - 0x558], eax
mov dword [ebp - 0x554], eax
mov dword [ebp - 0x550], eax
mov dword [ebp - 4], 7
lea ecx, [ebp - 0x560]
call fcn.00406220
mov dword [ebp - 4], 6
lea ecx, [ebp - 0x5cc]
call fcn.00406220
mov dword [ebp - 4], 5
lea eax, [ebp - 0x5dc]
mov dword [ebp - 0x708], eax
mov dword [ebp - 4], 0x3a
mov dword [ebp - 4], 5
mov eax, dword [ebp - 0x5d8]
mov edx, dword [ebp - 0x5d4]
cmp eax, edx
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x4c], edx
je 0x5f43e7
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x700], eax
mov dword [ebp - 4], 0x3b
mov dword [ebp - 4], 0x3c
mov dword [ebp - 4], 0x3b
lea ecx, [eax + 0xc]
call fcn.00406220
mov eax, dword [ebp - 0x44]
lea ecx, [eax + 8]
call fcn.00406220
mov eax, dword [ebp - 0x44]
add eax, 0x10
mov edx, dword [ebp - 0x4c]
mov dword [ebp - 0x44], eax
cmp eax, edx
jne 0x5f439d
mov eax, dword [ebp - 0x5d8]
mov dword [ebp - 0x44], eax
push eax
call fcn.00888fb0
pop ecx
xor eax, eax
mov dword [ebp - 0x5d8], eax
mov dword [ebp - 0x5d4], eax
mov dword [ebp - 0x5d0], eax
mov dword [ebp - 4], 4
lea eax, [ebp - 0x5ec]
mov dword [ebp - 0x6f8], eax
mov dword [ebp - 4], 0x3d
mov dword [ebp - 4], 4
mov eax, dword [ebp - 0x5e8]
mov edx, dword [ebp - 0x5e4]
cmp eax, edx
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x4c], edx
je 0x5f4483
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x6f0], eax
mov dword [ebp - 4], 0x3e
mov dword [ebp - 4], 0x3f
mov dword [ebp - 4], 0x3e
lea ecx, [eax + 0xc]
call fcn.00406220
mov eax, dword [ebp - 0x44]
lea ecx, [eax + 8]
call fcn.00406220
mov eax, dword [ebp - 0x44]
add eax, 0x10
mov edx, dword [ebp - 0x4c]
mov dword [ebp - 0x44], eax
cmp eax, edx
jne 0x5f4439
mov eax, dword [ebp - 0x5e8]
mov dword [ebp - 0x44], eax
push eax
call fcn.00888fb0
pop ecx
xor eax, eax
mov dword [ebp - 0x5e8], eax
mov dword [ebp - 0x5e4], eax
mov dword [ebp - 0x5e0], eax
mov dword [ebp - 4], 3
lea ecx, [ebp - 0x634]
call fcn.0046bef8
mov dword [ebp - 4], 2
mov eax, dword [ebp - 0x638]
test eax, eax
je 0x5f44c8
push eax
call fcn.00888fb0
pop ecx
mov dword [ebp - 0x638], 0
mov dword [ebp - 4], 1
lea eax, [ebp - 0x654]
mov dword [ebp - 0x6e8], eax
mov dword [ebp - 4], 0x40
mov dword [ebp - 4], 1
mov eax, dword [ebp - 0x650]
mov edx, dword [ebp - 0x64c]
cmp eax, edx
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x4c], edx
je 0x5f4553
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x6e0], eax
mov dword [ebp - 4], 0x41
mov dword [ebp - 4], 0x42
mov dword [ebp - 4], 0x41
lea ecx, [eax + 0xc]
call fcn.00406220
mov eax, dword [ebp - 0x44]
lea ecx, [eax + 8]
call fcn.00406220
mov eax, dword [ebp - 0x44]
add eax, 0x10
mov edx, dword [ebp - 0x4c]
mov dword [ebp - 0x44], eax
cmp eax, edx
jne 0x5f4509
mov eax, dword [ebp - 0x650]
mov dword [ebp - 0x44], eax
push eax
call fcn.00888fb0
pop ecx
xor eax, eax
mov dword [ebp - 0x650], eax
mov dword [ebp - 0x64c], eax
mov dword [ebp - 0x648], eax
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x658]
call fcn.00406220
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x65c]
call fcn.00406220
mov eax, 1
mov edi, dword [ebp - 0xf0]
mov esi, dword [ebp - 0xec]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 0xc
mov eax, dword [ebp - 0x40]
mov edx, dword [eax + 0x98]
mov ecx, dword [ebp - 0x4c]
call dword [edx + 0xc]
mov esi, dword [eax]
mov edx, dword [ebp - 0x3c]
mov ecx, eax
push edx
call dword [esi + 0x34]
lea ecx, [eax + 0x20]
mov eax, dword [eax + 0x20]
call dword [eax + 0xc]
mov eax, dword [eax + 0x30]
test eax, eax
je 0x5f2515
mov edi, dword [ebp - 0x44]
lea eax, [edi + edi]
add eax, eax
sub eax, edi
add eax, eax
add eax, eax
add eax, eax
lea ecx, [eax + eax]
add ecx, ecx
add ecx, ecx
add ecx, ecx
add ecx, ecx
sub ecx, eax
mov edx, dword [ebp - 0x78]
lea esi, [edx + ecx]
mov dword [ebp - 0x70], esi
lea eax, [edx + ecx + 0x48b8]
inc edi
mov dword [ebp - 0x74], eax
mov eax, 1
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x44], edi
mov dword [esi + 0x4978], eax
mov byte [esi + 0x4b97], al
mov eax, dword [ebp - 0x40]
mov eax, dword [eax + 0x98]
call dword [eax + 0xc]
mov esi, dword [eax]
mov edx, dword [ebp - 0x3c]
mov ecx, eax
push edx
call dword [esi + 0x34]
lea ecx, [eax + 0x20]
mov eax, dword [eax + 0x20]
call dword [eax + 0xc]
mov eax, dword [eax + 0x28]
cmp eax, 0x80
je 0x5f4c4f
jge 0x5f466c
mov edx, dword [ebp - 0x70]
mov byte [edx + 0x4b98], 4
mov byte [edx + 0x4b99], al
mov eax, 1
mov edx, dword [ebp - 0x70]
mov esi, dword [ebp - 0x40]
mov word [edx + 0x48b8], ax
mov edi, dword [esi + 0x98]
mov ecx, dword [ebp - 0x4c]
call dword [edi + 0xc]
mov esi, dword [eax]
mov edx, dword [ebp - 0x3c]
mov ecx, eax
push edx
call dword [esi + 0x34]
lea ecx, [eax + 0x20]
mov eax, dword [eax + 0x20]
call dword [eax + 0xc]
mov eax, dword [eax + 0x2c]
movss xmm6, dword [0xa30714]
movss xmm5, dword [0xa3071c]
test eax, eax
mov edx, dword [ebp - 0x70]
mov esi, dword [ebp - 0x40]
jne 0x5f46bf
movss xmm6, xmm5
mov ecx, dword [ebp - 0x4c]
movss dword [edx + 0x48bc], xmm6
mov edi, dword [esi + 0x98]
call dword [edi + 0xc]
mov esi, dword [eax]
mov edx, dword [ebp - 0x3c]
mov ecx, eax
push edx
call dword [esi + 0x34]
lea ecx, [eax + 0x20]
mov eax, dword [eax + 0x20]
call dword [eax + 0xc]
mov eax, dword [eax + 0x14]
mov edx, dword [ebp - 0x40]
mov esi, dword [edx + 0x98]
mov dword [ebp - 0xa8], eax
mov ecx, dword [ebp - 0x4c]
call dword [esi + 0xc]
mov esi, dword [eax]
mov edx, dword [ebp - 0x3c]
mov ecx, eax
push edx
call dword [esi + 0x34]
lea ecx, [eax + 0x20]
mov eax, dword [eax + 0x20]
call dword [eax + 0xc]
mov eax, dword [eax + 0x18]
mov edx, dword [ebp - 0x40]
mov esi, dword [edx + 0x98]
mov dword [ebp - 0xa0], eax
mov ecx, dword [ebp - 0x4c]
call dword [esi + 0xc]
mov esi, dword [eax]
mov edx, dword [ebp - 0x3c]
mov ecx, eax
push edx
call dword [esi + 0x34]
lea ecx, [eax + 0x20]
mov eax, dword [eax + 0x20]
call dword [eax + 0xc]
mov eax, dword [eax + 0x1c]
mov edx, dword [ebp - 0x40]
mov esi, dword [edx + 0x98]
mov dword [ebp - 0x9c], eax
mov ecx, dword [ebp - 0x4c]
call dword [esi + 0xc]
mov esi, dword [eax]
mov edx, dword [ebp - 0x3c]
mov ecx, eax
push edx
call dword [esi + 0x34]
lea ecx, [eax + 0x20]
mov eax, dword [eax + 0x20]
call dword [eax + 0xc]
mov eax, dword [eax + 0x20]
mov edx, dword [ebp - 0xa8]
test edx, edx
mov dword [ebp - 0xe8], eax
jle 0x5f4c20
push 0
mov ecx, dword [ebp - 0x74]
call fcn.005b25a0
mov eax, dword [ebp - 0x70]
xor edx, edx
mov ecx, dword [ebp - 0x74]
mov byte [eax + 0x4b95], 1
mov eax, 0x80
lea esi, [ecx + 0xcc]
and esi, 0xf
je 0x5f4ba1
test esi, 3
jne 0x5f47d1
neg esi
add esi, 0x10
shr esi, 2
mov eax, esi
neg eax
add eax, 0x80
cmp eax, 8
jge 0x5f4ba1
mov eax, dword [ebp - 0x70]
mov dword [eax + edx*4 + 0x4984], 0
inc edx
cmp edx, 0x80
jl 0x5f47d1
movss xmm4, dword [0xa30710]
mov eax, dword [ebp - 0xa0]
sub eax, dword [ebp - 0xa8]
test eax, eax
jle 0x5f4810
movss xmm4, dword [0xa3071c]
cvtsi2ss xmm0, eax
divss xmm4, xmm0
mov eax, dword [ebp - 0xa8]
mov edx, dword [ebp - 0xa0]
cmp eax, edx
jg 0x5f492b
xor esi, esi
mov edx, dword [ebp - 0xa0]
sub edx, eax
inc edx
mov dword [ebp - 0x38], edx
lea ecx, [eax + eax]
add ecx, ecx
mov edi, dword [ebp - 0x74]
add ecx, edi
lea eax, [edi + eax*4 + 0xcc]
and eax, 0xf
je 0x5f4907
test al, 3
jne 0x5f4912
neg eax
add eax, 0x10
shr eax, 2
sub edx, eax
cmp edx, 8
jl 0x5f4912
and edx, 7
neg edx
add edx, dword [ebp - 0x38]
test eax, eax
je 0x5f4889
cvtsi2ss xmm0, esi
mulss xmm0, xmm4
movss dword [ecx + esi*4 + 0xcc], xmm0
inc esi
cmp esi, eax
jl 0x5f4873
movss xmm5, dword [0xa3070c]
mulss xmm5, xmm4
movss xmm7, xmm4
xorps xmm3, xmm3
movss xmm3, xmm5
shufps xmm3, xmm3, 0
movss xmm1, xmm4
movss xmm6, xmm4
cvtsi2ss xmm2, esi
mulss xmm2, xmm4
addss xmm7, xmm2
addss xmm1, xmm7
addss xmm6, xmm1
xorps xmm5, xmm5
movss xmm5, xmm6
xorps xmm0, xmm0
movss xmm0, xmm7
unpcklps xmm0, xmm5
xorps xmm5, xmm5
movss xmm5, xmm1
xorps xmm1, xmm1
movss xmm1, xmm2
unpcklps xmm1, xmm5
unpcklps xmm1, xmm0
movaps xmmword [ecx + esi*4 + 0xcc], xmm1
addps xmm1, xmm3
movaps xmmword [ecx + esi*4 + 0xdc], xmm1
addps xmm1, xmm3
add esi, 8
cmp esi, edx
jl 0x5f48e5
jmp 0x5f4c10
mov edi, edx
cmp edi, 8
jge 0x5f4867
cvtsi2ss xmm2, esi
mulss xmm2, xmm4
mov eax, dword [ebp - 0x38]
movss dword [ecx + esi*4 + 0xcc], xmm2
inc esi
cmp esi, eax
jl 0x5f4912
mov eax, dword [ebp - 0xa0]
mov edx, dword [ebp - 0x9c]
cmp eax, edx
jg 0x5f49cf
xor esi, esi
mov edx, dword [ebp - 0x9c]
sub edx, eax
inc edx
mov dword [ebp - 0x38], edx
lea ecx, [eax + eax]
add ecx, ecx
mov edi, dword [ebp - 0x74]
add ecx, edi
lea eax, [edi + eax*4 + 0xcc]
and eax, 0xf
je 0x5f49b5
test al, 3
jne 0x5f49bc
neg eax
add eax, 0x10
shr eax, 2
sub edx, eax
cmp edx, 8
jl 0x5f49bc
and edx, 7
neg edx
add edx, dword [ebp - 0x38]
test eax, eax
je 0x5f4992
mov dword [ecx + esi*4 + 0xcc], 0x3f800000
inc esi
cmp esi, eax
jl 0x5f4982
movaps xmm0, xmmword [0xa30640]
movaps xmmword [ecx + esi*4 + 0xcc], xmm0
movaps xmmword [ecx + esi*4 + 0xdc], xmm0
add esi, 8
cmp esi, edx
jl 0x5f4999
jmp 0x5f4bf0
mov edi, edx
cmp edi, 8
jge 0x5f4976
mov dword [ecx + esi*4 + 0xcc], 0x3f800000
inc esi
mov eax, dword [ebp - 0x38]
cmp esi, eax
jl 0x5f49bc
movss xmm7, dword [0xa30710]
mov eax, dword [ebp - 0xe8]
sub eax, dword [ebp - 0x9c]
test eax, eax
jle 0x5f49f7
movss xmm7, dword [0xa30714]
cvtsi2ss xmm0, eax
divss xmm7, xmm0
mov edx, dword [ebp - 0xe8]
mov eax, dword [ebp - 0x9c]
cmp eax, edx
jg 0x5f4b4e
xor esi, esi
mov edx, dword [ebp - 0xe8]
sub edx, eax
inc edx
mov dword [ebp - 0x38], edx
lea ecx, [eax + eax]
add ecx, ecx
mov edi, dword [ebp - 0x74]
add ecx, edi
lea eax, [edi + eax*4 + 0xcc]
and eax, 0xf
je 0x5f4b14
test al, 3
je 0x5f4a44
movss xmm4, dword [0xa3071c]
jmp 0x5f4b27
neg eax
add eax, 0x10
shr eax, 2
sub edx, eax
cmp edx, 8
jge 0x5f4a60
movss xmm4, dword [0xa3071c]
jmp 0x5f4b27
and edx, 7
neg edx
add edx, dword [ebp - 0x38]
test eax, eax
je 0x5f4a8a
cvtsi2ss xmm0, esi
mulss xmm0, xmm7
addss xmm0, dword [0xa3071c]
movss dword [ecx + esi*4 + 0xcc], xmm0
inc esi
cmp esi, eax
jl 0x5f4a6c
movss xmm4, dword [0xa3070c]
mulss xmm4, xmm7
movss xmm1, xmm7
xorps xmm6, xmm6
movss xmm6, xmm4
shufps xmm6, xmm6, 0
movss xmm4, dword [0xa3071c]
movss xmm3, xmm7
cvtsi2ss xmm2, esi
mulss xmm2, xmm7
addss xmm2, xmm4
addss xmm1, xmm2
addss xmm3, xmm1
movss xmm0, xmm7
addss xmm0, xmm3
xorps xmm5, xmm5
movss xmm5, xmm0
xorps xmm0, xmm0
movss xmm0, xmm1
unpcklps xmm0, xmm5
xorps xmm1, xmm1
movss xmm1, xmm3
xorps xmm3, xmm3
movss xmm3, xmm2
unpcklps xmm3, xmm1
unpcklps xmm3, xmm0
movaps xmmword [ecx + esi*4 + 0xcc], xmm3
addps xmm3, xmm6
movaps xmmword [ecx + esi*4 + 0xdc], xmm3
addps xmm3, xmm6
add esi, 8
cmp esi, edx
jl 0x5f4af2
jmp 0x5f4c00
mov edi, edx
cmp edi, 8
jge 0x5f4a60
movss xmm4, dword [0xa3071c]
cvtsi2ss xmm2, esi
mulss xmm2, xmm7
addss xmm4, xmm2
movss dword [ecx + esi*4 + 0xcc], xmm4
inc esi
mov eax, dword [ebp - 0x38]
cmp esi, eax
jge 0x5f4b4e
movss xmm4, dword [0xa3071c]
jmp 0x5f4b27
push 1
mov eax, dword [ebp - 0xa8]
mov ecx, dword [ebp - 0x74]
push eax
call fcn.005f8a88
push 1
mov eax, dword [ebp - 0xa0]
mov ecx, dword [ebp - 0x74]
push eax
call fcn.005f8a88
push 1
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0x74]
push eax
call fcn.005f8a88
push 1
mov eax, dword [ebp - 0xe8]
mov ecx, dword [ebp - 0x74]
push eax
call fcn.005f8a88
mov eax, dword [ebp - 0x70]
mov byte [eax + 0x4b94], 1
jmp 0x5f2515
and eax, 7
neg eax
add eax, 0x80
test esi, esi
je 0x5f4bc2
mov ecx, dword [ebp - 0x70]
mov dword [ecx + edx*4 + 0x4984], 0
inc edx
cmp edx, esi
jl 0x5f4baf
xorps xmm0, xmm0
mov ecx, dword [ebp - 0x70]
movaps xmmword [ecx + edx*4 + 0x4984], xmm0
movaps xmmword [ecx + edx*4 + 0x4994], xmm0
add edx, 8
cmp edx, eax
jl 0x5f4bc5
cmp edx, 0x80
jge 0x5f47e8
jmp 0x5f47d1
mov eax, dword [ebp - 0x38]
cmp esi, eax
jge 0x5f49cf
jmp 0x5f49bc
mov eax, dword [ebp - 0x38]
cmp esi, eax
jge 0x5f4b4e
jmp 0x5f4b27
mov eax, dword [ebp - 0x38]
cmp esi, eax
jge 0x5f492b
jmp 0x5f4912
mov eax, dword [ebp - 0xa0]
test eax, eax
jg 0x5f4782
mov eax, dword [ebp - 0x9c]
test eax, eax
jg 0x5f4782
mov eax, dword [ebp - 0xe8]
test eax, eax
jg 0x5f4782
jmp 0x5f2515
mov eax, dword [ebp - 0x70]
mov byte [eax + 0x4b98], 6
jmp 0x5f466c
mov eax, dword [ebp - 0x80]
cmp eax, 4
jge 0x5f250c
mov ecx, esi
mov esi, dword [ebp + ecx*8 - 0x494]
mov eax, 0x80
xor edx, edx
idiv esi
mov edx, dword [ebp - 0x80]
lea edi, [edx + edx]
add edi, edi
sub edi, edx
add edi, edi
mov esi, dword [ebp - 0x78]
inc edx
mov dword [esi + edi*8 + 0x38], 2
mov ecx, dword [ebp + ecx*8 - 0x48c]
mov dword [esi + edi*8 + 0x44], ecx
mov ecx, dword [ebp - 0x70]
imul ecx, eax
mov dword [esi + edi*8 + 0x48], ecx
lea eax, [ecx + eax - 1]
mov dword [esi + edi*8 + 0x4c], eax
mov dword [esi + edi*8 + 0x60], 0
mov dword [ebp - 0x80], edx
jmp 0x5f2515
mov eax, dword [ebp - 0x80]
cmp eax, 4
jge 0x5f250c
mov eax, dword [ebp - 0x88]
mov edx, dword [eax + 0x44]
mov ecx, dword [ebp - 0x60]
call dword [edx + 0xc]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
mov eax, dword [eax + 4]
mov edx, dword [ebp - 0x88]
mov esi, dword [edx + 0x44]
mov dword [ebp - 0xe8], eax
mov ecx, dword [ebp - 0x60]
call dword [esi + 0xc]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
mov eax, dword [eax + 8]
mov ecx, dword [ebp - 0xe8]
sub eax, ecx
inc eax
mov edx, dword [ebp - 0x74]
mov esi, dword [ebp + edx*8 - 0x494]
cdq
idiv esi
mov edx, 1
cmp eax, 1
mov esi, dword [ebp - 0x78]
cmovl eax, edx
mov edx, dword [ebp - 0x80]
lea edi, [edx + edx]
add edi, edi
sub edi, edx
add edi, edi
mov dword [esi + edi*8 + 0x38], 1
mov edx, dword [ebp - 0x70]
imul edx, eax
add ecx, edx
lea eax, [ecx + eax - 1]
mov dword [esi + edi*8 + 0x3c], ecx
mov dword [esi + edi*8 + 0x40], eax
mov dword [esi + edi*8 + 0x60], 0
inc dword [ebp - 0x80]
jmp 0x5f2515
mov eax, dword [ebp - 0x40]
mov edx, dword [eax + 0x78]
mov ecx, dword [ebp - 0x84]
call dword [edx + 0xc]
mov edx, dword [ebp - 0xa4]
or edx, dword [eax + esi*8 + 0x18]
mov dword [ebp - 0xa4], edx
jmp 0x5f1b9f
mov dword [ebp - 4], 6
lea ecx, [ebp - 0x5cc]
call fcn.00406220
mov dword [ebp - 4], 5
lea ecx, [ebp - 0x5dc]
call fcn.0040b540
mov dword [ebp - 4], 4
lea ecx, [ebp - 0x5ec]
call fcn.0040b540
mov dword [ebp - 4], 3
lea ecx, [ebp - 0x634]
call fcn.0046bef8
mov dword [ebp - 4], 2
mov eax, dword [ebp - 0x638]
test eax, eax
je 0x5f4de5
push eax
call fcn.00888fb0
pop ecx
mov dword [ebp - 0x638], 0
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x654]
call fcn.0040b540
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x658]
call fcn.00406220
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x65c]
call fcn.00406220
mov eax, 0xa
mov edi, dword [ebp - 0xf0]
mov esi, dword [ebp - 0xec]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 0xc
xor eax, eax
mov dword [ebp - 0x50], eax
jmp 0x5f1720
push ebx
mov ebx, esp
and esp, 0xfffffff0
sub esp, 8
push ebp
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x8c1a78
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x754
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0xe0], edi
mov dword [ebp - 0xdc], esi
mov dword [ebp - 0x6c], ecx
test dword [0x9ee064], 0x10
jne 0x5f4ebc
mov eax, 0xa
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 0xc
lea ecx, [ebp - 0x64c]
call fcn.0041cbf8
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x648]
call fcn.0041cbf8
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x644]
call fcn.004e4b6c
mov dword [ebp - 4], 2
xor eax, eax
mov esi, dword [ebx + 0x10]
test esi, esi
setne al
mov dword [ebp - 0x9c], eax
push 2
call fcn.00410c88
pop ecx
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x9c]
test eax, eax
je 0x5f4f1f
mov eax, 1
mov dword [ebp - 0x54], eax
lea ecx, [ebp - 0x62c]
lea edi, [ebp - 0x64c]
lea esi, [ebp - 0x648]
lea edx, [ebp - 0x630]
lea eax, [ebp - 0x634]
push eax
lea eax, [ebp - 0x644]
push edx
push esi
push edi
push ecx
push eax
mov ecx, dword [ebx + 0xc]
call fcn.004eb990
movzx eax, al
test eax, eax
jne 0x5f4fc1
mov eax, dword [ebp - 0x9c]
test eax, eax
je 0x5f4f67
call fcn.005fdc9c
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x644]
call fcn.0040b540
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x648]
call fcn.00406220
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x64c]
call fcn.00406220
mov eax, 9
mov edi, dword [ebp - 0xe0]
mov esi, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 0xc
mov eax, dword [ebp - 0x62c]
cmp eax, 0x70
je 0x5f5035
mov eax, dword [ebp - 0x9c]
test eax, eax
je 0x5f4fdb
call fcn.005fdc9c
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x644]
call fcn.0040b540
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x648]
call fcn.00406220
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x64c]
call fcn.00406220
mov eax, 9
mov edi, dword [ebp - 0xe0]
mov esi, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 0xc
mov eax, dword [ebp - 0x9c]
test eax, eax
je 0x5f50ca
mov edi, dword [ebp - 0x648]
test edi, edi
je 0x5f514e
xor eax, eax
mov dh, byte [edi]
mov ecx, edi
test dh, dh
je 0x5f5063
inc ecx
inc eax
mov dl, byte [ecx]
test dl, dl
jne 0x5f505b
test eax, eax
jle 0x5f514e
call fcn.005fdc9c
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x644]
call fcn.0040b540
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x648]
call fcn.00406220
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x64c]
call fcn.00406220
mov eax, 0xa
mov edi, dword [ebp - 0xe0]
mov esi, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 0xc
mov edi, dword [ebp - 0x648]
test edi, edi
je 0x5f50f4
xor eax, eax
mov dh, byte [edi]
mov ecx, edi
test dh, dh
je 0x5f50e6
inc ecx
inc eax
mov dl, byte [ecx]
test dl, dl
jne 0x5f50de
test eax, eax
jle 0x5f50f4
mov eax, dword [ebp - 0x634]
test eax, eax
jge 0x5f514e
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x644]
call fcn.0040b540
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x648]
call fcn.00406220
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x64c]
call fcn.00406220
mov eax, 9
mov edi, dword [ebp - 0xe0]
mov esi, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 0xc
mov eax, dword [ebp - 0x6c]
lea ecx, [eax + 0x390]
lea edx, [ebp - 0x644]
mov dword [ebp - 0xd8], ecx
push edx
call fcn.005d06e0
test eax, eax
je 0x5f51cc
cmp eax, 2
je 0x5f51cc
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x644]
call fcn.0040b540
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x648]
call fcn.00406220
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x64c]
call fcn.00406220
mov eax, 0xa
mov edi, dword [ebp - 0xe0]
mov esi, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 0xc
mov dword [ebp - 0x608], 0
mov dword [ebp - 4], 3
mov eax, dword [ebp - 0x9c]
test eax, eax
jne 0x5f59b4
lea ecx, [ebp - 0x604]
call fcn.005f91c4
mov dword [ebp - 4], 4
lea ecx, [ebp - 0x5bc]
call fcn.004e4b6c
mov dword [ebp - 4], 5
lea ecx, [ebp - 0x5ac]
call fcn.004e4b6c
mov dword [ebp - 4], 6
lea ecx, [ebp - 0x59c]
call fcn.0041cbf8
mov dword [ebp - 4], 7
mov eax, dword [ebp - 0x54]
movzx edx, al
test edx, edx
je 0x5f56b6
mov eax, 1
mov edx, dword [ebp - 0x9c]
test edx, edx
mov byte [ebp - 0x5d8], al
mov dword [ebp - 0x5d0], eax
mov byte [ebp - 0x5e2], al
mov dword [ebp - 0x5d4], 0
je 0x5f52a9
lea ecx, [ebp - 0x598]
push 0xa13d5c
call fcn.004061ac
mov dword [ebp - 4], 8
lea ecx, [ebp - 0x59c]
lea eax, [ebp - 0x598]
push eax
call fcn.004061ec
mov dword [ebp - 4], 7
lea ecx, [ebp - 0x598]
call fcn.00406220
jmp 0x5f52bb
lea ecx, [ebp - 0x59c]
lea eax, [ebp - 0x648]
push eax
call fcn.004061ec
lea ecx, [ebp - 0x594]
call fcn.0041cbf8
mov dword [ebp - 4], 9
lea ecx, [ebp - 0x59c]
push 1
call fcn.004062e8
mov ecx, 0x9ec5a0
call fcn.004e2e74
movzx eax, al
test eax, eax
jne 0x5f535b
mov ecx, 0x9ec5a0
call fcn.004e2de4
cmp eax, 1
jne 0x5f535b
mov ecx, 0x9ec5a0
call fcn.004e2e50
movzx eax, al
test eax, eax
jne 0x5f535b
mov ecx, 0x9ec5a0
lea eax, [ebp - 0x590]
push 0
push eax
call fcn.004e5490
mov dword [ebp - 4], 0xa
lea ecx, [ebp - 0x594]
lea eax, [ebp - 0x590]
push eax
call fcn.004061ec
mov dword [ebp - 4], 9
lea ecx, [ebp - 0x590]
call fcn.00406220
lea ecx, [ebp - 0x5dc]
lea eax, [ebp - 0x594]
push eax
call fcn.004061ec
mov eax, dword [ebp - 0x9c]
test eax, eax
je 0x5f5371
mov dword [ebp - 0x5e0], 0xc
jmp 0x5f537b
mov dword [ebp - 0x5e0], 0
test eax, eax
je 0x5f5392
mov ecx, dword [ebx + 0x10]
call fcn.004e2e74
movzx eax, al
test eax, eax
je 0x5f548d
push edi
mov ecx, esp
lea eax, [ebp - 0x59c]
push eax
call fcn.0040618c
lea ecx, [ebp - 0x604]
call fcn.0056432c
movzx eax, al
test eax, eax
jne 0x5f548d
mov dword [ebp - 4], 7
lea ecx, [ebp - 0x594]
call fcn.00406220
mov dword [ebp - 4], 6
lea ecx, [ebp - 0x59c]
call fcn.00406220
mov dword [ebp - 4], 5
lea ecx, [ebp - 0x5ac]
call fcn.0040b540
mov dword [ebp - 4], 4
lea ecx, [ebp - 0x5bc]
call fcn.0040b540
mov dword [ebp - 4], 3
lea ecx, [ebp - 0x604]
call fcn.0046bef8
mov dword [ebp - 4], 2
mov eax, dword [ebp - 0x608]
test eax, eax
je 0x5f5429
push eax
call fcn.00888fb0
pop ecx
mov dword [ebp - 0x608], 0
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x644]
call fcn.0040b540
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x648]
call fcn.00406220
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x64c]
call fcn.00406220
mov eax, 0xa
mov edi, dword [ebp - 0xe0]
mov esi, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 0xc
add esp, 0xfffffff8
mov ecx, esp
lea eax, [ebp - 0x5ec]
push eax
call fcn.0040618c
lea ecx, [ebp - 0x5bc]
xor eax, eax
mov word [esp + 4], ax
call fcn.004e83f4
mov eax, dword [ebp - 0x9c]
test eax, eax
je 0x5f54e3
mov ecx, dword [ebx + 0x10]
call fcn.004e2e74
movzx eax, al
test eax, eax
jne 0x5f54d8
lea ecx, [ebp - 0x5bc]
mov eax, dword [ebx + 0x10]
push eax
call fcn.004e2d98
lea ecx, [ebp - 0x5bc]
call fcn.004e2ff4
lea ecx, [ebp - 0x584]
call fcn.004e4b6c
mov dword [ebp - 4], 0xb
add esp, 0xfffffff8
mov ecx, esp
lea eax, [ebp - 0x5e8]
push eax
call fcn.0040618c
lea ecx, [ebp - 0x584]
xor eax, eax
mov word [esp + 4], ax
call fcn.004e83f4
mov eax, dword [ebp - 0x9c]
test eax, eax
jne 0x5f5534
lea ecx, [ebp - 0x584]
call fcn.004e2e74
movzx eax, al
test eax, eax
je 0x5f55ae
lea ecx, [ebp - 0x644]
lea eax, [ebp - 0x570]
push eax
call fcn.004e4df4
mov dword [ebp - 4], 0xc
lea ecx, [ebp - 0x584]
lea eax, [ebp - 0x570]
push eax
call fcn.004e2d98
mov dword [ebp - 4], 0xb
lea ecx, [ebp - 0x570]
call fcn.0040b540
lea ecx, [ebp - 0x584]
lea eax, [ebp - 0x560]
push eax
call fcn.004e5be4
mov dword [ebp - 4], 0xd
lea ecx, [ebp - 0x584]
lea eax, [ebp - 0x560]
push eax
call fcn.004e2d98
mov dword [ebp - 4], 0xb
lea ecx, [ebp - 0x560]
call fcn.0040b540
lea ecx, [ebp - 0x584]
lea eax, [ebp - 0x550]
push 0
push eax
call fcn.004e5490
mov dword [ebp - 4], 0xe
lea ecx, [ebp - 0x594]
lea eax, [ebp - 0x550]
push eax
call fcn.004061ec
mov dword [ebp - 4], 0xb
lea ecx, [ebp - 0x550]
call fcn.00406220
lea ecx, [ebp - 0x594]
push 0xa13d30
call fcn.004060d4
add esp, 0xfffffff8
mov ecx, esp
lea eax, [ebp - 0x594]
push eax
call fcn.0040618c
lea ecx, [ebp - 0x584]
xor eax, eax
mov word [esp + 4], ax
call fcn.004e83f4
lea ecx, [ebp - 0x584]
call fcn.007efe9c
lea ecx, [ebp - 0x584]
call fcn.004e2ff4
lea ecx, [ebp - 0x5bc]
lea eax, [ebp - 0x548]
push eax
call fcn.004e4e80
mov dword [ebp - 4], 0xf
lea ecx, [ebp - 0x5ac]
lea eax, [ebp - 0x548]
push eax
call fcn.004e2d98
mov dword [ebp - 4], 0xb
lea ecx, [ebp - 0x548]
call fcn.0040b540
lea ecx, [ebp - 0x5ac]
lea eax, [ebp - 0x584]
push eax
call fcn.004e3380
lea eax, [ebp - 0x5ac]
push eax
call fcn.0043c6a0
pop ecx
mov dword [ebp - 4], 9
lea ecx, [ebp - 0x584]
call fcn.0040b540
mov dword [ebp - 4], 7
lea ecx, [ebp - 0x594]
call fcn.00406220
mov esi, dword [ebp - 0x634]
mov eax, dword [ebp - 0x9c]
test eax, eax
mov dword [ebp - 0xc0], esi
mov dword [ebp - 0xd0], esi
je 0x5f5708
xor eax, eax
mov edx, dword [ebp - 0x6c]
lea ecx, [edx + 0x7dc]
mov dword [ebp - 0xc0], eax
mov esi, dword [edx + 0x7dc]
call dword [esi + 0xc]
lea ecx, [eax + 0x6c]
mov eax, dword [eax + 0x6c]
call dword [eax + 0xc]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x30]
mov dword [ebp - 0xd0], eax
dec dword [ebp - 0xd0]
xor al, al
mov ecx, dword [ebp - 0x6c]
lea edi, [ecx + 0x7dc]
mov byte [ebp - 0xb4], al
mov dword [ebp - 0xa8], esi
mov dword [ebp - 0x7c], edx
mov dword [ebp - 0x78], edi
mov edx, dword [ebp - 0xd0]
mov eax, dword [ebp - 0xc0]
cmp eax, edx
jg 0x5f8826
mov al, byte [ebp - 0xb4]
test al, al
mov byte [ebp - 0xac], al
jne 0x5f8826
mov eax, dword [ebp - 0x9c]
test eax, eax
jne 0x5f57c6
mov edi, dword [ebx + 8]
mov esi, dword [ebp - 0x6c]
mov eax, dword [esi + edi*4 + 0x16fcc]
xor edx, edx
test eax, eax
setne dl
test edx, edx
mov dword [ebp - 0x54], edx
je 0x5f5779
mov ecx, esi
call fcn.0058e7e0
call fcn.0041109c
mov edx, esi
lea edi, [edx + 0x28]
lea ecx, [edx + 0x16dcc]
mov dword [ebp - 0xa4], edi
movzx esi, byte [0x9ec108]
push eax
mov eax, dword [ebx + 8]
push esi
push edi
push eax
call fcn.00566a74
mov dword [ebp - 0x3c], eax
mov eax, dword [ebx + 8]
mov ecx, dword [ebp - 0x6c]
push eax
call fcn.004c2e38
mov eax, dword [ebp - 0x54]
test eax, eax
je 0x5f583a
mov ecx, dword [ebp - 0x6c]
call fcn.0058e6c8
jmp 0x5f583a
mov dword [ebp - 0x538], 0
push 0x9678
call fcn.00898760
mov dword [ebp - 0x3c], eax
add esp, 4
test eax, eax
mov dword [ebp - 0x534], eax
je 0x5f881c
mov dword [ebp - 0x538], 1
mov dword [ebp - 4], 0x10
mov ecx, eax
call fcn.0057c47c
mov dword [ebp - 0x538], 0
mov dword [ebp - 4], 7
mov eax, dword [ebp - 0x6c]
lea edx, [eax + 0x28]
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0xa4], edx
mov dword [ecx + 0x801c], edx
call fcn.0041109c
mov edx, dword [ebp - 0x3c]
mov dword [edx + 0x9048], eax
mov eax, dword [ebp - 0x3c]
test eax, eax
je 0x5f8758
mov eax, dword [ebp - 0x6c]
mov edx, dword [eax + 0x7dc]
mov ecx, dword [ebp - 0x78]
call dword [edx + 0xc]
lea ecx, [eax + 0x6c]
mov eax, dword [eax + 0x6c]
call dword [eax + 0xc]
mov esi, dword [eax]
mov edx, dword [ebp - 0xc0]
mov ecx, eax
push edx
call dword [esi + 0x34]
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0x3c]
lea ecx, [eax + 0x9040]
mov edx, dword [ebp - 0xb0]
mov dword [ebp - 0xbc], ecx
push edx
call fcn.004061ec
mov eax, dword [ebp - 0xb0]
mov edx, dword [eax + 0x18]
mov esi, 1
mov dword [ebp - 0xb8], edx
lea ecx, [ebp - 0x530]
mov dword [ebp - 0x98], esi
call fcn.0041cbf8
mov dword [ebp - 4], 0x11
lea ecx, [ebp - 0x618]
call fcn.004e4b6c
mov dword [ebp - 4], 0x12
add esp, 0xfffffff4
mov ecx, esp
push 0xa31bf8
call fcn.004061ac
lea ecx, [esp + 8]
call fcn.0041cbf8
lea ecx, [ebp - 0x524]
mov byte [esp + 4], 1
call fcn.005659f8
mov dword [ebp - 4], 0x13
mov eax, dword [ebp - 0xb8]
xor edx, edx
xor ecx, ecx
mov dword [ebp - 0xe8], eax
mov edi, dword [ebp - 0xb0]
lea esi, [edi + 0x24]
fild dword [ebp - 0xe8]
lea eax, [edi + 0x44]
fst qword [ebp - 0x48]
fld dword [0xa307c8]
fdivrp st(1)
fstp dword [ebp - 0x50c]
mov dword [ebp - 0xa0], edx
mov dword [ebp - 0x94], ecx
mov dword [ebp - 0xc8], esi
mov dword [ebp - 0xcc], eax
mov edx, dword [ebp - 0xb8]
mov eax, dword [ebp - 0x94]
cmp eax, edx
jge 0x5f7043
mov eax, dword [ebp - 0xb0]
mov edx, dword [eax + 0x24]
mov ecx, dword [ebp - 0xc8]
call dword [edx + 0xc]
mov esi, dword [eax]
mov edx, dword [ebp - 0x94]
mov ecx, eax
push edx
call dword [esi + 0x34]
mov dword [ebp - 0x2c], eax
lea ecx, [eax + 0x78]
mov edx, dword [eax + 0x78]
mov dword [ebp - 0x70], ecx
call dword [edx + 0xc]
mov eax, dword [eax]
xor edx, edx
mov ecx, 5
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x74], edx
lea edx, [ebp - 0x4f8]
xor eax, eax
mov dword [edx], eax
mov dword [edx + 8], eax
mov dword [edx + 4], eax
mov dword [edx + 0xc], eax
add edx, 0x10
dec ecx
jne 0x5f599c
jmp 0x5f5a3b
mov eax, dword [ebp - 0x6c]
lea ecx, [eax + 0x7dc]
mov edx, dword [eax + 0x7dc]
call dword [edx + 0xc]
lea ecx, [eax + 0xcc]
mov eax, dword [eax + 0xcc]
call dword [eax + 0xc]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x30]
mov dword [ebp - 0xbc], eax
mov eax, dword [ebp - 0x608]
test eax, eax
je 0x5f59f3
push eax
call fcn.00888fb0
pop ecx
mov dword [ebp - 0x608], 0
mov eax, dword [ebp - 0xbc]
push eax
call fcn.00898760
pop ecx
mov dword [ebp - 0x608], eax
xor ecx, ecx
mov edx, dword [ebp - 0xbc]
test edx, edx
jle 0x5f51eb
mov byte [eax + ecx], 0
inc ecx
mov eax, dword [ebp - 0xbc]
cmp ecx, eax
jge 0x5f51eb
mov eax, dword [ebp - 0x608]
jmp 0x5f5a20
xor eax, eax
xor edi, edi
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x2c]
mov edx, dword [eax + 0x78]
mov ecx, dword [ebp - 0x70]
call dword [edx + 0xc]
lea esi, [edi + edi*4]
add esi, esi
add esi, esi
sub esi, edi
mov eax, dword [eax + esi*8 + 0xac]
test eax, eax
jl 0x5f5c43
mov eax, dword [ebp - 0x2c]
mov edx, dword [eax + 0x78]
mov ecx, dword [ebp - 0x70]
call dword [edx + 0xc]
mov eax, dword [eax + esi*8 + 0x24]
cmp eax, 0x84
je 0x5f873d
mov eax, dword [ebp - 0x2c]
mov edx, dword [eax + 0x78]
mov ecx, dword [ebp - 0x70]
call dword [edx + 0xc]
mov eax, dword [eax + esi*8 + 0x24]
cmp eax, 0x85
jne 0x5f5b05
mov eax, dword [ebp - 0x50]
cmp eax, 5
jge 0x5f5c27
mov eax, dword [ebp - 0x2c]
mov edx, dword [eax + 0x78]
mov ecx, dword [ebp - 0x70]
call dword [edx + 0xc]
mov edx, dword [ebp - 0x50]
lea edx, [edx + edx]
mov eax, dword [eax + esi*8 + 0x18]
mov dword [ebp - 0x90], edx
lea edx, [edx + edx]
add edx, edx
add edx, edx
mov ecx, dword [ebp - 0x70]
mov dword [ebp + edx - 0x4f8], eax
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 0x78]
call dword [eax + 0xc]
mov edx, 1
mov ecx, dword [eax + esi*8 + 0x20]
shl edx, cl
mov eax, dword [ebp - 0x90]
mov dword [ebp + eax*8 - 0x4f4], edx
mov dword [ebp + eax*8 - 0x4f0], 2
inc dword [ebp - 0x50]
jmp 0x5f5c43
mov eax, dword [ebp - 0x2c]
mov edx, dword [eax + 0x78]
mov ecx, dword [ebp - 0x70]
call dword [edx + 0xc]
mov eax, dword [eax + esi*8 + 0x24]
cmp eax, 0x81
jne 0x5f5b89
mov eax, dword [ebp - 0x50]
cmp eax, 5
jge 0x5f5c27
mov eax, dword [ebp - 0x2c]
mov edx, dword [eax + 0x78]
mov ecx, dword [ebp - 0x70]
call dword [edx + 0xc]
mov edx, dword [ebp - 0x50]
lea edx, [edx + edx]
mov eax, dword [eax + esi*8 + 0x18]
mov dword [ebp - 0xc4], edx
lea edx, [edx + edx]
add edx, edx
add edx, edx
mov ecx, dword [ebp - 0x70]
mov dword [ebp + edx - 0x4f8], eax
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 0x78]
call dword [eax + 0xc]
mov edx, 1
mov ecx, dword [eax + esi*8 + 0x20]
shl edx, cl
mov eax, dword [ebp - 0xc4]
mov dword [ebp + eax*8 - 0x4f4], edx
mov dword [ebp + eax*8 - 0x4f0], 3
inc dword [ebp - 0x50]
jmp 0x5f5c43
mov eax, dword [ebp - 0x2c]
mov edx, dword [eax + 0x78]
mov ecx, dword [ebp - 0x70]
call dword [edx + 0xc]
mov eax, dword [eax + esi*8 + 0x24]
cmp eax, 0x80
jge 0x5f5c27
mov eax, dword [ebp - 0x50]
cmp eax, 5
jge 0x5f5c27
mov eax, dword [ebp - 0x2c]
mov edx, dword [eax + 0x78]
mov ecx, dword [ebp - 0x70]
call dword [edx + 0xc]
mov edx, dword [ebp - 0x50]
lea edx, [edx + edx]
mov eax, dword [eax + esi*8 + 0x18]
mov dword [ebp - 0xc4], edx
lea edx, [edx + edx]
add edx, edx
add edx, edx
mov ecx, dword [ebp - 0x70]
mov dword [ebp + edx - 0x4f8], eax
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 0x78]
call dword [eax + 0xc]
mov edx, 1
mov ecx, dword [eax + esi*8 + 0x20]
shl edx, cl
mov eax, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0x70]
mov dword [ebp + eax*8 - 0x4f4], edx
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 0x78]
call dword [eax + 0xc]
mov eax, dword [eax + esi*8 + 0x24]
mov edx, dword [ebp - 0xc4]
mov dword [ebp + edx*8 - 0x4ec], eax
mov dword [ebp + edx*8 - 0x4f0], 1
inc dword [ebp - 0x50]
jmp 0x5f5c43
mov eax, dword [ebp - 0x2c]
mov edx, dword [eax + 0x78]
mov ecx, dword [ebp - 0x70]
call dword [edx + 0xc]
mov edx, dword [ebp - 0xa0]
or edx, dword [eax + esi*8 + 0x18]
mov dword [ebp - 0xa0], edx
inc edi
cmp edi, 5
jl 0x5f5a42
mov eax, dword [ebp - 0x94]
xor edx, edx
mov dword [ebp - 0xe8], eax
fild dword [ebp - 0xe8]
fld dword [0xa307c8]
fdiv qword [ebp - 0x48]
fmulp st(1)
fstp dword [ebp - 0x38]
xor eax, eax
mov dword [ebp + edx*4 - 0x4a8], eax
mov dword [ebp + edx*4 - 0x428], eax
inc edx
cmp edx, 0x20
jl 0x5f5c6f
xor eax, eax
mov edx, dword [ebp - 0x2c]
lea ecx, [edx + 0x98]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x50], ecx
mov edx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x28]
cmp eax, edx
jge 0x5f702e
xor eax, eax
mov edx, dword [ebp - 0x2c]
mov esi, dword [edx + 0x78]
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x70]
call dword [esi + 0xc]
lea ecx, [eax + 4]
mov eax, dword [eax + 4]
call dword [eax + 0xc]
mov edx, dword [ebp - 0x28]
mov eax, dword [eax + edx*4]
test eax, eax
mov dword [ebp - 0x40], eax
jl 0x5f5e7f
mov eax, dword [ebp - 0x6c]
mov edx, dword [eax + 0x7dc]
mov ecx, dword [ebp - 0x78]
call dword [edx + 0xc]
lea ecx, [eax + 0xcc]
mov eax, dword [eax + 0xcc]
call dword [eax + 0xc]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x30]
mov edx, dword [ebp - 0x40]
cmp edx, eax
jae 0x5f5e7f
mov eax, dword [ebp - 0x28]
test eax, eax
jne 0x5f5d3e
mov eax, dword [ebp - 0x6c]
mov edx, dword [eax + 0x7dc]
mov ecx, dword [ebp - 0x78]
call dword [edx + 0xc]
lea ecx, [eax + 0xcc]
mov eax, dword [eax + 0xcc]
call dword [eax + 0xc]
mov esi, dword [eax]
mov edx, dword [ebp - 0x28]
mov ecx, eax
push edx
call dword [esi + 0x34]
movzx esi, word [eax + 2]
xor eax, eax
cmp esi, 2
sete al
mov dword [ebp - 0x7c], eax
mov esi, dword [ebp - 0x4f8]
mov eax, dword [ebp - 0x2c]
mov edx, dword [eax + 0x98]
or esi, dword [ebp - 0x4e8]
mov ecx, dword [ebp - 0x50]
or esi, dword [ebp - 0x4d8]
or esi, dword [ebp - 0x4c8]
or esi, dword [ebp - 0x4b8]
or esi, dword [ebp - 0x74]
and esi, dword [ebp - 0x28]
call dword [edx + 0xc]
mov edi, dword [eax]
mov edx, dword [ebp - 0x28]
mov ecx, eax
push edx
call dword [edi + 0x34]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
mov eax, dword [eax + 0x68]
test eax, eax
jne 0x5f5dc6
add esi, esi
add esi, esi
lea eax, [ebp - 0x4a8]
add eax, esi
lea edx, [ebp - 0x428]
add edx, esi
mov dword [ebp - 0x64], eax
xor eax, eax
mov dword [ebp + esi - 0x4a8], 0
mov dword [ebp - 0x5c], edx
mov edx, 0x7f
mov dword [ebp + esi - 0x428], 0x7f
jmp 0x5f5e71
mov eax, dword [ebp - 0x7c]
movzx edx, al
test edx, edx
je 0x5f5dd7
mov ecx, 2
jmp 0x5f5ddc
mov ecx, 1
mov eax, dword [ebp - 0x28]
cdq
idiv ecx
test edx, edx
jne 0x5f5e49
lea ecx, [esi + esi]
add ecx, ecx
lea eax, [ebp - 0x4a8]
add eax, ecx
lea edx, [ebp - 0x428]
add edx, ecx
mov dword [ebp - 0x64], eax
mov edi, dword [ebp + ecx - 0x428]
inc edi
mov dword [ebp - 0x5c], edx
cmp edi, 0x7f
mov dword [ebp + ecx - 0x4a8], edi
jg 0x5f5e7f
mov eax, dword [ebp - 0x2c]
mov edx, dword [eax + 0x98]
mov ecx, dword [ebp - 0x50]
call dword [edx + 0xc]
mov edi, dword [eax]
mov edx, dword [ebp - 0x28]
mov ecx, eax
push edx
call dword [edi + 0x34]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
mov edx, dword [eax + 0x68]
mov eax, dword [ebp + esi*4 - 0x4a8]
mov dword [ebp + esi*4 - 0x428], edx
jmp 0x5f5e71
add esi, esi
add esi, esi
lea eax, [ebp - 0x4a8]
add eax, esi
lea edx, [ebp - 0x428]
add edx, esi
mov dword [ebp - 0x64], eax
mov eax, dword [ebp + esi - 0x4a8]
mov dword [ebp - 0x5c], edx
mov edx, dword [ebp + esi - 0x428]
cmp eax, edx
jne 0x5f5e7d
dec edx
mov eax, dword [ebp - 0x5c]
mov dword [eax], edx
jmp 0x5f5e7f
jle 0x5f5e87
inc dword [ebp - 0x28]
jmp 0x5f5c96
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x3c]
push dword [eax + 0x16cf8]
push dword [eax + 0x16974]
push 0xffffffffffffffff
call fcn.0056f2e0
mov dword [ebp - 0x68], eax
mov edx, dword [ebp - 0xa0]
mov eax, dword [ebp - 0x28]
test edx, eax
je 0x5f5ed7
mov eax, dword [ebp - 0x7c]
movzx edx, al
test edx, edx
je 0x5f5ecb
mov eax, dword [ebp - 0x28]
and eax, 0xfffffffe
mov edx, dword [ebp - 0x68]
mov dword [edx + 0xa668], eax
jmp 0x5f5ed7
mov edx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x28]
mov dword [edx + 0xa668], eax
xor al, al
mov edx, dword [ebp - 0x28]
mov byte [ebp - 0x84], al
and edx, dword [ebp - 0x74]
mov dword [ebp - 0x90], edx
je 0x5f5fe5
mov al, 1
mov edx, dword [ebp - 0x68]
mov esi, dword [ebp - 0x2c]
mov byte [ebp - 0x84], al
mov ecx, dword [ebp - 0x50]
mov byte [edx + 0x32], 1
mov edi, dword [esi + 0x98]
call dword [edi + 0xc]
mov esi, dword [eax]
mov edx, dword [ebp - 0x28]
mov ecx, eax
push edx
call dword [esi + 0x34]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
lea ecx, [eax + 0x28]
mov eax, dword [eax + 0x28]
call dword [eax + 0xc]
mov eax, dword [eax + 0x14]
cmp eax, 8
jne 0x5f5f3f
xor al, al
mov byte [ebp - 0x84], al
jmp 0x5f5fe5
mov eax, dword [ebp - 0x2c]
mov edx, dword [eax + 0x98]
mov ecx, dword [ebp - 0x50]
call dword [edx + 0xc]
mov esi, dword [eax]
mov edx, dword [ebp - 0x28]
mov ecx, eax
push edx
call dword [esi + 0x34]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
lea ecx, [eax + 0x28]
mov eax, dword [eax + 0x28]
call dword [eax + 0xc]
mov edx, dword [eax + 0x14]
shr edx, 0x1f
add esp, 0xfffffff8
fild dword [eax + 0x14]
fadd dword [edx*4 + 0xa307d0]
fmul dword [0xa307c4]
fmul qword [0xa30788]
fadd qword [0xa30790]
fstp qword [esp]
call fcn.0088ba48
add esp, 8
fadd st(0)
fstp qword [ebp - 0xf0]
mov edx, dword [ebp - 0xf0]
mov esi, dword [ebp - 0xec]
mov ecx, esi
shr ecx, 0x14
and ecx, 0x7ff
cmp ecx, 0x3fe
jle 0x5f5fdd
mov eax, esi
neg ecx
add ecx, 0x41e
shld eax, edx, 0xb
or eax, 0x80000000
shr eax, cl
test esi, esi
jge 0x5f5fdf
neg eax
jmp 0x5f5fdf
xor eax, eax
mov edx, dword [ebp - 0x68]
mov dword [edx + 0x34], eax
xor eax, eax
xor edx, edx
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x34], edx
mov eax, dword [ebp - 0x34]
lea edx, [eax + eax]
lea ecx, [edx + edx]
mov dword [ebp - 0x80], edx
add ecx, ecx
add ecx, ecx
mov eax, dword [ebp + ecx - 0x4f8]
test eax, eax
je 0x5f6048
mov edx, dword [ebp - 0x28]
and edx, eax
mov dword [ebp - 0x54], edx
push edi
call fcn.005f8ae0
pop ecx
mov ecx, eax
mov edx, dword [ebp - 0x54]
mov esi, dword [ebp - 0x80]
sar edx, cl
mov dword [ebp - 0x54], edx
mov edx, dword [ebp + esi*8 - 0x4f0]
cmp edx, 2
je 0x5f8693
cmp edx, 1
je 0x5f8630
cmp edx, 3
je 0x5f82cf
mov eax, dword [ebp - 0x34]
inc eax
cmp eax, 5
mov dword [ebp - 0x34], eax
jl 0x5f5fef
mov eax, dword [ebp - 0x2c]
mov edx, dword [eax + 0x98]
mov ecx, dword [ebp - 0x50]
call dword [edx + 0xc]
mov esi, dword [eax]
mov edx, dword [ebp - 0x28]
mov ecx, eax
push edx
call dword [esi + 0x34]
lea ecx, [eax + 0x20]
mov eax, dword [eax + 0x20]
call dword [eax + 0xc]
mov esi, dword [eax + 0x44]
xor eax, eax
test esi, esi
mov edx, dword [ebp - 0x68]
mov edi, dword [ebp - 0x2c]
sete al
mov ecx, dword [ebp - 0x50]
mov byte [edx + 0x30], al
mov eax, dword [edi + 0x98]
call dword [eax + 0xc]
mov esi, dword [eax]
mov edx, dword [ebp - 0x28]
mov ecx, eax
push edx
call dword [esi + 0x34]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
lea ecx, [eax + 0x48]
mov eax, dword [eax + 0x48]
call dword [eax + 0xc]
mov eax, dword [eax]
test eax, eax
je 0x5f61b5
mov eax, edi
mov edx, dword [eax + 0x98]
mov ecx, dword [ebp - 0x50]
call dword [edx + 0xc]
mov esi, dword [eax]
mov edx, dword [ebp - 0x28]
mov ecx, eax
push edx
call dword [esi + 0x34]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
lea ecx, [eax + 0x48]
mov eax, dword [eax + 0x48]
call dword [eax + 0xc]
push dword [eax + 0xc]
call fcn.005d2030
pop ecx
mov eax, dword [ebp - 0x68]
mov edx, edi
mov ecx, dword [ebp - 0x50]
fstp dword [eax + 0xa5c8]
mov esi, dword [edx + 0x98]
call dword [esi + 0xc]
mov esi, dword [eax]
mov edx, dword [ebp - 0x28]
mov ecx, eax
push edx
call dword [esi + 0x34]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
lea ecx, [eax + 0x48]
mov eax, dword [eax + 0x48]
call dword [eax + 0xc]
mov esi, dword [eax + 0x14]
shr esi, 0x1f
mov edx, dword [ebp - 0x68]
fild dword [eax + 0x14]
mov al, byte [0x9ec0f4]
fadd dword [esi*4 + 0xa307d0]
fmul dword [0xa307b8]
fstp dword [edx + 0xa5cc]
mov ecx, dword [ebp - 0x50]
mov byte [edx + 0xa5c4], al
mov eax, dword [edi + 0x98]
call dword [eax + 0xc]
mov esi, dword [eax]
mov edx, dword [ebp - 0x28]
mov ecx, eax
push edx
call dword [esi + 0x34]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
lea ecx, [eax + 0x48]
mov eax, dword [eax + 0x48]
call dword [eax + 0xc]
mov eax, dword [eax + 4]
test eax, eax
je 0x5f827b
cmp eax, 1
je 0x5f61a8
cmp eax, 2
jne 0x5f6194
mov eax, dword [ebp - 0x68]
mov dword [eax + 0xa5b8], 4
jmp 0x5f61b5
cmp eax, 3
jne 0x5f61b5
mov eax, dword [ebp - 0x68]
mov dword [eax + 0xa5b8], 9
jmp 0x5f61b5
mov eax, dword [ebp - 0x68]
mov dword [eax + 0xa5b8], 5
xor esi, esi
lea eax, [esi + esi]
add eax, eax
sub eax, esi
add eax, eax
add eax, eax
sub eax, esi
lea edx, [esi + eax*8]
lea edi, [edx + edx]
add edi, edi
sub edi, edx
add edi, edi
add edi, edi
add edi, dword [ebp - 0x68]
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x50]
mov dword [ebp - 0x54], edi
mov dword [edi + 0x6b8], 1
mov dword [edi + 0x9f8], 2
mov dword [edi + 0x6f0], 0
mov dword [edi + 0x5fc], 0x3f800000
mov eax, dword [eax + 0x98]
call dword [eax + 0xc]
mov edi, dword [eax]
mov edx, dword [ebp - 0x28]
mov ecx, eax
push edx
call dword [edi + 0x34]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
lea ecx, [eax + 0x14]
mov eax, dword [eax + 0x14]
push esi
call dword [eax + 0x34]
push dword [eax + 4]
call fcn.005d200c
pop ecx
fld qword [0xa30780]
fmulp st(1)
mov eax, dword [ebp - 0x54]
fst dword [eax + 0x6f8]
cmp esi, 1
je 0x5f825a
fstp st(0)
mov eax, dword [ebp - 0x54]
mov edx, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x50]
mov dword [eax + 0x6fc], 0
mov edi, dword [edx + 0x98]
call dword [edi + 0xc]
mov edi, dword [eax]
mov edx, dword [ebp - 0x28]
mov ecx, eax
push edx
call dword [edi + 0x34]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
lea ecx, [eax + 0x14]
mov eax, dword [eax + 0x14]
push esi
call dword [eax + 0x34]
push dword [eax + 8]
call fcn.005d200c
pop ecx
fld qword [0xa30780]
fmulp st(1)
mov eax, dword [ebp - 0x54]
fstp dword [eax + 0x700]
mov edx, dword [ebp - 0x2c]
mov edi, dword [edx + 0x98]
mov ecx, dword [ebp - 0x50]
call dword [edi + 0xc]
mov edi, dword [eax]
mov edx, dword [ebp - 0x28]
mov ecx, eax
push edx
call dword [edi + 0x34]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
lea ecx, [eax + 0x14]
mov eax, dword [eax + 0x14]
push esi
call dword [eax + 0x34]
push dword [eax + 0x14]
call fcn.005d200c
pop ecx
fld qword [0xa30780]
fmulp st(1)
mov eax, dword [ebp - 0x54]
fstp dword [eax + 0x704]
mov edx, dword [ebp - 0x2c]
mov edi, dword [edx + 0x98]
mov ecx, dword [ebp - 0x50]
call dword [edi + 0xc]
mov edi, dword [eax]
mov edx, dword [ebp - 0x28]
mov ecx, eax
push edx
call dword [edi + 0x34]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
lea ecx, [eax + 0x14]
mov eax, dword [eax + 0x14]
push esi
call dword [eax + 0x34]
mov edx, dword [eax + 0x10]
shr edx, 0x1f
inc esi
fild dword [eax + 0x10]
mov eax, dword [ebp - 0x54]
cmp esi, 2
fadd dword [edx*4 + 0xa307d0]
fmul dword [0xa307b0]
fstp dword [eax + 0x6f4]
jge 0x5f6345
cmp esi, 1
je 0x5f8244
jmp 0x5f61b7
mov edx, 1
mov ecx, dword [ebp - 0x68]
mov eax, 4
mov word [ecx + 0x5f8], dx
lea esi, [ecx + 0xa28]
mov edi, dword [ecx + 0xa5c8]
mov word [ecx + 0xa24], ax
mov eax, dword [ebp - 0x2c]
mov dword [ecx + 0xae4], edx
mov dword [ebp - 0x80], esi
fld dword [ecx + 0xa5c8]
mov dword [ecx + 0xa28], edi
mov dword [ecx + 0xa5c8], 0
fsub dword [0xa307bc]
fstp dword [ecx + 0xa28]
mov eax, dword [eax + 0x98]
mov ecx, dword [ebp - 0x50]
call dword [eax + 0xc]
mov esi, dword [eax]
mov edx, dword [ebp - 0x28]
mov ecx, eax
push edx
call dword [esi + 0x34]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
lea ecx, [eax + 0x14]
mov eax, dword [eax + 0x14]
push 2
call dword [eax + 0x34]
mov eax, dword [eax + 0x38]
test eax, eax
je 0x5f648f
mov esi, dword [ebp - 0x68]
mov eax, 2
mov edx, 3
mov dword [esi + 0xf10], 1
mov edi, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x50]
mov dword [esi + 0x1250], eax
mov dword [esi + 0xf48], eax
mov word [esi + 0xe50], dx
mov eax, dword [edi + 0x98]
call dword [eax + 0xc]
mov esi, dword [eax]
mov edx, dword [ebp - 0x28]
mov ecx, eax
push edx
call dword [esi + 0x34]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
lea ecx, [eax + 0x14]
mov eax, dword [eax + 0x14]
push 2
call dword [eax + 0x34]
fild dword [eax + 0x38]
fmul dword [0xa307ac]
mov eax, dword [ebp - 0x68]
mov edx, edi
mov ecx, dword [ebp - 0x50]
fstp dword [eax + 0xe54]
mov esi, dword [edx + 0x98]
call dword [esi + 0xc]
mov esi, dword [eax]
mov edx, dword [ebp - 0x28]
mov ecx, eax
push edx
call dword [esi + 0x34]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
lea ecx, [eax + 0x14]
mov eax, dword [eax + 0x14]
push 2
call dword [eax + 0x34]
push dword [eax + 4]
call fcn.005d200c
pop ecx
fld qword [0xa30780]
fmulp st(1)
mov eax, dword [ebp - 0x68]
fstp dword [eax + 0x115c]
mov dword [eax + 0x1160], 0
mov dword [eax + 0x1158], 0
xor esi, esi
mov eax, dword [ebp - 0x68]
lea edx, [eax + 0x127c]
mov dword [ebp - 0xd4], edx
lea ecx, [eax + 0x167c]
lea edi, [eax + 0x1344]
mov dword [ebp - 0xc4], ecx
lea edx, [eax + 0x1684]
mov dword [ebp - 0x8c], edi
mov dword [ebp - 0x88], edx
lea edx, [eax + 0x1280]
lea eax, [eax + 0x127c]
mov dword [ebp - 0x60], edx
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x2c]
mov edx, dword [eax + 0x98]
mov ecx, dword [ebp - 0x50]
call dword [edx + 0xc]
mov edi, dword [eax]
mov edx, dword [ebp - 0x28]
mov ecx, eax
push edx
call dword [edi + 0x34]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
mov edx, dword [eax]
mov ecx, eax
push esi
call dword [edx + 0x34]
mov eax, dword [eax + 4]
test eax, eax
je 0x5f65df
mov edx, 1
mov eax, dword [ebp - 0xd4]
mov edi, dword [ebp - 0xc4]
mov dword [eax + 0xc0], edx
mov eax, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x50]
mov dword [edi], edx
mov dword [eax], 2
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 0x98]
call dword [eax + 0xc]
mov edi, dword [eax]
mov edx, dword [ebp - 0x28]
mov ecx, eax
push edx
call dword [edi + 0x34]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
mov edx, dword [eax]
mov ecx, eax
push esi
call dword [edx + 0x34]
push dword [eax]
call fcn.005d200c
pop ecx
mov eax, dword [ebp - 0x88]
mov edx, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x50]
fstp dword [eax]
mov edi, dword [edx + 0x98]
call dword [edi + 0xc]
mov edi, dword [eax]
mov edx, dword [ebp - 0x28]
mov ecx, eax
push edx
call dword [edi + 0x34]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
mov edx, dword [eax]
mov ecx, eax
push esi
call dword [edx + 0x34]
mov edx, dword [eax + 4]
shr edx, 0x1f
test esi, esi
fild dword [eax + 4]
mov eax, dword [ebp - 0x60]
fadd dword [edx*4 + 0xa307d0]
fmul dword [0xa307a8]
fstp dword [eax]
je 0x5f65d4
cmp esi, 1
jne 0x5f65c2
mov eax, 4
mov edx, dword [ebp - 0x54]
mov word [edx], ax
jmp 0x5f65df
cmp esi, 2
jne 0x5f65df
mov eax, 3
mov edx, dword [ebp - 0x54]
mov word [edx], ax
jmp 0x5f65df
mov eax, 1
mov edx, dword [ebp - 0x54]
mov word [edx], ax
inc esi
cmp esi, 3
jl 0x5f64d6
mov esi, dword [ebp - 0x30]
lea edi, [esi + esi]
add edi, edi
sub edi, esi
add edi, edi
add edi, edi
add edi, edi
lea edx, [edi + edi]
add edx, edx
add edx, edx
add edx, edx
add edx, edx
sub edx, edi
mov eax, 1
mov ecx, dword [ebp - 0x50]
add edx, dword [ebp - 0x68]
mov dword [ebp - 0x54], edx
mov dword [edx + 0x4978], eax
mov byte [edx + 0x4b97], al
mov byte [edx + 0x4b98], 6
mov word [edx + 0x48b8], ax
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 0x98]
call dword [eax + 0xc]
mov esi, dword [eax]
mov edx, dword [ebp - 0x28]
mov ecx, eax
push edx
call dword [esi + 0x34]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
lea ecx, [eax + 0x28]
mov eax, dword [eax + 0x28]
call dword [eax + 0xc]
mov edx, dword [eax + 4]
neg edx
add edx, 6
mov dword [ebp - 0xe8], edx
shr edx, 0x1f
mov ecx, dword [ebp - 0x54]
fild dword [ebp - 0xe8]
fadd dword [edx*4 + 0xa307d0]
fmul qword [0xa30778]
mov edx, 0x3f800000
fst dword [ecx + 0x48bc]
fcom dword [0xa307c8]
fnstsw ax
sahf
jbe 0x5f66a2
fstp st(0)
fld dword [0xa307c8]
mov eax, ecx
mov dword [eax + 0x48bc], edx
xor edx, edx
fcomp dword [0xa307bc]
fnstsw ax
sahf
jae 0x5f66b7
mov eax, ecx
mov dword [eax + 0x48bc], edx
inc dword [ebp - 0x30]
mov eax, dword [ebp - 0x2c]
mov edx, dword [eax + 0x98]
mov ecx, dword [ebp - 0x50]
call dword [edx + 0xc]
mov esi, dword [eax]
mov edx, dword [ebp - 0x28]
mov ecx, eax
push edx
call dword [esi + 0x34]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
lea ecx, [eax + 0x48]
mov eax, dword [eax + 0x48]
call dword [eax + 0xc]
mov eax, dword [eax + 0x20]
cmp eax, 0x64
jae 0x5f67e9
mov esi, dword [ebp - 0x30]
lea edi, [esi + esi]
add edi, edi
sub edi, esi
add edi, edi
add edi, edi
add edi, edi
lea ecx, [edi + edi]
add ecx, ecx
add ecx, ecx
add ecx, ecx
add ecx, ecx
sub ecx, edi
mov eax, 1
mov edx, 4
add ecx, dword [ebp - 0x68]
mov dword [ebp - 0x88], ecx
mov dword [ecx + 0x4978], eax
mov byte [ecx + 0x4b97], al
mov byte [ecx + 0x4b98], 6
mov eax, dword [ebp - 0x2c]
mov word [ecx + 0x48b8], dx
mov eax, dword [eax + 0x98]
mov ecx, dword [ebp - 0x50]
call dword [eax + 0xc]
mov esi, dword [eax]
mov edx, dword [ebp - 0x28]
mov ecx, eax
push edx
call dword [esi + 0x34]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
lea ecx, [eax + 0x48]
mov eax, dword [eax + 0x48]
call dword [eax + 0xc]
mov edx, dword [eax + 0x20]
neg edx
add edx, 0x64
mov dword [ebp - 0xe8], edx
shr edx, 0x1f
mov ecx, dword [ebp - 0x88]
fild dword [ebp - 0xe8]
fadd dword [edx*4 + 0xa307d0]
fmul dword [0xa307b0]
fmul st(0)
mov edx, 0x3f800000
fst dword [ecx + 0x48bc]
fcom dword [0xa307c8]
fnstsw ax
sahf
jbe 0x5f67b6
fstp st(0)
fld dword [0xa307c8]
mov eax, ecx
mov dword [eax + 0x48bc], edx
fld dword [0xa307a4]
fld st(1)
mov edx, dword [ebp - 0x80]
fadd dword [edx]
fcomp st(1)
fnstsw ax
sahf
jbe 0x5f67e2
fsubrp st(1)
fst dword [edx]
xor edx, edx
fcomp dword [0xa307bc]
fnstsw ax
sahf
jae 0x5f67e6
mov eax, dword [ebp - 0x80]
mov dword [eax], edx
jmp 0x5f67e6
fstp st(0)
fstp st(0)
inc dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
lea esi, [eax + eax]
add esi, esi
sub esi, eax
add esi, esi
add esi, esi
add esi, esi
lea eax, [esi + esi]
add eax, eax
add eax, eax
add eax, eax
add eax, eax
sub eax, esi
mov edx, 1
mov edi, 3
add eax, dword [ebp - 0x68]
mov cl, byte [ebp - 0x84]
test cl, cl
mov dword [eax + 0x4978], edx
mov byte [eax + 0x4b97], dl
mov byte [eax + 0x4b98], dl
mov word [eax + 0x48b8], di
mov dword [eax + 0x48bc], 0x3daaaaab
je 0x5f6869
mov edx, 1
mov dword [eax + 0x4c60], edx
mov byte [eax + 0x4e7f], dl
mov byte [eax + 0x4e80], 8
mov word [eax + 0x4ba0], dx
mov dword [eax + 0x4ba4], 0x3f800000
mov eax, 0x9ee0a0
mov edx, 0x9ee0a0
mov ecx, dword [ebp - 0x90]
mov dword [ebp - 0x54], eax
test ecx, ecx
mov dword [ebp - 0x60], edx
je 0x5f6893
mov eax, 0xa31c04
mov edx, 0xa12990
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x60], edx
xor eax, eax
xor ecx, ecx
mov dword [ebp - 0x30], eax
lea eax, [ecx + ecx]
mov edx, dword [ebp + eax*8 - 0x4f8]
test edx, edx
je 0x5f68ab
inc dword [ebp - 0x30]
inc ecx
cmp ecx, 5
jl 0x5f689a
mov eax, dword [ebp - 0x30]
test eax, eax
jle 0x5f69f3
lea eax, [ebp - 0x3a8]
mov edi, dword [ebp - 0x54]
mov dword [ebp - 0x60], eax
xor eax, eax
mov dh, byte [edi]
mov ecx, edi
test dh, dh
je 0x5f68da
inc ecx
inc eax
mov dl, byte [ecx]
test dl, dl
jne 0x5f68d2
test eax, eax
jbe 0x5f68e5
mov eax, 0xa31c10
jmp 0x5f68ea
mov eax, 0xa31c14
lea edx, [ebp - 0x3a8]
push eax
push 0x9f5b18
push edx
call fcn.0089882d
add esp, 0xc
xor eax, eax
xor esi, esi
mov dword [ebp - 0x34], eax
lea eax, [esi + esi]
lea edx, [eax + eax]
add edx, edx
add edx, edx
mov ecx, dword [ebp + edx - 0x4f8]
test ecx, ecx
je 0x5f69e9
inc dword [ebp - 0x34]
mov edx, dword [ebp + eax*8 - 0x4f0]
cmp edx, 1
je 0x5f6964
cmp edx, 2
jne 0x5f6949
lea eax, [ebp - 0x2a8]
push 0xa24ee4
push eax
call fcn.0089882d
add esp, 8
jmp 0x5f697f
cmp edx, 3
jne 0x5f697f
lea eax, [ebp - 0x2a8]
push 0xa31c20
push eax
call fcn.0089882d
add esp, 8
jmp 0x5f697f
lea edx, [ebp - 0x2a8]
push dword [ebp + eax*8 - 0x4ec]
push 0xa31c18
push edx
call fcn.0089882d
add esp, 0xc
lea edi, [ebp - 0x3a8]
lea edx, [ebp - 0x2a8]
mov ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
dec edi
mov al, byte [edx]
inc edx
mov byte [edi], al
inc edi
test al, al
jne 0x5f6995
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x34]
cmp eax, edx
jne 0x5f69ca
lea edi, [ebp - 0x3a8]
mov edx, 0xa12990
mov ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
dec edi
mov al, byte [edx]
inc edx
mov byte [edi], al
inc edi
test al, al
jne 0x5f69be
jmp 0x5f69e9
lea edi, [ebp - 0x3a8]
mov edx, 0xa31c10
mov ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
dec edi
mov al, byte [edx]
inc edx
mov byte [edi], al
inc edi
test al, al
jne 0x5f69df
inc esi
cmp esi, 5
jl 0x5f6906
mov eax, dword [ebp - 0x68]
mov edx, dword [eax + 0xa668]
test edx, edx
jl 0x5f6a10
mov eax, 0x9ee0a0
mov edx, 0xa31c28
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x54], edx
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x3c]
push eax
call fcn.0057cee8
mov edx, dword [ebp - 0x68]
lea edi, [edx + 8]
inc eax
mov ecx, dword [ebp - 0x60]
mov esi, dword [ebp - 0x54]
push ecx
push esi
push eax
push 0xa31c40
push edi
call fcn.00406768
add esp, 0x14
lea ecx, [ebp - 0x5bc]
call fcn.004e2e74
movzx eax, al
test eax, eax
jne 0x5f6a59
mov eax, dword [ebp - 0x68]
mov dword [eax + 0xa624], 3
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x3c]
push eax
call fcn.0061c494
mov esi, eax
test esi, esi
jl 0x5f822f
mov edx, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x3c]
push edx
call fcn.0057cee8
push eax
mov ecx, dword [ebp - 0x3c]
call fcn.0057d208
mov edx, dword [ebp - 0x3c]
mov eax, dword [edx + esi*4 + 0x4000]
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x3c]
push eax
call fcn.0057cee8
push eax
mov ecx, dword [ebp - 0x3c]
call fcn.0057c994
mov dword [ebp - 0x60], eax
lea ecx, [eax + 0x1b8]
call fcn.005f8e38
mov eax, dword [ebp - 0x2c]
mov edx, dword [eax + 0x98]
mov ecx, dword [ebp - 0x50]
call dword [edx + 0xc]
mov esi, dword [eax]
mov edx, dword [ebp - 0x28]
mov ecx, eax
push edx
call dword [esi + 0x34]
lea ecx, [eax + 0x20]
mov eax, dword [eax + 0x20]
call dword [eax + 0xc]
mov eax, dword [eax + 0x10]
test eax, eax
je 0x5f6ba5
and dword [ebp - 0xa8], 0xff000000
mov eax, dword [ebp - 0x2c]
mov edx, dword [eax + 0x98]
mov dword [ebp - 0x234], 0x3f800000
mov ecx, dword [ebp - 0x50]
call dword [edx + 0xc]
mov esi, dword [eax]
mov edx, dword [ebp - 0x28]
mov ecx, eax
push edx
call dword [esi + 0x34]
lea ecx, [eax + 0x40]
mov eax, dword [eax + 0x40]
call dword [eax + 0xc]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x2c]
mov esi, dword [edx + 0x98]
mov dword [ebp - 0x80], eax
mov ecx, dword [ebp - 0x50]
call dword [esi + 0xc]
mov esi, dword [eax]
mov edx, dword [ebp - 0x28]
mov ecx, eax
push edx
call dword [esi + 0x34]
lea ecx, [eax + 0x40]
mov eax, dword [eax + 0x40]
call dword [eax + 0xc]
mov ecx, dword [eax + 0xc]
mov esi, dword [ebp - 0xa8]
or esi, 0x300
mov dword [ebp - 0xa8], esi
mov edx, dword [ebp - 0x80]
mov eax, dword [ebp - 0x60]
mov dword [eax + 0x1b8], edx
mov edi, dword [ebp - 0x234]
test edx, edx
mov dword [eax + 0x1bc], ecx
mov ecx, 0
mov dword [eax + 0x1c0], ecx
mov dword [eax + 0x1c4], esi
mov dword [eax + 0x1c8], edi
mov dword [eax + 0x1cc], ecx
jge 0x5f6b9b
mov eax, edx
mov edx, dword [ebp - 0x60]
mov dword [edx + 0x1cc], eax
mov eax, dword [ebp - 0x60]
mov byte [eax + 0x1c6], 1
mov eax, dword [ebp - 0x6c]
mov edx, dword [eax + 0x7dc]
mov ecx, dword [ebp - 0x78]
call dword [edx + 0xc]
lea ecx, [eax + 0xcc]
mov eax, dword [eax + 0xcc]
call dword [eax + 0xc]
mov esi, dword [eax]
mov edx, dword [ebp - 0x40]
mov ecx, eax
push edx
call dword [esi + 0x34]
lea ecx, [ebp - 0x530]
add eax, 0x10
push eax
call fcn.004061ec
lea ecx, [ebp - 0x22c]
call fcn.0041cbf8
mov dword [ebp - 4], 0x14
lea ecx, [ebp - 0x618]
lea edi, [ebp - 0x644]
lea esi, [ebp - 0x530]
lea edx, [ebp - 0x22c]
mov eax, dword [ebp - 0x40]
push 0xffffffffffffffff
push eax
push edx
push esi
push edi
call fcn.004e958c
mov dword [ebp - 4], 0x13
lea ecx, [ebp - 0x22c]
call fcn.00406220
push 0
call fcn.00410b40
mov dword [ebp - 0x54], eax
add esp, 4
xor eax, eax
lea ecx, [ebp - 0x5bc]
mov dword [ebp - 0x80], eax
call fcn.004e2e74
movzx eax, al
test eax, eax
je 0x5f821d
lea ecx, [ebp - 0x228]
call fcn.004e4b6c
mov dword [ebp - 4], 0x15
mov eax, 1
mov edx, dword [ebp - 0x9c]
test edx, edx
mov dword [ebp - 0x84], eax
je 0x5f6c90
mov edi, dword [ebp - 0x608]
mov esi, dword [ebp - 0x40]
movzx eax, byte [esi + edi]
xor edx, edx
test eax, eax
sete dl
mov dword [ebp - 0x84], edx
lea edi, [ebp - 0x618]
lea esi, [ebp - 0x228]
lea edx, [ebp - 0x524]
mov eax, dword [ebp - 0x84]
mov ecx, dword [ebp - 0x80]
push eax
mov eax, dword [ebp - 0x98]
push ecx
mov ecx, dword [ebp - 0x60]
push eax
mov eax, dword [ebp - 0x54]
push 1
push edx
push 0
push eax
mov eax, dword [ebp - 0xa4]
push eax
push esi
push edi
call fcn.00525aac
mov esi, eax
test esi, esi
je 0x5f6d3a
mov edx, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x3c]
push edx
call fcn.0057ceb4
push eax
mov ecx, dword [ebp - 0x3c]
call fcn.0057cf20
cmp esi, 4
je 0x5f700c
mov dword [ebp - 4], 0x13
lea eax, [ebp - 0x228]
mov dword [ebp - 0x760], eax
mov dword [ebp - 4], 0x20
mov dword [ebp - 4], 0x13
mov edi, dword [ebp - 0x224]
mov esi, dword [ebp - 0x220]
cmp edi, esi
je 0x5f6fec
mov ecx, edi
call fcn.00411784
add edi, 0x10
cmp edi, esi
jne 0x5f6d27
jmp 0x5f6fe6
xor eax, eax
lea ecx, [ebp - 0x218]
mov dword [ebp - 0x98], eax
call fcn.0041cbf8
mov dword [ebp - 4], 0x16
lea ecx, [ebp - 0x618]
lea eax, [ebp - 0x214]
push eax
call fcn.004e4df4
mov dword [ebp - 4], 0x17
lea ecx, [ebp - 0x214]
lea eax, [ebp - 0x204]
push 0
push eax
call fcn.004e5490
mov dword [ebp - 4], 0x18
lea eax, [ebp - 0x218]
push dword [ebp - 0x204]
push 0xa0947c
push eax
call fcn.00406768
add esp, 0xc
mov dword [ebp - 4], 0x17
lea ecx, [ebp - 0x204]
call fcn.00406220
mov dword [ebp - 4], 0x16
lea ecx, [ebp - 0x214]
call fcn.0040b540
mov eax, dword [ebp - 0x218]
add esp, 0xffffffec
lea ecx, [ebp - 0x524]
mov dword [esp], eax
fld dword [ebp - 0x38]
fstp dword [esp + 4]
mov dword [esp + 8], 0
mov byte [esp + 0xc], 1
mov dword [esp + 0x10], 0xa31c50
call fcn.00565d60
movzx eax, al
test eax, eax
je 0x5f6e10
mov al, 1
mov dl, 1
mov byte [ebp - 0xb4], al
mov byte [ebp - 0xac], dl
mov al, byte [ebp - 0xac]
test al, al
jne 0x5f81f4
mov edi, dword [ebp - 0x2c]
mov al, byte [edi]
mov esi, dword [ebp - 0x60]
mov byte [esi + 0x29a], al
mov dl, byte [edi + 4]
mov eax, dword [ebp - 0x64]
mov byte [esi + 0x29b], dl
mov al, byte [eax]
mov ecx, dword [ebp - 0x50]
mov byte [esi + 0x298], al
mov eax, dword [ebp - 0x5c]
mov al, byte [eax]
mov byte [esi + 0x299], al
mov eax, dword [edi + 0x98]
call dword [eax + 0xc]
mov esi, dword [eax]
mov edx, dword [ebp - 0x28]
mov ecx, eax
push edx
call dword [esi + 0x34]
lea ecx, [eax + 0x20]
mov eax, dword [eax + 0x20]
call dword [eax + 0xc]
mov al, byte [eax + 4]
mov ecx, dword [ebp - 0x60]
mov byte [ecx + 0x2a0], al
call fcn.00524364
mov eax, edi
mov edx, dword [eax + 0x98]
mov ecx, dword [ebp - 0x50]
call dword [edx + 0xc]
mov esi, dword [eax]
mov edx, dword [ebp - 0x28]
mov ecx, eax
push edx
call dword [esi + 0x34]
lea ecx, [eax + 0x20]
mov eax, dword [eax + 0x20]
call dword [eax + 0xc]
add esp, 0xfffffff0
movsx eax, word [eax + 8]
fld qword [0xa30770]
fstp qword [esp]
mov dword [ebp - 0xe8], eax
fild dword [ebp - 0xe8]
fmul qword [0xa30768]
fstp qword [esp + 8]
call fcn.0088b9f8
add esp, 0x10
mov eax, dword [ebp - 0x60]
fstp dword [eax + 0x2ac]
mov edx, edi
mov esi, dword [edx + 0x98]
mov ecx, dword [ebp - 0x50]
call dword [esi + 0xc]
mov esi, dword [eax]
mov edx, dword [ebp - 0x28]
mov ecx, eax
push edx
call dword [esi + 0x34]
lea ecx, [eax + 0x20]
mov eax, dword [eax + 0x20]
call dword [eax + 0xc]
mov eax, dword [eax + 0xc]
cmp eax, 0x80000000
jne 0x5f6f10
mov eax, dword [ebp - 0x60]
mov dword [eax + 0x2a4], 0
jmp 0x5f6f64
mov eax, edi
mov edx, dword [eax + 0x98]
mov ecx, dword [ebp - 0x50]
call dword [edx + 0xc]
mov esi, dword [eax]
mov edx, dword [ebp - 0x28]
mov ecx, eax
push edx
call dword [esi + 0x34]
lea ecx, [eax + 0x20]
mov eax, dword [eax + 0x20]
call dword [eax + 0xc]
fild dword [eax + 0xc]
add esp, 0xfffffff0
fmul qword [0xa30760]
fchs
fld qword [0xa30770]
fstp qword [esp]
fmul qword [0xa30778]
fstp qword [esp + 8]
call fcn.0088b9f8
add esp, 0x10
mov eax, dword [ebp - 0x60]
fstp dword [eax + 0x2a4]
mov eax, edi
mov edx, dword [eax + 0x98]
mov ecx, dword [ebp - 0x50]
call dword [edx + 0xc]
mov esi, dword [eax]
mov edx, dword [ebp - 0x28]
mov ecx, eax
push edx
call dword [esi + 0x34]
lea ecx, [eax + 0x20]
mov eax, dword [eax + 0x20]
call dword [eax + 0xc]
mov eax, dword [eax + 0x38]
cmp eax, 0x3f
jle 0x5f6f93
neg eax
add eax, 0x3f
add eax, 0x40
mov edi, dword [ebp - 0x60]
mov dword [ebp - 0xe8], eax
xor al, al
fild dword [ebp - 0xe8]
fmul qword [0xa30758]
fstp dword [edi + 0x2a8]
mov byte [ebp - 0x30], al
push 1
mov ecx, dword [ebp - 0x3c]
push edi
call fcn.0057d29c
mov esi, eax
test esi, esi
je 0x5f7e01
mov dl, 1
mov ecx, dword [ebp - 0x3c]
mov byte [ebp - 0x30], dl
push edi
call fcn.0057ceb4
push eax
mov ecx, dword [ebp - 0x3c]
call fcn.0057cf20
mov edi, esi
jmp 0x5f6fb6
mov edi, dword [ebp - 0x224]
push edi
call fcn.00888fb0
pop ecx
xor eax, eax
mov dword [ebp - 0x224], eax
mov dword [ebp - 0x220], eax
mov dword [ebp - 0x21c], eax
jmp 0x5f5e7f
mov al, 1
mov byte [ebp - 0xb4], al
mov dword [ebp - 4], 0x13
lea ecx, [ebp - 0x228]
call fcn.0040b540
mov al, 1
mov byte [ebp - 0xac], al
mov al, byte [ebp - 0xac]
test al, al
jne 0x5f7043
inc dword [ebp - 0x94]
jmp 0x5f5944
lea ecx, [ebp - 0x5bc]
call fcn.004e2e74
movzx eax, al
test eax, eax
jne 0x5f7088
xor edx, edx
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax + 0x8004]
test eax, eax
jle 0x5f7781
mov esi, dword [ebp - 0x3c]
mov eax, dword [esi + edx*4]
mov ecx, dword [eax + 0x4c]
mov byte [ecx + 0x784], 0
mov eax, dword [esi + 0x8004]
inc edx
cmp edx, eax
jl 0x5f7068
jmp 0x5f7781
mov al, byte [ebp - 0xac]
test al, al
jne 0x5f7431
mov eax, dword [ebp - 0x3c]
mov edx, dword [eax + 0x8000]
test edx, edx
jg 0x5f70fa
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x3c]
push dword [eax + 0x16cf8]
push dword [eax + 0x16974]
push 0xffffffffffffffff
call fcn.0056f2e0
mov dword [ebp - 0x74], eax
lea ecx, [ebp - 0x148]
push 0xa31c6c
call fcn.004061ac
mov dword [ebp - 4], 0x43
mov ecx, dword [ebp - 0x74]
add ecx, 8
lea eax, [ebp - 0x148]
push eax
call fcn.004061ec
mov dword [ebp - 4], 0x13
lea ecx, [ebp - 0x148]
call fcn.00406220
lea ecx, [ebp - 0x5bc]
call fcn.004e2e74
movzx eax, al
test eax, eax
jne 0x5f737a
mov eax, dword [ebp - 0x9c]
test eax, eax
je 0x5f72d8
mov esi, dword [ebp - 0x6c]
mov eax, dword [esi + 0x16fcc]
mov edx, dword [ebp - 0x3c]
mov dword [ebp - 0xc4], eax
lea ecx, [ebp - 0x5bc]
lea edi, [ebp - 0x124]
mov dword [esi + 0x16fcc], edx
push edi
call fcn.004e4e80
mov dword [ebp - 4], 0x46
lea ecx, [ebp - 0x628]
mov eax, dword [ebp - 0xbc]
push 0
push eax
call fcn.004e2e90
mov dword [ebp - 4], 0x47
lea ecx, [ebp - 0x628]
push 1
call fcn.004e5a44
lea ecx, [ebp - 0x124]
lea eax, [ebp - 0x628]
push eax
call fcn.004e3380
add esp, 0xfffffff8
mov ecx, esp
push 0x9ffe20
call fcn.004061ac
lea ecx, [ebp - 0x124]
mov dword [esp + 4], 0xffffffff
call fcn.004e5ef4
add esp, 0xffffffc4
lea ecx, [esp + 4]
xor eax, eax
mov dword [ebp - 0x6b8], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], eax
mov dword [ebp - 4], 0x48
lea eax, [ebp - 0x124]
push eax
call fcn.004e2d98
mov dword [ebp - 4], 0x47
mov dword [ebp - 4], 0x47
lea ecx, [esp + 0x14]
xor eax, eax
mov dword [ebp - 0x6b0], ecx
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], eax
mov dword [ebp - 4], 0x49
lea eax, [ebp - 0x5ac]
push eax
call fcn.004e2d98
mov dword [ebp - 4], 0x47
mov dword [ebp - 4], 0x47
xor eax, eax
mov edx, 0xffffffff
mov ecx, esi
mov dword [esp], eax
mov byte [esp + 0x24], al
mov dword [esp + 0x28], eax
mov byte [esp + 0x2c], al
mov byte [esp + 0x30], al
mov dword [esp + 0x34], edx
mov dword [esp + 0x38], edx
call fcn.0051bb64
mov eax, dword [ebp - 0xc4]
mov edx, esi
mov dword [edx + 0x16fcc], eax
mov dword [ebp - 4], 0x46
lea eax, [ebp - 0x628]
mov dword [ebp - 0x6a8], eax
mov dword [ebp - 4], 0x4a
mov dword [ebp - 4], 0x46
mov eax, dword [ebp - 0x624]
mov edx, dword [ebp - 0x620]
cmp eax, edx
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x54], edx
je 0x5f7d04
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x6a0], eax
mov dword [ebp - 4], 0x4b
mov dword [ebp - 4], 0x4c
mov dword [ebp - 4], 0x4b
lea ecx, [eax + 0xc]
call fcn.00406220
mov eax, dword [ebp - 0x34]
lea ecx, [eax + 8]
call fcn.00406220
mov eax, dword [ebp - 0x34]
add eax, 0x10
mov edx, dword [ebp - 0x54]
mov dword [ebp - 0x34], eax
cmp eax, edx
jne 0x5f7292
jmp 0x5f7cfb
add esp, 0xffffffc4
lea ecx, [esp + 4]
xor eax, eax
mov dword [ebp - 0x6c8], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], eax
mov dword [ebp - 4], 0x44
lea eax, [ebp - 0x5bc]
push eax
call fcn.004e2d98
mov dword [ebp - 4], 0x13
mov dword [ebp - 4], 0x13
lea ecx, [esp + 0x14]
xor eax, eax
mov dword [ebp - 0x6c0], ecx
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], eax
mov dword [ebp - 4], 0x45
lea eax, [ebp - 0x5ac]
push eax
call fcn.004e2d98
mov dword [ebp - 4], 0x13
mov dword [ebp - 4], 0x13
mov esi, dword [ebx + 8]
xor eax, eax
mov edx, 0xffffffff
mov dword [esp], esi
mov ecx, dword [ebp - 0x6c]
mov byte [esp + 0x24], al
mov dword [esp + 0x28], eax
mov byte [esp + 0x2c], al
mov byte [esp + 0x30], al
mov dword [esp + 0x34], edx
mov dword [esp + 0x38], edx
call fcn.0051bb64
mov eax, dword [ebp - 0x9c]
test eax, eax
je 0x5f7396
mov eax, dword [ebp - 0x3c]
test eax, eax
je 0x5f739e
push 1
mov ecx, eax
call fcn.005f013c
jmp 0x5f739e
mov ecx, dword [ebp - 0x3c]
call fcn.0057c128
mov dword [ebp - 4], 0x12
lea ecx, [ebp - 0x524]
call fcn.00565c00
mov dword [ebp - 4], 0x11
lea eax, [ebp - 0x618]
mov dword [ebp - 0x688], eax
mov dword [ebp - 4], 0x50
mov dword [ebp - 4], 0x11
mov eax, dword [ebp - 0x614]
mov edx, dword [ebp - 0x610]
cmp eax, edx
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x3c], edx
je 0x5f7dc9
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x680], eax
mov dword [ebp - 4], 0x51
mov dword [ebp - 4], 0x52
mov dword [ebp - 4], 0x51
lea ecx, [eax + 0xc]
call fcn.00406220
mov eax, dword [ebp - 0x30]
lea ecx, [eax + 8]
call fcn.00406220
mov eax, dword [ebp - 0x30]
add eax, 0x10
mov edx, dword [ebp - 0x3c]
mov dword [ebp - 0x30], eax
cmp eax, edx
jne 0x5f73eb
jmp 0x5f7dc0
mov eax, dword [ebp - 0x9c]
test eax, eax
je 0x5f744d
mov eax, dword [ebp - 0x3c]
test eax, eax
je 0x5f745f
push 1
mov ecx, eax
call fcn.005f013c
jmp 0x5f745f
mov ecx, dword [ebp - 0x6c]
add ecx, 0x16dcc
mov eax, dword [ebx + 8]
push eax
call fcn.00566930
mov dword [ebp - 4], 0x12
lea ecx, [ebp - 0x524]
call fcn.00565c00
mov dword [ebp - 4], 0x11
lea eax, [ebp - 0x618]
mov dword [ebp - 0x708], eax
mov dword [ebp - 4], 0x37
mov dword [ebp - 4], 0x11
mov eax, dword [ebp - 0x614]
mov edx, dword [ebp - 0x610]
cmp eax, edx
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x3c], edx
je 0x5f74f2
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x700], eax
mov dword [ebp - 4], 0x38
mov dword [ebp - 4], 0x39
mov dword [ebp - 4], 0x38
lea ecx, [eax + 0xc]
call fcn.00406220
mov eax, dword [ebp - 0x30]
lea ecx, [eax + 8]
call fcn.00406220
mov eax, dword [ebp - 0x30]
add eax, 0x10
mov edx, dword [ebp - 0x3c]
mov dword [ebp - 0x30], eax
cmp eax, edx
jne 0x5f74a8
mov eax, dword [ebp - 0x614]
mov dword [ebp - 0x30], eax
push eax
call fcn.00888fb0
pop ecx
xor eax, eax
mov dword [ebp - 0x614], eax
mov dword [ebp - 0x610], eax
mov dword [ebp - 0x60c], eax
mov dword [ebp - 4], 7
lea ecx, [ebp - 0x530]
call fcn.00406220
mov dword [ebp - 4], 6
lea ecx, [ebp - 0x59c]
call fcn.00406220
mov dword [ebp - 4], 5
lea eax, [ebp - 0x5ac]
mov dword [ebp - 0x6f8], eax
mov dword [ebp - 4], 0x3a
mov dword [ebp - 4], 5
mov eax, dword [ebp - 0x5a8]
mov edx, dword [ebp - 0x5a4]
cmp eax, edx
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x3c], edx
je 0x5f75b2
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x6f0], eax
mov dword [ebp - 4], 0x3b
mov dword [ebp - 4], 0x3c
mov dword [ebp - 4], 0x3b
lea ecx, [eax + 0xc]
call fcn.00406220
mov eax, dword [ebp - 0x30]
lea ecx, [eax + 8]
call fcn.00406220
mov eax, dword [ebp - 0x30]
add eax, 0x10
mov edx, dword [ebp - 0x3c]
mov dword [ebp - 0x30], eax
cmp eax, edx
jne 0x5f7568
mov eax, dword [ebp - 0x5a8]
mov dword [ebp - 0x30], eax
push eax
call fcn.00888fb0
pop ecx
xor eax, eax
mov dword [ebp - 0x5a8], eax
mov dword [ebp - 0x5a4], eax
mov dword [ebp - 0x5a0], eax
mov dword [ebp - 4], 4
lea eax, [ebp - 0x5bc]
mov dword [ebp - 0x6e8], eax
mov dword [ebp - 4], 0x3d
mov dword [ebp - 4], 4
mov eax, dword [ebp - 0x5b8]
mov edx, dword [ebp - 0x5b4]
cmp eax, edx
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x3c], edx
je 0x5f764e
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x6e0], eax
mov dword [ebp - 4], 0x3e
mov dword [ebp - 4], 0x3f
mov dword [ebp - 4], 0x3e
lea ecx, [eax + 0xc]
call fcn.00406220
mov eax, dword [ebp - 0x30]
lea ecx, [eax + 8]
call fcn.00406220
mov eax, dword [ebp - 0x30]
add eax, 0x10
mov edx, dword [ebp - 0x3c]
mov dword [ebp - 0x30], eax
cmp eax, edx
jne 0x5f7604
mov eax, dword [ebp - 0x5b8]
mov dword [ebp - 0x30], eax
push eax
call fcn.00888fb0
pop ecx
xor eax, eax
mov dword [ebp - 0x5b8], eax
mov dword [ebp - 0x5b4], eax
mov dword [ebp - 0x5b0], eax
mov dword [ebp - 4], 3
lea ecx, [ebp - 0x604]
call fcn.0046bef8
mov dword [ebp - 4], 2
mov eax, dword [ebp - 0x608]
test eax, eax
je 0x5f7693
push eax
call fcn.00888fb0
pop ecx
mov dword [ebp - 0x608], 0
mov dword [ebp - 4], 1
lea eax, [ebp - 0x644]
mov dword [ebp - 0x6d8], eax
mov dword [ebp - 4], 0x40
mov dword [ebp - 4], 1
mov eax, dword [ebp - 0x640]
mov edx, dword [ebp - 0x63c]
cmp eax, edx
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x3c], edx
je 0x5f771e
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x6d0], eax
mov dword [ebp - 4], 0x41
mov dword [ebp - 4], 0x42
mov dword [ebp - 4], 0x41
lea ecx, [eax + 0xc]
call fcn.00406220
mov eax, dword [ebp - 0x30]
lea ecx, [eax + 8]
call fcn.00406220
mov eax, dword [ebp - 0x30]
add eax, 0x10
mov edx, dword [ebp - 0x3c]
mov dword [ebp - 0x30], eax
cmp eax, edx
jne 0x5f76d4
mov eax, dword [ebp - 0x640]
mov dword [ebp - 0x30], eax
push eax
call fcn.00888fb0
pop ecx
xor eax, eax
mov dword [ebp - 0x640], eax
mov dword [ebp - 0x63c], eax
mov dword [ebp - 0x638], eax
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x648]
call fcn.00406220
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x64c]
call fcn.00406220
mov eax, 1
mov edi, dword [ebp - 0xe0]
mov esi, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 0xc
xor edx, edx
test eax, eax
mov dword [ebp - 0x50], edx
jle 0x5f7088
xor ecx, ecx
mov edx, dword [ebp - 0x9c]
test edx, edx
mov esi, dword [ebp - 0x6c]
lea edi, [esi + 0x40]
sete cl
mov dword [ebp - 0xa4], ecx
mov dword [ebp - 0xb8], edi
mov esi, dword [ebp - 0x50]
lea edi, [esi + esi]
add edi, edi
add edi, dword [ebp - 0x3c]
mov edx, dword [edi]
mov edx, dword [edx + 0x4c]
mov dword [ebp - 0x54], edi
mov cl, byte [edx + 0x784]
test cl, cl
je 0x5f77da
mov edx, dword [ebp - 0x50]
inc edx
cmp edx, eax
mov dword [ebp - 0x50], edx
jl 0x5f77ad
jmp 0x5f7088
mov byte [edx + 0x784], 1
mov eax, edi
mov edx, dword [eax]
mov ecx, dword [edx + 0x4c]
add ecx, 0x748
call fcn.004e450c
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x6c]
mov edx, dword [eax + 0x7dc]
mov ecx, dword [ebp - 0x78]
call dword [edx + 0xc]
lea ecx, [eax + 0xcc]
mov eax, dword [eax + 0xcc]
call dword [eax + 0xc]
mov edx, dword [ebp - 0x70]
push edx
push eax
call fcn.005f8f90
mov dword [ebp - 0x70], eax
add esp, 8
lea ecx, [ebp - 0x1a4]
call fcn.004e4b6c
mov dword [ebp - 4], 0x21
mov eax, dword [ebp - 0x70]
test eax, eax
jle 0x5f7bf3
mov eax, edi
mov edx, dword [eax]
mov ecx, dword [edx + 0x4c]
add ecx, 0x748
lea esi, [ebp - 0x180]
push esi
call fcn.004e4df4
mov dword [ebp - 4], 0x27
lea ecx, [ebp - 0x180]
lea eax, [ebp - 0x170]
push 0
push eax
call fcn.004e5490
mov dword [ebp - 4], 0x28
lea edx, [ebp - 0x530]
mov eax, dword [ebp - 0x70]
push eax
push dword [ebp - 0x170]
push 0xa31c64
push edx
call fcn.00406768
add esp, 0x10
mov dword [ebp - 4], 0x27
lea ecx, [ebp - 0x170]
call fcn.00406220
mov dword [ebp - 4], 0x21
lea eax, [ebp - 0x180]
mov dword [ebp - 0x748], eax
mov dword [ebp - 4], 0x29
mov dword [ebp - 4], 0x21
mov eax, dword [ebp - 0x17c]
mov edx, dword [ebp - 0x178]
cmp eax, edx
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x30], edx
je 0x5f792d
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x740], eax
mov dword [ebp - 4], 0x2a
mov dword [ebp - 4], 0x2b
mov dword [ebp - 4], 0x2a
lea ecx, [eax + 0xc]
call fcn.00406220
mov eax, dword [ebp - 0x2c]
lea ecx, [eax + 8]
call fcn.00406220
mov eax, dword [ebp - 0x2c]
add eax, 0x10
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0x2c], eax
cmp eax, edx
jne 0x5f78e3
mov eax, dword [ebp - 0x17c]
mov dword [ebp - 0x2c], eax
push eax
call fcn.00888fb0
pop ecx
xor eax, eax
mov dword [ebp - 0x17c], eax
mov dword [ebp - 0x178], eax
mov dword [ebp - 0x174], eax
lea ecx, [ebp - 0x530]
push 1
call fcn.004062e8
lea ecx, [ebp - 0x16c]
call fcn.004e4b6c
mov dword [ebp - 4], 0x2c
lea ecx, [ebp - 0x16c]
lea eax, [ebp - 0x5ac]
push eax
call fcn.004e2d98
lea ecx, [ebp - 0x15c]
lea eax, [ebp - 0x530]
push 0
push eax
call fcn.004e2e90
mov dword [ebp - 4], 0x2d
lea ecx, [ebp - 0x16c]
lea eax, [ebp - 0x15c]
push eax
call fcn.004e3380
mov dword [ebp - 4], 0x2c
lea eax, [ebp - 0x15c]
mov dword [ebp - 0x738], eax
mov dword [ebp - 4], 0x2e
mov dword [ebp - 4], 0x2c
mov eax, dword [ebp - 0x158]
mov edx, dword [ebp - 0x154]
cmp eax, edx
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x30], edx
je 0x5f7a27
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x730], eax
mov dword [ebp - 4], 0x2f
mov dword [ebp - 4], 0x30
mov dword [ebp - 4], 0x2f
lea ecx, [eax + 0xc]
call fcn.00406220
mov eax, dword [ebp - 0x2c]
lea ecx, [eax + 8]
call fcn.00406220
mov eax, dword [ebp - 0x2c]
add eax, 0x10
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0x2c], eax
cmp eax, edx
jne 0x5f79dd
mov eax, dword [ebp - 0x158]
mov dword [ebp - 0x2c], eax
push eax
call fcn.00888fb0
pop ecx
xor eax, eax
add esp, 0xfffffff8
mov ecx, esp
mov dword [ebp - 0x158], eax
mov dword [ebp - 0x154], eax
mov dword [ebp - 0x150], eax
push 0x9f3274
call fcn.004061ac
lea ecx, [ebp - 0x16c]
mov dword [esp + 4], 0xffffffff
call fcn.004e5ef4
mov eax, dword [ebp - 0x54]
mov esi, dword [eax]
call fcn.00410b5c
mov edi, dword [esi + 0x4c]
mov esi, dword [ebp - 0x54]
mov edx, dword [ebp - 0xd8]
mov dword [edi + 0x14], eax
mov eax, dword [esi]
mov ecx, dword [eax + 0x4c]
mov dword [ecx + 0x10], edx
mov eax, dword [esi]
mov edx, dword [eax + 0x4c]
mov eax, dword [ebp - 0xb8]
mov dword [edx + 0xc], eax
mov ecx, dword [esi]
lea edx, [ebp - 0x16c]
mov eax, dword [ebp - 0xa4]
push 0
mov ecx, dword [ecx + 0x4c]
push eax
push edx
call fcn.004ccb10
mov dword [ebp - 4], 0x21
lea eax, [ebp - 0x16c]
mov dword [ebp - 0x728], eax
mov dword [ebp - 4], 0x31
mov dword [ebp - 4], 0x21
mov eax, dword [ebp - 0x168]
mov edx, dword [ebp - 0x164]
cmp eax, edx
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x30], edx
je 0x5f7b2e
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x720], eax
mov dword [ebp - 4], 0x32
mov dword [ebp - 4], 0x33
mov dword [ebp - 4], 0x32
lea ecx, [eax + 0xc]
call fcn.00406220
mov eax, dword [ebp - 0x2c]
lea ecx, [eax + 8]
call fcn.00406220
mov eax, dword [ebp - 0x2c]
add eax, 0x10
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0x2c], eax
cmp eax, edx
jne 0x5f7ae4
mov eax, dword [ebp - 0x168]
mov dword [ebp - 0x2c], eax
push eax
call fcn.00888fb0
pop ecx
xor eax, eax
mov dword [ebp - 0x168], eax
mov dword [ebp - 0x164], eax
mov dword [ebp - 0x160], eax
mov dword [ebp - 4], 0x13
lea eax, [ebp - 0x1a4]
mov dword [ebp - 0x718], eax
mov dword [ebp - 4], 0x34
mov dword [ebp - 4], 0x13
mov eax, dword [ebp - 0x1a0]
mov edx, dword [ebp - 0x19c]
cmp eax, edx
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x30], edx
je 0x5f7bca
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x710], eax
mov dword [ebp - 4], 0x35
mov dword [ebp - 4], 0x36
mov dword [ebp - 4], 0x35
lea ecx, [eax + 0xc]
call fcn.00406220
mov eax, dword [ebp - 0x2c]
lea ecx, [eax + 8]
call fcn.00406220
mov eax, dword [ebp - 0x2c]
add eax, 0x10
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0x2c], eax
cmp eax, edx
jne 0x5f7b80
mov eax, dword [ebp - 0x1a0]
mov dword [ebp - 0x2c], eax
push eax
call fcn.00888fb0
pop ecx
xor eax, eax
mov edx, dword [ebp - 0x3c]
mov dword [ebp - 0x1a0], eax
mov dword [ebp - 0x19c], eax
mov dword [ebp - 0x198], eax
mov eax, dword [edx + 0x8004]
jmp 0x5f77ca
mov eax, edi
mov edx, dword [eax]
mov ecx, dword [edx + 0x4c]
add ecx, 0x748
lea esi, [ebp - 0x194]
push esi
call fcn.004e4df4
mov dword [ebp - 4], 0x22
lea ecx, [ebp - 0x194]
lea eax, [ebp - 0x184]
push 0
push eax
call fcn.004e5490
mov dword [ebp - 4], 0x23
lea eax, [ebp - 0x530]
push dword [ebp - 0x184]
push 0x9f5b18
push eax
call fcn.00406768
add esp, 0xc
mov dword [ebp - 4], 0x22
lea ecx, [ebp - 0x184]
call fcn.00406220
mov dword [ebp - 4], 0x21
lea eax, [ebp - 0x194]
mov dword [ebp - 0x758], eax
mov dword [ebp - 4], 0x24
mov dword [ebp - 4], 0x21
mov eax, dword [ebp - 0x190]
mov edx, dword [ebp - 0x18c]
cmp eax, edx
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x40], edx
je 0x5f7cdb
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x750], eax
mov dword [ebp - 4], 0x25
mov dword [ebp - 4], 0x26
mov dword [ebp - 4], 0x25
lea ecx, [eax + 0xc]
call fcn.00406220
mov eax, dword [ebp - 0x30]
lea ecx, [eax + 8]
call fcn.00406220
mov eax, dword [ebp - 0x30]
add eax, 0x10
mov edx, dword [ebp - 0x40]
mov dword [ebp - 0x30], eax
cmp eax, edx
jne 0x5f7c91
mov eax, dword [ebp - 0x190]
mov dword [ebp - 0x30], eax
push eax
call fcn.00888fb0
pop ecx
xor eax, eax
mov dword [ebp - 0x190], eax
mov dword [ebp - 0x18c], eax
mov dword [ebp - 0x188], eax
jmp 0x5f7948
mov eax, dword [ebp - 0x624]
mov dword [ebp - 0x34], eax
push eax
call fcn.00888fb0
pop ecx
xor eax, eax
mov dword [ebp - 0x624], eax
mov dword [ebp - 0x620], eax
mov dword [ebp - 0x61c], eax
mov dword [ebp - 4], 0x13
lea eax, [ebp - 0x124]
mov dword [ebp - 0x698], eax
mov dword [ebp - 4], 0x4d
mov dword [ebp - 4], 0x13
mov eax, dword [ebp - 0x120]
mov edx, dword [ebp - 0x11c]
cmp eax, edx
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x54], edx
je 0x5f7da0
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x690], eax
mov dword [ebp - 4], 0x4e
mov dword [ebp - 4], 0x4f
mov dword [ebp - 4], 0x4e
lea ecx, [eax + 0xc]
call fcn.00406220
mov eax, dword [ebp - 0x34]
lea ecx, [eax + 8]
call fcn.00406220
mov eax, dword [ebp - 0x34]
add eax, 0x10
mov edx, dword [ebp - 0x54]
mov dword [ebp - 0x34], eax
cmp eax, edx
jne 0x5f7d56
mov eax, dword [ebp - 0x120]
mov dword [ebp - 0x34], eax
push eax
call fcn.00888fb0
pop ecx
xor eax, eax
mov dword [ebp - 0x120], eax
mov dword [ebp - 0x11c], eax
mov dword [ebp - 0x118], eax
jmp 0x5f737a
mov eax, dword [ebp - 0x614]
mov dword [ebp - 0x30], eax
push eax
call fcn.00888fb0
pop ecx
xor eax, eax
mov dword [ebp - 0x614], eax
mov dword [ebp - 0x610], eax
mov dword [ebp - 0x60c], eax
mov dword [ebp - 4], 7
lea ecx, [ebp - 0x530]
call fcn.00406220
inc dword [ebp - 0xc0]
jmp 0x5f5725
mov al, byte [ebp - 0x30]
test al, al
je 0x5f7e31
mov dword [ebp - 4], 0x15
lea ecx, [ebp - 0x218]
call fcn.00406220
mov dword [ebp - 4], 0x13
lea ecx, [ebp - 0x228]
call fcn.0040b540
jmp 0x5f5e7f
mov al, 1
mov edx, dword [ebp - 0x9c]
test edx, edx
mov byte [ebp - 0x80], al
je 0x5f7e54
mov edi, dword [ebp - 0x608]
mov esi, dword [ebp - 0x40]
mov al, byte [esi + edi]
test al, al
sete dl
mov byte [ebp - 0x80], dl
lea ecx, [ebp - 0x5bc]
call fcn.004e2e74
movzx eax, al
test eax, eax
jne 0x5f8160
mov al, byte [ebp - 0x80]
test al, al
je 0x5f8160
mov eax, dword [ebp - 0x60]
mov edx, dword [eax + 0x4c]
mov ecx, dword [edx + 0x550]
test ecx, ecx
je 0x5f8160
mov eax, dword [ebp - 0x6c]
mov edx, dword [eax + 0x7dc]
mov ecx, dword [ebp - 0x78]
call dword [edx + 0xc]
lea ecx, [eax + 0xcc]
mov eax, dword [eax + 0xcc]
call dword [eax + 0xc]
mov edx, dword [ebp - 0x40]
push edx
push eax
call fcn.005f8f90
mov dword [ebp - 0xd4], eax
add esp, 8
lea ecx, [ebp - 0x200]
call fcn.004e4b6c
mov dword [ebp - 4], 0x19
mov eax, dword [ebp - 0xd4]
test eax, eax
jle 0x5f8177
mov eax, dword [ebp - 0x60]
mov ecx, dword [eax + 0x4c]
add ecx, 0x748
lea edx, [ebp - 0x1dc]
push edx
call fcn.004e4df4
mov dword [ebp - 4], 0x1c
lea ecx, [ebp - 0x1dc]
lea eax, [ebp - 0x1cc]
push 0
push eax
call fcn.004e5490
mov dword [ebp - 4], 0x1d
lea edx, [ebp - 0x530]
mov eax, dword [ebp - 0xd4]
push eax
push dword [ebp - 0x1cc]
push 0xa31c64
push edx
call fcn.00406768
add esp, 0x10
mov dword [ebp - 4], 0x1c
lea ecx, [ebp - 0x1cc]
call fcn.00406220
mov dword [ebp - 4], 0x19
lea ecx, [ebp - 0x1dc]
call fcn.0040b540
lea ecx, [ebp - 0x530]
push 1
call fcn.004062e8
lea ecx, [ebp - 0x1c8]
call fcn.004e4b6c
mov dword [ebp - 4], 0x1e
lea ecx, [ebp - 0x1c8]
lea eax, [ebp - 0x5ac]
push eax
call fcn.004e2d98
lea ecx, [ebp - 0x1b8]
lea eax, [ebp - 0x530]
push 0
push eax
call fcn.004e2e90
mov dword [ebp - 4], 0x1f
lea ecx, [ebp - 0x1c8]
lea eax, [ebp - 0x1b8]
push eax
call fcn.004e3380
mov dword [ebp - 4], 0x1e
lea ecx, [ebp - 0x1b8]
call fcn.0040b540
add esp, 0xfffffff8
mov ecx, esp
push 0x9f3274
call fcn.004061ac
lea ecx, [ebp - 0x1c8]
mov dword [esp + 4], 0xffffffff
call fcn.004e5ef4
lea edx, [ebp - 0x1c8]
xor eax, eax
mov esi, dword [ebp - 0x60]
push eax
mov ecx, dword [esi + 0x4c]
push eax
push eax
push edx
call fcn.004cbab8
mov eax, dword [ebp - 0x9c]
test eax, eax
je 0x5f8019
mov edx, dword [ebp - 0x608]
mov eax, dword [ebp - 0x40]
mov byte [eax + edx], 1
mov eax, esi
mov edx, dword [eax + 0x4c]
lea ecx, [edx + 0x6c]
mov dword [ebp - 0xc4], edx
mov esi, dword [edx + 0x6c]
call dword [esi + 0x24]
xor eax, eax
mov edx, dword [ebp - 0xc4]
lea ecx, [edx + 0xac]
mov dword [edx + 0x68], eax
mov esi, dword [edx + 0xac]
mov dword [edx + 0x80], eax
mov dword [edx + 0x84], eax
call dword [esi + 0x24]
xor eax, eax
mov edx, dword [ebp - 0xc4]
lea ecx, [edx + 0xec]
mov dword [edx + 0xa8], eax
mov esi, dword [edx + 0xec]
mov dword [edx + 0xc0], eax
mov dword [edx + 0xc4], eax
call dword [esi + 0x24]
xor eax, eax
mov edx, dword [ebp - 0xc4]
lea ecx, [edx + 0x12c]
mov dword [edx + 0xe8], eax
mov esi, dword [edx + 0x12c]
mov dword [edx + 0x100], eax
mov dword [edx + 0x104], eax
call dword [esi + 0x24]
xor eax, eax
mov edx, dword [ebp - 0xc4]
lea ecx, [edx + 0x16c]
mov dword [edx + 0x128], eax
mov esi, dword [edx + 0x16c]
mov dword [edx + 0x140], eax
mov dword [edx + 0x144], eax
call dword [esi + 0x24]
xor eax, eax
mov edx, dword [ebp - 0xc4]
lea ecx, [edx + 0x1ac]
mov dword [edx + 0x168], eax
mov esi, dword [edx + 0x1ac]
mov dword [edx + 0x180], eax
mov dword [edx + 0x184], eax
call dword [esi + 0x24]
xor eax, eax
mov edx, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0x68]
mov dword [edx + 0x1a8], eax
mov dword [edx + 0x1c0], eax
mov dword [edx + 0x1c4], eax
mov dword [edx + 0x550], eax
mov dword [edx + 0x76c], eax
mov dword [edx + 0x770], eax
fld qword [0xa30750]
fstp qword [edx + 0x760]
mov dword [ecx + 0xa624], 3
mov dword [ebp - 4], 0x19
lea ecx, [ebp - 0x1c8]
call fcn.0040b540
mov dword [ebp - 4], 0x16
lea ecx, [ebp - 0x200]
call fcn.0040b540
mov dword [ebp - 4], 0x15
lea ecx, [ebp - 0x218]
call fcn.00406220
jmp 0x5f6cf2
mov eax, dword [ebp - 0x60]
mov ecx, dword [eax + 0x4c]
add ecx, 0x748
lea edx, [ebp - 0x1f0]
push edx
call fcn.004e4df4
mov dword [ebp - 4], 0x1a
lea ecx, [ebp - 0x1f0]
lea eax, [ebp - 0x1e0]
push 0
push eax
call fcn.004e5490
mov dword [ebp - 4], 0x1b
lea eax, [ebp - 0x530]
push dword [ebp - 0x1e0]
push 0x9f5b18
push eax
call fcn.00406768
add esp, 0xc
mov dword [ebp - 4], 0x1a
lea ecx, [ebp - 0x1e0]
call fcn.00406220
mov dword [ebp - 4], 0x19
lea ecx, [ebp - 0x1f0]
call fcn.0040b540
jmp 0x5f7f59
mov dword [ebp - 4], 0x15
lea ecx, [ebp - 0x218]
call fcn.00406220
mov dword [ebp - 4], 0x13
lea ecx, [ebp - 0x228]
call fcn.0040b540
jmp 0x5f702e
xor eax, eax
mov dword [ebp - 0x54], eax
call fcn.00410b5c
mov dword [ebp - 0x80], eax
jmp 0x5f6c4f
mov ecx, dword [ebp - 0x68]
call fcn.005f8d84
mov ecx, dword [ebp - 0x68]
call fcn.00595df4
jmp 0x5f6a91
mov eax, dword [ebp - 0x68]
mov edx, dword [eax + 0xa5b8]
test edx, edx
je 0x5f6345
jmp 0x5f61b7
fcomp dword [0xa307b4]
fnstsw ax
sahf
jae 0x5f6250
mov eax, dword [ebp - 0x54]
mov dword [eax + 0x6f8], 0
jmp 0x5f6250
mov eax, edi
mov edx, dword [eax + 0x98]
mov ecx, dword [ebp - 0x50]
call dword [edx + 0xc]
mov esi, dword [eax]
mov edx, dword [ebp - 0x28]
mov ecx, eax
push edx
call dword [esi + 0x34]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
lea ecx, [eax + 0x48]
mov eax, dword [eax + 0x48]
call dword [eax + 0xc]
mov eax, dword [eax + 8]
test eax, eax
je 0x5f82bd
mov eax, dword [ebp - 0x68]
mov dword [eax + 0xa5b8], 6
jmp 0x5f61b5
mov eax, dword [ebp - 0x68]
mov dword [eax + 0xa5b8], 3
jmp 0x5f61b5
mov eax, dword [ebp - 0x2c]
mov edx, dword [eax + 0x98]
mov ecx, dword [ebp - 0x50]
call dword [edx + 0xc]
mov esi, dword [eax]
mov edx, dword [ebp - 0x28]
mov ecx, eax
push edx
call dword [esi + 0x34]
lea ecx, [eax + 0x20]
mov eax, dword [eax + 0x20]
call dword [eax + 0xc]
mov eax, dword [eax + 0x30]
test eax, eax
je 0x5f6048
mov edi, dword [ebp - 0x30]
lea eax, [edi + edi]
add eax, eax
sub eax, edi
add eax, eax
add eax, eax
add eax, eax
lea ecx, [eax + eax]
add ecx, ecx
add ecx, ecx
add ecx, ecx
add ecx, ecx
sub ecx, eax
mov edx, dword [ebp - 0x68]
lea esi, [edx + ecx]
mov dword [ebp - 0x54], esi
lea eax, [edx + ecx + 0x48b8]
inc edi
mov dword [ebp - 0xd4], eax
mov eax, 1
mov ecx, dword [ebp - 0x50]
mov dword [ebp - 0x30], edi
mov dword [esi + 0x4978], eax
mov byte [esi + 0x4b97], al
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 0x98]
call dword [eax + 0xc]
mov esi, dword [eax]
mov edx, dword [ebp - 0x28]
mov ecx, eax
push edx
call dword [esi + 0x34]
lea ecx, [eax + 0x20]
mov eax, dword [eax + 0x20]
call dword [eax + 0xc]
mov eax, dword [eax + 0x28]
cmp eax, 0x80
je 0x5f8621
jge 0x5f8388
mov edx, dword [ebp - 0x54]
mov byte [edx + 0x4b98], 4
mov byte [edx + 0x4b99], al
mov eax, 1
mov edx, dword [ebp - 0x54]
mov esi, dword [ebp - 0x2c]
mov word [edx + 0x48b8], ax
mov edi, dword [esi + 0x98]
mov ecx, dword [ebp - 0x50]
call dword [edi + 0xc]
mov esi, dword [eax]
mov edx, dword [ebp - 0x28]
mov ecx, eax
push edx
call dword [esi + 0x34]
lea ecx, [eax + 0x20]
mov eax, dword [eax + 0x20]
call dword [eax + 0xc]
mov eax, dword [eax + 0x2c]
test eax, eax
je 0x5f83c8
mov eax, 0xbf800000
jmp 0x5f83cd
mov eax, 0x3f800000
mov edx, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x50]
mov dword [edx + 0x48bc], eax
mov eax, dword [ebp - 0x2c]
mov esi, dword [eax + 0x98]
call dword [esi + 0xc]
mov esi, dword [eax]
mov edx, dword [ebp - 0x28]
mov ecx, eax
push edx
call dword [esi + 0x34]
lea ecx, [eax + 0x20]
mov eax, dword [eax + 0x20]
call dword [eax + 0xc]
mov eax, dword [eax + 0x14]
mov edx, dword [ebp - 0x2c]
mov esi, dword [edx + 0x98]
mov dword [ebp - 0xc4], eax
mov ecx, dword [ebp - 0x50]
call dword [esi + 0xc]
mov esi, dword [eax]
mov edx, dword [ebp - 0x28]
mov ecx, eax
push edx
call dword [esi + 0x34]
lea ecx, [eax + 0x20]
mov eax, dword [eax + 0x20]
call dword [eax + 0xc]
mov eax, dword [eax + 0x18]
mov edx, dword [ebp - 0x2c]
mov esi, dword [edx + 0x98]
mov dword [ebp - 0x8c], eax
mov ecx, dword [ebp - 0x50]
call dword [esi + 0xc]
mov esi, dword [eax]
mov edx, dword [ebp - 0x28]
mov ecx, eax
push edx
call dword [esi + 0x34]
lea ecx, [eax + 0x20]
mov eax, dword [eax + 0x20]
call dword [eax + 0xc]
mov eax, dword [eax + 0x1c]
mov edx, dword [ebp - 0x2c]
mov esi, dword [edx + 0x98]
mov dword [ebp - 0x80], eax
mov ecx, dword [ebp - 0x50]
call dword [esi + 0xc]
mov esi, dword [eax]
mov edx, dword [ebp - 0x28]
mov ecx, eax
push edx
call dword [esi + 0x34]
lea ecx, [eax + 0x20]
mov eax, dword [eax + 0x20]
call dword [eax + 0xc]
mov eax, dword [eax + 0x20]
mov edx, dword [ebp - 0xc4]
test edx, edx
mov dword [ebp - 0x88], eax
jle 0x5f85f5
push 0
mov ecx, dword [ebp - 0xd4]
call fcn.005b25a0
mov eax, dword [ebp - 0x54]
xor edx, edx
mov byte [eax + 0x4b95], 1
mov eax, dword [ebp - 0x54]
mov dword [eax + edx*4 + 0x4984], 0
inc edx
cmp edx, 0x7f
jle 0x5f84aa
fld dword [0xa307bc]
mov eax, dword [ebp - 0x8c]
fld st(0)
sub eax, dword [ebp - 0xc4]
test eax, eax
jle 0x5f84ec
fstp st(1)
mov dword [ebp - 0xe8], eax
fild dword [ebp - 0xe8]
fdivr dword [0xa307c8]
fxch st(1)
mov eax, dword [ebp - 0xc4]
mov edx, dword [ebp - 0x8c]
cmp eax, edx
jg 0x8c1a66
mov edx, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x8c]
fst dword [edx + eax*4 + 0x4984]
fadd st(1)
inc eax
cmp eax, ecx
jle 0x5f8500
fstp st(1)
fstp st(0)
mov eax, dword [ebp - 0x8c]
mov edx, dword [ebp - 0x80]
cmp eax, edx
jg 0x5f853e
mov edx, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x80]
mov dword [edx + eax*4 + 0x4984], 0x3f800000
inc eax
cmp eax, ecx
jle 0x5f8528
fld dword [0xa307bc]
mov eax, dword [ebp - 0x88]
fld dword [0xa307c8]
sub eax, dword [ebp - 0x80]
test eax, eax
jle 0x5f856d
fstp st(1)
mov dword [ebp - 0xe8], eax
fild dword [ebp - 0xe8]
fdivr dword [0xa307c0]
fxch st(1)
mov eax, dword [ebp - 0x80]
mov edx, dword [ebp - 0x88]
cmp eax, edx
jg 0x8c1a6f
mov edx, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x88]
fst dword [edx + eax*4 + 0x4984]
fadd st(1)
inc eax
cmp eax, ecx
jle 0x5f857e
fstp st(1)
fstp st(0)
push 1
mov eax, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0xd4]
push eax
call fcn.005f8a88
push 1
mov eax, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0xd4]
push eax
call fcn.005f8a88
push 1
mov eax, dword [ebp - 0x80]
mov ecx, dword [ebp - 0xd4]
push eax
call fcn.005f8a88
push 1
mov eax, dword [ebp - 0x88]
mov ecx, dword [ebp - 0xd4]
push eax
call fcn.005f8a88
mov eax, dword [ebp - 0x54]
mov byte [eax + 0x4b94], 1
jmp 0x5f6048
mov eax, dword [ebp - 0x8c]
test eax, eax
jg 0x5f8491
mov eax, dword [ebp - 0x80]
test eax, eax
jg 0x5f8491
mov eax, dword [ebp - 0x88]
test eax, eax
jg 0x5f8491
jmp 0x5f6048
mov eax, dword [ebp - 0x54]
mov byte [eax + 0x4b98], 6
jmp 0x5f8388
mov eax, dword [ebp - 0x60]
cmp eax, 4
jge 0x5f603f
mov ecx, esi
mov esi, dword [ebp + ecx*8 - 0x4f4]
mov eax, 0x80
xor edx, edx
idiv esi
mov edx, dword [ebp - 0x60]
lea edi, [edx + edx]
add edi, edi
sub edi, edx
add edi, edi
mov esi, dword [ebp - 0x68]
inc edx
mov dword [esi + edi*8 + 0x38], 2
mov ecx, dword [ebp + ecx*8 - 0x4ec]
mov dword [esi + edi*8 + 0x44], ecx
mov ecx, dword [ebp - 0x54]
imul ecx, eax
mov dword [esi + edi*8 + 0x48], ecx
lea eax, [ecx + eax - 1]
mov dword [esi + edi*8 + 0x4c], eax
mov dword [esi + edi*8 + 0x60], 0
mov dword [ebp - 0x60], edx
jmp 0x5f6048
mov eax, dword [ebp - 0x60]
cmp eax, 4
jge 0x5f603f
mov eax, dword [ebp - 0xb0]
mov edx, dword [eax + 0x44]
mov ecx, dword [ebp - 0xcc]
call dword [edx + 0xc]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
mov eax, dword [eax + 4]
mov edx, dword [ebp - 0xb0]
mov esi, dword [edx + 0x44]
mov dword [ebp - 0xc4], eax
mov ecx, dword [ebp - 0xcc]
call dword [esi + 0xc]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
mov eax, dword [eax + 8]
mov ecx, dword [ebp - 0x80]
mov esi, dword [ebp + ecx*8 - 0x4f4]
sub eax, dword [ebp - 0xc4]
inc eax
cdq
idiv esi
mov edx, eax
test edx, edx
jg 0x5f86fc
mov edx, 1
mov esi, dword [ebp - 0x60]
lea ecx, [esi + esi]
add ecx, ecx
sub ecx, esi
add ecx, ecx
mov eax, dword [ebp - 0x68]
mov dword [eax + ecx*8 + 0x38], 1
mov edi, dword [ebp - 0x54]
imul edi, edx
mov esi, dword [ebp - 0xc4]
add esi, edi
lea edx, [esi + edx - 1]
mov dword [eax + ecx*8 + 0x3c], esi
mov dword [eax + ecx*8 + 0x40], edx
mov dword [eax + ecx*8 + 0x60], 0
inc dword [ebp - 0x60]
jmp 0x5f6048
mov eax, dword [ebp - 0x2c]
mov edx, dword [eax + 0x78]
mov ecx, dword [ebp - 0x70]
call dword [edx + 0xc]
mov edx, dword [ebp - 0x74]
or edx, dword [eax + esi*8 + 0x18]
mov dword [ebp - 0x74], edx
jmp 0x5f5c43
mov dword [ebp - 4], 6
lea ecx, [ebp - 0x59c]
call fcn.00406220
mov dword [ebp - 4], 5
lea ecx, [ebp - 0x5ac]
call fcn.0040b540
mov dword [ebp - 4], 4
lea ecx, [ebp - 0x5bc]
call fcn.0040b540
mov dword [ebp - 4], 3
lea ecx, [ebp - 0x604]
call fcn.0046bef8
mov dword [ebp - 4], 2
mov eax, dword [ebp - 0x608]
test eax, eax
je 0x5f87b8
push eax
call fcn.00888fb0
pop ecx
mov dword [ebp - 0x608], 0
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x644]
call fcn.0040b540
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x648]
call fcn.00406220
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x64c]
call fcn.00406220
mov eax, 0xa
mov edi, dword [ebp - 0xe0]
mov esi, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 0xc
xor eax, eax
mov dword [ebp - 0x3c], eax
jmp 0x5f5810
mov dword [ebp - 4], 6
lea ecx, [ebp - 0x59c]
call fcn.00406220
mov dword [ebp - 4], 5
lea eax, [ebp - 0x5ac]
mov dword [ebp - 0x678], eax
mov dword [ebp - 4], 0x53
mov dword [ebp - 4], 5
mov eax, dword [ebp - 0x5a8]
mov edx, dword [ebp - 0x5a4]
cmp eax, edx
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x3c], edx
je 0x5f88b9
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x670], eax
mov dword [ebp - 4], 0x54
mov dword [ebp - 4], 0x55
mov dword [ebp - 4], 0x54
lea ecx, [eax + 0xc]
call fcn.00406220
mov eax, dword [ebp - 0x30]
lea ecx, [eax + 8]
call fcn.00406220
mov eax, dword [ebp - 0x30]
add eax, 0x10
mov edx, dword [ebp - 0x3c]
mov dword [ebp - 0x30], eax
cmp eax, edx
jne 0x5f886f
mov eax, dword [ebp - 0x5a8]
mov dword [ebp - 0x30], eax
push eax
call fcn.00888fb0
pop ecx
xor eax, eax
mov dword [ebp - 0x5a8], eax
mov dword [ebp - 0x5a4], eax
mov dword [ebp - 0x5a0], eax
mov dword [ebp - 4], 4
lea eax, [ebp - 0x5bc]
mov dword [ebp - 0x668], eax
mov dword [ebp - 4], 0x56
mov dword [ebp - 4], 4
mov eax, dword [ebp - 0x5b8]
mov edx, dword [ebp - 0x5b4]
cmp eax, edx
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x3c], edx
je 0x5f8955
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x660], eax
mov dword [ebp - 4], 0x57
mov dword [ebp - 4], 0x58
mov dword [ebp - 4], 0x57
lea ecx, [eax + 0xc]
call fcn.00406220
mov eax, dword [ebp - 0x30]
lea ecx, [eax + 8]
call fcn.00406220
mov eax, dword [ebp - 0x30]
add eax, 0x10
mov edx, dword [ebp - 0x3c]
mov dword [ebp - 0x30], eax
cmp eax, edx
jne 0x5f890b
mov eax, dword [ebp - 0x5b8]
mov dword [ebp - 0x30], eax
push eax
call fcn.00888fb0
pop ecx
xor eax, eax
mov dword [ebp - 0x5b8], eax
mov dword [ebp - 0x5b4], eax
mov dword [ebp - 0x5b0], eax
mov dword [ebp - 4], 3
lea ecx, [ebp - 0x604]
call fcn.0046bef8
mov dword [ebp - 4], 2
mov eax, dword [ebp - 0x608]
test eax, eax
je 0x5f899a
push eax
call fcn.00888fb0
pop ecx
mov dword [ebp - 0x608], 0
mov dword [ebp - 4], 1
lea eax, [ebp - 0x644]
mov dword [ebp - 0x658], eax
mov dword [ebp - 4], 0x59
mov dword [ebp - 4], 1
mov eax, dword [ebp - 0x640]
mov edx, dword [ebp - 0x63c]
cmp eax, edx
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x3c], edx
je 0x5f8a25
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x650], eax
mov dword [ebp - 4], 0x5a
mov dword [ebp - 4], 0x5b
mov dword [ebp - 4], 0x5a
lea ecx, [eax + 0xc]
call fcn.00406220
mov eax, dword [ebp - 0x30]
lea ecx, [eax + 8]
call fcn.00406220
mov eax, dword [ebp - 0x30]
add eax, 0x10
mov edx, dword [ebp - 0x3c]
mov dword [ebp - 0x30], eax
cmp eax, edx
jne 0x5f89db
mov eax, dword [ebp - 0x640]
mov dword [ebp - 0x30], eax
push eax
call fcn.00888fb0
pop ecx
xor eax, eax
mov dword [ebp - 0x640], eax
mov dword [ebp - 0x63c], eax
mov dword [ebp - 0x638], eax
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x648]
call fcn.00406220
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x64c]
call fcn.00406220
xor eax, eax
mov edi, dword [ebp - 0xe0]
mov esi, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 0xc
fstp st(1)
fstp st(0)
jmp 0x5f851b
fstp st(1)
fstp st(0)
jmp 0x5f8599