Function at 0x1400304d0
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 0x140030539
mov rcx, qword [rsp + 0x2c8]
lea rdx, [rsp + 0x290]
call fcn.14002f860
mov dword [rsp + 0x28c], eax
jmp 0x14003055d
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 0x14003059f
mov rax, qword [rsp + 0x2c8]
mov dword [rax + 0xb8], 0xffffffff
mov dword [rsp + 0x2d4], 1
jmp 0x14003388c
cmp dword [rsp + 0x294], 0x111
jbe 0x1400305bb
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 0x1400307a7
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 0x14003069e
mov rax, qword [rsp + 0x270]
movzx ecx, byte [rax + 1]
mov rax, qword [rsp + 0x260]
movzx edx, byte [rax + 1]
cmp ecx, edx
je 0x1400306b7
mov eax, dword [rsp + 0x284]
mov ecx, eax
mov dword [rsp + rcx*4 + 0x2a0], 0
jmp 0x140030791
mov dword [rsp + 0x268], 2
xor eax, eax
mov ecx, dword [rsp + 0x268]
cmp ecx, dword [rsp + 0x294]
mov byte [rsp + 0xa3], al
jae 0x14003071b
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 0x14003072f
jmp 0x14003074a
jmp 0x140030734
mov eax, dword [rsp + 0x268]
add eax, 1
mov dword [rsp + 0x268], eax
jmp 0x1400306c2
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 0x14003078c
mov eax, dword [rsp + 0x284]
mov dword [rsp + 0x288], eax
jmp 0x140030791
mov eax, dword [rsp + 0x284]
add eax, 1
mov dword [rsp + 0x284], eax
jmp 0x1400305f8
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 0x140030858
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 0x14003388c
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 0x140030911
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 0x14003388c
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 0x140030982
mov eax, dword [rsp + 0x28c]
mov dword [rsp + 0x2c4], eax
cmp dword [rsp + 0x2c4], 2
jae 0x1400309ca
movzx eax, byte [rsp + 0x26f]
movzx ecx, byte [rsp + 0x26e]
cmp eax, ecx
je 0x1400309ca
mov rax, qword [rsp + 0x2c8]
mov dword [rax + 0xb8], 0xffffffff
mov dword [rsp + 0x2d4], 1
jmp 0x14003388c
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 0x140030af5
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.1400346c0
mov dword [rsp + 0x8c], eax
jmp 0x140030b22
mov rax, qword [rsp + 0x2c8]
add rax, 0x588
movzx edx, byte [rsp + 0x26f]
mov rcx, qword [rsp + 0x250]
mov r8, rax
call fcn.140034790
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 0x140030d4f
cmp dword [rsp + 0x2a0], 0
jne 0x140030d4f
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 0x140030d10
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 0x140030d4a
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 0x14003388c
jmp 0x140030d4f
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 0x14003112d
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 0x140030df8
jmp 0x140031117
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 0x140030ef7
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 0x14003100d
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 0x140030f7e
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 0x140031008
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 0x14003100d
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 0x1400310f3
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 0x1400310f8
mov eax, dword [rsp + 0x248]
add eax, 0xffffffff
mov dword [rsp + 0x248], eax
cmp eax, 2
jae 0x140031024
jmp 0x140031117
mov eax, dword [rsp + 0x284]
add eax, 1
mov dword [rsp + 0x284], eax
jmp 0x140030dc0
mov eax, dword [rsp + 0x2a0]
add eax, 1
mov dword [rsp + 0x234], eax
mov eax, dword [rsp + 0x234]
cmp eax, dword [rsp + 0x28c]
ja 0x1400314c9
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 0x1400311bf
mov dword [rsp + 0x234], 2
jmp 0x140031202
jmp 0x1400311c4
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 0x1400311fd
mov eax, dword [rsp + 0x230]
add eax, 2
mov dword [rsp + 0x230], eax
jmp 0x1400311c4
jmp 0x140031202
jmp 0x140031207
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 0x140031293
mov eax, dword [rsp + 0x234]
sub eax, 2
mov dword [rsp + 0x84], eax
jmp 0x1400312a4
mov eax, 3
mov dword [rsp + 0x84], eax
jmp 0x1400312a4
mov eax, dword [rsp + 0x84]
mov dword [rsp + 0x214], eax
cmp dword [rsp + 0x21c], 0x80
jae 0x140031305
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 0x1400313d4
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 0x140031457
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 0x1400314a9
mov eax, dword [rsp + 0x230]
add eax, 2
mov dword [rsp + 0x230], eax
mov eax, dword [rsp + 0x230]
cmp eax, dword [rsp + 0x290]
jne 0x1400314a4
jmp 0x1400314c4
jmp 0x1400314a9
jmp 0x1400314ae
mov eax, dword [rsp + 0x234]
add eax, 1
mov dword [rsp + 0x234], eax
jmp 0x140031207
jmp 0x1400314c9
mov dword [rsp + 0x2c0], 0
mov eax, dword [rsp + 0x2c0]
add eax, 1
mov dword [rsp + 0x2c0], eax
cmp eax, dword [rsp + 0x2c4]
jne 0x1400314f7
jmp 0x14003382e
cmp dword [rsp + 0x2c0], 0x7c0
jb 0x14003164d
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 0x1400315d4
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 0x1400315b9
mov eax, dword [rsp + 0x1b0]
mov dword [rsp + 0x1b4], eax
mov eax, dword [rsp + 0x1bc]
mov dword [rsp + 0x1b8], eax
jmp 0x1400315be
mov eax, dword [rsp + 0x1bc]
add eax, 1
mov dword [rsp + 0x1bc], eax
jmp 0x14003154e
mov eax, dword [rsp + 0x1b8]
sub eax, dword [rsp + 0x2c0]
mov dword [rsp + 0x1ac], eax
cmp dword [rsp + 0x1ac], 0
je 0x14003163a
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 0x14003382e
mov rcx, qword [rsp + 0x2c8]
lea rdx, [rsp + 0x1fc]
call fcn.14002f860
mov dword [rsp + 0x200], eax
mov eax, dword [rsp + 0x200]
mov rcx, qword [rsp + 0x2c8]
cmp eax, dword [rcx + 0x48]
jb 0x1400316aa
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 0x14003382e
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 0x140031787
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 0x140031767
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 0x140031782
mov eax, dword [rsp + 0x1f4]
mov ecx, eax
lea rdx, [0x140046c30]
movzx eax, byte [rdx + rcx]
mov dword [rsp + 0x1f4], eax
jmp 0x140031a24
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 0x14003180b
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 0x140031806
mov eax, dword [rsp + 0x198]
cmp eax, 4
mov eax, 8
mov ecx, 7
cmovb ecx, eax
mov dword [rsp + 0x1f4], ecx
jmp 0x140031882
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 0x140031862
mov eax, dword [rsp + 0x1f4]
mov ecx, eax
lea rdx, [0x140046c48]
movzx eax, byte [rdx + rcx]
mov dword [rsp + 0x1f4], eax
jmp 0x14003187d
mov eax, dword [rsp + 0x1f4]
mov ecx, eax
lea rdx, [0x140046c54]
movzx eax, byte [rdx + rcx]
mov dword [rsp + 0x1f4], eax
jmp 0x140031882
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 0x1400319d9
cmp dword [rsp + 0x198], 0
jne 0x14003191f
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 0x1400319d4
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 0x140031984
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 0x1400319cf
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 0x1400319d4
jmp 0x140031a1f
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 0x140031a24
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 0x140031c11
movzx eax, byte [rsp + 0x1da]
movzx ecx, byte [rsp + 0x1db]
cmp eax, ecx
je 0x140031c28
mov eax, dword [rsp + 0x1e8]
mov rcx, qword [rsp + 0x1c0]
cmp eax, dword [rcx]
jbe 0x140031c38
mov dword [rsp + 0x1e8], 0
jmp 0x140031d86
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 0x140031ce6
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.1400346c0
mov dword [rsp + 0x60], eax
jmp 0x140031d10
mov rax, qword [rsp + 0x2c8]
add rax, 0x588
movzx edx, byte [rsp + 0x1db]
mov rcx, qword [rsp + 0x188]
mov r8, rax
call fcn.140034790
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 0x140031d81
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 0x140031d86
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 0x140031e14
mov eax, dword [rsp + 0x184]
mov dword [rsp + 0x204], eax
cmp dword [rsp + 0x1f4], 7
jae 0x140031f74
movzx eax, byte [rsp + 0x1da]
movzx ecx, byte [rsp + 0x1db]
cmp eax, ecx
jne 0x140031f6f
mov eax, dword [rsp + 0x1e0]
mov rcx, qword [rsp + 0x1c0]
cmp eax, dword [rcx]
jae 0x140031f6a
mov rax, qword [rsp + 0x1c0]
cmp dword [rax + 8], 2
jb 0x140031e75
mov rax, qword [rsp + 0x1c0]
cmp dword [rax + 0xc], 0
je 0x140031f65
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 0x140031f60
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 0x140031f65
jmp 0x140031f6a
jmp 0x140031f6f
jmp 0x140031f74
cmp dword [rsp + 0x204], 2
jae 0x140031f87
jmp 0x1400314d4
mov eax, dword [rsp + 0x204]
mov rcx, qword [rsp + 0x2c8]
cmp eax, dword [rcx + 0x48]
ja 0x140031faf
mov eax, dword [rsp + 0x204]
mov dword [rsp + 0x5c], eax
jmp 0x140031fbe
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 0x1400323a1
cmp dword [rsp + 0x1e8], 0
je 0x1400323a1
movzx eax, byte [rsp + 0x1da]
movzx ecx, byte [rsp + 0x1db]
cmp eax, ecx
je 0x1400323a1
cmp dword [rsp + 0x204], 2
jbe 0x1400323a1
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 0x14003239c
mov rax, qword [rsp + 0x1d0]
movzx ecx, byte [rax + 2]
mov rax, qword [rsp + 0x178]
movzx edx, byte [rax + 2]
cmp ecx, edx
jne 0x14003239c
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 0x1400320a8
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 0x140032106
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 0x140032117
jmp 0x140032132
jmp 0x14003211c
mov eax, dword [rsp + 0x174]
add eax, 1
mov dword [rsp + 0x174], eax
jmp 0x1400320b3
mov eax, dword [rsp + 0x1f4]
mov ecx, eax
lea rdx, [0x140046c30]
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 0x1400322ba
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 0x140032397
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 0x14003239c
jmp 0x1400323a1
mov dword [rsp + 0x1ec], 2
mov dword [rsp + 0x14c], 0
cmp dword [rsp + 0x14c], 4
jae 0x140032de4
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 0x140032434
mov rax, qword [rsp + 0x1d0]
movzx ecx, byte [rax + 1]
mov rax, qword [rsp + 0x138]
movzx edx, byte [rax + 1]
cmp ecx, edx
je 0x140032439
jmp 0x140032dce
mov dword [rsp + 0x148], 2
xor eax, eax
mov ecx, dword [rsp + 0x148]
cmp ecx, dword [rsp + 0x208]
mov byte [rsp + 0x5a], al
jae 0x140032497
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 0x1400324a8
jmp 0x1400324c3
jmp 0x1400324ad
mov eax, dword [rsp + 0x148]
add eax, 1
mov dword [rsp + 0x148], eax
jmp 0x140032444
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 0x1400324fa
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 0x1400325ff
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 0x140032715
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 0x140032686
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 0x140032710
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 0x140032715
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 0x140032801
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 0x140032806
mov eax, dword [rsp + 0x130]
add eax, 0xffffffff
mov dword [rsp + 0x130], eax
cmp eax, 2
jae 0x140032729
cmp dword [rsp + 0x14c], 0
jne 0x14003283f
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 0x14003288b
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 0x140032dc9
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 0x140032dc4
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 0x140032dbf
mov eax, dword [rsp + 0x1f4]
mov ecx, eax
lea rdx, [0x140046c48]
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.1400346c0
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 0x140032c51
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 0x140032c62
jmp 0x140032c7d
jmp 0x140032c67
mov eax, dword [rsp + 0x11c]
add eax, 1
mov dword [rsp + 0x11c], eax
jmp 0x140032bfe
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 0x140032cd2
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 0x140032dba
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 0x140032dbf
jmp 0x140032dc4
jmp 0x140032dc9
jmp 0x140032dce
mov eax, dword [rsp + 0x14c]
add eax, 1
mov dword [rsp + 0x14c], eax
jmp 0x1400323b7
mov eax, dword [rsp + 0x200]
cmp eax, dword [rsp + 0x208]
jbe 0x140032e7d
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 0x140032e4f
jmp 0x140032e39
mov eax, dword [rsp + 0x1fc]
add eax, 2
mov dword [rsp + 0x1fc], eax
jmp 0x140032e11
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 0x140033829
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 0x140032f08
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 0x140032f4c
mov eax, dword [rsp + 0xf4]
add eax, 2
mov dword [rsp + 0xf4], eax
jmp 0x140032f13
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 0x14003305a
mov eax, dword [rsp + 0xd4]
mov dword [rsp + 0x38], eax
jmp 0x140033068
mov eax, 3
mov dword [rsp + 0x38], eax
jmp 0x140033068
mov eax, dword [rsp + 0x38]
mov dword [rsp + 0xd4], eax
cmp dword [rsp + 0xf8], 0x80
jae 0x1400330c6
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 0x14003311f
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 0x1400331ab
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 0x140033809
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 0x140033245
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 0x14003375b
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 0x140033756
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 0x140033751
jmp 0x1400332f3
xor eax, eax
mov ecx, dword [rsp + 0xc4]
cmp ecx, dword [rsp + 0xc0]
mov byte [rsp + 0x37], al
jae 0x140033346
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 0x140033357
jmp 0x140033372
jmp 0x14003335c
mov eax, dword [rsp + 0xc4]
add eax, 1
mov dword [rsp + 0xc4], eax
jmp 0x1400332f3
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, [0x140046c54]
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.1400346c0
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 0x140033661
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 0x14003374c
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 0x140033751
jmp 0x140033756
jmp 0x14003375b
mov eax, dword [rsp + 0xf4]
add eax, 2
mov dword [rsp + 0xf4], eax
mov eax, dword [rsp + 0xf4]
cmp eax, dword [rsp + 0x1fc]
jne 0x140033785
jmp 0x140033824
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 0x14003380e
mov eax, dword [rsp + 0xec]
add eax, 1
mov dword [rsp + 0xec], eax
jmp 0x140032fde
jmp 0x140033829
jmp 0x1400314d4
jmp 0x140033833
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 0x140033833
mov edx, dword [rsp + 0x2c0]
mov rcx, qword [rsp + 0x2c8]
call fcn.140034820
mov dword [rsp + 0x2d4], eax
mov eax, dword [rsp + 0x2d4]
add rsp, 0x328
pop rdi
pop rsi
ret