Function at 0x5e37ed
Capabilities:
Encrypt data using speck
Print debug messages

Disassembly:
jmp 0x857280
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x9a4441
mov eax, dword fs:[0]
push eax
push ebx
mov eax, 0x2bd8
call fcn.005de0e5
push esi
push edi
push ecx
lea edi, [ebp - 0x25e8]
mov ecx, 0x976
mov eax, 0xcccccccc
rep stosd dword es:[edi], eax
pop ecx
mov eax, dword [0x9fc300]
xor eax, ebp
mov dword [ebp - 0x14], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x1c], ecx
mov ecx, 0x27a6db4
call fcn.005e2d5c
mov eax, dword [ebx + 8]
mov dword [ebp - 0x28], eax
mov eax, dword [0xc62ea4]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x34]
mov dword [ebp - 0x2be0], edx
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax + 0x2a]
mov esi, esp
push ecx
mov ecx, dword [0xc62ea4]
call dword [ebp - 0x2be0]
cmp esi, esp
call fcn.005e11e1
mov dword [ebp - 0x34], eax
mov eax, dword [0xc62ea4]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x34]
mov dword [ebp - 0x2be0], edx
mov eax, 8
imul ecx, eax, 0
mov edx, dword [ebp - 0x28]
movzx eax, word [edx + ecx + 0x3c]
mov esi, esp
push eax
mov ecx, dword [0xc62ea4]
call dword [ebp - 0x2be0]
cmp esi, esp
call fcn.005e11e1
mov dword [ebp - 0x40], eax
mov byte [ebp - 0x49], 0
mov eax, dword [ebp - 0x28]
movsx ecx, word [eax + 0x38]
cmp ecx, 0x68
jne 0x857375
mov eax, 0x27
mov ecx, dword [ebp - 0x28]
mov word [ecx + 0x38], ax
mov byte [ebp - 0x49], 1
lea ecx, [ebp - 0x5c]
call fcn.005e0bab
mov dword [ebp - 0x68], 0
movss xmm0, dword [0x9b2d90]
movss dword [ebp - 0x74], xmm0
cmp dword [ebp - 0x34], 0
je 0x85e5e2
mov eax, dword [ebp - 0x28]
movsx ecx, byte [eax + 0x30]
and ecx, 8
je 0x8575ef
mov eax, dword [0xc62eb4]
mov edx, dword [eax]
mov esi, esp
mov ecx, dword [0xc62eb4]
mov eax, dword [edx + 8]
call eax
cmp esi, esp
call fcn.005e11e1
mov dword [ebp - 0x80], eax
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax + 0x60]
mov edx, 4
imul eax, edx, 0
cmp dword [ecx + eax + 0x2f8], 0
je 0x8574dc
mov eax, dword [ebp - 0x34]
cmp dword [eax + 0x5c], 3
je 0x857403
mov eax, dword [ebp - 0x34]
cmp dword [eax + 0x5c], 8
je 0x857403
mov eax, dword [ebp - 0x34]
cmp dword [eax + 0x230], 0x28
jne 0x857424
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax + 0x60]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax + 0x2f8]
mov byte [ecx + 0x28fc], 5
jmp 0x8574be
mov eax, dword [ebp - 0x34]
cmp dword [eax + 0xf4], 0x65
jne 0x85744e
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax + 0x60]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax + 0x2f8]
mov byte [ecx + 0x28fc], 2
jmp 0x8574be
mov eax, dword [ebp - 0x34]
cmp dword [eax + 0xf4], 0x29
jne 0x857478
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax + 0x60]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax + 0x2f8]
mov byte [ecx + 0x28fc], 3
jmp 0x8574be
mov eax, dword [ebp - 0x34]
cmp dword [eax + 0xf4], 0x67
jne 0x8574a2
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax + 0x60]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax + 0x2f8]
mov byte [ecx + 0x28fc], 4
jmp 0x8574be
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax + 0x60]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax + 0x2f8]
mov byte [ecx + 0x28fc], 1
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax + 0x60]
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ecx + eax + 0x2f8]
mov edx, dword [ebp - 0x80]
mov dword [ecx + 0x80], edx
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax + 0x60]
mov edx, 4
shl edx, 0
cmp dword [ecx + edx + 0x2f8], 0
je 0x8575ef
mov eax, dword [ebp - 0x34]
cmp dword [eax + 0x5c], 3
je 0x857516
mov eax, dword [ebp - 0x34]
cmp dword [eax + 0x5c], 8
je 0x857516
mov eax, dword [ebp - 0x34]
cmp dword [eax + 0x230], 0x28
jne 0x857537
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax + 0x60]
mov edx, 4
shl edx, 0
mov eax, dword [ecx + edx + 0x2f8]
mov byte [eax + 0x28fc], 5
jmp 0x8575d1
mov eax, dword [ebp - 0x34]
cmp dword [eax + 0xf4], 0x65
jne 0x857561
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax + 0x60]
mov edx, 4
shl edx, 0
mov eax, dword [ecx + edx + 0x2f8]
mov byte [eax + 0x28fc], 2
jmp 0x8575d1
mov eax, dword [ebp - 0x34]
cmp dword [eax + 0xf4], 0x29
jne 0x85758b
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax + 0x60]
mov edx, 4
shl edx, 0
mov eax, dword [ecx + edx + 0x2f8]
mov byte [eax + 0x28fc], 3
jmp 0x8575d1
mov eax, dword [ebp - 0x34]
cmp dword [eax + 0xf4], 0x67
jne 0x8575b5
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax + 0x60]
mov edx, 4
shl edx, 0
mov eax, dword [ecx + edx + 0x2f8]
mov byte [eax + 0x28fc], 4
jmp 0x8575d1
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax + 0x60]
mov edx, 4
shl edx, 0
mov eax, dword [ecx + edx + 0x2f8]
mov byte [eax + 0x28fc], 1
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax + 0x60]
mov edx, 4
shl edx, 0
mov eax, dword [ecx + edx + 0x2f8]
mov ecx, dword [ebp - 0x80]
mov dword [eax + 0x80], ecx
mov eax, dword [ebp - 0x34]
cmp dword [eax + 0x230], 0x20
jne 0x857636
mov eax, dword [ebp - 0x28]
movsx ecx, byte [eax + 0x2e]
cmp ecx, 4
jne 0x857636
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x40]
cmp ecx, dword [eax + 0x4c]
jne 0x857636
mov eax, dword [0xc62eb4]
mov edx, dword [eax]
mov esi, esp
mov ecx, dword [0xc62eb4]
mov eax, dword [edx + 8]
call eax
cmp esi, esp
call fcn.005e11e1
mov ecx, dword [ebp - 0x34]
mov dword [ecx + 0x850], eax
mov dword [ebp - 0x8c], 0
jmp 0x857651
mov eax, dword [ebp - 0x8c]
add eax, 1
mov dword [ebp - 0x8c], eax
cmp dword [ebp - 0x8c], 0xd
jge 0x8576af
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax + 4]
cmp ecx, 0x39d
jne 0x857674
cmp dword [ebp - 0x8c], 1
jl 0x857674
jmp 0x8576af
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax + 4]
cmp ecx, 0x39e
jne 0x85768e
cmp dword [ebp - 0x8c], 2
jl 0x85768e
jmp 0x8576af
mov eax, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x8c]
mov esi, dword [ebp - 0x28]
mov dx, word [esi + edx*8 + 0x3c]
mov word [ecx + eax*2 + 0x866], dx
jmp 0x857642
mov eax, dword [ebp - 0x28]
movzx ecx, byte [eax + 0x38]
push ecx
mov edx, dword [ebp - 0x34]
push edx
mov ecx, dword [ebp - 0x1c]
call fcn.005e2442
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax + 0x28]
mov edx, dword [eax + 0x2c]
mov dword [ebp - 0x5c], ecx
mov dword [ebp - 0x58], edx
mov eax, dword [ebp - 0x34]
cmp dword [eax + 0x5c], 0x14
jne 0x8576f0
mov eax, dword [ebp - 0x34]
movsx ecx, word [eax + 0x176]
test ecx, ecx
jne 0x8576f0
mov dword [ebp - 0x68], 1
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x34]
cmp ecx, dword [eax + 0x4c]
jne 0x857719
mov eax, dword [ebp - 0x28]
movsx ecx, byte [eax + 0x2f]
test ecx, ecx
jne 0x85788c
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x34]
cmp ecx, dword [eax + 0x4c]
jne 0x85788c
mov eax, dword [ebp - 0x28]
movsx ecx, word [eax + 0x38]
test ecx, ecx
jl 0x85788c
mov eax, dword [ebp - 0x28]
movsx ecx, word [eax + 0x38]
cmp ecx, 0x68
jge 0x85788c
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 0x34]
mov dword [eax + 0x64c], edx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x34]
cmp ecx, dword [eax + 0x4c]
jne 0x85788c
mov eax, dword [0xc62ea4]
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 0x34]
mov dword [eax + 0x7c8], edx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x28]
mov dword [ebp - 0x2be0], ecx
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 0x28]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x48]
mov dword [ebp - 0x2be4], edx
mov esi, esp
push 0x492
mov ecx, dword [ebp - 0x2be0]
call dword [ebp - 0x2be4]
cmp esi, esp
call fcn.005e11e1
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x28]
mov dword [ebp - 0x2be0], ecx
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 0x28]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x48]
mov dword [ebp - 0x2be4], edx
mov esi, esp
push 0x10050
mov ecx, dword [ebp - 0x2be0]
call dword [ebp - 0x2be4]
cmp esi, esp
call fcn.005e11e1
mov dword [ebp - 0xa4], eax
cmp dword [ebp - 0x98], 0
je 0x85781d
mov eax, dword [ebp - 0x98]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x88]
mov dword [ebp - 0x2be0], edx
mov esi, esp
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax + 0x64c]
push ecx
mov ecx, dword [ebp - 0x98]
call dword [ebp - 0x2be0]
cmp esi, esp
call fcn.005e11e1
cmp dword [ebp - 0xa4], 0
je 0x85788c
push 0x80
push 0
lea eax, [ebp - 0x130]
push eax
call fcn.005df85f
add esp, 0xc
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax + 0x64c]
push ecx
push 0x9b11f8
lea edx, [ebp - 0x130]
push edx
call fcn.005e3c16
add esp, 0xc
mov eax, dword [ebp - 0xa4]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x80]
mov dword [ebp - 0x2be0], edx
mov esi, esp
push 0
lea eax, [ebp - 0x130]
push eax
mov ecx, dword [ebp - 0xa4]
call dword [ebp - 0x2be0]
cmp esi, esp
call fcn.005e11e1
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x34]
cmp ecx, dword [eax + 0x4c]
jne 0x8578df
mov eax, dword [ebp - 0x28]
movsx ecx, byte [eax + 0x2f]
cmp ecx, 1
jne 0x8578ae
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x34]
cmp ecx, dword [eax + 0x4c]
je 0x8578df
mov eax, dword [ebp - 0x28]
movsx ecx, byte [eax + 0x2f]
test ecx, ecx
jne 0x85e5dd
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x34]
cmp ecx, dword [eax + 0x4c]
jne 0x85e5dd
mov eax, dword [ebp - 0x28]
movzx ecx, byte [eax + 0x2e]
cmp ecx, 0xfe
jne 0x85e5dd
mov eax, dword [ebp - 0x28]
movsx ecx, word [eax + 0x38]
cmp ecx, 4
jne 0x857919
mov eax, dword [ebp - 0x34]
mov byte [eax + 0xa34], 1
mov eax, dword [0xc62eb4]
mov edx, dword [eax]
mov esi, esp
mov ecx, dword [0xc62eb4]
mov eax, dword [edx + 8]
call eax
cmp esi, esp
call fcn.005e11e1
mov ecx, dword [ebp - 0x34]
mov dword [ecx + 0x860], eax
mov eax, dword [ebp - 0x34]
movss xmm0, dword [eax + 0x210]
movss dword [ebp - 0x13c], xmm0
cmp dword [ebp - 0x40], 0
jne 0x8579cf
mov eax, dword [ebp - 0x28]
mov cl, byte [eax + 0x38]
mov byte [ebp - 0x2bdd], cl
mov edx, dword [ebp - 0x28]
movzx eax, word [edx + 0x28]
cvtsi2ss xmm0, eax
push ecx
movss dword [esp], xmm0
mov ecx, dword [ebp - 0x28]
movzx edx, word [ecx + 0x26]
cvtsi2ss xmm0, edx
push ecx
movss dword [esp], xmm0
lea ecx, [ebp - 0x196c]
call fcn.005de612
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [ebp - 0x1980], ecx
mov dword [ebp - 0x197c], edx
mov eax, dword [ebp - 0x1980]
mov ecx, dword [ebp - 0x197c]
mov dword [ebp - 0x1990], eax
mov dword [ebp - 0x198c], ecx
mov edx, dword [ebp - 0x28]
movsx eax, byte [edx + 0x2e]
mov dword [ebp - 0x2be4], eax
movzx ecx, byte [ebp - 0x2bdd]
push ecx
mov edx, dword [ebp - 0x198c]
push edx
mov eax, dword [ebp - 0x1990]
push eax
mov ecx, dword [ebp - 0x2be4]
push ecx
mov ecx, dword [ebp - 0x34]
call fcn.005e01b5
jmp 0x857a9e
mov eax, dword [ebp - 0x28]
movzx ecx, byte [eax + 0x2e]
cmp ecx, 0xfe
je 0x857a9e
mov eax, dword [ebp - 0x34]
movsx ecx, word [eax + 0x234]
cmp ecx, 0x32
jg 0x857a0f
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax + 0x38]
push ecx
mov edx, dword [ebp - 0x40]
push edx
mov eax, dword [ebp - 0x28]
movsx ecx, byte [eax + 0x2e]
push ecx
mov ecx, dword [ebp - 0x34]
call fcn.005dd6f9
jmp 0x857a2f
mov eax, dword [ebp - 0x28]
movzx cx, byte [eax + 0x38]
movzx edx, cx
push edx
mov eax, dword [ebp - 0x40]
push eax
mov ecx, dword [ebp - 0x28]
movsx edx, byte [ecx + 0x2e]
push edx
mov ecx, dword [ebp - 0x34]
call fcn.005dd6f9
mov eax, dword [ebp - 0x40]
movss xmm0, dword [eax + 0x30]
addss xmm0, dword [0x9b2d90]
movss dword [ebp - 0x74], xmm0
mov eax, dword [ebp - 0x34]
cmp eax, dword [ebp - 0x40]
je 0x857a9e
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x34]
movss xmm0, dword [eax + 0x2c]
subss xmm0, dword [ecx + 0x2c]
push ecx
movss dword [esp], xmm0
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x34]
movss xmm0, dword [edx + 0x28]
subss xmm0, dword [eax + 0x28]
push ecx
movss dword [esp], xmm0
call fcn.005ddf7d
add esp, 8
fstp dword [ebp - 0x2be0]
movss xmm0, dword [ebp - 0x2be0]
addss xmm0, dword [0x9b4704]
movss dword [ebp - 0x13c], xmm0
mov eax, dword [ebp - 0x28]
movsx ecx, word [eax + 0x38]
cmp ecx, 0x62
jne 0x857b02
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax + 0x28]
cvtsi2ss xmm0, ecx
mov edx, dword [ebp - 0x34]
subss xmm0, dword [edx + 0x2c]
push ecx
movss dword [esp], xmm0
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax + 0x26]
cvtsi2ss xmm0, ecx
mov edx, dword [ebp - 0x34]
subss xmm0, dword [edx + 0x28]
push ecx
movss dword [esp], xmm0
call fcn.005ddf7d
add esp, 8
fstp dword [ebp - 0x2be0]
movss xmm0, dword [ebp - 0x2be0]
addss xmm0, dword [0x9b4704]
movss dword [ebp - 0x13c], xmm0
mov eax, dword [ebp - 0x28]
movsx ecx, byte [eax + 0x30]
and ecx, 1
je 0x857b1b
mov eax, dword [ebp - 0x34]
mov dword [eax + 0xa18], 1
mov eax, dword [ebp - 0x34]
cmp dword [eax + 0x230], 0x2c
je 0x857b3d
push ecx
movss xmm0, dword [ebp - 0x13c]
movss dword [esp], xmm0
mov ecx, dword [ebp - 0x34]
call fcn.005df7f6
cmp dword [ebp - 0x40], 0
je 0x857b9a
mov eax, dword [ebp - 0x40]
cmp eax, dword [ebp - 0x34]
je 0x857b9a
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x40]
cmp ecx, dword [eax + 0x4c]
je 0x857b9a
mov eax, dword [ebp - 0x40]
cmp dword [eax + 0x230], 0x38
jne 0x857b70
mov eax, dword [ebp - 0x40]
movsx ecx, word [eax + 0x172]
test ecx, ecx
je 0x857b9a
mov eax, dword [ebp - 0x28]
movsx ecx, word [eax + 0x38]
cmp ecx, 0x1b
je 0x857b9a
movss xmm0, dword [ebp - 0x13c]
addss xmm0, dword [0x9b066c]
push ecx
movss dword [esp], xmm0
mov ecx, dword [ebp - 0x40]
call fcn.005df7f6
mov eax, dword [ebp - 0x28]
movsx ecx, word [eax + 0x38]
test ecx, ecx
jl 0x857bb1
mov eax, dword [ebp - 0x28]
movsx ecx, word [eax + 0x38]
cmp ecx, 0x68
jl 0x857bf7
mov eax, dword [ebp - 0x28]
movsx ecx, word [eax + 0x38]
cmp ecx, 0x97
jl 0x857bcf
mov eax, dword [ebp - 0x28]
movsx ecx, word [eax + 0x38]
cmp ecx, 0x9b
jle 0x857bf7
mov eax, dword [ebp - 0x28]
movsx ecx, word [eax + 0x38]
cmp ecx, 0x68
je 0x857bf7
mov eax, dword [ebp - 0x28]
movsx ecx, word [eax + 0x38]
cmp ecx, 0x69
je 0x857bf7
mov eax, dword [ebp - 0x28]
movsx ecx, word [eax + 0x38]
cmp ecx, 0x6f
jne 0x857ec7
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x28]
mov dx, word [ecx + 0x38]
mov word [eax + 0x6d0], dx
mov eax, dword [ebp - 0x28]
movzx cx, byte [eax + 0x31]
mov edx, dword [ebp - 0x34]
mov word [edx + 0x6d2], cx
mov eax, dword [ebp - 0x28]
movzx ecx, byte [eax + 0x2e]
cmp ecx, 0xfe
jne 0x857c38
mov eax, 1
mov ecx, dword [ebp - 0x34]
mov word [ecx + 0x6d2], ax
cmp dword [ebp - 0x40], 0
jne 0x857cf8
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax + 0x28]
cvtsi2ss xmm0, ecx
push ecx
movss dword [esp], xmm0
mov edx, dword [ebp - 0x28]
movzx eax, word [edx + 0x26]
cvtsi2ss xmm0, eax
push ecx
movss dword [esp], xmm0
lea ecx, [ebp - 0x19a0]
call fcn.005de612
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [eax]
push edx
mov ecx, dword [ebp - 0x1c]
call fcn.005dd924
cvtsi2ss xmm0, eax
mulss xmm0, dword [0x9b0640]
movss dword [ebp - 0x148], xmm0
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax + 0x28]
cvtsi2ss xmm0, ecx
push ecx
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0x148]
movss dword [esp], xmm0
mov edx, dword [ebp - 0x28]
movzx eax, word [edx + 0x26]
cvtsi2ss xmm0, eax
push ecx
movss dword [esp], xmm0
lea ecx, [ebp - 0x19b4]
call fcn.005e0ce6
mov ecx, dword [ebp - 0x34]
add ecx, 0x6c0
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov eax, dword [eax + 8]
mov dword [ecx + 8], eax
mov eax, dword [ebp - 0x34]
mov dword [eax + 0x6cc], 0
jmp 0x857e3d
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x40]
mov dword [eax + 0x6cc], ecx
cmp dword [ebp - 0x40], 0
je 0x857def
cmp dword [ebp - 0x34], 0
je 0x857def
mov eax, dword [ebp - 0x40]
cmp dword [eax + 0x230], 0x38
jne 0x857def
mov eax, dword [ebp - 0x40]
movsx ecx, word [eax + 0x172]
test ecx, ecx
jne 0x857def
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x34]
movss xmm0, dword [eax + 0x28]
subss xmm0, dword [ecx + 0x28]
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x34]
movss xmm1, dword [edx + 0x2c]
subss xmm1, dword [eax + 0x2c]
push ecx
movss dword [esp], xmm1
mov ecx, dword [ebp - 0x40]
push ecx
movss xmm1, dword [ecx + 0x30]
movss dword [esp], xmm1
push ecx
movss dword [esp], xmm0
lea ecx, [ebp - 0x15c]
call fcn.005e0ce6
movss xmm0, dword [ebp - 0x154]
divss xmm0, dword [0x9b0548]
mov eax, dword [ebp - 0x34]
addss xmm0, dword [eax + 0x2c]
push ecx
movss dword [esp], xmm0
mov ecx, dword [ebp - 0x40]
push ecx
movss xmm0, dword [ecx + 0x30]
movss dword [esp], xmm0
movss xmm0, dword [ebp - 0x15c]
divss xmm0, dword [0x9b0548]
mov edx, dword [ebp - 0x34]
addss xmm0, dword [edx + 0x28]
push ecx
movss dword [esp], xmm0
lea ecx, [ebp - 0x19c8]
call fcn.005e0ce6
mov ecx, dword [ebp - 0x34]
add ecx, 0x6c0
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov eax, dword [eax + 8]
mov dword [ecx + 8], eax
jmp 0x857e3d
mov eax, dword [ebp - 0x40]
push ecx
movss xmm0, dword [eax + 0x2c]
movss dword [esp], xmm0
mov ecx, dword [ebp - 0x40]
push ecx
movss xmm0, dword [ecx + 0x30]
movss dword [esp], xmm0
mov edx, dword [ebp - 0x40]
push ecx
movss xmm0, dword [edx + 0x28]
movss dword [esp], xmm0
lea ecx, [ebp - 0x19dc]
call fcn.005e0ce6
mov ecx, dword [ebp - 0x34]
add ecx, 0x6c0
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov eax, dword [eax + 8]
mov dword [ecx + 8], eax
mov eax, dword [ebp - 0x28]
movsx ecx, word [eax + 0x38]
cmp ecx, 0x97
jl 0x857e5b
mov eax, dword [ebp - 0x28]
movsx ecx, word [eax + 0x38]
cmp ecx, 0x99
jle 0x857e73
mov eax, dword [ebp - 0x28]
movsx ecx, word [eax + 0x38]
cmp ecx, 0x68
je 0x857e73
mov eax, dword [ebp - 0x28]
movsx ecx, word [eax + 0x38]
cmp ecx, 0x69
jne 0x857e9e
mov eax, dword [0xc62eb4]
mov edx, dword [eax]
mov esi, esp
mov ecx, dword [0xc62eb4]
mov eax, dword [edx + 8]
call eax
cmp esi, esp
call fcn.005e11e1
add eax, 0xc8
mov ecx, dword [ebp - 0x34]
mov dword [ecx + 0x6bc], eax
jmp 0x857ec7
mov eax, dword [0xc62eb4]
mov edx, dword [eax]
mov esi, esp
mov ecx, dword [0xc62eb4]
mov eax, dword [edx + 8]
call eax
cmp esi, esp
call fcn.005e11e1
add eax, 0x1f4
mov ecx, dword [ebp - 0x34]
mov dword [ecx + 0x6bc], eax
mov eax, dword [ebp - 0x34]
cmp dword [eax + 0x230], 0x3e
jne 0x85808c
mov eax, dword [ebp - 0x34]
movsx ecx, word [eax + 0x172]
cmp ecx, 2
jne 0x85808c
mov eax, dword [ebp - 0x28]
movsx ecx, word [eax + 0x38]
cmp ecx, 0x6c
jne 0x85808c
cmp dword [ebp - 0x40], 0
je 0x85808c
mov eax, dword [ebp - 0x34]
movss xmm0, dword [eax + 0x30]
addss xmm0, dword [0x9b04e0]
mov ecx, dword [ebp - 0x34]
push ecx
movss xmm1, dword [ecx + 0x2c]
movss dword [esp], xmm1
push ecx
movss dword [esp], xmm0
mov edx, dword [ebp - 0x34]
push ecx
movss xmm0, dword [edx + 0x28]
movss dword [esp], xmm0
lea ecx, [ebp - 0x170]
call fcn.005e0ce6
mov eax, dword [ebp - 0x40]
push ecx
movss xmm0, dword [eax + 0x2c]
movss dword [esp], xmm0
mov ecx, dword [ebp - 0x40]
push ecx
movss xmm0, dword [ecx + 0x30]
movss dword [esp], xmm0
mov edx, dword [ebp - 0x40]
push ecx
movss xmm0, dword [edx + 0x28]
movss dword [esp], xmm0
lea ecx, [ebp - 0x184]
call fcn.005e0ce6
movss xmm0, dword [ebp - 0x180]
addss xmm0, dword [0x9b04e0]
movss dword [ebp - 0x180], xmm0
movss xmm0, dword [ebp - 0x16c]
addss xmm0, dword [0x9b04e0]
movss dword [ebp - 0x16c], xmm0
push 0xc0
call fcn.005de946
add esp, 4
mov dword [ebp - 0x19f4], eax
mov dword [ebp - 4], 0
cmp dword [ebp - 0x19f4], 0
je 0x85802e
push 0xc0
mov ecx, dword [ebp - 0x19f4]
call fcn.005e0223
push 0
push 5
sub esp, 0xc
mov eax, esp
mov ecx, dword [ebp - 0x184]
mov dword [eax], ecx
mov edx, dword [ebp - 0x180]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x17c]
mov dword [eax + 8], ecx
sub esp, 0xc
mov edx, esp
mov eax, dword [ebp - 0x170]
mov dword [edx], eax
mov ecx, dword [ebp - 0x16c]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x168]
mov dword [edx + 8], eax
mov ecx, dword [ebp - 0x19f4]
call fcn.005e1f10
mov dword [ebp - 0x2be0], eax
jmp 0x858038
mov dword [ebp - 0x2be0], 0
mov ecx, dword [ebp - 0x2be0]
mov dword [ebp - 0x19e8], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x19e8]
mov dword [ebp - 0x190], edx
cmp dword [ebp - 0x190], 0
je 0x858087
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x2c], 0
je 0x858087
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x2c]
mov dword [ebp - 0x2be0], ecx
mov edx, dword [ebp - 0x190]
push edx
mov ecx, dword [ebp - 0x2be0]
call fcn.005e2177
jmp 0x85e5dd
mov eax, dword [ebp - 0x28]
movsx ecx, word [eax + 0x38]
cmp ecx, 6
jne 0x858273
mov eax, dword [ebp - 0x34]
movss xmm0, dword [eax + 0x30]
addss xmm0, dword [0x9b04e0]
mov ecx, dword [ebp - 0x34]
push ecx
movss xmm1, dword [ecx + 0x2c]
movss dword [esp], xmm1
push ecx
movss dword [esp], xmm0
mov edx, dword [ebp - 0x34]
push ecx
movss xmm0, dword [edx + 0x28]
movss dword [esp], xmm0
lea ecx, [ebp - 0x1a4]
call fcn.005e0ce6
push 0xdc
call fcn.005de946
add esp, 4
mov dword [ebp - 0x1a0c], eax
mov dword [ebp - 4], 1
cmp dword [ebp - 0x1a0c], 0
je 0x858215
push 0xdc
mov ecx, dword [ebp - 0x1a0c]
call fcn.005dfc79
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
lea ecx, [ebp - 0x1a20]
call fcn.005e0ce6
mov ecx, dword [eax]
mov dword [ebp - 0x1a50], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0x1a4c], edx
mov eax, dword [eax + 8]
mov dword [ebp - 0x1a48], eax
mov ecx, dword [ebp - 0x1a50]
mov dword [ebp - 0x1a68], ecx
mov edx, dword [ebp - 0x1a4c]
mov dword [ebp - 0x1a64], edx
mov eax, dword [ebp - 0x1a48]
mov dword [ebp - 0x1a60], eax
mov ecx, dword [ebp - 0x1a4]
mov dword [ebp - 0x1a38], ecx
mov edx, dword [ebp - 0x1a0]
mov dword [ebp - 0x1a34], edx
mov eax, dword [ebp - 0x19c]
mov dword [ebp - 0x1a30], eax
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push 5
push ecx
movss xmm0, dword [0x9b04e0]
movss dword [esp], xmm0
push 0x3e8
push 0xff222299
push 0xff5555ff
sub esp, 0xc
mov ecx, esp
mov edx, dword [ebp - 0x1a68]
mov dword [ecx], edx
mov eax, dword [ebp - 0x1a64]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x1a60]
mov dword [ecx + 8], edx
mov eax, dword [ebp - 0x40]
push eax
sub esp, 0xc
mov ecx, esp
mov edx, dword [ebp - 0x1a38]
mov dword [ecx], edx
mov eax, dword [ebp - 0x1a34]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x1a30]
mov dword [ecx + 8], edx
mov ecx, dword [ebp - 0x1a0c]
call fcn.005e2456
mov dword [ebp - 0x2be0], eax
jmp 0x85821f
mov dword [ebp - 0x2be0], 0
mov eax, dword [ebp - 0x2be0]
mov dword [ebp - 0x1a00], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x1a00]
mov dword [ebp - 0x1b0], ecx
cmp dword [ebp - 0x1b0], 0
je 0x85826e
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x2c], 0
je 0x85826e
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x2c]
mov dword [ebp - 0x2be0], ecx
mov edx, dword [ebp - 0x1b0]
push edx
mov ecx, dword [ebp - 0x2be0]
call fcn.005e2177
jmp 0x85e5dd
mov eax, dword [ebp - 0x28]
movsx ecx, word [eax + 0x38]
cmp ecx, 3
jne 0x8583a7
cmp dword [ebp - 0x34], 0
je 0x8583a2
mov eax, dword [ebp - 0x34]
movss xmm0, dword [eax + 0x30]
addss xmm0, dword [0x9b04e0]
mov ecx, dword [ebp - 0x34]
push ecx
movss xmm1, dword [ecx + 0x2c]
movss dword [esp], xmm1
push ecx
movss dword [esp], xmm0
mov edx, dword [ebp - 0x34]
push ecx
movss xmm0, dword [edx + 0x28]
movss dword [esp], xmm0
lea ecx, [ebp - 0x1c4]
call fcn.005e0ce6
movss xmm0, dword [ebp - 0x1c0]
subss xmm0, dword [0x9b0664]
movss dword [ebp - 0x1c0], xmm0
push 0x90
call fcn.005de946
add esp, 4
mov dword [ebp - 0x1a80], eax
mov dword [ebp - 4], 2
cmp dword [ebp - 0x1a80], 0
je 0x858349
push 0x90
mov ecx, dword [ebp - 0x1a80]
call fcn.005e3a0e
push 1
sub esp, 0xc
mov eax, esp
mov ecx, dword [ebp - 0x1c4]
mov dword [eax], ecx
mov edx, dword [ebp - 0x1c0]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x1bc]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x1a80]
call fcn.005e0930
mov dword [ebp - 0x2be0], eax
jmp 0x858353
mov dword [ebp - 0x2be0], 0
mov edx, dword [ebp - 0x2be0]
mov dword [ebp - 0x1a74], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x1a74]
mov dword [ebp - 0x1d0], eax
cmp dword [ebp - 0x1d0], 0
je 0x8583a2
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x2c], 0
je 0x8583a2
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x2c]
mov dword [ebp - 0x2be0], ecx
mov edx, dword [ebp - 0x1d0]
push edx
mov ecx, dword [ebp - 0x2be0]
call fcn.005e2177
jmp 0x85e5dd
mov eax, dword [ebp - 0x28]
movsx ecx, word [eax + 0x38]
cmp ecx, 5
jne 0x8584ee
cmp dword [ebp - 0x34], 0
je 0x8584e9
mov eax, dword [ebp - 0x34]
movss xmm0, dword [eax + 0x30]
addss xmm0, dword [0x9b04e0]
mov ecx, dword [ebp - 0x34]
push ecx
movss xmm1, dword [ecx + 0x2c]
movss dword [esp], xmm1
push ecx
movss dword [esp], xmm0
mov edx, dword [ebp - 0x34]
push ecx
movss xmm0, dword [edx + 0x28]
movss dword [esp], xmm0
lea ecx, [ebp - 0x1e4]
call fcn.005e0ce6
movss xmm0, dword [ebp - 0x1e0]
subss xmm0, dword [0x9b0664]
movss dword [ebp - 0x1e0], xmm0
push 0x94
call fcn.005de946
add esp, 4
mov dword [ebp - 0x1a98], eax
mov dword [ebp - 4], 3
cmp dword [ebp - 0x1a98], 0
je 0x85847f
push 0x94
mov ecx, dword [ebp - 0x1a98]
call fcn.005e1326
push 0
push 2
sub esp, 0xc
mov eax, esp
mov ecx, dword [ebp - 0x1e4]
mov dword [eax], ecx
mov edx, dword [ebp - 0x1e0]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x1dc]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x1a98]
call fcn.005e2b9f
mov dword [ebp - 0x2be0], eax
jmp 0x858489
mov dword [ebp - 0x2be0], 0
mov edx, dword [ebp - 0x2be0]
mov dword [ebp - 0x1a8c], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x1a8c]
mov dword [ebp - 0x1f0], eax
cmp dword [ebp - 0x1f0], 0
je 0x8584d8
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x2c], 0
je 0x8584d8
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x2c]
mov dword [ebp - 0x2be0], ecx
mov edx, dword [ebp - 0x1f0]
push edx
mov ecx, dword [ebp - 0x2be0]
call fcn.005e2177
push 0
push 0
push 0x97
call fcn.005de2e3
add esp, 0xc
jmp 0x85e5dd
mov eax, dword [ebp - 0x28]
movsx ecx, word [eax + 0x38]
cmp ecx, 0x2d
jne 0x8587c7
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax + 0x28]
cvtsi2ss xmm0, ecx
addss xmm0, dword [0x9b0664]
movss dword [ebp - 0x1fc], xmm0
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax + 0x26]
cvtsi2ss xmm0, ecx
addss xmm0, dword [0x9b0664]
movss dword [ebp - 0x2be0], xmm0
push ecx
movss xmm0, dword [ebp - 0x1fc]
movss dword [esp], xmm0
mov edx, dword [ebp - 0x28]
movzx eax, word [edx + 0x26]
cvtsi2ss xmm0, eax
addss xmm0, dword [0x9b0664]
push ecx
movss dword [esp], xmm0
lea ecx, [ebp - 0x1aa8]
call fcn.005de612
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [eax]
push edx
mov ecx, dword [ebp - 0x1c]
call fcn.005dd924
cvtsi2ss xmm0, eax
mulss xmm0, dword [0x9b0640]
movss dword [ebp - 0x2be4], xmm0
push ecx
movss xmm0, dword [ebp - 0x1fc]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0x2be4]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0x2be0]
movss dword [esp], xmm0
lea ecx, [ebp - 0x210]
call fcn.005e0ce6
cmp dword [ebp - 0x40], 0
je 0x85861b
mov eax, dword [ebp - 0x40]
push ecx
movss xmm0, dword [eax + 0x2c]
movss dword [esp], xmm0
mov ecx, dword [ebp - 0x40]
movss xmm0, dword [ecx + 0x30]
addss xmm0, dword [0x9b04e0]
push ecx
movss dword [esp], xmm0
mov edx, dword [ebp - 0x40]
push ecx
movss xmm0, dword [edx + 0x28]
movss dword [esp], xmm0
lea ecx, [ebp - 0x1abc]
call fcn.005e0ce6
mov ecx, dword [eax]
mov dword [ebp - 0x210], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0x20c], edx
mov eax, dword [eax + 8]
mov dword [ebp - 0x208], eax
push 0x90
call fcn.005de946
add esp, 4
mov dword [ebp - 0x1ad4], eax
mov dword [ebp - 4], 4
cmp dword [ebp - 0x1ad4], 0
je 0x858758
push 0x90
mov ecx, dword [ebp - 0x1ad4]
call fcn.005df1bb
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
lea ecx, [ebp - 0x1ae8]
call fcn.005e0ce6
mov ecx, dword [eax]
mov dword [ebp - 0x1b18], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0x1b14], edx
mov eax, dword [eax + 8]
mov dword [ebp - 0x1b10], eax
mov ecx, dword [ebp - 0x1b18]
mov dword [ebp - 0x1b30], ecx
mov edx, dword [ebp - 0x1b14]
mov dword [ebp - 0x1b2c], edx
mov eax, dword [ebp - 0x1b10]
mov dword [ebp - 0x1b28], eax
mov ecx, dword [ebp - 0x210]
mov dword [ebp - 0x1b00], ecx
mov edx, dword [ebp - 0x20c]
mov dword [ebp - 0x1afc], edx
mov eax, dword [ebp - 0x208]
mov dword [ebp - 0x1af8], eax
push 0x3e8
sub esp, 0xc
mov ecx, esp
mov edx, dword [ebp - 0x1b30]
mov dword [ecx], edx
mov eax, dword [ebp - 0x1b2c]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x1b28]
mov dword [ecx + 8], edx
push 1
push ecx
movss xmm0, dword [0x9b04e0]
movss dword [esp], xmm0
push 0x38
push 1
push 0
push ecx
movss xmm0, dword [0x9b0640]
movss dword [esp], xmm0
push 0x14
push 0
sub esp, 0xc
mov eax, esp
mov ecx, dword [ebp - 0x1b00]
mov dword [eax], ecx
mov edx, dword [ebp - 0x1afc]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x1af8]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x1ad4]
call fcn.005e0200
mov dword [ebp - 0x2be0], eax
jmp 0x858762
mov dword [ebp - 0x2be0], 0
mov edx, dword [ebp - 0x2be0]
mov dword [ebp - 0x1ac8], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x1ac8]
mov dword [ebp - 0x21c], eax
cmp dword [ebp - 0x21c], 0
je 0x8587b1
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x2c], 0
je 0x8587b1
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x2c]
mov dword [ebp - 0x2be0], ecx
mov edx, dword [ebp - 0x21c]
push edx
mov ecx, dword [ebp - 0x2be0]
call fcn.005e2177
push 0
push 0
push 0x9e
call fcn.005de2e3
add esp, 0xc
jmp 0x85e5dd
mov eax, dword [ebp - 0x28]
movsx ecx, word [eax + 0x38]
cmp ecx, 0x22
jne 0x858989
mov eax, dword [ebp - 0x28]
movzx ecx, byte [eax + 0x2e]
cmp ecx, 0xfe
jne 0x858989
cmp dword [ebp - 0x34], 0
je 0x858984
mov eax, dword [ebp - 0x34]
cmp dword [eax + 0x76c], 0
je 0x858984
push 0x184
call fcn.005de946
add esp, 4
mov dword [ebp - 0x1b48], eax
mov dword [ebp - 4], 5
cmp dword [ebp - 0x1b48], 0
je 0x85888d
push 0x184
mov ecx, dword [ebp - 0x1b48]
call fcn.005dfc3d
push 0x50
push 1
push ecx
movss xmm0, dword [0x9b140c]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x9b0640]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x9b0640]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x9b0640]
movss dword [esp], xmm0
push 0x2bc
push 1
mov ecx, dword [ebp - 0x1b48]
call fcn.005e33d8
mov dword [ebp - 0x2be0], eax
jmp 0x858897
mov dword [ebp - 0x2be0], 0
mov eax, dword [ebp - 0x2be0]
mov dword [ebp - 0x1b3c], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x1b3c]
mov dword [ebp - 0x228], ecx
cmp dword [ebp - 0x228], 0
je 0x858984
mov eax, dword [ebp - 0x228]
mov dword [eax + 0x6c], 1
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax + 0x76c]
push ecx
movss xmm0, dword [ecx + 0x2c]
movss dword [esp], xmm0
mov edx, dword [ebp - 0x34]
mov eax, dword [edx + 0x76c]
movss xmm0, dword [eax + 0x30]
addss xmm0, dword [0x9b0640]
push ecx
movss dword [esp], xmm0
mov ecx, dword [ebp - 0x34]
mov edx, dword [ecx + 0x76c]
push ecx
movss xmm0, dword [edx + 0x28]
movss dword [esp], xmm0
lea ecx, [ebp - 0x1b5c]
call fcn.005e0ce6
mov ecx, dword [ebp - 0x228]
add ecx, 0x14c
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov eax, dword [eax + 8]
mov dword [ecx + 8], eax
mov eax, dword [ebp - 0x228]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x3c]
mov dword [ebp - 0x2be0], edx
mov esi, esp
push 0xffaaeeff
mov ecx, dword [ebp - 0x228]
call dword [ebp - 0x2be0]
cmp esi, esp
call fcn.005e11e1
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x2c]
mov dword [ebp - 0x2be0], ecx
mov edx, dword [ebp - 0x228]
push edx
mov ecx, dword [ebp - 0x2be0]
call fcn.005e2177
jmp 0x85e5dd
mov eax, dword [ebp - 0x28]
movsx ecx, word [eax + 0x38]
cmp ecx, 0x20
jne 0x858b4b
mov eax, dword [ebp - 0x28]
movzx ecx, byte [eax + 0x2e]
cmp ecx, 0xfe
jne 0x858b4b
cmp dword [ebp - 0x34], 0
je 0x858b46
mov eax, dword [ebp - 0x34]
cmp dword [eax + 0x76c], 0
je 0x858b46
push 0x184
call fcn.005de946
add esp, 4
mov dword [ebp - 0x1b74], eax
mov dword [ebp - 4], 6
cmp dword [ebp - 0x1b74], 0
je 0x858a4f
push 0x184
mov ecx, dword [ebp - 0x1b74]
call fcn.005dfc3d
push 0x50
push 1
push ecx
movss xmm0, dword [0x9b140c]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x9b0640]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x9b0640]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x9b0640]
movss dword [esp], xmm0
push 0x2bc
push 1
mov ecx, dword [ebp - 0x1b74]
call fcn.005e33d8
mov dword [ebp - 0x2be0], eax
jmp 0x858a59
mov dword [ebp - 0x2be0], 0
mov eax, dword [ebp - 0x2be0]
mov dword [ebp - 0x1b68], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x1b68]
mov dword [ebp - 0x234], ecx
cmp dword [ebp - 0x234], 0
je 0x858b46
mov eax, dword [ebp - 0x234]
mov dword [eax + 0x6c], 1
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax + 0x76c]
push ecx
movss xmm0, dword [ecx + 0x2c]
movss dword [esp], xmm0
mov edx, dword [ebp - 0x34]
mov eax, dword [edx + 0x76c]
movss xmm0, dword [eax + 0x30]
addss xmm0, dword [0x9b0640]
push ecx
movss dword [esp], xmm0
mov ecx, dword [ebp - 0x34]
mov edx, dword [ecx + 0x76c]
push ecx
movss xmm0, dword [edx + 0x28]
movss dword [esp], xmm0
lea ecx, [ebp - 0x1b88]
call fcn.005e0ce6
mov ecx, dword [ebp - 0x234]
add ecx, 0x14c
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov eax, dword [eax + 8]
mov dword [ecx + 8], eax
mov eax, dword [ebp - 0x234]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x3c]
mov dword [ebp - 0x2be0], edx
mov esi, esp
push 0xffffaa00
mov ecx, dword [ebp - 0x234]
call dword [ebp - 0x2be0]
cmp esi, esp
call fcn.005e11e1
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x2c]
mov dword [ebp - 0x2be0], ecx
mov edx, dword [ebp - 0x234]
push edx
mov ecx, dword [ebp - 0x2be0]
call fcn.005e2177
jmp 0x85e5dd
mov eax, dword [ebp - 0x28]
movsx ecx, word [eax + 0x38]
cmp ecx, 0x24
jne 0x859057
mov eax, dword [ebp - 0x28]
movzx ecx, byte [eax + 0x2e]
cmp ecx, 0xfe
jne 0x858d08
cmp dword [ebp - 0x34], 0
je 0x858d08
mov eax, dword [ebp - 0x34]
cmp dword [eax + 0x76c], 0
je 0x858d08
push 0x184
call fcn.005de946
add esp, 4
mov dword [ebp - 0x1ba0], eax
mov dword [ebp - 4], 7
cmp dword [ebp - 0x1ba0], 0
je 0x858c11
push 0x184
mov ecx, dword [ebp - 0x1ba0]
call fcn.005dfc3d
push 0x50
push 1
push ecx
movss xmm0, dword [0x9b140c]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x9b0640]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x9b0640]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x9b0640]
movss dword [esp], xmm0
push 0x2bc
push 1
mov ecx, dword [ebp - 0x1ba0]
call fcn.005e33d8
mov dword [ebp - 0x2be0], eax
jmp 0x858c1b
mov dword [ebp - 0x2be0], 0
mov eax, dword [ebp - 0x2be0]
mov dword [ebp - 0x1b94], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x1b94]
mov dword [ebp - 0x240], ecx
cmp dword [ebp - 0x240], 0
je 0x858d08
mov eax, dword [ebp - 0x240]
mov dword [eax + 0x6c], 1
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax + 0x76c]
push ecx
movss xmm0, dword [ecx + 0x2c]
movss dword [esp], xmm0
mov edx, dword [ebp - 0x34]
mov eax, dword [edx + 0x76c]
movss xmm0, dword [eax + 0x30]
addss xmm0, dword [0x9b0640]
push ecx
movss dword [esp], xmm0
mov ecx, dword [ebp - 0x34]
mov edx, dword [ecx + 0x76c]
push ecx
movss xmm0, dword [edx + 0x28]
movss dword [esp], xmm0
lea ecx, [ebp - 0x1bb4]
call fcn.005e0ce6
mov ecx, dword [ebp - 0x240]
add ecx, 0x14c
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov eax, dword [eax + 8]
mov dword [ecx + 8], eax
mov eax, dword [ebp - 0x240]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x3c]
mov dword [ebp - 0x2be0], edx
mov esi, esp
push 0xffaaeeff
mov ecx, dword [ebp - 0x240]
call dword [ebp - 0x2be0]
cmp esi, esp
call fcn.005e11e1
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x2c]
mov dword [ebp - 0x2be0], ecx
mov edx, dword [ebp - 0x240]
push edx
mov ecx, dword [ebp - 0x2be0]
call fcn.005e2177
lea ecx, [ebp - 0x254]
call fcn.005e0b29
cmp dword [ebp - 0x40], 0
je 0x858d6d
mov eax, dword [ebp - 0x40]
push ecx
movss xmm0, dword [eax + 0x2c]
movss dword [esp], xmm0
mov ecx, dword [ebp - 0x40]
push ecx
movss xmm0, dword [ecx + 0x30]
movss dword [esp], xmm0
mov edx, dword [ebp - 0x40]
push ecx
movss xmm0, dword [edx + 0x28]
movss dword [esp], xmm0
lea ecx, [ebp - 0x1bc8]
call fcn.005e0ce6
mov ecx, dword [eax]
mov dword [ebp - 0x254], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0x250], edx
mov eax, dword [eax + 8]
mov dword [ebp - 0x24c], eax
jmp 0x858e32
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax + 0x28]
cvtsi2ss xmm0, ecx
addss xmm0, dword [0x9b0664]
push ecx
movss dword [esp], xmm0
mov edx, dword [ebp - 0x28]
movzx eax, word [edx + 0x26]
cvtsi2ss xmm0, eax
addss xmm0, dword [0x9b0664]
push ecx
movss dword [esp], xmm0
lea ecx, [ebp - 0x1bd8]
call fcn.005de612
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [eax]
push edx
mov ecx, dword [ebp - 0x1c]
call fcn.005dd924
cvtsi2ss xmm0, eax
mulss xmm0, dword [0x9b0640]
movss dword [ebp - 0x260], xmm0
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax + 0x28]
cvtsi2ss xmm0, ecx
addss xmm0, dword [0x9b0664]
push ecx
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0x260]
movss dword [esp], xmm0
mov edx, dword [ebp - 0x28]
movzx eax, word [edx + 0x26]
cvtsi2ss xmm0, eax
addss xmm0, dword [0x9b0664]
push ecx
movss dword [esp], xmm0
lea ecx, [ebp - 0x1bec]
call fcn.005e0ce6
mov ecx, dword [eax]
mov dword [ebp - 0x254], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0x250], edx
mov eax, dword [eax + 8]
mov dword [ebp - 0x24c], eax
mov dword [ebp - 0x26c], 0
jmp 0x858e4d
mov eax, dword [ebp - 0x26c]
add eax, 1
mov dword [ebp - 0x26c], eax
cmp dword [ebp - 0x26c], 6
jge 0x859052
push 0xc8
call fcn.005de946
add esp, 4
mov dword [ebp - 0x1c04], eax
mov dword [ebp - 4], 8
cmp dword [ebp - 0x1c04], 0
je 0x858ff4
push 0xc8
mov ecx, dword [ebp - 0x1c04]
call fcn.005e0683
mov eax, dword [ebp - 0x26c]
add eax, 3
cdq
mov ecx, 5
idiv ecx
cvtsi2ss xmm0, edx
mulss xmm0, dword [0x9b0658]
addss xmm0, dword [ebp - 0x24c]
push ecx
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0x250]
movss dword [esp], xmm0
mov eax, dword [ebp - 0x26c]
cdq
mov ecx, 3
idiv ecx
cvtsi2ss xmm0, edx
mulss xmm0, dword [0x9b0658]
addss xmm0, dword [ebp - 0x254]
push ecx
movss dword [esp], xmm0
lea ecx, [ebp - 0x1c18]
call fcn.005e0ce6
mov edx, dword [eax]
mov dword [ebp - 0x1c60], edx
mov ecx, dword [eax + 4]
mov dword [ebp - 0x1c5c], ecx
mov edx, dword [eax + 8]
mov dword [ebp - 0x1c58], edx
mov eax, dword [ebp - 0x1c60]
mov dword [ebp - 0x1c90], eax
mov ecx, dword [ebp - 0x1c5c]
mov dword [ebp - 0x1c8c], ecx
mov edx, dword [ebp - 0x1c58]
mov dword [ebp - 0x1c88], edx
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
lea ecx, [ebp - 0x1c2c]
call fcn.005e0ce6
mov ecx, dword [eax]
mov dword [ebp - 0x1c48], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0x1c44], edx
mov eax, dword [eax + 8]
mov dword [ebp - 0x1c40], eax
mov ecx, dword [ebp - 0x1c48]
mov dword [ebp - 0x1c78], ecx
mov edx, dword [ebp - 0x1c44]
mov dword [ebp - 0x1c74], edx
mov eax, dword [ebp - 0x1c40]
mov dword [ebp - 0x1c70], eax
push 0
push 1
sub esp, 0xc
mov ecx, esp
mov edx, dword [ebp - 0x1c90]
mov dword [ecx], edx
mov eax, dword [ebp - 0x1c8c]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x1c88]
mov dword [ecx + 8], edx
sub esp, 0xc
mov eax, esp
mov ecx, dword [ebp - 0x1c78]
mov dword [eax], ecx
mov edx, dword [ebp - 0x1c74]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x1c70]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x1c04]
call fcn.005dd811
mov dword [ebp - 0x2be0], eax
jmp 0x858ffe
mov dword [ebp - 0x2be0], 0
mov edx, dword [ebp - 0x2be0]
mov dword [ebp - 0x1bf8], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x1bf8]
mov dword [ebp - 0x278], eax
cmp dword [ebp - 0x278], 0
je 0x85904d
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x2c], 0
je 0x85904d
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x2c]
mov dword [ebp - 0x2be0], ecx
mov edx, dword [ebp - 0x278]
push edx
mov ecx, dword [ebp - 0x2be0]
call fcn.005e2177
jmp 0x858e3e
jmp 0x85e5dd
mov eax, dword [ebp - 0x28]
movsx ecx, word [eax + 0x38]
cmp ecx, 0x29
je 0x85908b
mov eax, dword [ebp - 0x28]
movsx ecx, word [eax + 0x38]
cmp ecx, 0x1d
je 0x85908b
mov eax, dword [ebp - 0x28]
movsx ecx, word [eax + 0x38]
cmp ecx, 0x21
je 0x85908b
mov eax, dword [ebp - 0x28]
movsx ecx, word [eax + 0x38]
cmp ecx, 2
jne 0x85971e
mov dword [ebp - 0x284], 0
jmp 0x8590a6
mov eax, dword [ebp - 0x284]
add eax, 1
mov dword [ebp - 0x284], eax
cmp dword [ebp - 0x284], 0xd
jge 0x859719
mov eax, dword [ebp - 0x28]
movzx ecx, byte [eax + 0x2e]
cmp ecx, 0xfe
jne 0x8590d2
cmp dword [ebp - 0x284], 4
jl 0x8590d0
jmp 0x859719
jmp 0x8590ef
mov eax, dword [ebp - 0x28]
movsx ecx, word [eax + 0x38]
imul edx, ecx, 0x60
mov eax, dword [edx + 0xb1d474]
cmp eax, dword [ebp - 0x284]
jg 0x8590ef
jmp 0x859719
mov eax, dword [0xc62ea4]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x34]
mov dword [ebp - 0x2be0], edx
mov eax, dword [ebp - 0x284]
mov ecx, dword [ebp - 0x28]
movzx edx, word [ecx + eax*8 + 0x3c]
mov esi, esp
push edx
mov ecx, dword [0xc62ea4]
call dword [ebp - 0x2be0]
cmp esi, esp
call fcn.005e11e1
mov dword [ebp - 0x290], eax
cmp dword [ebp - 0x290], 0
je 0x859714
mov eax, dword [ebp - 0x290]
cmp eax, dword [ebp - 0x34]
je 0x859714
mov eax, dword [ebp - 0x28]
movsx ecx, word [eax + 0x38]
cmp ecx, 0x21
jne 0x85954b
mov eax, dword [ebp - 0x28]
movsx ecx, byte [eax + 0x2f]
test ecx, ecx
je 0x859189
mov eax, dword [ebp - 0x28]
movsx ecx, byte [eax + 0x2f]
cmp ecx, 1
jne 0x859546
cmp dword [ebp - 0x34], 0
je 0x859546
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x34]
cmp ecx, dword [eax + 0x4c]
jne 0x859546
mov dword [ebp - 0x29c], 0
mov eax, dword [ebp - 0x28]
movzx ecx, byte [eax + 0x2e]
cmp ecx, 0xfe
jne 0x8591ac
mov dword [ebp - 0x29c], 1
mov eax, dword [ebp - 0x28]
movzx ecx, byte [eax + 0x2e]
cmp ecx, 0xfd
jne 0x8591c5
mov dword [ebp - 0x29c], 2
mov eax, dword [ebp - 0x28]
movzx ecx, byte [eax + 0x2e]
cmp ecx, 0xfc
jne 0x859425
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax + 0x24]
cvtsi2ss xmm0, ecx
addss xmm0, dword [0x9b0664]
push ecx
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x9b04e0]
movss dword [esp], xmm0
mov edx, dword [ebp - 0x28]
movzx eax, word [edx + 0x22]
cvtsi2ss xmm0, eax
addss xmm0, dword [0x9b0664]
push ecx
movss dword [esp], xmm0
lea ecx, [ebp - 0x2b0]
call fcn.005e0ce6
cmp dword [ebp - 0x34], 0
je 0x859288
mov eax, dword [ebp - 0x34]
push ecx
movss xmm0, dword [eax + 0x2c]
movss dword [esp], xmm0
mov ecx, dword [ebp - 0x34]
movss xmm0, dword [ecx + 0x38]
mulss xmm0, dword [0x9b8848]
mov edx, dword [ebp - 0x34]
addss xmm0, dword [edx + 0x30]
push ecx
movss dword [esp], xmm0
mov eax, dword [ebp - 0x34]
push ecx
movss xmm0, dword [eax + 0x28]
movss dword [esp], xmm0
lea ecx, [ebp - 0x1ca4]
call fcn.005e0ce6
mov ecx, dword [eax]
mov dword [ebp - 0x2b0], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0x2ac], edx
mov eax, dword [eax + 8]
mov dword [ebp - 0x2a8], eax
push 0xdc
call fcn.005de946
add esp, 4
mov dword [ebp - 0x1cbc], eax
mov dword [ebp - 4], 9
cmp dword [ebp - 0x1cbc], 0
je 0x8593c7
push 0xdc
mov ecx, dword [ebp - 0x1cbc]
call fcn.005dfc79
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
lea ecx, [ebp - 0x1cd0]
call fcn.005e0ce6
mov ecx, dword [eax]
mov dword [ebp - 0x1d00], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0x1cfc], edx
mov eax, dword [eax + 8]
mov dword [ebp - 0x1cf8], eax
mov ecx, dword [ebp - 0x1d00]
mov dword [ebp - 0x1d18], ecx
mov edx, dword [ebp - 0x1cfc]
mov dword [ebp - 0x1d14], edx
mov eax, dword [ebp - 0x1cf8]
mov dword [ebp - 0x1d10], eax
mov ecx, dword [ebp - 0x2b0]
mov dword [ebp - 0x1ce8], ecx
mov edx, dword [ebp - 0x2ac]
mov dword [ebp - 0x1ce4], edx
mov eax, dword [ebp - 0x2a8]
mov dword [ebp - 0x1ce0], eax
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push 5
push ecx
movss xmm0, dword [0x9b04e0]
movss dword [esp], xmm0
push 0x3e8
push 0xff222299
push 0xff5555ff
sub esp, 0xc
mov ecx, esp
mov edx, dword [ebp - 0x1d18]
mov dword [ecx], edx
mov eax, dword [ebp - 0x1d14]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x1d10]
mov dword [ecx + 8], edx
mov eax, dword [ebp - 0x290]
push eax
sub esp, 0xc
mov ecx, esp
mov edx, dword [ebp - 0x1ce8]
mov dword [ecx], edx
mov eax, dword [ebp - 0x1ce4]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x1ce0]
mov dword [ecx + 8], edx
mov ecx, dword [ebp - 0x1cbc]
call fcn.005e2456
mov dword [ebp - 0x2be0], eax
jmp 0x8593d1
mov dword [ebp - 0x2be0], 0
mov eax, dword [ebp - 0x2be0]
mov dword [ebp - 0x1cb0], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x1cb0]
mov dword [ebp - 0x2bc], ecx
cmp dword [ebp - 0x2bc], 0
je 0x859420
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x2c], 0
je 0x859420
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x2c]
mov dword [ebp - 0x2be0], ecx
mov edx, dword [ebp - 0x2bc]
push edx
mov ecx, dword [ebp - 0x2be0]
call fcn.005e2177
jmp 0x859546
push 0x90
call fcn.005de946
add esp, 4
mov dword [ebp - 0x1d30], eax
mov dword [ebp - 4], 0xa
cmp dword [ebp - 0x1d30], 0
je 0x8594ed
push 0x90
mov ecx, dword [ebp - 0x1d30]
call fcn.005e1df8
mov eax, dword [ebp - 0x290]
push ecx
movss xmm0, dword [eax + 0x2c]
movss dword [esp], xmm0
mov ecx, dword [ebp - 0x290]
push ecx
movss xmm0, dword [ecx + 0x30]
movss dword [esp], xmm0
mov edx, dword [ebp - 0x290]
push ecx
movss xmm0, dword [edx + 0x28]
movss dword [esp], xmm0
lea ecx, [ebp - 0x1d44]
call fcn.005e0ce6
mov ecx, dword [eax]
mov dword [ebp - 0x1d60], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0x1d5c], edx
mov eax, dword [eax + 8]
mov dword [ebp - 0x1d58], eax
mov ecx, dword [ebp - 0x29c]
push ecx
sub esp, 0xc
mov edx, esp
mov eax, dword [ebp - 0x1d60]
mov dword [edx], eax
mov ecx, dword [ebp - 0x1d5c]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x1d58]
mov dword [edx + 8], eax
mov ecx, dword [ebp - 0x1d30]
call fcn.005dfba7
mov dword [ebp - 0x2be0], eax
jmp 0x8594f7
mov dword [ebp - 0x2be0], 0
mov ecx, dword [ebp - 0x2be0]
mov dword [ebp - 0x1d24], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x1d24]
mov dword [ebp - 0x2c8], edx
cmp dword [ebp - 0x2c8], 0
je 0x859546
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x2c], 0
je 0x859546
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x2c]
mov dword [ebp - 0x2be0], ecx
mov edx, dword [ebp - 0x2c8]
push edx
mov ecx, dword [ebp - 0x2be0]
call fcn.005e2177
jmp 0x859714
mov eax, dword [ebp - 0x290]
mov ecx, dword [ebp - 0x28]
mov dx, word [ecx + 0x38]
mov word [eax + 0x6d0], dx
mov eax, dword [ebp - 0x28]
movzx cx, byte [eax + 0x31]
mov edx, dword [ebp - 0x290]
mov word [edx + 0x6d2], cx
mov eax, dword [ebp - 0x290]
mov ecx, dword [ebp - 0x290]
mov dword [eax + 0x6cc], ecx
cmp dword [ebp - 0x290], 0
je 0x85968e
cmp dword [ebp - 0x34], 0
je 0x85968e
mov eax, dword [ebp - 0x290]
cmp dword [eax + 0x230], 0x38
jne 0x85968e
mov eax, dword [ebp - 0x290]
movsx ecx, word [eax + 0x172]
test ecx, ecx
jne 0x85968e
mov eax, dword [ebp - 0x290]
mov ecx, dword [ebp - 0x34]
movss xmm0, dword [eax + 0x28]
subss xmm0, dword [ecx + 0x28]
mov edx, dword [ebp - 0x290]
mov eax, dword [ebp - 0x34]
movss xmm1, dword [edx + 0x2c]
subss xmm1, dword [eax + 0x2c]
push ecx
movss dword [esp], xmm1
mov ecx, dword [ebp - 0x290]
push ecx
movss xmm1, dword [ecx + 0x30]
movss dword [esp], xmm1
push ecx
movss dword [esp], xmm0
lea ecx, [ebp - 0x2dc]
call fcn.005e0ce6
cvtss2sd xmm0, dword [ebp - 0x2d4]
divsd xmm0, qword [0x9b1f90]
cvtsd2ss xmm0, xmm0
mov eax, dword [ebp - 0x34]
addss xmm0, dword [eax + 0x2c]
push ecx
movss dword [esp], xmm0
mov ecx, dword [ebp - 0x290]
push ecx
movss xmm0, dword [ecx + 0x30]
movss dword [esp], xmm0
cvtss2sd xmm0, dword [ebp - 0x2dc]
divsd xmm0, qword [0x9b1f90]
cvtsd2ss xmm0, xmm0
mov edx, dword [ebp - 0x34]
addss xmm0, dword [edx + 0x28]
push ecx
movss dword [esp], xmm0
lea ecx, [ebp - 0x1d74]
call fcn.005e0ce6
mov ecx, dword [ebp - 0x34]
add ecx, 0x6c0
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov eax, dword [eax + 8]
mov dword [ecx + 8], eax
jmp 0x8596e8
mov eax, dword [ebp - 0x290]
push ecx
movss xmm0, dword [eax + 0x2c]
movss dword [esp], xmm0
mov ecx, dword [ebp - 0x290]
push ecx
movss xmm0, dword [ecx + 0x30]
movss dword [esp], xmm0
mov edx, dword [ebp - 0x290]
push ecx
movss xmm0, dword [edx + 0x28]
movss dword [esp], xmm0
lea ecx, [ebp - 0x1d88]
call fcn.005e0ce6
mov ecx, dword [ebp - 0x290]
add ecx, 0x6c0
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov eax, dword [eax + 8]
mov dword [ecx + 8], eax
mov eax, dword [0xc62eb4]
mov edx, dword [eax]
mov esi, esp
mov ecx, dword [0xc62eb4]
mov eax, dword [edx + 8]
call eax
cmp esi, esp
call fcn.005e11e1
add eax, 0x1f4
mov ecx, dword [ebp - 0x290]
mov dword [ecx + 0x6bc], eax
jmp 0x859097
jmp 0x85e5dd
mov eax, dword [ebp - 0x28]
movsx ecx, word [eax + 0x38]
cmp ecx, 0x34
jne 0x859c9b
mov eax, dword [ebp - 0x28]
movzx ecx, byte [eax + 0x2e]
cmp ecx, 0xfe
jne 0x8599b2
mov eax, dword [ebp - 0x34]
movss xmm0, dword [eax + 0x30]
addss xmm0, dword [0x9b04e0]
mov ecx, dword [ebp - 0x34]
push ecx
movss xmm1, dword [ecx + 0x2c]
movss dword [esp], xmm1
push ecx
movss dword [esp], xmm0
mov edx, dword [ebp - 0x34]
push ecx
movss xmm0, dword [edx + 0x28]
movss dword [esp], xmm0
lea ecx, [ebp - 0x2f0]
call fcn.005e0ce6
cmp dword [ebp - 0x40], 0
je 0x8599ad
mov eax, dword [ebp - 0x40]
push ecx
movss xmm0, dword [eax + 0x2c]
movss dword [esp], xmm0
mov ecx, dword [ebp - 0x40]
push ecx
movss xmm0, dword [ecx + 0x30]
movss dword [esp], xmm0
mov edx, dword [ebp - 0x40]
push ecx
movss xmm0, dword [edx + 0x28]
movss dword [esp], xmm0
lea ecx, [ebp - 0x304]
call fcn.005e0ce6
push 0xac
call fcn.005de946
add esp, 4
mov dword [ebp - 0x1da0], eax
mov dword [ebp - 4], 0xb
cmp dword [ebp - 0x1da0], 0
je 0x859847
push 0xac
mov ecx, dword [ebp - 0x1da0]
call fcn.005e3f13
mov eax, dword [ebp - 0x40]
push eax
push 2
sub esp, 0xc
mov ecx, esp
mov edx, dword [ebp - 0x304]
mov dword [ecx], edx
mov eax, dword [ebp - 0x300]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x2fc]
mov dword [ecx + 8], edx
sub esp, 0xc
mov eax, esp
mov ecx, dword [ebp - 0x2f0]
mov dword [eax], ecx
mov edx, dword [ebp - 0x2ec]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x2e8]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x1da0]
call fcn.005e0b51
mov dword [ebp - 0x2be0], eax
jmp 0x859851
mov dword [ebp - 0x2be0], 0
mov edx, dword [ebp - 0x2be0]
mov dword [ebp - 0x1d94], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x1d94]
mov dword [ebp - 0x310], eax
cmp dword [ebp - 0x310], 0
je 0x859897
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x2c]
mov dword [ebp - 0x2be0], ecx
mov edx, dword [ebp - 0x310]
push edx
mov ecx, dword [ebp - 0x2be0]
call fcn.005e2177
mov eax, dword [0xc62eb4]
mov edx, dword [eax]
mov esi, esp
mov ecx, dword [0xc62eb4]
mov eax, dword [edx + 8]
call eax
cmp esi, esp
call fcn.005e11e1
mov dword [ebp - 0x31c], eax
push 0x90
call fcn.005de946
add esp, 4
mov dword [ebp - 0x1db8], eax
mov dword [ebp - 4], 0xc
cmp dword [ebp - 0x1db8], 0
je 0x85991f
push 0x90
mov ecx, dword [ebp - 0x1db8]
call fcn.005deb76
push 2
sub esp, 0xc
mov eax, esp
mov ecx, dword [ebp - 0x304]
mov dword [eax], ecx
mov edx, dword [ebp - 0x300]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x2fc]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x1db8]
call fcn.005df959
mov dword [ebp - 0x2be0], eax
jmp 0x859929
mov dword [ebp - 0x2be0], 0
mov edx, dword [ebp - 0x2be0]
mov dword [ebp - 0x1dac], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x1dac]
mov dword [ebp - 0x328], eax
cmp dword [ebp - 0x328], 0
je 0x85996f
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x2c]
mov dword [ebp - 0x2be0], ecx
mov edx, dword [ebp - 0x328]
push edx
mov ecx, dword [ebp - 0x2be0]
call fcn.005e2177
mov eax, dword [ebp - 0x40]
cmp dword [eax + 0x718], 0
je 0x85999c
mov eax, dword [ebp - 0x40]
mov ecx, dword [eax + 0x718]
mov dword [ebp - 0x2be0], ecx
mov edx, dword [ebp - 0x31c]
push edx
mov ecx, dword [ebp - 0x2be0]
call fcn.005e14d4
push 0
push 0
push 0x9c
call fcn.005de2e3
add esp, 0xc
jmp 0x859c96
mov eax, dword [ebp - 0x34]
movss xmm0, dword [eax + 0x30]
addss xmm0, dword [0x9b04e0]
mov ecx, dword [ebp - 0x34]
push ecx
movss xmm1, dword [ecx + 0x2c]
movss dword [esp], xmm1
push ecx
movss dword [esp], xmm0
mov edx, dword [ebp - 0x34]
push ecx
movss xmm0, dword [edx + 0x28]
movss dword [esp], xmm0
lea ecx, [ebp - 0x33c]
call fcn.005e0ce6
lea ecx, [ebp - 0x350]
call fcn.005e0b29
cmp dword [ebp - 0x40], 0
je 0x859a54
mov eax, dword [ebp - 0x40]
push ecx
movss xmm0, dword [eax + 0x2c]
movss dword [esp], xmm0
mov ecx, dword [ebp - 0x40]
push ecx
movss xmm0, dword [ecx + 0x30]
movss dword [esp], xmm0
mov edx, dword [ebp - 0x40]
push ecx
movss xmm0, dword [edx + 0x28]
movss dword [esp], xmm0
lea ecx, [ebp - 0x1dcc]
call fcn.005e0ce6
mov ecx, dword [eax]
mov dword [ebp - 0x350], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0x34c], edx
mov eax, dword [eax + 8]
mov dword [ebp - 0x348], eax
jmp 0x859b19
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax + 0x28]
cvtsi2ss xmm0, ecx
addss xmm0, dword [0x9b0664]
push ecx
movss dword [esp], xmm0
mov edx, dword [ebp - 0x28]
movzx eax, word [edx + 0x26]
cvtsi2ss xmm0, eax
addss xmm0, dword [0x9b0664]
push ecx
movss dword [esp], xmm0
lea ecx, [ebp - 0x1ddc]
call fcn.005de612
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [eax]
push edx
mov ecx, dword [ebp - 0x1c]
call fcn.005dd924
cvtsi2ss xmm0, eax
mulss xmm0, dword [0x9b0640]
movss dword [ebp - 0x35c], xmm0
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax + 0x28]
cvtsi2ss xmm0, ecx
addss xmm0, dword [0x9b0664]
push ecx
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0x35c]
movss dword [esp], xmm0
mov edx, dword [ebp - 0x28]
movzx eax, word [edx + 0x26]
cvtsi2ss xmm0, eax
addss xmm0, dword [0x9b0664]
push ecx
movss dword [esp], xmm0
lea ecx, [ebp - 0x1df0]
call fcn.005e0ce6
mov ecx, dword [eax]
mov dword [ebp - 0x350], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0x34c], edx
mov eax, dword [eax + 8]
mov dword [ebp - 0x348], eax
lea eax, [ebp - 0x33c]
push eax
lea ecx, [ebp - 0x1e04]
push ecx
lea ecx, [ebp - 0x350]
call fcn.005e2de8
mov dword [ebp - 0x2be0], eax
push ecx
movss xmm0, dword [0x9b2dd8]
movss dword [esp], xmm0
lea edx, [ebp - 0x370]
push edx
mov ecx, dword [ebp - 0x2be0]
call fcn.005df963
lea eax, [ebp - 0x370]
push eax
lea ecx, [ebp - 0x1e18]
push ecx
lea ecx, [ebp - 0x33c]
call fcn.005de0d1
mov edx, dword [eax]
mov dword [ebp - 0x350], edx
mov ecx, dword [eax + 4]
mov dword [ebp - 0x34c], ecx
mov edx, dword [eax + 8]
mov dword [ebp - 0x348], edx
push 0xb0
call fcn.005de946
add esp, 4
mov dword [ebp - 0x1e30], eax
mov dword [ebp - 4], 0xd
cmp dword [ebp - 0x1e30], 0
je 0x859bf6
push 0xb0
mov ecx, dword [ebp - 0x1e30]
call fcn.005df670
push 0
push 0
push 2
sub esp, 0xc
mov eax, esp
mov ecx, dword [ebp - 0x350]
mov dword [eax], ecx
mov edx, dword [ebp - 0x34c]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x348]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x1e30]
call fcn.005dddc5
mov dword [ebp - 0x2be0], eax
jmp 0x859c00
mov dword [ebp - 0x2be0], 0
mov edx, dword [ebp - 0x2be0]
mov dword [ebp - 0x1e24], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x1e24]
mov dword [ebp - 0x37c], eax
cmp dword [ebp - 0x37c], 0
je 0x859c66
push ecx
movss xmm0, dword [ebp - 0x368]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0x370]
movss dword [esp], xmm0
lea ecx, [ebp - 0x1e40]
call fcn.005de612
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x37c]
mov dword [eax + 0x8c], ecx
mov dword [eax + 0x90], edx
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x2c], 0
je 0x859c96
cmp dword [ebp - 0x37c], 0
je 0x859c96
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x2c]
mov dword [ebp - 0x2be0], ecx
mov edx, dword [ebp - 0x37c]
push edx
mov ecx, dword [ebp - 0x2be0]
call fcn.005e2177
jmp 0x85e5dd
mov eax, dword [ebp - 0x28]
movsx ecx, word [eax + 0x38]
cmp ecx, 0x1e
je 0x859cb7
mov eax, dword [ebp - 0x28]
movsx ecx, word [eax + 0x38]
cmp ecx, 0x17
jne 0x859eba
cmp dword [ebp - 0x34], 0
je 0x859eb5
mov eax, dword [ebp - 0x34]
movss xmm0, dword [eax + 0x30]
addss xmm0, dword [0x9b0664]
mov ecx, dword [ebp - 0x34]
push ecx
movss xmm1, dword [ecx + 0x2c]
movss dword [esp], xmm1
push ecx
movss dword [esp], xmm0
mov edx, dword [ebp - 0x34]
push ecx
movss xmm0, dword [edx + 0x28]
movss dword [esp], xmm0
lea ecx, [ebp - 0x390]
call fcn.005e0ce6
mov dword [ebp - 0x39c], 0
mov eax, dword [ebp - 0x28]
movsx ecx, word [eax + 0x38]
cmp ecx, 0x17
jne 0x859deb
mov dword [ebp - 0x39c], 2
cmp dword [ebp - 0x40], 0
je 0x859d81
mov eax, dword [ebp - 0x40]
push ecx
movss xmm0, dword [eax + 0x2c]
movss dword [esp], xmm0
mov ecx, dword [ebp - 0x40]
movss xmm0, dword [ecx + 0x30]
addss xmm0, dword [0x9b0664]
push ecx
movss dword [esp], xmm0
mov edx, dword [ebp - 0x40]
push ecx
movss xmm0, dword [edx + 0x28]
movss dword [esp], xmm0
lea ecx, [ebp - 0x1e54]
call fcn.005e0ce6
mov ecx, dword [eax]
mov dword [ebp - 0x390], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0x38c], edx
mov eax, dword [eax + 8]
mov dword [ebp - 0x388], eax
jmp 0x859deb
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax + 0x28]
cvtsi2ss xmm0, ecx
addss xmm0, dword [0x9b0664]
push ecx
movss dword [esp], xmm0
movss xmm0, dword [ebp - 0x74]
addss xmm0, dword [0x9b0664]
push ecx
movss dword [esp], xmm0
mov edx, dword [ebp - 0x28]
movzx eax, word [edx + 0x26]
cvtsi2ss xmm0, eax
addss xmm0, dword [0x9b0664]
push ecx
movss dword [esp], xmm0
lea ecx, [ebp - 0x1e68]
call fcn.005e0ce6
mov ecx, dword [eax]
mov dword [ebp - 0x390], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0x38c], edx
mov eax, dword [eax + 8]
mov dword [ebp - 0x388], eax
push 0x94
call fcn.005de946
add esp, 4
mov dword [ebp - 0x1e80], eax
mov dword [ebp - 4], 0xe
cmp dword [ebp - 0x1e80], 0
je 0x859e65
push 0x94
mov ecx, dword [ebp - 0x1e80]
call fcn.005deef0
push ecx
movss xmm0, dword [0x9b0640]
movss dword [esp], xmm0
mov eax, dword [ebp - 0x39c]
push eax
sub esp, 0xc
mov ecx, esp
mov edx, dword [ebp - 0x390]
mov dword [ecx], edx
mov eax, dword [ebp - 0x38c]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x388]
mov dword [ecx + 8], edx
mov ecx, dword [ebp - 0x1e80]
call fcn.005e0e94
mov dword [ebp - 0x2be0], eax
jmp 0x859e6f
mov dword [ebp - 0x2be0], 0
mov eax, dword [ebp - 0x2be0]
mov dword [ebp - 0x1e74], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x1e74]
mov dword [ebp - 0x3a8], ecx
cmp dword [ebp - 0x3a8], 0
je 0x859eb5
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x2c]
mov dword [ebp - 0x2be0], ecx
mov edx, dword [ebp - 0x3a8]
push edx
mov ecx, dword [ebp - 0x2be0]
call fcn.005e2177
jmp 0x85e5dd
mov eax, dword [ebp - 0x28]
movsx ecx, word [eax + 0x38]
cmp ecx, 0x37
jne 0x85a2b2
lea ecx, [ebp - 0x3bc]
call fcn.005e0b29
cmp dword [ebp - 0x40], 0
je 0x85a000
mov eax, dword [ebp - 0x40]
push ecx
movss xmm0, dword [eax + 0x2c]
movss dword [esp], xmm0
mov ecx, dword [ebp - 0x40]
movss xmm0, dword [ecx + 0x30]
addss xmm0, dword [0x9b0650]
push ecx
movss dword [esp], xmm0
mov edx, dword [ebp - 0x40]
push ecx
movss xmm0, dword [edx + 0x28]
movss dword [esp], xmm0
lea ecx, [ebp - 0x1e94]
call fcn.005e0ce6
mov ecx, dword [eax]
mov dword [ebp - 0x3bc], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0x3b8], edx
mov eax, dword [eax + 8]
mov dword [ebp - 0x3b4], eax
push 0x94
call fcn.005de946
add esp, 4
mov dword [ebp - 0x1eac], eax
mov dword [ebp - 4], 0xf
cmp dword [ebp - 0x1eac], 0
je 0x859fab
push 0x94
mov ecx, dword [ebp - 0x1eac]
call fcn.005deef0
push ecx
movss xmm0, dword [0x9b0640]
movss dword [esp], xmm0
push 3
sub esp, 0xc
mov eax, esp
mov ecx, dword [ebp - 0x3bc]
mov dword [eax], ecx
mov edx, dword [ebp - 0x3b8]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x3b4]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x1eac]
call fcn.005e0e94
mov dword [ebp - 0x2be0], eax
jmp 0x859fb5
mov dword [ebp - 0x2be0], 0
mov edx, dword [ebp - 0x2be0]
mov dword [ebp - 0x1ea0], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x1ea0]
mov dword [ebp - 0x3c8], eax
cmp dword [ebp - 0x3c8], 0
je 0x859ffb
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x2c]
mov dword [ebp - 0x2be0], ecx
mov edx, dword [ebp - 0x3c8]
push edx
mov ecx, dword [ebp - 0x2be0]
call fcn.005e2177
jmp 0x85a0cd
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax + 0x28]
cvtsi2ss xmm0, ecx
addss xmm0, dword [0x9b0664]
push ecx
movss dword [esp], xmm0
mov edx, dword [ebp - 0x28]
movzx eax, word [edx + 0x26]
cvtsi2ss xmm0, eax
addss xmm0, dword [0x9b0664]
push ecx
movss dword [esp], xmm0
lea ecx, [ebp - 0x1ebc]
call fcn.005de612
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [eax]
push edx
mov ecx, dword [ebp - 0x1c]
call fcn.005dd924
cvtsi2ss xmm0, eax
mulss xmm0, dword [0x9b0640]
movss dword [ebp - 0x3d4], xmm0
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax + 0x28]
cvtsi2ss xmm0, ecx
addss xmm0, dword [0x9b0664]
push ecx
movss dword [esp], xmm0
movss xmm0, dword [ebp - 0x3d4]
addss xmm0, dword [0x9b0650]
push ecx
movss dword [esp], xmm0
mov edx, dword [ebp - 0x28]
movzx eax, word [edx + 0x26]
cvtsi2ss xmm0, eax
addss xmm0, dword [0x9b0664]
push ecx
movss dword [esp], xmm0
lea ecx, [ebp - 0x1ed0]
call fcn.005e0ce6
mov ecx, dword [eax]
mov dword [ebp - 0x3bc], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0x3b8], edx
mov eax, dword [eax + 8]
mov dword [ebp - 0x3b4], eax
mov dword [ebp - 0x3e0], 0
jmp 0x85a0e8
mov eax, dword [ebp - 0x3e0]
add eax, 1
mov dword [ebp - 0x3e0], eax
cmp dword [ebp - 0x3e0], 0xd
jge 0x85a2ad
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax + 4]
cmp ecx, 0x39d
jne 0x85a112
cmp dword [ebp - 0x3e0], 1
jl 0x85a112
jmp 0x85a2ad
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax + 4]
cmp ecx, 0x39e
jne 0x85a12f
cmp dword [ebp - 0x3e0], 2
jl 0x85a12f
jmp 0x85a2ad
mov eax, dword [0xc62ea4]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x34]
mov dword [ebp - 0x2be0], edx
mov eax, dword [ebp - 0x3e0]
mov ecx, dword [ebp - 0x28]
movzx edx, word [ecx + eax*8 + 0x3c]
mov esi, esp
push edx
mov ecx, dword [0xc62ea4]
call dword [ebp - 0x2be0]
cmp esi, esp
call fcn.005e11e1
mov dword [ebp - 0x3ec], eax
cmp dword [ebp - 0x3ec], 0
je 0x85a2a8
push 0x94
call fcn.005de946
add esp, 4
mov dword [ebp - 0x1ee8], eax
mov dword [ebp - 4], 0x10
cmp dword [ebp - 0x1ee8], 0
je 0x85a248
push 0x94
mov ecx, dword [ebp - 0x1ee8]
call fcn.005e1326
mov eax, dword [ebp - 0x3ec]
push ecx
movss xmm0, dword [eax + 0x2c]
movss dword [esp], xmm0
mov ecx, dword [ebp - 0x3ec]
movss xmm0, dword [ecx + 0x30]
addss xmm0, dword [0x9b0664]
push ecx
movss dword [esp], xmm0
mov edx, dword [ebp - 0x3ec]
push ecx
movss xmm0, dword [edx + 0x28]
movss dword [esp], xmm0
lea ecx, [ebp - 0x1efc]
call fcn.005e0ce6
mov ecx, dword [eax]
mov dword [ebp - 0x1f18], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0x1f14], edx
mov eax, dword [eax + 8]
mov dword [ebp - 0x1f10], eax
mov ecx, dword [ebp - 0x3ec]
push ecx
push 5
sub esp, 0xc
mov edx, esp
mov eax, dword [ebp - 0x1f18]
mov dword [edx], eax
mov ecx, dword [ebp - 0x1f14]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x1f10]
mov dword [edx + 8], eax
mov ecx, dword [ebp - 0x1ee8]
call fcn.005e2b9f
mov dword [ebp - 0x2be0], eax
jmp 0x85a252
mov dword [ebp - 0x2be0], 0
mov ecx, dword [ebp - 0x2be0]
mov dword [ebp - 0x1edc], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x1edc]
mov dword [ebp - 0x3f8], edx
cmp dword [ebp - 0x3f8], 0
je 0x85a2a8
mov eax, dword [ebp - 0x3f8]
mov dword [eax + 0x84], 0x7d0
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x2c]
mov dword [ebp - 0x2be0], ecx
mov edx, dword [ebp - 0x3f8]
push edx
mov ecx, dword [ebp - 0x2be0]
call fcn.005e2177
jmp 0x85a0d9
jmp 0x85e5dd
mov eax, dword [ebp - 0x28]
movsx ecx, word [eax + 0x38]
cmp ecx, 0x4c
jne 0x85a2d1
push 0
push 0
push 0x22
call fcn.005de2e3
add esp, 0xc
jmp 0x85e5dd
mov eax, dword [ebp - 0x28]
movsx ecx, word [eax + 0x38]
cmp ecx, 0x4d
jne 0x85a2f0
push 0
push 0
push 0x24
call fcn.005de2e3
add esp, 0xc
jmp 0x85e5dd
mov eax, dword [ebp - 0x28]
movsx ecx, word [eax + 0x38]
cmp ecx, 0x57
jne 0x85a5e9
cmp dword [0xc6aff0], 0
jne 0x85a5e4
mov dword [ebp - 0x404], 0
jmp 0x85a328
mov eax, dword [ebp - 0x404]
add eax, 1
mov dword [ebp - 0x404], eax
cmp dword [ebp - 0x404], 0xa
jge 0x85a5e4
mov esi, esp
call dword [sym.imp.ucrtbased.dll_rand]
cmp esi, esp
call fcn.005e11e1
cdq
mov ecx, 5
idiv ecx
mov dword [ebp - 0x410], edx
push 0x184
call fcn.005de946
add esp, 4
mov dword [ebp - 0x1f30], eax
mov dword [ebp - 4], 0x11
cmp dword [ebp - 0x1f30], 0
je 0x85a441
push 0x184
mov ecx, dword [ebp - 0x1f30]
call fcn.005dfc3d
push 0x50
push 1
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
mov eax, dword [ebp - 0x404]
and eax, 0x80000001
jns 0x85a3a8
dec eax
or eax, 0xfffffffe
inc eax
cvtsi2ss xmm0, eax
mulss xmm0, dword [0x9b0640]
addss xmm0, dword [0x9b0650]
push ecx
movss dword [esp], xmm0
mov ecx, dword [ebp - 0x404]
and ecx, 0x80000001
jns 0x85a3d5
dec ecx
or ecx, 0xfffffffe
inc ecx
cvtsi2ss xmm0, ecx
mulss xmm0, dword [0x9b0640]
addss xmm0, dword [0x9b0650]
push ecx
movss dword [esp], xmm0
mov edx, dword [ebp - 0x404]
and edx, 0x80000001
jns 0x85a402
dec edx
or edx, 0xfffffffe
inc edx
cvtsi2ss xmm0, edx
mulss xmm0, dword [0x9b0640]
addss xmm0, dword [0x9b0650]
push ecx
movss dword [esp], xmm0
imul eax, dword [ebp - 0x404], 0x96
add eax, 0x3e8
push eax
push 0x38
mov ecx, dword [ebp - 0x1f30]
call fcn.005e33d8
mov dword [ebp - 0x2be0], eax
jmp 0x85a44b
mov dword [ebp - 0x2be0], 0
mov ecx, dword [ebp - 0x2be0]
mov dword [ebp - 0x1f24], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x1f24]
mov dword [ebp - 0x41c], edx
cmp dword [ebp - 0x41c], 0
je 0x85a5df
mov eax, dword [ebp - 0x404]
cdq
mov ecx, 3
idiv ecx
cvtsi2ss xmm0, edx
mulss xmm0, dword [0x9b0648]
addss xmm0, dword [0x9b4344]
mov edx, dword [ebp - 0x41c]
movss dword [edx + 0x13c], xmm0
mov eax, dword [ebp - 0x41c]
movss xmm0, dword [0x9b894c]
movss dword [eax + 0x140], xmm0
mov eax, dword [ebp - 0x41c]
mov dword [eax + 0x6c], 1
mov eax, dword [ebp - 0x41c]
mov dword [eax + 0x148], 3
mov eax, dword [ebp - 0x34]
movss xmm0, dword [eax + 0x2c]
addss xmm0, dword [0x9b0664]
mov ecx, dword [ebp - 0x410]
sub ecx, 3
cvtsi2ss xmm1, ecx
mulss xmm1, dword [0x9b0640]
addss xmm0, xmm1
push ecx
movss dword [esp], xmm0
mov edx, dword [ebp - 0x34]
movss xmm0, dword [edx + 0x30]
addss xmm0, dword [0x9b0664]
mov eax, dword [ebp - 0x410]
sub eax, 3
cvtsi2ss xmm1, eax
mulss xmm1, dword [0x9b0640]
addss xmm0, xmm1
addss xmm0, dword [0x9b0548]
push ecx
movss dword [esp], xmm0
mov ecx, dword [ebp - 0x34]
movss xmm0, dword [ecx + 0x28]
addss xmm0, dword [0x9b0664]
mov edx, dword [ebp - 0x410]
sub edx, 3
cvtsi2ss xmm1, edx
mulss xmm1, dword [0x9b0640]
addss xmm0, xmm1
push ecx
movss dword [esp], xmm0
lea ecx, [ebp - 0x1f44]
call fcn.005e0ce6
mov ecx, dword [ebp - 0x41c]
add ecx, 0x14c
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov eax, dword [eax + 8]
mov dword [ecx + 8], eax
mov eax, dword [ebp - 0x41c]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x3c]
mov dword [ebp - 0x2be0], edx
mov esi, esp
push 0xff4444ff
mov ecx, dword [ebp - 0x41c]
call dword [ebp - 0x2be0]
cmp esi, esp
call fcn.005e11e1
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x2c]
mov dword [ebp - 0x2be0], ecx
mov edx, dword [ebp - 0x41c]
push edx
mov ecx, dword [ebp - 0x2be0]
call fcn.005e2177
jmp 0x85a319
jmp 0x85e5dd
mov eax, dword [ebp - 0x28]
movsx ecx, word [eax + 0x38]
cmp ecx, 0x56
jne 0x85af08
cmp dword [ebp - 0x34], 0
je 0x85af03
mov eax, dword [ebp - 0x34]
movss xmm0, dword [eax + 0x30]
addss xmm0, dword [0x9b0664]
mov ecx, dword [ebp - 0x34]
push ecx
movss xmm1, dword [ecx + 0x2c]
movss dword [esp], xmm1
push ecx
movss dword [esp], xmm0
mov edx, dword [ebp - 0x34]
push ecx
movss xmm0, dword [edx + 0x28]
movss dword [esp], xmm0
lea ecx, [ebp - 0x430]
call fcn.005e0ce6
lea ecx, [ebp - 0x440]
call fcn.005e0bab
mov dword [ebp - 0x44c], 0
mov dword [ebp - 0x458], 0
jmp 0x85a670
mov eax, dword [ebp - 0x458]
add eax, 1
mov dword [ebp - 0x458], eax
cmp dword [ebp - 0x458], 0xd
jge 0x85a863
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax + 4]
cmp ecx, 0x39d
jne 0x85a69a
cmp dword [ebp - 0x458], 1
jl 0x85a69a
jmp 0x85a863
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax + 4]
cmp ecx, 0x39e
jne 0x85a6b7
cmp dword [ebp - 0x458], 2
jl 0x85a6b7
jmp 0x85a863
mov eax, dword [0xc62ea4]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x34]
mov dword [ebp - 0x2be0], edx
mov eax, dword [ebp - 0x458]
mov ecx, dword [ebp - 0x28]
movzx edx, word [ecx + eax*8 + 0x3c]
mov esi, esp
push edx
mov ecx, dword [0xc62ea4]
call dword [ebp - 0x2be0]
cmp esi, esp
call fcn.005e11e1
mov dword [ebp - 0x464], eax
cmp dword [ebp - 0x464], 0
je 0x85a85e
mov eax, dword [ebp - 0x34]
movss xmm0, dword [eax + 0x30]
addss xmm0, dword [0x9b0664]
mov ecx, dword [ebp - 0x464]
push ecx
movss xmm1, dword [ecx + 0x2c]
movss dword [esp], xmm1
push ecx
movss dword [esp], xmm0
mov edx, dword [ebp - 0x464]
push ecx
movss xmm0, dword [edx + 0x28]
movss dword [esp], xmm0
lea ecx, [ebp - 0x478]
call fcn.005e0ce6
mov eax, dword [ebp - 0x464]
movss xmm0, dword [ebp - 0x440]
addss xmm0, dword [eax + 0x28]
movss dword [ebp - 0x440], xmm0
mov eax, dword [ebp - 0x464]
movss xmm0, dword [ebp - 0x43c]
addss xmm0, dword [eax + 0x2c]
movss dword [ebp - 0x43c], xmm0
mov eax, dword [ebp - 0x44c]
add eax, 1
mov dword [ebp - 0x44c], eax
push 0x94
call fcn.005de946
add esp, 4
mov dword [ebp - 0x1f5c], eax
mov dword [ebp - 4], 0x12
cmp dword [ebp - 0x1f5c], 0
je 0x85a817
push 0x94
mov ecx, dword [ebp - 0x1f5c]
call fcn.005e0ef8
push 0
push 0
push 0
push 0x98
push 2
sub esp, 0xc
mov eax, esp
mov ecx, dword [ebp - 0x478]
mov dword [eax], ecx
mov edx, dword [ebp - 0x474]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x470]
mov dword [eax + 8], ecx
sub esp, 0xc
mov edx, esp
mov eax, dword [ebp - 0x430]
mov dword [edx], eax
mov ecx, dword [ebp - 0x42c]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x428]
mov dword [edx + 8], eax
mov ecx, dword [ebp - 0x1f5c]
call fcn.005dfada
mov dword [ebp - 0x2be0], eax
jmp 0x85a821
mov dword [ebp - 0x2be0], 0
mov ecx, dword [ebp - 0x2be0]
mov dword [ebp - 0x1f50], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x1f50]
mov dword [ebp - 0x484], edx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x2c]
mov dword [ebp - 0x2be0], ecx
mov edx, dword [ebp - 0x484]
push edx
mov ecx, dword [ebp - 0x2be0]
call fcn.005e2177
jmp 0x85a661
lea ecx, [ebp - 0x494]
call fcn.005e0bab
cmp dword [ebp - 0x44c], 0
jg 0x85a8c7
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax + 0x28]
cvtsi2ss xmm0, ecx
addss xmm0, dword [0x9b0664]
push ecx
movss dword [esp], xmm0
mov edx, dword [ebp - 0x28]
movzx eax, word [edx + 0x26]
cvtsi2ss xmm0, eax
addss xmm0, dword [0x9b0664]
push ecx
movss dword [esp], xmm0
lea ecx, [ebp - 0x1f6c]
call fcn.005de612
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [ebp - 0x494], ecx
mov dword [ebp - 0x490], edx
jmp 0x85a8f8
cvtsi2ss xmm0, dword [ebp - 0x44c]
push ecx
movss dword [esp], xmm0
lea eax, [ebp - 0x1f7c]
push eax
lea ecx, [ebp - 0x440]
call fcn.005e04f3
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [ebp - 0x494], ecx
mov dword [ebp - 0x490], edx
movss xmm0, dword [ebp - 0x490]
xorps xmm0, xmmword [0x9b0610]
mov eax, dword [ebp - 0x34]
addss xmm0, dword [eax + 0x2c]
push ecx
movss dword [esp], xmm0
mov ecx, dword [ebp - 0x34]
movss xmm0, dword [ebp - 0x494]
subss xmm0, dword [ecx + 0x28]
push ecx
movss dword [esp], xmm0
call fcn.005ddf7d
add esp, 8
fstp dword [ebp - 0x4a0]
movss xmm0, dword [ebp - 0x4a0]
subss xmm0, dword [0x9b4704]
movss dword [ebp - 0x4a0], xmm0
xorps xmm0, xmm0
comiss xmm0, dword [ebp - 0x4a0]
jbe 0x85a975
movss xmm0, dword [ebp - 0x4a0]
addss xmm0, dword [0x9b1434]
movss dword [ebp - 0x4a0], xmm0
movss xmm0, dword [ebp - 0x4a0]
comiss xmm0, dword [0x9b1434]
jbe 0x85a99e
movss xmm0, dword [ebp - 0x4a0]
subss xmm0, dword [0x9b1434]
movss dword [ebp - 0x4a0], xmm0
movss xmm0, dword [ebp - 0x4a0]
mulss xmm0, dword [0x9b1438]
divss xmm0, dword [0x9b1434]
cvttss2si eax, xmm0
mov dword [ebp - 0x4ac], eax
mov eax, dword [ebp - 0x4ac]
sub eax, 3
mov dword [ebp - 0x4b8], eax
mov eax, dword [ebp - 0x4ac]
add eax, 3
mov dword [ebp - 0x4c4], eax
cmp dword [ebp - 0x4b8], 0
jl 0x85a9f4
cmp dword [ebp - 0x4c4], 0xc
jle 0x85ad6f
mov dword [ebp - 0x4d0], 0
mov dword [ebp - 0x4dc], 0
cmp dword [ebp - 0x4b8], 0
jl 0x85aa2e
mov eax, dword [ebp - 0x4b8]
mov dword [ebp - 0x4d0], eax
mov eax, dword [ebp - 0x4c4]
sub eax, 0xc
mov dword [ebp - 0x4dc], eax
jmp 0x85aa49
mov eax, dword [ebp - 0x4b8]
add eax, 0xc
mov dword [ebp - 0x4d0], eax
mov eax, dword [ebp - 0x4c4]
mov dword [ebp - 0x4dc], eax
mov dword [ebp - 0x4e8], 0
jmp 0x85aa64
mov eax, dword [ebp - 0x4e8]
add eax, 1
mov dword [ebp - 0x4e8], eax
mov eax, dword [ebp - 0x4e8]
cmp eax, dword [ebp - 0x4dc]
jge 0x85abdb
mov eax, dword [ebp - 0x4e8]
mov ecx, dword [ebp - 0x1c]
movss xmm0, dword [ebp - 0x494]
addss xmm0, dword [ecx + eax*8 + 0x277a8]
mov edx, dword [ebp - 0x4e8]
mov eax, dword [ebp - 0x1c]
movss xmm1, dword [ebp - 0x490]
addss xmm1, dword [eax + edx*8 + 0x277ac]
push ecx
movss dword [esp], xmm1
push ecx
movss dword [esp], xmm0
lea ecx, [ebp - 0x4f8]
call fcn.005de612
mov eax, dword [ebp - 0x34]
movss xmm0, dword [eax + 0x30]
addss xmm0, dword [0x9b0664]
push ecx
movss xmm1, dword [ebp - 0x4f4]
movss dword [esp], xmm1
push ecx
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0x4f8]
movss dword [esp], xmm0
lea ecx, [ebp - 0x50c]
call fcn.005e0ce6
push 0x94
call fcn.005de946
add esp, 4
mov dword [ebp - 0x1f94], eax
mov dword [ebp - 4], 0x13
cmp dword [ebp - 0x1f94], 0
je 0x85ab8f
push 0x94
mov ecx, dword [ebp - 0x1f94]
call fcn.005e0ef8
push 0
push 0
push 0
push 0x98
push 2
sub esp, 0xc
mov eax, esp
mov ecx, dword [ebp - 0x50c]
mov dword [eax], ecx
mov edx, dword [ebp - 0x508]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x504]
mov dword [eax + 8], ecx
sub esp, 0xc
mov edx, esp
mov eax, dword [ebp - 0x430]
mov dword [edx], eax
mov ecx, dword [ebp - 0x42c]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x428]
mov dword [edx + 8], eax
mov ecx, dword [ebp - 0x1f94]
call fcn.005dfada
mov dword [ebp - 0x2be0], eax
jmp 0x85ab99
mov dword [ebp - 0x2be0], 0
mov ecx, dword [ebp - 0x2be0]
mov dword [ebp - 0x1f88], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x1f88]
mov dword [ebp - 0x518], edx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x2c]
mov dword [ebp - 0x2be0], ecx
mov edx, dword [ebp - 0x518]
push edx
mov ecx, dword [ebp - 0x2be0]
call fcn.005e2177
jmp 0x85aa55
mov eax, dword [ebp - 0x4d0]
mov dword [ebp - 0x524], eax
jmp 0x85abf8
mov eax, dword [ebp - 0x524]
add eax, 1
mov dword [ebp - 0x524], eax
cmp dword [ebp - 0x524], 0xc
jge 0x85ad6a
mov eax, dword [ebp - 0x524]
mov ecx, dword [ebp - 0x1c]
movss xmm0, dword [ebp - 0x494]
addss xmm0, dword [ecx + eax*8 + 0x277a8]
mov edx, dword [ebp - 0x524]
mov eax, dword [ebp - 0x1c]
movss xmm1, dword [ebp - 0x490]
addss xmm1, dword [eax + edx*8 + 0x277ac]
push ecx
movss dword [esp], xmm1
push ecx
movss dword [esp], xmm0
lea ecx, [ebp - 0x534]
call fcn.005de612
mov eax, dword [ebp - 0x34]
movss xmm0, dword [eax + 0x30]
addss xmm0, dword [0x9b0664]
push ecx
movss xmm1, dword [ebp - 0x530]
movss dword [esp], xmm1
push ecx
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0x534]
movss dword [esp], xmm0
lea ecx, [ebp - 0x548]
call fcn.005e0ce6
push 0x94
call fcn.005de946
add esp, 4
mov dword [ebp - 0x1fac], eax
mov dword [ebp - 4], 0x14
cmp dword [ebp - 0x1fac], 0
je 0x85ad1e
push 0x94
mov ecx, dword [ebp - 0x1fac]
call fcn.005e0ef8
push 0
push 0
push 0
push 0x98
push 2
sub esp, 0xc
mov eax, esp
mov ecx, dword [ebp - 0x548]
mov dword [eax], ecx
mov edx, dword [ebp - 0x544]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x540]
mov dword [eax + 8], ecx
sub esp, 0xc
mov edx, esp
mov eax, dword [ebp - 0x430]
mov dword [edx], eax
mov ecx, dword [ebp - 0x42c]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x428]
mov dword [edx + 8], eax
mov ecx, dword [ebp - 0x1fac]
call fcn.005dfada
mov dword [ebp - 0x2be0], eax
jmp 0x85ad28
mov dword [ebp - 0x2be0], 0
mov ecx, dword [ebp - 0x2be0]
mov dword [ebp - 0x1fa0], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x1fa0]
mov dword [ebp - 0x554], edx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x2c]
mov dword [ebp - 0x2be0], ecx
mov edx, dword [ebp - 0x554]
push edx
mov ecx, dword [ebp - 0x2be0]
call fcn.005e2177
jmp 0x85abe9
jmp 0x85af03
mov eax, dword [ebp - 0x4b8]
mov dword [ebp - 0x560], eax
jmp 0x85ad8c
mov eax, dword [ebp - 0x560]
add eax, 1
mov dword [ebp - 0x560], eax
mov eax, dword [ebp - 0x560]
cmp eax, dword [ebp - 0x4c4]
jge 0x85af03
mov eax, dword [ebp - 0x560]
mov ecx, dword [ebp - 0x1c]
movss xmm0, dword [ebp - 0x494]
addss xmm0, dword [ecx + eax*8 + 0x277a8]
mov edx, dword [ebp - 0x560]
mov eax, dword [ebp - 0x1c]
movss xmm1, dword [ebp - 0x490]
addss xmm1, dword [eax + edx*8 + 0x277ac]
push ecx
movss dword [esp], xmm1
push ecx
movss dword [esp], xmm0
lea ecx, [ebp - 0x570]
call fcn.005de612
mov eax, dword [ebp - 0x34]
movss xmm0, dword [eax + 0x30]
addss xmm0, dword [0x9b0664]
push ecx
movss xmm1, dword [ebp - 0x56c]
movss dword [esp], xmm1
push ecx
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0x570]
movss dword [esp], xmm0
lea ecx, [ebp - 0x584]
call fcn.005e0ce6
push 0x94
call fcn.005de946
add esp, 4
mov dword [ebp - 0x1fc4], eax
mov dword [ebp - 4], 0x15
cmp dword [ebp - 0x1fc4], 0
je 0x85aeb7
push 0x94
mov ecx, dword [ebp - 0x1fc4]
call fcn.005e0ef8
push 0
push 0
push 0
push 0x98
push 2
sub esp, 0xc
mov eax, esp
mov ecx, dword [ebp - 0x584]
mov dword [eax], ecx
mov edx, dword [ebp - 0x580]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x57c]
mov dword [eax + 8], ecx
sub esp, 0xc
mov edx, esp
mov eax, dword [ebp - 0x430]
mov dword [edx], eax
mov ecx, dword [ebp - 0x42c]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x428]
mov dword [edx + 8], eax
mov ecx, dword [ebp - 0x1fc4]
call fcn.005dfada
mov dword [ebp - 0x2be0], eax
jmp 0x85aec1
mov dword [ebp - 0x2be0], 0
mov ecx, dword [ebp - 0x2be0]
mov dword [ebp - 0x1fb8], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x1fb8]
mov dword [ebp - 0x590], edx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x2c]
mov dword [ebp - 0x2be0], ecx
mov edx, dword [ebp - 0x590]
push edx
mov ecx, dword [ebp - 0x2be0]
call fcn.005e2177
jmp 0x85ad7d
jmp 0x85e5dd
mov eax, dword [ebp - 0x28]
movsx ecx, word [eax + 0x38]
cmp ecx, 0x63
jne 0x85b70e
cmp dword [ebp - 0x40], 0
je 0x85b3ef
mov byte [ebp - 0x599], 0
mov eax, dword [ebp - 0x40]
cmp dword [eax + 0x230], 4
je 0x85af41
mov eax, dword [ebp - 0x40]
cmp dword [eax + 0x230], 8
jne 0x85af48
mov byte [ebp - 0x599], 1
push 0x1c0
call fcn.005de946
add esp, 4
mov dword [ebp - 0x1fdc], eax
mov dword [ebp - 4], 0x16
cmp dword [ebp - 0x1fdc], 0
je 0x85b0f7
push 0x1c0
mov ecx, dword [ebp - 0x1fdc]
call fcn.005dfc4c
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
lea ecx, [ebp - 0x1ff0]
call fcn.005e0ce6
mov ecx, dword [eax]
mov dword [ebp - 0x2038], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0x2034], edx
mov eax, dword [eax + 8]
mov dword [ebp - 0x2030], eax
mov ecx, dword [ebp - 0x2038]
mov dword [ebp - 0x2068], ecx
mov edx, dword [ebp - 0x2034]
mov dword [ebp - 0x2064], edx
mov eax, dword [ebp - 0x2030]
mov dword [ebp - 0x2060], eax
mov ecx, dword [ebp - 0x2068]
mov dword [ebp - 0x2098], ecx
mov edx, dword [ebp - 0x2064]
mov dword [ebp - 0x2094], edx
mov eax, dword [ebp - 0x2060]
mov dword [ebp - 0x2090], eax
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
lea ecx, [ebp - 0x2004]
call fcn.005e0ce6
mov ecx, dword [eax]
mov dword [ebp - 0x2020], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0x201c], edx
mov eax, dword [eax + 8]
mov dword [ebp - 0x2018], eax
mov ecx, dword [ebp - 0x2020]
mov dword [ebp - 0x2050], ecx
mov edx, dword [ebp - 0x201c]
mov dword [ebp - 0x204c], edx
mov eax, dword [ebp - 0x2018]
mov dword [ebp - 0x2048], eax
mov ecx, dword [ebp - 0x2050]
mov dword [ebp - 0x2080], ecx
mov edx, dword [ebp - 0x204c]
mov dword [ebp - 0x207c], edx
mov eax, dword [ebp - 0x2048]
mov dword [ebp - 0x2078], eax
mov ecx, dword [ebp - 0x40]
mov edx, dword [ecx + 0x5c]
mov dword [ebp - 0x2be0], edx
push 0
push 0
sub esp, 0xc
mov eax, esp
mov ecx, dword [ebp - 0x2098]
mov dword [eax], ecx
mov edx, dword [ebp - 0x2094]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x2090]
mov dword [eax + 8], ecx
sub esp, 0xc
mov edx, esp
mov eax, dword [ebp - 0x2080]
mov dword [edx], eax
mov ecx, dword [ebp - 0x207c]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x2078]
mov dword [edx + 8], eax
mov ecx, dword [ebp - 0x2be0]
push ecx
mov ecx, dword [ebp - 0x1fdc]
call fcn.005e19d4
mov dword [ebp - 0x2be4], eax
jmp 0x85b101
mov dword [ebp - 0x2be4], 0
mov edx, dword [ebp - 0x2be4]
mov dword [ebp - 0x1fd0], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x1fd0]
mov dword [ebp - 0x5a8], eax
cmp dword [ebp - 0x40], 0
je 0x85b1aa
mov eax, dword [ebp - 0x40]
movsx ecx, byte [eax + 0xa5f]
test ecx, ecx
jle 0x85b1aa
mov eax, dword [ebp - 0x40]
cmp dword [eax + 0x12c], 0
je 0x85b1aa
mov eax, dword [ebp - 0x5a8]
mov ecx, dword [ebp - 0x40]
mov edx, dword [ecx + 0xa64]
mov dword [eax + 0x5c], edx
push 0x20
mov eax, dword [ebp - 0x40]
add eax, 0x132
push eax
mov ecx, dword [ebp - 0x5a8]
add ecx, 0xf4
push ecx
call fcn.005e28b6
add esp, 0xc
mov eax, dword [ebp - 0x5a8]
mov ecx, dword [ebp - 0x40]
mov edx, dword [ecx + 0x5c]
mov dword [eax + 0x1b4], edx
push 0x20
mov eax, dword [ebp - 0x40]
add eax, 0x172
push eax
mov ecx, dword [ebp - 0x5a8]
add ecx, 0x190
push ecx
call fcn.005e28b6
add esp, 0xc
jmp 0x85b1ca
push 0x20
mov eax, dword [ebp - 0x40]
add eax, 0x172
push eax
mov ecx, dword [ebp - 0x5a8]
add ecx, 0xf4
push ecx
call fcn.005e28b6
add esp, 0xc
mov eax, dword [ebp - 0x5a8]
movss xmm0, dword [0x9b0664]
movss dword [eax + 0x138], xmm0
mov eax, dword [ebp - 0x5a8]
movss xmm0, dword [0x9b0664]
movss dword [eax + 0x13c], xmm0
mov eax, dword [ebp - 0x5a8]
movss xmm0, dword [0x9b0664]
movss dword [eax + 0x140], xmm0
mov eax, dword [ebp - 0x5a8]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x80]
mov dword [ebp - 0x2be0], edx
movzx eax, byte [ebp - 0x599]
mov esi, esp
push eax
mov ecx, dword [ebp - 0x5a8]
call dword [ebp - 0x2be0]
cmp esi, esp
call fcn.005e11e1
mov eax, dword [ebp - 0x5a8]
mov dword [eax + 0x168], 1
mov eax, dword [ebp - 0x5a8]
mov dword [eax + 0x128], 0xbb8
mov eax, dword [ebp - 0x5a8]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x3c]
mov dword [ebp - 0x2be0], edx
mov esi, esp
mov eax, dword [ebp - 0x40]
push ecx
movss xmm0, dword [eax + 0x2c]
movss dword [esp], xmm0
mov ecx, dword [ebp - 0x40]
movss xmm0, dword [ecx + 0x30]
addss xmm0, dword [0x9b1fac]
push ecx
movss dword [esp], xmm0
mov edx, dword [ebp - 0x40]
push ecx
movss xmm0, dword [edx + 0x28]
movss dword [esp], xmm0
mov ecx, dword [ebp - 0x5a8]
call dword [ebp - 0x2be0]
cmp esi, esp
call fcn.005e11e1
mov eax, dword [ebp - 0x40]
movsx ecx, byte [eax + 0xa5f]
test ecx, ecx
jle 0x85b368
mov eax, dword [ebp - 0x40]
cmp dword [eax + 0x12c], 0
je 0x85b368
mov eax, dword [ebp - 0x5a8]
cmp dword [eax + 0x60], 0
je 0x85b31a
mov eax, dword [ebp - 0x5a8]
mov ecx, dword [eax + 0x60]
mov dword [ebp - 0x2be0], ecx
mov edx, dword [ebp - 0x5a8]
imul eax, dword [edx + 0x5c], 0x2a0
mov ecx, 4
imul edx, ecx, 0
mov eax, dword [eax + edx + 0xc2b4a0]
push eax
mov ecx, dword [ebp - 0x2be0]
call fcn.005de496
mov eax, dword [ebp - 0x5a8]
cmp dword [eax + 0x1b0], 0
je 0x85b366
mov eax, dword [ebp - 0x5a8]
mov ecx, dword [eax + 0x1b0]
mov dword [ebp - 0x2be0], ecx
mov edx, dword [ebp - 0x5a8]
imul eax, dword [edx + 0x1b4], 0x2a0
mov ecx, 4
imul edx, ecx, 0x18
mov eax, dword [eax + edx + 0xc2b4a0]
push eax
mov ecx, dword [ebp - 0x2be0]
call fcn.005de496
jmp 0x85b39f
mov eax, dword [ebp - 0x5a8]
mov ecx, dword [eax + 0x60]
mov dword [ebp - 0x2be0], ecx
mov edx, dword [ebp - 0x5a8]
imul eax, dword [edx + 0x5c], 0x2a0
mov ecx, 4
imul edx, ecx, 0
mov eax, dword [eax + edx + 0xc2b4a0]
push eax
mov ecx, dword [ebp - 0x2be0]
call fcn.005de496
mov eax, dword [ebp - 0x5a8]
mov ecx, dword [ebp - 0x40]
mov edx, dword [ecx + 0x34]
mov dword [eax + 0x134], edx
mov eax, dword [ebp - 0x5a8]
mov dword [eax + 0x12c], 1
mov eax, dword [ebp - 0x5a8]
mov dword [eax + 0x130], 8
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x2c]
mov dword [ebp - 0x2be0], ecx
mov edx, dword [ebp - 0x5a8]
push edx
mov ecx, dword [ebp - 0x2be0]
call fcn.005e2177
mov dword [ebp - 0x5b4], 0xaaaaaaaa
mov dword [ebp - 0x5c0], 0xffffffff
jmp 0x85b414
mov eax, dword [ebp - 0x5c0]
add eax, 1
mov dword [ebp - 0x5c0], eax
cmp dword [ebp - 0x5c0], 2
jge 0x85b5a6
push 0xcc
call fcn.005de946
add esp, 4
mov dword [ebp - 0x20b0], eax
mov dword [ebp - 4], 0x17
cmp dword [ebp - 0x20b0], 0
je 0x85b47e
push 0xcc
mov ecx, dword [ebp - 0x20b0]
call fcn.005de694
push 0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
mov eax, dword [ebp - 0x5b4]
push eax
push 0x1fa
mov ecx, dword [ebp - 0x20b0]
call fcn.005e0935
mov dword [ebp - 0x2be0], eax
jmp 0x85b488
mov dword [ebp - 0x2be0], 0
mov ecx, dword [ebp - 0x2be0]
mov dword [ebp - 0x20a4], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x20a4]
mov dword [ebp - 0x5cc], edx
mov eax, dword [ebp - 0x5cc]
mov dword [eax + 0x6c], 1
mov eax, dword [ebp - 0x5cc]
mov byte [eax + 0xac], 1
mov eax, dword [ebp - 0x5cc]
mov dword [eax + 0xb8], 0xbb8
mov eax, dword [ebp - 0x5cc]
mov dword [eax + 0xb0], 0xbb8
mov eax, dword [ebp - 0x5cc]
movss xmm0, dword [0x9b2d90]
movss dword [eax + 0x98], xmm0
mov eax, dword [ebp - 0x5cc]
movss xmm0, dword [0x9b1a5c]
movss dword [eax + 0x9c], xmm0
cvtsi2ss xmm0, dword [ebp - 0x5c0]
mulss xmm0, dword [0x9b0650]
mov eax, dword [ebp - 0x40]
addss xmm0, dword [eax + 0x2c]
push ecx
movss dword [esp], xmm0
mov ecx, dword [ebp - 0x40]
movss xmm0, dword [ecx + 0x30]
subss xmm0, dword [0x9b0664]
push ecx
movss dword [esp], xmm0
cvtsi2ss xmm0, dword [ebp - 0x5c0]
mulss xmm0, dword [0x9b0650]
mov edx, dword [ebp - 0x40]
addss xmm0, dword [edx + 0x28]
push ecx
movss dword [esp], xmm0
lea ecx, [ebp - 0x20c4]
call fcn.005e0ce6
mov ecx, dword [ebp - 0x5cc]
add ecx, 0x74
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov eax, dword [eax + 8]
mov dword [ecx + 8], eax
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x2c]
mov dword [ebp - 0x2be0], ecx
mov edx, dword [ebp - 0x5cc]
push edx
mov ecx, dword [ebp - 0x2be0]
call fcn.005e2177
jmp 0x85b405
push 0xc0
call fcn.005de946
add esp, 4
mov dword [ebp - 0x20dc], eax
mov dword [ebp - 4], 0x18
cmp dword [ebp - 0x20dc], 0
je 0x85b5fe
push 0xc0
mov ecx, dword [ebp - 0x20dc]
call fcn.005e38f1
push ecx
movss xmm0, dword [0x9b04e0]
movss dword [esp], xmm0
push 0x76
push 4
mov ecx, dword [ebp - 0x20dc]
call fcn.005e3a95
mov dword [ebp - 0x2be0], eax
jmp 0x85b608
mov dword [ebp - 0x2be0], 0
mov eax, dword [ebp - 0x2be0]
mov dword [ebp - 0x20d0], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x20d0]
mov dword [ebp - 0x5d8], ecx
mov eax, dword [ebp - 0x5d8]
mov dword [eax + 0xa0], 0x1f40
mov eax, dword [ebp - 0x5d8]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x44]
mov dword [ebp - 0x2be0], edx
mov esi, esp
mov eax, dword [ebp - 0x5b4]
push eax
mov ecx, dword [ebp - 0x5d8]
call dword [ebp - 0x2be0]
cmp esi, esp
call fcn.005e11e1
mov eax, dword [ebp - 0x5d8]
mov dword [eax + 0x6c], 1
mov eax, dword [ebp - 0x5d8]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x3c]
mov dword [ebp - 0x2be0], edx
mov eax, dword [ebp - 0x40]
push ecx
movss xmm0, dword [eax + 0x2c]
movss dword [esp], xmm0
mov ecx, dword [ebp - 0x40]
push ecx
movss xmm0, dword [ecx + 0x28]
movss dword [esp], xmm0
lea ecx, [ebp - 0x20ec]
call fcn.005de612
mov edx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x2100], edx
mov dword [ebp - 0x20fc], eax
mov esi, esp
mov ecx, dword [ebp - 0x20fc]
push ecx
mov edx, dword [ebp - 0x2100]
push edx
mov ecx, dword [ebp - 0x5d8]
call dword [ebp - 0x2be0]
cmp esi, esp
call fcn.005e11e1
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x2c]
mov dword [ebp - 0x2be0], ecx
mov edx, dword [ebp - 0x5d8]
push edx
mov ecx, dword [ebp - 0x2be0]
call fcn.005e2177
push 0
push 0
push 1
call fcn.005de2e3
add esp, 0xc
jmp 0x85e5dd
mov eax, dword [ebp - 0x28]
movsx ecx, word [eax + 0x38]
cmp ecx, 0x64
jne 0x85b730
push 0
push 0
push 0x9c
call fcn.005de2e3
add esp, 0xc
jmp 0x85e5dd
mov eax, dword [ebp - 0x28]
movsx ecx, word [eax + 0x38]
cmp ecx, 0x6a
je 0x85b748
mov eax, dword [ebp - 0x28]
movsx ecx, word [eax + 0x38]
cmp ecx, 0x6c
jne 0x85b78c
mov dword [ebp - 0x5e4], 0
mov eax, dword [ebp - 0x28]
movsx ecx, word [eax + 0x38]
cmp ecx, 0x6c
jne 0x85b768
mov dword [ebp - 0x5e4], 1
cmp dword [ebp - 0x40], 0
je 0x85b787
cmp dword [ebp - 0x34], 0
je 0x85b787
mov eax, dword [ebp - 0x5e4]
push eax
mov ecx, dword [ebp - 0x40]
push ecx
mov ecx, dword [ebp - 0x34]
call fcn.005e13ee
jmp 0x85e5dd
mov eax, dword [ebp - 0x28]
movsx ecx, word [eax + 0x38]
cmp ecx, 0x6b
jne 0x85b9b9
cmp dword [ebp - 0x40], 0
je 0x85b9b4
cmp dword [ebp - 0x34], 0
je 0x85b9b4
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax + 0x5c]
mov edx, dword [ebp - 0x34]
movss xmm0, dword [ecx*8 + 0x27966f4]
mulss xmm0, dword [edx + 0x38]
mulss xmm0, dword [str.333_]
mov eax, dword [ebp - 0x34]
addss xmm0, dword [eax + 0x30]
movss dword [ebp - 0x74], xmm0
mov eax, dword [ebp - 0x34]
cmp dword [eax + 0x5c], 8
jne 0x85b7ff
mov eax, dword [ebp - 0x34]
movss xmm0, dword [0x9b04e0]
mulss xmm0, dword [eax + 0x38]
addss xmm0, dword [ebp - 0x74]
movss dword [ebp - 0x74], xmm0
mov eax, dword [ebp - 0x34]
push ecx
movss xmm0, dword [eax + 0x2c]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0x74]
movss dword [esp], xmm0
mov ecx, dword [ebp - 0x34]
push ecx
movss xmm0, dword [ecx + 0x28]
movss dword [esp], xmm0
lea ecx, [ebp - 0x5f8]
call fcn.005e0ce6
push 0xdc
call fcn.005de946
add esp, 4
mov dword [ebp - 0x2118], eax
mov dword [ebp - 4], 0x19
cmp dword [ebp - 0x2118], 0
je 0x85b96d
push 0xdc
mov ecx, dword [ebp - 0x2118]
call fcn.005dfc79
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
lea ecx, [ebp - 0x212c]
call fcn.005e0ce6
mov ecx, dword [eax]
mov dword [ebp - 0x2160], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0x215c], edx
mov eax, dword [eax + 8]
mov dword [ebp - 0x2158], eax
mov ecx, dword [ebp - 0x2160]
mov dword [ebp - 0x2178], ecx
mov edx, dword [ebp - 0x215c]
mov dword [ebp - 0x2174], edx
mov eax, dword [ebp - 0x2158]
mov dword [ebp - 0x2170], eax
mov ecx, dword [ebp - 0x5f8]
mov dword [ebp - 0x2148], ecx
mov edx, dword [ebp - 0x5f4]
mov dword [ebp - 0x2144], edx
mov eax, dword [ebp - 0x5f0]
mov dword [ebp - 0x2140], eax
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push 5
push ecx
movss xmm0, dword [0x9b04e0]
movss dword [esp], xmm0
push 0x3e8
push 0xff554411
push 0xffffaa00
sub esp, 0xc
mov ecx, esp
mov edx, dword [ebp - 0x2178]
mov dword [ecx], edx
mov eax, dword [ebp - 0x2174]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x2170]
mov dword [ecx + 8], edx
mov eax, dword [ebp - 0x40]
push eax
sub esp, 0xc
mov ecx, esp
mov edx, dword [ebp - 0x2148]
mov dword [ecx], edx
mov eax, dword [ebp - 0x2144]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x2140]
mov dword [ecx + 8], edx
mov ecx, dword [ebp - 0x2118]
call fcn.005e2456
mov dword [ebp - 0x2be0], eax
jmp 0x85b977
mov dword [ebp - 0x2be0], 0
mov eax, dword [ebp - 0x2be0]
mov dword [ebp - 0x210c], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x210c]
mov dword [ebp - 0x604], ecx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x2c]
mov dword [ebp - 0x2be0], ecx
mov edx, dword [ebp - 0x604]
push edx
mov ecx, dword [ebp - 0x2be0]
call fcn.005e2177
jmp 0x85e5dd
mov eax, dword [ebp - 0x28]
movsx ecx, word [eax + 0x38]
cmp ecx, 0x6d
jne 0x85bbe6
cmp dword [ebp - 0x40], 0
je 0x85bbe1
cmp dword [ebp - 0x34], 0
je 0x85bbe1
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax + 0x5c]
mov edx, dword [ebp - 0x34]
movss xmm0, dword [ecx*8 + 0x27966f4]
mulss xmm0, dword [edx + 0x38]
mulss xmm0, dword [str.333_]
mov eax, dword [ebp - 0x34]
addss xmm0, dword [eax + 0x30]
movss dword [ebp - 0x74], xmm0
mov eax, dword [ebp - 0x34]
cmp dword [eax + 0x5c], 0x2a
jne 0x85ba2c
mov eax, dword [ebp - 0x34]
movss xmm0, dword [0x9b04e0]
mulss xmm0, dword [eax + 0x38]
addss xmm0, dword [ebp - 0x74]
movss dword [ebp - 0x74], xmm0
mov eax, dword [ebp - 0x34]
push ecx
movss xmm0, dword [eax + 0x2c]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0x74]
movss dword [esp], xmm0
mov ecx, dword [ebp - 0x34]
push ecx
movss xmm0, dword [ecx + 0x28]
movss dword [esp], xmm0
lea ecx, [ebp - 0x618]
call fcn.005e0ce6
push 0xdc
call fcn.005de946
add esp, 4
mov dword [ebp - 0x2190], eax
mov dword [ebp - 4], 0x1a
cmp dword [ebp - 0x2190], 0
je 0x85bb9a
push 0xdc
mov ecx, dword [ebp - 0x2190]
call fcn.005dfc79
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
lea ecx, [ebp - 0x21a4]
call fcn.005e0ce6
mov ecx, dword [eax]
mov dword [ebp - 0x21d8], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0x21d4], edx
mov eax, dword [eax + 8]
mov dword [ebp - 0x21d0], eax
mov ecx, dword [ebp - 0x21d8]
mov dword [ebp - 0x21f0], ecx
mov edx, dword [ebp - 0x21d4]
mov dword [ebp - 0x21ec], edx
mov eax, dword [ebp - 0x21d0]
mov dword [ebp - 0x21e8], eax
mov ecx, dword [ebp - 0x618]
mov dword [ebp - 0x21c0], ecx
mov edx, dword [ebp - 0x614]
mov dword [ebp - 0x21bc], edx
mov eax, dword [ebp - 0x610]
mov dword [ebp - 0x21b8], eax
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push 5
push ecx
movss xmm0, dword [0x9b04e0]
movss dword [esp], xmm0
push 0x3e8
push 0xaa663311
push 0xff550000
sub esp, 0xc
mov ecx, esp
mov edx, dword [ebp - 0x21f0]
mov dword [ecx], edx
mov eax, dword [ebp - 0x21ec]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x21e8]
mov dword [ecx + 8], edx
mov eax, dword [ebp - 0x40]
push eax
sub esp, 0xc
mov ecx, esp
mov edx, dword [ebp - 0x21c0]
mov dword [ecx], edx
mov eax, dword [ebp - 0x21bc]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x21b8]
mov dword [ecx + 8], edx
mov ecx, dword [ebp - 0x2190]
call fcn.005e2456
mov dword [ebp - 0x2be0], eax
jmp 0x85bba4
mov dword [ebp - 0x2be0], 0
mov eax, dword [ebp - 0x2be0]
mov dword [ebp - 0x2184], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x2184]
mov dword [ebp - 0x624], ecx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x2c]
mov dword [ebp - 0x2be0], ecx
mov edx, dword [ebp - 0x624]
push edx
mov ecx, dword [ebp - 0x2be0]
call fcn.005e2177
jmp 0x85e5dd
mov eax, dword [ebp - 0x28]
movsx ecx, word [eax + 0x38]
cmp ecx, 0x6e
jne 0x85c7f3
lea ecx, [ebp - 0x638]
call fcn.005e0b29
lea ecx, [ebp - 0x64c]
call fcn.005e0b29
mov byte [ebp - 0x655], 0
mov dword [ebp - 0x664], 0
jmp 0x85bc2e
mov eax, dword [ebp - 0x664]
add eax, 1
mov dword [ebp - 0x664], eax
cmp dword [ebp - 0x664], 0xd
jge 0x85c14a
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax + 4]
cmp ecx, 0x39d
jne 0x85bc58
cmp dword [ebp - 0x664], 1
jl 0x85bc58
jmp 0x85c14a
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax + 4]
cmp ecx, 0x39e
jne 0x85bc75
cmp dword [ebp - 0x664], 2
jl 0x85bc75
jmp 0x85c14a
mov esi, esp
call dword [sym.imp.ucrtbased.dll_rand]
cmp esi, esp
call fcn.005e11e1
cdq
mov ecx, 0x12
idiv ecx
mov dword [ebp - 0x670], edx
mov esi, esp
call dword [sym.imp.ucrtbased.dll_rand]
cmp esi, esp
call fcn.005e11e1
cdq
mov ecx, 0x12
idiv ecx
mov dword [ebp - 0x67c], edx
mov eax, dword [0xc62ea4]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x34]
mov dword [ebp - 0x2be0], edx
mov eax, dword [ebp - 0x664]
mov ecx, dword [ebp - 0x28]
movzx edx, word [ecx + eax*8 + 0x3c]
mov esi, esp
push edx
mov ecx, dword [0xc62ea4]
call dword [ebp - 0x2be0]
cmp esi, esp
call fcn.005e11e1
mov dword [ebp - 0x688], eax
cmp dword [ebp - 0x688], 0
je 0x85beba
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x688]
cmp ecx, dword [eax + 0x4c]
jne 0x85bd0b
mov byte [ebp - 0x655], 1
mov eax, dword [ebp - 0x688]
push ecx
movss xmm0, dword [eax + 0x2c]
movss dword [esp], xmm0
mov ecx, dword [ebp - 0x688]
movss xmm0, dword [ecx + 0x30]
subss xmm0, dword [0x9b4c14]
push ecx
movss dword [esp], xmm0
mov edx, dword [ebp - 0x688]
push ecx
movss xmm0, dword [edx + 0x28]
movss dword [esp], xmm0
lea ecx, [ebp - 0x2204]
call fcn.005e0ce6
mov ecx, dword [eax]
mov dword [ebp - 0x638], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0x634], edx
mov eax, dword [eax + 8]
mov dword [ebp - 0x630], eax
mov eax, dword [ebp - 0x638]
mov dword [ebp - 0x64c], eax
mov ecx, dword [ebp - 0x634]
mov dword [ebp - 0x648], ecx
mov edx, dword [ebp - 0x630]
mov dword [ebp - 0x644], edx
movss xmm0, dword [0x9b04e0]
movss dword [ebp - 0x648], xmm0
push 0xc8
call fcn.005de946
add esp, 4
mov dword [ebp - 0x221c], eax
mov dword [ebp - 4], 0x1b
cmp dword [ebp - 0x221c], 0
je 0x85be27
push 0xc8
mov ecx, dword [ebp - 0x221c]
call fcn.005e0683
push 0
push 3
sub esp, 0xc
mov eax, esp
mov ecx, dword [ebp - 0x638]
mov dword [eax], ecx
mov edx, dword [ebp - 0x634]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x630]
mov dword [eax + 8], ecx
sub esp, 0xc
mov edx, esp
mov eax, dword [ebp - 0x64c]
mov dword [edx], eax
mov ecx, dword [ebp - 0x648]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x644]
mov dword [edx + 8], eax
mov ecx, dword [ebp - 0x221c]
call fcn.005dd811
mov dword [ebp - 0x2be0], eax
jmp 0x85be31
mov dword [ebp - 0x2be0], 0
mov ecx, dword [ebp - 0x2be0]
mov dword [ebp - 0x2210], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x2210]
mov dword [ebp - 0x694], edx
mov esi, esp
call dword [sym.imp.ucrtbased.dll_rand]
cmp esi, esp
call fcn.005e11e1
cdq
mov ecx, 0x3e8
idiv ecx
mov dword [ebp - 0x2be0], edx
mov edx, dword [ebp - 0x694]
mov eax, dword [edx + 0x80]
mov dword [ebp - 0x2be4], eax
mov ecx, dword [ebp - 0x2be4]
add ecx, dword [ebp - 0x2be0]
mov edx, dword [ebp - 0x694]
mov dword [edx + 0x80], ecx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x2c]
mov dword [ebp - 0x2be0], ecx
mov edx, dword [ebp - 0x694]
push edx
mov ecx, dword [ebp - 0x2be0]
call fcn.005e2177
jmp 0x85c145
movss xmm0, dword [ebp - 0x638]
ucomiss xmm0, dword [0x9b06b8]
lahf
test ah, 0x44
jnp 0x85c145
movss xmm0, dword [ebp - 0x634]
ucomiss xmm0, dword [0x9b06b8]
lahf
test ah, 0x44
jnp 0x85c145
movss xmm0, dword [ebp - 0x630]
ucomiss xmm0, dword [0x9b06b8]
lahf
test ah, 0x44
jnp 0x85c145
push 0xc8
call fcn.005de946
add esp, 4
mov dword [ebp - 0x2234], eax
mov dword [ebp - 4], 0x1c
cmp dword [ebp - 0x2234], 0
je 0x85c0b7
push 0xc8
mov ecx, dword [ebp - 0x2234]
call fcn.005e0683
cvtsi2ss xmm0, dword [ebp - 0x67c]
addss xmm0, dword [ebp - 0x630]
subss xmm0, dword [0x9b2ddc]
push ecx
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0x634]
movss dword [esp], xmm0
cvtsi2ss xmm0, dword [ebp - 0x670]
addss xmm0, dword [ebp - 0x638]
subss xmm0, dword [0x9b2ddc]
push ecx
movss dword [esp], xmm0
lea ecx, [ebp - 0x2248]
call fcn.005e0ce6
mov ecx, dword [eax]
mov dword [ebp - 0x2290], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0x228c], edx
mov eax, dword [eax + 8]
mov dword [ebp - 0x2288], eax
mov ecx, dword [ebp - 0x2290]
mov dword [ebp - 0x22c0], ecx
mov edx, dword [ebp - 0x228c]
mov dword [ebp - 0x22bc], edx
mov eax, dword [ebp - 0x2288]
mov dword [ebp - 0x22b8], eax
cvtsi2ss xmm0, dword [ebp - 0x67c]
addss xmm0, dword [ebp - 0x644]
subss xmm0, dword [0x9b2ddc]
push ecx
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0x648]
movss dword [esp], xmm0
cvtsi2ss xmm0, dword [ebp - 0x670]
addss xmm0, dword [ebp - 0x64c]
subss xmm0, dword [0x9b2ddc]
push ecx
movss dword [esp], xmm0
lea ecx, [ebp - 0x225c]
call fcn.005e0ce6
mov ecx, dword [eax]
mov dword [ebp - 0x2278], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0x2274], edx
mov eax, dword [eax + 8]
mov dword [ebp - 0x2270], eax
mov ecx, dword [ebp - 0x2278]
mov dword [ebp - 0x22a8], ecx
mov edx, dword [ebp - 0x2274]
mov dword [ebp - 0x22a4], edx
mov eax, dword [ebp - 0x2270]
mov dword [ebp - 0x22a0], eax
push 0
push 3
sub esp, 0xc
mov ecx, esp
mov edx, dword [ebp - 0x22c0]
mov dword [ecx], edx
mov eax, dword [ebp - 0x22bc]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x22b8]
mov dword [ecx + 8], edx
sub esp, 0xc
mov eax, esp
mov ecx, dword [ebp - 0x22a8]
mov dword [eax], ecx
mov edx, dword [ebp - 0x22a4]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x22a0]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x2234]
call fcn.005dd811
mov dword [ebp - 0x2be0], eax
jmp 0x85c0c1
mov dword [ebp - 0x2be0], 0
mov edx, dword [ebp - 0x2be0]
mov dword [ebp - 0x2228], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x2228]
mov dword [ebp - 0x6a0], eax
mov esi, esp
call dword [sym.imp.ucrtbased.dll_rand]
cmp esi, esp
call fcn.005e11e1
cdq
mov ecx, 0x3e8
idiv ecx
mov dword [ebp - 0x2be0], edx
mov edx, dword [ebp - 0x6a0]
mov eax, dword [edx + 0x80]
mov dword [ebp - 0x2be4], eax
mov ecx, dword [ebp - 0x2be4]
add ecx, dword [ebp - 0x2be0]
mov edx, dword [ebp - 0x6a0]
mov dword [edx + 0x80], ecx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x2c]
mov dword [ebp - 0x2be0], ecx
mov edx, dword [ebp - 0x6a0]
push edx
mov ecx, dword [ebp - 0x2be0]
call fcn.005e2177
jmp 0x85bc1f
mov eax, dword [ebp - 0x34]
mov esi, dword [eax + 0x850]
add esi, 0x6a4
mov ecx, dword [0xc62eb4]
mov edx, dword [ecx]
mov edi, esp
mov ecx, dword [0xc62eb4]
mov eax, dword [edx + 8]
call eax
cmp edi, esp
call fcn.005e11e1
cmp esi, eax
jae 0x85c3e1
mov eax, dword [0xc62eb4]
mov edx, dword [eax]
mov esi, esp
mov ecx, dword [0xc62eb4]
mov eax, dword [edx + 8]
call eax
cmp esi, esp
call fcn.005e11e1
sub eax, 0x3e8
mov ecx, dword [ebp - 0x34]
mov dword [ecx + 0x850], eax
mov dword [ebp - 0x6ac], 0xfffffffd
jmp 0x85c1c1
mov eax, dword [ebp - 0x6ac]
add eax, 1
mov dword [ebp - 0x6ac], eax
cmp dword [ebp - 0x6ac], 3
jge 0x85c38a
mov dword [ebp - 0x6b8], 0xfffffffd
jmp 0x85c1e9
mov eax, dword [ebp - 0x6ac]
add eax, 1
mov dword [ebp - 0x6ac], eax
cmp dword [ebp - 0x6ac], 3
jge 0x85c385
push 0x184
call fcn.005de946
add esp, 4
mov dword [ebp - 0x22d8], eax
mov dword [ebp - 4], 0x1d
cmp dword [ebp - 0x22d8], 0
je 0x85c282
push 0x184
mov ecx, dword [ebp - 0x22d8]
call fcn.005dfc3d
push 0x50
push 1
push ecx
movss xmm0, dword [0x9b1f34]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x9b0548]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x9b0548]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x9b0548]
movss dword [esp], xmm0
push 0xfa0
push 0xc1
mov ecx, dword [ebp - 0x22d8]
call fcn.005e33d8
mov dword [ebp - 0x2be0], eax
jmp 0x85c28c
mov dword [ebp - 0x2be0], 0
mov eax, dword [ebp - 0x2be0]
mov dword [ebp - 0x22cc], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x22cc]
mov dword [ebp - 0x6c4], ecx
mov eax, dword [ebp - 0x6ac]
and eax, 0x80000001
jns 0x85c2bd
dec eax
or eax, 0xfffffffe
inc eax
mov ecx, dword [ebp - 0x6c4]
mov dword [ecx + 0x100], eax
cvtsi2ss xmm0, dword [ebp - 0x6b8]
mulss xmm0, dword [0x9b0548]
mov eax, dword [ebp - 0x34]
addss xmm0, dword [eax + 0x2c]
push ecx
movss dword [esp], xmm0
mov ecx, dword [ebp - 0x34]
push ecx
movss xmm0, dword [ecx + 0x30]
movss dword [esp], xmm0
cvtsi2ss xmm0, dword [ebp - 0x6ac]
mulss xmm0, dword [0x9b0548]
mov edx, dword [ebp - 0x34]
addss xmm0, dword [edx + 0x28]
push ecx
movss dword [esp], xmm0
lea ecx, [ebp - 0x22ec]
call fcn.005e0ce6
mov ecx, dword [ebp - 0x6c4]
add ecx, 0x74
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov eax, dword [eax + 8]
mov dword [ecx + 8], eax
mov eax, dword [ebp - 0x6c4]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x3c]
mov dword [ebp - 0x2be0], edx
mov esi, esp
push 0xff777799
mov ecx, dword [ebp - 0x6c4]
call dword [ebp - 0x2be0]
cmp esi, esp
call fcn.005e11e1
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x2c]
mov dword [ebp - 0x2be0], ecx
mov edx, dword [ebp - 0x6c4]
push edx
mov ecx, dword [ebp - 0x2be0]
call fcn.005e2177
jmp 0x85c1da
jmp 0x85c1b2
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x40]
mov dword [ebp - 0x6d0], ecx
cmp dword [ebp - 0x6d0], 0
je 0x85c3e1
mov eax, dword [0xc62eb4]
mov edx, dword [eax]
mov esi, esp
mov ecx, dword [0xc62eb4]
mov eax, dword [edx + 8]
call eax
cmp esi, esp
call fcn.005e11e1
mov ecx, dword [ebp - 0x6d0]
mov dword [ecx + 0x20a6c], eax
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax + 0x28]
mov edx, dword [eax + 0x2c]
mov eax, dword [ebp - 0x6d0]
mov dword [eax + 0x20a64], ecx
mov dword [eax + 0x20a68], edx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x4c]
cvttss2si edx, dword [ecx + 0x2c]
push edx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x4c]
cvttss2si edx, dword [ecx + 0x28]
push edx
mov eax, dword [ebp - 0x34]
cvttss2si ecx, dword [eax + 0x2c]
push ecx
mov edx, dword [ebp - 0x34]
cvttss2si eax, dword [edx + 0x28]
push eax
call fcn.005e2a05
add esp, 0x10
mov dword [ebp - 0x6dc], eax
mov eax, dword [0xc62eb4]
mov edx, dword [eax]
mov esi, esp
mov ecx, dword [0xc62eb4]
mov eax, dword [edx + 8]
call eax
cmp esi, esp
call fcn.005e11e1
mov dword [ebp - 0x6e8], eax
mov dword [ebp - 0x6f4], 0x7d0
movzx eax, byte [ebp - 0x655]
test eax, eax
jne 0x85c459
mov dword [ebp - 0x6f4], 0x3e8
cmp dword [ebp - 0x6dc], 0x12
jge 0x85c7ee
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x4c]
mov edx, dword [ebp - 0x6f4]
add edx, dword [ecx + 0x7f8]
cmp edx, dword [ebp - 0x6e8]
jae 0x85c7ee
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x4c]
movsx edx, byte [ecx + 0x229]
test edx, edx
jne 0x85c7ee
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x4c]
cmp dword [ecx + 0x9f4], 0xc
je 0x85c7ee
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x4c]
cmp dword [ecx + 0x9f4], 0xb
je 0x85c7ee
mov dword [ebp - 0x700], 4
mov dword [ebp - 0x70c], 5
movzx eax, byte [ebp - 0x655]
test eax, eax
jne 0x85c4f2
mov dword [ebp - 0x700], 8
mov dword [ebp - 0x70c], 9
mov esi, esp
call dword [sym.imp.ucrtbased.dll_rand]
cmp esi, esp
call fcn.005e11e1
cdq
mov ecx, 0xa
idiv ecx
cmp edx, dword [ebp - 0x700]
jge 0x85c7ee
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0x26f10], 0
cmp dword [0x9ec984], 0
jne 0x85c533
mov ecx, dword [ebp - 0x1c]
call fcn.005e0da4
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x4c]
cvttss2si edx, dword [ecx + 0x28]
mov dword [ebp - 0x718], edx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x4c]
cvttss2si edx, dword [ecx + 0x2c]
mov dword [ebp - 0x724], edx
mov dword [ebp - 0x730], 0
mov dword [ebp - 0x73c], 0
cmp dword [ebp - 0x718], 0x93a
jg 0x85c585
mov eax, dword [ebp - 0x70c]
neg eax
mov dword [ebp - 0x730], eax
jmp 0x85c59d
cmp dword [ebp - 0x718], 0x942
jl 0x85c59d
mov eax, dword [ebp - 0x70c]
mov dword [ebp - 0x730], eax
cmp dword [ebp - 0x724], 0xf57
jg 0x85c5b9
mov eax, dword [ebp - 0x70c]
neg eax
mov dword [ebp - 0x73c], eax
jmp 0x85c5d1
cmp dword [ebp - 0x724], 0xf5f
jl 0x85c5d1
mov eax, dword [ebp - 0x70c]
mov dword [ebp - 0x73c], eax
cvtsi2ss xmm0, dword [ebp - 0x730]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x4c]
addss xmm0, dword [ecx + 0x28]
cvttss2si edx, xmm0
mov dword [ebp - 0x748], edx
cvtsi2ss xmm0, dword [ebp - 0x73c]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x4c]
addss xmm0, dword [ecx + 0x2c]
cvttss2si edx, xmm0
mov dword [ebp - 0x754], edx
cmp dword [ebp - 0x748], 0x925
jge 0x85c623
mov dword [ebp - 0x748], 0x925
jmp 0x85c639
cmp dword [ebp - 0x748], 0x957
jle 0x85c639
mov dword [ebp - 0x748], 0x957
cmp dword [ebp - 0x754], 0xf43
jge 0x85c651
mov dword [ebp - 0x748], 0xf43
jmp 0x85c667
cmp dword [ebp - 0x754], 0xf70
jle 0x85c667
mov dword [ebp - 0x754], 0xf70
push 0x30
push 0
lea eax, [ebp - 0x78c]
push eax
call fcn.005df85f
add esp, 0xc
push 8
mov eax, dword [ebp - 0x1c]
add eax, 0x10c
push eax
push 0xc
lea ecx, [ebp - 0x78c]
push ecx
lea edx, [ebp - 0x754]
push edx
lea eax, [ebp - 0x748]
push eax
mov ecx, dword [ebp - 0x724]
push ecx
mov edx, dword [ebp - 0x718]
push edx
call fcn.005e3b0d
add esp, 0x20
lea eax, [ebp - 0x78c]
push eax
call fcn.005e35fe
add esp, 4
test eax, eax
jne 0x85c6cf
mov eax, 1
jmp 0x8634b5
push 0x34
push 0
lea eax, [ebp - 0x7c8]
push eax
call fcn.005df85f
add esp, 0xc
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x4c]
mov dx, word [ecx + 0x20]
mov word [ebp - 0x7c2], dx
mov eax, 0x36c
mov word [ebp - 0x7c4], ax
mov ax, word [ebp - 0x748]
mov word [ebp - 0x7bc], ax
mov ax, word [ebp - 0x754]
mov word [ebp - 0x7ba], ax
mov dword [ebp - 0x7b8], 2
mov ax, word [ebp - 0x748]
mov word [ebp - 0x798], ax
mov ax, word [ebp - 0x754]
mov word [ebp - 0x796], ax
mov dword [0x220a2a0], 0x36c
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x748]
mov dword [eax + 0x8b7c0], ecx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x754]
mov dword [eax + 0x8b7c4], ecx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x748]
mov dword [eax + 0x8b7b0], ecx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x754]
mov dword [eax + 0x8b7b4], ecx
push 0x34
lea eax, [ebp - 0x7c8]
push eax
call fcn.005ddaaf
add esp, 8
mov eax, dword [0xc62eb4]
mov edx, dword [eax]
mov esi, esp
mov ecx, dword [0xc62eb4]
mov eax, dword [edx + 8]
call eax
cmp esi, esp
call fcn.005e11e1
mov dword [ebp - 0x2be0], eax
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + 0x4c]
mov eax, dword [ebp - 0x2be0]
mov dword [edx + 0x7f8], eax
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x4c]
mov dword [ebp - 0x2be0], ecx
lea edx, [ebp - 0x7c8]
push edx
push 0x36c
mov ecx, dword [ebp - 0x2be0]
call fcn.005e1c59
jmp 0x85e5dd
mov eax, dword [ebp - 0x28]
movsx ecx, word [eax + 0x38]
cmp ecx, 0x6f
jne 0x85cdd2
mov eax, dword [ebp - 0x34]
movss xmm0, dword [eax + 0x30]
addss xmm0, dword [0x9b04e0]
mov ecx, dword [ebp - 0x34]
push ecx
movss xmm1, dword [ecx + 0x2c]
movss dword [esp], xmm1
push ecx
movss dword [esp], xmm0
mov edx, dword [ebp - 0x34]
push ecx
movss xmm0, dword [edx + 0x28]
movss dword [esp], xmm0
lea ecx, [ebp - 0x7dc]
call fcn.005e0ce6
push 0xc0
call fcn.005de946
add esp, 4
mov dword [ebp - 0x2304], eax
mov dword [ebp - 4], 0x1e
cmp dword [ebp - 0x2304], 0
je 0x85c898
push 0xc0
mov ecx, dword [ebp - 0x2304]
call fcn.005e38f1
push ecx
movss xmm0, dword [0x9b04e0]
movss dword [esp], xmm0
push 0x76
push 0x46
mov ecx, dword [ebp - 0x2304]
call fcn.005e3a95
mov dword [ebp - 0x2be0], eax
jmp 0x85c8a2
mov dword [ebp - 0x2be0], 0
mov eax, dword [ebp - 0x2be0]
mov dword [ebp - 0x22f8], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x22f8]
mov dword [ebp - 0x7e8], ecx
mov eax, dword [ebp - 0x7e8]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x44]
mov dword [ebp - 0x2be0], edx
mov esi, esp
push 0xaa660000
mov ecx, dword [ebp - 0x7e8]
call dword [ebp - 0x2be0]
cmp esi, esp
call fcn.005e11e1
mov eax, dword [ebp - 0x7e8]
mov dword [eax + 0x6c], 1
mov eax, dword [ebp - 0x7e8]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x3c]
mov dword [ebp - 0x2be0], edx
mov eax, dword [ebp - 0x34]
push ecx
movss xmm0, dword [eax + 0x2c]
movss dword [esp], xmm0
mov ecx, dword [ebp - 0x34]
push ecx
movss xmm0, dword [ecx + 0x28]
movss dword [esp], xmm0
lea ecx, [ebp - 0x2314]
call fcn.005de612
mov edx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x2328], edx
mov dword [ebp - 0x2324], eax
mov esi, esp
mov ecx, dword [ebp - 0x2324]
push ecx
mov edx, dword [ebp - 0x2328]
push edx
mov ecx, dword [ebp - 0x7e8]
call dword [ebp - 0x2be0]
cmp esi, esp
call fcn.005e11e1
mov eax, dword [ebp - 0x7e8]
mov dword [eax + 0xa0], 0xc80
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x2c]
mov dword [ebp - 0x2be0], ecx
mov edx, dword [ebp - 0x7e8]
push edx
mov ecx, dword [ebp - 0x2be0]
call fcn.005e2177
lea ecx, [ebp - 0x7fc]
call fcn.005e0b29
lea ecx, [ebp - 0x810]
call fcn.005e0b29
lea ecx, [ebp - 0x824]
call fcn.005e0b29
lea ecx, [ebp - 0x838]
call fcn.005e0b29
lea ecx, [ebp - 0x84c]
call fcn.005ded15
mov dword [ebp - 0x858], 0
jmp 0x85c9e5
mov eax, dword [ebp - 0x858]
add eax, 1
mov dword [ebp - 0x858], eax
cmp dword [ebp - 0x858], 0xd
jge 0x85cdcd
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax + 4]
cmp ecx, 0x39d
jne 0x85ca0f
cmp dword [ebp - 0x858], 1
jl 0x85ca0f
jmp 0x85cdcd
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax + 4]
cmp ecx, 0x39e
jne 0x85ca2c
cmp dword [ebp - 0x858], 2
jl 0x85ca2c
jmp 0x85cdcd
mov esi, esp
call dword [sym.imp.ucrtbased.dll_rand]
cmp esi, esp
call fcn.005e11e1
cdq
mov ecx, 0x12
idiv ecx
mov dword [ebp - 0x864], edx
mov esi, esp
call dword [sym.imp.ucrtbased.dll_rand]
cmp esi, esp
call fcn.005e11e1
cdq
mov ecx, 0x12
idiv ecx
mov dword [ebp - 0x870], edx
mov eax, dword [0xc62ea4]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x34]
mov dword [ebp - 0x2be0], edx
mov eax, dword [ebp - 0x858]
mov ecx, dword [ebp - 0x28]
movzx edx, word [ecx + eax*8 + 0x3c]
mov esi, esp
push edx
mov ecx, dword [0xc62ea4]
call dword [ebp - 0x2be0]
cmp esi, esp
call fcn.005e11e1
mov dword [ebp - 0x87c], eax
cmp dword [ebp - 0x87c], 0
je 0x85cc1e
mov eax, dword [ebp - 0x87c]
push ecx
movss xmm0, dword [eax + 0x2c]
movss dword [esp], xmm0
mov ecx, dword [ebp - 0x87c]
push ecx
movss xmm0, dword [ecx + 0x30]
movss dword [esp], xmm0
mov edx, dword [ebp - 0x87c]
push ecx
movss xmm0, dword [edx + 0x28]
movss dword [esp], xmm0
lea ecx, [ebp - 0x233c]
call fcn.005e0ce6
mov ecx, dword [eax]
mov dword [ebp - 0x7fc], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0x7f8], edx
mov eax, dword [eax + 8]
mov dword [ebp - 0x7f4], eax
mov eax, dword [ebp - 0x7fc]
mov dword [ebp - 0x810], eax
mov ecx, dword [ebp - 0x7f8]
mov dword [ebp - 0x80c], ecx
mov edx, dword [ebp - 0x7f4]
mov dword [ebp - 0x808], edx
push 0xb0
call fcn.005de946
add esp, 4
mov dword [ebp - 0x2354], eax
mov dword [ebp - 4], 0x1f
cmp dword [ebp - 0x2354], 0
je 0x85cb94
push 0xb0
mov ecx, dword [ebp - 0x2354]
call fcn.005df670
push 0
push 1
push 8
sub esp, 0xc
mov eax, esp
mov ecx, dword [ebp - 0x810]
mov dword [eax], ecx
mov edx, dword [ebp - 0x80c]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x808]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x2354]
call fcn.005dddc5
mov dword [ebp - 0x2be0], eax
jmp 0x85cb9e
mov dword [ebp - 0x2be0], 0
mov edx, dword [ebp - 0x2be0]
mov dword [ebp - 0x2348], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x2348]
mov dword [ebp - 0x888], eax
push ecx
movss xmm0, dword [ebp - 0x81c]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0x824]
movss dword [esp], xmm0
lea ecx, [ebp - 0x2364]
call fcn.005de612
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x888]
mov dword [eax + 0x8c], ecx
mov dword [eax + 0x90], edx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x2c]
mov dword [ebp - 0x2be0], ecx
mov edx, dword [ebp - 0x888]
push edx
mov ecx, dword [ebp - 0x2be0]
call fcn.005e2177
jmp 0x85cdc8
movss xmm0, dword [ebp - 0x7fc]
ucomiss xmm0, dword [0x9b06b8]
lahf
test ah, 0x44
jnp 0x85cdc8
movss xmm0, dword [ebp - 0x7f8]
ucomiss xmm0, dword [0x9b06b8]
lahf
test ah, 0x44
jnp 0x85cdc8
movss xmm0, dword [ebp - 0x7f4]
ucomiss xmm0, dword [0x9b06b8]
lahf
test ah, 0x44
jnp 0x85cdc8
cvtsi2ss xmm0, dword [ebp - 0x870]
addss xmm0, dword [ebp - 0x7f4]
subss xmm0, dword [0x9b2ddc]
push ecx
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0x7f8]
movss dword [esp], xmm0
cvtsi2ss xmm0, dword [ebp - 0x864]
addss xmm0, dword [ebp - 0x7fc]
subss xmm0, dword [0x9b2ddc]
push ecx
movss dword [esp], xmm0
lea ecx, [ebp - 0x2378]
call fcn.005e0ce6
mov ecx, dword [eax]
mov dword [ebp - 0x810], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0x80c], edx
mov eax, dword [eax + 8]
mov dword [ebp - 0x808], eax
push 0xb0
call fcn.005de946
add esp, 4
mov dword [ebp - 0x2390], eax
mov dword [ebp - 4], 0x20
cmp dword [ebp - 0x2390], 0
je 0x85cd43
push 0xb0
mov ecx, dword [ebp - 0x2390]
call fcn.005df670
push 0
push 1
push 8
sub esp, 0xc
mov eax, esp
mov ecx, dword [ebp - 0x810]
mov dword [eax], ecx
mov edx, dword [ebp - 0x80c]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x808]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x2390]
call fcn.005dddc5
mov dword [ebp - 0x2be0], eax
jmp 0x85cd4d
mov dword [ebp - 0x2be0], 0
mov edx, dword [ebp - 0x2be0]
mov dword [ebp - 0x2384], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x2384]
mov dword [ebp - 0x894], eax
push ecx
movss xmm0, dword [ebp - 0x81c]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0x824]
movss dword [esp], xmm0
lea ecx, [ebp - 0x23a0]
call fcn.005de612
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x894]
mov dword [eax + 0x8c], ecx
mov dword [eax + 0x90], edx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x2c]
mov dword [ebp - 0x2be0], ecx
mov edx, dword [ebp - 0x894]
push edx
mov ecx, dword [ebp - 0x2be0]
call fcn.005e2177
jmp 0x85c9d6
jmp 0x85e5dd
mov eax, dword [ebp - 0x34]
cmp dword [eax + 0x230], 0x38
jne 0x85d3b2
mov eax, dword [ebp - 0x34]
movsx ecx, word [eax + 0x172]
test ecx, ecx
jne 0x85d3b2
mov eax, 0xc
shl eax, 1
mov ecx, dword [ebp - 0x34]
lea edx, [ecx + eax + 0x64]
mov eax, dword [edx]
mov dword [ebp - 0x8a8], eax
mov ecx, dword [edx + 4]
mov dword [ebp - 0x8a4], ecx
mov edx, dword [edx + 8]
mov dword [ebp - 0x8a0], edx
mov eax, 0xc
shl eax, 0
mov ecx, dword [ebp - 0x34]
lea edx, [ecx + eax + 0x64]
mov eax, dword [edx]
mov dword [ebp - 0x8bc], eax
mov ecx, dword [edx + 4]
mov dword [ebp - 0x8b8], ecx
mov edx, dword [edx + 8]
mov dword [ebp - 0x8b4], edx
lea ecx, [ebp - 0x8d0]
call fcn.005e0b29
lea ecx, [ebp - 0x8e4]
call fcn.005e0b29
mov dword [ebp - 0x8f0], 0
jmp 0x85ce76
mov eax, dword [ebp - 0x8f0]
add eax, 1
mov dword [ebp - 0x8f0], eax
cmp dword [ebp - 0x8f0], 0xd
jge 0x85d3ad
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax + 4]
cmp ecx, 0x39d
jne 0x85cea0
cmp dword [ebp - 0x8f0], 1
jl 0x85cea0
jmp 0x85d3ad
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax + 4]
cmp ecx, 0x39e
jne 0x85cebd
cmp dword [ebp - 0x8f0], 2
jl 0x85cebd
jmp 0x85d3ad
mov esi, esp
call dword [sym.imp.ucrtbased.dll_rand]
cmp esi, esp
call fcn.005e11e1
cdq
mov ecx, 0x12
idiv ecx
mov dword [ebp - 0x8fc], edx
mov esi, esp
call dword [sym.imp.ucrtbased.dll_rand]
cmp esi, esp
call fcn.005e11e1
cdq
mov ecx, 0x12
idiv ecx
mov dword [ebp - 0x908], edx
mov eax, dword [0xc62ea4]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x34]
mov dword [ebp - 0x2be0], edx
mov eax, dword [ebp - 0x8f0]
mov ecx, dword [ebp - 0x28]
movzx edx, word [ecx + eax*8 + 0x3c]
mov esi, esp
push edx
mov ecx, dword [0xc62ea4]
call dword [ebp - 0x2be0]
cmp esi, esp
call fcn.005e11e1
mov dword [ebp - 0x914], eax
cmp dword [ebp - 0x914], 0
je 0x85d15e
mov eax, dword [ebp - 0x8f0]
and eax, 0x80000001
jns 0x85cf50
dec eax
or eax, 0xfffffffe
inc eax
add eax, 1
imul ecx, eax, 0xc
mov edx, dword [ebp - 0x34]
lea eax, [edx + ecx + 0x64]
mov ecx, dword [eax]
mov dword [ebp - 0x928], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0x924], edx
mov eax, dword [eax + 8]
mov dword [ebp - 0x920], eax
mov eax, dword [ebp - 0x914]
push ecx
movss xmm0, dword [eax + 0x2c]
movss dword [esp], xmm0
mov ecx, dword [ebp - 0x914]
movss xmm0, dword [ecx + 0x30]
addss xmm0, dword [0x9b04e0]
push ecx
movss dword [esp], xmm0
mov edx, dword [ebp - 0x914]
push ecx
movss xmm0, dword [edx + 0x28]
movss dword [esp], xmm0
lea ecx, [ebp - 0x93c]
call fcn.005e0ce6
push 0xdc
call fcn.005de946
add esp, 4
mov dword [ebp - 0x23b8], eax
mov dword [ebp - 4], 0x21
cmp dword [ebp - 0x23b8], 0
je 0x85d0fc
push 0xdc
mov ecx, dword [ebp - 0x23b8]
call fcn.005dfc79
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
lea ecx, [ebp - 0x23cc]
call fcn.005e0ce6
mov ecx, dword [eax]
mov dword [ebp - 0x2400], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0x23fc], edx
mov eax, dword [eax + 8]
mov dword [ebp - 0x23f8], eax
mov ecx, dword [ebp - 0x2400]
mov dword [ebp - 0x2418], ecx
mov edx, dword [ebp - 0x23fc]
mov dword [ebp - 0x2414], edx
mov eax, dword [ebp - 0x23f8]
mov dword [ebp - 0x2410], eax
mov ecx, dword [ebp - 0x928]
mov dword [ebp - 0x23e8], ecx
mov edx, dword [ebp - 0x924]
mov dword [ebp - 0x23e4], edx
mov eax, dword [ebp - 0x920]
mov dword [ebp - 0x23e0], eax
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push 5
push ecx
movss xmm0, dword [0x9b04e0]
movss dword [esp], xmm0
push 0x3e8
push 0xff222299
push 0xffff0000
sub esp, 0xc
mov ecx, esp
mov edx, dword [ebp - 0x2418]
mov dword [ecx], edx
mov eax, dword [ebp - 0x2414]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x2410]
mov dword [ecx + 8], edx
mov eax, dword [ebp - 0x914]
push eax
sub esp, 0xc
mov ecx, esp
mov edx, dword [ebp - 0x23e8]
mov dword [ecx], edx
mov eax, dword [ebp - 0x23e4]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x23e0]
mov dword [ecx + 8], edx
mov ecx, dword [ebp - 0x23b8]
call fcn.005e2456
mov dword [ebp - 0x2be0], eax
jmp 0x85d106
mov dword [ebp - 0x2be0], 0
mov eax, dword [ebp - 0x2be0]
mov dword [ebp - 0x23ac], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x23ac]
mov dword [ebp - 0x948], ecx
mov eax, dword [ebp - 0x948]
movss xmm0, dword [0x9b0650]
movss dword [eax + 0x84], xmm0
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x2c]
mov dword [ebp - 0x2be0], ecx
mov edx, dword [ebp - 0x948]
push edx
mov ecx, dword [ebp - 0x2be0]
call fcn.005e2177
jmp 0x85d3a8
movss xmm0, dword [ebp - 0x8e4]
ucomiss xmm0, dword [0x9b06b8]
lahf
test ah, 0x44
jnp 0x85d3a8
movss xmm0, dword [ebp - 0x8e0]
ucomiss xmm0, dword [0x9b06b8]
lahf
test ah, 0x44
jnp 0x85d3a8
movss xmm0, dword [ebp - 0x8dc]
ucomiss xmm0, dword [0x9b06b8]
lahf
test ah, 0x44
jnp 0x85d3a8
mov eax, dword [ebp - 0x8f0]
and eax, 0x80000001
jns 0x85d1bb
dec eax
or eax, 0xfffffffe
inc eax
add eax, 1
imul ecx, eax, 0xc
mov edx, dword [ebp - 0x34]
lea eax, [edx + ecx + 0x64]
mov ecx, dword [eax]
mov dword [ebp - 0x8d0], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0x8cc], edx
mov eax, dword [eax + 8]
mov dword [ebp - 0x8c8], eax
push 0xdc
call fcn.005de946
add esp, 4
mov dword [ebp - 0x2430], eax
mov dword [ebp - 4], 0x22
cmp dword [ebp - 0x2430], 0
je 0x85d34b
push 0xdc
mov ecx, dword [ebp - 0x2430]
call fcn.005dfc79
cvtsi2ss xmm0, dword [ebp - 0x908]
addss xmm0, dword [ebp - 0x8dc]
subss xmm0, dword [0x9b2ddc]
push ecx
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0x8e0]
movss dword [esp], xmm0
cvtsi2ss xmm0, dword [ebp - 0x8fc]
addss xmm0, dword [ebp - 0x8e4]
subss xmm0, dword [0x9b2ddc]
push ecx
movss dword [esp], xmm0
lea ecx, [ebp - 0x2444]
call fcn.005e0ce6
mov ecx, dword [eax]
mov dword [ebp - 0x2478], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0x2474], edx
mov eax, dword [eax + 8]
mov dword [ebp - 0x2470], eax
mov ecx, dword [ebp - 0x2478]
mov dword [ebp - 0x2490], ecx
mov edx, dword [ebp - 0x2474]
mov dword [ebp - 0x248c], edx
mov eax, dword [ebp - 0x2470]
mov dword [ebp - 0x2488], eax
mov ecx, dword [ebp - 0x8d0]
mov dword [ebp - 0x2460], ecx
mov edx, dword [ebp - 0x8cc]
mov dword [ebp - 0x245c], edx
mov eax, dword [ebp - 0x8c8]
mov dword [ebp - 0x2458], eax
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push 5
push ecx
movss xmm0, dword [0x9b04e0]
movss dword [esp], xmm0
push 0x3e8
push 0xff222299
push 0xffff0000
sub esp, 0xc
mov ecx, esp
mov edx, dword [ebp - 0x2490]
mov dword [ecx], edx
mov eax, dword [ebp - 0x248c]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x2488]
mov dword [ecx + 8], edx
push 0
sub esp, 0xc
mov eax, esp
mov ecx, dword [ebp - 0x2460]
mov dword [eax], ecx
mov edx, dword [ebp - 0x245c]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x2458]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x2430]
call fcn.005e2456
mov dword [ebp - 0x2be0], eax
jmp 0x85d355
mov dword [ebp - 0x2be0], 0
mov edx, dword [ebp - 0x2be0]
mov dword [ebp - 0x2424], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x2424]
mov dword [ebp - 0x954], eax
mov eax, dword [ebp - 0x954]
movss xmm0, dword [0x9b0660]
movss dword [eax + 0x84], xmm0
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x2c]
mov dword [ebp - 0x2be0], ecx
mov edx, dword [ebp - 0x954]
push edx
mov ecx, dword [ebp - 0x2be0]
call fcn.005e2177
jmp 0x85ce67
jmp 0x85e5dd
mov eax, dword [ebp - 0x28]
movsx ecx, word [eax + 0x38]
cmp ecx, 0x71
jne 0x85d7d0
push 0
push 7
mov ecx, dword [ebp - 0x34]
call fcn.005dfd05
mov dword [ebp - 0x960], 0xff33ff66
mov eax, dword [ebp - 0x34]
movss xmm0, dword [eax + 0x30]
addss xmm0, dword [0x9b04e0]
mov ecx, dword [ebp - 0x34]
push ecx
movss xmm1, dword [ecx + 0x2c]
movss dword [esp], xmm1
push ecx
movss dword [esp], xmm0
mov edx, dword [ebp - 0x34]
push ecx
movss xmm0, dword [edx + 0x28]
movss dword [esp], xmm0
lea ecx, [ebp - 0x974]
call fcn.005e0ce6
push 0xc0
call fcn.005de946
add esp, 4
mov dword [ebp - 0x24a8], eax
mov dword [ebp - 4], 0x23
cmp dword [ebp - 0x24a8], 0
je 0x85d46d
push 0xc0
mov ecx, dword [ebp - 0x24a8]
call fcn.005e38f1
push ecx
movss xmm0, dword [0x9b04e0]
movss dword [esp], xmm0
push 0x76
push 0x46
mov ecx, dword [ebp - 0x24a8]
call fcn.005e3a95
mov dword [ebp - 0x2be0], eax
jmp 0x85d477
mov dword [ebp - 0x2be0], 0
mov eax, dword [ebp - 0x2be0]
mov dword [ebp - 0x249c], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x249c]
mov dword [ebp - 0x980], ecx
mov eax, dword [ebp - 0x980]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x44]
mov dword [ebp - 0x2be0], edx
mov esi, esp
push 0xaa660000
mov ecx, dword [ebp - 0x980]
call dword [ebp - 0x2be0]
cmp esi, esp
call fcn.005e11e1
mov eax, dword [ebp - 0x980]
mov dword [eax + 0x6c], 1
mov eax, dword [ebp - 0x980]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x3c]
mov dword [ebp - 0x2be0], edx
mov eax, dword [ebp - 0x34]
push ecx
movss xmm0, dword [eax + 0x2c]
movss dword [esp], xmm0
mov ecx, dword [ebp - 0x34]
push ecx
movss xmm0, dword [ecx + 0x28]
movss dword [esp], xmm0
lea ecx, [ebp - 0x24b8]
call fcn.005de612
mov edx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x24c8], edx
mov dword [ebp - 0x24c4], eax
mov esi, esp
mov ecx, dword [ebp - 0x24c4]
push ecx
mov edx, dword [ebp - 0x24c8]
push edx
mov ecx, dword [ebp - 0x980]
call dword [ebp - 0x2be0]
cmp esi, esp
call fcn.005e11e1
mov eax, dword [ebp - 0x980]
mov dword [eax + 0xa0], 0xc80
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x2c]
mov dword [ebp - 0x2be0], ecx
mov edx, dword [ebp - 0x980]
push edx
mov ecx, dword [ebp - 0x2be0]
call fcn.005e2177
lea ecx, [ebp - 0x994]
call fcn.005e0b29
lea ecx, [ebp - 0x9a8]
call fcn.005e0b29
lea ecx, [ebp - 0x9bc]
call fcn.005e0b29
lea ecx, [ebp - 0x9d0]
call fcn.005ded15
mov dword [ebp - 0x9dc], 0
jmp 0x85d5af
mov eax, dword [ebp - 0x9dc]
add eax, 1
mov dword [ebp - 0x9dc], eax
cmp dword [ebp - 0x9dc], 0xd
jge 0x85d7cb
mov eax, dword [0xc62ea4]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x34]
mov dword [ebp - 0x2be0], edx
mov eax, dword [ebp - 0x9dc]
mov ecx, dword [ebp - 0x28]
movzx edx, word [ecx + eax*8 + 0x3c]
mov esi, esp
push edx
mov ecx, dword [0xc62ea4]
call dword [ebp - 0x2be0]
cmp esi, esp
call fcn.005e11e1
mov dword [ebp - 0x9e8], eax
cmp dword [ebp - 0x9e8], 0
je 0x85d7c6
mov eax, dword [ebp - 0x9e8]
push ecx
movss xmm0, dword [eax + 0x2c]
movss dword [esp], xmm0
mov ecx, dword [ebp - 0x9e8]
push ecx
movss xmm0, dword [ecx + 0x30]
movss dword [esp], xmm0
mov edx, dword [ebp - 0x9e8]
push ecx
movss xmm0, dword [edx + 0x28]
movss dword [esp], xmm0
lea ecx, [ebp - 0x24dc]
call fcn.005e0ce6
mov ecx, dword [eax]
mov dword [ebp - 0x994], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0x990], edx
mov eax, dword [eax + 8]
mov dword [ebp - 0x98c], eax
push 0xb0
call fcn.005de946
add esp, 4
mov dword [ebp - 0x24f4], eax
mov dword [ebp - 4], 0x24
cmp dword [ebp - 0x24f4], 0
je 0x85d6c6
push 0xb0
mov ecx, dword [ebp - 0x24f4]
call fcn.005df670
push 0
push 1
push 8
sub esp, 0xc
mov eax, esp
mov ecx, dword [ebp - 0x994]
mov dword [eax], ecx
mov edx, dword [ebp - 0x990]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x98c]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x24f4]
call fcn.005dddc5
mov dword [ebp - 0x2be0], eax
jmp 0x85d6d0
mov dword [ebp - 0x2be0], 0
mov edx, dword [ebp - 0x2be0]
mov dword [ebp - 0x24e8], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x24e8]
mov dword [ebp - 0x9f4], eax
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x2c]
mov dword [ebp - 0x2be0], ecx
mov edx, dword [ebp - 0x9f4]
push edx
mov ecx, dword [ebp - 0x2be0]
call fcn.005e2177
push 0x90
call fcn.005de946
add esp, 4
mov dword [ebp - 0x250c], eax
mov dword [ebp - 4], 0x25
cmp dword [ebp - 0x250c], 0
je 0x85d77f
push 0x90
mov ecx, dword [ebp - 0x250c]
call fcn.005debb2
push 0
push 1
push 0xa
mov eax, dword [ebp - 0x960]
push eax
sub esp, 0xc
mov ecx, esp
mov edx, dword [ebp - 0x994]
mov dword [ecx], edx
mov eax, dword [ebp - 0x990]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x98c]
mov dword [ecx + 8], edx
mov ecx, dword [ebp - 0x250c]
call fcn.005e214a
mov dword [ebp - 0x2be0], eax
jmp 0x85d789
mov dword [ebp - 0x2be0], 0
mov eax, dword [ebp - 0x2be0]
mov dword [ebp - 0x2500], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x2500]
mov dword [ebp - 0xa00], ecx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x2c]
mov dword [ebp - 0x2be0], ecx
mov edx, dword [ebp - 0xa00]
push edx
mov ecx, dword [ebp - 0x2be0]
call fcn.005e2177
jmp 0x85d5a0
jmp 0x85e5dd
mov eax, dword [ebp - 0x28]
movsx ecx, word [eax + 0x38]
cmp ecx, 0x72
jne 0x85dcd6
lea ecx, [ebp - 0xa14]
call fcn.005e0b29
lea ecx, [ebp - 0xa28]
call fcn.005e0b29
mov byte [ebp - 0xa31], 0
push 0
push 7
mov ecx, dword [ebp - 0x34]
call fcn.005dfd05
mov dword [ebp - 0xa40], 0
jmp 0x85d824
mov eax, dword [ebp - 0xa40]
add eax, 1
mov dword [ebp - 0xa40], eax
cmp dword [ebp - 0xa40], 0xd
jge 0x85dcd1
mov eax, dword [0xc62ea4]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x34]
mov dword [ebp - 0x2be0], edx
mov eax, dword [ebp - 0xa40]
mov ecx, dword [ebp - 0x28]
movzx edx, word [ecx + eax*8 + 0x3c]
mov esi, esp
push edx
mov ecx, dword [0xc62ea4]
call dword [ebp - 0x2be0]
cmp esi, esp
call fcn.005e11e1
mov dword [ebp - 0xa4c], eax
cmp dword [ebp - 0xa4c], 0
je 0x85dccc
mov eax, dword [ebp - 0xa4c]
push ecx
movss xmm0, dword [eax + 0x2c]
movss dword [esp], xmm0
mov ecx, dword [ebp - 0xa4c]
movss xmm0, dword [ecx + 0x30]
subss xmm0, dword [0x9b4c14]
push ecx
movss dword [esp], xmm0
mov edx, dword [ebp - 0xa4c]
push ecx
movss xmm0, dword [edx + 0x28]
movss dword [esp], xmm0
lea ecx, [ebp - 0x2520]
call fcn.005e0ce6
mov ecx, dword [eax]
mov dword [ebp - 0xa14], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0xa10], edx
mov eax, dword [eax + 8]
mov dword [ebp - 0xa0c], eax
mov eax, dword [ebp - 0xa28]
mov dword [ebp - 0xa14], eax
mov ecx, dword [ebp - 0xa24]
mov dword [ebp - 0xa10], ecx
mov edx, dword [ebp - 0xa20]
mov dword [ebp - 0xa0c], edx
movss xmm0, dword [0x9b04e0]
movss dword [ebp - 0xa24], xmm0
push 0x94
call fcn.005de946
add esp, 4
mov dword [ebp - 0x2538], eax
mov dword [ebp - 4], 0x26
cmp dword [ebp - 0x2538], 0
je 0x85d981
push 0x94
mov ecx, dword [ebp - 0x2538]
call fcn.005deef0
push ecx
movss xmm0, dword [0x9b0640]
movss dword [esp], xmm0
push 2
sub esp, 0xc
mov eax, esp
mov ecx, dword [ebp - 0xa28]
mov dword [eax], ecx
mov edx, dword [ebp - 0xa24]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0xa20]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x2538]
call fcn.005e0e94
mov dword [ebp - 0x2be0], eax
jmp 0x85d98b
mov dword [ebp - 0x2be0], 0
mov edx, dword [ebp - 0x2be0]
mov dword [ebp - 0x252c], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x252c]
mov dword [ebp - 0xa58], eax
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x2c]
mov dword [ebp - 0x2be0], ecx
mov edx, dword [ebp - 0xa58]
push edx
mov ecx, dword [ebp - 0x2be0]
call fcn.005e2177
lea ecx, [ebp - 0xa6c]
call fcn.005e0b29
mov dword [ebp - 0xa78], 0
jmp 0x85d9ee
mov eax, dword [ebp - 0xa78]
add eax, 1
mov dword [ebp - 0xa78], eax
cmp dword [ebp - 0xa78], 4
jge 0x85db3a
mov eax, dword [ebp - 0xa78]
cdq
sub eax, edx
sar eax, 1
shl eax, 1
cvtsi2ss xmm0, eax
addss xmm0, dword [ebp - 0xa0c]
subss xmm0, dword [0x9b04e0]
push ecx
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0xa10]
movss dword [esp], xmm0
mov eax, dword [ebp - 0xa78]
and eax, 0x80000001
jns 0x85da42
dec eax
or eax, 0xfffffffe
inc eax
shl eax, 1
cvtsi2ss xmm0, eax
addss xmm0, dword [ebp - 0xa14]
subss xmm0, dword [0x9b04e0]
push ecx
movss dword [esp], xmm0
lea ecx, [ebp - 0x254c]
call fcn.005e0ce6
mov ecx, dword [eax]
mov dword [ebp - 0xa6c], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0xa68], edx
mov eax, dword [eax + 8]
mov dword [ebp - 0xa64], eax
push 0xb0
call fcn.005de946
add esp, 4
mov dword [ebp - 0x2564], eax
mov dword [ebp - 4], 0x27
cmp dword [ebp - 0x2564], 0
je 0x85daee
push 0xb0
mov ecx, dword [ebp - 0x2564]
call fcn.005df670
push 0
push 0
push 1
sub esp, 0xc
mov eax, esp
mov ecx, dword [ebp - 0xa6c]
mov dword [eax], ecx
mov edx, dword [ebp - 0xa68]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0xa64]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x2564]
call fcn.005dddc5
mov dword [ebp - 0x2be0], eax
jmp 0x85daf8
mov dword [ebp - 0x2be0], 0
mov edx, dword [ebp - 0x2be0]
mov dword [ebp - 0x2558], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x2558]
mov dword [ebp - 0xa84], eax
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x2c]
mov dword [ebp - 0x2be0], ecx
mov edx, dword [ebp - 0xa84]
push edx
mov ecx, dword [ebp - 0x2be0]
call fcn.005e2177
jmp 0x85d9df
mov eax, dword [ebp - 0xa4c]
movss xmm0, dword [eax + 0x30]
addss xmm0, dword [0x9b0664]
mov ecx, dword [ebp - 0xa4c]
push ecx
movss xmm1, dword [ecx + 0x2c]
movss dword [esp], xmm1
push ecx
movss dword [esp], xmm0
mov edx, dword [ebp - 0xa4c]
push ecx
movss xmm0, dword [edx + 0x28]
movss dword [esp], xmm0
lea ecx, [ebp - 0xa98]
call fcn.005e0ce6
movss xmm0, dword [ebp - 0xa90]
subss xmm0, dword [0x9b1a5c]
push ecx
movss dword [esp], xmm0
movss xmm0, dword [ebp - 0xa94]
addss xmm0, dword [0x9b4c14]
push ecx
movss dword [esp], xmm0
movss xmm0, dword [ebp - 0xa98]
addss xmm0, dword [0x9b1a5c]
push ecx
movss dword [esp], xmm0
lea ecx, [ebp - 0x2578]
call fcn.005e0ce6
mov ecx, dword [eax]
mov dword [ebp - 0xa28], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0xa24], edx
mov eax, dword [eax + 8]
mov dword [ebp - 0xa20], eax
push 0x94
call fcn.005de946
add esp, 4
mov dword [ebp - 0x2590], eax
mov dword [ebp - 4], 0x28
cmp dword [ebp - 0x2590], 0
je 0x85dc78
push 0x94
mov ecx, dword [ebp - 0x2590]
call fcn.005e0ef8
push 0
push 0
push 0
push 0x2711
push 0
sub esp, 0xc
mov eax, esp
mov ecx, dword [ebp - 0xa98]
mov dword [eax], ecx
mov edx, dword [ebp - 0xa94]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0xa90]
mov dword [eax + 8], ecx
sub esp, 0xc
mov edx, esp
mov eax, dword [ebp - 0xa28]
mov dword [edx], eax
mov ecx, dword [ebp - 0xa24]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0xa20]
mov dword [edx + 8], eax
mov ecx, dword [ebp - 0x2590]
call fcn.005dfada
mov dword [ebp - 0x2be0], eax
jmp 0x85dc82
mov dword [ebp - 0x2be0], 0
mov ecx, dword [ebp - 0x2be0]
mov dword [ebp - 0x2584], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x2584]
mov dword [ebp - 0xaa4], edx
mov eax, dword [ebp - 0xaa4]
mov dword [eax + 0x70], 0xffffff00
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x2c]
mov dword [ebp - 0x2be0], ecx
mov edx, dword [ebp - 0xaa4]
push edx
mov ecx, dword [ebp - 0x2be0]
call fcn.005e2177
jmp 0x85d815
jmp 0x85e5dd
mov eax, dword [ebp - 0x28]
movsx ecx, word [eax + 0x38]
cmp ecx, 0x73
jne 0x85e1f0
lea ecx, [ebp - 0xab8]
call fcn.005e0b29
lea ecx, [ebp - 0xacc]
call fcn.005e0b29
mov eax, dword [ebp - 0x34]
cmp dword [eax + 0x230], 0x49
je 0x85dd14
push 0
push 7
mov ecx, dword [ebp - 0x34]
call fcn.005dfd05
mov dword [ebp - 0xad8], 0
jmp 0x85dd2f
mov eax, dword [ebp - 0xad8]
add eax, 1
mov dword [ebp - 0xad8], eax
cmp dword [ebp - 0xad8], 0xd
jge 0x85deeb
mov eax, dword [0xc62ea4]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x34]
mov dword [ebp - 0x2be0], edx
mov eax, dword [ebp - 0xad8]
mov ecx, dword [ebp - 0x28]
movzx edx, word [ecx + eax*8 + 0x3c]
mov esi, esp
push edx
mov ecx, dword [0xc62ea4]
call dword [ebp - 0x2be0]
cmp esi, esp
call fcn.005e11e1
mov dword [ebp - 0xae4], eax
cmp dword [ebp - 0xae4], 0
je 0x85dee6
mov eax, dword [ebp - 0xae4]
push ecx
movss xmm0, dword [eax + 0x2c]
movss dword [esp], xmm0
mov ecx, dword [ebp - 0xae4]
movss xmm0, dword [ecx + 0x30]
subss xmm0, dword [0x9b4c14]
push ecx
movss dword [esp], xmm0
mov edx, dword [ebp - 0xae4]
push ecx
movss xmm0, dword [edx + 0x28]
movss dword [esp], xmm0
lea ecx, [ebp - 0x25a4]
call fcn.005e0ce6
mov ecx, dword [eax]
mov dword [ebp - 0xab8], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0xab4], edx
mov eax, dword [eax + 8]
mov dword [ebp - 0xab0], eax
mov eax, dword [ebp - 0xab8]
mov dword [ebp - 0xacc], eax
mov ecx, dword [ebp - 0xab4]
mov dword [ebp - 0xac8], ecx
mov edx, dword [ebp - 0xab0]
mov dword [ebp - 0xac4], edx
movss xmm0, dword [0x9b1a64]
movss dword [ebp - 0xac8], xmm0
push 0xc8
call fcn.005de946
add esp, 4
mov dword [ebp - 0x25bc], eax
mov dword [ebp - 4], 0x29
cmp dword [ebp - 0x25bc], 0
je 0x85de9f
push 0xc8
mov ecx, dword [ebp - 0x25bc]
call fcn.005e0683
push 0
push 3
sub esp, 0xc
mov eax, esp
mov ecx, dword [ebp - 0xab8]
mov dword [eax], ecx
mov edx, dword [ebp - 0xab4]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0xab0]
mov dword [eax + 8], ecx
sub esp, 0xc
mov edx, esp
mov eax, dword [ebp - 0xacc]
mov dword [edx], eax
mov ecx, dword [ebp - 0xac8]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0xac4]
mov dword [edx + 8], eax
mov ecx, dword [ebp - 0x25bc]
call fcn.005dd811
mov dword [ebp - 0x2be0], eax
jmp 0x85dea9
mov dword [ebp - 0x2be0], 0
mov ecx, dword [ebp - 0x2be0]
mov dword [ebp - 0x25b0], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x25b0]
mov dword [ebp - 0xaf0], edx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x2c]
mov dword [ebp - 0x2be0], ecx
mov edx, dword [ebp - 0xaf0]
push edx
mov ecx, dword [ebp - 0x2be0]
call fcn.005e2177
jmp 0x85dd20
mov esi, esp
call dword [sym.imp.ucrtbased.dll_rand]
cmp esi, esp
call fcn.005e11e1
cdq
mov ecx, 0xa
idiv ecx
mov dword [ebp - 0xafc], edx
cmp dword [ebp - 0xafc], 6
jl 0x85e1eb
mov eax, dword [ebp - 0x34]
mov esi, dword [eax + 0x850]
add esi, 0xfa0
mov ecx, dword [0xc62eb4]
mov edx, dword [ecx]
mov edi, esp
mov ecx, dword [0xc62eb4]
mov eax, dword [edx + 8]
call eax
cmp edi, esp
call fcn.005e11e1
cmp esi, eax
jae 0x85e1eb
mov eax, dword [0xc62eb4]
mov edx, dword [eax]
mov esi, esp
mov ecx, dword [0xc62eb4]
mov eax, dword [edx + 8]
call eax
cmp esi, esp
call fcn.005e11e1
sub eax, 0x7d0
mov ecx, dword [ebp - 0x34]
mov dword [ecx + 0x850], eax
mov dword [ebp - 0xb08], 0xfffffffd
jmp 0x85df8c
mov eax, dword [ebp - 0xb08]
add eax, 1
mov dword [ebp - 0xb08], eax
cmp dword [ebp - 0xb08], 3
jge 0x85e155
mov dword [ebp - 0xb14], 0xfffffffd
jmp 0x85dfb4
mov eax, dword [ebp - 0xb14]
add eax, 1
mov dword [ebp - 0xb14], eax
cmp dword [ebp - 0xb14], 3
jge 0x85e150
push 0x184
call fcn.005de946
add esp, 4
mov dword [ebp - 0x25d4], eax
mov dword [ebp - 4], 0x2a
cmp dword [ebp - 0x25d4], 0
je 0x85e04d
push 0x184
mov ecx, dword [ebp - 0x25d4]
call fcn.005dfc3d
push 0x50
push 1
push ecx
movss xmm0, dword [0x9b1f34]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x9b0548]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x9b0548]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x9b0548]
movss dword [esp], xmm0
push 0xfa0
push 0xc1
mov ecx, dword [ebp - 0x25d4]
call fcn.005e33d8
mov dword [ebp - 0x2be0], eax
jmp 0x85e057
mov dword [ebp - 0x2be0], 0
mov eax, dword [ebp - 0x2be0]
mov dword [ebp - 0x25c8], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x25c8]
mov dword [ebp - 0xb20], ecx
mov eax, dword [ebp - 0xb08]
and eax, 0x80000001
jns 0x85e088
dec eax
or eax, 0xfffffffe
inc eax
mov ecx, dword [ebp - 0xb20]
mov dword [ecx + 0x100], eax
cvtsi2ss xmm0, dword [ebp - 0xb14]
mulss xmm0, dword [0x9b0548]
mov eax, dword [ebp - 0x34]
addss xmm0, dword [eax + 0x2c]
push ecx
movss dword [esp], xmm0
mov ecx, dword [ebp - 0x34]
push ecx
movss xmm0, dword [ecx + 0x30]
movss dword [esp], xmm0
cvtsi2ss xmm0, dword [ebp - 0xb08]
mulss xmm0, dword [0x9b0548]
mov edx, dword [ebp - 0x34]
addss xmm0, dword [edx + 0x28]
push ecx
movss dword [esp], xmm0
lea ecx, [ebp - 0x25e8]
call fcn.005e0ce6
mov ecx, dword [ebp - 0xb20]
add ecx, 0x74
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov eax, dword [eax + 8]
mov dword [ecx + 8], eax
mov eax, dword [ebp - 0xb20]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x3c]
mov dword [ebp - 0x2be0], edx
mov esi, esp
push 0xff777799
mov ecx, dword [ebp - 0xb20]
call dword [ebp - 0x2be0]
cmp esi, esp
call fcn.005e11e1
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x2c]
mov dword [ebp - 0x2be0], ecx
mov edx, dword [ebp - 0xb20]
push edx
mov ecx, dword [ebp - 0x2be0]
call fcn.005e2177
jmp 0x85dfa5
jmp 0x85df7d
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x40]
mov dword [ebp - 0xb2c], ecx
cmp dword [ebp - 0xb2c], 0
je 0x85e1ac
mov eax, dword [0xc62eb4]
mov edx, dword [eax]
mov esi, esp
mov ecx, dword [0xc62eb4]
mov eax, dword [edx + 8]
call eax
cmp esi, esp
call fcn.005e11e1
mov ecx, dword [ebp - 0xb2c]
mov dword [ecx + 0x20a6c], eax
mov eax, dword [ebp - 0x34]
mov ecx, dword [eax + 0x28]
mov edx, dword [eax + 0x2c]
mov eax, dword [ebp - 0xb2c]
mov dword [eax + 0x20a28], ecx
mov dword [eax + 0x20a2c], edx
mov eax, dword [0xc62ea4]
mov edx, dword [eax]
mov esi, esp
mov ecx, dword [0xc62ea4]
mov eax, dword [edx + 0x6c]
call eax
cmp esi, esp
call fcn.005e11e1
mov dword [ebp - 0xb38], eax
push 0xb
mov ecx, dword [ebp - 0xb38]
call fcn.005deb71
push 0
push 0
push 0xa0
call fcn.005de2e3
add esp, 0xc
jmp 0x85e5dd
mov eax, dword [ebp - 0x28]
movsx ecx, word [eax + 0x38]
cmp ecx, 0x74
jne 0x85e5dd
lea ecx, [ebp - 0xb4c]
call fcn.005e0b29
lea ecx, [ebp - 0xb60]
call fcn.005e0b29
push 0
push 7
mov ecx, dword [ebp - 0x34]
call fcn.005dfd05
mov dword [ebp - 0xb6c], 0
jmp 0x85e23d
mov eax, dword [ebp - 0xb6c]
add eax, 1
mov dword [ebp - 0xb6c], eax
cmp dword [ebp - 0xb6c], 0xd
jge 0x85e3f9
mov eax, dword [0xc62ea4]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x34]
mov dword [ebp - 0x2be0], edx
mov eax, dword [ebp - 0xb6c]
mov ecx, dword [ebp - 0x28]
movzx edx, word [ecx + eax*8 + 0x3c]
mov esi, esp
push edx
mov ecx, dword [0xc62ea4]
call dword [ebp - 0x2be0]
cmp esi, esp
call fcn.005e11e1
mov dword [ebp - 0xb78], eax
cmp dword [ebp - 0xb78], 0
je 0x85e3f4
mov eax, dword [ebp - 0xb78]
push ecx
movss xmm0, dword [eax + 0x2c]
movss dword [esp], xmm0
mov ecx, dword [ebp - 0xb78]
movss xmm0, dword [ecx + 0x30]
subss xmm0, dword [0x9b4c14]
push ecx
movss dword [esp], xmm0
mov edx, dword [ebp - 0xb78]
push ecx
movss xmm0, dword [edx + 0x28]
movss dword [esp], xmm0
lea ecx, [ebp - 0x25fc]
call fcn.005e0ce6
mov ecx, dword [eax]
mov dword [ebp - 0xb4c], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0xb48], edx
mov eax, dword [eax + 8]
mov dword [ebp - 0xb44], eax
mov eax, dword [ebp - 0xb4c]
mov dword [ebp - 0xb60], eax
mov ecx, dword [ebp - 0xb48]
mov dword [ebp - 0xb5c], ecx
mov edx, dword [ebp - 0xb44]
mov dword [ebp - 0xb58], edx
movss xmm0, dword [0x9b1a64]
movss dword [ebp - 0xb5c], xmm0
push 0xc8
call fcn.005de946
add esp, 4
mov dword [ebp - 0x2614], eax
mov dword [ebp - 4], 0x2b
cmp dword [ebp - 0x2614], 0
je 0x85e3ad
push 0xc8
mov ecx, dword [ebp - 0x2614]
call fcn.005e0683
push 0
push 3
sub esp, 0xc
mov eax, esp
mov ecx, dword [ebp - 0xb4c]
mov dword [eax], ecx
mov edx, dword [ebp - 0xb48]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0xb44]
mov dword [eax + 8], ecx
sub esp, 0xc
mov edx, esp
mov eax, dword [ebp - 0xb60]
mov dword [edx], eax
mov ecx, dword [ebp - 0xb5c]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0xb58]
mov dword [edx + 8], eax
mov ecx, dword [ebp - 0x2614]
call fcn.005dd811
mov dword [ebp - 0x2be0], eax
jmp 0x85e3b7
mov dword [ebp - 0x2be0], 0
mov ecx, dword [ebp - 0x2be0]
mov dword [ebp - 0x2608], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x2608]
mov dword [ebp - 0xb84], edx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x2c]
mov dword [ebp - 0x2be0], ecx
mov edx, dword [ebp - 0xb84]
push edx
mov ecx, dword [ebp - 0x2be0]
call fcn.005e2177
jmp 0x85e22e
mov dword [ebp - 0xb90], 0xfffffffd
jmp 0x85e414
mov eax, dword [ebp - 0xb90]
add eax, 1
mov dword [ebp - 0xb90], eax
cmp dword [ebp - 0xb90], 3
jge 0x85e5dd
mov dword [ebp - 0xb9c], 0xfffffffd
jmp 0x85e43c
mov eax, dword [ebp - 0xb9c]
add eax, 1
mov dword [ebp - 0xb9c], eax
cmp dword [ebp - 0xb9c], 3
jge 0x85e5d8
push 0x184
call fcn.005de946
add esp, 4
mov dword [ebp - 0x262c], eax
mov dword [ebp - 4], 0x2c
cmp dword [ebp - 0x262c], 0
je 0x85e4d5
push 0x184
mov ecx, dword [ebp - 0x262c]
call fcn.005dfc3d
push 0x50
push 1
push ecx
movss xmm0, dword [0x9b1f34]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x9b0548]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x9b0548]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [0x9b0548]
movss dword [esp], xmm0
push 0xfa0
push 0xc1
mov ecx, dword [ebp - 0x262c]
call fcn.005e33d8
mov dword [ebp - 0x2be0], eax
jmp 0x85e4df
mov dword [ebp - 0x2be0], 0
mov eax, dword [ebp - 0x2be0]
mov dword [ebp - 0x2620], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x2620]
mov dword [ebp - 0xba8], ecx
mov eax, dword [ebp - 0xb90]
and eax, 0x80000001
jns 0x85e510
dec eax
or eax, 0xfffffffe
inc eax
mov ecx, dword [ebp - 0xba8]
mov dword [ecx + 0x100], eax
cvtsi2ss xmm0, dword [ebp - 0xb9c]
mulss xmm0, dword [0x9b0548]
mov eax, dword [ebp - 0x34]
addss xmm0, dword [eax + 0x2c]
push ecx
movss dword [esp], xmm0
mov ecx, dword [ebp - 0x34]
push ecx
movss xmm0, dword [ecx + 0x30]
movss dword [esp], xmm0
cvtsi2ss xmm0, dword [ebp - 0xb90]
mulss xmm0, dword [0x9b0548]
mov edx, dword [ebp - 0x34]
addss xmm0, dword [edx + 0x28]
push ecx
movss dword [esp], xmm0
lea ecx, [ebp - 0x2640]
call fcn.005e0ce6
mov ecx, dword [ebp - 0xba8]
add ecx, 0x74
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov eax, dword [eax + 8]
mov dword [ecx + 8], eax
mov eax, dword [ebp - 0xba8]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x3c]
mov dword [ebp - 0x2be0], edx
mov esi, esp
push 0xff777799
mov ecx, dword [ebp - 0xba8]
call dword [ebp - 0x2be0]
cmp esi, esp
call fcn.005e11e1
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x2c]
mov dword [ebp - 0x2be0], ecx
mov edx, dword [ebp - 0xba8]
push edx
mov ecx, dword [ebp - 0x2be0]
call fcn.005e2177
jmp 0x85e42d
jmp 0x85e405
jmp 0x85e724
mov byte [ebp - 0xbb1], 0
mov dword [ebp - 0xbc0], 0
jmp 0x85e604
mov eax, dword [ebp - 0xbc0]
add eax, 1
mov dword [ebp - 0xbc0], eax
cmp dword [ebp - 0xbc0], 0xd
jge 0x85e665
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax + 4]
cmp ecx, 0x39d
jne 0x85e627
cmp dword [ebp - 0xbc0], 1
jl 0x85e627
jmp 0x85e665
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax + 4]
cmp ecx, 0x39e
jne 0x85e641
cmp dword [ebp - 0xbc0], 2
jl 0x85e641
jmp 0x85e665
mov eax, dword [ebp - 0xbc0]
mov ecx, dword [ebp - 0x28]
movzx edx, word [ecx + eax*8 + 0x3c]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x4c]
cmp edx, dword [ecx + 0x20]
jne 0x85e663
mov byte [ebp - 0xbb1], 1
jmp 0x85e665
jmp 0x85e5f5
movzx eax, byte [ebp - 0xbb1]
test eax, eax
jne 0x85e690
mov eax, dword [ebp - 0x28]
movsx ecx, word [eax + 0x38]
cmp ecx, 0x37
jle 0x85e724
mov eax, dword [ebp - 0x28]
movsx ecx, word [eax + 0x38]
cmp ecx, 0x3f
jle 0x85e724
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax + 0x22]
cvtsi2ss xmm0, ecx
addss xmm0, dword [0x9b0664]
mov edx, dword [ebp - 0x28]
movzx eax, word [edx + 0x24]
cvtsi2ss xmm1, eax
addss xmm1, dword [0x9b0664]
push ecx
movss dword [esp], xmm1
push ecx
movss dword [esp], xmm0
lea ecx, [ebp - 0xbd0]
call fcn.005de612
xor eax, eax
mov dword [ebp - 0xbe8], eax
mov dword [ebp - 0xbe4], eax
mov dword [ebp - 0xbe0], eax
mov dword [ebp - 0xbdc], eax
mov eax, dword [0xc62ea4]
mov cx, word [eax + 0xd34]
mov word [ebp - 0xbe2], cx
mov eax, 0x369
mov word [ebp - 0xbe4], ax
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax + 0x2a]
mov dword [ebp - 0xbdc], ecx
push 0x10
lea eax, [ebp - 0xbe8]
push eax
call fcn.005ddaaf
add esp, 8
lea ecx, [ebp - 0xbfc]
call fcn.005e0b29
lea ecx, [ebp - 0xc10]
call fcn.005e0b29
cmp dword [ebp - 0x34], 0
je 0x85e79c
mov eax, dword [ebp - 0x34]
push ecx
movss xmm0, dword [eax + 0x2c]
movss dword [esp], xmm0
mov ecx, dword [ebp - 0x34]
movss xmm0, dword [ecx + 0x30]
addss xmm0, dword [0x9b04e0]
push ecx
movss dword [esp], xmm0
mov edx, dword [ebp - 0x34]
push ecx
movss xmm0, dword [edx + 0x28]
movss dword [esp], xmm0
lea ecx, [ebp - 0x2654]
call fcn.005e0ce6
mov ecx, dword [eax]
mov dword [ebp - 0xbfc], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0xbf8], edx
mov eax, dword [eax + 8]
mov dword [ebp - 0xbf4], eax
jmp 0x85e83d
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax + 0x28]
cvtsi2ss xmm0, ecx
push ecx
movss dword [esp], xmm0
mov edx, dword [ebp - 0x28]
movzx eax, word [edx + 0x26]
cvtsi2ss xmm0, eax
push ecx
movss dword [esp], xmm0
lea ecx, [ebp - 0x2664]
call fcn.005de612
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [eax]
push edx
mov ecx, dword [ebp - 0x1c]
call fcn.005dd924
cvtsi2ss xmm0, eax
mulss xmm0, dword [0x9b0640]
movss dword [ebp - 0xc1c], xmm0
push ecx
movss xmm0, dword [ebp - 0x58]
movss dword [esp], xmm0
movss xmm0, dword [ebp - 0xc1c]
addss xmm0, dword [0x9b04e0]
push ecx
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0x5c]
movss dword [esp], xmm0
lea ecx, [ebp - 0x2678]
call fcn.005e0ce6
mov ecx, dword [eax]
mov dword [ebp - 0xbfc], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0xbf8], edx
mov eax, dword [eax + 8]
mov dword [ebp - 0xbf4], eax
mov dword [ebp - 0xc28], 0
mov eax, dword [ebp - 0x28]
movsx ecx, word [eax + 0x38]
imul edx, ecx, 0x60
cmp dword [edx + 0xb1d42c], 3
je 0x86091e
mov eax, dword [ebp - 0x28]
movsx ecx, word [eax + 0x38]
imul edx, ecx, 0x60
cmp dword [edx + 0xb1d42c], 4
je 0x86091e
mov eax, dword [ebp - 0x28]
movsx ecx, word [eax + 0x38]
imul edx, ecx, 0x60
cmp dword [edx + 0xb1d42c], 5
je 0x86091e
mov eax, dword [ebp - 0x28]
movsx ecx, word [eax + 0x38]
imul edx, ecx, 0x60
cmp dword [edx + 0xb1d42c], 6
je 0x86091e
mov dword [ebp - 0xc34], 0
jmp 0x85e8be
mov eax, dword [ebp - 0xc34]
add eax, 1
mov dword [ebp - 0xc34], eax
cmp dword [ebp - 0xc34], 0xd
jge 0x860919
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax + 4]
cmp ecx, 0x39d
jne 0x85e8e8
cmp dword [ebp - 0xc34], 1
jl 0x85e8e8
jmp 0x860919
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax + 4]
cmp ecx, 0x39e
jne 0x85e905
cmp dword [ebp - 0xc34], 2
jl 0x85e905
jmp 0x860919
mov eax, dword [0xc62ea4]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x34]
mov dword [ebp - 0x2be0], edx
mov eax, dword [ebp - 0xc34]
mov ecx, dword [ebp - 0x28]
movzx edx, word [ecx + eax*8 + 0x3c]
mov esi, esp
push edx
mov ecx, dword [0xc62ea4]
call dword [ebp - 0x2be0]
cmp esi, esp
call fcn.005e11e1
mov dword [ebp - 0xc40], eax
cmp dword [ebp - 0xc40], 0
je 0x860914
mov eax, dword [ebp - 0xc40]
movsx ecx, byte [eax + 0xa6d]
mov dword [ebp - 0xc4c], ecx
cmp dword [ebp - 0xc4c], 0
jne 0x85e972
mov dword [ebp - 0xc4c], 1
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x4c], 0
je 0x85e9dd
mov eax, dword [ebp - 0xc40]
cvttss2si ecx, dword [eax + 0x2c]
push ecx
mov edx, dword [ebp - 0xc40]
cvttss2si eax, dword [edx + 0x28]
push eax
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + 0x4c]
cvttss2si eax, dword [edx + 0x2c]
push eax
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + 0x4c]
cvttss2si eax, dword [edx + 0x28]
push eax
call fcn.005e2a05
add esp, 0x10
mov dword [ebp - 0xc58], eax
cmp dword [ebp - 0xc58], 0x14
jle 0x85e9dd
mov esi, esp
push str.____damage_font_error_distance_:__d_n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
cmp esi, esp
call fcn.005e11e1
xor eax, eax
jmp 0x8634b5
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x34]
cmp ecx, dword [eax + 0x4c]
jne 0x85ea06
mov eax, dword [ebp - 0x28]
movsx ecx, byte [eax + 0x2f]
test ecx, ecx
jne 0x8607f4
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x34]
cmp ecx, dword [eax + 0x4c]
jne 0x8607f4
mov eax, dword [ebp - 0xc34]
mov ecx, dword [ebp - 0x28]
cmp dword [ecx + eax*8 + 0x40], 0xfffffffd
je 0x85ea2a
mov eax, dword [ebp - 0xc34]
mov ecx, dword [ebp - 0x28]
cmp dword [ecx + eax*8 + 0x40], 0xfffffffc
jne 0x85ebed
mov dword [ebp - 0xc64], 0
mov dword [ebp - 0xc70], 0
lea eax, [ebp - 0xc70]
push eax
lea ecx, [ebp - 0xc64]
push ecx
mov edx, dword [ebp - 0xc40]
push ecx
movss xmm0, dword [edx + 0x2c]
movss dword [esp], xmm0
mov eax, dword [ebp - 0xc40]
movss xmm0, dword [eax + 0x30]
addss xmm0, dword [0x9b04e0]
push ecx
movss dword [esp], xmm0
mov ecx, dword [ebp - 0xc40]
push ecx
movss xmm0, dword [ecx + 0x28]
movss dword [esp], xmm0
call fcn.005e0133
add esp, 0x14
test eax, eax
je 0x85ebe8
mov byte [ebp - 0xc79], 0
cmp dword [0xc6aff0], 0
je 0x85ead0
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x34]
cmp ecx, dword [eax + 0x4c]
jne 0x85eab9
mov byte [ebp - 0xc79], 1
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0xc40]
cmp ecx, dword [eax + 0x4c]
jne 0x85eace
mov byte [ebp - 0xc79], 1
jmp 0x85ead7
mov byte [ebp - 0xc79], 1
movzx eax, byte [ebp - 0xc79]
test eax, eax
je 0x85ebe8
push 0x80
push 0
lea eax, [ebp - 0xd08]
push eax
call fcn.005df85f
add esp, 0xc
push str.miss
lea eax, [ebp - 0xd08]
push eax
call fcn.005e3c16
add esp, 8
push 0x2a0
call fcn.005de946
add esp, 4
mov dword [ebp - 0x2690], eax
mov dword [ebp - 4], 0x2d
cmp dword [ebp - 0x2690], 0
je 0x85eba1
push 0x2a0
mov ecx, dword [ebp - 0x2690]
call fcn.005de39c
push 4
push 0
push 0x5dc
push 1
mov eax, dword [ebp - 0xc28]
push eax
push ecx
movss xmm0, dword [0x9b0548]
movss dword [esp], xmm0
push 0xffffffffffffffff
movss xmm0, dword [0x9ec1ec]
mulss xmm0, dword [0x9b2e28]
cvttss2si ecx, xmm0
add ecx, dword [ebp - 0xc70]
push ecx
mov edx, dword [ebp - 0xc64]
push edx
lea eax, [ebp - 0xd08]
push eax
mov ecx, dword [ebp - 0x2690]
call fcn.005e19bb
mov dword [ebp - 0x2be0], eax
jmp 0x85ebab
mov dword [ebp - 0x2be0], 0
mov ecx, dword [ebp - 0x2be0]
mov dword [ebp - 0x2684], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x2684]
mov dword [ebp - 0xd14], edx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x3c]
mov dword [ebp - 0x2be0], ecx
mov edx, dword [ebp - 0xd14]
push edx
mov ecx, dword [ebp - 0x2be0]
call fcn.005e2177
jmp 0x86061e
mov eax, dword [ebp - 0x28]
movsx ecx, word [eax + 0x38]
test ecx, ecx
jl 0x85f0cc
mov eax, dword [ebp - 0x28]
movsx ecx, word [eax + 0x38]
cmp ecx, 0x68
jge 0x85f0cc
mov eax, dword [ebp - 0x28]
movsx ecx, word [eax + 0x38]
imul edx, ecx, 0x60
cmp dword [edx + 0xb1d43c], 6
jne 0x85f0cc
mov eax, dword [ebp - 0xc34]
mov ecx, dword [ebp - 0x28]
cmp dword [ecx + eax*8 + 0x40], 0
jge 0x85ec47
mov eax, dword [ebp - 0xc34]
mov ecx, dword [ebp - 0x28]
cmp dword [ecx + eax*8 + 0x40], 0xfffffffa
jg 0x85f0cc
mov eax, dword [ebp - 0x28]
movsx ecx, byte [eax + 0x2f]
test ecx, ecx
jne 0x85ee23
mov eax, dword [ebp - 0xc40]
cmp dword [eax + 0x1dc], 0
jne 0x85ecf3
mov eax, dword [ebp - 0xc34]
mov ecx, dword [ebp - 0x28]
mov eax, dword [ecx + eax*8 + 0x40]
cdq
idiv dword [ebp - 0xc4c]
mov dword [ebp - 0xd20], eax
mov eax, dword [ebp - 0xc40]
mov ecx, dword [eax + 0x648]
sub ecx, dword [ebp - 0xd20]
mov dword [ebp - 0xd2c], ecx
mov eax, dword [ebp - 0xc40]
mov ecx, dword [ebp - 0xd2c]
cmp ecx, dword [eax + 0x640]
jle 0x85ecc1
mov eax, dword [ebp - 0xc40]
mov ecx, dword [eax + 0x640]
mov dword [ebp - 0xd2c], ecx
cmp dword [ebp - 0xd2c], 0
jg 0x85ecdc
mov eax, dword [ebp - 0xc40]
mov dword [eax + 0x648], 0
jmp 0x85ecee
mov eax, dword [ebp - 0xc40]
mov ecx, dword [ebp - 0xd2c]
mov dword [eax + 0x648], ecx
jmp 0x85ed80
mov eax, dword [ebp - 0xc34]
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + eax*8 + 0x40]
mov dword [ebp - 0xd38], edx
mov eax, dword [ebp - 0xc40]
mov ecx, dword [eax + 0x1d8]
cmp ecx, dword [ebp - 0xd38]
jne 0x85ed2c
mov eax, dword [ebp - 0xc40]
mov dword [eax + 0x1d8], 0
jmp 0x85ed4a
mov eax, dword [ebp - 0xc40]
mov ecx, dword [eax + 0x1d8]
sub ecx, dword [ebp - 0xd38]
mov edx, dword [ebp - 0xc40]
mov dword [edx + 0x1d8], ecx
cmp dword [ebp - 0xc4c], 0
jne 0x85ed5d
mov dword [ebp - 0xc4c], 1
mov eax, dword [ebp - 0xc40]
mov eax, dword [eax + 0x1d8]
xor edx, edx
div dword [ebp - 0xc4c]
movsx ecx, ax
mov edx, dword [ebp - 0xc40]
mov dword [edx + 0x648], ecx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0xc40]
cmp ecx, dword [eax + 0x4c]
jne 0x85ee23
mov eax, dword [ebp - 0xc34]
mov ecx, dword [ebp - 0x28]
mov eax, dword [ecx + eax*8 + 0x40]
cdq
idiv dword [ebp - 0xc4c]
mov dword [ebp - 0xd44], eax
mov eax, dword [ebp - 0x1c]
movzx ecx, word [eax + 0x26efc]
add ecx, dword [ebp - 0xd44]
mov dword [ebp - 0xd50], ecx
cmp dword [ebp - 0xd50], 0x186a0
jle 0x85edd8
mov dword [ebp - 0xd50], 0x186a0
cmp dword [ebp - 0xd50], 0
jg 0x85edef
xor eax, eax
mov ecx, dword [ebp - 0x1c]
mov word [ecx + 0x26efc], ax
jmp 0x85ee00
mov eax, dword [ebp - 0x1c]
mov cx, word [ebp - 0xd50]
mov word [eax + 0x26efc], cx
push 0x30
mov eax, dword [ebp - 0xc40]
add eax, 0x630
push eax
mov ecx, dword [0xc62ea4]
add ecx, 0x7ac
push ecx
call fcn.005e28b6
add esp, 0xc
mov dword [ebp - 0xd5c], 0
mov dword [ebp - 0xd68], 0
lea eax, [ebp - 0xd68]
push eax
lea ecx, [ebp - 0xd5c]
push ecx
mov edx, dword [ebp - 0xc40]
push ecx
movss xmm0, dword [edx + 0x2c]
movss dword [esp], xmm0
mov eax, dword [ebp - 0xc40]
movss xmm0, dword [eax + 0x30]
addss xmm0, dword [0x9b04e0]
push ecx
movss dword [esp], xmm0
mov ecx, dword [ebp - 0xc40]
push ecx
movss xmm0, dword [ecx + 0x28]
movss dword [esp], xmm0
call fcn.005e0133
add esp, 0x14
test eax, eax
je 0x85f09b
push 0x80
push 0
lea eax, [ebp - 0xdf0]
push eax
call fcn.005df85f
add esp, 0xc
mov eax, dword [ebp - 0xc40]
cvttss2si ecx, dword [eax + 0x28]
sar ecx, 7
cmp ecx, 0x10
jle 0x85ef3d
mov eax, dword [ebp - 0xc40]
cvttss2si ecx, dword [eax + 0x28]
sar ecx, 7
cmp ecx, 0x14
jge 0x85ef3d
mov eax, dword [ebp - 0xc40]
cvttss2si ecx, dword [eax + 0x2c]
sar ecx, 7
cmp ecx, 0x1d
jle 0x85ef3d
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax + 0x2a]
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 0x4c]
cmp ecx, dword [eax + 0x20]
jne 0x85ef04
mov eax, dword [ebp - 0xc40]
cmp dword [eax + 0x20], 0x3e8
jae 0x85ef3d
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x4c]
mov edx, dword [ebp - 0xc40]
mov eax, dword [edx + 0x20]
cmp eax, dword [ecx + 0x20]
jne 0x85ef27
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax + 0x2a]
cmp ecx, 0x3e8
jge 0x85ef3d
push 0x9b86ec
lea eax, [ebp - 0xdf0]
push eax
call fcn.005e3c16
add esp, 8
jmp 0x85ef71
mov eax, dword [ebp - 0xc34]
mov ecx, dword [ebp - 0x28]
mov eax, dword [ecx + eax*8 + 0x40]
neg eax
mov edx, dword [ebp - 0x28]
movsx ecx, byte [edx + 0x30]
and ecx, 1
add ecx, 1
cdq
idiv ecx
push eax
push str.__d
lea edx, [ebp - 0xdf0]
push edx
call fcn.005e3c16
add esp, 0xc
mov byte [ebp - 0xdf9], 0
cmp dword [0xc6aff0], 0
je 0x85efaa
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x34]
cmp ecx, dword [eax + 0x4c]
jne 0x85ef93
mov byte [ebp - 0xdf9], 1
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0xc40]
cmp ecx, dword [eax + 0x4c]
jne 0x85efa8
mov byte [ebp - 0xdf9], 1
jmp 0x85efb1
mov byte [ebp - 0xdf9], 1
movzx eax, byte [ebp - 0xdf9]
test eax, eax
je 0x85f09b
push 0x2a0
call fcn.005de946
add esp, 4
mov dword [ebp - 0x26a8], eax
mov dword [ebp - 4], 0x2e
cmp dword [ebp - 0x26a8], 0
je 0x85f054
push 0x2a0
mov ecx, dword [ebp - 0x26a8]
call fcn.005de39c
push 2
push 0
push 0x5dc
push 1
mov eax, dword [ebp - 0xc28]
push eax
push ecx
movss xmm0, dword [0x9b0548]
movss dword [esp], xmm0
push 0xff5555ff
movss xmm0, dword [0x9ec1ec]
mulss xmm0, dword [0x9b2e28]
cvttss2si ecx, xmm0
add ecx, dword [ebp - 0xd68]
push ecx
mov edx, dword [ebp - 0xd5c]
push edx
lea eax, [ebp - 0xdf0]
push eax
mov ecx, dword [ebp - 0x26a8]
call fcn.005e19bb
mov dword [ebp - 0x2be0], eax
jmp 0x85f05e
mov dword [ebp - 0x2be0], 0
mov ecx, dword [ebp - 0x2be0]
mov dword [ebp - 0x269c], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x269c]
mov dword [ebp - 0xe08], edx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x3c]
mov dword [ebp - 0x2be0], ecx
mov edx, dword [ebp - 0xe08]
push edx
mov ecx, dword [ebp - 0x2be0]
call fcn.005e2177
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax + 0x2a]
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 0x4c]
cmp ecx, dword [eax + 0x20]
jne 0x85f0c7
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0xc]
push ecx
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 0x1c]
push eax
mov ecx, dword [edx + 0x18]
push ecx
mov ecx, dword [ebp - 0x1c]
call fcn.005dd244
jmp 0x86061e
mov eax, dword [ebp - 0x28]
movsx ecx, byte [eax + 0x2f]
test ecx, ecx
jne 0x85f288
mov eax, dword [ebp - 0xc34]
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + eax*8 + 0x40]
mov dword [ebp - 0xe14], edx
cmp dword [ebp - 0xe14], 0xf4240
jle 0x85f104
mov dword [ebp - 0xe14], 0
cmp dword [ebp - 0xe14], 0
jl 0x85f1ac
mov eax, dword [ebp - 0xc40]
cmp dword [eax + 0x1dc], 0
jne 0x85f16b
mov eax, dword [ebp - 0xe14]
cdq
idiv dword [ebp - 0xc4c]
mov dword [ebp - 0xe14], eax
mov eax, dword [ebp - 0xc40]
mov ecx, dword [eax + 0x648]
sub ecx, dword [ebp - 0xe14]
mov dword [ebp - 0xe20], ecx
jns 0x85f157
mov dword [ebp - 0xe20], 0
mov eax, dword [ebp - 0xc40]
mov ecx, dword [ebp - 0xe20]
mov dword [eax + 0x648], ecx
jmp 0x85f1ac
mov eax, dword [ebp - 0xc40]
mov ecx, dword [eax + 0x1d8]
sub ecx, dword [ebp - 0xe14]
mov edx, dword [ebp - 0xc40]
mov dword [edx + 0x1d8], ecx
mov eax, dword [ebp - 0xc40]
mov eax, dword [eax + 0x1d8]
xor edx, edx
div dword [ebp - 0xc4c]
movsx ecx, ax
mov edx, dword [ebp - 0xc40]
mov dword [edx + 0x648], ecx
mov eax, dword [ebp - 0xc40]
cmp dword [eax + 0x648], 0
jge 0x85f1cb
mov eax, dword [ebp - 0xc40]
mov dword [eax + 0x648], 0
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0xc40]
cmp ecx, dword [eax + 0x4c]
jne 0x85f288
mov eax, dword [ebp - 0x1c]
movzx ecx, word [eax + 0x26efc]
mov edx, dword [ebp - 0xc34]
mov eax, dword [ebp - 0x28]
sub ecx, dword [eax + edx*8 + 0x40]
test ecx, ecx
jle 0x85f214
mov eax, dword [ebp - 0x1c]
movzx ecx, word [eax + 0x26efc]
sub ecx, dword [ebp - 0xe14]
mov edx, dword [ebp - 0x1c]
mov word [edx + 0x26efc], cx
jmp 0x85f220
xor eax, eax
mov ecx, dword [ebp - 0x1c]
mov word [ecx + 0x26efc], ax
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax + 0x2a]
cmp ecx, 0x3e8
jle 0x85f265
mov eax, dword [ebp - 0x28]
cmp dword [eax + 0x10], 0
jle 0x85f250
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x28]
mov edx, dword [eax + 0x26f00]
sub edx, dword [ecx + 0x10]
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0x26f00], edx
mov eax, dword [ebp - 0xc40]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + 0x26f00]
mov dword [eax + 0x64c], edx
push 0x30
mov eax, dword [ebp - 0xc40]
add eax, 0x630
push eax
mov ecx, dword [0xc62ea4]
add ecx, 0x7ac
push ecx
call fcn.005e28b6
add esp, 0xc
mov eax, dword [ebp - 0xc40]
mov ecx, dword [ebp - 0x28]
mov dx, word [ecx + 0x2a]
mov word [eax + 0x864], dx
mov dword [ebp - 0xe2c], 0
mov dword [ebp - 0xe38], 0
mov dword [ebp - 0xe44], 0
mov eax, dword [ebp - 0xc40]
cmp dword [eax + 0x230], 0x38
jne 0x85f38a
mov eax, dword [ebp - 0xc40]
movsx ecx, word [eax + 0x172]
test ecx, ecx
jne 0x85f38a
cmp dword [ebp - 0xc40], 0
je 0x85f38a
cmp dword [ebp - 0x34], 0
je 0x85f38a
lea eax, [ebp - 0xe44]
push eax
lea ecx, [ebp - 0xe38]
push ecx
mov edx, dword [ebp - 0xc40]
movss xmm0, dword [edx + 0x2c]
mulss xmm0, dword [0x9b0664]
mov eax, dword [ebp - 0x34]
movss xmm1, dword [eax + 0x2c]
mulss xmm1, dword [0x9b0664]
addss xmm0, xmm1
push ecx
movss dword [esp], xmm0
mov ecx, dword [ebp - 0xc40]
movss xmm0, dword [ecx + 0x30]
subss xmm0, dword [0x9b04e0]
push ecx
movss dword [esp], xmm0
mov edx, dword [ebp - 0xc40]
movss xmm0, dword [edx + 0x28]
mulss xmm0, dword [0x9b0664]
mov eax, dword [ebp - 0x34]
movss xmm1, dword [eax + 0x28]
mulss xmm1, dword [0x9b0664]
addss xmm0, xmm1
push ecx
movss dword [esp], xmm0
call fcn.005e0133
add esp, 0x14
mov dword [ebp - 0xe2c], eax
jmp 0x85f3e1
lea eax, [ebp - 0xe44]
push eax
lea ecx, [ebp - 0xe38]
push ecx
mov edx, dword [ebp - 0xc40]
push ecx
movss xmm0, dword [edx + 0x2c]
movss dword [esp], xmm0
mov eax, dword [ebp - 0xc40]
movss xmm0, dword [eax + 0x30]
addss xmm0, dword [0x9b04e0]
push ecx
movss dword [esp], xmm0
mov ecx, dword [ebp - 0xc40]
push ecx
movss xmm0, dword [ecx + 0x28]
movss dword [esp], xmm0
call fcn.005e0133
add esp, 0x14
mov dword [ebp - 0xe2c], eax
cmp dword [ebp - 0xe2c], 0
je 0x86061e
cmp dword [ebp - 0xc40], 0
je 0x85f3fd
cmp dword [ebp - 0x34], 0
jne 0x85f407
mov eax, 1
jmp 0x8634b5
mov dword [ebp - 0xe50], 0
jmp 0x85f422
mov eax, dword [ebp - 0xe50]
add eax, 1
mov dword [ebp - 0xe50], eax
mov eax, dword [ebp - 0x28]
movsx ecx, byte [eax + 0x30]
and ecx, 1
add ecx, 1
cmp dword [ebp - 0xe50], ecx
jge 0x86061e
mov dword [ebp - 0xe5c], 0
mov eax, dword [ebp - 0x28]
movsx ecx, byte [eax + 0x30]
and ecx, 4
je 0x85f466
mov eax, 8
shl eax, 0
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + eax + 0x40]
mov dword [ebp - 0xe5c], edx
mov eax, dword [ebp - 0xc34]
mov ecx, dword [ebp - 0x28]
mov eax, dword [ecx + eax*8 + 0x40]
sub eax, dword [ebp - 0xe5c]
mov edx, dword [ebp - 0x28]
movsx ecx, byte [edx + 0x30]
and ecx, 1
add ecx, 1
cdq
idiv ecx
mov dword [ebp - 0xe68], eax
cmp dword [ebp - 0xe68], 0xf4240
jle 0x85f4a5
mov dword [ebp - 0xe68], 0
cmp dword [ebp - 0xe68], 0
jle 0x860619
push 0x80
push 0
lea eax, [ebp - 0xef0]
push eax
call fcn.005df85f
add esp, 0xc
mov eax, dword [ebp - 0xc40]
cvttss2si ecx, dword [eax + 0x28]
sar ecx, 7
cmp ecx, 0x10
jle 0x85f58d
mov eax, dword [ebp - 0xc40]
cvttss2si ecx, dword [eax + 0x28]
sar ecx, 7
cmp ecx, 0x14
jge 0x85f58d
mov eax, dword [ebp - 0xc40]
cvttss2si ecx, dword [eax + 0x2c]
sar ecx, 7
cmp ecx, 0x1d
jle 0x85f58d
mov eax, dword [ebp - 0xc40]
cvttss2si ecx, dword [eax + 0x28]
sar ecx, 7
cmp ecx, 0x12
jne 0x85f533
mov eax, dword [ebp - 0xc40]
cvttss2si ecx, dword [eax + 0x2c]
sar ecx, 7
cmp ecx, 0x1e
je 0x85f58d
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax + 0x2a]
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 0x4c]
cmp ecx, dword [eax + 0x20]
jne 0x85f554
mov eax, dword [ebp - 0xc40]
cmp dword [eax + 0x20], 0x3e8
jae 0x85f58d
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x4c]
mov edx, dword [ebp - 0xc40]
mov eax, dword [edx + 0x20]
cmp eax, dword [ecx + 0x20]
jne 0x85f577
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax + 0x2a]
cmp ecx, 0x3e8
jge 0x85f58d
push 0x9b86ec
lea eax, [ebp - 0xef0]
push eax
call fcn.005e3c16
add esp, 8
jmp 0x85f5f3
mov eax, dword [ebp - 0x28]
movsx ecx, byte [eax + 0x30]
and ecx, 4
je 0x85f5a2
cmp dword [ebp - 0xe50], 0
je 0x85f5bf
mov eax, dword [ebp - 0xe68]
push eax
push 0x9b11f8
lea ecx, [ebp - 0xef0]
push ecx
call fcn.005e3c16
add esp, 0xc
jmp 0x85f5f3
mov eax, 8
shl eax, 0
mov ecx, dword [ebp - 0x28]
cmp dword [ecx + eax + 0x40], 0
jle 0x85f5f3
mov eax, dword [ebp - 0xe5c]
push eax
mov ecx, dword [ebp - 0xe68]
push ecx
push str._d___d
lea edx, [ebp - 0xef0]
push edx
call fcn.005e3c16
add esp, 0x10
mov byte [ebp - 0xef9], 0
cmp dword [0xc6aff0], 0
je 0x85f62c
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x34]
cmp ecx, dword [eax + 0x4c]
jne 0x85f615
mov byte [ebp - 0xef9], 1
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0xc40]
cmp ecx, dword [eax + 0x4c]
jne 0x85f62a
mov byte [ebp - 0xef9], 1
jmp 0x85f633
mov byte [ebp - 0xef9], 1
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax + 0x26]
cmp ecx, 0x469
jne 0x85f651
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax + 0x28]
cmp ecx, 0x6ab
je 0x85f68d
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax + 0x26]
cmp ecx, 0x45c
jne 0x85f66f
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax + 0x28]
cmp ecx, 0x6ab
je 0x85f68d
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax + 0x26]
cmp ecx, 0x446
jne 0x85f694
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax + 0x28]
cmp ecx, 0x69a
jne 0x85f694
mov byte [ebp - 0xef9], 0
movzx eax, byte [ebp - 0xef9]
test eax, eax
je 0x86038c
mov dword [ebp - 0xf08], 0
mov dword [ebp - 0xf14], 0xffffffff
movss xmm0, dword [0x9b04e0]
movss dword [ebp - 0xf20], xmm0
cmp dword [ebp - 0xc34], 0
jle 0x85fd07
mov eax, dword [ebp - 0xc34]
mov ecx, dword [ebp - 0x28]
movzx edx, word [ecx + eax*8 + 0x3c]
mov eax, dword [ebp - 0xc34]
mov ecx, dword [ebp - 0x28]
movzx eax, word [ecx + eax*8 + 0x34]
cmp edx, eax
jne 0x85fd07
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x4c]
mov dword [ecx + 0xb68], 0
mov eax, dword [ebp - 0x28]
movsx ecx, byte [eax + 0x30]
and ecx, 2
jne 0x85fa86
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0xc40]
cmp ecx, dword [eax + 0x4c]
jne 0x85f843
cmp dword [ebp - 0xe2c], 0
je 0x85f83e
push 0x2a0
call fcn.005de946
add esp, 4
mov dword [ebp - 0x26c0], eax
mov dword [ebp - 4], 0x2f
cmp dword [ebp - 0x26c0], 0
je 0x85f815
push 0x2a0
mov ecx, dword [ebp - 0x26c0]
call fcn.005de39c
push 4
mov eax, dword [ebp - 0xe50]
push eax
push 0x4b0
push 1
mov ecx, dword [ebp - 0xc28]
push ecx
push ecx
movss xmm0, dword [ebp - 0xf20]
movss dword [esp], xmm0
mov edx, dword [ebp - 0xf14]
push edx
movss xmm0, dword [0x9ec1ec]
mulss xmm0, dword [0x9b2e28]
cvttss2si eax, xmm0
cvtsi2ss xmm0, dword [ebp - 0xe44]
movss xmm1, dword [0x9b1fc0]
mulss xmm1, dword [0x9ec1ec]
subss xmm0, xmm1
imul ecx, dword [ebp - 0xe50], 0x14
cvtsi2ss xmm1, ecx
mulss xmm1, dword [0x9ec1ec]
subss xmm0, xmm1
cvttss2si edx, xmm0
add eax, edx
push eax
mov eax, dword [ebp - 0xe38]
add eax, 0x14
imul ecx, dword [ebp - 0xe50], 0xa
sub eax, ecx
push eax
lea edx, [ebp - 0xef0]
push edx
mov ecx, dword [ebp - 0x26c0]
call fcn.005e19bb
mov dword [ebp - 0x2be0], eax
jmp 0x85f81f
mov dword [ebp - 0x2be0], 0
mov eax, dword [ebp - 0x2be0]
mov dword [ebp - 0x26b4], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x26b4]
mov dword [ebp - 0xf08], ecx
jmp 0x85fa81
cmp dword [ebp - 0xe2c], 0
je 0x85fa81
mov eax, dword [ebp - 0x28]
movsx ecx, word [eax + 0x38]
test ecx, ecx
jl 0x85f86e
mov eax, dword [ebp - 0x28]
movsx ecx, word [eax + 0x38]
cmp ecx, 0x96
jle 0x85f97a
push 0x2a0
call fcn.005de946
add esp, 4
mov dword [ebp - 0x26d8], eax
mov dword [ebp - 4], 0x30
cmp dword [ebp - 0x26d8], 0
je 0x85f94c
push 0x2a0
mov ecx, dword [ebp - 0x26d8]
call fcn.005de39c
push 3
mov eax, dword [ebp - 0xe50]
push eax
push 0x4b0
push 1
mov ecx, dword [ebp - 0xc28]
push ecx
push ecx
movss xmm0, dword [ebp - 0xf20]
movss dword [esp], xmm0
mov edx, dword [ebp - 0xf14]
push edx
movss xmm0, dword [0x9ec1ec]
mulss xmm0, dword [0x9b2e28]
cvttss2si eax, xmm0
cvtsi2ss xmm0, dword [ebp - 0xe44]
movss xmm1, dword [0x9b1fc0]
mulss xmm1, dword [0x9ec1ec]
subss xmm0, xmm1
imul ecx, dword [ebp - 0xe50], 0xffffffce
cvtsi2ss xmm1, ecx
mulss xmm1, dword [0x9ec1ec]
subss xmm0, xmm1
cvttss2si edx, xmm0
add eax, edx
push eax
mov eax, dword [ebp - 0xe38]
add eax, 0x14
imul ecx, dword [ebp - 0xe50], 0xa
sub eax, ecx
push eax
lea edx, [ebp - 0xef0]
push edx
mov ecx, dword [ebp - 0x26d8]
call fcn.005e19bb
mov dword [ebp - 0x2be0], eax
jmp 0x85f956
mov dword [ebp - 0x2be0], 0
mov eax, dword [ebp - 0x2be0]
mov dword [ebp - 0x26cc], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x26cc]
mov dword [ebp - 0xf08], ecx
jmp 0x85fa81
push 0x2a0
call fcn.005de946
add esp, 4
mov dword [ebp - 0x26f0], eax
mov dword [ebp - 4], 0x31
cmp dword [ebp - 0x26f0], 0
je 0x85fa58
push 0x2a0
mov ecx, dword [ebp - 0x26f0]
call fcn.005de39c
push 7
mov eax, dword [ebp - 0xe50]
push eax
push 0x4b0
push 1
mov ecx, dword [ebp - 0xc28]
push ecx
push ecx
movss xmm0, dword [ebp - 0xf20]
movss dword [esp], xmm0
mov edx, dword [ebp - 0xf14]
push edx
movss xmm0, dword [0x9ec1ec]
mulss xmm0, dword [0x9b2e28]
cvttss2si eax, xmm0
cvtsi2ss xmm0, dword [ebp - 0xe44]
movss xmm1, dword [0x9b1fc0]
mulss xmm1, dword [0x9ec1ec]
subss xmm0, xmm1
imul ecx, dword [ebp - 0xe50], 0xffffffce
cvtsi2ss xmm1, ecx
mulss xmm1, dword [0x9ec1ec]
subss xmm0, xmm1
cvttss2si edx, xmm0
add eax, edx
push eax
mov eax, dword [ebp - 0xe38]
add eax, 0x14
imul ecx, dword [ebp - 0xe50], 0xa
sub eax, ecx
push eax
lea edx, [ebp - 0xef0]
push edx
mov ecx, dword [ebp - 0x26f0]
call fcn.005e19bb
mov dword [ebp - 0x2be0], eax
jmp 0x85fa62
mov dword [ebp - 0x2be0], 0
mov eax, dword [ebp - 0x2be0]
mov dword [ebp - 0x26e4], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x26e4]
mov dword [ebp - 0xf08], ecx
jmp 0x85fd02
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x4c]
mov dword [ecx + 0xb68], 1
cmp dword [ebp - 0xe2c], 0
je 0x85fd02
mov eax, dword [ebp - 0x28]
movsx ecx, word [eax + 0x38]
test ecx, ecx
jl 0x85fac1
mov eax, dword [ebp - 0x28]
movsx ecx, word [eax + 0x38]
cmp ecx, 0x96
jle 0x85fbea
push 0x2a0
call fcn.005de946
add esp, 4
mov dword [ebp - 0x2708], eax
mov dword [ebp - 4], 0x32
cmp dword [ebp - 0x2708], 0
je 0x85fbbc
push 0x2a0
mov ecx, dword [ebp - 0x2708]
call fcn.005de39c
push 5
mov eax, dword [ebp - 0xe50]
push eax
mov ecx, dword [ebp - 0x28]
movsx edx, byte [ecx + 0x30]
and edx, 2
imul eax, edx, 0x1f4
imul ecx, dword [ebp - 0xe50], 0x44c
lea edx, [eax + ecx + 0x44c]
push edx
push 9
mov eax, dword [ebp - 0xc28]
push eax
push ecx
movss xmm0, dword [ebp - 0xf20]
movss dword [esp], xmm0
mov ecx, dword [ebp - 0xf14]
push ecx
movss xmm0, dword [0x9ec1ec]
mulss xmm0, dword [0x9b2e28]
cvttss2si edx, xmm0
cvtsi2ss xmm0, dword [ebp - 0xe44]
movss xmm1, dword [0x9b1a64]
mulss xmm1, dword [0x9ec1ec]
subss xmm0, xmm1
imul eax, dword [ebp - 0xe50], 0xffffffce
cvtsi2ss xmm1, eax
mulss xmm1, dword [0x9ec1ec]
subss xmm0, xmm1
cvttss2si ecx, xmm0
add edx, ecx
push edx
mov edx, dword [ebp - 0xe38]
add edx, 0x14
imul eax, dword [ebp - 0xe50], 0xa
sub edx, eax
push edx
lea ecx, [ebp - 0xef0]
push ecx
mov ecx, dword [ebp - 0x2708]
call fcn.005e19bb
mov dword [ebp - 0x2be0], eax
jmp 0x85fbc6
mov dword [ebp - 0x2be0], 0
mov edx, dword [ebp - 0x2be0]
mov dword [ebp - 0x26fc], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x26fc]
mov dword [ebp - 0xf08], eax
jmp 0x85fd02
push 0x2a0
call fcn.005de946
add esp, 4
mov dword [ebp - 0x2720], eax
mov dword [ebp - 4], 0x33
cmp dword [ebp - 0x2720], 0
je 0x85fcd9
push 0x2a0
mov ecx, dword [ebp - 0x2720]
call fcn.005de39c
push 2
mov eax, dword [ebp - 0xe50]
push eax
mov ecx, dword [ebp - 0x28]
movsx edx, byte [ecx + 0x30]
and edx, 2
imul eax, edx, 0x12c
add eax, 0x4b0
push eax
push 9
mov ecx, dword [ebp - 0xc28]
push ecx
push ecx
movss xmm0, dword [ebp - 0xf20]
movss dword [esp], xmm0
mov edx, dword [ebp - 0xf14]
push edx
movss xmm0, dword [0x9ec1ec]
mulss xmm0, dword [0x9b2e28]
cvttss2si eax, xmm0
cvtsi2ss xmm0, dword [ebp - 0xe44]
movss xmm1, dword [0x9b1a64]
mulss xmm1, dword [0x9ec1ec]
subss xmm0, xmm1
imul ecx, dword [ebp - 0xe50], 0xffffffce
cvtsi2ss xmm1, ecx
mulss xmm1, dword [0x9ec1ec]
subss xmm0, xmm1
cvttss2si edx, xmm0
add eax, edx
push eax
mov eax, dword [ebp - 0xe38]
add eax, 0x14
imul ecx, dword [ebp - 0xe50], 0xa
sub eax, ecx
push eax
lea edx, [ebp - 0xef0]
push edx
mov ecx, dword [ebp - 0x2720]
call fcn.005e19bb
mov dword [ebp - 0x2be0], eax
jmp 0x85fce3
mov dword [ebp - 0x2be0], 0
mov eax, dword [ebp - 0x2be0]
mov dword [ebp - 0x2714], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x2714]
mov dword [ebp - 0xf08], ecx
jmp 0x860305
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x4c]
mov dword [ecx + 0xb68], 0
mov eax, dword [ebp - 0x28]
movsx ecx, byte [eax + 0x30]
and ecx, 2
je 0x85ff9c
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x4c]
mov dword [ecx + 0xb68], 1
cmp dword [ebp - 0xe2c], 0
je 0x85ff97
mov eax, dword [ebp - 0x28]
movsx ecx, word [eax + 0x38]
test ecx, ecx
jl 0x85fd62
mov eax, dword [ebp - 0x28]
movsx ecx, word [eax + 0x38]
cmp ecx, 0x96
jle 0x85fe7f
push 0x2a0
call fcn.005de946
add esp, 4
mov dword [ebp - 0x2738], eax
mov dword [ebp - 4], 0x34
cmp dword [ebp - 0x2738], 0
je 0x85fe51
push 0x2a0
mov ecx, dword [ebp - 0x2738]
call fcn.005de39c
push 5
mov eax, dword [ebp - 0xe50]
push eax
mov ecx, dword [ebp - 0x28]
movsx edx, byte [ecx + 0x30]
and edx, 2
imul eax, edx, 0x226
imul ecx, dword [ebp - 0xe50], 0x44c
lea edx, [eax + ecx + 0x44c]
push edx
push 9
mov eax, dword [ebp - 0xc28]
push eax
push ecx
movss xmm0, dword [ebp - 0xf20]
movss dword [esp], xmm0
mov ecx, dword [ebp - 0xf14]
push ecx
movss xmm0, dword [0x9ec1ec]
mulss xmm0, dword [0x9b8884]
cvttss2si edx, xmm0
cvtsi2ss xmm0, dword [ebp - 0xe44]
movss xmm1, dword [0x9b1a64]
mulss xmm1, dword [0x9ec1ec]
subss xmm0, xmm1
imul eax, dword [ebp - 0xe50], 0xffffffc4
cvtsi2ss xmm1, eax
mulss xmm1, dword [0x9ec1ec]
subss xmm0, xmm1
cvttss2si ecx, xmm0
add edx, ecx
push edx
mov edx, dword [ebp - 0xe38]
push edx
lea eax, [ebp - 0xef0]
push eax
mov ecx, dword [ebp - 0x2738]
call fcn.005e19bb
mov dword [ebp - 0x2be0], eax
jmp 0x85fe5b
mov dword [ebp - 0x2be0], 0
mov ecx, dword [ebp - 0x2be0]
mov dword [ebp - 0x272c], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x272c]
mov dword [ebp - 0xf08], edx
jmp 0x85ff97
push 0x2a0
call fcn.005de946
add esp, 4
mov dword [ebp - 0x2750], eax
mov dword [ebp - 4], 0x35
cmp dword [ebp - 0x2750], 0
je 0x85ff6e
push 0x2a0
mov ecx, dword [ebp - 0x2750]
call fcn.005de39c
push 8
mov eax, dword [ebp - 0xe50]
push eax
mov ecx, dword [ebp - 0x28]
movzx edx, word [ecx + 0x2a]
and edx, 2
imul eax, edx, 0x226
imul ecx, dword [ebp - 0xe50], 0x3e8
lea edx, [eax + ecx + 0x3e8]
push edx
push 9
mov eax, dword [ebp - 0xc28]
push eax
push ecx
movss xmm0, dword [ebp - 0xf20]
movss dword [esp], xmm0
mov ecx, dword [ebp - 0xf14]
push ecx
movss xmm0, dword [0x9ec1ec]
mulss xmm0, dword [0x9b2e28]
cvttss2si edx, xmm0
cvtsi2ss xmm0, dword [ebp - 0xe44]
movss xmm1, dword [0x9b1fc0]
mulss xmm1, dword [0x9ec1ec]
subss xmm0, xmm1
imul eax, dword [ebp - 0xe50], 0xffffffce
cvtsi2ss xmm1, eax
mulss xmm1, dword [0x9ec1ec]
subss xmm0, xmm1
cvttss2si ecx, xmm0
add edx, ecx
push edx
mov edx, dword [ebp - 0xe38]
push edx
lea eax, [ebp - 0xef0]
push eax
mov ecx, dword [ebp - 0x2750]
call fcn.005e19bb
mov dword [ebp - 0x2be0], eax
jmp 0x85ff78
mov dword [ebp - 0x2be0], 0
mov ecx, dword [ebp - 0x2be0]
mov dword [ebp - 0x2744], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x2744]
mov dword [ebp - 0xf08], edx
jmp 0x860305
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0xc40]
cmp ecx, dword [eax + 0x4c]
jne 0x8600c7
cmp dword [ebp - 0xe2c], 0
je 0x8600c2
push 0x2a0
call fcn.005de946
add esp, 4
mov dword [ebp - 0x2768], eax
mov dword [ebp - 4], 0x36
cmp dword [ebp - 0x2768], 0
je 0x860099
push 0x2a0
mov ecx, dword [ebp - 0x2768]
call fcn.005de39c
push 4
mov eax, dword [ebp - 0xe50]
push eax
imul ecx, dword [ebp - 0xe50], 0x3e8
add ecx, 0x3e8
push ecx
push 1
mov edx, dword [ebp - 0xc28]
push edx
push ecx
movss xmm0, dword [ebp - 0xf20]
movss dword [esp], xmm0
mov eax, dword [ebp - 0xf14]
push eax
movss xmm0, dword [0x9ec1ec]
mulss xmm0, dword [0x9b2e08]
cvttss2si ecx, xmm0
cvtsi2ss xmm0, dword [ebp - 0xe44]
movss xmm1, dword [0x9b1a64]
mulss xmm1, dword [0x9ec1ec]
subss xmm0, xmm1
imul edx, dword [ebp - 0xe50], 0x14
cvtsi2ss xmm1, edx
mulss xmm1, dword [0x9ec1ec]
subss xmm0, xmm1
cvttss2si eax, xmm0
add ecx, eax
push ecx
mov ecx, dword [ebp - 0xe38]
push ecx
lea edx, [ebp - 0xef0]
push edx
mov ecx, dword [ebp - 0x2768]
call fcn.005e19bb
mov dword [ebp - 0x2be0], eax
jmp 0x8600a3
mov dword [ebp - 0x2be0], 0
mov eax, dword [ebp - 0x2be0]
mov dword [ebp - 0x275c], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x275c]
mov dword [ebp - 0xf08], ecx
jmp 0x860305
cmp dword [ebp - 0xe2c], 0
je 0x860305
mov eax, dword [ebp - 0x28]
movsx ecx, word [eax + 0x38]
test ecx, ecx
jl 0x8600f2
mov eax, dword [ebp - 0x28]
movsx ecx, word [eax + 0x38]
cmp ecx, 0x96
jle 0x8601fe
push 0x2a0
call fcn.005de946
add esp, 4
mov dword [ebp - 0x2780], eax
mov dword [ebp - 4], 0x37
cmp dword [ebp - 0x2780], 0
je 0x8601d0
push 0x2a0
mov ecx, dword [ebp - 0x2780]
call fcn.005de39c
push 3
mov eax, dword [ebp - 0xe50]
push eax
imul ecx, dword [ebp - 0xe50], 0x44c
add ecx, 0x578
push ecx
push 1
mov edx, dword [ebp - 0xc28]
push edx
push ecx
movss xmm0, dword [ebp - 0xf20]
movss dword [esp], xmm0
mov eax, dword [ebp - 0xf14]
push eax
movss xmm0, dword [0x9ec1ec]
mulss xmm0, dword [0x9b2e08]
cvttss2si ecx, xmm0
cvtsi2ss xmm0, dword [ebp - 0xe44]
movss xmm1, dword [0x9b1a64]
mulss xmm1, dword [0x9ec1ec]
subss xmm0, xmm1
imul edx, dword [ebp - 0xe50], 0xffffffce
cvtsi2ss xmm1, edx
mulss xmm1, dword [0x9ec1ec]
subss xmm0, xmm1
cvttss2si eax, xmm0
add ecx, eax
push ecx
mov ecx, dword [ebp - 0xe38]
push ecx
lea edx, [ebp - 0xef0]
push edx
mov ecx, dword [ebp - 0x2780]
call fcn.005e19bb
mov dword [ebp - 0x2be0], eax
jmp 0x8601da
mov dword [ebp - 0x2be0], 0
mov eax, dword [ebp - 0x2be0]
mov dword [ebp - 0x2774], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x2774]
mov dword [ebp - 0xf08], ecx
jmp 0x860305
push 0x2a0
call fcn.005de946
add esp, 4
mov dword [ebp - 0x2798], eax
mov dword [ebp - 4], 0x38
cmp dword [ebp - 0x2798], 0
je 0x8602dc
push 0x2a0
mov ecx, dword [ebp - 0x2798]
call fcn.005de39c
push 7
mov eax, dword [ebp - 0xe50]
push eax
imul ecx, dword [ebp - 0xe50], 0x3e8
add ecx, 0x3e8
push ecx
push 1
mov edx, dword [ebp - 0xc28]
push edx
push ecx
movss xmm0, dword [ebp - 0xf20]
movss dword [esp], xmm0
mov eax, dword [ebp - 0xf14]
push eax
movss xmm0, dword [0x9ec1ec]
mulss xmm0, dword [0x9b2e08]
cvttss2si ecx, xmm0
cvtsi2ss xmm0, dword [ebp - 0xe44]
movss xmm1, dword [0x9b1a64]
mulss xmm1, dword [0x9ec1ec]
subss xmm0, xmm1
imul edx, dword [ebp - 0xe50], 0xffffffce
cvtsi2ss xmm1, edx
mulss xmm1, dword [0x9ec1ec]
subss xmm0, xmm1
cvttss2si eax, xmm0
add ecx, eax
push ecx
mov ecx, dword [ebp - 0xe38]
push ecx
lea edx, [ebp - 0xef0]
push edx
mov ecx, dword [ebp - 0x2798]
call fcn.005e19bb
mov dword [ebp - 0x2be0], eax
jmp 0x8602e6
mov dword [ebp - 0x2be0], 0
mov eax, dword [ebp - 0x2be0]
mov dword [ebp - 0x278c], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x278c]
mov dword [ebp - 0xf08], ecx
mov eax, dword [ebp - 0xc40]
cmp dword [eax + 0x230], 0x38
jne 0x86036e
mov eax, dword [ebp - 0xc40]
movsx ecx, word [eax + 0x172]
test ecx, ecx
jne 0x86036e
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x34]
cmp ecx, dword [eax + 0x4c]
je 0x86036e
cmp dword [ebp - 0xf08], 0
je 0x86036e
mov eax, dword [ebp - 0xf08]
movss xmm0, dword [0x9b0664]
movss dword [eax + 0xd4], xmm0
mov eax, dword [ebp - 0xf08]
cmp dword [eax + 0xac], 5
jne 0x86036e
mov eax, dword [ebp - 0xf08]
mov dword [eax + 0xac], 6
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x3c]
mov dword [ebp - 0x2be0], ecx
mov edx, dword [ebp - 0xf08]
push edx
mov ecx, dword [ebp - 0x2be0]
call fcn.005e2177
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0xc40]
cmp ecx, dword [eax + 0x4c]
jne 0x8603c0
cmp dword [ebp - 0x34], 0
je 0x8603c0
mov eax, dword [ebp - 0x34]
add eax, 0xfc
push eax
push 0x9b02f8
mov ecx, dword [ebp - 0x1c]
add ecx, 0x27768
push ecx
call fcn.005e3c16
add esp, 0xc
mov eax, dword [ebp - 0xc40]
movsx ecx, byte [eax + 0xa5c]
cmp ecx, 1
jne 0x860619
push 0xcc
call fcn.005de946
add esp, 4
mov dword [ebp - 0x27b0], eax
mov dword [ebp - 4], 0x39
cmp dword [ebp - 0x27b0], 0
je 0x860439
push 0xcc
mov ecx, dword [ebp - 0x27b0]
call fcn.005de694
push 4
mov eax, dword [ebp - 0xc40]
push ecx
movss xmm0, dword [eax + 0x34]
movss dword [esp], xmm0
push 0xff999999
push 0xb16
mov ecx, dword [ebp - 0x27b0]
call fcn.005e0935
mov dword [ebp - 0x2be0], eax
jmp 0x860443
mov dword [ebp - 0x2be0], 0
mov ecx, dword [ebp - 0x2be0]
mov dword [ebp - 0x27a4], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x27a4]
mov dword [ebp - 0xf2c], edx
mov eax, dword [ebp - 0xf2c]
mov dword [eax + 0xa4], 0x19d
mov eax, dword [ebp - 0xf2c]
mov dword [eax + 0xb0], 0x1f4
mov eax, dword [ebp - 0xf2c]
mov dword [eax + 0xb8], 0x1f4
mov eax, dword [ebp - 0xc40]
movsx ecx, byte [eax + 0xa5f]
cmp ecx, 1
jne 0x860531
mov eax, dword [ebp - 0xc40]
push ecx
movss xmm0, dword [eax + 0x58]
movss dword [esp], xmm0
mov ecx, dword [ebp - 0xc40]
mov edx, dword [ecx + 0x5c]
mov eax, dword [ebp - 0xc40]
movss xmm0, dword [edx*8 + 0x27966f4]
mulss xmm0, dword [eax + 0x38]
divss xmm0, dword [0x9b0548]
mov ecx, dword [ebp - 0xc40]
addss xmm0, dword [ecx + 0x54]
subss xmm0, dword [0x9b0658]
push ecx
movss dword [esp], xmm0
mov edx, dword [ebp - 0xc40]
push ecx
movss xmm0, dword [edx + 0x50]
movss dword [esp], xmm0
lea ecx, [ebp - 0x27c4]
call fcn.005e0ce6
mov ecx, dword [ebp - 0xf2c]
add ecx, 0x74
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov eax, dword [eax + 8]
mov dword [ecx + 8], eax
jmp 0x8605b5
mov eax, dword [ebp - 0xc40]
push ecx
movss xmm0, dword [eax + 0x2c]
movss dword [esp], xmm0
mov ecx, dword [ebp - 0xc40]
mov edx, dword [ecx + 0x5c]
mov eax, dword [ebp - 0xc40]
movss xmm0, dword [edx*8 + 0x27966f4]
mulss xmm0, dword [eax + 0x38]
divss xmm0, dword [0x9b0548]
mov ecx, dword [ebp - 0xc40]
addss xmm0, dword [ecx + 0x30]
addss xmm0, dword [0x9b0658]
push ecx
movss dword [esp], xmm0
mov edx, dword [ebp - 0xc40]
push ecx
movss xmm0, dword [edx + 0x28]
movss dword [esp], xmm0
lea ecx, [ebp - 0x27d8]
call fcn.005e0ce6
mov ecx, dword [ebp - 0xf2c]
add ecx, 0x74
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov eax, dword [eax + 8]
mov dword [ecx + 8], eax
mov eax, dword [ebp - 0xf2c]
movss xmm0, dword [0x9b1428]
movss dword [eax + 0x98], xmm0
mov eax, dword [ebp - 0xf2c]
movss xmm0, dword [0x9b1428]
movss dword [eax + 0x9c], xmm0
mov eax, dword [ebp - 0xf2c]
mov dword [eax + 0x6c], 1
mov eax, dword [ebp - 0xf2c]
mov byte [eax + 0xac], 0
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x2c]
mov dword [ebp - 0x2be0], ecx
mov edx, dword [ebp - 0xf2c]
push edx
mov ecx, dword [ebp - 0x2be0]
call fcn.005e2177
jmp 0x85f413
mov eax, dword [ebp - 0xc40]
cmp dword [eax + 0x648], 0
jge 0x860654
mov eax, dword [ebp - 0x28]
movsx ecx, byte [eax + 0x2f]
test ecx, ecx
jne 0x860654
mov eax, dword [ebp - 0xc40]
mov dword [eax + 0x648], 0
xor eax, eax
mov ecx, dword [ebp - 0x1c]
mov word [ecx + 0x26efc], ax
mov eax, dword [ebp - 0xc40]
mov ecx, dword [ebp - 0xc40]
mov edx, dword [eax + 0x648]
cmp edx, dword [ecx + 0x640]
jle 0x860691
mov eax, dword [ebp - 0x28]
movsx ecx, byte [eax + 0x2f]
test ecx, ecx
jne 0x860691
mov eax, dword [ebp - 0xc40]
mov ecx, dword [ebp - 0xc40]
mov edx, dword [ecx + 0x640]
mov dword [eax + 0x648], edx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0xc40]
cmp ecx, dword [eax + 0x4c]
jne 0x8606c1
mov eax, dword [ebp - 0x28]
movsx ecx, byte [eax + 0x2f]
test ecx, ecx
jne 0x8606c1
mov eax, dword [0xc62ea4]
mov ecx, dword [ebp - 0xc40]
mov edx, dword [ecx + 0x648]
mov dword [eax + 0x7c4], edx
push 0
mov ecx, dword [ebp - 0xc40]
call fcn.005e186c
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x8b66c]
mov dword [ebp - 0xf38], ecx
cmp dword [ebp - 0xf38], 0
je 0x8607f4
mov dword [ebp - 0xf44], 0
jmp 0x860705
mov eax, dword [ebp - 0xf44]
add eax, 1
mov dword [ebp - 0xf44], eax
mov eax, dword [ebp - 0xf38]
mov ecx, dword [ebp - 0xf44]
cmp ecx, dword [eax + 0x210]
jge 0x8607f4
mov eax, dword [ebp - 0xf44]
mov ecx, dword [ebp - 0xf38]
mov edx, dword [ecx + eax*4 + 0x214]
mov dword [ebp - 0xf50], edx
mov eax, dword [ebp - 0xf50]
mov ecx, dword [ebp - 0xc40]
mov edx, dword [eax + 0xe54]
cmp edx, dword [ecx + 0x20]
jne 0x8607ef
mov eax, dword [ebp - 0xf50]
mov ecx, dword [eax + 0xe6c]
mov dword [ebp - 0x2be0], ecx
mov edx, dword [ebp - 0xf50]
mov eax, dword [edx + 0xe6c]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x8c]
mov dword [ebp - 0x2be4], edx
mov esi, esp
mov eax, dword [ebp - 0xc40]
mov ecx, dword [eax + 0x640]
push ecx
mov ecx, dword [ebp - 0x2be0]
call dword [ebp - 0x2be4]
cmp esi, esp
call fcn.005e11e1
mov eax, dword [ebp - 0xf50]
mov ecx, dword [eax + 0xe6c]
mov dword [ebp - 0x2be0], ecx
mov edx, dword [ebp - 0xf50]
mov eax, dword [edx + 0xe6c]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x88]
mov dword [ebp - 0x2be4], edx
mov esi, esp
mov eax, dword [ebp - 0xc40]
mov ecx, dword [eax + 0x648]
push ecx
mov ecx, dword [ebp - 0x2be0]
call dword [ebp - 0x2be4]
cmp esi, esp
call fcn.005e11e1
jmp 0x8607f4
jmp 0x8606f6
mov eax, dword [ebp - 0x28]
movsx ecx, word [eax + 0x38]
test ecx, ecx
jl 0x860834
mov eax, dword [ebp - 0x28]
movsx ecx, word [eax + 0x38]
cmp ecx, 0x68
jge 0x860834
mov eax, dword [ebp - 0x28]
movsx ecx, word [eax + 0x38]
cmp ecx, 0x1d
je 0x860834
mov eax, dword [ebp - 0x28]
movsx ecx, word [eax + 0x38]
imul edx, ecx, 0x60
cmp dword [edx + 0xb1d43c], 8
jne 0x860834
mov eax, 1
jmp 0x8634b5
cmp dword [ebp - 0x34], 0
je 0x86084a
mov eax, dword [ebp - 0x34]
cmp dword [eax + 0x5c], 0xb
jne 0x86084a
mov dword [ebp - 0x68], 4
mov eax, dword [ebp - 0x28]
movzx ecx, byte [eax + 0x2e]
cmp ecx, 9
jle 0x86085d
mov eax, dword [ebp - 0x28]
mov byte [eax + 0x2e], 9
mov eax, dword [ebp - 0x28]
movzx ecx, byte [eax + 0x2e]
sub ecx, 4
mov dword [ebp - 0xf5c], ecx
mov eax, dword [ebp - 0x28]
movsx ecx, word [eax + 0x38]
cmp ecx, 0x97
jne 0x860883
mov dword [ebp - 0x68], 5
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x34]
cmp ecx, dword [eax + 0x4c]
jne 0x8608a4
mov eax, dword [ebp - 0x28]
movsx ecx, byte [eax + 0x2f]
test ecx, ecx
jne 0x860914
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x34]
cmp ecx, dword [eax + 0x4c]
jne 0x860914
mov eax, dword [ebp - 0xc34]
mov ecx, dword [ebp - 0x28]
mov eax, dword [ecx + eax*8 + 0x40]
cdq
idiv dword [ebp - 0xc4c]
mov edx, dword [ebp - 0xc40]
mov dword [edx + 0x6b0], eax
mov eax, dword [ebp - 0xc40]
mov ecx, dword [ebp - 0x5c]
mov edx, dword [ebp - 0x58]
mov dword [eax + 0x6b4], ecx
mov dword [eax + 0x6b8], edx
imul esi, dword [ebp - 0x68], 6
add esi, dword [ebp - 0xf5c]
mov eax, dword [0xc62eb4]
mov edx, dword [eax]
mov edi, esp
mov ecx, dword [0xc62eb4]
mov eax, dword [edx + 8]
call eax
cmp edi, esp
call fcn.005e11e1
add eax, dword [esi*4 + 0x9b7428]
mov ecx, dword [ebp - 0xc40]
mov dword [ecx + 0x6ac], eax
jmp 0x85e8af
jmp 0x8632e3
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax + 0x28]
cvtsi2ss xmm0, ecx
push ecx
movss dword [esp], xmm0
mov edx, dword [ebp - 0x28]
movzx eax, word [edx + 0x26]
cvtsi2ss xmm0, eax
push ecx
movss dword [esp], xmm0
lea ecx, [ebp - 0x27e8]
call fcn.005de612
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [eax]
push edx
mov ecx, dword [ebp - 0x1c]
call fcn.005dd924
cvtsi2ss xmm0, eax
mulss xmm0, dword [0x9b0640]
movss dword [ebp - 0xf68], xmm0
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax + 0x28]
cvtsi2ss xmm0, ecx
push ecx
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0xf68]
movss dword [esp], xmm0
mov edx, dword [ebp - 0x28]
movzx eax, word [edx + 0x26]
cvtsi2ss xmm0, eax
push ecx
movss dword [esp], xmm0
lea ecx, [ebp - 0x27fc]
call fcn.005e0ce6
mov ecx, dword [eax]
mov dword [ebp - 0xc10], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0xc0c], edx
mov eax, dword [eax + 8]
mov dword [ebp - 0xc08], eax
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x34]
cmp ecx, dword [eax + 0x4c]
jne 0x8609ec
mov eax, dword [ebp - 0x28]
movsx ecx, byte [eax + 0x2f]
test ecx, ecx
jne 0x861f85
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x34]
cmp ecx, dword [eax + 0x4c]
jne 0x861f85
mov dword [ebp - 0xf74], 0
jmp 0x860a07
mov eax, dword [ebp - 0xf74]
add eax, 1
mov dword [ebp - 0xf74], eax
cmp dword [ebp - 0xf74], 0xd
jge 0x861f85
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax + 4]
cmp ecx, 0x39d
jne 0x860a31
cmp dword [ebp - 0xf74], 1
jl 0x860a31
jmp 0x861f85
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax + 4]
cmp ecx, 0x39e
jne 0x860a4e
cmp dword [ebp - 0xf74], 2
jl 0x860a4e
jmp 0x861f85
mov eax, dword [0xc62ea4]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x34]
mov dword [ebp - 0x2be0], edx
mov eax, dword [ebp - 0xf74]
mov ecx, dword [ebp - 0x28]
movzx edx, word [ecx + eax*8 + 0x3c]
mov esi, esp
push edx
mov ecx, dword [0xc62ea4]
call dword [ebp - 0x2be0]
cmp esi, esp
call fcn.005e11e1
mov dword [ebp - 0xf80], eax
cmp dword [ebp - 0xf80], 0
je 0x861f80
mov eax, dword [ebp - 0xf80]
movsx ecx, byte [eax + 0xa6d]
mov dword [ebp - 0xf8c], ecx
cmp dword [ebp - 0xf8c], 0
jne 0x860abb
mov dword [ebp - 0xf8c], 1
mov eax, dword [ebp - 0xf74]
mov ecx, dword [ebp - 0x28]
cmp dword [ecx + eax*8 + 0x40], 0xfffffffd
je 0x860adf
mov eax, dword [ebp - 0xf74]
mov ecx, dword [ebp - 0x28]
cmp dword [ecx + eax*8 + 0x40], 0xfffffffc
jne 0x860ca2
mov dword [ebp - 0xf98], 0
mov dword [ebp - 0xfa4], 0
lea eax, [ebp - 0xfa4]
push eax
lea ecx, [ebp - 0xf98]
push ecx
mov edx, dword [ebp - 0xf80]
push ecx
movss xmm0, dword [edx + 0x2c]
movss dword [esp], xmm0
mov eax, dword [ebp - 0xf80]
movss xmm0, dword [eax + 0x30]
addss xmm0, dword [0x9b04e0]
push ecx
movss dword [esp], xmm0
mov ecx, dword [ebp - 0xf80]
push ecx
movss xmm0, dword [ecx + 0x28]
movss dword [esp], xmm0
call fcn.005e0133
add esp, 0x14
test eax, eax
je 0x860c9d
mov byte [ebp - 0xfad], 0
cmp dword [0xc6aff0], 0
je 0x860b85
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x34]
cmp ecx, dword [eax + 0x4c]
jne 0x860b6e
mov byte [ebp - 0xfad], 1
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0xf80]
cmp ecx, dword [eax + 0x4c]
jne 0x860b83
mov byte [ebp - 0xfad], 1
jmp 0x860b8c
mov byte [ebp - 0xfad], 1
movzx eax, byte [ebp - 0xfad]
test eax, eax
je 0x860c9d
push 0x80
push 0
lea eax, [ebp - 0x1038]
push eax
call fcn.005df85f
add esp, 0xc
push str.miss
lea eax, [ebp - 0x1038]
push eax
call fcn.005e3c16
add esp, 8
push 0x2a0
call fcn.005de946
add esp, 4
mov dword [ebp - 0x2814], eax
mov dword [ebp - 4], 0x3a
cmp dword [ebp - 0x2814], 0
je 0x860c56
push 0x2a0
mov ecx, dword [ebp - 0x2814]
call fcn.005de39c
push 4
push 0
push 0x5dc
push 1
mov eax, dword [ebp - 0xc28]
push eax
push ecx
movss xmm0, dword [0x9b0548]
movss dword [esp], xmm0
push 0xffffffffffffffff
movss xmm0, dword [0x9ec1ec]
mulss xmm0, dword [0x9b2e28]
cvttss2si ecx, xmm0
add ecx, dword [ebp - 0xfa4]
push ecx
mov edx, dword [ebp - 0xf98]
push edx
lea eax, [ebp - 0x1038]
push eax
mov ecx, dword [ebp - 0x2814]
call fcn.005e19bb
mov dword [ebp - 0x2be0], eax
jmp 0x860c60
mov dword [ebp - 0x2be0], 0
mov ecx, dword [ebp - 0x2be0]
mov dword [ebp - 0x2808], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x2808]
mov dword [ebp - 0x1044], edx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x3c]
mov dword [ebp - 0x2be0], ecx
mov edx, dword [ebp - 0x1044]
push edx
mov ecx, dword [ebp - 0x2be0]
call fcn.005e2177
jmp 0x861e3d
mov eax, dword [ebp - 0x28]
movsx ecx, word [eax + 0x38]
test ecx, ecx
jl 0x86109e
mov eax, dword [ebp - 0x28]
movsx ecx, word [eax + 0x38]
cmp ecx, 0x68
jge 0x86109e
mov eax, dword [ebp - 0x28]
movsx ecx, word [eax + 0x38]
imul edx, ecx, 0x60
cmp dword [edx + 0xb1d43c], 6
jne 0x86109e
mov eax, dword [ebp - 0xf74]
mov ecx, dword [ebp - 0x28]
cmp dword [ecx + eax*8 + 0x40], 0
jge 0x860cfc
mov eax, dword [ebp - 0xf74]
mov ecx, dword [ebp - 0x28]
cmp dword [ecx + eax*8 + 0x40], 0xfffffffa
jg 0x86109e
mov eax, dword [ebp - 0x28]
movsx ecx, byte [eax + 0x2f]
test ecx, ecx
jne 0x860df5
mov eax, dword [ebp - 0xf74]
mov ecx, dword [ebp - 0x28]
mov eax, dword [ecx + eax*8 + 0x40]
cdq
idiv dword [ebp - 0xf8c]
mov edx, dword [ebp - 0xf80]
mov ecx, dword [edx + 0x648]
sub ecx, eax
test ecx, ecx
jg 0x860d43
mov eax, dword [ebp - 0xf80]
mov dword [eax + 0x648], 0
jmp 0x860d71
mov eax, dword [ebp - 0xf74]
mov ecx, dword [ebp - 0x28]
mov eax, dword [ecx + eax*8 + 0x40]
cdq
idiv dword [ebp - 0xf8c]
mov edx, dword [ebp - 0xf80]
mov ecx, dword [edx + 0x648]
sub ecx, eax
mov edx, dword [ebp - 0xf80]
mov dword [edx + 0x648], ecx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0xf80]
cmp ecx, dword [eax + 0x4c]
jne 0x860df5
mov eax, dword [ebp - 0x1c]
movzx ecx, word [eax + 0x26efc]
mov edx, dword [ebp - 0xf74]
mov eax, dword [ebp - 0x28]
sub ecx, dword [eax + edx*8 + 0x40]
test ecx, ecx
jg 0x860da8
xor eax, eax
mov ecx, dword [ebp - 0x1c]
mov word [ecx + 0x26efc], ax
jmp 0x860dd2
mov eax, dword [ebp - 0xf74]
mov ecx, dword [ebp - 0x28]
mov eax, dword [ecx + eax*8 + 0x40]
cdq
idiv dword [ebp - 0xf8c]
mov edx, dword [ebp - 0x1c]
movzx ecx, word [edx + 0x26efc]
sub ecx, eax
mov edx, dword [ebp - 0x1c]
mov word [edx + 0x26efc], cx
push 0x30
mov eax, dword [ebp - 0xf80]
add eax, 0x630
push eax
mov ecx, dword [0xc62ea4]
add ecx, 0x7ac
push ecx
call fcn.005e28b6
add esp, 0xc
mov dword [ebp - 0x1050], 0
mov dword [ebp - 0x105c], 0
lea eax, [ebp - 0x105c]
push eax
lea ecx, [ebp - 0x1050]
push ecx
mov edx, dword [ebp - 0xf80]
push ecx
movss xmm0, dword [edx + 0x2c]
movss dword [esp], xmm0
mov eax, dword [ebp - 0xf80]
movss xmm0, dword [eax + 0x30]
addss xmm0, dword [0x9b04e0]
push ecx
movss dword [esp], xmm0
mov ecx, dword [ebp - 0xf80]
push ecx
movss xmm0, dword [ecx + 0x28]
movss dword [esp], xmm0
call fcn.005e0133
add esp, 0x14
test eax, eax
je 0x86106d
push 0x80
push 0
lea eax, [ebp - 0x10e8]
push eax
call fcn.005df85f
add esp, 0xc
mov eax, dword [ebp - 0xf80]
cvttss2si ecx, dword [eax + 0x28]
sar ecx, 7
cmp ecx, 0x10
jle 0x860f0f
mov eax, dword [ebp - 0xf80]
cvttss2si ecx, dword [eax + 0x28]
sar ecx, 7
cmp ecx, 0x14
jge 0x860f0f
mov eax, dword [ebp - 0xf80]
cvttss2si ecx, dword [eax + 0x2c]
sar ecx, 7
cmp ecx, 0x1d
jle 0x860f0f
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax + 0x2a]
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 0x4c]
cmp ecx, dword [eax + 0x20]
jne 0x860ed6
mov eax, dword [ebp - 0xf80]
cmp dword [eax + 0x20], 0x3e8
jae 0x860f0f
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x4c]
mov edx, dword [ebp - 0xf80]
mov eax, dword [edx + 0x20]
cmp eax, dword [ecx + 0x20]
jne 0x860ef9
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax + 0x2a]
cmp ecx, 0x3e8
jge 0x860f0f
push 0x9b86ec
lea eax, [ebp - 0x10e8]
push eax
call fcn.005e3c16
add esp, 8
jmp 0x860f43
mov eax, dword [ebp - 0xf74]
mov ecx, dword [ebp - 0x28]
mov eax, dword [ecx + eax*8 + 0x40]
neg eax
mov edx, dword [ebp - 0x28]
movsx ecx, byte [edx + 0x30]
and ecx, 1
add ecx, 1
cdq
idiv ecx
push eax
push str.__d
lea edx, [ebp - 0x10e8]
push edx
call fcn.005e3c16
add esp, 0xc
mov byte [ebp - 0x10f1], 0
cmp dword [0xc6aff0], 0
je 0x860f7c
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x34]
cmp ecx, dword [eax + 0x4c]
jne 0x860f65
mov byte [ebp - 0x10f1], 1
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0xf80]
cmp ecx, dword [eax + 0x4c]
jne 0x860f7a
mov byte [ebp - 0x10f1], 1
jmp 0x860f83
mov byte [ebp - 0x10f1], 1
movzx eax, byte [ebp - 0x10f1]
test eax, eax
je 0x86106d
push 0x2a0
call fcn.005de946
add esp, 4
mov dword [ebp - 0x282c], eax
mov dword [ebp - 4], 0x3b
cmp dword [ebp - 0x282c], 0
je 0x861026
push 0x2a0
mov ecx, dword [ebp - 0x282c]
call fcn.005de39c
push 2
push 0
push 0x5dc
push 1
mov eax, dword [ebp - 0xc28]
push eax
push ecx
movss xmm0, dword [0x9b0548]
movss dword [esp], xmm0
push 0xff5555ff
movss xmm0, dword [0x9ec1ec]
mulss xmm0, dword [0x9b2e28]
cvttss2si ecx, xmm0
add ecx, dword [ebp - 0x105c]
push ecx
mov edx, dword [ebp - 0x1050]
push edx
lea eax, [ebp - 0x10e8]
push eax
mov ecx, dword [ebp - 0x282c]
call fcn.005e19bb
mov dword [ebp - 0x2be0], eax
jmp 0x861030
mov dword [ebp - 0x2be0], 0
mov ecx, dword [ebp - 0x2be0]
mov dword [ebp - 0x2820], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x2820]
mov dword [ebp - 0x1100], edx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x3c]
mov dword [ebp - 0x2be0], ecx
mov edx, dword [ebp - 0x1100]
push edx
mov ecx, dword [ebp - 0x2be0]
call fcn.005e2177
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax + 0x2a]
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 0x4c]
cmp ecx, dword [eax + 0x20]
jne 0x861099
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + 0xc]
push ecx
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 0x1c]
push eax
mov ecx, dword [edx + 0x18]
push ecx
mov ecx, dword [ebp - 0x1c]
call fcn.005dd244
jmp 0x861e3d
mov eax, dword [ebp - 0x28]
movsx ecx, byte [eax + 0x2f]
test ecx, ecx
jne 0x861213
mov eax, dword [ebp - 0xf80]
cmp dword [eax + 0x1dc], 0
jne 0x861124
mov eax, dword [ebp - 0xf74]
mov ecx, dword [ebp - 0x28]
mov eax, dword [ecx + eax*8 + 0x40]
cdq
idiv dword [ebp - 0xf8c]
mov edx, dword [ebp - 0xf80]
mov ecx, dword [edx + 0x648]
sub ecx, eax
test ecx, ecx
jg 0x8610f4
mov eax, dword [ebp - 0xf80]
mov dword [eax + 0x648], 0
jmp 0x861122
mov eax, dword [ebp - 0xf74]
mov ecx, dword [ebp - 0x28]
mov eax, dword [ecx + eax*8 + 0x40]
cdq
idiv dword [ebp - 0xf8c]
mov edx, dword [ebp - 0xf80]
mov ecx, dword [edx + 0x648]
sub ecx, eax
mov edx, dword [ebp - 0xf80]
mov dword [edx + 0x648], ecx
jmp 0x86118f
mov eax, dword [ebp - 0xf80]
mov ecx, dword [ebp - 0xf74]
mov edx, dword [ebp - 0x28]
mov eax, dword [eax + 0x1d8]
cmp eax, dword [edx + ecx*8 + 0x40]
jne 0x861151
mov eax, dword [ebp - 0xf80]
mov dword [eax + 0x1d8], 0
jmp 0x861176
mov eax, dword [ebp - 0xf80]
mov ecx, dword [ebp - 0xf74]
mov edx, dword [ebp - 0x28]
mov eax, dword [eax + 0x1d8]
sub eax, dword [edx + ecx*8 + 0x40]
mov ecx, dword [ebp - 0xf80]
mov dword [ecx + 0x1d8], eax
mov eax, dword [ebp - 0xf80]
movsx ecx, word [eax + 0x1d8]
mov edx, dword [ebp - 0xf80]
mov dword [edx + 0x648], ecx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0xf80]
cmp ecx, dword [eax + 0x4c]
jne 0x861213
mov eax, dword [ebp - 0x1c]
movzx ecx, word [eax + 0x26efc]
mov edx, dword [ebp - 0xf74]
mov eax, dword [ebp - 0x28]
sub ecx, dword [eax + edx*8 + 0x40]
test ecx, ecx
jg 0x8611c6
xor eax, eax
mov ecx, dword [ebp - 0x1c]
mov word [ecx + 0x26efc], ax
jmp 0x8611f0
mov eax, dword [ebp - 0xf74]
mov ecx, dword [ebp - 0x28]
mov eax, dword [ecx + eax*8 + 0x40]
cdq
idiv dword [ebp - 0xf8c]
mov edx, dword [ebp - 0x1c]
movzx ecx, word [edx + 0x26efc]
sub ecx, eax
mov edx, dword [ebp - 0x1c]
mov word [edx + 0x26efc], cx
push 0x30
mov eax, dword [ebp - 0xf80]
add eax, 0x630
push eax
mov ecx, dword [0xc62ea4]
add ecx, 0x7ac
push ecx
call fcn.005e28b6
add esp, 0xc
mov eax, dword [ebp - 0xf80]
mov ecx, dword [ebp - 0x28]
mov dx, word [ecx + 0x2a]
mov word [eax + 0x864], dx
mov dword [ebp - 0x110c], 0
mov dword [ebp - 0x1118], 0
mov dword [ebp - 0x1124], 0
mov eax, dword [ebp - 0xf80]
cmp dword [eax + 0x230], 0x38
jne 0x861315
mov eax, dword [ebp - 0xf80]
movsx ecx, word [eax + 0x172]
test ecx, ecx
jne 0x861315
cmp dword [ebp - 0xf80], 0
je 0x861315
cmp dword [ebp - 0x34], 0
je 0x861315
lea eax, [ebp - 0x1124]
push eax
lea ecx, [ebp - 0x1118]
push ecx
mov edx, dword [ebp - 0xf80]
movss xmm0, dword [edx + 0x2c]
mulss xmm0, dword [0x9b0664]
mov eax, dword [ebp - 0x34]
movss xmm1, dword [eax + 0x2c]
mulss xmm1, dword [0x9b0664]
addss xmm0, xmm1
push ecx
movss dword [esp], xmm0
mov ecx, dword [ebp - 0xf80]
movss xmm0, dword [ecx + 0x30]
subss xmm0, dword [0x9b04e0]
push ecx
movss dword [esp], xmm0
mov edx, dword [ebp - 0xf80]
movss xmm0, dword [edx + 0x28]
mulss xmm0, dword [0x9b0664]
mov eax, dword [ebp - 0x34]
movss xmm1, dword [eax + 0x28]
mulss xmm1, dword [0x9b0664]
addss xmm0, xmm1
push ecx
movss dword [esp], xmm0
call fcn.005e0133
add esp, 0x14
mov dword [ebp - 0x110c], eax
jmp 0x86136c
lea eax, [ebp - 0x1124]
push eax
lea ecx, [ebp - 0x1118]
push ecx
mov edx, dword [ebp - 0xf80]
push ecx
movss xmm0, dword [edx + 0x2c]
movss dword [esp], xmm0
mov eax, dword [ebp - 0xf80]
movss xmm0, dword [eax + 0x30]
addss xmm0, dword [0x9b04e0]
push ecx
movss dword [esp], xmm0
mov ecx, dword [ebp - 0xf80]
push ecx
movss xmm0, dword [ecx + 0x28]
movss dword [esp], xmm0
call fcn.005e0133
add esp, 0x14
mov dword [ebp - 0x110c], eax
cmp dword [ebp - 0x110c], 0
je 0x861e3d
cmp dword [ebp - 0xf80], 0
je 0x861388
cmp dword [ebp - 0x34], 0
jne 0x861392
mov eax, 1
jmp 0x8634b5
mov dword [ebp - 0x1130], 0
jmp 0x8613ad
mov eax, dword [ebp - 0x1130]
add eax, 1
mov dword [ebp - 0x1130], eax
mov eax, dword [ebp - 0x28]
movsx ecx, byte [eax + 0x30]
and ecx, 1
add ecx, 1
cmp dword [ebp - 0x1130], ecx
jge 0x861e3d
mov eax, dword [ebp - 0x28]
movsx ecx, byte [eax + 0x30]
and ecx, 1
add ecx, 1
mov edx, dword [ebp - 0xf74]
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + edx*8 + 0x40]
cdq
idiv ecx
mov dword [ebp - 0x113c], eax
cmp dword [ebp - 0x113c], 0
jle 0x861e38
push 0x80
push 0
lea eax, [ebp - 0x11c8]
push eax
call fcn.005df85f
add esp, 0xc
mov eax, dword [ebp - 0xf80]
cvttss2si ecx, dword [eax + 0x28]
sar ecx, 7
cmp ecx, 0x10
jle 0x8614d1
mov eax, dword [ebp - 0xf80]
cvttss2si ecx, dword [eax + 0x28]
sar ecx, 7
cmp ecx, 0x14
jge 0x8614d1
mov eax, dword [ebp - 0xf80]
cvttss2si ecx, dword [eax + 0x2c]
sar ecx, 7
cmp ecx, 0x1d
jle 0x8614d1
mov eax, dword [ebp - 0xf80]
cvttss2si ecx, dword [eax + 0x28]
sar ecx, 7
cmp ecx, 0x12
jne 0x861477
mov eax, dword [ebp - 0xf80]
cvttss2si ecx, dword [eax + 0x2c]
sar ecx, 7
cmp ecx, 0x1e
je 0x8614d1
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax + 0x2a]
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 0x4c]
cmp ecx, dword [eax + 0x20]
jne 0x861498
mov eax, dword [ebp - 0xf80]
cmp dword [eax + 0x20], 0x3e8
jae 0x8614d1
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x4c]
mov edx, dword [ebp - 0xf80]
mov eax, dword [edx + 0x20]
cmp eax, dword [ecx + 0x20]
jne 0x8614bb
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax + 0x2a]
cmp ecx, 0x3e8
jge 0x8614d1
push 0x9b86ec
lea eax, [ebp - 0x11c8]
push eax
call fcn.005e3c16
add esp, 8
jmp 0x8614ec
mov eax, dword [ebp - 0x113c]
push eax
push 0x9b11f8
lea ecx, [ebp - 0x11c8]
push ecx
call fcn.005e3c16
add esp, 0xc
mov eax, dword [ebp - 0x28]
movsx ecx, word [eax + 0x38]
cmp ecx, 0x4f
jne 0x86150b
imul eax, dword [ebp - 0xf74], 0x64
add eax, dword [ebp - 0xc28]
mov dword [ebp - 0xc28], eax
mov byte [ebp - 0x11d1], 0
cmp dword [0xc6aff0], 0
je 0x861544
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x34]
cmp ecx, dword [eax + 0x4c]
jne 0x86152d
mov byte [ebp - 0x11d1], 1
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0xf80]
cmp ecx, dword [eax + 0x4c]
jne 0x861542
mov byte [ebp - 0x11d1], 1
jmp 0x86154b
mov byte [ebp - 0x11d1], 1
mov dword [ebp - 0x11e0], 0
mov dword [ebp - 0x11ec], 0xffffffff
movss xmm0, dword [0x9b04e0]
movss dword [ebp - 0x11f8], xmm0
movzx eax, byte [ebp - 0x11d1]
test eax, eax
je 0x861bab
mov eax, dword [ebp - 0x28]
movsx ecx, byte [eax + 0x30]
and ecx, 2
jne 0x8618ce
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0xf80]
cmp ecx, dword [eax + 0x4c]
jne 0x8616a2
cmp dword [ebp - 0x110c], 0
je 0x86169d
push 0x2a0
call fcn.005de946
add esp, 4
mov dword [ebp - 0x2844], eax
mov dword [ebp - 4], 0x3c
cmp dword [ebp - 0x2844], 0
je 0x861674
push 0x2a0
mov ecx, dword [ebp - 0x2844]
call fcn.005de39c
push 4
push 0
push 0x4b0
push 1
mov eax, dword [ebp - 0xc28]
push eax
push ecx
movss xmm0, dword [ebp - 0x11f8]
movss dword [esp], xmm0
mov ecx, dword [ebp - 0x11ec]
push ecx
movss xmm0, dword [0x9ec1ec]
mulss xmm0, dword [0x9b2e28]
cvttss2si edx, xmm0
cvtsi2ss xmm0, dword [ebp - 0x1124]
cvtsi2ss xmm1, dword [ebp - 0xf74]
mulss xmm1, dword [0x9b1fc0]
subss xmm0, xmm1
mulss xmm0, dword [0x9ec1ec]
cvttss2si eax, xmm0
add edx, eax
push edx
imul ecx, dword [ebp - 0xf74], 0xa
mov edx, dword [ebp - 0x1118]
sub edx, ecx
push edx
lea eax, [ebp - 0x11c8]
push eax
mov ecx, dword [ebp - 0x2844]
call fcn.005e19bb
mov dword [ebp - 0x2be0], eax
jmp 0x86167e
mov dword [ebp - 0x2be0], 0
mov ecx, dword [ebp - 0x2be0]
mov dword [ebp - 0x2838], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x2838]
mov dword [ebp - 0x11e0], edx
jmp 0x8618c9
cmp dword [ebp - 0x110c], 0
je 0x8618c9
mov eax, dword [ebp - 0x28]
movsx ecx, word [eax + 0x38]
test ecx, ecx
jl 0x8616cd
mov eax, dword [ebp - 0x28]
movsx ecx, word [eax + 0x38]
cmp ecx, 0x96
jle 0x8617c2
push 0x2a0
call fcn.005de946
add esp, 4
mov dword [ebp - 0x285c], eax
mov dword [ebp - 4], 0x3d
cmp dword [ebp - 0x285c], 0
je 0x861794
push 0x2a0
mov ecx, dword [ebp - 0x285c]
call fcn.005de39c
push 3
push 0
push 0x4b0
push 1
mov eax, dword [ebp - 0xc28]
push eax
push ecx
movss xmm0, dword [ebp - 0x11f8]
movss dword [esp], xmm0
mov ecx, dword [ebp - 0x11ec]
push ecx
movss xmm0, dword [0x9ec1ec]
mulss xmm0, dword [0x9b2e28]
cvttss2si edx, xmm0
cvtsi2ss xmm0, dword [ebp - 0x1124]
cvtsi2ss xmm1, dword [ebp - 0xf74]
mulss xmm1, dword [0x9b1fc0]
subss xmm0, xmm1
mulss xmm0, dword [0x9ec1ec]
cvttss2si eax, xmm0
add edx, eax
push edx
imul ecx, dword [ebp - 0xf74], 0xa
mov edx, dword [ebp - 0x1118]
sub edx, ecx
push edx
lea eax, [ebp - 0x11c8]
push eax
mov ecx, dword [ebp - 0x285c]
call fcn.005e19bb
mov dword [ebp - 0x2be0], eax
jmp 0x86179e
mov dword [ebp - 0x2be0], 0
mov ecx, dword [ebp - 0x2be0]
mov dword [ebp - 0x2850], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x2850]
mov dword [ebp - 0x11e0], edx
jmp 0x8618c9
push 0x2a0
call fcn.005de946
add esp, 4
mov dword [ebp - 0x2874], eax
mov dword [ebp - 4], 0x3e
cmp dword [ebp - 0x2874], 0
je 0x8618a0
push 0x2a0
mov ecx, dword [ebp - 0x2874]
call fcn.005de39c
push 7
mov eax, dword [ebp - 0x1130]
push eax
imul ecx, dword [ebp - 0x1130], 0x3e8
add ecx, 0x3e8
push ecx
push 1
mov edx, dword [ebp - 0xc28]
push edx
push ecx
movss xmm0, dword [ebp - 0x11f8]
movss dword [esp], xmm0
mov eax, dword [ebp - 0x11ec]
push eax
movss xmm0, dword [0x9ec1ec]
mulss xmm0, dword [0x9b2e08]
cvttss2si ecx, xmm0
cvtsi2ss xmm0, dword [ebp - 0x1124]
movss xmm1, dword [0x9b1a64]
mulss xmm1, dword [0x9ec1ec]
subss xmm0, xmm1
imul edx, dword [ebp - 0x1130], 0xffffffce
cvtsi2ss xmm1, edx
mulss xmm1, dword [0x9ec1ec]
subss xmm0, xmm1
cvttss2si eax, xmm0
add ecx, eax
push ecx
mov ecx, dword [ebp - 0x1118]
push ecx
lea edx, [ebp - 0x11c8]
push edx
mov ecx, dword [ebp - 0x2874]
call fcn.005e19bb
mov dword [ebp - 0x2be0], eax
jmp 0x8618aa
mov dword [ebp - 0x2be0], 0
mov eax, dword [ebp - 0x2be0]
mov dword [ebp - 0x2868], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x2868]
mov dword [ebp - 0x11e0], ecx
jmp 0x861b24
cmp dword [ebp - 0x110c], 0
je 0x861b24
mov eax, dword [ebp - 0x28]
movsx ecx, word [eax + 0x38]
test ecx, ecx
jl 0x8618f9
mov eax, dword [ebp - 0x28]
movsx ecx, word [eax + 0x38]
cmp ecx, 0x96
jle 0x861a11
push 0x2a0
call fcn.005de946
add esp, 4
mov dword [ebp - 0x288c], eax
mov dword [ebp - 4], 0x3f
cmp dword [ebp - 0x288c], 0
je 0x8619e3
push 0x2a0
mov ecx, dword [ebp - 0x288c]
call fcn.005de39c
push 5
push 0
push 0x4b0
push 1
mov eax, dword [ebp - 0xc28]
push eax
push ecx
movss xmm0, dword [ebp - 0x11f8]
movss dword [esp], xmm0
mov ecx, dword [ebp - 0x11ec]
push ecx
movss xmm0, dword [0x9ec1ec]
mulss xmm0, dword [0x9b2e28]
cvttss2si edx, xmm0
cvtsi2ss xmm0, dword [ebp - 0x1124]
movss xmm1, dword [0x9b1a64]
mulss xmm1, dword [0x9ec1ec]
subss xmm0, xmm1
imul eax, dword [ebp - 0xf74], 0x28
cvtsi2ss xmm1, eax
mulss xmm1, dword [0x9ec1ec]
subss xmm0, xmm1
movss xmm1, dword [0x9ec1ec]
mulss xmm1, dword [0x9b2e28]
addss xmm0, xmm1
cvttss2si ecx, xmm0
add edx, ecx
push edx
imul edx, dword [ebp - 0xf74], 0xa
mov eax, dword [ebp - 0x1118]
sub eax, edx
push eax
lea ecx, [ebp - 0x11c8]
push ecx
mov ecx, dword [ebp - 0x288c]
call fcn.005e19bb
mov dword [ebp - 0x2be0], eax
jmp 0x8619ed
mov dword [ebp - 0x2be0], 0
mov edx, dword [ebp - 0x2be0]
mov dword [ebp - 0x2880], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x2880]
mov dword [ebp - 0x11e0], eax
jmp 0x861b24
push 0x2a0
call fcn.005de946
add esp, 4
mov dword [ebp - 0x28a4], eax
mov dword [ebp - 4], 0x40
cmp dword [ebp - 0x28a4], 0
je 0x861afb
push 0x2a0
mov ecx, dword [ebp - 0x28a4]
call fcn.005de39c
push 8
push 0
push 0x4b0
push 1
mov eax, dword [ebp - 0xc28]
push eax
push ecx
movss xmm0, dword [ebp - 0x11f8]
movss dword [esp], xmm0
mov ecx, dword [ebp - 0x11ec]
push ecx
movss xmm0, dword [0x9ec1ec]
mulss xmm0, dword [0x9b2e28]
cvttss2si edx, xmm0
cvtsi2ss xmm0, dword [ebp - 0x1124]
movss xmm1, dword [0x9b1a64]
mulss xmm1, dword [0x9ec1ec]
subss xmm0, xmm1
imul eax, dword [ebp - 0xf74], 0x28
cvtsi2ss xmm1, eax
mulss xmm1, dword [0x9ec1ec]
subss xmm0, xmm1
movss xmm1, dword [0x9ec1ec]
mulss xmm1, dword [0x9b2e28]
addss xmm0, xmm1
cvttss2si ecx, xmm0
add edx, ecx
push edx
imul edx, dword [ebp - 0xf74], 0xa
mov eax, dword [ebp - 0x1118]
sub eax, edx
push eax
lea ecx, [ebp - 0x11c8]
push ecx
mov ecx, dword [ebp - 0x28a4]
call fcn.005e19bb
mov dword [ebp - 0x2be0], eax
jmp 0x861b05
mov dword [ebp - 0x2be0], 0
mov edx, dword [ebp - 0x2be0]
mov dword [ebp - 0x2898], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x2898]
mov dword [ebp - 0x11e0], eax
mov eax, dword [ebp - 0xf80]
cmp dword [eax + 0x230], 0x38
jne 0x861b8d
mov eax, dword [ebp - 0xf80]
movsx ecx, word [eax + 0x172]
test ecx, ecx
jne 0x861b8d
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x34]
cmp ecx, dword [eax + 0x4c]
je 0x861b8d
cmp dword [ebp - 0x11e0], 0
je 0x861b8d
mov eax, dword [ebp - 0x11e0]
movss xmm0, dword [0x9b0664]
movss dword [eax + 0xd4], xmm0
mov eax, dword [ebp - 0x11e0]
cmp dword [eax + 0xac], 5
jne 0x861b8d
mov eax, dword [ebp - 0x11e0]
mov dword [eax + 0xac], 6
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x3c]
mov dword [ebp - 0x2be0], ecx
mov edx, dword [ebp - 0x11e0]
push edx
mov ecx, dword [ebp - 0x2be0]
call fcn.005e2177
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0xf80]
cmp ecx, dword [eax + 0x4c]
jne 0x861bdf
cmp dword [ebp - 0x34], 0
je 0x861bdf
mov eax, dword [ebp - 0x34]
add eax, 0xfc
push eax
push 0x9b02f8
mov ecx, dword [ebp - 0x1c]
add ecx, 0x27768
push ecx
call fcn.005e3c16
add esp, 0xc
mov eax, dword [ebp - 0xf80]
movsx ecx, byte [eax + 0xa5c]
cmp ecx, 1
jne 0x861e38
push 0xcc
call fcn.005de946
add esp, 4
mov dword [ebp - 0x28bc], eax
mov dword [ebp - 4], 0x41
cmp dword [ebp - 0x28bc], 0
je 0x861c58
push 0xcc
mov ecx, dword [ebp - 0x28bc]
call fcn.005de694
push 4
mov eax, dword [ebp - 0xf80]
push ecx
movss xmm0, dword [eax + 0x34]
movss dword [esp], xmm0
push 0xff999999
push 0xb16
mov ecx, dword [ebp - 0x28bc]
call fcn.005e0935
mov dword [ebp - 0x2be0], eax
jmp 0x861c62
mov dword [ebp - 0x2be0], 0
mov ecx, dword [ebp - 0x2be0]
mov dword [ebp - 0x28b0], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x28b0]
mov dword [ebp - 0x1204], edx
mov eax, dword [ebp - 0x1204]
mov dword [eax + 0xa4], 0x19d
mov eax, dword [ebp - 0x1204]
mov dword [eax + 0xb0], 0x1f4
mov eax, dword [ebp - 0x1204]
mov dword [eax + 0xb8], 0x1f4
mov eax, dword [ebp - 0xf80]
movsx ecx, byte [eax + 0xa5f]
cmp ecx, 1
jne 0x861d50
mov eax, dword [ebp - 0xf80]
push ecx
movss xmm0, dword [eax + 0x58]
movss dword [esp], xmm0
mov ecx, dword [ebp - 0xf80]
mov edx, dword [ecx + 0x5c]
mov eax, dword [ebp - 0xf80]
movss xmm0, dword [edx*8 + 0x27966f4]
mulss xmm0, dword [eax + 0x38]
divss xmm0, dword [0x9b0548]
mov ecx, dword [ebp - 0xf80]
addss xmm0, dword [ecx + 0x54]
subss xmm0, dword [0x9b0658]
push ecx
movss dword [esp], xmm0
mov edx, dword [ebp - 0xf80]
push ecx
movss xmm0, dword [edx + 0x50]
movss dword [esp], xmm0
lea ecx, [ebp - 0x28d0]
call fcn.005e0ce6
mov ecx, dword [ebp - 0x1204]
add ecx, 0x74
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov eax, dword [eax + 8]
mov dword [ecx + 8], eax
jmp 0x861dd4
mov eax, dword [ebp - 0xf80]
push ecx
movss xmm0, dword [eax + 0x2c]
movss dword [esp], xmm0
mov ecx, dword [ebp - 0xf80]
mov edx, dword [ecx + 0x5c]
mov eax, dword [ebp - 0xf80]
movss xmm0, dword [edx*8 + 0x27966f4]
mulss xmm0, dword [eax + 0x38]
divss xmm0, dword [0x9b0548]
mov ecx, dword [ebp - 0xf80]
addss xmm0, dword [ecx + 0x30]
addss xmm0, dword [0x9b0658]
push ecx
movss dword [esp], xmm0
mov edx, dword [ebp - 0xf80]
push ecx
movss xmm0, dword [edx + 0x28]
movss dword [esp], xmm0
lea ecx, [ebp - 0x28e4]
call fcn.005e0ce6
mov ecx, dword [ebp - 0x1204]
add ecx, 0x74
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov eax, dword [eax + 8]
mov dword [ecx + 8], eax
mov eax, dword [ebp - 0x1204]
movss xmm0, dword [0x9b1428]
movss dword [eax + 0x98], xmm0
mov eax, dword [ebp - 0x1204]
movss xmm0, dword [0x9b1428]
movss dword [eax + 0x9c], xmm0
mov eax, dword [ebp - 0x1204]
mov dword [eax + 0x6c], 1
mov eax, dword [ebp - 0x1204]
mov byte [eax + 0xac], 0
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x2c]
mov dword [ebp - 0x2be0], ecx
mov edx, dword [ebp - 0x1204]
push edx
mov ecx, dword [ebp - 0x2be0]
call fcn.005e2177
jmp 0x86139e
mov eax, dword [ebp - 0xf80]
cmp dword [eax + 0x648], 0
jge 0x861ea4
mov eax, dword [ebp - 0x28]
movsx ecx, byte [eax + 0x2f]
test ecx, ecx
jne 0x861ea4
mov eax, dword [ebp - 0xf80]
mov dword [eax + 0x648], 0
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0xf80]
cmp ecx, dword [eax + 0x4c]
jne 0x861e98
push 0x30
mov eax, dword [ebp - 0xf80]
add eax, 0x630
push eax
mov ecx, dword [0xc62ea4]
add ecx, 0x7ac
push ecx
call fcn.005e28b6
add esp, 0xc
xor eax, eax
mov ecx, dword [ebp - 0x1c]
mov word [ecx + 0x26efc], ax
mov eax, dword [ebp - 0xf80]
mov ecx, dword [ebp - 0xf80]
mov edx, dword [eax + 0x648]
cmp edx, dword [ecx + 0x640]
jle 0x861f12
mov eax, dword [ebp - 0x28]
movsx ecx, byte [eax + 0x2f]
test ecx, ecx
jne 0x861f12
mov eax, dword [ebp - 0xf80]
mov ecx, dword [ebp - 0xf80]
mov edx, dword [ecx + 0x640]
mov dword [eax + 0x648], edx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0xf80]
cmp ecx, dword [eax + 0x4c]
jne 0x861f12
push 0x30
mov eax, dword [ebp - 0xf80]
add eax, 0x630
push eax
mov ecx, dword [0xc62ea4]
add ecx, 0x7ac
push ecx
call fcn.005e28b6
add esp, 0xc
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0xf80]
cmp ecx, dword [eax + 0x4c]
jne 0x861f73
mov eax, dword [ebp - 0x28]
movsx ecx, byte [eax + 0x2f]
test ecx, ecx
jne 0x861f73
mov eax, dword [0xc62ea4]
mov ecx, dword [ebp - 0xf80]
mov edx, dword [ecx + 0x648]
mov dword [eax + 0x7c4], edx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0xf80]
cmp ecx, dword [eax + 0x4c]
jne 0x861f73
push 0x30
mov eax, dword [ebp - 0xf80]
add eax, 0x630
push eax
mov ecx, dword [0xc62ea4]
add ecx, 0x7ac
push ecx
call fcn.005e28b6
add esp, 0xc
push 0
mov ecx, dword [ebp - 0xf80]
call fcn.005e186c
jmp 0x8609f8
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x34]
cmp ecx, dword [eax + 0x4c]
jne 0x861faf
mov eax, dword [ebp - 0x28]
movsx ecx, byte [eax + 0x2f]
cmp ecx, 1
jne 0x8632e3
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x34]
cmp ecx, dword [eax + 0x4c]
jne 0x8632e3
mov eax, dword [ebp - 0x28]
movsx ecx, word [eax + 0x38]
test ecx, ecx
jne 0x862071
push 0x90
call fcn.005de946
add esp, 4
mov dword [ebp - 0x28fc], eax
mov dword [ebp - 4], 0x42
cmp dword [ebp - 0x28fc], 0
je 0x862025
push 0x90
mov ecx, dword [ebp - 0x28fc]
call fcn.005e2172
push 0
sub esp, 0xc
mov eax, esp
mov ecx, dword [ebp - 0xc10]
mov dword [eax], ecx
mov edx, dword [ebp - 0xc0c]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0xc08]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x28fc]
call fcn.005e250a
mov dword [ebp - 0x2be0], eax
jmp 0x86202f
mov dword [ebp - 0x2be0], 0
mov edx, dword [ebp - 0x2be0]
mov dword [ebp - 0x28f0], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x28f0]
mov dword [ebp - 0x1210], eax
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x2c]
mov dword [ebp - 0x2be0], ecx
mov edx, dword [ebp - 0x1210]
push edx
mov ecx, dword [ebp - 0x2be0]
call fcn.005e2177
jmp 0x8632e3
mov eax, dword [ebp - 0x28]
movsx ecx, word [eax + 0x38]
cmp ecx, 1
jne 0x862171
movss xmm0, dword [ebp - 0xbf8]
subss xmm0, dword [0x9b0664]
push ecx
movss xmm1, dword [ebp - 0xbf4]
movss dword [esp], xmm1
push ecx
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0xbfc]
movss dword [esp], xmm0
lea ecx, [ebp - 0x1224]
call fcn.005e0ce6
push 0x90
call fcn.005de946
add esp, 4
mov dword [ebp - 0x2914], eax
mov dword [ebp - 4], 0x43
cmp dword [ebp - 0x2914], 0
je 0x862125
push 0x90
mov ecx, dword [ebp - 0x2914]
call fcn.005e3a0e
push 0
sub esp, 0xc
mov eax, esp
mov ecx, dword [ebp - 0x1224]
mov dword [eax], ecx
mov edx, dword [ebp - 0x1220]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x121c]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x2914]
call fcn.005e0930
mov dword [ebp - 0x2be0], eax
jmp 0x86212f
mov dword [ebp - 0x2be0], 0
mov edx, dword [ebp - 0x2be0]
mov dword [ebp - 0x2908], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x2908]
mov dword [ebp - 0x1230], eax
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x2c]
mov dword [ebp - 0x2be0], ecx
mov edx, dword [ebp - 0x1230]
push edx
mov ecx, dword [ebp - 0x2be0]
call fcn.005e2177
jmp 0x8632e3
mov eax, dword [ebp - 0x28]
movsx ecx, word [eax + 0x38]
cmp ecx, 0x1a
jne 0x8624bb
movss xmm0, dword [ebp - 0xbf8]
subss xmm0, dword [0x9b0664]
push ecx
movss xmm1, dword [ebp - 0xbf4]
movss dword [esp], xmm1
push ecx
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0xbfc]
movss dword [esp], xmm0
lea ecx, [ebp - 0x1244]
call fcn.005e0ce6
push 0x90
call fcn.005de946
add esp, 4
mov dword [ebp - 0x292c], eax
mov dword [ebp - 4], 0x44
cmp dword [ebp - 0x292c], 0
je 0x862225
push 0x90
mov ecx, dword [ebp - 0x292c]
call fcn.005e3ef5
push 0
sub esp, 0xc
mov eax, esp
mov ecx, dword [ebp - 0x1244]
mov dword [eax], ecx
mov edx, dword [ebp - 0x1240]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x123c]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x292c]
call fcn.005dd915
mov dword [ebp - 0x2be0], eax
jmp 0x86222f
mov dword [ebp - 0x2be0], 0
mov edx, dword [ebp - 0x2be0]
mov dword [ebp - 0x2920], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x2920]
mov dword [ebp - 0x1250], eax
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x2c]
mov dword [ebp - 0x2be0], ecx
mov edx, dword [ebp - 0x1250]
push edx
mov ecx, dword [ebp - 0x2be0]
call fcn.005e2177
cmp dword [ebp - 0x34], 0
jne 0x86227c
mov eax, 1
jmp 0x8634b5
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x4c]
mov edx, dword [ebp - 0x1c]
mov eax, dword [ecx]
mov esi, esp
mov ecx, dword [edx + 0x4c]
mov edx, dword [eax + 0x50]
call edx
cmp esi, esp
call fcn.005e11e1
cmp eax, 1
jne 0x8622a7
mov eax, 1
jmp 0x8634b5
mov eax, dword [ebp - 0x34]
movzx ecx, word [eax + 0x894]
test ecx, ecx
je 0x862305
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x4c]
movzx edx, word [ecx + 0x894]
test edx, edx
je 0x862305
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x4c]
movzx edx, word [ecx + 0x894]
mov eax, dword [ebp - 0x34]
movzx ecx, word [eax + 0x894]
cmp edx, ecx
je 0x8622fb
mov eax, dword [0xc62ea4]
movzx ecx, word [eax + 0xe9a]
mov edx, dword [ebp - 0x34]
movzx eax, word [edx + 0x894]
cmp ecx, eax
jne 0x862305
mov eax, 1
jmp 0x8634b5
mov byte [ebp - 0x1259], 0
mov dword [ebp - 0x1268], 0
jmp 0x862327
mov eax, dword [ebp - 0x1268]
add eax, 1
mov dword [ebp - 0x1268], eax
cmp dword [ebp - 0x1268], 0xd
jge 0x862354
mov eax, dword [ebp - 0x1268]
mov ecx, dword [ebp - 0x28]
movzx edx, word [ecx + eax*8 + 0x3c]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x4c]
cmp edx, dword [ecx + 0x20]
jne 0x862352
mov byte [ebp - 0x1259], 1
jmp 0x862354
jmp 0x862318
movzx eax, byte [ebp - 0x1259]
test eax, eax
je 0x8624b6
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x34]
cmp ecx, dword [eax + 0x4c]
je 0x8624b6
mov eax, dword [ebp - 0x34]
movzx ecx, byte [eax + 0x22c]
test ecx, ecx
jne 0x8624b6
xorps xmm0, xmm0
movss dword [ebp - 0x1274], xmm0
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x4c]
movsx edx, word [ecx + 0x630]
test edx, edx
jg 0x8623e6
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x4c]
movsx edx, word [ecx + 0x630]
cvtsi2ss xmm0, edx
mulss xmm0, dword [0x9b4c24]
mov eax, 2
shl eax, 0
mov ecx, dword [ebp - 0x34]
movzx edx, word [ecx + eax + 0x658]
cvtsi2ss xmm1, edx
mulss xmm0, xmm1
divss xmm0, dword [0x9b1fd0]
movss dword [ebp - 0x1274], xmm0
jmp 0x862437
mov eax, dword [ebp - 0x34]
movsx eax, word [eax + 0x630]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + 0x4c]
movsx ecx, word [edx + 0x630]
cdq
idiv ecx
cvtsi2ss xmm0, eax
mulss xmm0, dword [0x9b4c24]
mov edx, 2
shl edx, 0
mov eax, dword [ebp - 0x34]
movzx ecx, word [eax + edx + 0x658]
cvtsi2ss xmm1, ecx
mulss xmm0, xmm1
divss xmm0, dword [0x9b1fd0]
movss dword [ebp - 0x1274], xmm0
cvtss2sd xmm0, dword [ebp - 0x1274]
movsd xmm1, qword [0x9b8818]
comisd xmm1, xmm0
jbe 0x86245d
movss xmm0, dword [0x9b4c20]
movss dword [ebp - 0x1274], xmm0
cvtss2sd xmm0, dword [ebp - 0x1274]
comisd xmm0, xmmword [0x9b8838]
jbe 0x86247f
movss xmm0, dword [0x9b4c24]
movss dword [ebp - 0x1274], xmm0
mov eax, dword [ebp - 0x1c]
movss xmm0, dword [ebp - 0x1274]
movss dword [eax + 0x26f54], xmm0
mov eax, dword [0xc62eb4]
mov edx, dword [eax]
mov esi, esp
mov ecx, dword [0xc62eb4]
mov eax, dword [edx + 8]
call eax
cmp esi, esp
call fcn.005e11e1
mov ecx, dword [ebp - 0x1c]
mov dword [ecx + 0x26f50], eax
jmp 0x8632e3
mov eax, dword [ebp - 0x28]
movsx ecx, word [eax + 0x38]
cmp ecx, 7
jne 0x86273b
mov dword [ebp - 0x1280], 0
jmp 0x8624e6
mov eax, dword [ebp - 0x1280]
add eax, 1
mov dword [ebp - 0x1280], eax
cmp dword [ebp - 0x1280], 0xd
jge 0x862736
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax + 4]
cmp ecx, 0x39d
jne 0x862510
cmp dword [ebp - 0x1280], 1
jl 0x862510
jmp 0x862736
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax + 4]
cmp ecx, 0x39e
jne 0x86252d
cmp dword [ebp - 0x1280], 2
jl 0x86252d
jmp 0x862736
mov eax, dword [0xc62ea4]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x34]
mov dword [ebp - 0x2be0], edx
mov eax, dword [ebp - 0x1280]
mov ecx, dword [ebp - 0x28]
movzx edx, word [ecx + eax*8 + 0x3c]
mov esi, esp
push edx
mov ecx, dword [0xc62ea4]
call dword [ebp - 0x2be0]
cmp esi, esp
call fcn.005e11e1
mov dword [ebp - 0x128c], eax
cmp dword [ebp - 0x128c], 0
je 0x862731
xorps xmm0, xmm0
movss dword [ebp - 0x1298], xmm0
cmp dword [ebp - 0x34], 0
je 0x862595
mov eax, dword [ebp - 0x34]
movss xmm0, dword [eax + 0x30]
movss dword [ebp - 0x1298], xmm0
mov eax, dword [ebp - 0x128c]
push ecx
movss xmm0, dword [eax + 0x2c]
movss dword [esp], xmm0
movss xmm0, dword [ebp - 0x1298]
addss xmm0, dword [0x9b0664]
push ecx
movss dword [esp], xmm0
mov ecx, dword [ebp - 0x128c]
push ecx
movss xmm0, dword [ecx + 0x28]
movss dword [esp], xmm0
lea ecx, [ebp - 0x2940]
call fcn.005e0ce6
mov edx, dword [eax]
mov dword [ebp - 0xbfc], edx
mov ecx, dword [eax + 4]
mov dword [ebp - 0xbf8], ecx
mov edx, dword [eax + 8]
mov dword [ebp - 0xbf4], edx
movss xmm0, dword [ebp - 0xbf4]
subss xmm0, dword [0x9b1a5c]
push ecx
movss dword [esp], xmm0
movss xmm0, dword [ebp - 0xbf8]
addss xmm0, dword [0x9b4c14]
push ecx
movss dword [esp], xmm0
movss xmm0, dword [ebp - 0xbfc]
addss xmm0, dword [0x9b1a5c]
push ecx
movss dword [esp], xmm0
lea ecx, [ebp - 0x2954]
call fcn.005e0ce6
mov ecx, dword [eax]
mov dword [ebp - 0xc10], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0xc0c], edx
mov eax, dword [eax + 8]
mov dword [ebp - 0xc08], eax
push 0x94
call fcn.005de946
add esp, 4
mov dword [ebp - 0x296c], eax
mov dword [ebp - 4], 0x45
cmp dword [ebp - 0x296c], 0
je 0x8626ea
push 0x94
mov ecx, dword [ebp - 0x296c]
call fcn.005e0ef8
push 0
push 0
push 0
push 0x2711
push 0
sub esp, 0xc
mov eax, esp
mov ecx, dword [ebp - 0xbfc]
mov dword [eax], ecx
mov edx, dword [ebp - 0xbf8]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0xbf4]
mov dword [eax + 8], ecx
sub esp, 0xc
mov edx, esp
mov eax, dword [ebp - 0xc10]
mov dword [edx], eax
mov ecx, dword [ebp - 0xc0c]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0xc08]
mov dword [edx + 8], eax
mov ecx, dword [ebp - 0x296c]
call fcn.005dfada
mov dword [ebp - 0x2be0], eax
jmp 0x8626f4
mov dword [ebp - 0x2be0], 0
mov ecx, dword [ebp - 0x2be0]
mov dword [ebp - 0x2960], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x2960]
mov dword [ebp - 0x12a4], edx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x2c]
mov dword [ebp - 0x2be0], ecx
mov edx, dword [ebp - 0x12a4]
push edx
mov ecx, dword [ebp - 0x2be0]
call fcn.005e2177
jmp 0x8624d7
jmp 0x8632e3
mov eax, dword [ebp - 0x28]
movsx ecx, word [eax + 0x38]
cmp ecx, 0x23
jne 0x8628c3
movss xmm0, dword [ebp - 0xc0c]
addss xmm0, dword [0x9b04e0]
movss dword [ebp - 0xc0c], xmm0
push 0xc8
call fcn.005de946
add esp, 4
mov dword [ebp - 0x2984], eax
mov dword [ebp - 4], 0x46
cmp dword [ebp - 0x2984], 0
je 0x862877
push 0xc8
mov ecx, dword [ebp - 0x2984]
call fcn.005e0683
mov eax, dword [ebp - 0xc10]
mov dword [ebp - 0x29c8], eax
mov ecx, dword [ebp - 0xc0c]
mov dword [ebp - 0x29c4], ecx
mov edx, dword [ebp - 0xc08]
mov dword [ebp - 0x29c0], edx
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
lea ecx, [ebp - 0x2998]
call fcn.005e0ce6
mov ecx, dword [eax]
mov dword [ebp - 0x29b0], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0x29ac], edx
mov eax, dword [eax + 8]
mov dword [ebp - 0x29a8], eax
mov ecx, dword [ebp - 0x29b0]
mov dword [ebp - 0x29e0], ecx
mov edx, dword [ebp - 0x29ac]
mov dword [ebp - 0x29dc], edx
mov eax, dword [ebp - 0x29a8]
mov dword [ebp - 0x29d8], eax
push 0
push 0
sub esp, 0xc
mov ecx, esp
mov edx, dword [ebp - 0x29c8]
mov dword [ecx], edx
mov eax, dword [ebp - 0x29c4]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x29c0]
mov dword [ecx + 8], edx
sub esp, 0xc
mov eax, esp
mov ecx, dword [ebp - 0x29e0]
mov dword [eax], ecx
mov edx, dword [ebp - 0x29dc]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x29d8]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x2984]
call fcn.005dd811
mov dword [ebp - 0x2be0], eax
jmp 0x862881
mov dword [ebp - 0x2be0], 0
mov edx, dword [ebp - 0x2be0]
mov dword [ebp - 0x2978], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x2978]
mov dword [ebp - 0x12b0], eax
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x2c]
mov dword [ebp - 0x2be0], ecx
mov edx, dword [ebp - 0x12b0]
push edx
mov ecx, dword [ebp - 0x2be0]
call fcn.005e2177
jmp 0x8632e3
mov eax, dword [ebp - 0x28]
movsx ecx, word [eax + 0x38]
cmp ecx, 0x27
jne 0x862c95
movzx eax, byte [ebp - 0x49]
test eax, eax
jne 0x862c95
movss xmm0, dword [ebp - 0xc0c]
addss xmm0, dword [0x9b04e0]
movss dword [ebp - 0xc0c], xmm0
lea ecx, [ebp - 0x12c4]
call fcn.005e0b29
mov dword [ebp - 0x12d0], 0
jmp 0x86291d
mov eax, dword [ebp - 0x12d0]
add eax, 1
mov dword [ebp - 0x12d0], eax
cmp dword [ebp - 0x12d0], 4
jge 0x862b08
push 0xc8
call fcn.005de946
add esp, 4
mov dword [ebp - 0x29f8], eax
mov dword [ebp - 4], 0x47
cmp dword [ebp - 0x29f8], 0
je 0x862a9a
push 0xc8
mov ecx, dword [ebp - 0x29f8]
call fcn.005e0683
movss xmm0, dword [ebp - 0xc08]
subss xmm0, dword [0x9b4d8c]
mov eax, dword [ebp - 0x12d0]
cdq
sub eax, edx
sar eax, 1
cvtsi2ss xmm1, eax
mulss xmm1, dword [str.fff_]
addss xmm0, xmm1
push ecx
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0xc0c]
movss dword [esp], xmm0
movss xmm0, dword [ebp - 0xc10]
subss xmm0, dword [0x9b4d8c]
mov eax, dword [ebp - 0x12d0]
and eax, 0x80000001
jns 0x8629c2
dec eax
or eax, 0xfffffffe
inc eax
cvtsi2ss xmm1, eax
mulss xmm1, dword [str.fff_]
addss xmm0, xmm1
push ecx
movss dword [esp], xmm0
lea ecx, [ebp - 0x2a0c]
call fcn.005e0ce6
mov ecx, dword [eax]
mov dword [ebp - 0x2a40], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0x2a3c], edx
mov eax, dword [eax + 8]
mov dword [ebp - 0x2a38], eax
mov ecx, dword [ebp - 0x2a40]
mov dword [ebp - 0x2a58], ecx
mov edx, dword [ebp - 0x2a3c]
mov dword [ebp - 0x2a54], edx
mov eax, dword [ebp - 0x2a38]
mov dword [ebp - 0x2a50], eax
mov ecx, dword [ebp - 0x12c4]
mov dword [ebp - 0x2a28], ecx
mov edx, dword [ebp - 0x12c0]
mov dword [ebp - 0x2a24], edx
mov eax, dword [ebp - 0x12bc]
mov dword [ebp - 0x2a20], eax
push 0
push 4
sub esp, 0xc
mov ecx, esp
mov edx, dword [ebp - 0x2a58]
mov dword [ecx], edx
mov eax, dword [ebp - 0x2a54]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x2a50]
mov dword [ecx + 8], edx
sub esp, 0xc
mov eax, esp
mov ecx, dword [ebp - 0x2a28]
mov dword [eax], ecx
mov edx, dword [ebp - 0x2a24]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x2a20]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x29f8]
call fcn.005dd811
mov dword [ebp - 0x2be0], eax
jmp 0x862aa4
mov dword [ebp - 0x2be0], 0
mov edx, dword [ebp - 0x2be0]
mov dword [ebp - 0x29ec], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x29ec]
mov dword [ebp - 0x12dc], eax
imul eax, dword [ebp - 0x12d0], 0xc8
mov ecx, dword [ebp - 0x12dc]
add eax, dword [ecx + 0x80]
mov edx, dword [ebp - 0x12dc]
mov dword [edx + 0x80], eax
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x2c]
mov dword [ebp - 0x2be0], ecx
mov edx, dword [ebp - 0x12dc]
push edx
mov ecx, dword [ebp - 0x2be0]
call fcn.005e2177
jmp 0x86290e
push 0xc8
call fcn.005de946
add esp, 4
mov dword [ebp - 0x2a70], eax
mov dword [ebp - 4], 0x48
cmp dword [ebp - 0x2a70], 0
je 0x862c2b
push 0xc8
mov ecx, dword [ebp - 0x2a70]
call fcn.005e0683
push ecx
movss xmm0, dword [ebp - 0xc08]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0xc0c]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0xc10]
movss dword [esp], xmm0
lea ecx, [ebp - 0x2a84]
call fcn.005e0ce6
mov ecx, dword [eax]
mov dword [ebp - 0x2ab8], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0x2ab4], edx
mov eax, dword [eax + 8]
mov dword [ebp - 0x2ab0], eax
mov ecx, dword [ebp - 0x2ab8]
mov dword [ebp - 0x2ad0], ecx
mov edx, dword [ebp - 0x2ab4]
mov dword [ebp - 0x2acc], edx
mov eax, dword [ebp - 0x2ab0]
mov dword [ebp - 0x2ac8], eax
mov ecx, dword [ebp - 0x12c4]
mov dword [ebp - 0x2aa0], ecx
mov edx, dword [ebp - 0x12c0]
mov dword [ebp - 0x2a9c], edx
mov eax, dword [ebp - 0x12bc]
mov dword [ebp - 0x2a98], eax
push 0
push 4
sub esp, 0xc
mov ecx, esp
mov edx, dword [ebp - 0x2ad0]
mov dword [ecx], edx
mov eax, dword [ebp - 0x2acc]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x2ac8]
mov dword [ecx + 8], edx
sub esp, 0xc
mov eax, esp
mov ecx, dword [ebp - 0x2aa0]
mov dword [eax], ecx
mov edx, dword [ebp - 0x2a9c]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x2a98]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x2a70]
call fcn.005dd811
mov dword [ebp - 0x2be0], eax
jmp 0x862c35
mov dword [ebp - 0x2be0], 0
mov edx, dword [ebp - 0x2be0]
mov dword [ebp - 0x2a64], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x2a64]
mov dword [ebp - 0x12e8], eax
mov eax, dword [ebp - 0x12e8]
mov ecx, dword [eax + 0x80]
add ecx, 0x10e
mov edx, dword [ebp - 0x12e8]
mov dword [edx + 0x80], ecx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x2c]
mov dword [ebp - 0x2be0], ecx
mov edx, dword [ebp - 0x12e8]
push edx
mov ecx, dword [ebp - 0x2be0]
call fcn.005e2177
jmp 0x8632e3
mov eax, dword [ebp - 0x28]
movsx ecx, word [eax + 0x38]
cmp ecx, 0x27
jne 0x86303f
movzx eax, byte [ebp - 0x49]
test eax, eax
je 0x86303f
movss xmm0, dword [ebp - 0xc0c]
addss xmm0, dword [0x9b0548]
movss dword [ebp - 0xc0c], xmm0
lea ecx, [ebp - 0x12fc]
call fcn.005e0b29
mov dword [ebp - 0x1308], 0
jmp 0x862cef
mov eax, dword [ebp - 0x1308]
add eax, 1
mov dword [ebp - 0x1308], eax
cmp dword [ebp - 0x1308], 4
jge 0x862eb8
push 0xc8
call fcn.005de946
add esp, 4
mov dword [ebp - 0x2ae8], eax
mov dword [ebp - 4], 0x49
cmp dword [ebp - 0x2ae8], 0
je 0x862e6c
push 0xc8
mov ecx, dword [ebp - 0x2ae8]
call fcn.005e0683
movss xmm0, dword [ebp - 0xc08]
subss xmm0, dword [0x9b1f58]
mov eax, dword [ebp - 0x1308]
cdq
sub eax, edx
sar eax, 1
cvtsi2ss xmm1, eax
mulss xmm1, dword [0x9b4d8c]
addss xmm0, xmm1
push ecx
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0xc0c]
movss dword [esp], xmm0
movss xmm0, dword [ebp - 0xc10]
subss xmm0, dword [0x9b1f58]
mov eax, dword [ebp - 0x1308]
and eax, 0x80000001
jns 0x862d94
dec eax
or eax, 0xfffffffe
inc eax
cvtsi2ss xmm1, eax
mulss xmm1, dword [0x9b4d8c]
addss xmm0, xmm1
push ecx
movss dword [esp], xmm0
lea ecx, [ebp - 0x2afc]
call fcn.005e0ce6
mov ecx, dword [eax]
mov dword [ebp - 0x2b30], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0x2b2c], edx
mov eax, dword [eax + 8]
mov dword [ebp - 0x2b28], eax
mov ecx, dword [ebp - 0x2b30]
mov dword [ebp - 0x2b48], ecx
mov edx, dword [ebp - 0x2b2c]
mov dword [ebp - 0x2b44], edx
mov eax, dword [ebp - 0x2b28]
mov dword [ebp - 0x2b40], eax
mov ecx, dword [ebp - 0x12fc]
mov dword [ebp - 0x2b18], ecx
mov edx, dword [ebp - 0x12f8]
mov dword [ebp - 0x2b14], edx
mov eax, dword [ebp - 0x12f4]
mov dword [ebp - 0x2b10], eax
push 0
push 4
sub esp, 0xc
mov ecx, esp
mov edx, dword [ebp - 0x2b48]
mov dword [ecx], edx
mov eax, dword [ebp - 0x2b44]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x2b40]
mov dword [ecx + 8], edx
sub esp, 0xc
mov eax, esp
mov ecx, dword [ebp - 0x2b18]
mov dword [eax], ecx
mov edx, dword [ebp - 0x2b14]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x2b10]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x2ae8]
call fcn.005dd811
mov dword [ebp - 0x2be0], eax
jmp 0x862e76
mov dword [ebp - 0x2be0], 0
mov edx, dword [ebp - 0x2be0]
mov dword [ebp - 0x2adc], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x2adc]
mov dword [ebp - 0x1314], eax
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x2c]
mov dword [ebp - 0x2be0], ecx
mov edx, dword [ebp - 0x1314]
push edx
mov ecx, dword [ebp - 0x2be0]
call fcn.005e2177
jmp 0x862ce0
movss xmm0, dword [ebp - 0xc0c]
addss xmm0, dword [0x9b0658]
movss dword [ebp - 0xc0c], xmm0
push 0xc8
call fcn.005de946
add esp, 4
mov dword [ebp - 0x2b60], eax
mov dword [ebp - 4], 0x4a
cmp dword [ebp - 0x2b60], 0
je 0x862ff3
push 0xc8
mov ecx, dword [ebp - 0x2b60]
call fcn.005e0683
push ecx
movss xmm0, dword [ebp - 0xc08]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0xc0c]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp - 0xc10]
movss dword [esp], xmm0
lea ecx, [ebp - 0x2b74]
call fcn.005e0ce6
mov ecx, dword [eax]
mov dword [ebp - 0x2ba8], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0x2ba4], edx
mov eax, dword [eax + 8]
mov dword [ebp - 0x2ba0], eax
mov ecx, dword [ebp - 0x2ba8]
mov dword [ebp - 0x2bc0], ecx
mov edx, dword [ebp - 0x2ba4]
mov dword [ebp - 0x2bbc], edx
mov eax, dword [ebp - 0x2ba0]
mov dword [ebp - 0x2bb8], eax
mov ecx, dword [ebp - 0x12fc]
mov dword [ebp - 0x2b90], ecx
mov edx, dword [ebp - 0x12f8]
mov dword [ebp - 0x2b8c], edx
mov eax, dword [ebp - 0x12f4]
mov dword [ebp - 0x2b88], eax
push 0
push 0xa
sub esp, 0xc
mov ecx, esp
mov edx, dword [ebp - 0x2bc0]
mov dword [ecx], edx
mov eax, dword [ebp - 0x2bbc]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x2bb8]
mov dword [ecx + 8], edx
sub esp, 0xc
mov eax, esp
mov ecx, dword [ebp - 0x2b90]
mov dword [eax], ecx
mov edx, dword [ebp - 0x2b8c]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x2b88]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x2b60]
call fcn.005dd811
mov dword [ebp - 0x2be0], eax
jmp 0x862ffd
mov dword [ebp - 0x2be0], 0
mov edx, dword [ebp - 0x2be0]
mov dword [ebp - 0x2b54], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x2b54]
mov dword [ebp - 0x1320], eax
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x2c]
mov dword [ebp - 0x2be0], ecx
mov edx, dword [ebp - 0x1320]
push edx
mov ecx, dword [ebp - 0x2be0]
call fcn.005e2177
jmp 0x8632e3
mov eax, dword [ebp - 0x28]
movsx ecx, word [eax + 0x38]
cmp ecx, 0x61
jne 0x8632e3
movss xmm0, dword [ebp - 0xc0c]
addss xmm0, dword [0x9b04e0]
movss dword [ebp - 0xc0c], xmm0
mov dword [ebp - 0x132c], 0
jmp 0x863082
mov eax, dword [ebp - 0x132c]
add eax, 1
mov dword [ebp - 0x132c], eax
cmp dword [ebp - 0x132c], 0x64
jge 0x863196
mov eax, dword [0xc62ea4]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x38]
mov dword [ebp - 0x2be0], edx
mov eax, dword [ebp - 0x132c]
add eax, 0x3a99
mov esi, esp
push eax
mov ecx, dword [0xc62ea4]
call dword [ebp - 0x2be0]
cmp esi, esp
call fcn.005e11e1
mov dword [ebp - 0x1338], eax
cmp dword [ebp - 0x1338], 0
je 0x863191
mov eax, dword [ebp - 0x1338]
movsx ecx, word [eax + 0xf4]
cmp ecx, 0x2ea
jne 0x863191
mov eax, dword [ebp - 0x1338]
movss xmm0, dword [ebp - 0xbfc]
ucomiss xmm0, dword [eax + 0x274]
lahf
test ah, 0x44
jp 0x863191
mov eax, dword [ebp - 0x1338]
movss xmm0, dword [ebp - 0xbf4]
ucomiss xmm0, dword [eax + 0x278]
lahf
test ah, 0x44
jp 0x863191
mov eax, dword [ebp - 0x1338]
mov byte [eax + 0x291], 1
mov eax, dword [ebp - 0x1338]
mov ecx, dword [ebp - 0x1338]
movss xmm0, dword [eax + 0x284]
mulss xmm0, dword [ecx + 0x28c]
addss xmm0, dword [ebp - 0xbfc]
movss dword [ebp - 0xbfc], xmm0
mov eax, dword [ebp - 0x1338]
mov ecx, dword [ebp - 0x1338]
movss xmm0, dword [eax + 0x280]
mulss xmm0, dword [ecx + 0x28c]
movss xmm1, dword [ebp - 0xbf4]
subss xmm1, xmm0
movss dword [ebp - 0xbf4], xmm1
jmp 0x863196
jmp 0x863073
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x4c]
movss xmm0, dword [ebp - 0xc10]
subss xmm0, dword [ecx + 0x28]
movss dword [ebp - 0x1344], xmm0
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x4c]
movss xmm0, dword [ebp - 0xc08]
subss xmm0, dword [ecx + 0x2c]
movss dword [ebp - 0x1350], xmm0
push 0xc8
call fcn.005de946
add esp, 4
mov dword [ebp - 0x2bd8], eax
mov dword [ebp - 4], 0x4b
cmp dword [ebp - 0x2bd8], 0
je 0x863254
push 0xc8
mov ecx, dword [ebp - 0x2bd8]
call fcn.005e0683
push 0
push 2
sub esp, 0xc
mov eax, esp
mov ecx, dword [ebp - 0xc10]
mov dword [eax], ecx
mov edx, dword [ebp - 0xc0c]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0xc08]
mov dword [eax + 8], ecx
sub esp, 0xc
mov edx, esp
mov eax, dword [ebp - 0xbfc]
mov dword [edx], eax
mov ecx, dword [ebp - 0xbf8]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0xbf4]
mov dword [edx + 8], eax
mov ecx, dword [ebp - 0x2bd8]
call fcn.005dd811
mov dword [ebp - 0x2be0], eax
jmp 0x86325e
mov dword [ebp - 0x2be0], 0
mov ecx, dword [ebp - 0x2be0]
mov dword [ebp - 0x2bcc], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x2bcc]
mov dword [ebp - 0x135c], edx
movss xmm0, dword [ebp - 0x1344]
mulss xmm0, dword [ebp - 0x1344]
movss xmm1, dword [ebp - 0x1350]
mulss xmm1, dword [ebp - 0x1350]
addss xmm0, xmm1
push ecx
movss dword [esp], xmm0
call fcn.005df4d6
add esp, 4
mov eax, dword [ebp - 0x135c]
fstp dword [eax + 0xc0]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x2c]
mov dword [ebp - 0x2be0], ecx
mov edx, dword [ebp - 0x135c]
push edx
mov ecx, dword [ebp - 0x2be0]
call fcn.005e2177
mov eax, 1
jmp 0x8634b5
mov eax, dword [ebp - 0x28]
movsx ecx, byte [eax + 0x2f]
test ecx, ecx
jne 0x8634b0
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x34]
cmp ecx, dword [eax + 0x4c]
jne 0x8633db
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 0x10]
mov dword [eax + 0x26f00], edx
mov eax, dword [ebp - 0x1c]
movzx ecx, word [eax + 0x26efc]
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 0x4c]
movzx edx, word [eax + 0x648]
cmp ecx, edx
jge 0x863342
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x4c]
mov edx, dword [ebp - 0x1c]
mov ax, word [ecx + 0x648]
mov word [edx + 0x26efc], ax
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x4c]
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 0x26f00]
cmp eax, dword [ecx + 0x64c]
jae 0x86336e
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x4c]
mov edx, dword [ebp - 0x1c]
mov eax, dword [ecx + 0x64c]
mov dword [edx + 0x26f00], eax
mov eax, dword [ebp - 0x1c]
movzx ecx, word [eax + 0x26efc]
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 0x4c]
movzx edx, word [eax + 0x640]
cmp ecx, edx
jle 0x8633a0
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x4c]
mov edx, dword [ebp - 0x1c]
mov ax, word [ecx + 0x640]
mov word [edx + 0x26efc], ax
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x4c]
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 0x26f00]
cmp eax, dword [ecx + 0x644]
jbe 0x8633cc
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x4c]
mov edx, dword [ebp - 0x1c]
mov eax, dword [ecx + 0x644]
mov dword [edx + 0x26f00], eax
push 0
mov ecx, dword [ebp - 0x1c]
call fcn.005e1254
jmp 0x8634b0
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x40]
cmp ecx, dword [eax + 0x4c]
jne 0x8634b0
mov eax, dword [ebp - 0x1c]
movzx ecx, word [eax + 0x26efc]
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 0x4c]
movzx edx, word [eax + 0x648]
cmp ecx, edx
jge 0x86341c
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x4c]
mov edx, dword [ebp - 0x1c]
mov ax, word [ecx + 0x648]
mov word [edx + 0x26efc], ax
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x4c]
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 0x26f00]
cmp eax, dword [ecx + 0x64c]
jae 0x863448
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x4c]
mov edx, dword [ebp - 0x1c]
mov eax, dword [ecx + 0x64c]
mov dword [edx + 0x26f00], eax
mov eax, dword [ebp - 0x1c]
movzx ecx, word [eax + 0x26efc]
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 0x4c]
movzx edx, word [eax + 0x640]
cmp ecx, edx
jle 0x86347a
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x4c]
mov edx, dword [ebp - 0x1c]
mov ax, word [ecx + 0x640]
mov word [edx + 0x26efc], ax
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x4c]
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 0x26f00]
cmp eax, dword [ecx + 0x644]
jbe 0x8634a6
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x4c]
mov edx, dword [ebp - 0x1c]
mov eax, dword [ecx + 0x644]
mov dword [edx + 0x26f00], eax
push 0x10
mov ecx, dword [ebp - 0x1c]
call fcn.005e1254
mov eax, 1
push edx
mov ecx, ebp
push eax
lea edx, [0x8634e8]
call fcn.005e078c
pop eax
pop edx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.005df77e
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 4