Function at 0x5fde50
Capabilities:
Encode data using base64

Disassembly:
test dword [0x9d4cb8], 0xffffff80
jne 0x5fde78
test dword [0x9d4cb8], 0xffffffff
jne 0x601a74
call fcn.008a6df8
jmp fcn.005fde50
push ebx
mov ebx, esp
and esp, 0xfffffff8
push ebp
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x8c2e4a
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x454
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x80], edi
mov dword [ebp - 0x7c], esi
mov dword [ebp - 0x20], ecx
lea ecx, [ebp - 0x30c]
call fcn.0044f6d0
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x2d8]
call fcn.00606c4c
mov dword [ebp - 4], 1
lea edi, [ebp - 0x2d8]
xor eax, eax
mov ecx, 0x13e
push ecx
shr ecx, 2
rep stosd dword es:[edi], eax
pop ecx
and ecx, 3
rep stosb byte es:[edi], al
lea ecx, [ebp - 0x198]
call fcn.004e4b6c
mov dword [ebp - 4], 2
lea eax, [ebp - 0x188]
mov ecx, dword [ebx + 0xc]
push eax
call fcn.004e4e80
mov dword [ebp - 4], 3
lea ecx, [ebp - 0x198]
lea eax, [ebp - 0x188]
push eax
call fcn.004e2d98
mov dword [ebp - 4], 2
lea ecx, [ebp - 0x188]
call fcn.0040b540
lea ecx, [ebp - 0x30c]
xor eax, eax
mov edx, dword [ebx + 0xc]
push 0x58585858
push eax
push eax
push eax
push edx
call fcn.0043c40c
test eax, eax
je 0x5fdfad
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x198]
call fcn.0040b540
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x2d8]
call fcn.00606e18
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x30c]
call fcn.0043bcc8
mov eax, 0xa
mov edi, dword [ebp - 0x80]
mov esi, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 8
lea ecx, [ebp - 0x30c]
call fcn.0043bd90
mov dword [ebp - 0x1c], eax
test eax, eax
jg 0x5fe013
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x198]
call fcn.0040b540
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x2d8]
call fcn.00606e18
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x30c]
call fcn.0043bcc8
mov eax, 0xa
mov edi, dword [ebp - 0x80]
mov esi, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 8
lea ecx, [ebp - 0x178]
push 1
call fcn.0040ae94
mov dword [ebp - 4], 4
lea ecx, [ebp - 0x178]
mov eax, dword [ebp - 0x1c]
push 1
push eax
call fcn.0040af00
lea ecx, [ebp - 0x178]
call fcn.00845940
lea ecx, [ebp - 0x30c]
mov edx, dword [ebp - 0x1c]
push 0
push edx
push eax
call fcn.0043bdec
mov edx, dword [ebp - 0x1c]
cmp eax, edx
je 0x5fe0d6
mov dword [ebp - 4], 2
mov dword [ebp - 0x178], 0x9f05c8
mov al, byte [ebp - 0x168]
test al, al
je 0x5fe082
lea ecx, [ebp - 0x178]
call fcn.0040acc4
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x198]
call fcn.0040b540
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x2d8]
call fcn.00606e18
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x30c]
call fcn.0043bcc8
mov eax, 0xa
mov edi, dword [ebp - 0x80]
mov esi, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 8
lea ecx, [ebp - 0x30c]
call fcn.0043c3e0
lea ecx, [ebp - 0x2d8]
lea edx, [ebp - 0x178]
xor eax, eax
push eax
push eax
push edx
push ecx
call fcn.0061252c
add esp, 0x10
movsx eax, byte [ebp - 0x2d8]
mov ecx, 1
xor edx, edx
cmp eax, 0
cmove edx, ecx
test edx, edx
mov dword [ebp - 0x74], edx
jne 0x601a5c
mov esi, 0x54424f53
mov ecx, 0x534f4254
cmp eax, 0
lea eax, [ebp - 0x178]
cmove ecx, esi
add esp, 0xfffffff4
xor edx, edx
mov dword [ebp - 0x30], ecx
call fcn.00606bf0
mov esi, eax
add esp, 0xc
cmp esi, 0xffffffff
jne 0x5fe1c1
mov dword [ebp - 4], 2
mov dword [ebp - 0x178], 0x9f05c8
mov al, byte [ebp - 0x168]
test al, al
je 0x5fe16d
lea ecx, [ebp - 0x178]
call fcn.0040acc4
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x198]
call fcn.0040b540
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x2d8]
call fcn.00606e18
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x30c]
call fcn.0043bcc8
mov eax, 8
mov edi, dword [ebp - 0x80]
mov esi, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 8
lea edi, [ebp - 0x2c8]
lea ecx, [ebp - 0x178]
push 0
push esi
push ecx
push edi
call fcn.00606c74
add esp, 0x10
mov ecx, dword [ebp - 0x74]
test ecx, ecx
je 0x5fe1ec
lea ecx, [ebp - 0x2c8]
call fcn.00606d28
add esp, 0xfffffff4
lea eax, [ebp - 0x178]
mov edx, esi
mov ecx, dword [ebp - 0x30]
call fcn.00606bf0
mov dword [ebp - 0x1c], eax
add esp, 0xc
cmp eax, 0xffffffff
je 0x6019e2
xor edi, edi
mov eax, dword [ebp - 0x280]
test eax, eax
jle 0x5fe285
push 0xb4
call fcn.00898760
mov esi, eax
add esp, 4
lea ecx, [ebp - 0x25c]
push esi
call fcn.006065d8
lea eax, [ebp - 0x178]
mov edx, dword [ebp - 0x1c]
push 0
push edx
push eax
push esi
call fcn.00606614
add esp, 0x10
mov edx, dword [ebp - 0x74]
test edx, edx
je 0x5fe259
mov ecx, esi
call fcn.00606684
add esp, 0xfffffff4
lea eax, [ebp - 0x178]
mov edx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x30]
call fcn.00606bf0
mov dword [ebp - 0x1c], eax
add esp, 0xc
cmp eax, 0xffffffff
je 0x601968
inc edi
cmp edi, dword [ebp - 0x280]
jl 0x5fe21a
xor edi, edi
mov eax, dword [ebp - 0x27c]
test eax, eax
jle 0x5fe2fc
push 0x9c
call fcn.00898760
mov esi, eax
add esp, 4
lea ecx, [ebp - 0x254]
push esi
call fcn.006065d8
lea eax, [ebp - 0x178]
mov edx, dword [ebp - 0x1c]
push 0
push edx
push eax
push esi
call fcn.00606834
add esp, 0x10
mov edx, dword [ebp - 0x74]
test edx, edx
je 0x5fe2d0
mov ecx, esi
call fcn.006068a4
add esp, 0xfffffff4
lea eax, [ebp - 0x178]
mov edx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x30]
call fcn.00606bf0
mov dword [ebp - 0x1c], eax
add esp, 0xc
cmp eax, 0xffffffff
je 0x6018ee
inc edi
cmp edi, dword [ebp - 0x27c]
jl 0x5fe291
xor edi, edi
mov eax, dword [ebp - 0x278]
test eax, eax
jle 0x5fe375
push 0x1a4
call fcn.00898760
mov esi, eax
add esp, 4
lea ecx, [ebp - 0x24c]
push esi
call fcn.006065d8
lea eax, [ebp - 0x178]
mov edx, dword [ebp - 0x1c]
push 0
push edx
push eax
push esi
call fcn.006069f4
add esp, 0x10
mov edx, dword [ebp - 0x74]
test edx, edx
je 0x5fe347
mov ecx, esi
call fcn.00606a64
add esp, 0xfffffff4
lea eax, [ebp - 0x178]
mov edx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x30]
call fcn.00606bf0
mov dword [ebp - 0x1c], eax
add esp, 0xc
cmp eax, 0xffffffff
je 0x601686
mov eax, dword [ebp - 0x278]
inc edi
cmp edi, eax
jl 0x5fe308
mov eax, dword [ebp - 0x274]
test eax, eax
jle 0x5fe536
mov al, 1
mov edx, 0x44
lea esi, [ebp - 0x244]
mov byte [ebp - 0x64], al
xor ecx, ecx
mov dword [ebp - 0x40], edx
mov dword [esi], ecx
mov dword [esi + 4], ecx
mov dword [esi + 8], ecx
mov dword [esi + 0xc], ecx
mov dword [esi + 0x10], ecx
mov dword [esi + 0x14], ecx
mov dword [esi + 0x18], ecx
mov dword [esi + 0x1c], ecx
mov dword [esi + 0x20], ecx
mov dword [esi + 0x24], ecx
mov dword [esi + 0x28], ecx
mov dword [esi + 0x2c], ecx
mov dword [esi + 0x30], ecx
mov dword [esi + 0x34], ecx
mov dword [esi + 0x38], ecx
mov dword [esi + 0x3c], ecx
mov dword [esi + 0x40], ecx
mov eax, dword [ebp - 0x178]
lea ecx, [ebp - 0x178]
call dword [eax + 0x14]
sub eax, dword [ebp - 0x1c]
cmp eax, 0x44
jge 0x5fe3f9
mov eax, dword [ebp - 0x178]
lea ecx, [ebp - 0x178]
call dword [eax + 0x14]
mov dword [ebp - 0x40], eax
sub eax, dword [ebp - 0x1c]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
test eax, eax
jle 0x5fe429
mov eax, dword [ebp - 0x178]
lea ecx, [ebp - 0x178]
call dword [eax + 0xc]
lea edi, [ebp - 0x244]
mov ecx, dword [ebp - 0x40]
add eax, dword [ebp - 0x1c]
mov esi, eax
push ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
pop ecx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp - 0x74]
test eax, eax
je 0x5fe460
mov dl, byte [ebp - 0x244]
mov al, byte [ebp - 0x241]
mov cl, byte [ebp - 0x242]
mov byte [ebp - 0x244], al
mov al, byte [ebp - 0x243]
mov byte [ebp - 0x241], dl
mov byte [ebp - 0x243], cl
mov byte [ebp - 0x242], al
add dword [ebp - 0x1c], 0x44
lea ecx, [ebp - 0x178]
call fcn.00845940
mov edx, dword [ebp - 0x1c]
lea ecx, [edx + eax]
mov esi, dword [ecx]
mov dword [ebp - 0x154], esi
mov edi, dword [ebp - 0x74]
test edi, edi
je 0x5fe4b4
mov cl, byte [ebp - 0x154]
mov dl, byte [ebp - 0x151]
mov byte [ebp - 0x154], dl
mov dl, byte [ebp - 0x152]
mov byte [ebp - 0x151], cl
mov cl, byte [ebp - 0x153]
mov byte [ebp - 0x153], dl
mov byte [ebp - 0x152], cl
mov edx, dword [ebp - 0x1c]
lea edx, [edx + eax + 4]
lea ecx, [ebp - 0x200]
xor eax, eax
mov dword [ecx], eax
mov dword [ecx + 4], eax
mov dword [ecx + 8], eax
mov dword [ecx + 0xc], eax
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], eax
mov dword [ecx + 0x18], eax
mov dword [ecx + 0x1c], eax
mov dword [ecx + 0x20], eax
mov dword [ecx + 0x24], eax
mov dword [ecx + 0x28], eax
mov dword [ecx + 0x2c], eax
mov dword [ecx + 0x30], eax
mov dword [ecx + 0x34], eax
mov dword [ecx + 0x38], eax
mov dword [ecx + 0x3c], eax
mov dword [ecx + 0x40], eax
mov dword [ecx + 0x44], eax
mov dword [ecx + 0x48], eax
mov dword [ecx + 0x4c], eax
mov dword [ecx + 0x50], eax
mov dword [ecx + 0x54], eax
mov dword [ecx + 0x58], eax
mov dword [ecx + 0x5c], eax
mov dword [ecx + 0x60], eax
mov word [ecx + 0x64], ax
lea ecx, [ebp - 0x200]
push dword [ebp - 0x154]
push edx
call fcn.00606e98
mov eax, edi
test eax, eax
je 0x5fe53b
lea ecx, [ebp - 0x200]
call fcn.00607170
jmp 0x5fe53b
xor al, al
mov byte [ebp - 0x64], al
lea ecx, [ebp - 0x178]
call fcn.0040acc4
mov eax, dword [ebx + 8]
mov esi, dword [ebp - 0x20]
mov edx, dword [esi + eax*4 + 0x16fcc]
mov ecx, 1
xor esi, esi
cmp edx, 0
cmovne esi, ecx
test esi, esi
je 0x5fe56c
mov ecx, dword [ebp - 0x20]
call fcn.0058e7e0
call fcn.0041109c
mov edx, dword [ebp - 0x20]
lea ecx, [edx + 0x16dcc]
lea edx, [edx + 0x28]
mov dword [ebp - 0x68], ecx
movzx edi, byte [0x9ec108]
mov dword [ebp - 0x60], edx
push eax
push edi
mov eax, dword [ebx + 8]
push edx
push eax
call fcn.00566a74
mov dword [ebp - 0x28], eax
test esi, esi
je 0x5fe5a5
mov ecx, dword [ebp - 0x20]
call fcn.0058e6c8
mov eax, dword [ebp - 0x28]
test eax, eax
jne 0x5fe657
mov dword [ebp - 4], 2
mov dword [ebp - 0x178], 0x9f05c8
mov al, byte [ebp - 0x168]
test al, al
je 0x5fe5d6
lea ecx, [ebp - 0x178]
call fcn.0040acc4
mov dword [ebp - 4], 1
lea eax, [ebp - 0x198]
mov dword [ebp - 0x438], eax
mov dword [ebp - 4], 0xe
mov dword [ebp - 4], 1
mov eax, dword [ebp - 0x194]
mov edx, dword [ebp - 0x190]
cmp eax, edx
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x30], edx
je 0x60149a
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x430], eax
mov dword [ebp - 4], 0xf
mov dword [ebp - 4], 0x10
mov dword [ebp - 4], 0xf
lea ecx, [eax + 0xc]
call fcn.00406220
mov eax, dword [ebp - 0x28]
lea ecx, [eax + 8]
call fcn.00406220
mov eax, dword [ebp - 0x28]
add eax, 0x10
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0x28], eax
cmp eax, edx
jne 0x5fe611
jmp 0x601491
xor eax, eax
mov edx, dword [ebp - 0x25c]
test edx, edx
mov dword [ebp - 0x38], eax
lea eax, [ebp - 0x25c]
je 0x5fe678
inc dword [ebp - 0x38]
mov eax, dword [eax + 4]
mov edx, dword [eax]
test edx, edx
jne 0x5fe66c
xor eax, eax
mov edx, dword [ebp - 0x24c]
test edx, edx
mov dword [ebp - 0x48], eax
lea eax, [ebp - 0x24c]
je 0x5fe699
inc dword [ebp - 0x48]
mov eax, dword [eax + 4]
mov edx, dword [eax]
test edx, edx
jne 0x5fe68d
xor eax, eax
mov edx, dword [ebp - 0x254]
test edx, edx
mov dword [ebp - 0x4c], eax
lea eax, [ebp - 0x254]
je 0x5fe6ba
inc dword [ebp - 0x4c]
mov eax, dword [eax + 4]
mov edx, dword [eax]
test edx, edx
jne 0x5fe6ae
mov esi, 1
xor eax, eax
add esp, 0xfffffff4
mov dword [ebp - 0x5c], esi
mov ecx, esp
mov dword [ebp - 0x58], eax
push 0xa31bf8
call fcn.004061ac
lea ecx, [esp + 8]
call fcn.0041cbf8
lea ecx, [ebp - 0x148]
mov byte [esp + 4], 1
call fcn.005659f8
mov dword [ebp - 4], 0x19
xor eax, eax
mov edx, dword [ebp - 0x38]
test edx, edx
mov dword [ebp - 0x1c], eax
jle 0x601487
mov dword [ebp - 0x3c], eax
cvtsi2ss xmm0, edx
movss dword [ebp - 0x2c], xmm0
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0x25c]
xor edx, edx
cvtsi2ss xmm5, eax
divss xmm5, dword [ebp - 0x2c]
test eax, eax
movss dword [ebp - 0x24], xmm5
jle 0x5fe73a
mov ecx, dword [ecx + 4]
inc edx
mov eax, dword [ebp - 0x1c]
cmp edx, eax
jl 0x5fe72f
mov eax, dword [ecx]
mov edx, dword [eax + 0xa0]
test edx, edx
mov dword [ebp - 0x34], eax
jl 0x5fe754
mov eax, dword [ebp - 0x48]
cmp edx, eax
jl 0x5fe92b
mov eax, dword [ebp - 0x1c]
inc eax
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0x1c], eax
cmp eax, edx
jl 0x5fe712
mov eax, dword [ebp - 0x58]
movzx edx, al
mov dword [ebp - 0x40], edx
mov eax, dword [ebp - 0x40]
test eax, eax
je 0x5fe83b
mov eax, dword [ebx + 8]
mov ecx, dword [ebp - 0x68]
push eax
call fcn.00566930
mov dword [ebp - 4], 4
lea ecx, [ebp - 0x148]
call fcn.00565c00
mov dword [ebp - 4], 2
mov dword [ebp - 0x178], 0x9f05c8
mov al, byte [ebp - 0x168]
test al, al
je 0x5fe7ba
lea ecx, [ebp - 0x178]
call fcn.0040acc4
mov dword [ebp - 4], 1
lea eax, [ebp - 0x198]
mov dword [ebp - 0x388], eax
mov dword [ebp - 4], 0x39
mov dword [ebp - 4], 1
mov eax, dword [ebp - 0x194]
mov edx, dword [ebp - 0x190]
cmp eax, edx
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], edx
je 0x600ece
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x380], eax
mov dword [ebp - 4], 0x3a
mov dword [ebp - 4], 0x3b
mov dword [ebp - 4], 0x3a
lea ecx, [eax + 0xc]
call fcn.00406220
mov eax, dword [ebp - 0x20]
lea ecx, [eax + 8]
call fcn.00406220
mov eax, dword [ebp - 0x20]
add eax, 0x10
mov edx, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
cmp eax, edx
jne 0x5fe7f5
jmp 0x600ec5
lea eax, [ebp - 0x164]
mov ecx, dword [ebx + 0xc]
push eax
call fcn.004e4df4
mov dword [ebp - 4], 0x44
lea ecx, [ebp - 0x164]
lea eax, [ebp - 0xac]
push eax
call fcn.004e5be4
mov dword [ebp - 4], 0x45
lea ecx, [ebp - 0xac]
lea eax, [ebp - 0x9c]
push eax
call fcn.004e4108
mov dword [ebp - 4], 0x46
mov eax, dword [ebp - 0x28]
lea ecx, [eax + 0x9040]
lea edx, [ebp - 0x9c]
push edx
call fcn.004061ec
mov dword [ebp - 4], 0x45
lea ecx, [ebp - 0x9c]
call fcn.00406220
mov dword [ebp - 4], 0x44
lea eax, [ebp - 0xac]
mov dword [ebp - 0x358], eax
mov dword [ebp - 4], 0x47
mov dword [ebp - 4], 0x44
mov eax, dword [ebp - 0xa8]
mov edx, dword [ebp - 0xa4]
cmp eax, edx
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x1c], edx
je 0x6010c3
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x350], eax
mov dword [ebp - 4], 0x48
mov dword [ebp - 4], 0x49
mov dword [ebp - 4], 0x48
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 - 0x1c]
mov dword [ebp - 0x30], eax
cmp eax, edx
jne 0x5fe8e5
jmp 0x6010ba
lea ecx, [ebp - 0x24c]
xor eax, eax
test edx, edx
jle 0x5fe93f
mov ecx, dword [ecx + 4]
inc eax
cmp eax, edx
jl 0x5fe937
mov eax, dword [ecx]
xor edx, edx
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x50], edx
mov edx, dword [ecx + 0x9c]
test edx, edx
jl 0x5fe961
mov eax, dword [ebp - 0x4c]
cmp edx, eax
jl 0x5ff888
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x28]
push dword [eax + 0x16cf8]
push dword [eax + 0x16974]
push 0xffffffffffffffff
call fcn.0056f2e0
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x28]
push eax
call fcn.0057cee8
mov edx, dword [ebp - 0x30]
lea ecx, [edx + 8]
inc eax
push eax
push 0xa32db8
push ecx
call fcn.00406768
push 5
call fcn.00410c88
add esp, 0x10
movzx eax, al
test eax, eax
je 0x5fe9b7
mov eax, dword [ebp - 0x30]
mov dword [eax + 0xa624], 3
mov edi, dword [ebp - 0x34]
movzx edx, byte [edi + 0x44]
and edx, 2
mov ecx, 1
mov eax, 0
mov esi, dword [ebp - 0x30]
mov edx, 1
cmove eax, ecx
mov byte [esi + 0x30], al
movzx eax, byte [edi + 0x44]
and eax, 4
mov eax, 0
cmovne eax, edx
mov byte [esi + 0x31], al
mov al, byte [ebp - 0x64]
test al, al
je 0x5ff7de
xor eax, eax
add esp, 0xfffffff0
movsx edx, word [ebp - 0x1c4]
mov dword [ebp - 0x11c], eax
mov dword [ebp - 0x118], eax
fld qword [0xa31db0]
fstp qword [esp]
mov dword [ebp - 0x88], edx
fild dword [ebp - 0x88]
fmul qword [0xa31da8]
fstp qword [esp + 8]
call fcn.0088b9f8
add esp, 0x10
mov eax, esi
fstp dword [eax + 0x18]
add esp, 0xfffffff0
movsx edx, word [ebp - 0x1f0]
fld qword [0xa31db0]
movsx ecx, word [ebp - 0x1ec]
fstp qword [esp]
mov dword [ebp - 0x88], edx
fild dword [ebp - 0x88]
fmul qword [0xa31da8]
mov dword [ebp - 0x88], ecx
fild dword [ebp - 0x88]
fmul qword [0xa31da0]
faddp st(1)
fstp qword [esp + 8]
call fcn.0088b9f8
add esp, 0x10
fcom qword [0xa31db0]
fnstsw ax
sahf
jbe 0x5feab7
fld qword [0xa31d98]
fmul st(1), st(0)
mov edx, dword [ebp - 0x28]
fxch st(1)
fstp dword [edx + 0x9058]
mov eax, esi
mov dword [eax + 0x20], 0x40000000
fld dword [edx + 0x9058]
fxch st(1)
jmp 0x5feac6
mov eax, dword [ebp - 0x28]
fst dword [eax + 0x9058]
fld qword [0xa31d98]
fcomp st(1)
fnstsw ax
sahf
jbe 0x5feae5
fmul qword [0xa31db0]
mov eax, dword [ebp - 0x28]
mov edx, esi
fst dword [eax + 0x9058]
mov dword [edx + 0x20], 0x3f000000
fstp st(0)
add esp, 0xfffffff0
movsx eax, word [ebp - 0x200]
fld qword [0xa31db0]
fstp qword [esp]
mov dword [ebp - 0x88], eax
fild dword [ebp - 0x88]
fmul qword [0xa31d90]
fstp qword [esp + 8]
call fcn.0088b9f8
add esp, 0x10
mov eax, dword [ebp - 0x28]
fstp dword [eax + 0x905c]
movsx eax, word [ebp - 0x1f6]
test eax, eax
jle 0x5feb36
mov edx, dword [ebp - 0x28]
mov word [edx + 0x8024], ax
movsx eax, word [ebp - 0x1fc]
test eax, eax
jle 0x5fec48
mov edx, dword [ebp - 0x118]
lea ecx, [edx + edx]
add ecx, ecx
sub ecx, edx
add ecx, ecx
add ecx, ecx
add ecx, ecx
lea edi, [ecx + ecx]
add edi, edi
add edi, edi
add edi, edi
add edi, edi
sub edi, ecx
mov eax, 1
mov dword [edi + esi + 0x4978], eax
mov byte [edi + esi + 0x4b97], al
mov edx, dword [ebp - 0x118]
lea ecx, [edx + edx]
add ecx, ecx
sub ecx, edx
add ecx, ecx
add ecx, ecx
add ecx, ecx
lea edx, [ecx + ecx]
add edx, edx
add edx, edx
add edx, edx
add edx, edx
sub edx, ecx
mov byte [edx + esi + 0x4b98], al
mov eax, dword [ebp - 0x118]
lea edx, [eax + eax]
add edx, edx
sub edx, eax
add edx, edx
add edx, edx
add edx, edx
lea ecx, [edx + edx]
add ecx, ecx
add ecx, ecx
add ecx, ecx
add ecx, ecx
sub ecx, edx
mov eax, 3
mov word [ecx + esi + 0x48b8], ax
movsx eax, word [ebp - 0x1fc]
cvtsi2ss xmm3, eax
mulss xmm3, dword [0xa31e1c]
mov eax, dword [ebp - 0x118]
lea edx, [eax + eax]
add edx, edx
sub edx, eax
add edx, edx
add edx, edx
add edx, edx
lea eax, [edx + edx]
add eax, eax
add eax, eax
add eax, eax
add eax, eax
sub eax, edx
movss dword [eax + esi + 0x48bc], xmm3
mov eax, dword [ebp - 0x118]
lea edx, [eax + eax]
add edx, edx
sub edx, eax
add edx, edx
add edx, edx
add edx, edx
lea eax, [edx + edx]
add eax, eax
add eax, eax
add eax, eax
add eax, eax
sub eax, edx
movss xmm1, dword [esi + eax + 0x48bc]
minss xmm1, dword [0xa31e28]
movss dword [esi + eax + 0x48bc], xmm1
inc dword [ebp - 0x118]
mov eax, esi
lea esi, [eax + 0x5fc]
mov edi, dword [ebp - 0x11c]
mov dword [ebp - 0x40], esi
lea edx, [edi + edi]
add edx, edx
sub edx, edi
add edx, edx
add edx, edx
sub edx, edi
lea edx, [edi + edx*8]
lea ecx, [edx + edx]
add ecx, ecx
sub ecx, edx
lea edx, [eax + 0x5f8]
mov dword [eax + ecx*4 + 0x5fc], 0x3f800000
add esp, 0xffffffd8
mov dword [ebp - 0x54], edx
mov edx, dword [ebp - 0x11c]
lea ecx, [edx + edx]
add ecx, ecx
sub ecx, edx
add ecx, ecx
add ecx, ecx
sub ecx, edx
lea edx, [edx + ecx*8]
lea ecx, [edx + edx]
add ecx, ecx
sub ecx, edx
mov edx, 1
mov word [eax + ecx*4 + 0x5f8], dx
lea edx, [ebp - 0x11c]
lea ecx, [ebp - 0x118]
movsx esi, word [ebp - 0x1a6]
mov dword [esp + 0xc], esi
movsx esi, word [ebp - 0x1a2]
mov dword [esp + 0x10], esi
movsx esi, word [ebp - 0x1a4]
mov dword [esp + 0x14], esi
movsx esi, word [ebp - 0x1a0]
mov dword [esp + 0x18], esi
movsx esi, word [ebp - 0x19e]
mov dword [esp + 0x1c], esi
movsx esi, word [ebp - 0x19c]
mov dword [esp + 0x20], esi
mov byte [esp + 0x24], 0
call fcn.00605de8
add esp, 0x28
movsx eax, word [ebp - 0x1c4]
cmp ax, word [ebp - 0x1c6]
jle 0x5fee23
mov edx, dword [ebp - 0x118]
lea ecx, [edx + edx]
add ecx, ecx
sub ecx, edx
add ecx, ecx
add ecx, ecx
add ecx, ecx
lea edi, [ecx + ecx]
add edi, edi
add edi, edi
add edi, edi
add edi, edi
sub edi, ecx
mov eax, 1
mov esi, dword [ebp - 0x30]
mov dword [edi + esi + 0x4978], eax
add esp, 0xfffffff0
mov byte [edi + esi + 0x4b97], al
mov edx, dword [ebp - 0x118]
lea ecx, [edx + edx]
add ecx, ecx
sub ecx, edx
add ecx, ecx
add ecx, ecx
add ecx, ecx
lea edx, [ecx + ecx]
add edx, edx
add edx, edx
add edx, edx
add edx, edx
sub edx, ecx
mov byte [edx + esi + 0x4b98], 6
mov edx, dword [ebp - 0x118]
lea ecx, [edx + edx]
add ecx, ecx
sub ecx, edx
add ecx, ecx
add ecx, ecx
add ecx, ecx
lea edx, [ecx + ecx]
add edx, edx
add edx, edx
add edx, edx
add edx, edx
sub edx, ecx
mov word [edx + esi + 0x48b8], ax
movsx eax, word [ebp - 0x1c6]
fld qword [0xa31da8]
fld qword [0xa31db0]
fstp qword [esp]
mov dword [ebp - 0x88], eax
fild dword [ebp - 0x88]
fmul st(1)
movsx eax, word [ebp - 0x1c4]
mov dword [ebp - 0x88], eax
fild dword [ebp - 0x88]
fmulp st(2)
fsubrp st(1)
fstp qword [esp + 8]
call fcn.0088b9f8
add esp, 0x10
mov eax, dword [ebp - 0x118]
fsubr qword [0xa31d88]
lea edx, [eax + eax]
add edx, edx
sub edx, eax
add edx, edx
add edx, edx
add edx, edx
lea ecx, [edx + edx]
add ecx, ecx
add ecx, ecx
add ecx, ecx
add ecx, ecx
sub ecx, edx
fstp dword [ecx + esi + 0x48bc]
inc dword [ebp - 0x118]
movsx eax, word [ebp - 0x1be]
test eax, eax
jle 0x600206
movsx eax, word [ebp - 0x1c0]
mov ecx, dword [ebp - 0x11c]
lea esi, [ecx + ecx]
cvtsi2ss xmm1, eax
mulss xmm1, dword [0xa31e18]
add esi, esi
sub esi, ecx
add esi, esi
add esi, esi
sub esi, ecx
lea edi, [ecx + esi*8]
lea eax, [edi + edi]
add eax, eax
sub eax, edi
mov edx, dword [ebp - 0x40]
movss dword [edx + eax*4], xmm1
mov eax, dword [ebp - 0x11c]
lea ecx, [eax + eax]
add ecx, ecx
sub ecx, eax
add ecx, ecx
add ecx, ecx
sub ecx, eax
lea ecx, [eax + ecx*8]
lea eax, [ecx + ecx]
add eax, eax
sub eax, ecx
add eax, eax
add eax, eax
lea edx, [edx + eax]
movss xmm0, dword [edx]
comiss xmm0, dword [0xa31e14]
jne 0x5feec2
mov dword [edx], 0x38d1b717
mov eax, dword [ebp - 0x11c]
lea edx, [eax + eax]
add edx, edx
sub edx, eax
add edx, edx
add edx, edx
sub edx, eax
lea ecx, [eax + edx*8]
lea eax, [ecx + ecx]
add eax, eax
sub eax, ecx
add eax, eax
add eax, eax
mov edx, 1
mov ecx, dword [ebp - 0x54]
mov word [ecx + eax], dx
movzx eax, word [ebp - 0x1c2]
test eax, eax
jne 0x5fef11
add esp, 0xffffffe8
lea edx, [ebp - 0x11c]
movsx ecx, word [ebp - 0x1bc]
movsx esi, word [ebp - 0x1ba]
movsx edi, word [ebp - 0x1b8]
mov eax, dword [ebp - 0x30]
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], edi
mov byte [esp + 0x14], 1
call fcn.00605770
add esp, 0x18
jmp 0x5fef42
add esp, 0xffffffe8
lea edx, [ebp - 0x11c]
movsx esi, word [ebp - 0x1b4]
mov dword [esp + 0xc], esi
movsx edi, word [ebp - 0x1b6]
mov eax, dword [ebp - 0x30]
mov dword [esp + 0x10], edi
mov byte [esp + 0x14], 0
xor ecx, ecx
call fcn.00605770
add esp, 0x18
movzx eax, al
test eax, eax
je 0x5ff098
movzx edx, word [ebp - 0x1c0]
movzx eax, word [ebp - 0x1be]
cmp eax, edx
je 0x5ff09f
mov edx, dword [ebp - 0x118]
lea ecx, [edx + edx]
add ecx, ecx
sub ecx, edx
add ecx, ecx
add ecx, ecx
add ecx, ecx
lea edi, [ecx + ecx]
add edi, edi
add edi, edi
add edi, edi
add edi, edi
sub edi, ecx
mov eax, 1
mov esi, dword [ebp - 0x30]
mov dword [edi + esi + 0x4978], eax
mov byte [edi + esi + 0x4b97], al
mov edx, dword [ebp - 0x118]
lea ecx, [edx + edx]
add ecx, ecx
sub ecx, edx
add ecx, ecx
add ecx, ecx
add ecx, ecx
lea edx, [ecx + ecx]
add edx, edx
add edx, edx
add edx, edx
add edx, edx
sub edx, ecx
mov byte [edx + esi + 0x4b98], 4
mov edx, dword [ebp - 0x118]
lea ecx, [edx + edx]
add ecx, ecx
sub ecx, edx
add ecx, ecx
add ecx, ecx
add ecx, ecx
lea edx, [ecx + ecx]
add edx, edx
add edx, edx
add edx, edx
add edx, edx
sub edx, ecx
mov byte [edx + esi + 0x4b99], al
mov eax, dword [ebp - 0x118]
lea edx, [eax + eax]
add edx, edx
sub edx, eax
add edx, edx
add edx, edx
add edx, edx
lea ecx, [edx + edx]
add ecx, ecx
add ecx, ecx
add ecx, ecx
add ecx, ecx
sub ecx, edx
mov eax, 0xb
mov word [ecx + esi + 0x48b8], ax
mov ecx, dword [ebp - 0x11c]
dec ecx
mov eax, dword [ebp - 0x118]
lea edx, [eax + eax]
add edx, edx
sub edx, eax
add edx, edx
add edx, edx
add edx, edx
lea eax, [edx + edx]
add eax, eax
add eax, eax
add eax, eax
add eax, eax
sub eax, edx
mov word [eax + esi + 0x48ba], cx
movsx eax, word [ebp - 0x1c0]
movsx edx, word [ebp - 0x1be]
sub edx, eax
cvtsi2ss xmm1, edx
mulss xmm1, dword [0xa31e18]
mov eax, dword [ebp - 0x118]
lea edx, [eax + eax]
add edx, edx
sub edx, eax
add edx, edx
add edx, edx
add edx, edx
lea eax, [edx + edx]
add eax, eax
add eax, eax
add eax, eax
add eax, eax
sub eax, edx
movss dword [eax + esi + 0x48bc], xmm1
movzx edx, word [ebp - 0x1c0]
inc dword [ebp - 0x118]
jmp 0x5ff09f
movzx edx, word [ebp - 0x1c0]
shl edx, 0x10
test edx, edx
jl 0x5fffa2
movsx eax, word [ebp - 0x1e2]
test eax, eax
jle 0x5fff8e
push edi
call fcn.00605d84
pop ecx
mov eax, dword [ebp - 0x11c]
lea ecx, [eax + eax]
add ecx, ecx
sub ecx, eax
add ecx, ecx
add ecx, ecx
sub ecx, eax
lea esi, [eax + ecx*8]
lea edi, [esi + esi]
add edi, edi
sub edi, esi
mov edx, dword [ebp - 0x40]
fstp dword [edx + edi*4]
mov eax, dword [ebp - 0x11c]
lea ecx, [eax + eax]
add ecx, ecx
sub ecx, eax
add ecx, ecx
add ecx, ecx
sub ecx, eax
lea ecx, [eax + ecx*8]
lea eax, [ecx + ecx]
add eax, eax
sub eax, ecx
add eax, eax
add eax, eax
lea edx, [edx + eax]
movss xmm0, dword [edx]
comiss xmm0, dword [0xa31e14]
jne 0x5ff13b
mov dword [edx], 0x38d1b717
mov eax, dword [ebp - 0x11c]
lea edx, [eax + eax]
add edx, edx
sub edx, eax
add edx, edx
add edx, edx
sub edx, eax
lea ecx, [eax + edx*8]
lea eax, [ecx + ecx]
add eax, eax
sub eax, ecx
add eax, eax
add eax, eax
mov edx, 3
mov ecx, dword [ebp - 0x54]
mov word [ecx + eax], dx
movzx eax, word [ebp - 0x1e4]
test eax, eax
jne 0x5ff18a
add esp, 0xffffffe8
lea edx, [ebp - 0x11c]
movsx ecx, word [ebp - 0x1bc]
movsx esi, word [ebp - 0x1ba]
movsx edi, word [ebp - 0x1b8]
mov eax, dword [ebp - 0x30]
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], edi
mov byte [esp + 0x14], 1
call fcn.00605770
add esp, 0x18
jmp 0x5ff1bb
add esp, 0xffffffe8
lea edx, [ebp - 0x11c]
movsx esi, word [ebp - 0x1b4]
mov dword [esp + 0xc], esi
movsx edi, word [ebp - 0x1b6]
mov eax, dword [ebp - 0x30]
mov dword [esp + 0x10], edi
mov byte [esp + 0x14], 0
xor ecx, ecx
call fcn.00605770
add esp, 0x18
movzx eax, al
test eax, eax
je 0x5ff310
movzx eax, word [ebp - 0x1e2]
movzx edx, word [ebp - 0x1e0]
cmp eax, edx
je 0x5ff310
mov ecx, dword [ebp - 0x118]
lea edi, [ecx + ecx]
add edi, edi
sub edi, ecx
add edi, edi
add edi, edi
add edi, edi
lea eax, [edi + edi]
add eax, eax
add eax, eax
add eax, eax
add eax, eax
sub eax, edi
mov edx, 1
mov esi, dword [ebp - 0x30]
mov dword [eax + esi + 0x4978], edx
push edi
mov byte [eax + esi + 0x4b97], dl
mov eax, dword [ebp - 0x118]
lea ecx, [eax + eax]
add ecx, ecx
sub ecx, eax
add ecx, ecx
add ecx, ecx
add ecx, ecx
lea eax, [ecx + ecx]
add eax, eax
add eax, eax
add eax, eax
add eax, eax
sub eax, ecx
mov byte [eax + esi + 0x4b98], 4
mov eax, dword [ebp - 0x118]
lea ecx, [eax + eax]
add ecx, ecx
sub ecx, eax
add ecx, ecx
add ecx, ecx
add ecx, ecx
lea eax, [ecx + ecx]
add eax, eax
add eax, eax
add eax, eax
add eax, eax
sub eax, ecx
mov byte [eax + esi + 0x4b99], dl
mov eax, dword [ebp - 0x118]
lea edx, [eax + eax]
add edx, edx
sub edx, eax
add edx, edx
add edx, edx
add edx, edx
lea ecx, [edx + edx]
add ecx, ecx
add ecx, ecx
add ecx, ecx
add ecx, ecx
sub ecx, edx
mov eax, 0xb
mov word [ecx + esi + 0x48b8], ax
mov ecx, dword [ebp - 0x11c]
dec ecx
mov eax, dword [ebp - 0x118]
lea edx, [eax + eax]
add edx, edx
sub edx, eax
add edx, edx
add edx, edx
add edx, edx
lea eax, [edx + edx]
add eax, eax
add eax, eax
add eax, eax
add eax, eax
sub eax, edx
mov word [eax + esi + 0x48ba], cx
movsx eax, word [ebp - 0x1e0]
call fcn.00605d84
fstp qword [ebp - 0x70]
add esp, 4
push edi
movsx eax, word [ebp - 0x1e2]
call fcn.00605d84
pop ecx
mov eax, dword [ebp - 0x118]
fld qword [ebp - 0x70]
fsubrp st(1)
lea edx, [eax + eax]
add edx, edx
sub edx, eax
add edx, edx
add edx, edx
add edx, edx
lea ecx, [edx + edx]
add ecx, ecx
add ecx, ecx
add ecx, ecx
add ecx, ecx
sub ecx, edx
fstp dword [ecx + esi + 0x48bc]
inc dword [ebp - 0x118]
movzx eax, word [ebp - 0x1de]
cmp eax, 1
je 0x5ff8a6
movsx edx, word [ebp - 0x1e8]
test edx, edx
je 0x5ff334
movsx ecx, word [ebp - 0x1e6]
jmp 0x5ff343
movsx ecx, word [ebp - 0x1e6]
test ecx, ecx
je 0x5ff5c4
test edx, edx
jl 0x600eae
test ecx, ecx
jle 0x600e80
fld dword [0xa31df8]
mov dword [ebp - 0x88], ecx
fild dword [ebp - 0x88]
fmul st(1)
fld st(0)
mov dword [ebp - 0x88], edx
fild dword [ebp - 0x88]
fmulp st(3)
fsubrp st(2)
fxch st(1)
fstp qword [ebp - 0x70]
mov edi, dword [ebp - 0x11c]
lea eax, [edi + edi]
add eax, eax
sub eax, edi
add eax, eax
add eax, eax
sub eax, edi
lea eax, [edi + eax*8]
lea edx, [eax + eax]
add edx, edx
sub edx, eax
mov eax, dword [ebp - 0x40]
fstp dword [eax + edx*4]
mov eax, dword [ebp - 0x11c]
lea edx, [eax + eax]
add edx, edx
sub edx, eax
add edx, edx
add edx, edx
sub edx, eax
lea eax, [eax + edx*8]
lea edx, [eax + eax]
add edx, edx
sub edx, eax
mov eax, 3
mov esi, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x30]
mov word [esi + edx*4], ax
mov eax, dword [ebp - 0x11c]
lea edx, [eax + eax]
add edx, edx
sub edx, eax
add edx, edx
add edx, edx
sub edx, eax
lea eax, [eax + edx*8]
lea edi, [eax + eax]
add edi, edi
sub edi, eax
mov dword [esi + edi*4 + 0xc0], 1
mov edx, 2
push edi
mov dword [ecx + edi*4 + 0x9f8], edx
mov eax, dword [ebp - 0x11c]
lea esi, [eax + eax]
add esi, esi
sub esi, eax
add esi, esi
add esi, esi
sub esi, eax
lea eax, [eax + esi*8]
lea esi, [eax + eax]
add esi, esi
sub esi, eax
mov dword [ecx + esi*4 + 0x6f0], edx
mov eax, dword [ebp - 0x11c]
lea edx, [eax + eax]
add edx, edx
sub edx, eax
add edx, edx
add edx, edx
sub edx, eax
lea eax, [eax + edx*8]
lea edx, [eax + eax]
add edx, edx
sub edx, eax
mov dword [ecx + edx*4 + 0x900], 0
mov eax, dword [ebp - 0x11c]
lea edx, [eax + eax]
add edx, edx
sub edx, eax
add edx, edx
add edx, edx
sub edx, eax
lea eax, [eax + edx*8]
lea edx, [eax + eax]
add edx, edx
sub edx, eax
mov dword [ecx + edx*4 + 0x908], 0
movsx eax, word [ebp - 0x1ea]
call fcn.0060570c
pop ecx
mov edx, dword [ebp - 0x11c]
lea ecx, [edx + edx]
add ecx, ecx
sub ecx, edx
add ecx, ecx
add ecx, ecx
sub ecx, edx
lea esi, [edx + ecx*8]
lea eax, [esi + esi]
add eax, eax
sub eax, esi
mov edi, dword [ebp - 0x30]
fstp dword [edi + eax*4 + 0x904]
inc dword [ebp - 0x11c]
fld qword [ebp - 0x70]
fabs
fcomp qword [0xa31d80]
fnstsw ax
sahf
jbe 0x5ff5bd
mov edi, dword [ebp - 0x118]
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, 1
mov esi, dword [ebp - 0x30]
mov dword [ecx + esi + 0x4978], edx
mov byte [ecx + esi + 0x4b97], dl
mov eax, dword [ebp - 0x118]
lea edx, [eax + eax]
add edx, edx
sub edx, eax
add edx, edx
add edx, edx
add edx, edx
lea eax, [edx + edx]
add eax, eax
add eax, eax
add eax, eax
add eax, eax
sub eax, edx
mov byte [eax + esi + 0x4b98], 6
mov eax, dword [ebp - 0x118]
lea edx, [eax + eax]
add edx, edx
sub edx, eax
add edx, edx
add edx, edx
add edx, edx
lea ecx, [edx + edx]
add ecx, ecx
add ecx, ecx
add ecx, ecx
add ecx, ecx
sub ecx, edx
mov eax, 0xb
mov word [ecx + esi + 0x48b8], ax
mov ecx, dword [ebp - 0x11c]
dec ecx
mov eax, dword [ebp - 0x118]
lea edx, [eax + eax]
add edx, edx
sub edx, eax
add edx, edx
add edx, edx
add edx, edx
lea eax, [edx + edx]
add eax, eax
add eax, eax
add eax, eax
add eax, eax
sub eax, edx
mov word [eax + esi + 0x48ba], cx
fld qword [ebp - 0x70]
fmul dword [0xa31df4]
mov eax, dword [ebp - 0x118]
lea edx, [eax + eax]
add edx, edx
sub edx, eax
add edx, edx
add edx, edx
add edx, edx
lea eax, [edx + edx]
add eax, eax
add eax, eax
add eax, eax
add eax, eax
sub eax, edx
fstp dword [eax + esi + 0x48bc]
movsx edx, word [ebp - 0x1e8]
inc dword [ebp - 0x118]
jmp 0x5ff5c4
movsx edx, word [ebp - 0x1e8]
test edx, edx
jne 0x5ff6d0
movzx eax, word [ebp - 0x1e6]
test eax, eax
jne 0x5ff6d0
movsx eax, word [ebp - 0x1ea]
test eax, eax
jle 0x5ff6d0
mov edi, dword [ebp - 0x11c]
lea eax, [edi + edi]
add eax, eax
sub eax, edi
add eax, eax
add eax, eax
sub eax, edi
lea eax, [edi + eax*8]
lea edx, [eax + eax]
add edx, edx
sub edx, eax
mov eax, dword [ebp - 0x40]
mov dword [eax + edx*4], 0x3f800000
mov eax, dword [ebp - 0x11c]
lea edx, [eax + eax]
add edx, edx
sub edx, eax
add edx, edx
add edx, edx
sub edx, eax
lea eax, [eax + edx*8]
lea edx, [eax + eax]
add edx, edx
sub edx, eax
mov eax, 3
mov esi, dword [ebp - 0x54]
mov ecx, 1
mov word [esi + edx*4], ax
mov eax, dword [ebp - 0x11c]
lea edx, [eax + eax]
add edx, edx
sub edx, eax
add edx, edx
add edx, edx
sub edx, eax
lea eax, [eax + edx*8]
lea edi, [eax + eax]
add edi, edi
sub edi, eax
mov dword [esi + edi*4 + 0xc0], ecx
mov edx, dword [ebp - 0x30]
push edi
mov dword [edx + edi*4 + 0x9f8], 5
mov eax, dword [ebp - 0x11c]
lea esi, [eax + eax]
add esi, esi
sub esi, eax
add esi, esi
add esi, esi
sub esi, eax
lea eax, [eax + esi*8]
lea esi, [eax + eax]
add esi, esi
sub esi, eax
mov dword [edx + esi*4 + 0x9d8], ecx
movsx eax, word [ebp - 0x1ea]
call fcn.0060570c
pop ecx
mov eax, dword [ebp - 0x11c]
lea edx, [eax + eax]
add edx, edx
sub edx, eax
add edx, edx
add edx, edx
sub edx, eax
lea ecx, [eax + edx*8]
lea edi, [ecx + ecx]
add edi, edi
sub edi, ecx
mov esi, dword [ebp - 0x30]
fstp dword [esi + edi*4 + 0x9dc]
inc dword [ebp - 0x11c]
movsx esi, word [ebp - 0x1f4]
test esi, esi
je 0x5ff6e4
movsx edi, word [ebp - 0x1f2]
jmp 0x5ff6f3
movsx edi, word [ebp - 0x1f2]
test edi, edi
je 0x5ff7de
push edi
mov eax, esi
call fcn.006056b0
pop ecx
mov edx, dword [ebp - 0x30]
fstp dword [edx + 0x508]
cmp esi, edi
je 0x5ff7de
mov edi, dword [ebp - 0x118]
lea edx, [edi + edi]
add edx, edx
sub edx, edi
add edx, edx
add edx, edx
add edx, edx
lea eax, [edx + edx]
add eax, eax
add eax, eax
add eax, eax
add eax, eax
sub eax, edx
mov ecx, 1
mov esi, dword [ebp - 0x30]
mov dword [eax + esi + 0x4978], ecx
push edi
mov byte [eax + esi + 0x4b97], cl
mov eax, dword [ebp - 0x118]
lea edx, [eax + eax]
add edx, edx
sub edx, eax
add edx, edx
add edx, edx
add edx, edx
lea eax, [edx + edx]
add eax, eax
add eax, eax
add eax, eax
add eax, eax
sub eax, edx
mov byte [eax + esi + 0x4b98], 6
mov eax, dword [ebp - 0x118]
lea edx, [eax + eax]
add edx, edx
sub edx, eax
add edx, edx
add edx, edx
add edx, edx
lea ecx, [edx + edx]
add ecx, ecx
add ecx, ecx
add ecx, ecx
add ecx, ecx
sub ecx, edx
mov eax, 0x27
mov word [ecx + esi + 0x48b8], ax
movsx edx, word [ebp - 0x1f2]
movsx eax, word [ebp - 0x1f4]
sub edx, eax
mov eax, edx
call fcn.006056b0
pop ecx
mov eax, dword [ebp - 0x118]
lea edx, [eax + eax]
add edx, edx
sub edx, eax
add edx, edx
add edx, edx
add edx, edx
lea ecx, [edx + edx]
add ecx, ecx
add ecx, ecx
add ecx, ecx
add ecx, ecx
sub ecx, edx
fstp dword [ecx + esi + 0x48bc]
inc dword [ebp - 0x118]
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x28]
push eax
call fcn.0061c494
mov esi, eax
test esi, esi
jl 0x600e6b
mov edx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x28]
push edx
call fcn.0057cee8
push eax
mov ecx, dword [ebp - 0x28]
call fcn.0057d208
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + esi*4 + 0x4000]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x28]
push eax
call fcn.0057cee8
push eax
mov ecx, dword [ebp - 0x28]
call fcn.0057c994
mov dword [ebp - 0x54], eax
xor edi, edi
lea esi, [edi + edi]
add esi, esi
sub esi, edi
xor edx, edx
mov ecx, dword [ebp - 0x54]
mov eax, 0x3f800000
mov dword [ecx + esi*8 + 0x1b8], edx
inc edi
cmp edi, 9
mov dword [ecx + esi*8 + 0x1bc], edx
mov dword [ecx + esi*8 + 0x1c0], edx
mov dword [ecx + esi*8 + 0x1cc], edx
mov byte [ecx + esi*8 + 0x1c4], dl
mov dword [ecx + esi*8 + 0x1c8], 0x3f800000
mov byte [ecx + esi*8 + 0x1c5], dl
mov byte [ecx + esi*8 + 0x1c6], dl
jl 0x5ff830
jmp 0x600212
lea ecx, [ebp - 0x254]
xor eax, eax
test edx, edx
jle 0x5ff89c
mov ecx, dword [ecx + 4]
inc eax
cmp eax, edx
jl 0x5ff894
mov eax, dword [ecx]
mov dword [ebp - 0x50], eax
jmp 0x5fe961
movzx edx, word [ebp - 0x1dc]
mov eax, edx
shl eax, 0x10
test eax, eax
jl 0x5ff8d9
cmp dx, 1
jg 0x5ff8cb
mov eax, dword [ebp - 0x30]
mov dword [eax + 0xa5b8], 3
jmp 0x5ff8ec
cmp dx, 2
jl 0x5ff8ec
cmp dx, 3
jle 0x5ff8df
jmp 0x5ff8ec
cmp dx, 2
jl 0x5ff8ec
mov eax, dword [ebp - 0x30]
mov dword [eax + 0xa5b8], 6
cmp edx, 3
je 0x5fff5e
mov eax, dword [ebp - 0x30]
mov dword [eax + 0xa5c0], 1
movss xmm6, dword [0xa31e04]
movsx eax, word [ebp - 0x1d4]
mov ecx, dword [ebp - 0x30]
cvtsi2ss xmm5, eax
mulss xmm5, xmm6
movsx edx, word [ebp - 0x1d2]
movss dword [ecx + 0xa5c8], xmm5
movsx esi, word [ebp - 0x1ce]
test esi, esi
cvtsi2ss xmm7, edx
mulss xmm7, xmm6
movss dword [ecx + 0xa5cc], xmm7
jle 0x5ffa17
mov edi, dword [ebp - 0x118]
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, 1
mov esi, dword [ebp - 0x30]
mov dword [ecx + esi + 0x4978], edx
mov byte [ecx + esi + 0x4b97], dl
mov eax, dword [ebp - 0x118]
lea edx, [eax + eax]
add edx, edx
sub edx, eax
add edx, edx
add edx, edx
add edx, edx
lea eax, [edx + edx]
add eax, eax
add eax, eax
add eax, eax
add eax, eax
sub eax, edx
mov byte [eax + esi + 0x4b98], 5
mov eax, dword [ebp - 0x118]
lea edx, [eax + eax]
add edx, edx
sub edx, eax
add edx, edx
add edx, edx
add edx, edx
lea ecx, [edx + edx]
add ecx, ecx
add ecx, ecx
add ecx, ecx
add ecx, ecx
sub ecx, edx
mov eax, 4
mov word [ecx + esi + 0x48b8], ax
movsx eax, word [ebp - 0x1ce]
cvtsi2ss xmm1, eax
mulss xmm1, dword [0xa31e00]
mov eax, dword [ebp - 0x118]
lea edx, [eax + eax]
add edx, edx
sub edx, eax
add edx, edx
add edx, edx
add edx, edx
lea eax, [edx + edx]
add eax, eax
add eax, eax
add eax, eax
add eax, eax
sub eax, edx
movss dword [eax + esi + 0x48bc], xmm1
inc dword [ebp - 0x118]
movsx ecx, word [ebp - 0x1ca]
test ecx, ecx
je 0x5ffa2b
movsx edx, word [ebp - 0x1c8]
jmp 0x5ffa3a
movsx edx, word [ebp - 0x1c8]
test edx, edx
je 0x5ffc20
test ecx, ecx
jl 0x5fff47
test edx, edx
jle 0x5fff17
fld dword [0xa31e18]
mov dword [ebp - 0x88], edx
fild dword [ebp - 0x88]
fmul st(1)
fld st(0)
mov dword [ebp - 0x88], ecx
fild dword [ebp - 0x88]
fmulp st(3)
fsubrp st(2)
fxch st(1)
fstp qword [ebp - 0x70]
mov esi, dword [ebp - 0x11c]
lea edi, [esi + esi]
add edi, edi
sub edi, esi
add edi, edi
add edi, edi
sub edi, esi
lea eax, [esi + edi*8]
lea edx, [eax + eax]
add edx, edx
sub edx, eax
mov eax, dword [ebp - 0x40]
fstp dword [eax + edx*4]
mov eax, dword [ebp - 0x11c]
lea edx, [eax + eax]
add edx, edx
sub edx, eax
add edx, edx
add edx, edx
sub edx, eax
lea eax, [eax + edx*8]
lea ecx, [eax + eax]
add ecx, ecx
sub ecx, eax
mov eax, 4
mov edx, dword [ebp - 0x54]
add esp, 0xffffffd8
mov word [edx + ecx*4], ax
lea edx, [ebp - 0x11c]
lea ecx, [ebp - 0x118]
movsx eax, word [ebp - 0x1a6]
mov dword [esp + 0xc], eax
movsx eax, word [ebp - 0x1b0]
mov dword [esp + 0x10], eax
movsx eax, word [ebp - 0x1b2]
mov dword [esp + 0x14], eax
movsx eax, word [ebp - 0x1ae]
mov dword [esp + 0x18], eax
movsx eax, word [ebp - 0x1ac]
mov dword [esp + 0x1c], eax
movsx eax, word [ebp - 0x1aa]
mov dword [esp + 0x20], eax
mov eax, dword [ebp - 0x30]
mov byte [esp + 0x24], 1
call fcn.00605de8
add esp, 0x28
fld qword [ebp - 0x70]
fabs
fcomp qword [0xa31d80]
fnstsw ax
sahf
jbe 0x5ffc20
mov edi, dword [ebp - 0x118]
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, 1
mov esi, dword [ebp - 0x30]
mov dword [ecx + esi + 0x4978], edx
mov byte [ecx + esi + 0x4b97], dl
mov eax, dword [ebp - 0x118]
lea edx, [eax + eax]
add edx, edx
sub edx, eax
add edx, edx
add edx, edx
add edx, edx
lea eax, [edx + edx]
add eax, eax
add eax, eax
add eax, eax
add eax, eax
sub eax, edx
mov byte [eax + esi + 0x4b98], 6
mov eax, dword [ebp - 0x118]
lea edx, [eax + eax]
add edx, edx
sub edx, eax
add edx, edx
add edx, edx
add edx, edx
lea ecx, [edx + edx]
add ecx, ecx
add ecx, ecx
add ecx, ecx
add ecx, ecx
sub ecx, edx
mov eax, 0xb
mov word [ecx + esi + 0x48b8], ax
mov ecx, dword [ebp - 0x11c]
dec ecx
mov eax, dword [ebp - 0x118]
lea edx, [eax + eax]
add edx, edx
sub edx, eax
add edx, edx
add edx, edx
add edx, edx
lea eax, [edx + edx]
add eax, eax
add eax, eax
add eax, eax
add eax, eax
sub eax, edx
mov word [eax + esi + 0x48ba], cx
mov eax, dword [ebp - 0x118]
lea edx, [eax + eax]
add edx, edx
sub edx, eax
add edx, edx
add edx, edx
add edx, edx
lea eax, [edx + edx]
add eax, eax
add eax, eax
add eax, eax
add eax, eax
sub eax, edx
fld qword [ebp - 0x70]
fstp dword [eax + esi + 0x48bc]
inc dword [ebp - 0x118]
movsx eax, word [ebp - 0x1d8]
test eax, eax
jne 0x5ffc3a
movzx edx, word [ebp - 0x1d6]
test edx, edx
je 0x5ff320
movzx edx, word [ebp - 0x1da]
test edx, edx
jne 0x5ffc5c
mov ecx, 1
xor edx, edx
cmp word [ebp - 0x1ba], 0x22
cmove edx, ecx
mov dword [ebp - 0x78], edx
jmp 0x5ffc71
mov ecx, 1
xor edx, edx
cmp word [ebp - 0x1b4], 0x22
cmove edx, ecx
mov dword [ebp - 0x78], edx
mov ecx, 1
test edx, edx
jne 0x5ffd8b
cvtsi2ss xmm1, eax
mulss xmm1, dword [0xa31dfc]
mov eax, dword [ebp - 0x11c]
lea ecx, [eax + eax]
add ecx, ecx
sub ecx, eax
add ecx, ecx
add ecx, ecx
sub ecx, eax
lea esi, [eax + ecx*8]
lea edi, [esi + esi]
add edi, edi
sub edi, esi
mov edx, dword [ebp - 0x40]
movss dword [edx + edi*4], xmm1
mov eax, dword [ebp - 0x11c]
lea ecx, [eax + eax]
add ecx, ecx
sub ecx, eax
add ecx, ecx
add ecx, ecx
sub ecx, eax
lea ecx, [eax + ecx*8]
lea eax, [ecx + ecx]
add eax, eax
sub eax, ecx
add eax, eax
add eax, eax
lea edx, [edx + eax]
movss xmm0, dword [edx]
comiss xmm0, dword [0xa31e14]
jne 0x5ffd07
mov dword [edx], 0x38d1b717
mov eax, dword [ebp - 0x11c]
lea edx, [eax + eax]
add edx, edx
sub edx, eax
add edx, edx
add edx, edx
sub edx, eax
lea ecx, [eax + edx*8]
lea eax, [ecx + ecx]
add eax, eax
sub eax, ecx
add eax, eax
add eax, eax
mov edx, 4
mov ecx, dword [ebp - 0x54]
mov word [ecx + eax], dx
movzx eax, word [ebp - 0x1da]
test eax, eax
jne 0x5ffd58
add esp, 0xffffffe8
lea edx, [ebp - 0x11c]
movsx ecx, word [ebp - 0x1bc]
movsx esi, word [ebp - 0x1ba]
movsx edi, word [ebp - 0x1b8]
mov eax, dword [ebp - 0x30]
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], edi
mov byte [esp + 0x14], 1
call fcn.00605770
add esp, 0x18
mov ecx, eax
jmp 0x5ffd8b
add esp, 0xffffffe8
lea edx, [ebp - 0x11c]
movsx esi, word [ebp - 0x1b4]
mov dword [esp + 0xc], esi
movsx edi, word [ebp - 0x1b6]
mov eax, dword [ebp - 0x30]
mov dword [esp + 0x10], edi
mov byte [esp + 0x14], 0
xor ecx, ecx
call fcn.00605770
add esp, 0x18
mov ecx, eax
movzx eax, cl
test eax, eax
je 0x5ff320
movzx eax, word [ebp - 0x1d6]
movzx edx, word [ebp - 0x1d8]
cmp eax, edx
je 0x5ff320
mov edi, dword [ebp - 0x118]
lea eax, [edi + edi]
add eax, eax
sub eax, edi
add eax, eax
add eax, eax
add eax, eax
lea edx, [eax + eax]
add edx, edx
add edx, edx
add edx, edx
add edx, edx
sub edx, eax
mov esi, dword [ebp - 0x30]
lea edi, [esi + 0x48b8]
mov eax, 1
mov dword [edx + esi + 0x4978], eax
mov byte [edx + esi + 0x4b97], al
mov edx, dword [ebp - 0x118]
lea ecx, [edx + edx]
add ecx, ecx
sub ecx, edx
add ecx, ecx
add ecx, ecx
add ecx, ecx
lea edx, [ecx + ecx]
add edx, edx
add edx, edx
add edx, edx
add edx, edx
sub edx, ecx
mov byte [edx + esi + 0x4b98], 4
mov ecx, dword [ebp - 0x118]
lea edx, [ecx + ecx]
add edx, edx
sub edx, ecx
add edx, edx
add edx, edx
add edx, edx
lea ecx, [edx + edx]
add ecx, ecx
add ecx, ecx
add ecx, ecx
add ecx, ecx
sub ecx, edx
mov byte [ecx + esi + 0x4b99], al
mov eax, dword [ebp - 0x78]
test eax, eax
je 0x5ffe69
mov eax, dword [ebp - 0x118]
lea edx, [eax + eax]
add edx, edx
sub edx, eax
add edx, edx
add edx, edx
add edx, edx
lea esi, [edx + edx]
add esi, esi
add esi, esi
add esi, esi
add esi, esi
sub esi, edx
mov ecx, 4
mov word [esi + edi], cx
jmp 0x5ffec4
mov eax, dword [ebp - 0x118]
lea edx, [eax + eax]
add edx, edx
sub edx, eax
add edx, edx
add edx, edx
add edx, edx
lea esi, [edx + edx]
add esi, esi
add esi, esi
add esi, esi
add esi, esi
sub esi, edx
mov ecx, 0xb
mov word [esi + edi], cx
mov edx, dword [ebp - 0x11c]
dec edx
mov edi, dword [ebp - 0x118]
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 eax, dword [ebp - 0x30]
mov word [ecx + eax + 0x48ba], dx
movsx edx, word [ebp - 0x1d6]
movsx eax, word [ebp - 0x1d8]
sub edx, eax
cvtsi2ss xmm5, edx
mulss xmm5, dword [0xa31dfc]
mov ecx, dword [ebp - 0x118]
lea esi, [ecx + ecx]
add esi, esi
sub esi, ecx
add esi, esi
add esi, esi
add esi, esi
lea edi, [esi + esi]
add edi, edi
add edi, edi
add edi, edi
add edi, edi
sub edi, esi
mov eax, dword [ebp - 0x30]
movss dword [edi + eax + 0x48bc], xmm5
inc dword [ebp - 0x118]
jmp 0x5ff320
fld dword [0xa31e18]
mov dword [ebp - 0x88], ecx
fild dword [ebp - 0x88]
fmul st(1)
fld st(0)
mov dword [ebp - 0x88], edx
fild dword [ebp - 0x88]
fmulp st(3)
fsubrp st(2)
fxch st(1)
fstp qword [ebp - 0x70]
jmp 0x5ffa75
test edx, edx
jle 0x5fff17
mov eax, ecx
neg eax
cmp edx, eax
jge 0x5fff57
xor edx, edx
jmp 0x5fff17
xor ecx, ecx
jmp 0x5ffa4a
mov eax, dword [ebp - 0x30]
mov dword [eax + 0xa5c0], 2
mov dword [eax + 0x5c0], 1
mov dword [eax + 0x5cc], 0x3dcccccd
mov dword [eax + 0x5c4], 0x3f4ccccd
jmp 0x5ff902
movsx edx, word [ebp - 0x1e0]
test edx, edx
jg 0x5ff0b9
jmp 0x5ff310
movsx eax, word [ebp - 0x1be]
neg eax
mov ecx, dword [ebp - 0x11c]
cvtsi2ss xmm1, eax
mulss xmm1, dword [0xa31e18]
lea esi, [ecx + ecx]
add esi, esi
sub esi, ecx
add esi, esi
add esi, esi
sub esi, ecx
lea edi, [ecx + esi*8]
lea eax, [edi + edi]
add eax, eax
sub eax, edi
mov edx, dword [ebp - 0x40]
movss dword [edx + eax*4], xmm1
mov eax, dword [ebp - 0x11c]
lea ecx, [eax + eax]
add ecx, ecx
sub ecx, eax
add ecx, ecx
add ecx, ecx
sub ecx, eax
lea ecx, [eax + ecx*8]
lea eax, [ecx + ecx]
add eax, eax
sub eax, ecx
add eax, eax
add eax, eax
lea edx, [edx + eax]
movss xmm0, dword [edx]
comiss xmm0, dword [0xa31e14]
jne 0x600034
mov dword [edx], 0x38d1b717
mov eax, dword [ebp - 0x11c]
lea edx, [eax + eax]
add edx, edx
sub edx, eax
add edx, edx
add edx, edx
sub edx, eax
lea ecx, [eax + edx*8]
lea eax, [ecx + ecx]
add eax, eax
sub eax, ecx
add eax, eax
add eax, eax
mov edx, 2
mov ecx, dword [ebp - 0x54]
mov word [ecx + eax], dx
movzx eax, word [ebp - 0x1c2]
test eax, eax
jne 0x600083
add esp, 0xffffffe8
lea edx, [ebp - 0x11c]
movsx ecx, word [ebp - 0x1bc]
movsx esi, word [ebp - 0x1ba]
movsx edi, word [ebp - 0x1b8]
mov eax, dword [ebp - 0x30]
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], edi
mov byte [esp + 0x14], 1
call fcn.00605770
add esp, 0x18
jmp 0x6000b4
add esp, 0xffffffe8
lea edx, [ebp - 0x11c]
movsx esi, word [ebp - 0x1b4]
mov dword [esp + 0xc], esi
movsx edi, word [ebp - 0x1b6]
mov eax, dword [ebp - 0x30]
mov dword [esp + 0x10], edi
mov byte [esp + 0x14], 0
xor ecx, ecx
call fcn.00605770
add esp, 0x18
movzx eax, al
test eax, eax
je 0x5ff0aa
movzx eax, word [ebp - 0x1be]
movzx edx, word [ebp - 0x1c0]
cmp eax, edx
je 0x5ff0aa
mov edx, dword [ebp - 0x118]
lea ecx, [edx + edx]
add ecx, ecx
sub ecx, edx
add ecx, ecx
add ecx, ecx
add ecx, ecx
lea edi, [ecx + ecx]
add edi, edi
add edi, edi
add edi, edi
add edi, edi
sub edi, ecx
mov eax, 1
mov esi, dword [ebp - 0x30]
mov dword [edi + esi + 0x4978], eax
mov byte [edi + esi + 0x4b97], al
mov edx, dword [ebp - 0x118]
lea ecx, [edx + edx]
add ecx, ecx
sub ecx, edx
add ecx, ecx
add ecx, ecx
add ecx, ecx
lea edx, [ecx + ecx]
add edx, edx
add edx, edx
add edx, edx
add edx, edx
sub edx, ecx
mov byte [edx + esi + 0x4b98], 4
mov edx, dword [ebp - 0x118]
lea ecx, [edx + edx]
add ecx, ecx
sub ecx, edx
add ecx, ecx
add ecx, ecx
add ecx, ecx
lea edx, [ecx + ecx]
add edx, edx
add edx, edx
add edx, edx
add edx, edx
sub edx, ecx
mov byte [edx + esi + 0x4b99], al
mov eax, dword [ebp - 0x118]
lea edx, [eax + eax]
add edx, edx
sub edx, eax
add edx, edx
add edx, edx
add edx, edx
lea ecx, [edx + edx]
add ecx, ecx
add ecx, ecx
add ecx, ecx
add ecx, ecx
sub ecx, edx
mov eax, 0xb
mov word [ecx + esi + 0x48b8], ax
mov ecx, dword [ebp - 0x11c]
dec ecx
mov eax, dword [ebp - 0x118]
lea edx, [eax + eax]
add edx, edx
sub edx, eax
add edx, edx
add edx, edx
add edx, edx
lea eax, [edx + edx]
add eax, eax
add eax, eax
add eax, eax
add eax, eax
sub eax, edx
mov word [eax + esi + 0x48ba], cx
movsx edx, word [ebp - 0x1be]
movsx eax, word [ebp - 0x1c0]
sub edx, eax
cvtsi2ss xmm1, edx
mulss xmm1, dword [0xa31e18]
mov eax, dword [ebp - 0x118]
lea edx, [eax + eax]
add edx, edx
sub edx, eax
add edx, edx
add edx, edx
add edx, edx
lea eax, [edx + edx]
add eax, eax
add eax, eax
add eax, eax
add eax, eax
sub eax, edx
movss dword [eax + esi + 0x48bc], xmm1
inc dword [ebp - 0x118]
jmp 0x5ff0aa
movzx edx, word [ebp - 0x1c0]
jmp 0x5ff09f
xor ecx, ecx
mov edx, dword [ebp - 0x34]
and dword [ebp - 0x3c], 0xff000000
test byte [edx + 0x44], 1
jne 0x600327
mov esi, edx
mov al, byte [esi + 0x65]
test al, al
jle 0x600377
mov edi, edx
mov esi, dword [edi + 0x58]
mov eax, dword [edi + 0x5c]
sub eax, esi
mov edx, dword [ebp - 0x3c]
and edx, 0xffff00ff
or edx, 0x300
mov dword [ebp - 0x3c], edx
mov edx, dword [edi + 0x60]
test edx, edx
jle 0x6002d3
mov edi, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x44]
fld dword [edi + 0x16974]
fild dword [ecx + 0x4c]
fdivr st(1)
mov dword [ebp - 0x88], edx
fild dword [ebp - 0x88]
fxch st(2)
fmul qword [0xa31d80]
fmulp st(2)
fmulp st(1)
fstp qword [ebp - 0x90]
mov edi, dword [ebp - 0x90]
mov ecx, dword [ebp - 0x8c]
mov dword [ebp - 0x78], ecx
shr ecx, 0x14
and ecx, 0x7ff
cmp ecx, 0x3fe
jle 0x6002d1
mov dword [ebp - 0x40], eax
mov edx, dword [ebp - 0x78]
mov eax, edx
shld eax, edi, 0xb
or eax, 0x80000000
neg ecx
add ecx, 0x41e
shr eax, cl
mov ecx, eax
neg ecx
cmp edx, 0
cmovge ecx, eax
mov eax, dword [ebp - 0x40]
jmp 0x6002d3
xor ecx, ecx
cmp eax, 4
jle 0x600377
mov edx, 0x3f800000
mov edi, dword [ebp - 0x54]
cmp esi, ecx
mov dword [ebp - 0x104], edx
mov dword [edi + 0x1b8], esi
mov dword [edi + 0x1bc], eax
mov eax, dword [ebp - 0x3c]
mov dword [edi + 0x1c0], 0
mov dword [edi + 0x1c4], eax
mov dword [edi + 0x1c8], 0x3f800000
cmovl ecx, esi
mov dword [edi + 0x1cc], ecx
mov byte [edi + 0x1c6], 1
jmp 0x600377
mov dword [ebp - 0x104], eax
mov edx, dword [ebp - 0x3c]
and edx, 0xffff00ff
or edx, 0x100
xor eax, eax
mov ecx, dword [ebp - 0x54]
mov dword [ebp - 0x3c], edx
mov dword [ecx + 0x1b8], eax
mov dword [ecx + 0x1bc], eax
mov dword [ecx + 0x1c0], eax
mov dword [ecx + 0x1c4], edx
mov dword [ecx + 0x1c8], 0x3f800000
mov dword [ecx + 0x1cc], 0
mov byte [ecx + 0x1c6], 1
lea ecx, [ebp - 0xfc]
call fcn.004e4b6c
mov dword [ebp - 4], 0x1a
lea ecx, [ebp - 0xec]
call fcn.004e4b6c
mov dword [ebp - 4], 0x1b
add esp, 0xfffffff8
mov ecx, esp
mov eax, dword [ebp - 0x44]
lea edx, [eax + 0x94]
push edx
call fcn.004061ac
lea ecx, [ebp - 0xfc]
mov eax, dword [ebp - 0x74]
mov word [esp + 4], ax
call fcn.004e83f4
lea ecx, [ebp - 0xfc]
call fcn.004e2ff4
lea ecx, [ebp - 0xd8]
mov eax, dword [ebp - 0x44]
add eax, 4
push eax
call fcn.004061ac
mov dword [ebp - 4], 0x1c
lea ecx, [ebp - 0xd4]
lea eax, [ebp - 0xd8]
push 0
push eax
call fcn.004e2e90
mov dword [ebp - 4], 0x1d
lea ecx, [ebp - 0xfc]
lea eax, [ebp - 0xd4]
push eax
call fcn.004e3380
mov dword [ebp - 4], 0x1c
lea eax, [ebp - 0xd4]
mov dword [ebp - 0x408], eax
mov dword [ebp - 4], 0x1e
mov dword [ebp - 4], 0x1c
mov eax, dword [ebp - 0xd0]
mov edx, dword [ebp - 0xcc]
cmp eax, edx
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
je 0x600494
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x400], eax
mov dword [ebp - 4], 0x1f
mov dword [ebp - 4], 0x20
mov dword [ebp - 4], 0x1f
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 - 0x40]
mov dword [ebp - 0x44], eax
cmp eax, edx
jne 0x60044a
mov eax, dword [ebp - 0xd0]
mov dword [ebp - 0x44], eax
push eax
call fcn.00888fb0
pop ecx
xor eax, eax
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xcc], eax
mov dword [ebp - 0xc8], eax
mov dword [ebp - 4], 0x1b
lea ecx, [ebp - 0xd8]
call fcn.00406220
push 0
call fcn.00410b40
mov dword [ebp - 0x40], eax
add esp, 4
call fcn.00410b5c
mov ecx, eax
lea eax, [ebp - 0x198]
lea edi, [ebp - 0x148]
mov esi, 1
push esi
mov edx, dword [ebp - 0x5c]
push 0
push edx
push esi
mov edx, dword [ebp - 0x60]
push edi
push ecx
mov ecx, dword [ebp - 0x40]
push ecx
push edx
mov ecx, dword [ebp - 0x54]
push eax
lea eax, [ebp - 0xfc]
push eax
call fcn.00525aac
mov esi, eax
test esi, esi
je 0x6005b1
mov edx, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x28]
push edx
call fcn.0057ceb4
push eax
mov ecx, dword [ebp - 0x28]
call fcn.0057cf20
cmp esi, 4
je 0x600d26
mov dword [ebp - 4], 0x1a
lea eax, [ebp - 0xec]
mov dword [ebp - 0x3a8], eax
mov dword [ebp - 4], 0x33
mov dword [ebp - 4], 0x1a
mov eax, dword [ebp - 0xe8]
mov edx, dword [ebp - 0xe4]
cmp eax, edx
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], edx
je 0x600c6a
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x3a0], eax
mov dword [ebp - 4], 0x34
mov dword [ebp - 4], 0x35
mov dword [ebp - 4], 0x34
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 - 0x30]
mov dword [ebp - 0x34], eax
cmp eax, edx
jne 0x60056b
jmp 0x600c61
xor eax, eax
lea ecx, [ebp - 0xc4]
mov dword [ebp - 0x5c], eax
call fcn.0041cbf8
mov dword [ebp - 4], 0x21
lea ecx, [ebp - 0xfc]
lea eax, [ebp - 0xc0]
push eax
call fcn.004e4df4
mov dword [ebp - 4], 0x22
lea ecx, [ebp - 0xc0]
lea eax, [ebp - 0xb0]
push 0
push eax
call fcn.004e5490
mov dword [ebp - 4], 0x23
lea eax, [ebp - 0xc4]
push dword [ebp - 0xb0]
push 0xa0947c
push eax
call fcn.00406768
add esp, 0xc
mov dword [ebp - 4], 0x22
lea ecx, [ebp - 0xb0]
call fcn.00406220
mov dword [ebp - 4], 0x21
lea eax, [ebp - 0xc0]
mov dword [ebp - 0x3f8], eax
mov dword [ebp - 4], 0x24
mov dword [ebp - 4], 0x21
mov eax, dword [ebp - 0xbc]
mov edx, dword [ebp - 0xb8]
cmp eax, edx
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
je 0x6006a9
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x3f0], 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 - 0x40]
mov dword [ebp - 0x44], eax
cmp eax, edx
jne 0x60065f
mov eax, dword [ebp - 0xbc]
mov dword [ebp - 0x44], eax
push eax
call fcn.00888fb0
pop ecx
xor eax, eax
mov edx, dword [ebp - 0xc4]
add esp, 0xffffffec
mov dword [ebp - 0xbc], eax
lea ecx, [ebp - 0x148]
movss xmm1, dword [ebp - 0x24]
mov dword [ebp - 0xb8], eax
mov dword [ebp - 0xb4], eax
mov dword [esp], edx
movss dword [esp + 4], xmm1
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 - 0x58]
cmovne eax, edi
mov dword [ebp - 0x58], eax
movzx edx, al
test edx, edx
mov dword [ebp - 0x40], edx
jne 0x600b12
mov eax, dword [ebp - 0x54]
mov ecx, dword [eax + 0x4c]
mov edx, dword [ebp - 0x34]
fld qword [0xa31d98]
fild dword [edx + 0x50]
fdiv qword [ecx + 0x760]
fadd st(1)
fstp qword [ebp - 0x90]
mov eax, dword [ebp - 0x90]
mov esi, dword [ebp - 0x8c]
mov ecx, esi
shr ecx, 0x14
and ecx, 0x7ff
cmp ecx, 0x3fe
jle 0x60077e
mov edx, esi
neg ecx
add ecx, 0x41e
shld edx, eax, 0xb
or edx, 0x80000000
shr edx, cl
mov eax, edx
neg eax
cmp esi, 0
cmovge eax, edx
jmp 0x600780
xor eax, eax
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x54]
mov dword [ecx + 0x50], eax
mov esi, dword [edx + 0x4c]
fild dword [ecx + 0x54]
fdiv qword [esi + 0x760]
faddp st(1)
fstp qword [ebp - 0x90]
mov edi, dword [ebp - 0x90]
mov esi, dword [ebp - 0x8c]
mov ecx, esi
shr ecx, 0x14
and ecx, 0x7ff
cmp ecx, 0x3fe
jle 0x6007de
mov edx, esi
neg ecx
add ecx, 0x41e
shld edx, edi, 0xb
or edx, 0x80000000
shr edx, cl
mov ecx, edx
neg ecx
cmp esi, 0
cmovge ecx, edx
jmp 0x6007e0
xor ecx, ecx
mov edx, dword [ebp - 0x34]
mov dword [edx + 0x54], ecx
mov ecx, dword [ebp - 0x54]
mov esi, dword [ecx + 0x4c]
mov dword [ecx + 0x290], eax
mov edx, dword [edx + 0x54]
mov dword [ebp - 0x40], esi
sub edx, dword [esi + 0x76c]
mov dword [ecx + 0x294], edx
mov dword [ebp - 0x88], eax
fild dword [ebp - 0x88]
fdiv qword [esi + 0x760]
fstp qword [ebp - 0x90]
mov eax, dword [ebp - 0x90]
mov ecx, dword [ebp - 0x8c]
mov dword [ebp - 0x78], ecx
shr ecx, 0x14
and ecx, 0x7ff
cmp ecx, 0x3fe
jle 0x600861
mov edi, dword [ebp - 0x78]
mov esi, edi
neg ecx
shld esi, eax, 0xb
or esi, 0x80000000
add ecx, 0x41e
shr esi, cl
mov eax, esi
neg eax
cmp edi, 0
cmovge eax, esi
jmp 0x600863
xor eax, eax
mov ecx, dword [ebp - 0x54]
mov dword [ecx + 0x290], eax
mov dword [ebp - 0x88], edx
mov eax, dword [ebp - 0x40]
fild dword [ebp - 0x88]
fdiv qword [eax + 0x760]
fstp qword [ebp - 0x90]
mov esi, dword [ebp - 0x90]
mov eax, dword [ebp - 0x8c]
mov ecx, eax
shr ecx, 0x14
and ecx, 0x7ff
cmp ecx, 0x3fe
jle 0x6008c8
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 0x6008ca
xor ecx, ecx
mov edx, dword [ebp - 0x54]
xor eax, eax
mov dword [edx + 0x294], ecx
mov ecx, edx
push eax
push eax
push 1
call fcn.0052da98
mov esi, dword [ebp - 0x34]
mov al, byte [esi + 0x4a]
mov ecx, dword [ebp - 0x54]
mov byte [ecx + 0x29a], al
mov dl, byte [esi + 0x4b]
mov byte [ecx + 0x29b], dl
mov al, byte [esi + 0x4d]
mov byte [ecx + 0x298], al
mov al, byte [esi + 0x4e]
mov byte [ecx + 0x299], al
mov al, byte [esi + 0x45]
mov byte [ecx + 0x2a0], al
call fcn.00524364
mov edx, esi
movsx eax, byte [edx + 0x48]
movsx ecx, byte [edx + 0x47]
mov dword [ebp - 0x44], eax
mov esi, dword [ebp - 0x50]
test esi, esi
mov dword [ebp - 0x40], ecx
je 0x6009a8
mov ecx, esi
movsx eax, byte [ecx + 0x44]
movsx edx, byte [ecx + 0x45]
add dword [ebp - 0x44], eax
movsx ecx, byte [ecx + 0x46]
add dword [ebp - 0x40], edx
test ecx, ecx
jle 0x600987
mov esi, 1
lea edx, [esi + esi*4]
mov edi, dword [ebp - 0x28]
lea edi, [edi + edx*4 + 0x8020]
movzx eax, word [edi + 6]
cmp eax, 1
je 0x600a98
xor eax, eax
test eax, eax
jne 0x600af3
mov eax, dword [ebp - 0x28]
cmp cx, word [eax + edx*4 + 0x8024]
je 0x600a8d
inc esi
cmp esi, 0x40
jl 0x60094c
mov eax, dword [ebp - 0x34]
test byte [eax + 0x44], 8
jne 0x6009a8
mov esi, dword [ebp - 0x50]
mov al, byte [esi + 0x4a]
mov ecx, dword [ebp - 0x54]
mov byte [ecx + 0x299], al
mov dl, byte [esi + 0x49]
mov byte [ecx + 0x298], dl
mov esi, 0xffffffa0
mov eax, dword [ebp - 0x44]
cmp eax, 0xffffffa0
cmovl eax, esi
mov edx, 0xffffff9c
mov ecx, dword [ebp - 0x40]
cmp ecx, 0xffffff9c
mov edi, 0x64
mov esi, edx
jl 0x6009cc
mov esi, ecx
cmp esi, 0x64
cmovg esi, edi
add esp, 0xfffffff0
fld qword [0xa31db0]
fstp qword [esp]
mov dword [ebp - 0x88], eax
fild dword [ebp - 0x88]
fmul qword [0xa31d90]
fstp qword [esp + 8]
call fcn.0088b9f8
add esp, 0x10
mov eax, dword [ebp - 0x54]
fstp dword [eax + 0x2a4]
add esp, 0xfffffff0
mov ecx, dword [ebp - 0x34]
cvtsi2ss xmm5, esi
mulss xmm5, dword [0xa31df0]
addss xmm5, dword [0xa31e20]
movss dword [eax + 0x2a8], xmm5
movsx edx, byte [ecx + 0x94]
movsx esi, byte [ecx + 0x46]
fld qword [0xa31db0]
fstp qword [esp]
mov dword [ebp - 0x88], edx
fild dword [ebp - 0x88]
fmul qword [0xa31da8]
mov dword [ebp - 0x88], esi
fild dword [ebp - 0x88]
fmul qword [0xa31da0]
faddp st(1)
fstp qword [esp + 8]
call fcn.0088b9f8
add esp, 0x10
mov eax, dword [ebp - 0x54]
fstp dword [eax + 0x2ac]
mov dword [ebp - 4], 0x1b
lea ecx, [ebp - 0xc4]
call fcn.00406220
jmp 0x600530
mov eax, dword [ebp - 0x30]
mov dword [eax + 0x14], esi
jmp 0x600987
mov eax, dword [ebp - 0x28]
movzx eax, word [eax + edx*4 + 0x8024]
cmp eax, 1
jne 0x600966
mov eax, dword [ebp - 0x28]
mov al, byte [eax + edx*4 + 0x8028]
test al, al
je 0x600966
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + edx*4 + 0x802c]
cmp eax, 0xa
jne 0x600966
mov dword [ebp - 0x78], edi
mov eax, dword [ebp - 0x28]
mov edi, dword [eax + edx*4 + 0x8020]
xor eax, eax
cmp edi, 0
mov edi, 1
cmove eax, edi
mov edi, dword [ebp - 0x78]
jmp 0x600968
mov eax, dword [ebp - 0x28]
mov word [eax + edx*4 + 0x8024], cx
push esi
push 0xa32db8
push edi
call fcn.00406768
add esp, 0xc
jmp 0x600a8d
mov dword [ebp - 4], 0x1b
lea ecx, [ebp - 0xc4]
call fcn.00406220
mov dword [ebp - 4], 0x1a
lea eax, [ebp - 0xec]
mov dword [ebp - 0x3e8], eax
mov dword [ebp - 4], 0x27
mov dword [ebp - 4], 0x1a
mov eax, dword [ebp - 0xe8]
mov edx, dword [ebp - 0xe4]
cmp eax, edx
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x1c], edx
je 0x600ba5
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x3e0], eax
mov dword [ebp - 4], 0x28
mov dword [ebp - 4], 0x29
mov dword [ebp - 4], 0x28
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 - 0x1c]
mov dword [ebp - 0x30], eax
cmp eax, edx
jne 0x600b5b
mov eax, dword [ebp - 0xe8]
mov dword [ebp - 0x30], eax
push eax
call fcn.00888fb0
pop ecx
xor eax, eax
mov dword [ebp - 0xe8], eax
mov dword [ebp - 0xe4], eax
mov dword [ebp - 0xe0], eax
mov dword [ebp - 4], 0x19
lea eax, [ebp - 0xfc]
mov dword [ebp - 0x3d8], eax
mov dword [ebp - 4], 0x2a
mov dword [ebp - 4], 0x19
mov eax, dword [ebp - 0xf8]
mov edx, dword [ebp - 0xf4]
cmp eax, edx
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x1c], edx
je 0x600c41
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x3d0], eax
mov dword [ebp - 4], 0x2b
mov dword [ebp - 4], 0x2c
mov dword [ebp - 4], 0x2b
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 - 0x1c]
mov dword [ebp - 0x30], eax
cmp eax, edx
jne 0x600bf7
mov eax, dword [ebp - 0xf8]
mov dword [ebp - 0x30], eax
push eax
call fcn.00888fb0
pop ecx
xor eax, eax
mov dword [ebp - 0xf8], eax
mov dword [ebp - 0xf4], eax
mov dword [ebp - 0xf0], eax
jmp 0x5fe76b
mov eax, dword [ebp - 0xe8]
mov dword [ebp - 0x34], eax
push eax
call fcn.00888fb0
pop ecx
xor eax, eax
mov dword [ebp - 0xe8], eax
mov dword [ebp - 0xe4], eax
mov dword [ebp - 0xe0], eax
mov dword [ebp - 4], 0x19
lea eax, [ebp - 0xfc]
mov dword [ebp - 0x398], eax
mov dword [ebp - 4], 0x36
mov dword [ebp - 4], 0x19
mov eax, dword [ebp - 0xf8]
mov edx, dword [ebp - 0xf4]
cmp eax, edx
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], edx
je 0x600d06
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x390], eax
mov dword [ebp - 4], 0x37
mov dword [ebp - 4], 0x38
mov dword [ebp - 4], 0x37
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 - 0x30]
mov dword [ebp - 0x34], eax
cmp eax, edx
jne 0x600cbc
mov eax, dword [ebp - 0xf8]
mov dword [ebp - 0x34], eax
push eax
call fcn.00888fb0
pop ecx
xor eax, eax
mov dword [ebp - 0xf8], eax
mov dword [ebp - 0xf4], eax
mov dword [ebp - 0xf0], eax
jmp 0x5fe754
mov dword [ebp - 4], 0x1a
lea eax, [ebp - 0xec]
mov dword [ebp - 0x3c8], eax
mov dword [ebp - 4], 0x2d
mov dword [ebp - 4], 0x1a
mov eax, dword [ebp - 0xe8]
mov edx, dword [ebp - 0xe4]
cmp eax, edx
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x1c], edx
je 0x600da7
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x3c0], eax
mov dword [ebp - 4], 0x2e
mov dword [ebp - 4], 0x2f
mov dword [ebp - 4], 0x2e
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 - 0x1c]
mov dword [ebp - 0x30], eax
cmp eax, edx
jne 0x600d5d
mov eax, dword [ebp - 0xe8]
mov dword [ebp - 0x30], eax
push eax
call fcn.00888fb0
pop ecx
xor eax, eax
mov dword [ebp - 0xe8], eax
mov dword [ebp - 0xe4], eax
mov dword [ebp - 0xe0], eax
mov dword [ebp - 4], 0x19
lea eax, [ebp - 0xfc]
mov dword [ebp - 0x3b8], eax
mov dword [ebp - 4], 0x30
mov dword [ebp - 4], 0x19
mov eax, dword [ebp - 0xf8]
mov edx, dword [ebp - 0xf4]
cmp eax, edx
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x1c], edx
je 0x600e43
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x3b0], eax
mov dword [ebp - 4], 0x31
mov dword [ebp - 4], 0x32
mov dword [ebp - 4], 0x31
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 - 0x1c]
mov dword [ebp - 0x30], eax
cmp eax, edx
jne 0x600df9
mov eax, dword [ebp - 0xf8]
mov dword [ebp - 0x30], eax
push eax
call fcn.00888fb0
pop ecx
xor eax, eax
mov edx, 1
mov dword [ebp - 0xf8], eax
mov dword [ebp - 0xf4], eax
mov dword [ebp - 0xf0], eax
mov dword [ebp - 0x40], edx
jmp 0x5fe76b
mov ecx, dword [ebp - 0x30]
call fcn.005f8d84
mov ecx, dword [ebp - 0x30]
call fcn.00595df4
jmp 0x5ff816
fld dword [0xa31df8]
mov dword [ebp - 0x88], edx
fild dword [ebp - 0x88]
fmul st(1)
mov dword [ebp - 0x88], ecx
fild dword [ebp - 0x88]
fmulp st(2)
fsub st(1), st(0)
fxch st(1)
fstp qword [ebp - 0x70]
jmp 0x5ff37e
test ecx, ecx
jle 0x600e80
mov eax, edx
neg eax
cmp ecx, eax
jl 0x600ec1
xor edx, edx
jmp 0x5ff353
xor ecx, ecx
jmp 0x600e80
mov eax, dword [ebp - 0x194]
mov dword [ebp - 0x20], eax
push eax
call fcn.00888fb0
pop ecx
xor eax, eax
mov dword [ebp - 0x194], eax
mov dword [ebp - 0x190], eax
mov dword [ebp - 0x18c], eax
mov dword [ebp - 4], 0
lea eax, [ebp - 0x2d8]
mov dword [ebp - 0x378], eax
mov dword [ebp - 4], 0x3c
mov dword [ebp - 4], 0x3d
mov dword [ebp - 4], 0x3e
mov dword [ebp - 4], 0x3d
mov eax, dword [ebp - 0x24c]
test eax, eax
je 0x600f33
mov dword [ebp - 0x24c], 0
push eax
call fcn.00888fb0
pop ecx
mov ecx, dword [ebp - 0x248]
test ecx, ecx
je 0x600f50
mov dword [ebp - 0x248], 0
je 0x600f50
push 1
call fcn.005fddfc
mov eax, dword [ebp - 0x254]
test eax, eax
je 0x600f6b
mov dword [ebp - 0x254], 0
push eax
call fcn.00888fb0
pop ecx
mov ecx, dword [ebp - 0x250]
test ecx, ecx
je 0x600f88
mov dword [ebp - 0x250], 0
je 0x600f88
push 1
call fcn.005fdda8
mov eax, dword [ebp - 0x25c]
test eax, eax
je 0x600fa3
mov dword [ebp - 0x25c], 0
push eax
call fcn.00888fb0
pop ecx
mov ecx, dword [ebp - 0x258]
test ecx, ecx
je 0x600fc0
mov dword [ebp - 0x258], 0
je 0x600fc0
push 1
call fcn.005fdd54
mov dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x30c]
mov dword [ebp - 0x370], eax
mov dword [ebp - 4], 0x3f
mov dword [ebp - 4], 0x40
mov dword [ebp - fcn.0043c40c], 0x9f6a40
lea ecx, [ebp - 0x30c]
call fcn.0043c3e0
mov dword [ebp - 4], 0x3f
lea eax, [ebp - 0x2ec]
mov dword [ebp - 0x368], eax
mov dword [ebp - 4], 0x41
mov dword [ebp - 4], 0x3f
mov eax, dword [ebp - 0x2e8]
mov edx, dword [ebp - 0x2e4]
cmp eax, edx
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], edx
je 0x601077
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x360], eax
mov dword [ebp - 4], 0x42
mov dword [ebp - 4], 0x43
mov dword [ebp - 4], 0x42
lea ecx, [eax + 0xc]
call fcn.00406220
mov eax, dword [ebp - 0x20]
lea ecx, [eax + 8]
call fcn.00406220
mov eax, dword [ebp - 0x20]
add eax, 0x10
mov edx, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
cmp eax, edx
jne 0x60102d
mov eax, dword [ebp - 0x2e8]
mov dword [ebp - 0x20], eax
push eax
call fcn.00888fb0
pop ecx
xor edx, edx
mov eax, 1
mov edi, dword [ebp - 0x80]
mov dword [ebp - 0x2e8], edx
mov esi, dword [ebp - 0x7c]
mov dword [ebp - 0x2e4], edx
mov dword [ebp - 0x2e0], edx
mov dword [ebp - case.0x4e640c.73], 0x9f6a18
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 8
mov eax, dword [ebp - 0xa8]
mov dword [ebp - 0x30], eax
push eax
call fcn.00888fb0
pop ecx
xor eax, eax
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa4], eax
mov dword [ebp - 0xa0], eax
mov dword [ebp - 4], 0x19
lea eax, [ebp - 0x164]
mov dword [ebp - 0x348], eax
mov dword [ebp - 4], 0x4a
mov dword [ebp - 4], 0x19
mov eax, dword [ebp - 0x160]
mov edx, dword [ebp - 0x15c]
cmp eax, edx
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x1c], edx
je 0x60115f
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x340], 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 - 0x30]
lea ecx, [eax + 8]
call fcn.00406220
mov eax, dword [ebp - 0x30]
add eax, 0x10
mov edx, dword [ebp - 0x1c]
mov dword [ebp - 0x30], eax
cmp eax, edx
jne 0x601115
mov eax, dword [ebp - 0x160]
mov dword [ebp - 0x30], eax
push eax
call fcn.00888fb0
pop ecx
xor eax, eax
mov edx, dword [ebp - 0x28]
mov ecx, dword [edx + 0x8000]
mov dword [ebp - 0x160], eax
test ecx, ecx
mov dword [ebp - 0x15c], eax
mov dword [ebp - 0x158], eax
jg 0x6011dd
mov eax, dword [ebp - 0x20]
mov ecx, edx
push dword [eax + 0x16cf8]
push dword [eax + 0x16974]
push 0xffffffffffffffff
call fcn.0056f2e0
mov dword [ebp - 0x20], eax
lea ecx, [ebp - 0x98]
push 0xa32dcc
call fcn.004061ac
mov dword [ebp - 4], 0x4d
mov ecx, dword [ebp - 0x20]
add ecx, 8
lea eax, [ebp - 0x98]
push eax
call fcn.004061ec
mov dword [ebp - 4], 0x19
lea ecx, [ebp - 0x98]
call fcn.00406220
mov ecx, dword [ebp - 0x28]
call fcn.0057c128
mov dword [ebp - 4], 4
lea ecx, [ebp - 0x148]
call fcn.00565c00
mov dword [ebp - 4], 2
mov dword [ebp - 0x178], 0x9f05c8
mov al, byte [ebp - 0x168]
test al, al
je 0x60121d
lea ecx, [ebp - 0x178]
call fcn.0040acc4
mov dword [ebp - 4], 1
lea eax, [ebp - 0x198]
mov dword [ebp - 0x338], eax
mov dword [ebp - 4], 0x4e
mov dword [ebp - 4], 1
mov eax, dword [ebp - 0x194]
mov edx, dword [ebp - 0x190]
cmp eax, edx
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], edx
je 0x60129e
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x330], eax
mov dword [ebp - 4], 0x4f
mov dword [ebp - 4], 0x50
mov dword [ebp - 4], 0x4f
lea ecx, [eax + 0xc]
call fcn.00406220
mov eax, dword [ebp - 0x20]
lea ecx, [eax + 8]
call fcn.00406220
mov eax, dword [ebp - 0x20]
add eax, 0x10
mov edx, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
cmp eax, edx
jne 0x601254
mov eax, dword [ebp - 0x194]
mov dword [ebp - 0x20], eax
push eax
call fcn.00888fb0
pop ecx
xor eax, eax
mov dword [ebp - 0x194], eax
mov dword [ebp - 0x190], eax
mov dword [ebp - 0x18c], eax
mov dword [ebp - 4], 0
lea eax, [ebp - 0x2d8]
mov dword [ebp - 0x328], eax
mov dword [ebp - 4], 0x51
mov dword [ebp - 4], 0x52
mov dword [ebp - 4], 0x53
mov dword [ebp - 4], 0x52
mov eax, dword [ebp - 0x24c]
test eax, eax
je 0x601303
mov dword [ebp - 0x24c], 0
push eax
call fcn.00888fb0
pop ecx
mov ecx, dword [ebp - 0x248]
test ecx, ecx
je 0x601320
mov dword [ebp - 0x248], 0
je 0x601320
push 1
call fcn.005fddfc
mov eax, dword [ebp - 0x254]
test eax, eax
je 0x60133b
mov dword [ebp - 0x254], 0
push eax
call fcn.00888fb0
pop ecx
mov ecx, dword [ebp - 0x250]
test ecx, ecx
je 0x601358
mov dword [ebp - 0x250], 0
je 0x601358
push 1
call fcn.005fdda8
mov eax, dword [ebp - 0x25c]
test eax, eax
je 0x601373
mov dword [ebp - 0x25c], 0
push eax
call fcn.00888fb0
pop ecx
mov ecx, dword [ebp - 0x258]
test ecx, ecx
je 0x601390
mov dword [ebp - 0x258], 0
je 0x601390
push 1
call fcn.005fdd54
mov dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x30c]
mov dword [ebp - 0x320], eax
mov dword [ebp - 4], 0x54
mov dword [ebp - 4], 0x55
mov dword [ebp - fcn.0043c40c], 0x9f6a40
lea ecx, [ebp - 0x30c]
call fcn.0043c3e0
mov dword [ebp - 4], 0x54
lea eax, [ebp - 0x2ec]
mov dword [ebp - 0x318], eax
mov dword [ebp - 4], 0x56
mov dword [ebp - 4], 0x54
mov eax, dword [ebp - 0x2e8]
mov edx, dword [ebp - 0x2e4]
cmp eax, edx
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], edx
je 0x601447
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x310], 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 - 0x20]
lea ecx, [eax + 8]
call fcn.00406220
mov eax, dword [ebp - 0x20]
add eax, 0x10
mov edx, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
cmp eax, edx
jne 0x6013fd
mov eax, dword [ebp - 0x2e8]
mov dword [ebp - 0x20], eax
push eax
call fcn.00888fb0
pop ecx
xor edx, edx
xor eax, eax
mov edi, dword [ebp - 0x80]
mov dword [ebp - 0x2e8], edx
mov esi, dword [ebp - 0x7c]
mov dword [ebp - 0x2e4], edx
mov dword [ebp - 0x2e0], edx
mov dword [ebp - case.0x4e640c.73], 0x9f6a18
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 8
xor eax, eax
mov dword [ebp - 0x40], eax
jmp 0x5fe76b
mov eax, dword [ebp - 0x194]
mov dword [ebp - 0x28], eax
push eax
call fcn.00888fb0
pop ecx
xor eax, eax
mov dword [ebp - 0x194], eax
mov dword [ebp - 0x190], eax
mov dword [ebp - 0x18c], eax
mov dword [ebp - 4], 0
lea eax, [ebp - 0x2d8]
mov dword [ebp - 0x428], eax
mov dword [ebp - 4], 0x11
mov dword [ebp - 4], 0x12
mov dword [ebp - 4], 0x13
mov dword [ebp - 4], 0x12
mov eax, dword [ebp - 0x24c]
test eax, eax
je 0x6014ff
mov dword [ebp - 0x24c], 0
push eax
call fcn.00888fb0
pop ecx
mov ecx, dword [ebp - 0x248]
test ecx, ecx
je 0x60151c
mov dword [ebp - 0x248], 0
je 0x60151c
push 1
call fcn.005fddfc
mov eax, dword [ebp - 0x254]
test eax, eax
je 0x601537
mov dword [ebp - 0x254], 0
push eax
call fcn.00888fb0
pop ecx
mov ecx, dword [ebp - 0x250]
test ecx, ecx
je 0x601554
mov dword [ebp - 0x250], 0
je 0x601554
push 1
call fcn.005fdda8
mov eax, dword [ebp - 0x25c]
test eax, eax
je 0x60156f
mov dword [ebp - 0x25c], 0
push eax
call fcn.00888fb0
pop ecx
mov ecx, dword [ebp - 0x258]
test ecx, ecx
je 0x60158c
mov dword [ebp - 0x258], 0
je 0x60158c
push 1
call fcn.005fdd54
mov dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x30c]
mov dword [ebp - 0x420], eax
mov dword [ebp - 4], 0x14
mov dword [ebp - 4], 0x15
mov dword [ebp - fcn.0043c40c], 0x9f6a40
lea ecx, [ebp - 0x30c]
call fcn.0043c3e0
mov dword [ebp - 4], 0x14
lea eax, [ebp - 0x2ec]
mov dword [ebp - 0x418], eax
mov dword [ebp - 4], 0x16
mov dword [ebp - 4], 0x14
mov eax, dword [ebp - 0x2e8]
mov edx, dword [ebp - 0x2e4]
cmp eax, edx
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x30], edx
je 0x601643
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x410], eax
mov dword [ebp - 4], 0x17
mov dword [ebp - 4], 0x18
mov dword [ebp - 4], 0x17
lea ecx, [eax + 0xc]
call fcn.00406220
mov eax, dword [ebp - 0x28]
lea ecx, [eax + 8]
call fcn.00406220
mov eax, dword [ebp - 0x28]
add eax, 0x10
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0x28], eax
cmp eax, edx
jne 0x6015f9
mov eax, dword [ebp - 0x2e8]
mov dword [ebp - 0x28], eax
push eax
call fcn.00888fb0
pop ecx
xor edx, edx
mov eax, 0xa
mov edi, dword [ebp - 0x80]
mov dword [ebp - 0x2e8], edx
mov esi, dword [ebp - 0x7c]
mov dword [ebp - 0x2e4], edx
mov dword [ebp - 0x2e0], edx
mov dword [ebp - case.0x4e640c.73], 0x9f6a18
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 8
mov eax, dword [ebp - 0x278]
lea edx, [eax - 1]
cmp edi, edx
jge 0x5fe370
mov dword [ebp - 4], 2
mov dword [ebp - 0x178], 0x9f05c8
mov al, byte [ebp - 0x168]
test al, al
je 0x6016bd
lea ecx, [ebp - 0x178]
call fcn.0040acc4
mov dword [ebp - 4], 1
lea eax, [ebp - 0x198]
mov dword [ebp - 0x460], eax
mov dword [ebp - 4], 5
mov dword [ebp - 4], 1
mov edi, dword [ebp - 0x194]
mov esi, dword [ebp - 0x190]
cmp edi, esi
je 0x601702
mov ecx, edi
call fcn.00411784
add edi, 0x10
cmp edi, esi
jne 0x6016ee
mov edi, dword [ebp - 0x194]
push edi
call fcn.00888fb0
pop ecx
xor eax, eax
mov dword [ebp - 0x194], eax
mov dword [ebp - 0x190], eax
mov dword [ebp - 0x18c], eax
mov dword [ebp - 4], 0
lea eax, [ebp - 0x2d8]
mov dword [ebp - 0x458], eax
mov dword [ebp - 4], 6
mov dword [ebp - 4], 7
mov dword [ebp - 4], 8
mov dword [ebp - 4], 7
mov eax, dword [ebp - 0x24c]
test eax, eax
je 0x601767
mov dword [ebp - 0x24c], 0
push eax
call fcn.00888fb0
pop ecx
mov ecx, dword [ebp - 0x248]
test ecx, ecx
je 0x601784
mov dword [ebp - 0x248], 0
je 0x601784
push 1
call fcn.005fddfc
mov eax, dword [ebp - 0x254]
test eax, eax
je 0x60179f
mov dword [ebp - 0x254], 0
push eax
call fcn.00888fb0
pop ecx
mov ecx, dword [ebp - 0x250]
test ecx, ecx
je 0x6017bc
mov dword [ebp - 0x250], 0
je 0x6017bc
push 1
call fcn.005fdda8
mov eax, dword [ebp - 0x25c]
test eax, eax
je 0x6017d7
mov dword [ebp - 0x25c], 0
push eax
call fcn.00888fb0
pop ecx
mov ecx, dword [ebp - 0x258]
test ecx, ecx
je 0x6017f4
mov dword [ebp - 0x258], 0
je 0x6017f4
push 1
call fcn.005fdd54
mov dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x30c]
mov dword [ebp - 0x450], eax
mov dword [ebp - 4], 9
mov dword [ebp - 4], 0xa
mov dword [ebp - fcn.0043c40c], 0x9f6a40
lea ecx, [ebp - 0x30c]
call fcn.0043c3e0
mov dword [ebp - 4], 9
lea eax, [ebp - 0x2ec]
mov dword [ebp - 0x448], eax
mov dword [ebp - 4], 0xb
mov dword [ebp - 4], 9
mov eax, dword [ebp - 0x2e8]
mov edx, dword [ebp - 0x2e4]
cmp eax, edx
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x30], edx
je 0x6018ab
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x440], eax
mov dword [ebp - 4], 0xc
mov dword [ebp - 4], 0xd
mov dword [ebp - 4], 0xc
lea ecx, [eax + 0xc]
call fcn.00406220
mov eax, dword [ebp - 0x20]
lea ecx, [eax + 8]
call fcn.00406220
mov eax, dword [ebp - 0x20]
add eax, 0x10
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0x20], eax
cmp eax, edx
jne 0x601861
mov eax, dword [ebp - 0x2e8]
mov dword [ebp - 0x20], eax
push eax
call fcn.00888fb0
pop ecx
xor edx, edx
mov eax, 8
mov edi, dword [ebp - 0x80]
mov dword [ebp - 0x2e8], edx
mov esi, dword [ebp - 0x7c]
mov dword [ebp - 0x2e4], edx
mov dword [ebp - 0x2e0], edx
mov dword [ebp - case.0x4e640c.73], 0x9f6a18
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 8
mov dword [ebp - 4], 2
mov dword [ebp - 0x178], 0x9f05c8
mov al, byte [ebp - 0x168]
test al, al
je 0x601914
lea ecx, [ebp - 0x178]
call fcn.0040acc4
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x198]
call fcn.0040b540
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x2d8]
call fcn.00606e18
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x30c]
call fcn.0043bcc8
mov eax, 8
mov edi, dword [ebp - 0x80]
mov esi, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 8
mov dword [ebp - 4], 2
mov dword [ebp - 0x178], 0x9f05c8
mov al, byte [ebp - 0x168]
test al, al
je 0x60198e
lea ecx, [ebp - 0x178]
call fcn.0040acc4
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x198]
call fcn.0040b540
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x2d8]
call fcn.00606e18
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x30c]
call fcn.0043bcc8
mov eax, 8
mov edi, dword [ebp - 0x80]
mov esi, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 8
mov dword [ebp - 4], 2
mov dword [ebp - 0x178], 0x9f05c8
mov al, byte [ebp - 0x168]
test al, al
je 0x601a08
lea ecx, [ebp - 0x178]
call fcn.0040acc4
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x198]
call fcn.0040b540
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x2d8]
call fcn.00606e18
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x30c]
call fcn.0043bcc8
mov eax, 8
mov edi, dword [ebp - 0x80]
mov esi, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 8
lea ecx, [ebp - 0x2d8]
call fcn.00607430
movsx eax, byte [ebp - 0x2d8]
jmp 0x5fe11a
push ebx
mov ebx, esp
and esp, 0xfffffff8
push ebp
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x8c343a
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x45c
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x88], edi
mov dword [ebp - 0x84], esi
mov dword [ebp - 0x20], ecx
lea ecx, [ebp - 0x314]
call fcn.0044f6d0
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x2e0]
call fcn.00606c4c
mov dword [ebp - 4], 1
lea edi, [ebp - 0x2e0]
xor eax, eax
mov ecx, 0x13e
push ecx
shr ecx, 2
rep stosd dword es:[edi], eax
pop ecx
and ecx, 3
rep stosb byte es:[edi], al
lea ecx, [ebp - 0x1a0]
call fcn.004e4b6c
mov dword [ebp - 4], 2
lea eax, [ebp - 0x190]
mov ecx, dword [ebx + 0xc]
push eax
call fcn.004e4e80
mov dword [ebp - 4], 3
lea ecx, [ebp - 0x1a0]
lea eax, [ebp - 0x190]
push eax
call fcn.004e2d98
mov dword [ebp - 4], 2
lea ecx, [ebp - 0x190]
call fcn.0040b540
lea ecx, [ebp - 0x314]
xor eax, eax
mov edx, dword [ebx + 0xc]
push 0x58585858
push eax
push eax
push eax
push edx
call fcn.0043c40c
test eax, eax
je 0x601bb5
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x1a0]
call fcn.0040b540
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x2e0]
call fcn.00606e18
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x314]
call fcn.0043bcc8
mov eax, 0xa
mov edi, dword [ebp - 0x88]
mov esi, dword [ebp - 0x84]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 8
lea ecx, [ebp - 0x314]
call fcn.0043bd90
mov dword [ebp - 0x1c], eax
test eax, eax
jg 0x601c21
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x1a0]
call fcn.0040b540
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x2e0]
call fcn.00606e18
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x314]
call fcn.0043bcc8
mov eax, 0xa
mov edi, dword [ebp - 0x88]
mov esi, dword [ebp - 0x84]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 8
lea ecx, [ebp - 0x180]
push 1
call fcn.0040ae94
mov dword [ebp - 4], 4
lea ecx, [ebp - 0x180]
mov eax, dword [ebp - 0x1c]
push 1
push eax
call fcn.0040af00
lea ecx, [ebp - 0x180]
call fcn.00845940
lea ecx, [ebp - 0x314]
mov edx, dword [ebp - 0x1c]
push 0
push edx
push eax
call fcn.0043bdec
mov edx, dword [ebp - 0x1c]
cmp eax, edx
je 0x601cee
mov dword [ebp - 4], 2
mov dword [ebp - 0x180], 0x9f05c8
mov al, byte [ebp - 0x170]
test al, al
je 0x601c94
lea ecx, [ebp - 0x180]
call fcn.0040acc4
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x1a0]
call fcn.0040b540
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x2e0]
call fcn.00606e18
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x314]
call fcn.0043bcc8
mov eax, 0xa
mov edi, dword [ebp - 0x88]
mov esi, dword [ebp - 0x84]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 8
lea ecx, [ebp - 0x314]
call fcn.0043c3e0
lea ecx, [ebp - 0x2e0]
lea edx, [ebp - 0x180]
xor eax, eax
push eax
push eax
push edx
push ecx
call fcn.0061252c
add esp, 0x10
movsx edx, byte [ebp - 0x2e0]
xor eax, eax
test edx, edx
sete al
mov dword [ebp - 0x38], eax
test eax, eax
jne 0x605694
mov eax, 0x534f4254
test edx, edx
mov dword [ebp - 0x3c], eax
jne 0x601d40
mov eax, 0x54424f53
mov dword [ebp - 0x3c], eax
add esp, 0xfffffff4
lea eax, [ebp - 0x180]
xor edx, edx
mov ecx, dword [ebp - 0x3c]
call fcn.00606bf0
mov esi, eax
add esp, 0xc
cmp esi, 0xffffffff
jne 0x601de1
mov dword [ebp - 4], 2
mov dword [ebp - 0x180], 0x9f05c8
mov al, byte [ebp - 0x170]
test al, al
je 0x601d87
lea ecx, [ebp - 0x180]
call fcn.0040acc4
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x1a0]
call fcn.0040b540
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x2e0]
call fcn.00606e18
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x314]
call fcn.0043bcc8
mov eax, 8
mov edi, dword [ebp - 0x88]
mov esi, dword [ebp - 0x84]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 8
lea edi, [ebp - 0x2d0]
lea ecx, [ebp - 0x180]
push 0
push esi
push ecx
push edi
call fcn.00606c74
add esp, 0x10
mov ecx, dword [ebp - 0x38]
test ecx, ecx
je 0x601e0c
lea ecx, [ebp - 0x2d0]
call fcn.00606d28
add esp, 0xfffffff4
lea eax, [ebp - 0x180]
mov edx, esi
mov ecx, dword [ebp - 0x3c]
call fcn.00606bf0
mov dword [ebp - 0x1c], eax
add esp, 0xc
cmp eax, 0xffffffff
je 0x605614
xor edi, edi
mov eax, dword [ebp - 0x288]
test eax, eax
jle 0x601ea5
push 0xb4
call fcn.00898760
mov esi, eax
add esp, 4
lea ecx, [ebp - 0x264]
push esi
call fcn.006065d8
lea eax, [ebp - 0x180]
mov edx, dword [ebp - 0x1c]
push 0
push edx
push eax
push esi
call fcn.00606614
add esp, 0x10
mov edx, dword [ebp - 0x38]
test edx, edx
je 0x601e79
mov ecx, esi
call fcn.00606684
add esp, 0xfffffff4
lea eax, [ebp - 0x180]
mov edx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x3c]
call fcn.00606bf0
mov dword [ebp - 0x1c], eax
add esp, 0xc
cmp eax, 0xffffffff
je 0x605594
inc edi
cmp edi, dword [ebp - 0x288]
jl 0x601e3a
xor edi, edi
mov eax, dword [ebp - 0x284]
test eax, eax
jle 0x601f1c
push 0x9c
call fcn.00898760
mov esi, eax
add esp, 4
lea ecx, [ebp - 0x25c]
push esi
call fcn.006065d8
lea eax, [ebp - 0x180]
mov edx, dword [ebp - 0x1c]
push 0
push edx
push eax
push esi
call fcn.00606834
add esp, 0x10
mov edx, dword [ebp - 0x38]
test edx, edx
je 0x601ef0
mov ecx, esi
call fcn.006068a4
add esp, 0xfffffff4
lea eax, [ebp - 0x180]
mov edx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x3c]
call fcn.00606bf0
mov dword [ebp - 0x1c], eax
add esp, 0xc
cmp eax, 0xffffffff
je 0x605514
inc edi
cmp edi, dword [ebp - 0x284]
jl 0x601eb1
xor eax, eax
mov edx, dword [ebp - 0x280]
test edx, edx
mov dword [ebp - 0x34], eax
jle 0x601f9e
push 0x1a4
call fcn.00898760
mov esi, eax
add esp, 4
lea ecx, [ebp - 0x254]
push esi
call fcn.006065d8
lea ecx, [ebp - 0x180]
mov edx, dword [ebp - 0x1c]
push 0
push edx
push ecx
push esi
call fcn.006069f4
add esp, 0x10
mov edx, dword [ebp - 0x38]
test edx, edx
je 0x601f6a
mov ecx, esi
call fcn.00606a64
add esp, 0xfffffff4
lea eax, [ebp - 0x180]
mov edx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x3c]
call fcn.00606bf0
mov dword [ebp - 0x1c], eax
add esp, 0xc
cmp eax, 0xffffffff
je 0x6052a3
mov edx, dword [ebp - 0x280]
mov eax, dword [ebp - 0x34]
inc eax
cmp eax, edx
mov dword [ebp - 0x34], eax
jl 0x601f2b
xor al, al
mov edx, dword [ebp - 0x27c]
test edx, edx
mov byte [ebp - 0x3c], al
jle 0x602162
mov al, 1
mov edx, 0x44
lea esi, [ebp - 0x24c]
mov byte [ebp - 0x3c], al
xor ecx, ecx
mov dword [ebp - 0x40], edx
mov dword [esi], ecx
mov dword [esi + 4], ecx
mov dword [esi + 8], ecx
mov dword [esi + 0xc], ecx
mov dword [esi + 0x10], ecx
mov dword [esi + 0x14], ecx
mov dword [esi + 0x18], ecx
mov dword [esi + 0x1c], ecx
mov dword [esi + 0x20], ecx
mov dword [esi + 0x24], ecx
mov dword [esi + 0x28], ecx
mov dword [esi + 0x2c], ecx
mov dword [esi + 0x30], ecx
mov dword [esi + 0x34], ecx
mov dword [esi + 0x38], ecx
mov dword [esi + 0x3c], ecx
mov dword [esi + 0x40], ecx
mov eax, dword [ebp - 0x180]
lea ecx, [ebp - 0x180]
call dword [eax + 0x14]
sub eax, dword [ebp - 0x1c]
cmp eax, 0x44
jge 0x602027
mov eax, dword [ebp - 0x180]
lea ecx, [ebp - 0x180]
call dword [eax + 0x14]
mov dword [ebp - 0x40], eax
sub eax, dword [ebp - 0x1c]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
test eax, eax
jle 0x602057
mov eax, dword [ebp - 0x180]
lea ecx, [ebp - 0x180]
call dword [eax + 0xc]
lea edi, [ebp - 0x24c]
mov ecx, dword [ebp - 0x40]
add eax, dword [ebp - 0x1c]
mov esi, eax
push ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
pop ecx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp - 0x38]
test eax, eax
je 0x60208e
mov dl, byte [ebp - 0x24c]
mov al, byte [ebp - 0x249]
mov cl, byte [ebp - 0x24a]
mov byte [ebp - 0x24c], al
mov al, byte [ebp - 0x24b]
mov byte [ebp - 0x249], dl
mov byte [ebp - 0x24b], cl
mov byte [ebp - 0x24a], al
add dword [ebp - 0x1c], 0x44
lea ecx, [ebp - 0x180]
call fcn.00845940
mov esi, dword [ebp - 0x1c]
lea edi, [esi + eax]
mov edx, dword [edi]
mov dword [ebp - 0x14c], edx
mov ecx, dword [ebp - 0x38]
test ecx, ecx
je 0x6020e2
mov cl, byte [ebp - 0x14c]
mov dl, byte [ebp - 0x149]
mov byte [ebp - 0x14c], dl
mov dl, byte [ebp - 0x14a]
mov byte [ebp - 0x149], cl
mov cl, byte [ebp - 0x14b]
mov byte [ebp - 0x14b], dl
mov byte [ebp - 0x14a], cl
mov edx, esi
lea edx, [edx + eax + 4]
lea ecx, [ebp - 0x208]
xor eax, eax
mov dword [ecx], eax
mov dword [ecx + 4], eax
mov dword [ecx + 8], eax
mov dword [ecx + 0xc], eax
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], eax
mov dword [ecx + 0x18], eax
mov dword [ecx + 0x1c], eax
mov dword [ecx + 0x20], eax
mov dword [ecx + 0x24], eax
mov dword [ecx + 0x28], eax
mov dword [ecx + 0x2c], eax
mov dword [ecx + 0x30], eax
mov dword [ecx + 0x34], eax
mov dword [ecx + 0x38], eax
mov dword [ecx + 0x3c], eax
mov dword [ecx + 0x40], eax
mov dword [ecx + 0x44], eax
mov dword [ecx + 0x48], eax
mov dword [ecx + 0x4c], eax
mov dword [ecx + 0x50], eax
mov dword [ecx + 0x54], eax
mov dword [ecx + 0x58], eax
mov dword [ecx + 0x5c], eax
mov dword [ecx + 0x60], eax
mov word [ecx + 0x64], ax
lea ecx, [ebp - 0x208]
push dword [ebp - 0x14c]
push edx
call fcn.00606e98
mov eax, dword [ebp - 0x38]
test eax, eax
je 0x602162
lea ecx, [ebp - 0x208]
call fcn.00607170
lea ecx, [ebp - 0x180]
call fcn.0040acc4
mov edi, dword [ebx + 8]
mov esi, dword [ebp - 0x20]
mov eax, dword [esi + edi*4 + 0x16fcc]
xor edx, edx
test eax, eax
setne dl
test edx, edx
mov dword [ebp - 0x40], edx
je 0x60218f
mov ecx, esi
call fcn.0058e7e0
call fcn.0041109c
mov edx, esi
lea ecx, [edx + 0x16dcc]
lea edi, [edx + 0x28]
mov dword [ebp - 0x7c], ecx
movzx esi, byte [0x9ec108]
mov dword [ebp - 0x74], edi
push eax
push esi
mov eax, dword [ebx + 8]
push edi
push eax
call fcn.00566a74
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x40]
test eax, eax
je 0x6021ca
mov ecx, dword [ebp - 0x20]
call fcn.0058e6c8
mov eax, dword [ebp - 0x28]
test eax, eax
jne 0x60227c
mov dword [ebp - 4], 2
mov dword [ebp - 0x180], 0x9f05c8
mov al, byte [ebp - 0x170]
test al, al
je 0x6021fb
lea ecx, [ebp - 0x180]
call fcn.0040acc4
mov dword [ebp - 4], 1
lea eax, [ebp - 0x1a0]
mov dword [ebp - 0x440], eax
mov dword [ebp - 4], 0xe
mov dword [ebp - 4], 1
mov eax, dword [ebp - 0x19c]
mov edx, dword [ebp - 0x198]
cmp eax, edx
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x38], edx
je 0x6050b1
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x438], eax
mov dword [ebp - 4], 0xf
mov dword [ebp - 4], 0x10
mov dword [ebp - 4], 0xf
lea ecx, [eax + 0xc]
call fcn.00406220
mov eax, dword [ebp - 0x28]
lea ecx, [eax + 8]
call fcn.00406220
mov eax, dword [ebp - 0x28]
add eax, 0x10
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0x28], eax
cmp eax, edx
jne 0x602236
jmp 0x6050a8
xor eax, eax
mov edx, dword [ebp - 0x264]
test edx, edx
mov dword [ebp - 0x48], eax
lea eax, [ebp - 0x264]
je 0x60229d
inc dword [ebp - 0x48]
mov eax, dword [eax + 4]
mov edx, dword [eax]
test edx, edx
jne 0x602291
xor eax, eax
mov edx, dword [ebp - 0x254]
test edx, edx
mov dword [ebp - 0x58], eax
lea eax, [ebp - 0x254]
je 0x6022be
inc dword [ebp - 0x58]
mov eax, dword [eax + 4]
mov edx, dword [eax]
test edx, edx
jne 0x6022b2
xor eax, eax
mov edx, dword [ebp - 0x25c]
test edx, edx
mov dword [ebp - 0x5c], eax
lea eax, [ebp - 0x25c]
je 0x6022df
inc dword [ebp - 0x5c]
mov eax, dword [eax + 4]
mov edx, dword [eax]
test edx, edx
jne 0x6022d3
mov esi, 1
xor al, al
add esp, 0xfffffff4
mov dword [ebp - 0x70], esi
mov ecx, esp
mov byte [ebp - 0x78], al
push 0xa31bf8
call fcn.004061ac
lea ecx, [esp + 8]
call fcn.0041cbf8
lea ecx, [ebp - 0x110]
mov byte [esp + 4], 1
call fcn.005659f8
mov dword [ebp - 4], 0x19
xor esi, esi
mov eax, dword [ebp - 0x48]
mov dl, byte [ebp - 0x3c]
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x4c], edi
mov dword [ebp - 0x90], eax
fild dword [ebp - 0x90]
fstp qword [ebp - 0x30]
mov byte [ebp - 0x6c], dl
mov edx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x1c]
cmp eax, edx
jge 0x60509d
lea ecx, [ebp - 0x264]
xor edx, edx
mov dword [ebp - 0x90], eax
test eax, eax
fild dword [ebp - 0x90]
fld dword [0xa31ed8]
fdiv qword [ebp - 0x30]
fmulp st(1)
fstp dword [ebp - 0x24]
jle 0x60237a
mov ecx, dword [ecx + 4]
inc edx
mov eax, dword [ebp - 0x1c]
cmp edx, eax
jl 0x60236f
mov eax, dword [ecx]
mov edx, dword [eax + 0xa0]
test edx, edx
mov dword [ebp - 0x40], eax
jl 0x602390
mov eax, dword [ebp - 0x58]
cmp edx, eax
jl 0x602395
inc dword [ebp - 0x1c]
jmp 0x60233b
lea ecx, [ebp - 0x254]
xor eax, eax
test edx, edx
jle 0x6023a9
mov ecx, dword [ecx + 4]
inc eax
cmp eax, edx
jl 0x6023a1
mov eax, dword [ecx]
xor edx, edx
mov ecx, dword [ebp - 0x40]
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x60], edx
mov edx, dword [ecx + 0x9c]
test edx, edx
jl 0x6023cb
mov eax, dword [ebp - 0x5c]
cmp edx, eax
jl 0x6032f9
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x28]
push dword [eax + 0x16cf8]
push dword [eax + 0x16974]
push 0xffffffffffffffff
call fcn.0056f2e0
mov dword [ebp - 0x3c], eax
mov ecx, dword [ebp - 0x28]
push eax
call fcn.0057cee8
mov edx, dword [ebp - 0x3c]
lea ecx, [edx + 8]
inc eax
push eax
push 0xa32db8
push ecx
call fcn.00406768
push 5
call fcn.00410c88
add esp, 0x10
movzx eax, al
test eax, eax
je 0x602421
mov eax, dword [ebp - 0x3c]
mov dword [eax + 0xa624], 3
mov esi, dword [ebp - 0x40]
test byte [esi + 0x44], 2
mov edi, dword [ebp - 0x3c]
sete al
mov cl, byte [ebp - 0x6c]
mov byte [edi + 0x30], al
test byte [esi + 0x44], 4
setne dl
test cl, cl
mov byte [edi + 0x31], dl
je 0x60324f
xor eax, eax
add esp, 0xfffffff0
movsx edx, word [ebp - 0x1cc]
mov dword [ebp - 0xe4], eax
mov dword [ebp - 0xe0], eax
fld qword [0xa31e98]
fstp qword [esp]
mov dword [ebp - 0x90], edx
fild dword [ebp - 0x90]
fmul qword [0xa31e90]
fstp qword [esp + 8]
call fcn.0088b9f8
add esp, 0x10
mov eax, edi
fstp dword [eax + 0x18]
add esp, 0xfffffff0
movsx edx, word [ebp - 0x1f8]
fld qword [0xa31e98]
movsx ecx, word [ebp - 0x1f4]
fstp qword [esp]
mov dword [ebp - 0x90], edx
fild dword [ebp - 0x90]
fmul qword [0xa31e90]
mov dword [ebp - 0x90], ecx
fild dword [ebp - 0x90]
fmul qword [0xa31e88]
faddp st(1)
fstp qword [esp + 8]
call fcn.0088b9f8
add esp, 0x10
fcom qword [0xa31e98]
fnstsw ax
sahf
jbe 0x602507
fld qword [0xa31e80]
fmul st(1), st(0)
mov edx, dword [ebp - 0x28]
fxch st(1)
fstp dword [edx + 0x9058]
mov eax, edi
mov dword [eax + 0x20], 0x40000000
fld dword [edx + 0x9058]
fxch st(1)
jmp 0x602516
mov eax, dword [ebp - 0x28]
fst dword [eax + 0x9058]
fld qword [0xa31e80]
fcomp st(1)
fnstsw ax
sahf
jbe 0x602535
fmul qword [0xa31e98]
mov eax, dword [ebp - 0x28]
mov edx, edi
fst dword [eax + 0x9058]
mov dword [edx + 0x20], 0x3f000000
fstp st(0)
add esp, 0xfffffff0
movsx eax, word [ebp - 0x208]
fld qword [0xa31e98]
fstp qword [esp]
mov dword [ebp - 0x90], eax
fild dword [ebp - 0x90]
fmul qword [0xa31e78]
fstp qword [esp + 8]
call fcn.0088b9f8
add esp, 0x10
mov eax, dword [ebp - 0x28]
fstp dword [eax + 0x905c]
movsx eax, word [ebp - 0x1fe]
test eax, eax
jle 0x602586
mov edx, dword [ebp - 0x28]
mov word [edx + 0x8024], ax
movsx eax, word [ebp - 0x204]
test eax, eax
jle 0x603c90
mov edi, dword [ebp - 0xe0]
lea ecx, [edi + edi]
add ecx, ecx
sub ecx, edi
add ecx, ecx
add ecx, ecx
add ecx, ecx
lea eax, [ecx + ecx]
add eax, eax
add eax, eax
add eax, eax
add eax, eax
sub eax, ecx
mov edx, 1
mov esi, dword [ebp - 0x3c]
mov dword [eax + esi + 0x4978], edx
lea edi, [esi + 0x48bc]
mov byte [eax + esi + 0x4b97], dl
mov eax, dword [ebp - 0xe0]
lea ecx, [eax + eax]
add ecx, ecx
sub ecx, eax
add ecx, ecx
add ecx, ecx
add ecx, ecx
lea eax, [ecx + ecx]
add eax, eax
add eax, eax
add eax, eax
add eax, eax
sub eax, ecx
mov byte [eax + esi + 0x4b98], dl
mov eax, dword [ebp - 0xe0]
lea edx, [eax + eax]
add edx, edx
sub edx, eax
add edx, edx
add edx, edx
add edx, edx
lea ecx, [edx + edx]
add ecx, ecx
add ecx, ecx
add ecx, ecx
add ecx, ecx
sub ecx, edx
mov eax, 3
mov word [ecx + esi + 0x48b8], ax
movsx eax, word [ebp - 0x204]
mov dword [ebp - 0x90], eax
mov eax, dword [ebp - 0xe0]
lea edx, [eax + eax]
fild dword [ebp - 0x90]
fmul dword [0xa31ecc]
add edx, edx
sub edx, eax
add edx, edx
add edx, edx
add edx, edx
lea eax, [edx + edx]
add eax, eax
add eax, eax
add eax, eax
add eax, eax
sub eax, edx
fstp dword [eax + esi + 0x48bc]
mov edx, dword [ebp - 0xe0]
lea eax, [edx + edx]
fld dword [0xa31ed8]
add eax, eax
sub eax, edx
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
fcom dword [esi + ecx + 0x48bc]
fnstsw ax
sahf
jae 0x6026ad
fstp st(0)
mov eax, 0x3f800000
mov dword [edi + ecx], eax
fld dword [0xa31ed8]
mov edx, dword [ebp - 0xe0]
inc edx
mov dword [ebp - 0xe0], edx
mov eax, dword [ebp - 0x3c]
lea esi, [eax + 0x5fc]
mov edi, dword [ebp - 0xe4]
mov dword [ebp - 0x50], esi
lea edx, [edi + edi]
add edx, edx
sub edx, edi
add edx, edx
add edx, edx
sub edx, edi
lea edx, [edi + edx*8]
lea ecx, [edx + edx]
add ecx, ecx
sub ecx, edx
lea edx, [eax + 0x5f8]
fstp dword [eax + ecx*4 + 0x5fc]
add esp, 0xffffffd8
mov dword [ebp - 0x44], edx
mov edx, dword [ebp - 0xe4]
lea ecx, [edx + edx]
add ecx, ecx
sub ecx, edx
add ecx, ecx
add ecx, ecx
sub ecx, edx
lea edx, [edx + ecx*8]
lea ecx, [edx + edx]
add ecx, ecx
sub ecx, edx
mov edx, 1
mov word [eax + ecx*4 + 0x5f8], dx
lea edx, [ebp - 0xe4]
lea ecx, [ebp - 0xe0]
movsx esi, word [ebp - 0x1ae]
mov dword [esp + 0xc], esi
movsx esi, word [ebp - 0x1aa]
mov dword [esp + 0x10], esi
movsx esi, word [ebp - 0x1ac]
mov dword [esp + 0x14], esi
movsx esi, word [ebp - 0x1a8]
mov dword [esp + 0x18], esi
movsx esi, word [ebp - 0x1a6]
mov dword [esp + 0x1c], esi
movsx esi, word [ebp - 0x1a4]
mov dword [esp + 0x20], esi
mov byte [esp + 0x24], 0
call fcn.00605de8
add esp, 0x28
movsx eax, word [ebp - 0x1cc]
cmp ax, word [ebp - 0x1ce]
jle 0x60288c
mov edx, dword [ebp - 0xe0]
lea ecx, [edx + edx]
add ecx, ecx
sub ecx, edx
add ecx, ecx
add ecx, ecx
add ecx, ecx
lea edi, [ecx + ecx]
add edi, edi
add edi, edi
add edi, edi
add edi, edi
sub edi, ecx
mov eax, 1
mov esi, dword [ebp - 0x3c]
mov dword [edi + esi + 0x4978], eax
add esp, 0xfffffff0
mov byte [edi + esi + 0x4b97], al
mov edx, dword [ebp - 0xe0]
lea ecx, [edx + edx]
add ecx, ecx
sub ecx, edx
add ecx, ecx
add ecx, ecx
add ecx, ecx
lea edx, [ecx + ecx]
add edx, edx
add edx, edx
add edx, edx
add edx, edx
sub edx, ecx
mov byte [edx + esi + 0x4b98], 6
mov edx, dword [ebp - 0xe0]
lea ecx, [edx + edx]
add ecx, ecx
sub ecx, edx
add ecx, ecx
add ecx, ecx
add ecx, ecx
lea edx, [ecx + ecx]
add edx, edx
add edx, edx
add edx, edx
add edx, edx
sub edx, ecx
mov word [edx + esi + 0x48b8], ax
movsx eax, word [ebp - 0x1ce]
fld qword [0xa31e90]
fld qword [0xa31e98]
fstp qword [esp]
mov dword [ebp - 0x90], eax
fild dword [ebp - 0x90]
fmul st(1)
movsx eax, word [ebp - 0x1cc]
mov dword [ebp - 0x90], eax
fild dword [ebp - 0x90]
fmulp st(2)
fsubrp st(1)
fstp qword [esp + 8]
call fcn.0088b9f8
add esp, 0x10
mov eax, dword [ebp - 0xe0]
fsubr qword [0xa31e70]
lea edx, [eax + eax]
add edx, edx
sub edx, eax
add edx, edx
add edx, edx
add edx, edx
lea ecx, [edx + edx]
add ecx, ecx
add ecx, ecx
add ecx, ecx
add ecx, ecx
sub ecx, edx
fstp dword [ecx + esi + 0x48bc]
inc dword [ebp - 0xe0]
movsx eax, word [ebp - 0x1c6]
test eax, eax
jle 0x603c84
movsx edx, word [ebp - 0x1c8]
mov esi, dword [ebp - 0xe4]
lea edi, [esi + esi]
mov dword [ebp - 0x90], edx
add edi, edi
sub edi, esi
fild dword [ebp - 0x90]
fmul dword [0xa31ec8]
add edi, edi
add edi, edi
sub edi, esi
lea eax, [esi + edi*8]
lea edx, [eax + eax]
add edx, edx
sub edx, eax
mov ecx, dword [ebp - 0x50]
fstp dword [ecx + edx*4]
mov eax, dword [ebp - 0xe4]
lea edx, [eax + eax]
add edx, edx
sub edx, eax
add edx, edx
add edx, edx
sub edx, eax
lea eax, [eax + edx*8]
lea edx, [eax + eax]
add edx, edx
sub edx, eax
add edx, edx
add edx, edx
lea ecx, [ecx + edx]
fld dword [ecx]
fcomp dword [0xa31ec4]
fnstsw ax
sahf
jne 0x60292f
mov dword [ecx], 0x38d1b717
mov edx, dword [ebp - 0xe4]
lea eax, [edx + edx]
add eax, eax
sub eax, edx
add eax, eax
add eax, eax
sub eax, edx
lea ecx, [edx + eax*8]
lea edx, [ecx + ecx]
add edx, edx
sub edx, ecx
add edx, edx
add edx, edx
mov eax, 1
mov ecx, dword [ebp - 0x44]
mov word [ecx + edx], ax
movzx edx, word [ebp - 0x1ca]
test edx, edx
jne 0x60297e
add esp, 0xffffffe8
lea edx, [ebp - 0xe4]
movsx ecx, word [ebp - 0x1c4]
movsx esi, word [ebp - 0x1c2]
movsx edi, word [ebp - 0x1c0]
mov eax, dword [ebp - 0x3c]
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], edi
mov byte [esp + 0x14], 1
call fcn.00605770
add esp, 0x18
jmp 0x6029af
add esp, 0xffffffe8
lea edx, [ebp - 0xe4]
movsx esi, word [ebp - 0x1bc]
mov dword [esp + 0xc], esi
movsx edi, word [ebp - 0x1be]
mov eax, dword [ebp - 0x3c]
mov dword [esp + 0x10], edi
mov byte [esp + 0x14], 0
xor ecx, ecx
call fcn.00605770
add esp, 0x18
movzx eax, al
test eax, eax
je 0x602b09
movzx edx, word [ebp - 0x1c8]
movzx eax, word [ebp - 0x1c6]
cmp eax, edx
je 0x602b10
mov edx, dword [ebp - 0xe0]
lea ecx, [edx + edx]
add ecx, ecx
sub ecx, edx
add ecx, ecx
add ecx, ecx
add ecx, ecx
lea edi, [ecx + ecx]
add edi, edi
add edi, edi
add edi, edi
add edi, edi
sub edi, ecx
mov eax, 1
mov esi, dword [ebp - 0x3c]
mov dword [edi + esi + 0x4978], eax
mov byte [edi + esi + 0x4b97], al
mov edx, dword [ebp - 0xe0]
lea ecx, [edx + edx]
add ecx, ecx
sub ecx, edx
add ecx, ecx
add ecx, ecx
add ecx, ecx
lea edx, [ecx + ecx]
add edx, edx
add edx, edx
add edx, edx
add edx, edx
sub edx, ecx
mov byte [edx + esi + 0x4b98], 4
mov edx, dword [ebp - 0xe0]
lea ecx, [edx + edx]
add ecx, ecx
sub ecx, edx
add ecx, ecx
add ecx, ecx
add ecx, ecx
lea edx, [ecx + ecx]
add edx, edx
add edx, edx
add edx, edx
add edx, edx
sub edx, ecx
mov byte [edx + esi + 0x4b99], al
mov eax, dword [ebp - 0xe0]
lea edx, [eax + eax]
add edx, edx
sub edx, eax
add edx, edx
add edx, edx
add edx, edx
lea ecx, [edx + edx]
add ecx, ecx
add ecx, ecx
add ecx, ecx
add ecx, ecx
sub ecx, edx
mov eax, 0xb
mov word [ecx + esi + 0x48b8], ax
mov ecx, dword [ebp - 0xe4]
dec ecx
mov eax, dword [ebp - 0xe0]
lea edx, [eax + eax]
add edx, edx
sub edx, eax
add edx, edx
add edx, edx
add edx, edx
lea eax, [edx + edx]
add eax, eax
add eax, eax
add eax, eax
add eax, eax
sub eax, edx
mov word [eax + esi + 0x48ba], cx
movsx eax, word [ebp - 0x1c8]
movsx edx, word [ebp - 0x1c6]
sub edx, eax
mov dword [ebp - 0x90], edx
mov eax, dword [ebp - 0xe0]
lea edx, [eax + eax]
fild dword [ebp - 0x90]
fmul dword [0xa31ec8]
add edx, edx
sub edx, eax
add edx, edx
add edx, edx
add edx, edx
lea eax, [edx + edx]
add eax, eax
add eax, eax
add eax, eax
add eax, eax
sub eax, edx
fstp dword [eax + esi + 0x48bc]
movzx edx, word [ebp - 0x1c8]
inc dword [ebp - 0xe0]
jmp 0x602b10
movzx edx, word [ebp - 0x1c8]
shl edx, 0x10
test edx, edx
jl 0x603a18
movsx eax, word [ebp - 0x1ea]
test eax, eax
jle 0x603a04
push edi
call fcn.00605d84
pop ecx
mov edx, dword [ebp - 0xe4]
lea esi, [edx + edx]
add esi, esi
sub esi, edx
add esi, esi
add esi, esi
sub esi, edx
lea edi, [edx + esi*8]
lea eax, [edi + edi]
add eax, eax
sub eax, edi
mov ecx, dword [ebp - 0x50]
fstp dword [ecx + eax*4]
mov eax, dword [ebp - 0xe4]
lea edx, [eax + eax]
add edx, edx
sub edx, eax
add edx, edx
add edx, edx
sub edx, eax
lea eax, [eax + edx*8]
lea edx, [eax + eax]
add edx, edx
sub edx, eax
add edx, edx
add edx, edx
lea ecx, [ecx + edx]
fld dword [ecx]
fcomp dword [0xa31ec4]
fnstsw ax
sahf
jne 0x602bac
mov dword [ecx], 0x38d1b717
mov edx, dword [ebp - 0xe4]
lea eax, [edx + edx]
add eax, eax
sub eax, edx
add eax, eax
add eax, eax
sub eax, edx
lea ecx, [edx + eax*8]
lea edx, [ecx + ecx]
add edx, edx
sub edx, ecx
add edx, edx
add edx, edx
mov eax, 3
mov ecx, dword [ebp - 0x44]
mov word [ecx + edx], ax
movzx edx, word [ebp - 0x1ec]
test edx, edx
jne 0x602bfb
add esp, 0xffffffe8
lea edx, [ebp - 0xe4]
movsx ecx, word [ebp - 0x1c4]
movsx esi, word [ebp - 0x1c2]
movsx edi, word [ebp - 0x1c0]
mov eax, dword [ebp - 0x3c]
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], edi
mov byte [esp + 0x14], 1
call fcn.00605770
add esp, 0x18
jmp 0x602c2c
add esp, 0xffffffe8
lea edx, [ebp - 0xe4]
movsx esi, word [ebp - 0x1bc]
mov dword [esp + 0xc], esi
movsx edi, word [ebp - 0x1be]
mov eax, dword [ebp - 0x3c]
mov dword [esp + 0x10], edi
mov byte [esp + 0x14], 0
xor ecx, ecx
call fcn.00605770
add esp, 0x18
movzx eax, al
test eax, eax
je 0x602d81
movzx eax, word [ebp - 0x1ea]
movzx edx, word [ebp - 0x1e8]
cmp eax, edx
je 0x602d81
mov ecx, dword [ebp - 0xe0]
lea edi, [ecx + ecx]
add edi, edi
sub edi, ecx
add edi, edi
add edi, edi
add edi, edi
lea eax, [edi + edi]
add eax, eax
add eax, eax
add eax, eax
add eax, eax
sub eax, edi
mov edx, 1
mov esi, dword [ebp - 0x3c]
mov dword [eax + esi + 0x4978], edx
push edi
mov byte [eax + esi + 0x4b97], dl
mov eax, dword [ebp - 0xe0]
lea ecx, [eax + eax]
add ecx, ecx
sub ecx, eax
add ecx, ecx
add ecx, ecx
add ecx, ecx
lea eax, [ecx + ecx]
add eax, eax
add eax, eax
add eax, eax
add eax, eax
sub eax, ecx
mov byte [eax + esi + 0x4b98], 4
mov eax, dword [ebp - 0xe0]
lea ecx, [eax + eax]
add ecx, ecx
sub ecx, eax
add ecx, ecx
add ecx, ecx
add ecx, ecx
lea eax, [ecx + ecx]
add eax, eax
add eax, eax
add eax, eax
add eax, eax
sub eax, ecx
mov byte [eax + esi + 0x4b99], dl
mov eax, dword [ebp - 0xe0]
lea edx, [eax + eax]
add edx, edx
sub edx, eax
add edx, edx
add edx, edx
add edx, edx
lea ecx, [edx + edx]
add ecx, ecx
add ecx, ecx
add ecx, ecx
add ecx, ecx
sub ecx, edx
mov eax, 0xb
mov word [ecx + esi + 0x48b8], ax
mov ecx, dword [ebp - 0xe4]
dec ecx
mov eax, dword [ebp - 0xe0]
lea edx, [eax + eax]
add edx, edx
sub edx, eax
add edx, edx
add edx, edx
add edx, edx
lea eax, [edx + edx]
add eax, eax
add eax, eax
add eax, eax
add eax, eax
sub eax, edx
mov word [eax + esi + 0x48ba], cx
movsx eax, word [ebp - 0x1e8]
call fcn.00605d84
fstp qword [ebp - 0x68]
add esp, 4
push edi
movsx eax, word [ebp - 0x1ea]
call fcn.00605d84
pop ecx
mov eax, dword [ebp - 0xe0]
fld qword [ebp - 0x68]
fsubrp st(1)
lea edx, [eax + eax]
add edx, edx
sub edx, eax
add edx, edx
add edx, edx
add edx, edx
lea ecx, [edx + edx]
add ecx, ecx
add ecx, ecx
add ecx, ecx
add ecx, ecx
sub ecx, edx
fstp dword [ecx + esi + 0x48bc]
inc dword [ebp - 0xe0]
movzx eax, word [ebp - 0x1e6]
cmp eax, 1
je 0x603317
movsx edx, word [ebp - 0x1f0]
test edx, edx
je 0x602da5
movsx ecx, word [ebp - 0x1ee]
jmp 0x602db4
movsx ecx, word [ebp - 0x1ee]
test ecx, ecx
je 0x603035
test edx, edx
jl 0x605086
test ecx, ecx
jle 0x605058
fld dword [0xa31ea8]
mov dword [ebp - 0x90], ecx
fild dword [ebp - 0x90]
fmul st(1)
fld st(0)
mov dword [ebp - 0x90], edx
fild dword [ebp - 0x90]
fmulp st(3)
fsubrp st(2)
fxch st(1)
fstp qword [ebp - 0x68]
mov edi, dword [ebp - 0xe4]
lea eax, [edi + edi]
add eax, eax
sub eax, edi
add eax, eax
add eax, eax
sub eax, edi
lea eax, [edi + eax*8]
lea edx, [eax + eax]
add edx, edx
sub edx, eax
mov eax, dword [ebp - 0x50]
fstp dword [eax + edx*4]
mov eax, dword [ebp - 0xe4]
lea edx, [eax + eax]
add edx, edx
sub edx, eax
add edx, edx
add edx, edx
sub edx, eax
lea eax, [eax + edx*8]
lea edx, [eax + eax]
add edx, edx
sub edx, eax
mov eax, 3
mov esi, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x3c]
mov word [esi + edx*4], ax
mov eax, dword [ebp - 0xe4]
lea edx, [eax + eax]
add edx, edx
sub edx, eax
add edx, edx
add edx, edx
sub edx, eax
lea eax, [eax + edx*8]
lea edi, [eax + eax]
add edi, edi
sub edi, eax
mov dword [esi + edi*4 + 0xc0], 1
mov edx, 2
push edi
mov dword [ecx + edi*4 + 0x9f8], edx
mov eax, dword [ebp - 0xe4]
lea esi, [eax + eax]
add esi, esi
sub esi, eax
add esi, esi
add esi, esi
sub esi, eax
lea eax, [eax + esi*8]
lea esi, [eax + eax]
add esi, esi
sub esi, eax
mov dword [ecx + esi*4 + 0x6f0], edx
mov eax, dword [ebp - 0xe4]
lea edx, [eax + eax]
add edx, edx
sub edx, eax
add edx, edx
add edx, edx
sub edx, eax
lea eax, [eax + edx*8]
lea edx, [eax + eax]
add edx, edx
sub edx, eax
mov dword [ecx + edx*4 + 0x900], 0
mov eax, dword [ebp - 0xe4]
lea edx, [eax + eax]
add edx, edx
sub edx, eax
add edx, edx
add edx, edx
sub edx, eax
lea eax, [eax + edx*8]
lea edx, [eax + eax]
add edx, edx
sub edx, eax
mov dword [ecx + edx*4 + 0x908], 0
movsx eax, word [ebp - 0x1f2]
call fcn.0060570c
pop ecx
mov edx, dword [ebp - 0xe4]
lea ecx, [edx + edx]
add ecx, ecx
sub ecx, edx
add ecx, ecx
add ecx, ecx
sub ecx, edx
lea esi, [edx + ecx*8]
lea eax, [esi + esi]
add eax, eax
sub eax, esi
mov edi, dword [ebp - 0x3c]
fstp dword [edi + eax*4 + 0x904]
inc dword [ebp - 0xe4]
fld qword [ebp - 0x68]
fabs
fcomp qword [0xa31e68]
fnstsw ax
sahf
jbe 0x60302e
mov edi, dword [ebp - 0xe0]
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, 1
mov esi, dword [ebp - 0x3c]
mov dword [ecx + esi + 0x4978], edx
mov byte [ecx + esi + 0x4b97], dl
mov eax, dword [ebp - 0xe0]
lea edx, [eax + eax]
add edx, edx
sub edx, eax
add edx, edx
add edx, edx
add edx, edx
lea eax, [edx + edx]
add eax, eax
add eax, eax
add eax, eax
add eax, eax
sub eax, edx
mov byte [eax + esi + 0x4b98], 6
mov eax, dword [ebp - 0xe0]
lea edx, [eax + eax]
add edx, edx
sub edx, eax
add edx, edx
add edx, edx
add edx, edx
lea ecx, [edx + edx]
add ecx, ecx
add ecx, ecx
add ecx, ecx
add ecx, ecx
sub ecx, edx
mov eax, 0xb
mov word [ecx + esi + 0x48b8], ax
mov ecx, dword [ebp - 0xe4]
dec ecx
mov eax, dword [ebp - 0xe0]
lea edx, [eax + eax]
add edx, edx
sub edx, eax
add edx, edx
add edx, edx
add edx, edx
lea eax, [edx + edx]
add eax, eax
add eax, eax
add eax, eax
add eax, eax
sub eax, edx
mov word [eax + esi + 0x48ba], cx
fld qword [ebp - 0x68]
fmul dword [0xa31ea4]
mov eax, dword [ebp - 0xe0]
lea edx, [eax + eax]
add edx, edx
sub edx, eax
add edx, edx
add edx, edx
add edx, edx
lea eax, [edx + edx]
add eax, eax
add eax, eax
add eax, eax
add eax, eax
sub eax, edx
fstp dword [eax + esi + 0x48bc]
movsx edx, word [ebp - 0x1f0]
inc dword [ebp - 0xe0]
jmp 0x603035
movsx edx, word [ebp - 0x1f0]
test edx, edx
jne 0x603141
movzx eax, word [ebp - 0x1ee]
test eax, eax
jne 0x603141
movsx eax, word [ebp - 0x1f2]
test eax, eax
jle 0x603141
mov edi, dword [ebp - 0xe4]
lea eax, [edi + edi]
add eax, eax
sub eax, edi
add eax, eax
add eax, eax
sub eax, edi
lea eax, [edi + eax*8]
lea edx, [eax + eax]
add edx, edx
sub edx, eax
mov eax, dword [ebp - 0x50]
mov dword [eax + edx*4], 0x3f800000
mov eax, dword [ebp - 0xe4]
lea edx, [eax + eax]
add edx, edx
sub edx, eax
add edx, edx
add edx, edx
sub edx, eax
lea eax, [eax + edx*8]
lea edx, [eax + eax]
add edx, edx
sub edx, eax
mov eax, 3
mov esi, dword [ebp - 0x44]
mov ecx, 1
mov word [esi + edx*4], ax
mov eax, dword [ebp - 0xe4]
lea edx, [eax + eax]
add edx, edx
sub edx, eax
add edx, edx
add edx, edx
sub edx, eax
lea eax, [eax + edx*8]
lea edi, [eax + eax]
add edi, edi
sub edi, eax
mov dword [esi + edi*4 + 0xc0], ecx
mov edx, dword [ebp - 0x3c]
push edi
mov dword [edx + edi*4 + 0x9f8], 5
mov eax, dword [ebp - 0xe4]
lea esi, [eax + eax]
add esi, esi
sub esi, eax
add esi, esi
add esi, esi
sub esi, eax
lea eax, [eax + esi*8]
lea esi, [eax + eax]
add esi, esi
sub esi, eax
mov dword [edx + esi*4 + 0x9d8], ecx
movsx eax, word [ebp - 0x1f2]
call fcn.0060570c
pop ecx
mov eax, dword [ebp - 0xe4]
lea edx, [eax + eax]
add edx, edx
sub edx, eax
add edx, edx
add edx, edx
sub edx, eax
lea ecx, [eax + edx*8]
lea edi, [ecx + ecx]
add edi, edi
sub edi, ecx
mov esi, dword [ebp - 0x3c]
fstp dword [esi + edi*4 + 0x9dc]
inc dword [ebp - 0xe4]
movsx esi, word [ebp - 0x1fc]
test esi, esi
je 0x603155
movsx edi, word [ebp - 0x1fa]
jmp 0x603164
movsx edi, word [ebp - 0x1fa]
test edi, edi
je 0x60324f
push edi
mov eax, esi
call fcn.006056b0
pop ecx
mov edx, dword [ebp - 0x3c]
fstp dword [edx + 0x508]
cmp esi, edi
je 0x60324f
mov edi, dword [ebp - 0xe0]
lea edx, [edi + edi]
add edx, edx
sub edx, edi
add edx, edx
add edx, edx
add edx, edx
lea eax, [edx + edx]
add eax, eax
add eax, eax
add eax, eax
add eax, eax
sub eax, edx
mov ecx, 1
mov esi, dword [ebp - 0x3c]
mov dword [eax + esi + 0x4978], ecx
push edi
mov byte [eax + esi + 0x4b97], cl
mov eax, dword [ebp - 0xe0]
lea edx, [eax + eax]
add edx, edx
sub edx, eax
add edx, edx
add edx, edx
add edx, edx
lea eax, [edx + edx]
add eax, eax
add eax, eax
add eax, eax
add eax, eax
sub eax, edx
mov byte [eax + esi + 0x4b98], 6
mov eax, dword [ebp - 0xe0]
lea edx, [eax + eax]
add edx, edx
sub edx, eax
add edx, edx
add edx, edx
add edx, edx
lea ecx, [edx + edx]
add ecx, ecx
add ecx, ecx
add ecx, ecx
add ecx, ecx
sub ecx, edx
mov eax, 0x27
mov word [ecx + esi + 0x48b8], ax
movsx edx, word [ebp - 0x1fa]
movsx eax, word [ebp - 0x1fc]
sub edx, eax
mov eax, edx
call fcn.006056b0
pop ecx
mov eax, dword [ebp - 0xe0]
lea edx, [eax + eax]
add edx, edx
sub edx, eax
add edx, edx
add edx, edx
add edx, edx
lea ecx, [edx + edx]
add ecx, ecx
add ecx, ecx
add ecx, ecx
add ecx, ecx
sub ecx, edx
fstp dword [ecx + esi + 0x48bc]
inc dword [ebp - 0xe0]
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x28]
push eax
call fcn.0061c494
mov esi, eax
test esi, esi
jl 0x605043
mov edx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x28]
push edx
call fcn.0057cee8
push eax
mov ecx, dword [ebp - 0x28]
call fcn.0057d208
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + esi*4 + 0x4000]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x28]
push eax
call fcn.0057cee8
push eax
mov ecx, dword [ebp - 0x28]
call fcn.0057c994
mov dword [ebp - 0x34], eax
xor edi, edi
lea esi, [edi + edi]
add esi, esi
sub esi, edi
xor eax, eax
mov ecx, dword [ebp - 0x34]
mov edx, 0x3f800000
mov dword [ecx + esi*8 + 0x1b8], eax
inc edi
cmp edi, 9
mov dword [ecx + esi*8 + 0x1bc], eax
mov dword [ecx + esi*8 + 0x1c0], eax
mov dword [ecx + esi*8 + 0x1cc], eax
mov byte [ecx + esi*8 + 0x1c4], al
mov dword [ecx + esi*8 + 0x1c8], 0x3f800000
mov byte [ecx + esi*8 + 0x1c5], al
mov byte [ecx + esi*8 + 0x1c6], al
jl 0x6032a1
jmp 0x603c9b
lea ecx, [ebp - 0x25c]
xor eax, eax
test edx, edx
jle 0x60330d
mov ecx, dword [ecx + 4]
inc eax
cmp eax, edx
jl 0x603305
mov eax, dword [ecx]
mov dword [ebp - 0x60], eax
jmp 0x6023cb
movzx edx, word [ebp - 0x1e4]
mov eax, edx
shl eax, 0x10
test eax, eax
jl 0x60334a
cmp dx, 1
jg 0x60333c
mov eax, dword [ebp - 0x3c]
mov dword [eax + 0xa5b8], 3
jmp 0x60335d
cmp dx, 2
jl 0x60335d
cmp dx, 3
jle 0x603350
jmp 0x60335d
cmp dx, 2
jl 0x60335d
mov eax, dword [ebp - 0x3c]
mov dword [eax + 0xa5b8], 6
cmp edx, 3
je 0x6039d4
mov eax, dword [ebp - 0x3c]
mov dword [eax + 0xa5c0], 1
fld dword [0xa31eb4]
movsx eax, word [ebp - 0x1dc]
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x90], eax
movsx edx, word [ebp - 0x1da]
movsx esi, word [ebp - 0x1d6]
fild dword [ebp - 0x90]
fmul st(1)
fstp dword [ecx + 0xa5c8]
test esi, esi
mov dword [ebp - 0x90], edx
fild dword [ebp - 0x90]
fmulp st(1)
fstp dword [ecx + 0xa5cc]
jle 0x603492
mov edi, dword [ebp - 0xe0]
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, 1
mov esi, dword [ebp - 0x3c]
mov dword [ecx + esi + 0x4978], edx
mov byte [ecx + esi + 0x4b97], dl
mov eax, dword [ebp - 0xe0]
lea edx, [eax + eax]
add edx, edx
sub edx, eax
add edx, edx
add edx, edx
add edx, edx
lea eax, [edx + edx]
add eax, eax
add eax, eax
add eax, eax
add eax, eax
sub eax, edx
mov byte [eax + esi + 0x4b98], 5
mov eax, dword [ebp - 0xe0]
lea edx, [eax + eax]
add edx, edx
sub edx, eax
add edx, edx
add edx, edx
add edx, edx
lea ecx, [edx + edx]
add ecx, ecx
add ecx, ecx
add ecx, ecx
add ecx, ecx
sub ecx, edx
mov eax, 4
mov word [ecx + esi + 0x48b8], ax
movsx eax, word [ebp - 0x1d6]
mov dword [ebp - 0x90], eax
mov eax, dword [ebp - 0xe0]
lea edx, [eax + eax]
fild dword [ebp - 0x90]
fmul dword [0xa31eb0]
add edx, edx
sub edx, eax
add edx, edx
add edx, edx
add edx, edx
lea eax, [edx + edx]
add eax, eax
add eax, eax
add eax, eax
add eax, eax
sub eax, edx
fstp dword [eax + esi + 0x48bc]
inc dword [ebp - 0xe0]
movsx ecx, word [ebp - 0x1d2]
test ecx, ecx
je 0x6034a6
movsx edx, word [ebp - 0x1d0]
jmp 0x6034b5
movsx edx, word [ebp - 0x1d0]
test edx, edx
je 0x60369b
test ecx, ecx
jl 0x6039bd
test edx, edx
jle 0x60398d
fld dword [0xa31ec8]
mov dword [ebp - 0x90], edx
fild dword [ebp - 0x90]
fmul st(1)
fld st(0)
mov dword [ebp - 0x90], ecx
fild dword [ebp - 0x90]
fmulp st(3)
fsubrp st(2)
fxch st(1)
fstp qword [ebp - 0x68]
mov esi, dword [ebp - 0xe4]
lea edi, [esi + esi]
add edi, edi
sub edi, esi
add edi, edi
add edi, edi
sub edi, esi
lea eax, [esi + edi*8]
lea edx, [eax + eax]
add edx, edx
sub edx, eax
mov eax, dword [ebp - 0x50]
fstp dword [eax + edx*4]
mov eax, dword [ebp - 0xe4]
lea edx, [eax + eax]
add edx, edx
sub edx, eax
add edx, edx
add edx, edx
sub edx, eax
lea eax, [eax + edx*8]
lea ecx, [eax + eax]
add ecx, ecx
sub ecx, eax
mov eax, 4
mov edx, dword [ebp - 0x44]
add esp, 0xffffffd8
mov word [edx + ecx*4], ax
lea edx, [ebp - 0xe4]
lea ecx, [ebp - 0xe0]
movsx eax, word [ebp - 0x1ae]
mov dword [esp + 0xc], eax
movsx eax, word [ebp - 0x1b8]
mov dword [esp + 0x10], eax
movsx eax, word [ebp - 0x1ba]
mov dword [esp + 0x14], eax
movsx eax, word [ebp - 0x1b6]
mov dword [esp + 0x18], eax
movsx eax, word [ebp - 0x1b4]
mov dword [esp + 0x1c], eax
movsx eax, word [ebp - 0x1b2]
mov dword [esp + 0x20], eax
mov eax, dword [ebp - 0x3c]
mov byte [esp + 0x24], 1
call fcn.00605de8
add esp, 0x28
fld qword [ebp - 0x68]
fabs
fcomp qword [0xa31e68]
fnstsw ax
sahf
jbe 0x60369b
mov edi, dword [ebp - 0xe0]
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, 1
mov esi, dword [ebp - 0x3c]
mov dword [ecx + esi + 0x4978], edx
mov byte [ecx + esi + 0x4b97], dl
mov eax, dword [ebp - 0xe0]
lea edx, [eax + eax]
add edx, edx
sub edx, eax
add edx, edx
add edx, edx
add edx, edx
lea eax, [edx + edx]
add eax, eax
add eax, eax
add eax, eax
add eax, eax
sub eax, edx
mov byte [eax + esi + 0x4b98], 6
mov eax, dword [ebp - 0xe0]
lea edx, [eax + eax]
add edx, edx
sub edx, eax
add edx, edx
add edx, edx
add edx, edx
lea ecx, [edx + edx]
add ecx, ecx
add ecx, ecx
add ecx, ecx
add ecx, ecx
sub ecx, edx
mov eax, 0xb
mov word [ecx + esi + 0x48b8], ax
mov ecx, dword [ebp - 0xe4]
dec ecx
mov eax, dword [ebp - 0xe0]
lea edx, [eax + eax]
add edx, edx
sub edx, eax
add edx, edx
add edx, edx
add edx, edx
lea eax, [edx + edx]
add eax, eax
add eax, eax
add eax, eax
add eax, eax
sub eax, edx
mov word [eax + esi + 0x48ba], cx
mov eax, dword [ebp - 0xe0]
lea edx, [eax + eax]
add edx, edx
sub edx, eax
add edx, edx
add edx, edx
add edx, edx
lea eax, [edx + edx]
add eax, eax
add eax, eax
add eax, eax
add eax, eax
sub eax, edx
fld qword [ebp - 0x68]
fstp dword [eax + esi + 0x48bc]
inc dword [ebp - 0xe0]
movsx edx, word [ebp - 0x1e0]
test edx, edx
jne 0x6036b5
movzx eax, word [ebp - 0x1de]
test eax, eax
je 0x602d91
xor cl, cl
movzx eax, word [ebp - 0x1e2]
test eax, eax
jne 0x6036d2
movzx eax, word [ebp - 0x1c2]
cmp eax, 0x22
jne 0x6036e0
mov cl, 1
jmp 0x6036e0
movzx eax, word [ebp - 0x1bc]
cmp eax, 0x22
jne 0x6036e0
mov cl, 1
mov eax, 1
test cl, cl
mov byte [ebp - 0x80], cl
jne 0x6037fd
mov dword [ebp - 0x90], edx
mov edx, dword [ebp - 0xe4]
lea esi, [edx + edx]
fild dword [ebp - 0x90]
fmul dword [0xa31eac]
add esi, esi
sub esi, edx
add esi, esi
add esi, esi
sub esi, edx
lea edi, [edx + esi*8]
lea eax, [edi + edi]
add eax, eax
sub eax, edi
mov ecx, dword [ebp - 0x50]
fstp dword [ecx + eax*4]
mov eax, dword [ebp - 0xe4]
lea edx, [eax + eax]
add edx, edx
sub edx, eax
add edx, edx
add edx, edx
sub edx, eax
lea eax, [eax + edx*8]
lea edx, [eax + eax]
add edx, edx
sub edx, eax
add edx, edx
add edx, edx
lea ecx, [ecx + edx]
fld dword [ecx]
fcomp dword [0xa31ec4]
fnstsw ax
sahf
jne 0x60377d
mov dword [ecx], 0x38d1b717
mov edx, dword [ebp - 0xe4]
lea eax, [edx + edx]
add eax, eax
sub eax, edx
add eax, eax
add eax, eax
sub eax, edx
lea ecx, [edx + eax*8]
lea edx, [ecx + ecx]
add edx, edx
sub edx, ecx
add edx, edx
add edx, edx
mov eax, 4
mov ecx, dword [ebp - 0x44]
mov word [ecx + edx], ax
movzx edx, word [ebp - 0x1e2]
test edx, edx
jne 0x6037cc
add esp, 0xffffffe8
lea edx, [ebp - 0xe4]
movsx ecx, word [ebp - 0x1c4]
movsx esi, word [ebp - 0x1c2]
movsx edi, word [ebp - 0x1c0]
mov eax, dword [ebp - 0x3c]
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], edi
mov byte [esp + 0x14], 1
call fcn.00605770
add esp, 0x18
jmp 0x6037fd
add esp, 0xffffffe8
lea edx, [ebp - 0xe4]
movsx esi, word [ebp - 0x1bc]
mov dword [esp + 0xc], esi
movsx edi, word [ebp - 0x1be]
mov eax, dword [ebp - 0x3c]
mov dword [esp + 0x10], edi
mov byte [esp + 0x14], 0
xor ecx, ecx
call fcn.00605770
add esp, 0x18
movzx eax, al
test eax, eax
je 0x602d91
movzx eax, word [ebp - 0x1de]
movzx edx, word [ebp - 0x1e0]
cmp eax, edx
je 0x602d91
mov ecx, dword [ebp - 0xe0]
lea eax, [ecx + ecx]
add eax, eax
sub eax, ecx
add eax, eax
add eax, eax
add eax, eax
lea esi, [eax + eax]
add esi, esi
add esi, esi
add esi, esi
add esi, esi
sub esi, eax
mov edx, dword [ebp - 0x3c]
lea ecx, [edx + 0x48b8]
mov eax, 1
mov dword [esi + edx + 0x4978], eax
mov byte [esi + edx + 0x4b97], al
mov esi, dword [ebp - 0xe0]
lea edi, [esi + esi]
add edi, edi
sub edi, esi
add edi, edi
add edi, edi
add edi, edi
lea esi, [edi + edi]
add esi, esi
add esi, esi
add esi, esi
add esi, esi
sub esi, edi
mov byte [esi + edx + 0x4b98], 4
mov edi, dword [ebp - 0xe0]
lea esi, [edi + edi]
add esi, esi
sub esi, edi
add esi, esi
add esi, esi
add esi, esi
lea edi, [esi + esi]
add edi, edi
add edi, edi
add edi, edi
add edi, edi
sub edi, esi
mov byte [edi + edx + 0x4b99], al
mov al, byte [ebp - 0x80]
test al, al
je 0x6038db
mov eax, dword [ebp - 0xe0]
lea edx, [eax + eax]
add edx, edx
sub edx, eax
add edx, edx
add edx, edx
add edx, edx
lea edi, [edx + edx]
add edi, edi
add edi, edi
add edi, edi
add edi, edi
sub edi, edx
mov esi, 4
mov word [edi + ecx], si
jmp 0x603936
mov eax, dword [ebp - 0xe0]
lea edx, [eax + eax]
add edx, edx
sub edx, eax
add edx, edx
add edx, edx
add edx, edx
lea edi, [edx + edx]
add edi, edi
add edi, edi
add edi, edi
add edi, edi
sub edi, edx
mov esi, 0xb
mov word [edi + ecx], si
mov edx, dword [ebp - 0xe4]
dec edx
mov ecx, dword [ebp - 0xe0]
lea eax, [ecx + ecx]
add eax, eax
sub eax, ecx
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 eax, dword [ebp - 0x3c]
mov word [ecx + eax + 0x48ba], dx
movsx edx, word [ebp - 0x1de]
movsx eax, word [ebp - 0x1e0]
sub edx, eax
mov dword [ebp - 0x90], edx
mov ecx, dword [ebp - 0xe0]
lea esi, [ecx + ecx]
fild dword [ebp - 0x90]
fmul dword [0xa31eac]
add esi, esi
sub esi, ecx
add esi, esi
add esi, esi
add esi, esi
lea edi, [esi + esi]
add edi, edi
add edi, edi
add edi, edi
add edi, edi
sub edi, esi
mov eax, dword [ebp - 0x3c]
fstp dword [edi + eax + 0x48bc]
inc dword [ebp - 0xe0]
jmp 0x602d91
fld dword [0xa31ec8]
mov dword [ebp - 0x90], ecx
fild dword [ebp - 0x90]
fmul st(1)
fld st(0)
mov dword [ebp - 0x90], edx
fild dword [ebp - 0x90]
fmulp st(3)
fsubrp st(2)
fxch st(1)
fstp qword [ebp - 0x68]
jmp 0x6034f0
test edx, edx
jle 0x60398d
mov eax, ecx
neg eax
cmp edx, eax
jge 0x6039cd
xor edx, edx
jmp 0x60398d
xor ecx, ecx
jmp 0x6034c5
mov eax, dword [ebp - 0x3c]
mov dword [eax + 0xa5c0], 2
mov dword [eax + 0x5c0], 1
mov dword [eax + 0x5cc], 0x3dcccccd
mov dword [eax + 0x5c4], 0x3f4ccccd
jmp 0x603373
movsx edx, word [ebp - 0x1e8]
test edx, edx
jg 0x602b2a
jmp 0x602d81
movsx edx, word [ebp - 0x1c6]
neg edx
mov esi, dword [ebp - 0xe4]
mov dword [ebp - 0x90], edx
lea edi, [esi + esi]
add edi, edi
fild dword [ebp - 0x90]
fmul dword [0xa31ec8]
sub edi, esi
add edi, edi
add edi, edi
sub edi, esi
lea eax, [esi + edi*8]
lea edx, [eax + eax]
add edx, edx
sub edx, eax
mov ecx, dword [ebp - 0x50]
fstp dword [ecx + edx*4]
mov eax, dword [ebp - 0xe4]
lea edx, [eax + eax]
add edx, edx
sub edx, eax
add edx, edx
add edx, edx
sub edx, eax
lea eax, [eax + edx*8]
lea edx, [eax + eax]
add edx, edx
sub edx, eax
add edx, edx
add edx, edx
lea ecx, [ecx + edx]
fld dword [ecx]
fcomp dword [0xa31ec4]
fnstsw ax
sahf
jne 0x603aae
mov dword [ecx], 0x38d1b717
mov edx, dword [ebp - 0xe4]
lea eax, [edx + edx]
add eax, eax
sub eax, edx
add eax, eax
add eax, eax
sub eax, edx
lea ecx, [edx + eax*8]
lea edx, [ecx + ecx]
add edx, edx
sub edx, ecx
add edx, edx
add edx, edx
mov eax, 2
mov ecx, dword [ebp - 0x44]
mov word [ecx + edx], ax
movzx edx, word [ebp - 0x1ca]
test edx, edx
jne 0x603afd
add esp, 0xffffffe8
lea edx, [ebp - 0xe4]
movsx ecx, word [ebp - 0x1c4]
movsx esi, word [ebp - 0x1c2]
movsx edi, word [ebp - 0x1c0]
mov eax, dword [ebp - 0x3c]
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], edi
mov byte [esp + 0x14], 1
call fcn.00605770
add esp, 0x18
jmp 0x603b2e
add esp, 0xffffffe8
lea edx, [ebp - 0xe4]
movsx esi, word [ebp - 0x1bc]
mov dword [esp + 0xc], esi
movsx edi, word [ebp - 0x1be]
mov eax, dword [ebp - 0x3c]
mov dword [esp + 0x10], edi
mov byte [esp + 0x14], 0
xor ecx, ecx
call fcn.00605770
add esp, 0x18
movzx eax, al
test eax, eax
je 0x602b1b
movzx eax, word [ebp - 0x1c6]
movzx edx, word [ebp - 0x1c8]
cmp eax, edx
je 0x602b1b
mov edx, dword [ebp - 0xe0]
lea ecx, [edx + edx]
add ecx, ecx
sub ecx, edx
add ecx, ecx
add ecx, ecx
add ecx, ecx
lea edi, [ecx + ecx]
add edi, edi
add edi, edi
add edi, edi
add edi, edi
sub edi, ecx
mov eax, 1
mov esi, dword [ebp - 0x3c]
mov dword [edi + esi + 0x4978], eax
mov byte [edi + esi + 0x4b97], al
mov edx, dword [ebp - 0xe0]
lea ecx, [edx + edx]
add ecx, ecx
sub ecx, edx
add ecx, ecx
add ecx, ecx
add ecx, ecx
lea edx, [ecx + ecx]
add edx, edx
add edx, edx
add edx, edx
add edx, edx
sub edx, ecx
mov byte [edx + esi + 0x4b98], 4
mov edx, dword [ebp - 0xe0]
lea ecx, [edx + edx]
add ecx, ecx
sub ecx, edx
add ecx, ecx
add ecx, ecx
add ecx, ecx
lea edx, [ecx + ecx]
add edx, edx
add edx, edx
add edx, edx
add edx, edx
sub edx, ecx
mov byte [edx + esi + 0x4b99], al
mov eax, dword [ebp - 0xe0]
lea edx, [eax + eax]
add edx, edx
sub edx, eax
add edx, edx
add edx, edx
add edx, edx
lea ecx, [edx + edx]
add ecx, ecx
add ecx, ecx
add ecx, ecx
add ecx, ecx
sub ecx, edx
mov eax, 0xb
mov word [ecx + esi + 0x48b8], ax
mov ecx, dword [ebp - 0xe4]
dec ecx
mov eax, dword [ebp - 0xe0]
lea edx, [eax + eax]
add edx, edx
sub edx, eax
add edx, edx
add edx, edx
add edx, edx
lea eax, [edx + edx]
add eax, eax
add eax, eax
add eax, eax
add eax, eax
sub eax, edx
mov word [eax + esi + 0x48ba], cx
movsx edx, word [ebp - 0x1c6]
movsx eax, word [ebp - 0x1c8]
sub edx, eax
mov dword [ebp - 0x90], edx
mov eax, dword [ebp - 0xe0]
lea edx, [eax + eax]
fild dword [ebp - 0x90]
fmul dword [0xa31ec8]
add edx, edx
sub edx, eax
add edx, edx
add edx, edx
add edx, edx
lea eax, [edx + edx]
add eax, eax
add eax, eax
add eax, eax
add eax, eax
sub eax, edx
fstp dword [eax + esi + 0x48bc]
inc dword [ebp - 0xe0]
jmp 0x602b1b
movzx edx, word [ebp - 0x1c8]
jmp 0x602b10
fld dword [0xa31ed8]
jmp 0x6026b4
xor eax, eax
mov ecx, dword [ebp - 0x40]
and dword [ebp - 0x4c], 0xff000000
test byte [ecx + 0x44], 1
jne 0x603db5
mov esi, ecx
mov dl, byte [esi + 0x65]
test dl, dl
jle 0x603e01
mov edi, ecx
mov esi, dword [edi + 0x58]
mov edx, dword [edi + 0x5c]
sub edx, esi
mov ecx, dword [ebp - 0x4c]
and ecx, 0xffff00ff
or ecx, 0x300
mov dword [ebp - 0x4c], ecx
mov ecx, dword [edi + 0x60]
test ecx, ecx
jle 0x603d58
mov edi, dword [ebp - 0x20]
mov eax, dword [ebp - 0x54]
fld dword [edi + 0x16974]
fild dword [eax + 0x4c]
fdivr st(1)
mov dword [ebp - 0x90], ecx
fild dword [ebp - 0x90]
fxch st(2)
fmul qword [0xa31e68]
fmulp st(2)
fmulp st(1)
fstp qword [ebp - 0x98]
mov edi, dword [ebp - 0x98]
mov ecx, dword [ebp - 0x94]
mov dword [ebp - 0x80], ecx
shr ecx, 0x14
and ecx, 0x7ff
cmp ecx, 0x3fe
jle 0x603d56
mov dword [ebp - 0x44], edx
mov edx, dword [ebp - 0x80]
mov eax, edx
shld eax, edi, 0xb
or eax, 0x80000000
neg ecx
add ecx, 0x41e
shr eax, cl
test edx, edx
mov edx, dword [ebp - 0x44]
jge 0x603d58
neg eax
jmp 0x603d58
xor eax, eax
cmp edx, 4
jle 0x603e01
mov ecx, 0x3f800000
mov edi, dword [ebp - 0x34]
cmp eax, esi
mov dword [ebp - 0xcc], ecx
mov dword [edi + 0x1b8], esi
mov dword [edi + 0x1bc], edx
mov edx, dword [ebp - 0x4c]
mov dword [edi + 0x1c0], 0
mov dword [edi + 0x1c4], edx
mov dword [edi + 0x1c8], 0x3f800000
mov dword [edi + 0x1cc], eax
jle 0x603daa
mov eax, edi
mov dword [eax + 0x1cc], esi
mov eax, edi
mov byte [eax + 0x1c6], 1
jmp 0x603e01
mov dword [ebp - 0xcc], edx
mov eax, dword [ebp - 0x4c]
and eax, 0xffff00ff
or eax, 0x100
xor edx, edx
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0x4c], eax
mov dword [ecx + 0x1b8], edx
mov dword [ecx + 0x1bc], edx
mov dword [ecx + 0x1c0], edx
mov dword [ecx + 0x1c4], eax
mov dword [ecx + 0x1c8], 0x3f800000
mov dword [ecx + 0x1cc], edx
mov eax, ecx
mov byte [eax + 0x1c6], 1
lea ecx, [ebp - 0x16c]
call fcn.004e4b6c
mov dword [ebp - 4], 0x1a
lea ecx, [ebp - 0x148]
call fcn.004e4b6c
mov dword [ebp - 4], 0x1b
add esp, 0xfffffff8
mov ecx, esp
mov eax, dword [ebp - 0x54]
lea edx, [eax + 0x94]
push edx
call fcn.004061ac
lea ecx, [ebp - 0x16c]
mov eax, dword [ebp - 0x38]
mov word [esp + 4], ax
call fcn.004e83f4
lea ecx, [ebp - 0x16c]
call fcn.004e2ff4
lea ecx, [ebp - 0xc0]
mov eax, dword [ebp - 0x54]
add eax, 4
push eax
call fcn.004061ac
mov dword [ebp - 4], 0x1c
lea ecx, [ebp - 0x128]
lea eax, [ebp - 0xc0]
push 0
push eax
call fcn.004e2e90
mov dword [ebp - 4], 0x1d
lea ecx, [ebp - 0x16c]
lea eax, [ebp - 0x128]
push eax
call fcn.004e3380
mov dword [ebp - 4], 0x1c
lea eax, [ebp - 0x128]
mov dword [ebp - 0x410], eax
mov dword [ebp - 4], 0x1e
mov dword [ebp - 4], 0x1c
mov eax, dword [ebp - 0x124]
mov edx, dword [ebp - 0x120]
cmp eax, edx
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x44], edx
je 0x603f1e
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x408], eax
mov dword [ebp - 4], 0x1f
mov dword [ebp - 4], 0x20
mov dword [ebp - 4], 0x1f
lea ecx, [eax + 0xc]
call fcn.00406220
mov eax, dword [ebp - 0x50]
lea ecx, [eax + 8]
call fcn.00406220
mov eax, dword [ebp - 0x50]
add eax, 0x10
mov edx, dword [ebp - 0x44]
mov dword [ebp - 0x50], eax
cmp eax, edx
jne 0x603ed4
mov eax, dword [ebp - 0x124]
mov dword [ebp - 0x50], eax
push eax
call fcn.00888fb0
pop ecx
xor eax, eax
mov dword [ebp - 0x124], eax
mov dword [ebp - 0x120], eax
mov dword [ebp - 0x11c], eax
mov dword [ebp - 4], 0x1b
lea ecx, [ebp - 0xc0]
call fcn.00406220
push 0
call fcn.00410b40
mov dword [ebp - 0x44], eax
add esp, 4
call fcn.00410b5c
mov ecx, eax
lea eax, [ebp - 0x1a0]
lea edi, [ebp - 0x110]
mov esi, 1
push esi
mov edx, dword [ebp - 0x70]
push 0
push edx
push esi
mov edx, dword [ebp - 0x74]
push edi
push ecx
mov ecx, dword [ebp - 0x44]
push ecx
push edx
mov ecx, dword [ebp - 0x34]
push eax
lea eax, [ebp - 0x16c]
push eax
call fcn.00525aac
mov esi, eax
test esi, esi
je 0x60403b
mov edx, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x28]
push edx
call fcn.0057ceb4
push eax
mov ecx, dword [ebp - 0x28]
call fcn.0057cf20
cmp esi, 4
je 0x604f01
mov dword [ebp - 4], 0x1a
lea eax, [ebp - 0x148]
mov dword [ebp - 0x3b0], eax
mov dword [ebp - 4], 0x33
mov dword [ebp - 4], 0x1a
mov eax, dword [ebp - 0x144]
mov edx, dword [ebp - 0x140]
cmp eax, edx
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x34], edx
je 0x604e45
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x3a8], eax
mov dword [ebp - 4], 0x34
mov dword [ebp - 4], 0x35
mov dword [ebp - 4], 0x34
lea ecx, [eax + 0xc]
call fcn.00406220
mov eax, dword [ebp - 0x3c]
lea ecx, [eax + 8]
call fcn.00406220
mov eax, dword [ebp - 0x3c]
add eax, 0x10
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0x3c], eax
cmp eax, edx
jne 0x603ff5
jmp 0x604e3c
xor eax, eax
lea ecx, [ebp - 0xbc]
mov dword [ebp - 0x70], eax
call fcn.0041cbf8
mov dword [ebp - 4], 0x21
lea ecx, [ebp - 0x16c]
lea eax, [ebp - 0x138]
push eax
call fcn.004e4df4
mov dword [ebp - 4], 0x22
lea ecx, [ebp - 0x138]
lea eax, [ebp - 0xb8]
push 0
push eax
call fcn.004e5490
mov dword [ebp - 4], 0x23
lea eax, [ebp - 0xbc]
push dword [ebp - 0xb8]
push 0xa0947c
push eax
call fcn.00406768
add esp, 0xc
mov dword [ebp - 4], 0x22
lea ecx, [ebp - 0xb8]
call fcn.00406220
mov dword [ebp - 4], 0x21
lea eax, [ebp - 0x138]
mov dword [ebp - 0x400], eax
mov dword [ebp - 4], 0x24
mov dword [ebp - 4], 0x21
mov eax, dword [ebp - 0x134]
mov edx, dword [ebp - 0x130]
cmp eax, edx
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x44], edx
je 0x604133
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x3f8], 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 - 0x50]
lea ecx, [eax + 8]
call fcn.00406220
mov eax, dword [ebp - 0x50]
add eax, 0x10
mov edx, dword [ebp - 0x44]
mov dword [ebp - 0x50], eax
cmp eax, edx
jne 0x6040e9
mov eax, dword [ebp - 0x134]
mov dword [ebp - 0x50], eax
push eax
call fcn.00888fb0
pop ecx
xor eax, eax
mov edx, dword [ebp - 0xbc]
add esp, 0xffffffec
mov dword [ebp - 0x134], eax
lea ecx, [ebp - 0x110]
mov dword [ebp - 0x130], eax
mov dword [ebp - 0x12c], eax
mov dword [esp], edx
fld dword [ebp - 0x24]
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 0x60418d
mov al, 1
mov byte [ebp - 0x78], al
mov al, byte [ebp - 0x78]
test al, al
mov byte [ebp - 0x44], al
jne 0x60456d
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax + 0x4c]
mov edx, dword [ebp - 0x40]
fld qword [0xa31e80]
fild dword [edx + 0x50]
fdiv qword [ecx + 0x760]
fadd st(1)
fstp qword [ebp - 0x98]
mov eax, dword [ebp - 0x98]
mov edx, dword [ebp - 0x94]
mov ecx, edx
shr ecx, 0x14
and ecx, 0x7ff
cmp ecx, 0x3fe
jle 0x6041f8
mov edi, edx
neg ecx
add ecx, 0x41e
shld edi, eax, 0xb
or edi, 0x80000000
shr edi, cl
test edx, edx
jge 0x6041fa
neg edi
jmp 0x6041fa
xor edi, edi
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x34]
mov dword [edx + 0x50], edi
mov ecx, dword [eax + 0x4c]
fild dword [edx + 0x54]
fdiv qword [ecx + 0x760]
faddp st(1)
fstp qword [ebp - 0x98]
mov esi, dword [ebp - 0x98]
mov edx, dword [ebp - 0x94]
mov ecx, edx
shr ecx, 0x14
and ecx, 0x7ff
cmp ecx, 0x3fe
jle 0x604253
mov eax, edx
neg ecx
add ecx, 0x41e
shld eax, esi, 0xb
or eax, 0x80000000
shr eax, cl
test edx, edx
jge 0x604255
neg eax
jmp 0x604255
xor eax, eax
mov esi, dword [ebp - 0x40]
mov dword [esi + 0x54], eax
mov eax, dword [ebp - 0x34]
mov edx, dword [eax + 0x4c]
mov dword [eax + 0x290], edi
mov esi, dword [esi + 0x54]
mov dword [ebp - 0x44], edx
sub esi, dword [edx + 0x76c]
mov dword [eax + 0x294], esi
mov dword [ebp - 0x90], edi
fild dword [ebp - 0x90]
fdiv qword [edx + 0x760]
fstp qword [ebp - 0x98]
mov ecx, dword [ebp - 0x98]
mov edx, dword [ebp - 0x94]
mov dword [ebp - 0x80], ecx
mov ecx, edx
shr ecx, 0x14
and ecx, 0x7ff
cmp ecx, 0x3fe
jle 0x6042d3
mov eax, edx
mov edi, dword [ebp - 0x80]
neg ecx
shld eax, edi, 0xb
or eax, 0x80000000
add ecx, 0x41e
shr eax, cl
test edx, edx
jge 0x6042d5
neg eax
jmp 0x6042d5
xor eax, eax
mov edx, dword [ebp - 0x34]
mov dword [edx + 0x290], eax
mov dword [ebp - 0x90], esi
mov eax, dword [ebp - 0x44]
fild dword [ebp - 0x90]
fdiv qword [eax + 0x760]
fstp qword [ebp - 0x98]
mov edx, dword [ebp - 0x98]
mov esi, dword [ebp - 0x94]
mov ecx, esi
shr ecx, 0x14
and ecx, 0x7ff
cmp ecx, 0x3fe
jle 0x604335
mov eax, esi
neg ecx
add ecx, 0x41e
shld eax, edx, 0xb
or eax, 0x80000000
shr eax, cl
test esi, esi
jge 0x604337
neg eax
jmp 0x604337
xor eax, eax
mov ecx, dword [ebp - 0x34]
mov dword [ecx + 0x294], eax
xor eax, eax
push eax
push eax
push 1
call fcn.0052da98
mov esi, dword [ebp - 0x40]
mov al, byte [esi + 0x4a]
mov ecx, dword [ebp - 0x34]
mov byte [ecx + 0x29a], al
mov dl, byte [esi + 0x4b]
mov byte [ecx + 0x29b], dl
mov al, byte [esi + 0x4d]
mov byte [ecx + 0x298], al
mov al, byte [esi + 0x4e]
mov byte [ecx + 0x299], al
mov al, byte [esi + 0x45]
mov byte [ecx + 0x2a0], al
call fcn.00524364
mov edx, esi
movsx eax, byte [edx + 0x48]
movsx ecx, byte [edx + 0x47]
mov dword [ebp - 0x44], eax
mov esi, dword [ebp - 0x60]
test esi, esi
mov dword [ebp - 0x50], ecx
je 0x604409
mov ecx, esi
movsx eax, byte [ecx + 0x44]
movsx edx, byte [ecx + 0x45]
add dword [ebp - 0x44], eax
movsx edi, byte [ecx + 0x46]
add dword [ebp - 0x50], edx
test edi, edi
jle 0x6043e8
mov esi, 1
lea ecx, [esi + esi*4]
mov edx, dword [ebp - 0x28]
lea edx, [edx + ecx*4 + 0x8020]
movzx eax, word [edx + 6]
cmp eax, 1
je 0x604506
mov eax, dword [ebp - 0x28]
cmp di, word [eax + ecx*4 + 0x8024]
je 0x6044fb
inc esi
cmp esi, 0x40
jl 0x6043b7
mov eax, dword [ebp - 0x40]
test byte [eax + 0x44], 8
jne 0x604409
mov esi, dword [ebp - 0x60]
mov al, byte [esi + 0x4a]
mov ecx, dword [ebp - 0x34]
mov byte [ecx + 0x299], al
mov dl, byte [esi + 0x49]
mov byte [ecx + 0x298], dl
mov eax, dword [ebp - 0x44]
cmp eax, 0xffffffa0
jge 0x604419
mov eax, 0xffffffa0
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x50]
cmp eax, 0xffffff9c
jge 0x60442b
mov eax, 0xffffff9c
mov dword [ebp - 0x50], eax
jmp 0x604438
cmp eax, 0x64
jle 0x604438
mov eax, 0x64
mov dword [ebp - 0x50], eax
fld qword [0xa31e98]
add esp, 0xfffffff0
mov eax, dword [ebp - 0x44]
fstp qword [esp]
mov dword [ebp - 0x90], eax
fild dword [ebp - 0x90]
fmul qword [0xa31e78]
fstp qword [esp + 8]
call fcn.0088b9f8
add esp, 0x10
mov edx, dword [ebp - 0x34]
fstp dword [edx + 0x2a4]
mov eax, dword [ebp - 0x50]
add esp, 0xfffffff0
mov dword [ebp - 0x90], eax
mov esi, dword [ebp - 0x40]
fild dword [ebp - 0x90]
fmul dword [0xa31ea0]
fadd dword [0xa31ed0]
fstp dword [edx + 0x2a8]
fld qword [0xa31e98]
movsx ecx, byte [esi + 0x94]
movsx edi, byte [esi + 0x46]
fstp qword [esp]
mov dword [ebp - 0x90], ecx
fild dword [ebp - 0x90]
fmul qword [0xa31e90]
mov dword [ebp - 0x90], edi
fild dword [ebp - 0x90]
fmul qword [0xa31e88]
faddp st(1)
fstp qword [esp + 8]
call fcn.0088b9f8
add esp, 0x10
mov eax, dword [ebp - 0x34]
fstp dword [eax + 0x2ac]
mov dword [ebp - 4], 0x1b
lea ecx, [ebp - 0xbc]
call fcn.00406220
jmp 0x603fba
mov eax, dword [ebp - 0x3c]
mov dword [eax + 0x14], esi
jmp 0x6043e8
mov eax, dword [ebp - 0x28]
movzx eax, word [eax + ecx*4 + 0x8024]
cmp eax, 1
jne 0x6043d1
mov eax, dword [ebp - 0x28]
mov al, byte [eax + ecx*4 + 0x8028]
test al, al
je 0x6043d1
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + ecx*4 + 0x802c]
cmp eax, 0xa
jne 0x6043d1
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + ecx*4 + 0x8020]
test eax, eax
jne 0x6043d1
mov eax, dword [ebp - 0x28]
mov word [eax + ecx*4 + 0x8024], di
push esi
push 0xa32db8
push edx
call fcn.00406768
add esp, 0xc
jmp 0x6044fb
mov dword [ebp - 4], 0x1b
lea ecx, [ebp - 0xbc]
call fcn.00406220
mov dword [ebp - 4], 0x1a
lea eax, [ebp - 0x148]
mov dword [ebp - 0x3f0], eax
mov dword [ebp - 4], 0x27
mov dword [ebp - 4], 0x1a
mov eax, dword [ebp - 0x144]
mov edx, dword [ebp - 0x140]
cmp eax, edx
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x1c], edx
je 0x604600
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x3e8], eax
mov dword [ebp - 4], 0x28
mov dword [ebp - 4], 0x29
mov dword [ebp - 4], 0x28
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 - 0x1c]
mov dword [ebp - 0x34], eax
cmp eax, edx
jne 0x6045b6
mov eax, dword [ebp - 0x144]
mov dword [ebp - 0x34], eax
push eax
call fcn.00888fb0
pop ecx
xor eax, eax
mov dword [ebp - 0x144], eax
mov dword [ebp - 0x140], eax
mov dword [ebp - 0x13c], eax
mov dword [ebp - 4], 0x19
lea eax, [ebp - 0x16c]
mov dword [ebp - 0x3e0], eax
mov dword [ebp - 4], 0x2a
mov dword [ebp - 4], 0x19
mov eax, dword [ebp - 0x168]
mov edx, dword [ebp - 0x164]
cmp eax, edx
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x1c], edx
je 0x60469c
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x3d8], eax
mov dword [ebp - 4], 0x2b
mov dword [ebp - 4], 0x2c
mov dword [ebp - 4], 0x2b
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 - 0x1c]
mov dword [ebp - 0x34], eax
cmp eax, edx
jne 0x604652
mov eax, dword [ebp - 0x168]
mov dword [ebp - 0x34], 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 al, byte [ebp - 0x44]
test al, al
je 0x604787
mov eax, dword [ebx + 8]
mov ecx, dword [ebp - 0x7c]
push eax
call fcn.00566930
mov dword [ebp - 4], 4
lea ecx, [ebp - 0x110]
call fcn.00565c00
mov dword [ebp - 4], 2
mov dword [ebp - 0x180], 0x9f05c8
mov al, byte [ebp - 0x170]
test al, al
je 0x604706
lea ecx, [ebp - 0x180]
call fcn.0040acc4
mov dword [ebp - 4], 1
lea eax, [ebp - 0x1a0]
mov dword [ebp - 0x390], eax
mov dword [ebp - 4], 0x39
mov dword [ebp - 4], 1
mov eax, dword [ebp - 0x19c]
mov edx, dword [ebp - 0x198]
cmp eax, edx
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], edx
je 0x604c4a
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x388], eax
mov dword [ebp - 4], 0x3a
mov dword [ebp - 4], 0x3b
mov dword [ebp - 4], 0x3a
lea ecx, [eax + 0xc]
call fcn.00406220
mov eax, dword [ebp - 0x20]
lea ecx, [eax + 8]
call fcn.00406220
mov eax, dword [ebp - 0x20]
add eax, 0x10
mov edx, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
cmp eax, edx
jne 0x604741
jmp 0x604c41
lea eax, [ebp - 0xb4]
mov ecx, dword [ebx + 0xc]
push eax
call fcn.004e4df4
mov dword [ebp - 4], 0x44
lea ecx, [ebp - 0xb4]
lea eax, [ebp - 0x15c]
push eax
call fcn.004e5be4
mov dword [ebp - 4], 0x45
lea ecx, [ebp - 0x15c]
lea eax, [ebp - 0xa4]
push eax
call fcn.004e4108
mov dword [ebp - 4], 0x46
mov eax, dword [ebp - 0x28]
lea ecx, [eax + 0x9040]
lea edx, [ebp - 0xa4]
push edx
call fcn.004061ec
mov dword [ebp - 4], 0x45
lea ecx, [ebp - 0xa4]
call fcn.00406220
mov dword [ebp - 4], 0x44
lea eax, [ebp - 0x15c]
mov dword [ebp - 0x360], eax
mov dword [ebp - 4], 0x47
mov dword [ebp - 4], 0x44
mov eax, dword [ebp - 0x158]
mov edx, dword [ebp - 0x154]
cmp eax, edx
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x1c], edx
je 0x604877
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x358], eax
mov dword [ebp - 4], 0x48
mov dword [ebp - 4], 0x49
mov dword [ebp - 4], 0x48
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 - 0x1c]
mov dword [ebp - 0x34], eax
cmp eax, edx
jne 0x60482d
mov eax, dword [ebp - 0x158]
mov dword [ebp - 0x34], eax
push eax
call fcn.00888fb0
pop ecx
xor eax, eax
mov dword [ebp - 0x158], eax
mov dword [ebp - 0x154], eax
mov dword [ebp - 0x150], eax
mov dword [ebp - 4], 0x19
lea eax, [ebp - 0xb4]
mov dword [ebp - 0x350], eax
mov dword [ebp - 4], 0x4a
mov dword [ebp - 4], 0x19
mov eax, dword [ebp - 0xb0]
mov edx, dword [ebp - 0xac]
cmp eax, edx
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x1c], edx
je 0x604913
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x348], 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 - 0x1c]
mov dword [ebp - 0x34], eax
cmp eax, edx
jne 0x6048c9
mov eax, dword [ebp - 0xb0]
mov dword [ebp - 0x34], eax
push eax
call fcn.00888fb0
pop ecx
xor eax, eax
mov edx, dword [ebp - 0x28]
mov ecx, dword [edx + 0x8000]
mov dword [ebp - 0xb0], eax
test ecx, ecx
mov dword [ebp - 0xac], eax
mov dword [ebp - 0xa8], eax
jg 0x604991
mov eax, dword [ebp - 0x20]
mov ecx, edx
push dword [eax + 0x16cf8]
push dword [eax + 0x16974]
push 0xffffffffffffffff
call fcn.0056f2e0
mov dword [ebp - 0x20], eax
lea ecx, [ebp - 0xa0]
push 0xa32dcc
call fcn.004061ac
mov dword [ebp - 4], 0x4d
mov ecx, dword [ebp - 0x20]
add ecx, 8
lea eax, [ebp - 0xa0]
push eax
call fcn.004061ec
mov dword [ebp - 4], 0x19
lea ecx, [ebp - 0xa0]
call fcn.00406220
mov ecx, dword [ebp - 0x28]
call fcn.0057c128
mov dword [ebp - 4], 4
lea ecx, [ebp - 0x110]
call fcn.00565c00
mov dword [ebp - 4], 2
mov dword [ebp - 0x180], 0x9f05c8
mov al, byte [ebp - 0x170]
test al, al
je 0x6049d1
lea ecx, [ebp - 0x180]
call fcn.0040acc4
mov dword [ebp - 4], 1
lea eax, [ebp - 0x1a0]
mov dword [ebp - 0x340], eax
mov dword [ebp - 4], 0x4e
mov dword [ebp - 4], 1
mov eax, dword [ebp - 0x19c]
mov edx, dword [ebp - 0x198]
cmp eax, edx
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], edx
je 0x604a52
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x338], eax
mov dword [ebp - 4], 0x4f
mov dword [ebp - 4], 0x50
mov dword [ebp - 4], 0x4f
lea ecx, [eax + 0xc]
call fcn.00406220
mov eax, dword [ebp - 0x20]
lea ecx, [eax + 8]
call fcn.00406220
mov eax, dword [ebp - 0x20]
add eax, 0x10
mov edx, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
cmp eax, edx
jne 0x604a08
mov eax, dword [ebp - 0x19c]
mov dword [ebp - 0x20], 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
mov dword [ebp - 4], 0
lea eax, [ebp - 0x2e0]
mov dword [ebp - 0x330], eax
mov dword [ebp - 4], 0x51
mov dword [ebp - 4], 0x52
mov dword [ebp - 4], 0x53
mov dword [ebp - 4], 0x52
mov eax, dword [ebp - 0x254]
test eax, eax
je 0x604ab7
mov dword [ebp - 0x254], 0
push eax
call fcn.00888fb0
pop ecx
mov ecx, dword [ebp - 0x250]
test ecx, ecx
je 0x604ad4
mov dword [ebp - 0x250], 0
je 0x604ad4
push 1
call fcn.005fddfc
mov eax, dword [ebp - 0x25c]
test eax, eax
je 0x604aef
mov dword [ebp - 0x25c], 0
push eax
call fcn.00888fb0
pop ecx
mov ecx, dword [ebp - 0x258]
test ecx, ecx
je 0x604b0c
mov dword [ebp - 0x258], 0
je 0x604b0c
push 1
call fcn.005fdda8
mov eax, dword [ebp - 0x264]
test eax, eax
je 0x604b27
mov dword [ebp - 0x264], 0
push eax
call fcn.00888fb0
pop ecx
mov ecx, dword [ebp - 0x260]
test ecx, ecx
je 0x604b44
mov dword [ebp - 0x260], 0
je 0x604b44
push 1
call fcn.005fdd54
mov dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x314]
mov dword [ebp - 0x328], eax
mov dword [ebp - 4], 0x54
mov dword [ebp - 4], 0x55
mov dword [ebp - fcn.0043c40c], 0x9f6a40
lea ecx, [ebp - 0x314]
call fcn.0043c3e0
mov dword [ebp - 4], 0x54
lea eax, [ebp - 0x2f4]
mov dword [ebp - 0x320], eax
mov dword [ebp - 4], 0x56
mov dword [ebp - 4], 0x54
mov eax, dword [ebp - 0x2f0]
mov edx, dword [ebp - 0x2ec]
cmp eax, edx
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], edx
je 0x604bfb
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x318], 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 - 0x20]
lea ecx, [eax + 8]
call fcn.00406220
mov eax, dword [ebp - 0x20]
add eax, 0x10
mov edx, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
cmp eax, edx
jne 0x604bb1
mov eax, dword [ebp - 0x2f0]
mov dword [ebp - 0x20], eax
push eax
call fcn.00888fb0
pop ecx
xor edx, edx
xor eax, eax
mov edi, dword [ebp - 0x88]
mov dword [ebp - 0x2f0], edx
mov esi, dword [ebp - 0x84]
mov dword [ebp - 0x2ec], edx
mov dword [ebp - 0x2e8], edx
mov dword [ebp - case.0x4e640c.73], 0x9f6a18
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 8
mov eax, dword [ebp - 0x19c]
mov dword [ebp - 0x20], 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
mov dword [ebp - 4], 0
lea eax, [ebp - 0x2e0]
mov dword [ebp - 0x380], eax
mov dword [ebp - 4], 0x3c
mov dword [ebp - 4], 0x3d
mov dword [ebp - 4], 0x3e
mov dword [ebp - 4], 0x3d
mov eax, dword [ebp - 0x254]
test eax, eax
je 0x604caf
mov dword [ebp - 0x254], 0
push eax
call fcn.00888fb0
pop ecx
mov ecx, dword [ebp - 0x250]
test ecx, ecx
je 0x604ccc
mov dword [ebp - 0x250], 0
je 0x604ccc
push 1
call fcn.005fddfc
mov eax, dword [ebp - 0x25c]
test eax, eax
je 0x604ce7
mov dword [ebp - 0x25c], 0
push eax
call fcn.00888fb0
pop ecx
mov ecx, dword [ebp - 0x258]
test ecx, ecx
je 0x604d04
mov dword [ebp - 0x258], 0
je 0x604d04
push 1
call fcn.005fdda8
mov eax, dword [ebp - 0x264]
test eax, eax
je 0x604d1f
mov dword [ebp - 0x264], 0
push eax
call fcn.00888fb0
pop ecx
mov ecx, dword [ebp - 0x260]
test ecx, ecx
je 0x604d3c
mov dword [ebp - 0x260], 0
je 0x604d3c
push 1
call fcn.005fdd54
mov dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x314]
mov dword [ebp - 0x378], eax
mov dword [ebp - 4], 0x3f
mov dword [ebp - 4], 0x40
mov dword [ebp - fcn.0043c40c], 0x9f6a40
lea ecx, [ebp - 0x314]
call fcn.0043c3e0
mov dword [ebp - 4], 0x3f
lea eax, [ebp - 0x2f4]
mov dword [ebp - 0x370], eax
mov dword [ebp - 4], 0x41
mov dword [ebp - 4], 0x3f
mov eax, dword [ebp - 0x2f0]
mov edx, dword [ebp - 0x2ec]
cmp eax, edx
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], edx
je 0x604df3
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x368], eax
mov dword [ebp - 4], 0x42
mov dword [ebp - 4], 0x43
mov dword [ebp - 4], 0x42
lea ecx, [eax + 0xc]
call fcn.00406220
mov eax, dword [ebp - 0x20]
lea ecx, [eax + 8]
call fcn.00406220
mov eax, dword [ebp - 0x20]
add eax, 0x10
mov edx, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
cmp eax, edx
jne 0x604da9
mov eax, dword [ebp - 0x2f0]
mov dword [ebp - 0x20], eax
push eax
call fcn.00888fb0
pop ecx
xor edx, edx
mov eax, 1
mov edi, dword [ebp - 0x88]
mov dword [ebp - 0x2f0], edx
mov esi, dword [ebp - 0x84]
mov dword [ebp - 0x2ec], edx
mov dword [ebp - 0x2e8], edx
mov dword [ebp - case.0x4e640c.73], 0x9f6a18
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 8
mov eax, dword [ebp - 0x144]
mov dword [ebp - 0x3c], eax
push eax
call fcn.00888fb0
pop ecx
xor eax, eax
mov dword [ebp - 0x144], eax
mov dword [ebp - 0x140], eax
mov dword [ebp - 0x13c], eax
mov dword [ebp - 4], 0x19
lea eax, [ebp - 0x16c]
mov dword [ebp - 0x3a0], eax
mov dword [ebp - 4], 0x36
mov dword [ebp - 4], 0x19
mov eax, dword [ebp - 0x168]
mov edx, dword [ebp - 0x164]
cmp eax, edx
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x34], edx
je 0x604ee1
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x398], eax
mov dword [ebp - 4], 0x37
mov dword [ebp - 4], 0x38
mov dword [ebp - 4], 0x37
lea ecx, [eax + 0xc]
call fcn.00406220
mov eax, dword [ebp - 0x3c]
lea ecx, [eax + 8]
call fcn.00406220
mov eax, dword [ebp - 0x3c]
add eax, 0x10
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0x3c], eax
cmp eax, edx
jne 0x604e97
mov eax, dword [ebp - 0x168]
mov dword [ebp - 0x3c], 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
jmp 0x602390
mov dword [ebp - 4], 0x1a
lea eax, [ebp - 0x148]
mov dword [ebp - 0x3d0], eax
mov dword [ebp - 4], 0x2d
mov dword [ebp - 4], 0x1a
mov eax, dword [ebp - 0x144]
mov edx, dword [ebp - 0x140]
cmp eax, edx
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x1c], edx
je 0x604f82
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x3c8], eax
mov dword [ebp - 4], 0x2e
mov dword [ebp - 4], 0x2f
mov dword [ebp - 4], 0x2e
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 - 0x1c]
mov dword [ebp - 0x34], eax
cmp eax, edx
jne 0x604f38
mov eax, dword [ebp - 0x144]
mov dword [ebp - 0x34], eax
push eax
call fcn.00888fb0
pop ecx
xor eax, eax
mov dword [ebp - 0x144], eax
mov dword [ebp - 0x140], eax
mov dword [ebp - 0x13c], eax
mov dword [ebp - 4], 0x19
lea eax, [ebp - 0x16c]
mov dword [ebp - 0x3c0], eax
mov dword [ebp - 4], 0x30
mov dword [ebp - 4], 0x19
mov eax, dword [ebp - 0x168]
mov edx, dword [ebp - 0x164]
cmp eax, edx
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x1c], edx
je 0x60501e
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x3b8], eax
mov dword [ebp - 4], 0x31
mov dword [ebp - 4], 0x32
mov dword [ebp - 4], 0x31
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 - 0x1c]
mov dword [ebp - 0x34], eax
cmp eax, edx
jne 0x604fd4
mov eax, dword [ebp - 0x168]
mov dword [ebp - 0x34], eax
push eax
call fcn.00888fb0
pop ecx
xor esi, esi
mov al, 1
mov dword [ebp - 0x168], esi
mov dword [ebp - 0x164], esi
mov dword [ebp - 0x160], esi
mov byte [ebp - 0x44], al
jmp 0x6046b7
mov ecx, dword [ebp - 0x3c]
call fcn.005f8d84
mov ecx, dword [ebp - 0x3c]
call fcn.00595df4
jmp 0x603287
fld dword [0xa31ea8]
mov dword [ebp - 0x90], edx
fild dword [ebp - 0x90]
fmul st(1)
mov dword [ebp - 0x90], ecx
fild dword [ebp - 0x90]
fmulp st(2)
fsub st(1), st(0)
fxch st(1)
fstp qword [ebp - 0x68]
jmp 0x602def
test ecx, ecx
jle 0x605058
mov eax, edx
neg eax
cmp ecx, eax
jl 0x605099
xor edx, edx
jmp 0x602dc4
xor ecx, ecx
jmp 0x605058
mov al, byte [ebp - 0x78]
mov byte [ebp - 0x44], al
jmp 0x6046b7
mov eax, dword [ebp - 0x19c]
mov dword [ebp - 0x28], 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
mov dword [ebp - 4], 0
lea eax, [ebp - 0x2e0]
mov dword [ebp - 0x430], eax
mov dword [ebp - 4], 0x11
mov dword [ebp - 4], 0x12
mov dword [ebp - 4], 0x13
mov dword [ebp - 4], 0x12
mov eax, dword [ebp - 0x254]
test eax, eax
je 0x605116
mov dword [ebp - 0x254], 0
push eax
call fcn.00888fb0
pop ecx
mov ecx, dword [ebp - 0x250]
test ecx, ecx
je 0x605133
mov dword [ebp - 0x250], 0
je 0x605133
push 1
call fcn.005fddfc
mov eax, dword [ebp - 0x25c]
test eax, eax
je 0x60514e
mov dword [ebp - 0x25c], 0
push eax
call fcn.00888fb0
pop ecx
mov ecx, dword [ebp - 0x258]
test ecx, ecx
je 0x60516b
mov dword [ebp - 0x258], 0
je 0x60516b
push 1
call fcn.005fdda8
mov eax, dword [ebp - 0x264]
test eax, eax
je 0x605186
mov dword [ebp - 0x264], 0
push eax
call fcn.00888fb0
pop ecx
mov ecx, dword [ebp - 0x260]
test ecx, ecx
je 0x6051a3
mov dword [ebp - 0x260], 0
je 0x6051a3
push 1
call fcn.005fdd54
mov dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x314]
mov dword [ebp - 0x428], eax
mov dword [ebp - 4], 0x14
mov dword [ebp - 4], 0x15
mov dword [ebp - fcn.0043c40c], 0x9f6a40
lea ecx, [ebp - 0x314]
call fcn.0043c3e0
mov dword [ebp - 4], 0x14
lea eax, [ebp - 0x2f4]
mov dword [ebp - 0x420], eax
mov dword [ebp - 4], 0x16
mov dword [ebp - 4], 0x14
mov eax, dword [ebp - 0x2f0]
mov edx, dword [ebp - 0x2ec]
cmp eax, edx
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x38], edx
je 0x60525a
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x418], eax
mov dword [ebp - 4], 0x17
mov dword [ebp - 4], 0x18
mov dword [ebp - 4], 0x17
lea ecx, [eax + 0xc]
call fcn.00406220
mov eax, dword [ebp - 0x28]
lea ecx, [eax + 8]
call fcn.00406220
mov eax, dword [ebp - 0x28]
add eax, 0x10
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0x28], eax
cmp eax, edx
jne 0x605210
mov eax, dword [ebp - 0x2f0]
mov dword [ebp - 0x28], eax
push eax
call fcn.00888fb0
pop ecx
xor edx, edx
mov eax, 0xa
mov edi, dword [ebp - 0x88]
mov dword [ebp - 0x2f0], edx
mov esi, dword [ebp - 0x84]
mov dword [ebp - 0x2ec], edx
mov dword [ebp - 0x2e8], edx
mov dword [ebp - case.0x4e640c.73], 0x9f6a18
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 8
mov edx, dword [ebp - 0x280]
lea ecx, [edx - 1]
mov eax, dword [ebp - 0x34]
cmp eax, ecx
jge 0x601f93
mov dword [ebp - 4], 2
mov dword [ebp - 0x180], 0x9f05c8
mov al, byte [ebp - 0x170]
test al, al
je 0x6052dd
lea ecx, [ebp - 0x180]
call fcn.0040acc4
mov dword [ebp - 4], 1
lea eax, [ebp - 0x1a0]
mov dword [ebp - 0x468], eax
mov dword [ebp - 4], 5
mov dword [ebp - 4], 1
mov edi, dword [ebp - 0x19c]
mov esi, dword [ebp - 0x198]
cmp edi, esi
je 0x605322
mov ecx, edi
call fcn.00411784
add edi, 0x10
cmp edi, esi
jne 0x60530e
mov edi, dword [ebp - 0x19c]
push edi
call fcn.00888fb0
pop ecx
xor eax, eax
mov dword [ebp - 0x19c], eax
mov dword [ebp - 0x198], eax
mov dword [ebp - 0x194], eax
mov dword [ebp - 4], 0
lea eax, [ebp - 0x2e0]
mov dword [ebp - 0x460], eax
mov dword [ebp - 4], 6
mov dword [ebp - 4], 7
mov dword [ebp - 4], 8
mov dword [ebp - 4], 7
mov eax, dword [ebp - 0x254]
test eax, eax
je 0x605387
mov dword [ebp - 0x254], 0
push eax
call fcn.00888fb0
pop ecx
mov ecx, dword [ebp - 0x250]
test ecx, ecx
je 0x6053a4
mov dword [ebp - 0x250], 0
je 0x6053a4
push 1
call fcn.005fddfc
mov eax, dword [ebp - 0x25c]
test eax, eax
je 0x6053bf
mov dword [ebp - 0x25c], 0
push eax
call fcn.00888fb0
pop ecx
mov ecx, dword [ebp - 0x258]
test ecx, ecx
je 0x6053dc
mov dword [ebp - 0x258], 0
je 0x6053dc
push 1
call fcn.005fdda8
mov eax, dword [ebp - 0x264]
test eax, eax
je 0x6053f7
mov dword [ebp - 0x264], 0
push eax
call fcn.00888fb0
pop ecx
mov ecx, dword [ebp - 0x260]
test ecx, ecx
je 0x605414
mov dword [ebp - 0x260], 0
je 0x605414
push 1
call fcn.005fdd54
mov dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x314]
mov dword [ebp - 0x458], eax
mov dword [ebp - 4], 9
mov dword [ebp - 4], 0xa
mov dword [ebp - fcn.0043c40c], 0x9f6a40
lea ecx, [ebp - 0x314]
call fcn.0043c3e0
mov dword [ebp - 4], 9
lea eax, [ebp - 0x2f4]
mov dword [ebp - 0x450], eax
mov dword [ebp - 4], 0xb
mov dword [ebp - 4], 9
mov eax, dword [ebp - 0x2f0]
mov edx, dword [ebp - 0x2ec]
cmp eax, edx
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x34], edx
je 0x6054cb
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x448], eax
mov dword [ebp - 4], 0xc
mov dword [ebp - 4], 0xd
mov dword [ebp - 4], 0xc
lea ecx, [eax + 0xc]
call fcn.00406220
mov eax, dword [ebp - 0x1c]
lea ecx, [eax + 8]
call fcn.00406220
mov eax, dword [ebp - 0x1c]
add eax, 0x10
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0x1c], eax
cmp eax, edx
jne 0x605481
mov eax, dword [ebp - 0x2f0]
mov dword [ebp - 0x1c], eax
push eax
call fcn.00888fb0
pop ecx
xor edx, edx
mov eax, 8
mov edi, dword [ebp - 0x88]
mov dword [ebp - 0x2f0], edx
mov esi, dword [ebp - 0x84]
mov dword [ebp - 0x2ec], edx
mov dword [ebp - 0x2e8], edx
mov dword [ebp - case.0x4e640c.73], 0x9f6a18
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 8
mov dword [ebp - 4], 2
mov dword [ebp - 0x180], 0x9f05c8
mov al, byte [ebp - 0x170]
test al, al
je 0x60553a
lea ecx, [ebp - 0x180]
call fcn.0040acc4
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x1a0]
call fcn.0040b540
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x2e0]
call fcn.00606e18
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x314]
call fcn.0043bcc8
mov eax, 8
mov edi, dword [ebp - 0x88]
mov esi, dword [ebp - 0x84]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 8
mov dword [ebp - 4], 2
mov dword [ebp - 0x180], 0x9f05c8
mov al, byte [ebp - 0x170]
test al, al
je 0x6055ba
lea ecx, [ebp - 0x180]
call fcn.0040acc4
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x1a0]
call fcn.0040b540
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x2e0]
call fcn.00606e18
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x314]
call fcn.0043bcc8
mov eax, 8
mov edi, dword [ebp - 0x88]
mov esi, dword [ebp - 0x84]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 8
mov dword [ebp - 4], 2
mov dword [ebp - 0x180], 0x9f05c8
mov al, byte [ebp - 0x170]
test al, al
je 0x60563a
lea ecx, [ebp - 0x180]
call fcn.0040acc4
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x1a0]
call fcn.0040b540
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x2e0]
call fcn.00606e18
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x314]
call fcn.0043bcc8
mov eax, 8
mov edi, dword [ebp - 0x88]
mov esi, dword [ebp - 0x84]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 8
lea ecx, [ebp - 0x2e0]
call fcn.00607430
movsx edx, byte [ebp - 0x2e0]
jmp 0x601d2c