Function at 0x1400302f0
Capabilities:
Decompress data using quicklz
Resolve function by parsing pe exports

Disassembly:
push rsi
push rdi
sub rsp, 0x328
mov dword [rsp + 0x2d0], edx
mov qword [rsp + 0x2c8], rcx
mov rax, qword [rsp + 0x2c8]
mov dword [rax + 0x34], 0
mov rax, qword [rsp + 0x2c8]
mov dword [rax + 0x30], 0
mov rax, qword [rsp + 0x2c8]
cmp dword [rax + 0x4c], 0
jne 0x140030359
mov rcx, qword [rsp + 0x2c8]
lea rdx, [rsp + 0x290]
call fcn.14002f680
mov dword [rsp + 0x28c], eax
jmp 0x14003037d
mov rax, qword [rsp + 0x2c8]
mov ecx, dword [rax + 0x38]
mov dword [rsp + 0x28c], ecx
mov rax, qword [rsp + 0x2c8]
mov ecx, dword [rax + 0x3c]
mov dword [rsp + 0x290], ecx
mov rax, qword [rsp + 0x2c8]
mov ecx, dword [rax + 0x40]
mov dword [rsp + 0x294], ecx
cmp dword [rsp + 0x294], 2
jae 0x1400303bf
mov rax, qword [rsp + 0x2c8]
mov dword [rax + 0xb8], 0xffffffff
mov dword [rsp + 0x2d4], 1
jmp 0x1400336ac
cmp dword [rsp + 0x294], 0x111
jbe 0x1400303db
mov dword [rsp + 0x294], 0x111
mov rax, qword [rsp + 0x2c8]
mov rax, qword [rax + 0x18]
mov rcx, qword [rsp + 0x2c8]
mov rcx, qword [rcx]
call rax
add rax, 0xffffffffffffffff
mov qword [rsp + 0x270], rax
mov dword [rsp + 0x288], 0
mov dword [rsp + 0x284], 0
cmp dword [rsp + 0x284], 4
jae 0x1400305c7
xor eax, eax
mov ecx, eax
mov rdx, qword [rsp + 0x2c8]
mov eax, dword [rsp + 0x284]
mov r8d, eax
mov eax, dword [rdx + r8*4 + 0x50]
mov r9d, dword [rsp + 0x284]
mov edx, r9d
mov dword [rsp + rdx*4 + 0x2b0], eax
mov rdx, qword [rsp + 0x270]
mov eax, dword [rsp + 0x284]
mov r8d, eax
mov eax, dword [rsp + r8*4 + 0x2b0]
mov r8d, eax
sub rcx, r8
add rdx, rcx
mov qword [rsp + 0x260], rdx
mov rcx, qword [rsp + 0x270]
movzx eax, byte [rcx]
mov rcx, qword [rsp + 0x260]
movzx r9d, byte [rcx]
cmp eax, r9d
jne 0x1400304be
mov rax, qword [rsp + 0x270]
movzx ecx, byte [rax + 1]
mov rax, qword [rsp + 0x260]
movzx edx, byte [rax + 1]
cmp ecx, edx
je 0x1400304d7
mov eax, dword [rsp + 0x284]
mov ecx, eax
mov dword [rsp + rcx*4 + 0x2a0], 0
jmp 0x1400305b1
mov dword [rsp + 0x268], 2
xor eax, eax
mov ecx, dword [rsp + 0x268]
cmp ecx, dword [rsp + 0x294]
mov byte [rsp + 0xa3], al
jae 0x14003053b
mov rax, qword [rsp + 0x270]
mov ecx, dword [rsp + 0x268]
mov edx, ecx
movzx ecx, byte [rax + rdx]
mov rax, qword [rsp + 0x260]
mov r8d, dword [rsp + 0x268]
mov edx, r8d
movzx r8d, byte [rax + rdx]
cmp ecx, r8d
sete r9b
mov byte [rsp + 0xa3], r9b
mov al, byte [rsp + 0xa3]
test al, 1
jne 0x14003054f
jmp 0x14003056a
jmp 0x140030554
mov eax, dword [rsp + 0x268]
add eax, 1
mov dword [rsp + 0x268], eax
jmp 0x1400304e2
mov eax, dword [rsp + 0x268]
mov ecx, dword [rsp + 0x284]
mov edx, ecx
mov dword [rsp + rdx*4 + 0x2a0], eax
mov eax, dword [rsp + 0x268]
mov ecx, dword [rsp + 0x288]
mov edx, ecx
cmp eax, dword [rsp + rdx*4 + 0x2a0]
jbe 0x1400305ac
mov eax, dword [rsp + 0x284]
mov dword [rsp + 0x288], eax
jmp 0x1400305b1
mov eax, dword [rsp + 0x284]
add eax, 1
mov dword [rsp + 0x284], eax
jmp 0x140030418
mov eax, dword [rsp + 0x288]
mov ecx, eax
mov eax, dword [rsp + rcx*4 + 0x2a0]
mov rcx, qword [rsp + 0x2c8]
cmp eax, dword [rcx + 0x48]
jb 0x140030678
mov eax, dword [rsp + 0x288]
mov rcx, qword [rsp + 0x2c8]
mov dword [rcx + 0xb8], eax
mov eax, dword [rsp + 0x288]
mov ecx, eax
mov eax, dword [rsp + rcx*4 + 0x2a0]
mov dword [rsp + 0x25c], eax
mov eax, dword [rsp + 0x25c]
sub eax, 1
mov rcx, qword [rsp + 0x2c8]
add eax, dword [rcx + 0x4c]
mov dword [rcx + 0x4c], eax
mov rcx, qword [rsp + 0x2c8]
mov rcx, qword [rcx + 0x28]
mov eax, dword [rsp + 0x25c]
sub eax, 1
mov rdx, qword [rsp + 0x2c8]
mov rdx, qword [rdx]
mov qword [rsp + 0x98], rcx
mov rcx, rdx
mov edx, eax
mov r8, qword [rsp + 0x98]
call r8
mov eax, dword [rsp + 0x25c]
mov dword [rsp + 0x2d4], eax
jmp 0x1400336ac
mov rax, qword [rsp + 0x2c8]
add rax, 0x788
mov qword [rsp + 0x298], rax
mov ecx, dword [rsp + 0x28c]
mov rax, qword [rsp + 0x2c8]
cmp ecx, dword [rax + 0x48]
jb 0x140030731
mov rax, qword [rsp + 0x298]
mov ecx, dword [rsp + 0x290]
mov edx, ecx
sub rdx, 1
mov ecx, dword [rax + rdx*4]
add ecx, 4
mov rax, qword [rsp + 0x2c8]
mov dword [rax + 0xb8], ecx
mov ecx, dword [rsp + 0x28c]
sub ecx, 1
mov rax, qword [rsp + 0x2c8]
add ecx, dword [rax + 0x4c]
mov dword [rax + 0x4c], ecx
mov rax, qword [rsp + 0x2c8]
mov rax, qword [rax + 0x28]
mov ecx, dword [rsp + 0x28c]
sub ecx, 1
mov rdx, qword [rsp + 0x2c8]
mov rdx, qword [rdx]
mov dword [rsp + 0x94], ecx
mov rcx, rdx
mov edx, dword [rsp + 0x94]
call rax
mov edx, dword [rsp + 0x28c]
mov dword [rsp + 0x2d4], edx
jmp 0x1400336ac
xor eax, eax
mov ecx, eax
mov rdx, qword [rsp + 0x270]
mov r8b, byte [rdx]
mov byte [rsp + 0x26f], r8b
mov rdx, qword [rsp + 0x270]
mov eax, dword [rsp + 0x2b0]
mov r9d, eax
sub rcx, r9
mov r8b, byte [rdx + rcx]
mov byte [rsp + 0x26e], r8b
mov eax, dword [rsp + 0x288]
mov ecx, eax
mov eax, dword [rsp + rcx*4 + 0x2a0]
mov dword [rsp + 0x2c4], eax
mov eax, dword [rsp + 0x2c4]
cmp eax, dword [rsp + 0x28c]
ja 0x1400307a2
mov eax, dword [rsp + 0x28c]
mov dword [rsp + 0x2c4], eax
cmp dword [rsp + 0x2c4], 2
jae 0x1400307ea
movzx eax, byte [rsp + 0x26f]
movzx ecx, byte [rsp + 0x26e]
cmp eax, ecx
je 0x1400307ea
mov rax, qword [rsp + 0x2c8]
mov dword [rax + 0xb8], 0xffffffff
mov dword [rsp + 0x2d4], 1
jmp 0x1400336ac
mov rax, qword [rsp + 0x2c8]
mov ecx, dword [rax + 0x44]
mov rax, qword [rsp + 0x2c8]
mov word [rax + 0xd2e8], cx
mov edx, dword [rsp + 0x2d0]
mov rax, qword [rsp + 0x2c8]
and edx, dword [rax + 0x64]
mov dword [rsp + 0x280], edx
mov rax, qword [rsp + 0x2c8]
mov rax, qword [rax + 0x68]
mov edx, dword [rsp + 0x2d0]
shl edx, 8
mov r8, qword [rsp + 0x270]
movzx r9d, byte [r8 - 1]
add edx, r9d
mov r8, qword [rsp + 0x2c8]
and edx, dword [r8 + 0x60]
mov r8, qword [rsp + 0x2c8]
mov ecx, dword [r8 + 0xbc]
shl edx, cl
imul edx, edx, 3
mov edx, edx
mov r8d, edx
shl r8, 1
add rax, r8
mov qword [rsp + 0x250], rax
mov rax, qword [rsp + 0x2c8]
mov r8, qword [rsp + 0x2c8]
add r8, 0x1cdc
mov r10, qword [rsp + 0x2c8]
mov edx, dword [r10 + 0x44]
mov r10d, edx
shl r10, 5
add r8, r10
mov edx, dword [rsp + 0x280]
mov r10d, edx
movzx edx, word [r8 + r10*2]
sar edx, 4
movsxd r8, edx
mov edx, dword [rax + r8*4 + 0x588]
mov rax, qword [rsp + 0x2c8]
cmp dword [rax + 0x44], 7
mov dword [rsp + 0x90], edx
jb 0x140030915
mov rax, qword [rsp + 0x2c8]
add rax, 0x588
movzx r8d, byte [rsp + 0x26e]
movzx edx, byte [rsp + 0x26f]
mov rcx, qword [rsp + 0x250]
mov r9, rax
call fcn.1400344e0
mov dword [rsp + 0x8c], eax
jmp 0x140030942
mov rax, qword [rsp + 0x2c8]
add rax, 0x588
movzx edx, byte [rsp + 0x26f]
mov rcx, qword [rsp + 0x250]
mov r8, rax
call fcn.1400345b0
mov dword [rsp + 0x8c], eax
mov eax, dword [rsp + 0x8c]
mov ecx, dword [rsp + 0x90]
add ecx, eax
mov rdx, qword [rsp + 0x2c8]
mov dword [rdx + 0xd304], ecx
mov rdx, qword [rsp + 0x2c8]
mov dword [rdx + 0xd310], 0xffffffff
mov rdx, qword [rsp + 0x2c8]
mov word [rdx + 0xd30a], 0
mov rdx, qword [rsp + 0x2c8]
mov r8, qword [rsp + 0x2c8]
add r8, 0x1cdc
mov r9, qword [rsp + 0x2c8]
mov eax, dword [r9 + 0x44]
mov r9d, eax
shl r9, 5
add r8, r9
mov eax, dword [rsp + 0x280]
mov r9d, eax
movzx eax, word [r8 + r9*2]
xor eax, 0x7ff
sar eax, 4
movsxd r8, eax
mov eax, dword [rdx + r8*4 + 0x588]
mov dword [rsp + 0x27c], eax
mov eax, dword [rsp + 0x27c]
mov rdx, qword [rsp + 0x2c8]
mov r8, qword [rsp + 0x2c8]
mov r9, qword [rsp + 0x2c8]
mov ecx, dword [r9 + 0x44]
mov r9d, ecx
movzx ecx, word [r8 + r9*2 + 0x1c7c]
xor ecx, 0x7ff
sar ecx, 4
movsxd r8, ecx
add eax, dword [rdx + r8*4 + 0x588]
mov dword [rsp + 0x278], eax
movzx eax, byte [rsp + 0x26e]
movzx ecx, byte [rsp + 0x26f]
cmp eax, ecx
jne 0x140030b6f
cmp dword [rsp + 0x2a0], 0
jne 0x140030b6f
mov eax, dword [rsp + 0x278]
mov rcx, qword [rsp + 0x2c8]
mov rdx, qword [rsp + 0x2c8]
mov r8, qword [rsp + 0x2c8]
mov r9d, dword [r8 + 0x44]
mov r8d, r9d
movzx r9d, word [rdx + r8*2 + 0x1c94]
sar r9d, 4
movsxd rdx, r9d
mov r9d, dword [rcx + rdx*4 + 0x588]
mov rcx, qword [rsp + 0x2c8]
mov rdx, qword [rsp + 0x2c8]
add rdx, 0x1e5c
mov r8, qword [rsp + 0x2c8]
mov r10d, dword [r8 + 0x44]
mov r8d, r10d
shl r8, 5
add rdx, r8
mov r10d, dword [rsp + 0x280]
mov r8d, r10d
movzx r10d, word [rdx + r8*2]
sar r10d, 4
movsxd rdx, r10d
add r9d, dword [rcx + rdx*4 + 0x588]
add eax, r9d
mov dword [rsp + 0x24c], eax
mov eax, dword [rsp + 0x24c]
mov rcx, qword [rsp + 0x2c8]
cmp eax, dword [rcx + 0xd304]
jae 0x140030b30
mov eax, dword [rsp + 0x24c]
mov rcx, qword [rsp + 0x2c8]
mov dword [rcx + 0xd304], eax
mov rcx, qword [rsp + 0x2c8]
mov dword [rcx + 0xd310], 0
mov rcx, qword [rsp + 0x2c8]
mov word [rcx + 0xd30a], 0
cmp dword [rsp + 0x2c4], 2
jae 0x140030b6a
mov rax, qword [rsp + 0x2c8]
mov ecx, dword [rax + 0xd310]
mov rax, qword [rsp + 0x2c8]
mov dword [rax + 0xb8], ecx
mov dword [rsp + 0x2d4], 1
jmp 0x1400336ac
jmp 0x140030b6f
mov rax, qword [rsp + 0x2c8]
mov dword [rax + 0xd30c], 1
mov ecx, dword [rsp + 0x2b0]
mov rax, qword [rsp + 0x2c8]
mov dword [rax + 0xd2f4], ecx
mov ecx, dword [rsp + 0x2b4]
mov rax, qword [rsp + 0x2c8]
mov dword [rax + 0xd2f8], ecx
mov ecx, dword [rsp + 0x2b8]
mov rax, qword [rsp + 0x2c8]
mov dword [rax + 0xd2fc], ecx
mov ecx, dword [rsp + 0x2bc]
mov rax, qword [rsp + 0x2c8]
mov dword [rax + 0xd300], ecx
mov dword [rsp + 0x284], 0
cmp dword [rsp + 0x284], 4
jae 0x140030f4d
mov eax, dword [rsp + 0x284]
mov ecx, eax
mov eax, dword [rsp + rcx*4 + 0x2a0]
mov dword [rsp + 0x248], eax
cmp dword [rsp + 0x248], 2
jae 0x140030c18
jmp 0x140030f37
mov eax, dword [rsp + 0x278]
mov ecx, dword [rsp + 0x280]
mov edx, ecx
mov r8, qword [rsp + 0x2c8]
mov ecx, dword [r8 + 0x44]
mov r8d, ecx
mov ecx, dword [rsp + 0x284]
mov r9, qword [rsp + 0x2c8]
mov qword [rsp + 0x2f8], rdx
mov qword [rsp + 0x2f0], r8
mov dword [rsp + 0x2ec], ecx
mov qword [rsp + 0x2e0], r9
mov rdx, qword [rsp + 0x2e0]
mov r8, qword [rsp + 0x2f0]
movzx ecx, word [rdx + r8*2 + 0x1c94]
mov dword [rsp + 0x2d8], ecx
cmp dword [rsp + 0x2ec], 0
mov dword [rsp + 0x88], eax
jne 0x140030d17
mov rax, qword [rsp + 0x2e0]
mov ecx, dword [rsp + 0x2d8]
shr ecx, 4
mov ecx, ecx
mov edx, ecx
mov ecx, dword [rax + rdx*4 + 0x588]
mov dword [rsp + 0x2dc], ecx
mov rax, qword [rsp + 0x2e0]
mov rdx, qword [rsp + 0x2e0]
add rdx, 0x1e5c
mov r8, qword [rsp + 0x2f0]
shl r8, 5
add rdx, r8
mov r8, qword [rsp + 0x2f8]
movzx ecx, word [rdx + r8*2]
xor ecx, 0x7ff
sar ecx, 4
movsxd rdx, ecx
mov ecx, dword [rax + rdx*4 + 0x588]
add ecx, dword [rsp + 0x2dc]
mov dword [rsp + 0x2dc], ecx
jmp 0x140030e2d
mov rax, qword [rsp + 0x2e0]
mov ecx, dword [rsp + 0x2d8]
xor ecx, 0x7ff
shr ecx, 4
mov ecx, ecx
mov edx, ecx
mov ecx, dword [rax + rdx*4 + 0x588]
mov dword [rsp + 0x2dc], ecx
mov rax, qword [rsp + 0x2e0]
mov rdx, qword [rsp + 0x2f0]
movzx ecx, word [rax + rdx*2 + 0x1cac]
mov dword [rsp + 0x2d8], ecx
cmp dword [rsp + 0x2ec], 1
jne 0x140030d9e
mov rax, qword [rsp + 0x2e0]
mov ecx, dword [rsp + 0x2d8]
shr ecx, 4
mov ecx, ecx
mov edx, ecx
mov ecx, dword [rax + rdx*4 + 0x588]
add ecx, dword [rsp + 0x2dc]
mov dword [rsp + 0x2dc], ecx
jmp 0x140030e28
xor eax, eax
mov rcx, qword [rsp + 0x2e0]
mov edx, dword [rsp + 0x2d8]
xor edx, 0x7ff
shr edx, 4
mov edx, edx
mov r8d, edx
mov edx, dword [rcx + r8*4 + 0x588]
add edx, dword [rsp + 0x2dc]
mov dword [rsp + 0x2dc], edx
mov rcx, qword [rsp + 0x2e0]
mov r8, qword [rsp + 0x2e0]
mov r9, qword [rsp + 0x2f0]
movzx edx, word [r8 + r9*2 + 0x1cc4]
mov r10d, dword [rsp + 0x2ec]
sub r10d, 2
sub eax, r10d
and eax, 0x7ff
xor edx, eax
shr edx, 4
mov eax, edx
mov r8d, eax
mov eax, dword [rcx + r8*4 + 0x588]
add eax, dword [rsp + 0x2dc]
mov dword [rsp + 0x2dc], eax
jmp 0x140030e2d
mov eax, dword [rsp + 0x2dc]
mov ecx, dword [rsp + 0x88]
add ecx, eax
mov dword [rsp + 0x244], ecx
mov eax, dword [rsp + 0x244]
mov rcx, qword [rsp + 0x2c8]
add rcx, 0x8ee0
add rcx, 4
mov edx, dword [rsp + 0x280]
mov r8d, edx
imul r8, r8, 0x440
add rcx, r8
mov edx, dword [rsp + 0x248]
mov r8d, edx
sub r8, 2
add eax, dword [rcx + r8*4]
mov dword [rsp + 0x240], eax
mov rcx, qword [rsp + 0x2c8]
add rcx, 0xd2e4
mov eax, dword [rsp + 0x248]
mov r8d, eax
shl r8, 5
add rcx, r8
mov qword [rsp + 0x238], rcx
mov eax, dword [rsp + 0x240]
mov rcx, qword [rsp + 0x238]
cmp eax, dword [rcx]
jae 0x140030f13
mov eax, dword [rsp + 0x240]
mov rcx, qword [rsp + 0x238]
mov dword [rcx], eax
mov eax, dword [rsp + 0x248]
mov rcx, qword [rsp + 0x238]
mov dword [rcx + 8], eax
mov eax, dword [rsp + 0x284]
mov rcx, qword [rsp + 0x238]
mov dword [rcx + 0xc], eax
mov rcx, qword [rsp + 0x238]
mov word [rcx + 6], 0
jmp 0x140030f18
mov eax, dword [rsp + 0x248]
add eax, 0xffffffff
mov dword [rsp + 0x248], eax
cmp eax, 2
jae 0x140030e44
jmp 0x140030f37
mov eax, dword [rsp + 0x284]
add eax, 1
mov dword [rsp + 0x284], eax
jmp 0x140030be0
mov eax, dword [rsp + 0x2a0]
add eax, 1
mov dword [rsp + 0x234], eax
mov eax, dword [rsp + 0x234]
cmp eax, dword [rsp + 0x28c]
ja 0x1400312e9
mov dword [rsp + 0x230], 0
mov eax, dword [rsp + 0x27c]
mov rcx, qword [rsp + 0x2c8]
mov rdx, qword [rsp + 0x2c8]
mov r8, qword [rsp + 0x2c8]
mov r9d, dword [r8 + 0x44]
mov r8d, r9d
movzx r9d, word [rdx + r8*2 + 0x1c7c]
sar r9d, 4
movsxd rdx, r9d
add eax, dword [rcx + rdx*4 + 0x588]
mov dword [rsp + 0x22c], eax
cmp dword [rsp + 0x234], 2
jae 0x140030fdf
mov dword [rsp + 0x234], 2
jmp 0x140031022
jmp 0x140030fe4
mov eax, dword [rsp + 0x234]
mov rcx, qword [rsp + 0x298]
mov edx, dword [rsp + 0x230]
mov r8d, edx
cmp eax, dword [rcx + r8*4]
jbe 0x14003101d
mov eax, dword [rsp + 0x230]
add eax, 2
mov dword [rsp + 0x230], eax
jmp 0x140030fe4
jmp 0x140031022
jmp 0x140031027
mov rax, qword [rsp + 0x298]
mov ecx, dword [rsp + 0x230]
mov edx, ecx
mov ecx, dword [rax + rdx*4 + 4]
mov dword [rsp + 0x21c], ecx
mov ecx, dword [rsp + 0x22c]
mov rax, qword [rsp + 0x2c8]
add rax, 0x4adc
add rax, 4
mov r8d, dword [rsp + 0x280]
mov edx, r8d
imul rdx, rdx, 0x440
add rax, rdx
mov r8d, dword [rsp + 0x234]
mov edx, r8d
sub rdx, 2
add ecx, dword [rax + rdx*4]
mov dword [rsp + 0x218], ecx
cmp dword [rsp + 0x234], 5
jae 0x1400310b3
mov eax, dword [rsp + 0x234]
sub eax, 2
mov dword [rsp + 0x84], eax
jmp 0x1400310c4
mov eax, 3
mov dword [rsp + 0x84], eax
jmp 0x1400310c4
mov eax, dword [rsp + 0x84]
mov dword [rsp + 0x214], eax
cmp dword [rsp + 0x21c], 0x80
jae 0x140031125
mov rax, qword [rsp + 0x2c8]
add rax, 0x145c
mov ecx, dword [rsp + 0x214]
mov edx, ecx
shl rdx, 9
add rax, rdx
mov ecx, dword [rsp + 0x21c]
and ecx, 0x7f
mov ecx, ecx
mov edx, ecx
mov ecx, dword [rax + rdx*4]
add ecx, dword [rsp + 0x218]
mov dword [rsp + 0x218], ecx
jmp 0x1400311f4
mov eax, dword [rsp + 0x21c]
cmp eax, 0x80000
mov ecx, 6
mov edx, send
cmovb rdx, rcx
mov dword [rsp + 0x20c], edx
mov rcx, qword [rsp + 0x2c8]
mov eax, dword [rsp + 0x21c]
mov edx, dword [rsp + 0x20c]
mov qword [rsp + 0x78], rcx
mov ecx, edx
shr eax, cl
mov eax, eax
mov r8d, eax
mov r9, qword [rsp + 0x78]
movzx eax, byte [r9 + r8 + 0x2adc]
mov edx, dword [rsp + 0x20c]
shl edx, 1
add eax, edx
mov dword [rsp + 0x210], eax
mov r8, qword [rsp + 0x2c8]
mov eax, dword [rsp + 0x21c]
and eax, 0xf
mov eax, eax
mov r10d, eax
mov eax, dword [r8 + r10*4 + 0x101c]
add eax, dword [rsp + 0x218]
mov dword [rsp + 0x218], eax
mov r8, qword [rsp + 0x2c8]
add r8, 0x105c
mov eax, dword [rsp + 0x214]
mov r10d, eax
shl r10, 8
add r8, r10
mov eax, dword [rsp + 0x210]
mov r10d, eax
mov eax, dword [r8 + r10*4]
add eax, dword [rsp + 0x218]
mov dword [rsp + 0x218], eax
mov rax, qword [rsp + 0x2c8]
add rax, 0xd2e4
mov ecx, dword [rsp + 0x234]
mov edx, ecx
shl rdx, 5
add rax, rdx
mov qword [rsp + 0x220], rax
mov ecx, dword [rsp + 0x218]
mov rax, qword [rsp + 0x220]
cmp ecx, dword [rax]
jae 0x140031277
mov eax, dword [rsp + 0x218]
mov rcx, qword [rsp + 0x220]
mov dword [rcx], eax
mov eax, dword [rsp + 0x234]
mov rcx, qword [rsp + 0x220]
mov dword [rcx + 8], eax
mov eax, dword [rsp + 0x21c]
add eax, 4
mov rcx, qword [rsp + 0x220]
mov dword [rcx + 0xc], eax
mov rcx, qword [rsp + 0x220]
mov word [rcx + 6], 0
mov eax, dword [rsp + 0x234]
mov rcx, qword [rsp + 0x298]
mov edx, dword [rsp + 0x230]
mov r8d, edx
cmp eax, dword [rcx + r8*4]
jne 0x1400312c9
mov eax, dword [rsp + 0x230]
add eax, 2
mov dword [rsp + 0x230], eax
mov eax, dword [rsp + 0x230]
cmp eax, dword [rsp + 0x290]
jne 0x1400312c4
jmp 0x1400312e4
jmp 0x1400312c9
jmp 0x1400312ce
mov eax, dword [rsp + 0x234]
add eax, 1
mov dword [rsp + 0x234], eax
jmp 0x140031027
jmp 0x1400312e9
mov dword [rsp + 0x2c0], 0
mov eax, dword [rsp + 0x2c0]
add eax, 1
mov dword [rsp + 0x2c0], eax
cmp eax, dword [rsp + 0x2c4]
jne 0x140031317
jmp 0x14003364e
cmp dword [rsp + 0x2c0], 0x7c0
jb 0x14003146d
mov rax, qword [rsp + 0x2c8]
add rax, 0xd2e4
mov ecx, dword [rsp + 0x2c0]
mov edx, ecx
shl rdx, 5
add rax, rdx
mov ecx, dword [rax]
mov dword [rsp + 0x1b4], ecx
mov ecx, dword [rsp + 0x2c0]
mov dword [rsp + 0x1b8], ecx
mov ecx, dword [rsp + 0x2c0]
add ecx, 1
mov dword [rsp + 0x1bc], ecx
mov eax, dword [rsp + 0x1bc]
cmp eax, dword [rsp + 0x2c4]
ja 0x1400313f4
mov rax, qword [rsp + 0x2c8]
add rax, 0xd2e4
mov ecx, dword [rsp + 0x1bc]
mov edx, ecx
shl rdx, 5
add rax, rdx
mov ecx, dword [rax]
mov dword [rsp + 0x1b0], ecx
mov ecx, dword [rsp + 0x1b4]
cmp ecx, dword [rsp + 0x1b0]
jb 0x1400313d9
mov eax, dword [rsp + 0x1b0]
mov dword [rsp + 0x1b4], eax
mov eax, dword [rsp + 0x1bc]
mov dword [rsp + 0x1b8], eax
jmp 0x1400313de
mov eax, dword [rsp + 0x1bc]
add eax, 1
mov dword [rsp + 0x1bc], eax
jmp 0x14003136e
mov eax, dword [rsp + 0x1b8]
sub eax, dword [rsp + 0x2c0]
mov dword [rsp + 0x1ac], eax
cmp dword [rsp + 0x1ac], 0
je 0x14003145a
mov eax, dword [rsp + 0x1ac]
mov rcx, qword [rsp + 0x2c8]
add eax, dword [rcx + 0x4c]
mov dword [rcx + 0x4c], eax
mov rcx, qword [rsp + 0x2c8]
mov rcx, qword [rcx + 0x28]
mov edx, dword [rsp + 0x1ac]
mov r8, qword [rsp + 0x2c8]
mov r8, qword [r8]
mov qword [rsp + 0x70], rcx
mov rcx, r8
mov r8, qword [rsp + 0x70]
call r8
mov eax, dword [rsp + 0x1b8]
mov dword [rsp + 0x2c0], eax
jmp 0x14003364e
mov rcx, qword [rsp + 0x2c8]
lea rdx, [rsp + 0x1fc]
call fcn.14002f680
mov dword [rsp + 0x200], eax
mov eax, dword [rsp + 0x200]
mov rcx, qword [rsp + 0x2c8]
cmp eax, dword [rcx + 0x48]
jb 0x1400314ca
mov eax, dword [rsp + 0x1fc]
mov rcx, qword [rsp + 0x2c8]
mov dword [rcx + 0x3c], eax
mov eax, dword [rsp + 0x200]
mov rcx, qword [rsp + 0x2c8]
mov dword [rcx + 0x38], eax
jmp 0x14003364e
mov rax, qword [rsp + 0x2c8]
add rax, 0xd2e4
mov ecx, dword [rsp + 0x2c0]
mov edx, ecx
shl rdx, 5
add rax, rdx
mov qword [rsp + 0x1c8], rax
mov ecx, dword [rsp + 0x2d0]
add ecx, 1
mov dword [rsp + 0x2d0], ecx
mov ecx, dword [rsp + 0x2c0]
mov rax, qword [rsp + 0x1c8]
sub ecx, dword [rax + 8]
mov dword [rsp + 0x1f8], ecx
mov rax, qword [rsp + 0x1c8]
cmp dword [rax + 8], 1
jne 0x1400315a7
mov rax, qword [rsp + 0x2c8]
add rax, 0xd2e4
mov ecx, dword [rsp + 0x1f8]
mov edx, ecx
shl rdx, 5
add rax, rdx
movzx ecx, word [rax + 4]
mov dword [rsp + 0x1f4], ecx
mov rax, qword [rsp + 0x1c8]
cmp dword [rax + 0xc], 0
jne 0x140031587
mov eax, dword [rsp + 0x1f4]
mov ecx, eax
lea rdx, str._t_t_t_t_t_t_t_v_v_v_v_v_b_b_b_b_b_b_b_v_v_v_v_v_a_a_a_a_a_a_a_n_n_n_n_n
movzx eax, byte [rdx + rcx]
mov dword [rsp + 0x1f4], eax
jmp 0x1400315a2
mov eax, dword [rsp + 0x1f4]
mov ecx, eax
lea rdx, [0x140045b88]
movzx eax, byte [rdx + rcx]
mov dword [rsp + 0x1f4], eax
jmp 0x140031844
mov rax, qword [rsp + 0x1c8]
mov ecx, dword [rax + 0xc]
mov dword [rsp + 0x198], ecx
mov rax, qword [rsp + 0x1c8]
cmp word [rax + 6], 0
je 0x14003162b
mov rax, qword [rsp + 0x1c8]
movzx ecx, word [rax + 6]
mov edx, dword [rsp + 0x1f8]
sub edx, ecx
mov dword [rsp + 0x1f8], edx
mov dword [rsp + 0x1f4], 8
mov rax, qword [rsp + 0x1c8]
movzx ecx, word [rax + 6]
cmp ecx, 1
jne 0x140031626
mov eax, dword [rsp + 0x198]
cmp eax, 4
mov eax, 8
mov ecx, 7
cmovb ecx, eax
mov dword [rsp + 0x1f4], ecx
jmp 0x1400316a2
mov rax, qword [rsp + 0x2c8]
add rax, 0xd2e4
mov ecx, dword [rsp + 0x1f8]
mov edx, ecx
shl rdx, 5
add rax, rdx
movzx ecx, word [rax + 4]
mov dword [rsp + 0x1f4], ecx
cmp dword [rsp + 0x198], 4
jae 0x140031682
mov eax, dword [rsp + 0x1f4]
mov ecx, eax
lea rdx, [0x140045ba0]
movzx eax, byte [rdx + rcx]
mov dword [rsp + 0x1f4], eax
jmp 0x14003169d
mov eax, dword [rsp + 0x1f4]
mov ecx, eax
lea rdx, [0x140045bac]
movzx eax, byte [rdx + rcx]
mov dword [rsp + 0x1f4], eax
jmp 0x1400316a2
mov rax, qword [rsp + 0x2c8]
add rax, 0xd2e4
mov ecx, dword [rsp + 0x1f8]
mov edx, ecx
shl rdx, 5
add rax, rdx
mov qword [rsp + 0x1a0], rax
mov rax, qword [rsp + 0x1a0]
mov ecx, dword [rax + 0x10]
mov dword [rsp + 0x19c], ecx
cmp dword [rsp + 0x198], 4
jae 0x1400317f9
cmp dword [rsp + 0x198], 0
jne 0x14003173f
mov eax, dword [rsp + 0x19c]
mov dword [rsp + 0x2b0], eax
mov rcx, qword [rsp + 0x1a0]
mov eax, dword [rcx + 0x14]
mov dword [rsp + 0x2b4], eax
mov rcx, qword [rsp + 0x1a0]
mov eax, dword [rcx + 0x18]
mov dword [rsp + 0x2b8], eax
mov rcx, qword [rsp + 0x1a0]
mov eax, dword [rcx + 0x1c]
mov dword [rsp + 0x2bc], eax
jmp 0x1400317f4
mov eax, dword [rsp + 0x19c]
mov dword [rsp + 0x2b4], eax
mov rcx, qword [rsp + 0x1a0]
mov eax, dword [rcx + 0x14]
mov dword [rsp + 0x19c], eax
cmp dword [rsp + 0x198], 1
jne 0x1400317a4
mov eax, dword [rsp + 0x19c]
mov dword [rsp + 0x2b0], eax
mov rcx, qword [rsp + 0x1a0]
mov eax, dword [rcx + 0x18]
mov dword [rsp + 0x2b8], eax
mov rcx, qword [rsp + 0x1a0]
mov eax, dword [rcx + 0x1c]
mov dword [rsp + 0x2bc], eax
jmp 0x1400317ef
mov eax, dword [rsp + 0x19c]
mov dword [rsp + 0x2b8], eax
mov rcx, qword [rsp + 0x1a0]
mov eax, dword [rsp + 0x198]
mov edx, eax
mov eax, dword [rcx + rdx*4 + 0x10]
mov dword [rsp + 0x2b0], eax
mov rcx, qword [rsp + 0x1a0]
mov eax, dword [rsp + 0x198]
xor eax, 1
mov eax, eax
mov edx, eax
mov eax, dword [rcx + rdx*4 + 0x10]
mov dword [rsp + 0x2bc], eax
jmp 0x1400317f4
jmp 0x14003183f
mov eax, dword [rsp + 0x198]
sub eax, 4
add eax, 1
mov dword [rsp + 0x2b0], eax
mov eax, dword [rsp + 0x19c]
mov dword [rsp + 0x2b4], eax
mov rcx, qword [rsp + 0x1a0]
mov eax, dword [rcx + 0x14]
mov dword [rsp + 0x2b8], eax
mov rcx, qword [rsp + 0x1a0]
mov eax, dword [rcx + 0x18]
mov dword [rsp + 0x2bc], eax
jmp 0x140031844
mov eax, dword [rsp + 0x1f4]
mov rcx, qword [rsp + 0x1c8]
mov word [rcx + 4], ax
mov edx, dword [rsp + 0x2b0]
mov rcx, qword [rsp + 0x1c8]
mov dword [rcx + 0x10], edx
mov edx, dword [rsp + 0x2b4]
mov rcx, qword [rsp + 0x1c8]
mov dword [rcx + 0x14], edx
mov edx, dword [rsp + 0x2b8]
mov rcx, qword [rsp + 0x1c8]
mov dword [rcx + 0x18], edx
mov edx, dword [rsp + 0x2bc]
mov rcx, qword [rsp + 0x1c8]
mov dword [rcx + 0x1c], edx
mov rcx, qword [rsp + 0x2c8]
mov rcx, qword [rcx + 0x18]
mov r8, qword [rsp + 0x2c8]
mov r8, qword [r8]
mov qword [rsp + 0x68], rcx
mov rcx, r8
mov r8, qword [rsp + 0x68]
call r8
xor edx, edx
mov ecx, edx
add rax, 0xffffffffffffffff
mov qword [rsp + 0x1d0], rax
mov rax, qword [rsp + 0x1d0]
mov r9b, byte [rax]
mov byte [rsp + 0x1db], r9b
mov rax, qword [rsp + 0x1d0]
mov edx, dword [rsp + 0x2b0]
mov r8d, edx
sub rcx, r8
mov r9b, byte [rax + rcx]
mov byte [rsp + 0x1da], r9b
mov edx, dword [rsp + 0x2d0]
mov rax, qword [rsp + 0x2c8]
and edx, dword [rax + 0x64]
mov dword [rsp + 0x1f0], edx
mov rax, qword [rsp + 0x1c8]
mov edx, dword [rax]
mov dword [rsp + 0x194], edx
mov rax, qword [rsp + 0x2c8]
add rax, 0x1cdc
mov edx, dword [rsp + 0x1f4]
mov ecx, edx
shl rcx, 5
add rax, rcx
mov edx, dword [rsp + 0x1f0]
mov ecx, edx
movzx edx, word [rax + rcx*2]
mov dword [rsp + 0x190], edx
mov edx, dword [rsp + 0x194]
mov rax, qword [rsp + 0x2c8]
mov r10d, dword [rsp + 0x190]
xor r10d, 0x7ff
shr r10d, 4
mov r10d, r10d
mov ecx, r10d
add edx, dword [rax + rcx*4 + 0x588]
mov dword [rsp + 0x1e4], edx
mov edx, dword [rsp + 0x194]
mov rax, qword [rsp + 0x2c8]
mov r10d, dword [rsp + 0x190]
shr r10d, 4
mov r10d, r10d
mov ecx, r10d
add edx, dword [rax + rcx*4 + 0x588]
mov dword [rsp + 0x1e8], edx
mov rax, qword [rsp + 0x2c8]
add rax, 0xd2e4
mov edx, dword [rsp + 0x2c0]
mov ecx, edx
add rcx, 1
shl rcx, 5
add rax, rcx
mov qword [rsp + 0x1c0], rax
mov dword [rsp + 0x1dc], 0
mov rax, qword [rsp + 0x1c0]
cmp dword [rax], 0x40000000
jae 0x140031a31
movzx eax, byte [rsp + 0x1da]
movzx ecx, byte [rsp + 0x1db]
cmp eax, ecx
je 0x140031a48
mov eax, dword [rsp + 0x1e8]
mov rcx, qword [rsp + 0x1c0]
cmp eax, dword [rcx]
jbe 0x140031a58
mov dword [rsp + 0x1e8], 0
jmp 0x140031ba6
mov rax, qword [rsp + 0x2c8]
mov rax, qword [rax + 0x68]
mov ecx, dword [rsp + 0x2d0]
shl ecx, 8
mov rdx, qword [rsp + 0x1d0]
movzx r8d, byte [rdx - 1]
add ecx, r8d
mov rdx, qword [rsp + 0x2c8]
and ecx, dword [rdx + 0x60]
mov rdx, qword [rsp + 0x2c8]
mov r8d, dword [rdx + 0xbc]
mov dword [rsp + 0x64], ecx
mov ecx, r8d
mov r8d, dword [rsp + 0x64]
shl r8d, cl
imul r8d, r8d, 3
mov r8d, r8d
mov edx, r8d
shl rdx, 1
add rax, rdx
mov qword [rsp + 0x188], rax
cmp dword [rsp + 0x1f4], 7
jb 0x140031b06
mov rax, qword [rsp + 0x2c8]
add rax, 0x588
movzx r8d, byte [rsp + 0x1da]
movzx edx, byte [rsp + 0x1db]
mov rcx, qword [rsp + 0x188]
mov r9, rax
call fcn.1400344e0
mov dword [rsp + 0x60], eax
jmp 0x140031b30
mov rax, qword [rsp + 0x2c8]
add rax, 0x588
movzx edx, byte [rsp + 0x1db]
mov rcx, qword [rsp + 0x188]
mov r8, rax
call fcn.1400345b0
mov dword [rsp + 0x60], eax
mov eax, dword [rsp + 0x60]
add eax, dword [rsp + 0x1e8]
mov dword [rsp + 0x1e8], eax
mov eax, dword [rsp + 0x1e8]
mov rcx, qword [rsp + 0x1c0]
cmp eax, dword [rcx]
jae 0x140031ba1
mov eax, dword [rsp + 0x1e8]
mov rcx, qword [rsp + 0x1c0]
mov dword [rcx], eax
mov rcx, qword [rsp + 0x1c0]
mov dword [rcx + 8], 1
mov rcx, qword [rsp + 0x1c0]
mov dword [rcx + 0xc], 0xffffffff
mov rcx, qword [rsp + 0x1c0]
mov word [rcx + 6], 0
mov dword [rsp + 0x1dc], 1
jmp 0x140031ba6
mov eax, dword [rsp + 0x1e4]
mov rcx, qword [rsp + 0x2c8]
mov rdx, qword [rsp + 0x2c8]
mov r8d, dword [rsp + 0x1f4]
mov r9d, r8d
movzx r8d, word [rdx + r9*2 + 0x1c7c]
xor r8d, 0x7ff
sar r8d, 4
movsxd rdx, r8d
add eax, dword [rcx + rdx*4 + 0x588]
mov dword [rsp + 0x1e0], eax
mov rcx, qword [rsp + 0x2c8]
mov eax, dword [rcx + 0x40]
mov dword [rsp + 0x204], eax
mov eax, 0x7ff
sub eax, dword [rsp + 0x2c0]
mov dword [rsp + 0x184], eax
mov eax, dword [rsp + 0x204]
cmp eax, dword [rsp + 0x184]
jbe 0x140031c34
mov eax, dword [rsp + 0x184]
mov dword [rsp + 0x204], eax
cmp dword [rsp + 0x1f4], 7
jae 0x140031d94
movzx eax, byte [rsp + 0x1da]
movzx ecx, byte [rsp + 0x1db]
cmp eax, ecx
jne 0x140031d8f
mov eax, dword [rsp + 0x1e0]
mov rcx, qword [rsp + 0x1c0]
cmp eax, dword [rcx]
jae 0x140031d8a
mov rax, qword [rsp + 0x1c0]
cmp dword [rax + 8], 2
jb 0x140031c95
mov rax, qword [rsp + 0x1c0]
cmp dword [rax + 0xc], 0
je 0x140031d85
mov eax, dword [rsp + 0x1e0]
mov rcx, qword [rsp + 0x2c8]
mov rdx, qword [rsp + 0x2c8]
mov r8d, dword [rsp + 0x1f4]
mov r9d, r8d
movzx r8d, word [rdx + r9*2 + 0x1c94]
sar r8d, 4
movsxd rdx, r8d
mov r8d, dword [rcx + rdx*4 + 0x588]
mov rcx, qword [rsp + 0x2c8]
mov rdx, qword [rsp + 0x2c8]
add rdx, 0x1e5c
mov r10d, dword [rsp + 0x1f4]
mov r9d, r10d
shl r9, 5
add rdx, r9
mov r10d, dword [rsp + 0x1f0]
mov r9d, r10d
movzx r10d, word [rdx + r9*2]
sar r10d, 4
movsxd rdx, r10d
add r8d, dword [rcx + rdx*4 + 0x588]
add eax, r8d
mov dword [rsp + 0x180], eax
mov eax, dword [rsp + 0x180]
mov rcx, qword [rsp + 0x1c0]
cmp eax, dword [rcx]
jae 0x140031d80
mov eax, dword [rsp + 0x180]
mov rcx, qword [rsp + 0x1c0]
mov dword [rcx], eax
mov rcx, qword [rsp + 0x1c0]
mov dword [rcx + 8], 1
mov rcx, qword [rsp + 0x1c0]
mov dword [rcx + 0xc], 0
mov rcx, qword [rsp + 0x1c0]
mov word [rcx + 6], 0
mov dword [rsp + 0x1dc], 0
jmp 0x140031d85
jmp 0x140031d8a
jmp 0x140031d8f
jmp 0x140031d94
cmp dword [rsp + 0x204], 2
jae 0x140031da7
jmp 0x1400312f4
mov eax, dword [rsp + 0x204]
mov rcx, qword [rsp + 0x2c8]
cmp eax, dword [rcx + 0x48]
ja 0x140031dcf
mov eax, dword [rsp + 0x204]
mov dword [rsp + 0x5c], eax
jmp 0x140031dde
mov rax, qword [rsp + 0x2c8]
mov ecx, dword [rax + 0x48]
mov dword [rsp + 0x5c], ecx
mov eax, dword [rsp + 0x5c]
mov dword [rsp + 0x208], eax
cmp dword [rsp + 0x1dc], 0
jne 0x1400321c1
cmp dword [rsp + 0x1e8], 0
je 0x1400321c1
movzx eax, byte [rsp + 0x1da]
movzx ecx, byte [rsp + 0x1db]
cmp eax, ecx
je 0x1400321c1
cmp dword [rsp + 0x204], 2
jbe 0x1400321c1
xor eax, eax
mov ecx, eax
mov rdx, qword [rsp + 0x1d0]
mov eax, dword [rsp + 0x2b0]
mov r8d, eax
sub rcx, r8
add rdx, rcx
mov qword [rsp + 0x178], rdx
mov rcx, qword [rsp + 0x1d0]
movzx eax, byte [rcx + 1]
mov rcx, qword [rsp + 0x178]
movzx r9d, byte [rcx + 1]
cmp eax, r9d
jne 0x1400321bc
mov rax, qword [rsp + 0x1d0]
movzx ecx, byte [rax + 2]
mov rax, qword [rsp + 0x178]
movzx edx, byte [rax + 2]
cmp ecx, edx
jne 0x1400321bc
mov rax, qword [rsp + 0x2c8]
mov ecx, dword [rax + 0x48]
add ecx, 1
mov dword [rsp + 0x170], ecx
mov ecx, dword [rsp + 0x170]
cmp ecx, dword [rsp + 0x204]
jbe 0x140031ec8
mov eax, dword [rsp + 0x204]
mov dword [rsp + 0x170], eax
mov dword [rsp + 0x174], 3
xor eax, eax
mov ecx, dword [rsp + 0x174]
cmp ecx, dword [rsp + 0x170]
mov byte [rsp + 0x5b], al
jae 0x140031f26
mov rax, qword [rsp + 0x1d0]
mov ecx, dword [rsp + 0x174]
mov edx, ecx
movzx ecx, byte [rax + rdx]
mov rax, qword [rsp + 0x178]
mov r8d, dword [rsp + 0x174]
mov edx, r8d
movzx r8d, byte [rax + rdx]
cmp ecx, r8d
sete r9b
mov byte [rsp + 0x5b], r9b
mov al, byte [rsp + 0x5b]
test al, 1
jne 0x140031f37
jmp 0x140031f52
jmp 0x140031f3c
mov eax, dword [rsp + 0x174]
add eax, 1
mov dword [rsp + 0x174], eax
jmp 0x140031ed3
mov eax, dword [rsp + 0x1f4]
mov ecx, eax
lea rdx, [0x140045b88]
movzx eax, byte [rdx + rcx]
mov dword [rsp + 0x16c], eax
mov eax, dword [rsp + 0x2d0]
add eax, 1
mov rcx, qword [rsp + 0x2c8]
and eax, dword [rcx + 0x64]
mov dword [rsp + 0x168], eax
mov eax, dword [rsp + 0x1e8]
mov rcx, qword [rsp + 0x2c8]
mov rdx, qword [rsp + 0x2c8]
add rdx, 0x1cdc
mov r8d, dword [rsp + 0x16c]
mov r9d, r8d
shl r9, 5
add rdx, r9
mov r8d, dword [rsp + 0x168]
mov r9d, r8d
movzx r8d, word [rdx + r9*2]
xor r8d, 0x7ff
sar r8d, 4
movsxd rdx, r8d
mov r8d, dword [rcx + rdx*4 + 0x588]
mov rcx, qword [rsp + 0x2c8]
mov rdx, qword [rsp + 0x2c8]
add rdx, 0x1e5c
mov r10d, dword [rsp + 0x16c]
mov r9d, r10d
shl r9, 5
add rdx, r9
mov r10d, dword [rsp + 0x168]
mov r9d, r10d
movzx r10d, word [rdx + r9*2]
xor r10d, 0x7ff
sar r10d, 4
movsxd rdx, r10d
add r8d, dword [rcx + rdx*4 + 0x588]
add eax, r8d
mov rcx, qword [rsp + 0x2c8]
mov rdx, qword [rsp + 0x2c8]
mov r8d, dword [rsp + 0x16c]
mov r9d, r8d
movzx r8d, word [rdx + r9*2 + 0x1c7c]
xor r8d, 0x7ff
sar r8d, 4
movsxd rdx, r8d
add eax, dword [rcx + rdx*4 + 0x588]
mov rcx, qword [rsp + 0x2c8]
mov rdx, qword [rsp + 0x2c8]
mov r8d, dword [rsp + 0x16c]
mov r9d, r8d
movzx r8d, word [rdx + r9*2 + 0x1c94]
sar r8d, 4
movsxd rdx, r8d
add eax, dword [rcx + rdx*4 + 0x588]
mov dword [rsp + 0x164], eax
mov eax, dword [rsp + 0x2c0]
add eax, dword [rsp + 0x174]
mov dword [rsp + 0x160], eax
mov eax, dword [rsp + 0x2c4]
cmp eax, dword [rsp + 0x160]
jae 0x1400320da
mov eax, dword [rsp + 0x160]
mov dword [rsp + 0x2c4], eax
mov eax, dword [rsp + 0x174]
add eax, 0xffffffff
mov dword [rsp + 0x174], eax
mov eax, dword [rsp + 0x164]
mov rcx, qword [rsp + 0x2c8]
add rcx, 0x8ee0
add rcx, 4
mov edx, dword [rsp + 0x168]
mov r8d, edx
imul r8, r8, 0x440
add rcx, r8
mov edx, dword [rsp + 0x174]
mov r8d, edx
sub r8, 2
add eax, dword [rcx + r8*4]
mov dword [rsp + 0x15c], eax
mov rcx, qword [rsp + 0x2c8]
add rcx, 0xd2e4
mov eax, dword [rsp + 0x160]
mov r8d, eax
shl r8, 5
add rcx, r8
mov qword [rsp + 0x150], rcx
mov eax, dword [rsp + 0x15c]
mov rcx, qword [rsp + 0x150]
cmp eax, dword [rcx]
jae 0x1400321b7
mov eax, dword [rsp + 0x15c]
mov rcx, qword [rsp + 0x150]
mov dword [rcx], eax
mov eax, dword [rsp + 0x174]
mov rcx, qword [rsp + 0x150]
mov dword [rcx + 8], eax
mov rcx, qword [rsp + 0x150]
mov dword [rcx + 0xc], 0
mov rcx, qword [rsp + 0x150]
mov word [rcx + 6], 1
jmp 0x1400321bc
jmp 0x1400321c1
mov dword [rsp + 0x1ec], 2
mov dword [rsp + 0x14c], 0
cmp dword [rsp + 0x14c], 4
jae 0x140032c04
xor eax, eax
mov ecx, eax
mov rdx, qword [rsp + 0x1d0]
mov eax, dword [rsp + 0x14c]
mov r8d, eax
mov eax, dword [rsp + r8*4 + 0x2b0]
mov r8d, eax
sub rcx, r8
add rdx, rcx
mov qword [rsp + 0x138], rdx
mov rcx, qword [rsp + 0x1d0]
movzx eax, byte [rcx]
mov rcx, qword [rsp + 0x138]
movzx r9d, byte [rcx]
cmp eax, r9d
jne 0x140032254
mov rax, qword [rsp + 0x1d0]
movzx ecx, byte [rax + 1]
mov rax, qword [rsp + 0x138]
movzx edx, byte [rax + 1]
cmp ecx, edx
je 0x140032259
jmp 0x140032bee
mov dword [rsp + 0x148], 2
xor eax, eax
mov ecx, dword [rsp + 0x148]
cmp ecx, dword [rsp + 0x208]
mov byte [rsp + 0x5a], al
jae 0x1400322b7
mov rax, qword [rsp + 0x1d0]
mov ecx, dword [rsp + 0x148]
mov edx, ecx
movzx ecx, byte [rax + rdx]
mov rax, qword [rsp + 0x138]
mov r8d, dword [rsp + 0x148]
mov edx, r8d
movzx r8d, byte [rax + rdx]
cmp ecx, r8d
sete r9b
mov byte [rsp + 0x5a], r9b
mov al, byte [rsp + 0x5a]
test al, 1
jne 0x1400322c8
jmp 0x1400322e3
jmp 0x1400322cd
mov eax, dword [rsp + 0x148]
add eax, 1
mov dword [rsp + 0x148], eax
jmp 0x140032264
mov eax, dword [rsp + 0x2c0]
add eax, dword [rsp + 0x148]
mov dword [rsp + 0x134], eax
mov eax, dword [rsp + 0x2c4]
cmp eax, dword [rsp + 0x134]
jae 0x14003231a
mov eax, dword [rsp + 0x134]
mov dword [rsp + 0x2c4], eax
mov eax, dword [rsp + 0x148]
mov dword [rsp + 0x130], eax
mov eax, dword [rsp + 0x1e0]
mov ecx, dword [rsp + 0x1f0]
mov edx, ecx
mov ecx, dword [rsp + 0x1f4]
mov r8d, ecx
mov ecx, dword [rsp + 0x14c]
mov r9, qword [rsp + 0x2c8]
mov qword [rsp + 0x320], rdx
mov qword [rsp + 0x318], r8
mov dword [rsp + 0x314], ecx
mov qword [rsp + 0x308], r9
mov rdx, qword [rsp + 0x308]
mov r8, qword [rsp + 0x318]
movzx ecx, word [rdx + r8*2 + 0x1c94]
mov dword [rsp + 0x300], ecx
cmp dword [rsp + 0x314], 0
mov dword [rsp + 0x54], eax
jne 0x14003241f
mov rax, qword [rsp + 0x308]
mov ecx, dword [rsp + 0x300]
shr ecx, 4
mov ecx, ecx
mov edx, ecx
mov ecx, dword [rax + rdx*4 + 0x588]
mov dword [rsp + 0x304], ecx
mov rax, qword [rsp + 0x308]
mov rdx, qword [rsp + 0x308]
add rdx, 0x1e5c
mov r8, qword [rsp + 0x318]
shl r8, 5
add rdx, r8
mov r8, qword [rsp + 0x320]
movzx ecx, word [rdx + r8*2]
xor ecx, 0x7ff
sar ecx, 4
movsxd rdx, ecx
mov ecx, dword [rax + rdx*4 + 0x588]
add ecx, dword [rsp + 0x304]
mov dword [rsp + 0x304], ecx
jmp 0x140032535
mov rax, qword [rsp + 0x308]
mov ecx, dword [rsp + 0x300]
xor ecx, 0x7ff
shr ecx, 4
mov ecx, ecx
mov edx, ecx
mov ecx, dword [rax + rdx*4 + 0x588]
mov dword [rsp + 0x304], ecx
mov rax, qword [rsp + 0x308]
mov rdx, qword [rsp + 0x318]
movzx ecx, word [rax + rdx*2 + 0x1cac]
mov dword [rsp + 0x300], ecx
cmp dword [rsp + 0x314], 1
jne 0x1400324a6
mov rax, qword [rsp + 0x308]
mov ecx, dword [rsp + 0x300]
shr ecx, 4
mov ecx, ecx
mov edx, ecx
mov ecx, dword [rax + rdx*4 + 0x588]
add ecx, dword [rsp + 0x304]
mov dword [rsp + 0x304], ecx
jmp 0x140032530
xor eax, eax
mov rcx, qword [rsp + 0x308]
mov edx, dword [rsp + 0x300]
xor edx, 0x7ff
shr edx, 4
mov edx, edx
mov r8d, edx
mov edx, dword [rcx + r8*4 + 0x588]
add edx, dword [rsp + 0x304]
mov dword [rsp + 0x304], edx
mov rcx, qword [rsp + 0x308]
mov r8, qword [rsp + 0x308]
mov r9, qword [rsp + 0x318]
movzx edx, word [r8 + r9*2 + 0x1cc4]
mov r10d, dword [rsp + 0x314]
sub r10d, 2
sub eax, r10d
and eax, 0x7ff
xor edx, eax
shr edx, 4
mov eax, edx
mov r8d, eax
mov eax, dword [rcx + r8*4 + 0x588]
add eax, dword [rsp + 0x304]
mov dword [rsp + 0x304], eax
jmp 0x140032535
mov eax, dword [rsp + 0x304]
mov ecx, dword [rsp + 0x54]
add ecx, eax
mov dword [rsp + 0x144], ecx
mov eax, dword [rsp + 0x144]
mov rcx, qword [rsp + 0x2c8]
add rcx, 0x8ee0
add rcx, 4
mov edx, dword [rsp + 0x1f0]
mov r8d, edx
imul r8, r8, 0x440
add rcx, r8
mov edx, dword [rsp + 0x130]
mov r8d, edx
sub r8, 2
add eax, dword [rcx + r8*4]
mov dword [rsp + 0x12c], eax
mov rcx, qword [rsp + 0x2c8]
add rcx, 0xd2e4
mov eax, dword [rsp + 0x2c0]
add eax, dword [rsp + 0x130]
mov eax, eax
mov r8d, eax
shl r8, 5
add rcx, r8
mov qword [rsp + 0x120], rcx
mov eax, dword [rsp + 0x12c]
mov rcx, qword [rsp + 0x120]
cmp eax, dword [rcx]
jae 0x140032621
mov eax, dword [rsp + 0x12c]
mov rcx, qword [rsp + 0x120]
mov dword [rcx], eax
mov eax, dword [rsp + 0x130]
mov rcx, qword [rsp + 0x120]
mov dword [rcx + 8], eax
mov eax, dword [rsp + 0x14c]
mov rcx, qword [rsp + 0x120]
mov dword [rcx + 0xc], eax
mov rcx, qword [rsp + 0x120]
mov word [rcx + 6], 0
jmp 0x140032626
mov eax, dword [rsp + 0x130]
add eax, 0xffffffff
mov dword [rsp + 0x130], eax
cmp eax, 2
jae 0x140032549
cmp dword [rsp + 0x14c], 0
jne 0x14003265f
mov eax, dword [rsp + 0x148]
add eax, 1
mov dword [rsp + 0x1ec], eax
mov eax, dword [rsp + 0x148]
add eax, 1
mov dword [rsp + 0x11c], eax
mov eax, dword [rsp + 0x11c]
mov rcx, qword [rsp + 0x2c8]
add eax, dword [rcx + 0x48]
mov dword [rsp + 0x118], eax
mov eax, dword [rsp + 0x118]
cmp eax, dword [rsp + 0x204]
jbe 0x1400326ab
mov eax, dword [rsp + 0x204]
mov dword [rsp + 0x118], eax
mov eax, dword [rsp + 0x11c]
add eax, 2
mov dword [rsp + 0x11c], eax
mov eax, dword [rsp + 0x11c]
cmp eax, dword [rsp + 0x118]
ja 0x140032be9
mov rax, qword [rsp + 0x1d0]
mov ecx, dword [rsp + 0x11c]
sub ecx, 2
mov ecx, ecx
mov edx, ecx
movzx ecx, byte [rax + rdx]
mov rax, qword [rsp + 0x138]
mov r8d, dword [rsp + 0x11c]
sub r8d, 2
mov r8d, r8d
mov edx, r8d
movzx r8d, byte [rax + rdx]
cmp ecx, r8d
jne 0x140032be4
mov rax, qword [rsp + 0x1d0]
mov ecx, dword [rsp + 0x11c]
sub ecx, 1
mov ecx, ecx
mov edx, ecx
movzx ecx, byte [rax + rdx]
mov rax, qword [rsp + 0x138]
mov r8d, dword [rsp + 0x11c]
sub r8d, 1
mov r8d, r8d
mov edx, r8d
movzx r8d, byte [rax + rdx]
cmp ecx, r8d
jne 0x140032bdf
mov eax, dword [rsp + 0x1f4]
mov ecx, eax
lea rdx, [0x140045ba0]
movzx eax, byte [rdx + rcx]
mov dword [rsp + 0x114], eax
mov eax, dword [rsp + 0x2d0]
add eax, dword [rsp + 0x148]
mov rcx, qword [rsp + 0x2c8]
and eax, dword [rcx + 0x64]
mov dword [rsp + 0x110], eax
mov rcx, qword [rsp + 0x2c8]
add rcx, 0x8ee0
add rcx, 4
mov eax, dword [rsp + 0x1f0]
mov edx, eax
imul rdx, rdx, 0x440
add rcx, rdx
mov eax, dword [rsp + 0x148]
mov edx, eax
sub rdx, 2
mov eax, dword [rcx + rdx*4]
mov rcx, qword [rsp + 0x2c8]
mov rdx, qword [rsp + 0x2c8]
add rdx, 0x1cdc
mov r8d, dword [rsp + 0x114]
mov r9d, r8d
shl r9, 5
add rdx, r9
mov r8d, dword [rsp + 0x110]
mov r9d, r8d
movzx r8d, word [rdx + r9*2]
sar r8d, 4
movsxd rdx, r8d
add eax, dword [rcx + rdx*4 + 0x588]
mov rcx, qword [rsp + 0x2c8]
add rcx, 0x588
mov rdx, qword [rsp + 0x138]
mov r8d, dword [rsp + 0x148]
mov r9d, r8d
movzx r8d, byte [rdx + r9]
mov rdx, qword [rsp + 0x1d0]
mov r10d, dword [rsp + 0x148]
mov r9d, r10d
movzx edx, byte [rdx + r9]
mov r9, qword [rsp + 0x2c8]
mov r9, qword [r9 + 0x68]
mov r10d, dword [rsp + 0x2d0]
add r10d, dword [rsp + 0x148]
shl r10d, 8
mov r11, qword [rsp + 0x1d0]
mov esi, dword [rsp + 0x148]
mov edi, esi
sub rdi, 1
movzx esi, byte [r11 + rdi]
add r10d, esi
mov r11, qword [rsp + 0x2c8]
and r10d, dword [r11 + 0x60]
mov r11, qword [rsp + 0x2c8]
mov esi, dword [r11 + 0xbc]
mov qword [rsp + 0x48], rcx
mov ecx, esi
shl r10d, cl
imul r10d, r10d, 3
mov r10d, r10d
mov r11d, r10d
shl r11, 1
add r9, r11
mov rcx, r9
mov r9, qword [rsp + 0x48]
mov dword [rsp + 0x44], eax
call fcn.1400344e0
mov edx, dword [rsp + 0x44]
add edx, eax
add edx, dword [rsp + 0x144]
mov dword [rsp + 0x144], edx
mov dword [rsp + 0x114], 5
mov eax, dword [rsp + 0x110]
add eax, 1
mov rcx, qword [rsp + 0x2c8]
and eax, dword [rcx + 0x64]
mov dword [rsp + 0x110], eax
mov rcx, qword [rsp + 0x2c8]
mov r9, qword [rsp + 0x2c8]
add r9, 0x1cdc
mov eax, dword [rsp + 0x114]
mov r11d, eax
shl r11, 5
add r9, r11
mov eax, dword [rsp + 0x110]
mov r11d, eax
movzx eax, word [r9 + r11*2]
xor eax, 0x7ff
sar eax, 4
movsxd r9, eax
mov eax, dword [rcx + r9*4 + 0x588]
mov rcx, qword [rsp + 0x2c8]
mov r9, qword [rsp + 0x2c8]
add r9, 0x1e5c
mov edx, dword [rsp + 0x114]
mov r11d, edx
shl r11, 5
add r9, r11
mov edx, dword [rsp + 0x110]
mov r11d, edx
movzx edx, word [r9 + r11*2]
xor edx, 0x7ff
sar edx, 4
movsxd r9, edx
add eax, dword [rcx + r9*4 + 0x588]
mov rcx, qword [rsp + 0x2c8]
mov r9, qword [rsp + 0x2c8]
mov edx, dword [rsp + 0x114]
mov r11d, edx
movzx edx, word [r9 + r11*2 + 0x1c7c]
xor edx, 0x7ff
sar edx, 4
movsxd r9, edx
add eax, dword [rcx + r9*4 + 0x588]
mov rcx, qword [rsp + 0x2c8]
mov r9, qword [rsp + 0x2c8]
mov edx, dword [rsp + 0x114]
mov r11d, edx
movzx edx, word [r9 + r11*2 + 0x1c94]
sar edx, 4
movsxd r9, edx
add eax, dword [rcx + r9*4 + 0x588]
add eax, dword [rsp + 0x144]
mov dword [rsp + 0x144], eax
xor eax, eax
mov ecx, dword [rsp + 0x11c]
cmp ecx, dword [rsp + 0x118]
mov byte [rsp + 0x43], al
jae 0x140032a71
mov rax, qword [rsp + 0x1d0]
mov ecx, dword [rsp + 0x11c]
mov edx, ecx
movzx ecx, byte [rax + rdx]
mov rax, qword [rsp + 0x138]
mov r8d, dword [rsp + 0x11c]
mov edx, r8d
movzx r8d, byte [rax + rdx]
cmp ecx, r8d
sete r9b
mov byte [rsp + 0x43], r9b
mov al, byte [rsp + 0x43]
test al, 1
jne 0x140032a82
jmp 0x140032a9d
jmp 0x140032a87
mov eax, dword [rsp + 0x11c]
add eax, 1
mov dword [rsp + 0x11c], eax
jmp 0x140032a1e
mov eax, dword [rsp + 0x148]
mov ecx, dword [rsp + 0x11c]
sub ecx, eax
mov dword [rsp + 0x11c], ecx
mov eax, dword [rsp + 0x2c0]
add eax, dword [rsp + 0x148]
add eax, dword [rsp + 0x11c]
mov dword [rsp + 0x10c], eax
mov eax, dword [rsp + 0x2c4]
cmp eax, dword [rsp + 0x10c]
jae 0x140032af2
mov eax, dword [rsp + 0x10c]
mov dword [rsp + 0x2c4], eax
mov eax, dword [rsp + 0x11c]
add eax, 0xffffffff
mov dword [rsp + 0x11c], eax
mov eax, dword [rsp + 0x144]
mov rcx, qword [rsp + 0x2c8]
add rcx, 0x8ee0
add rcx, 4
mov edx, dword [rsp + 0x110]
mov r8d, edx
imul r8, r8, 0x440
add rcx, r8
mov edx, dword [rsp + 0x11c]
mov r8d, edx
sub r8, 2
add eax, dword [rcx + r8*4]
mov dword [rsp + 0x108], eax
mov rcx, qword [rsp + 0x2c8]
add rcx, 0xd2e4
mov eax, dword [rsp + 0x10c]
mov r8d, eax
shl r8, 5
add rcx, r8
mov qword [rsp + 0x100], rcx
mov eax, dword [rsp + 0x108]
mov rcx, qword [rsp + 0x100]
cmp eax, dword [rcx]
jae 0x140032bda
mov eax, dword [rsp + 0x108]
mov rcx, qword [rsp + 0x100]
mov dword [rcx], eax
mov eax, dword [rsp + 0x11c]
mov rcx, qword [rsp + 0x100]
mov dword [rcx + 8], eax
mov eax, dword [rsp + 0x148]
add eax, 1
mov rcx, qword [rsp + 0x100]
mov word [rcx + 6], ax
mov edx, dword [rsp + 0x14c]
mov rcx, qword [rsp + 0x100]
mov dword [rcx + 0xc], edx
jmp 0x140032bdf
jmp 0x140032be4
jmp 0x140032be9
jmp 0x140032bee
mov eax, dword [rsp + 0x14c]
add eax, 1
mov dword [rsp + 0x14c], eax
jmp 0x1400321d7
mov eax, dword [rsp + 0x200]
cmp eax, dword [rsp + 0x208]
jbe 0x140032c9d
mov eax, dword [rsp + 0x208]
mov dword [rsp + 0x200], eax
mov dword [rsp + 0x1fc], 0
mov eax, dword [rsp + 0x200]
mov rcx, qword [rsp + 0x298]
mov edx, dword [rsp + 0x1fc]
mov r8d, edx
cmp eax, dword [rcx + r8*4]
jbe 0x140032c6f
jmp 0x140032c59
mov eax, dword [rsp + 0x1fc]
add eax, 2
mov dword [rsp + 0x1fc], eax
jmp 0x140032c31
mov eax, dword [rsp + 0x200]
mov rcx, qword [rsp + 0x298]
mov edx, dword [rsp + 0x1fc]
mov r8d, edx
mov dword [rcx + r8*4], eax
mov eax, dword [rsp + 0x1fc]
add eax, 2
mov dword [rsp + 0x1fc], eax
mov eax, dword [rsp + 0x200]
cmp eax, dword [rsp + 0x1ec]
jb 0x140033649
mov eax, dword [rsp + 0x1e4]
mov rcx, qword [rsp + 0x2c8]
mov rdx, qword [rsp + 0x2c8]
mov r8d, dword [rsp + 0x1f4]
mov r9d, r8d
movzx r8d, word [rdx + r9*2 + 0x1c7c]
sar r8d, 4
movsxd rdx, r8d
add eax, dword [rcx + rdx*4 + 0x588]
mov dword [rsp + 0xfc], eax
mov eax, dword [rsp + 0x2c0]
add eax, dword [rsp + 0x200]
mov dword [rsp + 0xe8], eax
mov eax, dword [rsp + 0x2c4]
cmp eax, dword [rsp + 0xe8]
jae 0x140032d28
mov eax, dword [rsp + 0xe8]
mov dword [rsp + 0x2c4], eax
mov dword [rsp + 0xf4], 0
mov eax, dword [rsp + 0x1ec]
mov rcx, qword [rsp + 0x298]
mov edx, dword [rsp + 0xf4]
mov r8d, edx
cmp eax, dword [rcx + r8*4]
jbe 0x140032d6c
mov eax, dword [rsp + 0xf4]
add eax, 2
mov dword [rsp + 0xf4], eax
jmp 0x140032d33
mov rax, qword [rsp + 0x298]
mov ecx, dword [rsp + 0xf4]
mov edx, ecx
mov ecx, dword [rax + rdx*4 + 4]
mov dword [rsp + 0xf8], ecx
mov ecx, dword [rsp + 0xf8]
cmp ecx, 0x80000
mov eax, 6
mov edx, send
cmovb rdx, rax
mov dword [rsp + 0xe4], edx
mov rax, qword [rsp + 0x2c8]
mov ecx, dword [rsp + 0xf8]
mov edx, dword [rsp + 0xe4]
mov dword [rsp + 0x3c], ecx
mov ecx, edx
mov edx, dword [rsp + 0x3c]
shr edx, cl
mov edx, edx
mov r8d, edx
movzx edx, byte [rax + r8 + 0x2adc]
mov r9d, dword [rsp + 0xe4]
shl r9d, 1
add edx, r9d
mov dword [rsp + 0xf0], edx
mov edx, dword [rsp + 0x1ec]
mov dword [rsp + 0xec], edx
mov eax, dword [rsp + 0xfc]
mov rcx, qword [rsp + 0x2c8]
add rcx, 0x4adc
add rcx, 4
mov edx, dword [rsp + 0x1f0]
mov r8d, edx
imul r8, r8, 0x440
add rcx, r8
mov edx, dword [rsp + 0xec]
mov r8d, edx
sub r8, 2
add eax, dword [rcx + r8*4]
mov dword [rsp + 0xe0], eax
mov eax, dword [rsp + 0xec]
sub eax, 2
mov dword [rsp + 0xd4], eax
cmp dword [rsp + 0xd4], 3
jae 0x140032e7a
mov eax, dword [rsp + 0xd4]
mov dword [rsp + 0x38], eax
jmp 0x140032e88
mov eax, 3
mov dword [rsp + 0x38], eax
jmp 0x140032e88
mov eax, dword [rsp + 0x38]
mov dword [rsp + 0xd4], eax
cmp dword [rsp + 0xf8], 0x80
jae 0x140032ee6
mov rax, qword [rsp + 0x2c8]
add rax, 0x145c
mov ecx, dword [rsp + 0xd4]
mov edx, ecx
shl rdx, 9
add rax, rdx
mov ecx, dword [rsp + 0xf8]
and ecx, 0x7f
mov ecx, ecx
mov edx, ecx
mov ecx, dword [rax + rdx*4]
add ecx, dword [rsp + 0xe0]
mov dword [rsp + 0xe0], ecx
jmp 0x140032f3f
mov rax, qword [rsp + 0x2c8]
add rax, 0x105c
mov ecx, dword [rsp + 0xd4]
mov edx, ecx
shl rdx, 8
add rax, rdx
mov ecx, dword [rsp + 0xf0]
mov edx, ecx
mov ecx, dword [rax + rdx*4]
mov rax, qword [rsp + 0x2c8]
mov r8d, dword [rsp + 0xf8]
and r8d, 0xf
mov r8d, r8d
mov edx, r8d
add ecx, dword [rax + rdx*4 + 0x101c]
add ecx, dword [rsp + 0xe0]
mov dword [rsp + 0xe0], ecx
mov rax, qword [rsp + 0x2c8]
add rax, 0xd2e4
mov ecx, dword [rsp + 0x2c0]
add ecx, dword [rsp + 0xec]
mov ecx, ecx
mov edx, ecx
shl rdx, 5
add rax, rdx
mov qword [rsp + 0xd8], rax
mov ecx, dword [rsp + 0xe0]
mov rax, qword [rsp + 0xd8]
cmp ecx, dword [rax]
jae 0x140032fcb
mov eax, dword [rsp + 0xe0]
mov rcx, qword [rsp + 0xd8]
mov dword [rcx], eax
mov eax, dword [rsp + 0xec]
mov rcx, qword [rsp + 0xd8]
mov dword [rcx + 8], eax
mov eax, dword [rsp + 0xf8]
add eax, 4
mov rcx, qword [rsp + 0xd8]
mov dword [rcx + 0xc], eax
mov rcx, qword [rsp + 0xd8]
mov word [rcx + 6], 0
mov eax, dword [rsp + 0xec]
mov rcx, qword [rsp + 0x298]
mov edx, dword [rsp + 0xf4]
mov r8d, edx
cmp eax, dword [rcx + r8*4]
jne 0x140033629
xor eax, eax
mov ecx, eax
mov rdx, qword [rsp + 0x1d0]
mov eax, dword [rsp + 0xf8]
mov r8d, eax
sub rcx, r8
add rdx, rcx
add rdx, 0xffffffffffffffff
mov qword [rsp + 0xc8], rdx
mov eax, dword [rsp + 0xec]
add eax, 1
mov dword [rsp + 0xc4], eax
mov eax, dword [rsp + 0xc4]
mov rcx, qword [rsp + 0x2c8]
add eax, dword [rcx + 0x48]
mov dword [rsp + 0xc0], eax
mov eax, dword [rsp + 0xc0]
cmp eax, dword [rsp + 0x204]
jbe 0x140033065
mov eax, dword [rsp + 0x204]
mov dword [rsp + 0xc0], eax
mov eax, dword [rsp + 0xc4]
add eax, 2
mov dword [rsp + 0xc4], eax
mov eax, dword [rsp + 0xc4]
cmp eax, dword [rsp + 0xc0]
ja 0x14003357b
mov rax, qword [rsp + 0x1d0]
mov ecx, dword [rsp + 0xc4]
sub ecx, 2
mov ecx, ecx
mov edx, ecx
movzx ecx, byte [rax + rdx]
mov rax, qword [rsp + 0xc8]
mov r8d, dword [rsp + 0xc4]
sub r8d, 2
mov r8d, r8d
mov edx, r8d
movzx r8d, byte [rax + rdx]
cmp ecx, r8d
jne 0x140033576
mov rax, qword [rsp + 0x1d0]
mov ecx, dword [rsp + 0xc4]
sub ecx, 1
mov ecx, ecx
mov edx, ecx
movzx ecx, byte [rax + rdx]
mov rax, qword [rsp + 0xc8]
mov r8d, dword [rsp + 0xc4]
sub r8d, 1
mov r8d, r8d
mov edx, r8d
movzx r8d, byte [rax + rdx]
cmp ecx, r8d
jne 0x140033571
jmp 0x140033113
xor eax, eax
mov ecx, dword [rsp + 0xc4]
cmp ecx, dword [rsp + 0xc0]
mov byte [rsp + 0x37], al
jae 0x140033166
mov rax, qword [rsp + 0x1d0]
mov ecx, dword [rsp + 0xc4]
mov edx, ecx
movzx ecx, byte [rax + rdx]
mov rax, qword [rsp + 0xc8]
mov r8d, dword [rsp + 0xc4]
mov edx, r8d
movzx r8d, byte [rax + rdx]
cmp ecx, r8d
sete r9b
mov byte [rsp + 0x37], r9b
mov al, byte [rsp + 0x37]
test al, 1
jne 0x140033177
jmp 0x140033192
jmp 0x14003317c
mov eax, dword [rsp + 0xc4]
add eax, 1
mov dword [rsp + 0xc4], eax
jmp 0x140033113
mov eax, dword [rsp + 0xec]
mov ecx, dword [rsp + 0xc4]
sub ecx, eax
mov dword [rsp + 0xc4], ecx
mov eax, dword [rsp + 0x1f4]
mov edx, eax
lea r8, [0x140045bac]
movzx eax, byte [r8 + rdx]
mov dword [rsp + 0xbc], eax
mov eax, dword [rsp + 0x2d0]
add eax, dword [rsp + 0xec]
mov rdx, qword [rsp + 0x2c8]
and eax, dword [rdx + 0x64]
mov dword [rsp + 0xb8], eax
mov rdx, qword [rsp + 0x2c8]
mov r8, qword [rsp + 0x2c8]
add r8, 0x1cdc
mov eax, dword [rsp + 0xbc]
mov r9d, eax
shl r9, 5
add r8, r9
mov eax, dword [rsp + 0xb8]
mov r9d, eax
movzx eax, word [r8 + r9*2]
sar eax, 4
movsxd r8, eax
mov eax, dword [rdx + r8*4 + 0x588]
add eax, dword [rsp + 0xe0]
mov dword [rsp + 0xe0], eax
mov rdx, qword [rsp + 0x2c8]
add rdx, 0x588
mov r8, qword [rsp + 0xc8]
mov eax, dword [rsp + 0xec]
mov r9d, eax
movzx r8d, byte [r8 + r9]
mov r9, qword [rsp + 0x1d0]
mov eax, dword [rsp + 0xec]
mov r10d, eax
movzx eax, byte [r9 + r10]
mov r9, qword [rsp + 0x2c8]
mov r9, qword [r9 + 0x68]
mov ecx, dword [rsp + 0x2d0]
add ecx, dword [rsp + 0xec]
shl ecx, 8
mov r10, qword [rsp + 0x1d0]
mov r11d, dword [rsp + 0xec]
mov esi, r11d
sub rsi, 1
movzx r11d, byte [r10 + rsi]
add ecx, r11d
mov r10, qword [rsp + 0x2c8]
and ecx, dword [r10 + 0x60]
mov r10, qword [rsp + 0x2c8]
mov r11d, dword [r10 + 0xbc]
mov dword [rsp + 0x30], ecx
mov ecx, r11d
mov r11d, dword [rsp + 0x30]
shl r11d, cl
imul r11d, r11d, 3
mov r11d, r11d
mov r10d, r11d
shl r10, 1
add r9, r10
mov rcx, r9
mov qword [rsp + 0x28], rdx
mov edx, eax
mov r9, qword [rsp + 0x28]
call fcn.1400344e0
add eax, dword [rsp + 0xe0]
mov dword [rsp + 0xe0], eax
mov dword [rsp + 0xbc], 4
mov eax, dword [rsp + 0xb8]
add eax, 1
mov rcx, qword [rsp + 0x2c8]
and eax, dword [rcx + 0x64]
mov dword [rsp + 0xb8], eax
mov rcx, qword [rsp + 0x2c8]
mov r9, qword [rsp + 0x2c8]
add r9, 0x1cdc
mov eax, dword [rsp + 0xbc]
mov r10d, eax
shl r10, 5
add r9, r10
mov eax, dword [rsp + 0xb8]
mov r10d, eax
movzx eax, word [r9 + r10*2]
xor eax, 0x7ff
sar eax, 4
movsxd r9, eax
mov eax, dword [rcx + r9*4 + 0x588]
mov rcx, qword [rsp + 0x2c8]
mov r9, qword [rsp + 0x2c8]
add r9, 0x1e5c
mov edx, dword [rsp + 0xbc]
mov r10d, edx
shl r10, 5
add r9, r10
mov edx, dword [rsp + 0xb8]
mov r10d, edx
movzx edx, word [r9 + r10*2]
xor edx, 0x7ff
sar edx, 4
movsxd r9, edx
add eax, dword [rcx + r9*4 + 0x588]
mov rcx, qword [rsp + 0x2c8]
mov r9, qword [rsp + 0x2c8]
mov edx, dword [rsp + 0xbc]
mov r10d, edx
movzx edx, word [r9 + r10*2 + 0x1c7c]
xor edx, 0x7ff
sar edx, 4
movsxd r9, edx
add eax, dword [rcx + r9*4 + 0x588]
mov rcx, qword [rsp + 0x2c8]
mov r9, qword [rsp + 0x2c8]
mov edx, dword [rsp + 0xbc]
mov r10d, edx
movzx edx, word [r9 + r10*2 + 0x1c94]
sar edx, 4
movsxd r9, edx
add eax, dword [rcx + r9*4 + 0x588]
add eax, dword [rsp + 0xe0]
mov dword [rsp + 0xe0], eax
mov eax, dword [rsp + 0x2c0]
add eax, dword [rsp + 0xec]
add eax, dword [rsp + 0xc4]
mov dword [rsp + 0xb4], eax
mov eax, dword [rsp + 0x2c4]
cmp eax, dword [rsp + 0xb4]
jae 0x140033481
mov eax, dword [rsp + 0xb4]
mov dword [rsp + 0x2c4], eax
mov eax, dword [rsp + 0xc4]
add eax, 0xffffffff
mov dword [rsp + 0xc4], eax
mov eax, dword [rsp + 0xe0]
mov rcx, qword [rsp + 0x2c8]
add rcx, 0x8ee0
add rcx, 4
mov edx, dword [rsp + 0xb8]
mov r8d, edx
imul r8, r8, 0x440
add rcx, r8
mov edx, dword [rsp + 0xc4]
mov r8d, edx
sub r8, 2
add eax, dword [rcx + r8*4]
mov dword [rsp + 0xb0], eax
mov rcx, qword [rsp + 0x2c8]
add rcx, 0xd2e4
mov eax, dword [rsp + 0xb4]
mov r8d, eax
shl r8, 5
add rcx, r8
mov qword [rsp + 0xa8], rcx
mov eax, dword [rsp + 0xb0]
mov rcx, qword [rsp + 0xa8]
cmp eax, dword [rcx]
jae 0x14003356c
mov eax, dword [rsp + 0xb0]
mov rcx, qword [rsp + 0xa8]
mov dword [rcx], eax
mov eax, dword [rsp + 0xc4]
mov rcx, qword [rsp + 0xa8]
mov dword [rcx + 8], eax
mov eax, dword [rsp + 0xec]
add eax, 1
mov rcx, qword [rsp + 0xa8]
mov word [rcx + 6], ax
mov edx, dword [rsp + 0xf8]
add edx, 4
mov rcx, qword [rsp + 0xa8]
mov dword [rcx + 0xc], edx
jmp 0x140033571
jmp 0x140033576
jmp 0x14003357b
mov eax, dword [rsp + 0xf4]
add eax, 2
mov dword [rsp + 0xf4], eax
mov eax, dword [rsp + 0xf4]
cmp eax, dword [rsp + 0x1fc]
jne 0x1400335a5
jmp 0x140033644
mov rax, qword [rsp + 0x298]
mov ecx, dword [rsp + 0xf4]
mov edx, ecx
mov ecx, dword [rax + rdx*4 + 4]
mov dword [rsp + 0xf8], ecx
mov ecx, dword [rsp + 0xf8]
cmp ecx, 0x80000
mov eax, 6
mov edx, send
cmovb rdx, rax
mov dword [rsp + 0xa4], edx
mov rax, qword [rsp + 0x2c8]
mov ecx, dword [rsp + 0xf8]
mov edx, dword [rsp + 0xa4]
mov dword [rsp + 0x24], ecx
mov ecx, edx
mov edx, dword [rsp + 0x24]
shr edx, cl
mov edx, edx
mov r8d, edx
movzx edx, byte [rax + r8 + 0x2adc]
mov r9d, dword [rsp + 0xa4]
shl r9d, 1
add edx, r9d
mov dword [rsp + 0xf0], edx
jmp 0x14003362e
mov eax, dword [rsp + 0xec]
add eax, 1
mov dword [rsp + 0xec], eax
jmp 0x140032dfe
jmp 0x140033649
jmp 0x1400312f4
jmp 0x140033653
mov rax, qword [rsp + 0x2c8]
add rax, 0xd2e4
mov ecx, dword [rsp + 0x2c4]
mov edx, ecx
shl rdx, 5
add rax, rdx
mov dword [rax], 0x40000000
mov eax, dword [rsp + 0x2c4]
add eax, 0xffffffff
mov dword [rsp + 0x2c4], eax
cmp eax, 0
jne 0x140033653
mov edx, dword [rsp + 0x2c0]
mov rcx, qword [rsp + 0x2c8]
call fcn.140034640
mov dword [rsp + 0x2d4], eax
mov eax, dword [rsp + 0x2d4]
add rsp, 0x328
pop rdi
pop rsi
ret