Function at 0x1401b84f0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x1a8
mov rbx, qword [rsp + 0x210]
mov r14, qword [rbx + 0x50]
lea rax, [r8 + 0x70]
mov r13, rdx
mov rdx, qword [r8 + 8]
mov rsi, r8
mov qword [rsp + 0x1f0], rcx
mov ebp, r9d
mov qword [rsp + 0x78], rax
mov rax, qword [rcx]
movzx ecx, byte [rbx + 0x34]
mov qword [rsp + 0x48], rdx
mov qword [rsp + 0x50], rax
lea rax, [rcx*8]
mov qword [rsp + 0x68], rcx
mov r12, rcx
sub rax, rcx
shl rax, 4
mov r8d, dword [rdx + rax + 0x4c]
movsxd rdx, dword [rsi + 0x25c]
mov dword [rsp + 0x74], r8d
test edx, edx
jle 0x1401b8593
xor eax, eax
jmp 0x1401b8579
add rax, 1
cmp rdx, rax
je 0x1401b8593
mov ecx, eax
cmp r8d, dword [rsi + rax*4 + 0x260]
jne 0x1401b8570
mov rax, qword [rsp + 0x218]
btr rax, rcx
jmp 0x1401b859b
mov rax, qword [rsp + 0x218]
mov rcx, qword [rsp + 0x1f0]
mov rdi, qword [rsi + 0x68]
mov qword [rbx + 0x58], rax
mov rax, qword [rsp + 0x1f0]
mov eax, dword [rax + 0x44]
lea r10d, [rax - 1]
sub eax, 2
mov dword [rbx + 0x10], r10d
mov dword [rbx + 0xc], r10d
mov dword [rsp + 0x70], eax
mov dword [rcx + 0x44], eax
mov dword [rbx + 0x18], eax
test r12b, r12b
je 0x1401b85f8
mov rcx, qword [rsp + 0x68]
lea rax, [rcx*8]
sub rax, rcx
mov rcx, qword [rsp + 0x48]
shl rax, 4
test byte [rcx + rax + 0x44], 8
jne 0x1401b9375
test ebp, ebp
je 0x1401ba1d1
movsxd rax, ebp
lea rax, [rax + rax*2]
shl rax, 5
lea rdx, [rsi + rax + 0x360]
mov eax, ebp
jmp 0x1401b8629
sub rdx, 0x60
sub eax, 1
je 0x1401b862f
mov ecx, dword [rdx]
test ecx, ecx
je 0x1401b8620
mov rcx, qword [rsp + 0x68]
lea rdx, [rcx*8]
sub rdx, rcx
shl rdx, 4
add rdx, qword [rsp + 0x48]
movzx r8d, byte [rdx + 0x48]
mov ecx, r8d
and ecx, 0x10
mov byte [rsp + 0x88], cl
jne 0x1401b92e8
mov ecx, ebp
mov edx, dword [r14 + 0x28]
shr rdi, cl
mov r15d, edi
and r15d, 1
test dh, 4
jne 0x1401b8a00
test dh, 1
je 0x1401b8687
test dl, 5
jne 0x1401b98d0
cdqe
lea rax, [rax + rax*2]
shl rax, 5
mov r9d, dword [rsi + rax + 0x36c]
mov eax, edx
and eax, 0x102
cmp eax, 0x102
je 0x1401b99ca
test dh, 2
je 0x1401b93be
movzx eax, word [r14 + 0x1c]
movzx ecx, word [r14 + 0x18]
movzx edi, word [r14 + 0x1a]
mov word [rsp + 0xd8], ax
mov rax, qword [r14 + 0x20]
mov word [rsp + 0xcc], cx
mov qword [rsp + 0x60], rax
mov eax, dword [rbx + 8]
mov word [rsp + 0xdc], di
mov dword [rsp + 0x80], eax
movzx eax, cx
mov dword [rsp + 0x98], eax
test dl, 0x20
je 0x1401b9f3e
mov r8, qword [r14 + 0x38]
add eax, 1
mov rcx, qword [r8 + rcx*8]
mov qword [rsp + 0xb0], rcx
test dl, 0x10
je 0x1401b9f25
mov rcx, qword [r14 + 0x38]
cdqe
mov rcx, qword [rcx + rax*8]
movzx eax, word [rsp + 0xd8]
cmp edi, eax
mov qword [rsp + 0xa8], rcx
cmovl edi, eax
test byte [rcx + 0x13], 1
jne 0x1401ba4cd
cmp qword [rsp + 0xb0], 0
mov byte [rsp + 0xb8], 0
je 0x1401ba5d0
and edx, 0x80030
mov dword [rsp + 0x9c], 0
cmp edx, 0x80000
je 0x1401baf1a
mov rcx, qword [rsp + 0x60]
movzx eax, word [rsp + 0xcc]
cmp word [rcx + 0x60], ax
jbe 0x1401b87a4
mov rdx, qword [rcx + 0x38]
cmp byte [rdx + rax], 0
sete al
movzx eax, al
cmp eax, r15d
je 0x1401ba2b2
test ebp, ebp
je 0x1401b87b3
test byte [r14 + 0x2a], 0x10
jne 0x1401ba28d
mov rcx, qword [rbx + 0x50]
mov rax, qword [rsp + 0x1f0]
mov r11, qword [rsp + 0x1f0]
mov rbp, qword [rax + 0x10]
movzx eax, word [rcx + 0x2e]
mov qword [rsp + 0xe8], rcx
mov rdx, qword [rcx + 0x20]
movzx ecx, word [rcx + 0x18]
mov word [rsp + 0xe0], ax
mov eax, dword [r11 + 0x38]
add edi, ecx
mov dword [rsp + 0x90], ecx
mov rcx, qword [r11]
lea r12d, [rax + 1]
add eax, edi
mov dword [rsp + 0xc8], edi
mov dword [r11 + 0x38], eax
mov dword [rsp + 0x58], r12d
call fcn.14014e890
mov rcx, qword [rsp + 0x1f0]
mov rdx, rax
mov rcx, qword [rcx]
call fcn.140152580
movzx ecx, word [rsp + 0xe0]
mov qword [rsp + 0xa0], rax
mov dword [rsp + 0xc0], ecx
test cx, cx
jne 0x1401bad20
cmp qword [rsp + 0xa0], 0
movzx edi, word [rsp + 0xe0]
mov ecx, dword [rsp + 0xc0]
setne byte [rsp + 0xd0]
cmp dword [rsp + 0x90], ecx
jle 0x1401b9a3b
mov qword [rsp + 0xe0], r14
mov r12, qword [rsp + 0x1f0]
mov qword [rsp + 0x200], rsi
mov r14, qword [rsp + 0xe8]
mov qword [rsp + 0xc0], rbp
mov esi, dword [rsp + 0x58]
mov qword [rsp + 0x1f8], r13
jmp 0x1401b88e1
mov rax, qword [rbp]
test byte [rax + 5], 8
je 0x1401b88d0
cmp byte [rsp + 0xd0], 0
je 0x1401b88d0
mov rax, qword [rsp + 0xa0]
mov byte [rax + rdi], 0x41
nop dword [rax + rax]
add rdi, 1
cmp dword [rsp + 0x90], edi
jle 0x1401b9a1f
mov rax, qword [r14 + 0x38]
lea r13d, [rsi + rdi]
mov r8, rbx
mov r9d, edi
mov rcx, r12
mov dword [rsp + 0x58], edi
mov rbp, qword [rax + rdi*8]
mov dword [rsp + 0x28], r13d
mov dword [rsp + 0x20], r15d
mov rdx, rbp
call fcn.1401b7c70
mov r8d, eax
cmp r13d, eax
je 0x1401b8950
cmp dword [rsp + 0xc8], 1
jne 0x1401b996d
test esi, esi
je 0x1401b99a2
movzx eax, byte [r12 + 0x1f]
cmp al, 7
ja 0x1401b99a2
lea edx, [rax + 1]
mov byte [r12 + 0x1f], dl
mov dword [r12 + rax*4 + 0xc8], esi
mov esi, r8d
nop dword [rax + rax]
movzx eax, word [rbp + 0x14]
test al, 1
jne 0x1401b88a8
test ah, 1
jne 0x1401b88d0
mov rax, qword [rbp]
mov r11, qword [rax + 0x18]
test byte [rbp + 0x13], 8
je 0x1401b9edc
mov rax, qword [r12]
cmp byte [rax + 0x63], 0
jne 0x1401b88d0
mov r8d, dword [r12 + 0x30]
test r8d, r8d
jne 0x1401b88d0
mov rax, qword [rsp + 0xa0]
mov rcx, r11
mov qword [rsp + 0x58], r11
movzx r13d, byte [rax + rdi]
call fcn.140146ed0
mov r11, qword [rsp + 0x58]
cmp al, 0x40
jle 0x1401bb538
cmp r13b, 0x40
jle 0x1401bb538
cmp al, 0x42
jg 0x1401b89d2
cmp r13b, 0x42
jle 0x1401b88bc
mov rax, qword [rsp + 0xa0]
movsx edx, byte [rax + rdi]
cmp dl, 0x41
je 0x1401b88bc
mov rcx, r11
call fcn.14014bdb0
test eax, eax
je 0x1401b88d0
jmp 0x1401b88bc
movzx edi, word [r14 + 0x2c]
mov rcx, qword [rsp + 0x1f0]
lea edx, [rdi + 2]
call fcn.14014bf30
mov ecx, dword [rbx + 0xc]
mov dword [rsp + 0x58], eax
mov ebp, ecx
test edi, edi
je 0x1401b8ac2
xor r12d, r12d
mov qword [rsp + 0x1f8], r13
lea ebp, [rax + 2]
mov r13, r14
mov qword [rsp + 0x200], rsi
mov r14, r12
mov esi, r15d
mov r12, qword [rsp + 0x1f0]
mov r15d, ecx
jmp 0x1401b8a76
mov dword [rsp + 0x28], r8d
mov r9d, r14d
mov r8, rbx
mov rcx, r12
mov dword [rsp + 0x20], esi
call fcn.1401b7c70
mov r15d, dword [rbx + 0x10]
add r14, 1
cmp edi, r14d
jle 0x1401b8aac
mov rax, qword [r13 + 0x38]
lea r8d, [rbp + r14]
mov rdx, qword [rax + r14*8]
test rdx, rdx
je 0x1401b8a6d
test byte [rdx + 0x14], 1
jne 0x1401b8a52
mov rax, qword [rdx]
mov r9d, 1
mov rcx, r12
add r14, 1
mov rdx, qword [rax + 0x18]
call fcn.1401c6450
cmp edi, r14d
jg 0x1401b8a76
mov r14, r13
mov rsi, qword [rsp + 0x200]
mov r13, qword [rsp + 0x1f8]
mov ebp, r15d
mov r15d, dword [rsp + 0x58]
mov r8d, dword [r14 + 0x18]
mov edx, 0x46
mov rcx, r13
mov dword [rsp + 0x20], 0
mov r9d, r15d
call fcn.140162270
lea r9d, [r15 + 1]
mov r8d, edi
mov rcx, r13
mov dword [rsp + 0x20], 0
mov edx, 0x46
call fcn.140162270
cmp byte [r14 + 0x1c], 1
mov r9d, ebp
mov rcx, r13
sbb eax, eax
mov r8d, dword [rsp + 0x74]
mov edx, 9
or eax, 0xfffffff9
mov dword [rsp + 0x30], eax
mov rax, qword [r14 + 0x20]
mov dword [rsp + 0x20], r15d
mov qword [rsp + 0x28], rax
call fcn.140162f90
mov rax, qword [rsp + 0x50]
mov byte [r14 + 0x1c], 0
cmp byte [rax + 0x63], 0
je 0x1401b8b48
mov qword [r14 + 0x20], 0
mov eax, dword [rsp + 0x74]
mov dword [rbx + 0x38], eax
cmp byte [rsi + 0x42], 1
sbb eax, eax
xor r15d, r15d
and eax, 0xffffff8b
sub eax, 0x4d
mov byte [rbx + 0x35], al
mov eax, dword [r13 + 0x98]
mov dword [rbx + 0x3c], eax
test byte [r14 + 0x29], 8
je 0x1401b8b76
mov r15d, dword [rbx + 0x40]
lea ebp, [rdi - 1]
test edi, edi
je 0x1401b8d46
lea rax, [rsp + 0x150]
movsxd rdi, ebp
mov qword [rsp + 0x60], rax
mov eax, dword [rsp + 0x58]
shl rdi, 3
add eax, 2
mov dword [rsp + 0x58], eax
jmp 0x1401b8d0c
sub r15d, 1
cmp ebp, 0xf
jle 0x1401b998f
mov rax, qword [r12]
mov rdx, qword [rax + 0x10]
movzx eax, byte [rdx]
cmp al, 0xaf
jne 0x1401b8bc8
movzx eax, byte [rdx + 2]
cmp al, 0xb0
je 0x1401b99c2
cmp al, 0x89
je 0x1401b99aa
mov rax, qword [rsp + 0x50]
cmp byte [rax + 0x63], 0
jne 0x1401b8c43
mov rdx, qword [rbx + 0x48]
movsxd rax, r15d
lea rax, [rax + rax*4]
lea rax, [rdx + rax*4]
mov eax, dword [rax + 4]
test eax, eax
jns 0x1401b8c03
mov eax, dword [r13 + 0x98]
sub eax, 1
mov rcx, qword [r13]
lea rdx, [0x1404231c0]
cmp byte [rcx + 0x63], 0
jne 0x1401b8c25
cdqe
lea rdx, [rax + rax*2]
mov rax, qword [r13 + 0x90]
lea rdx, [rax + rdx*8]
mov eax, dword [rdx + 0xc]
mov r9d, dword [rdx + 8]
mov rcx, r13
mov r8d, dword [rdx + 4]
movzx r11d, byte [rdx]
mov dword [rsp + 0x20], eax
mov edx, r11d
call fcn.140162270
mov rcx, qword [rsp + 0x1f0]
xor r9d, r9d
xor r8d, r8d
mov edx, 0x35
call fcn.14017f130
mov r11, rax
test rax, rax
je 0x1401b8d00
mov rax, qword [r12]
mov r8, qword [rsp + 0x60]
xor r9d, r9d
mov edx, 0xaf
mov rcx, qword [rsp + 0x50]
mov qword [rsp + 0x80], r11
mov rax, qword [rax + 0x10]
mov qword [r11 + 0x10], rax
mov qword [rsp + 0x150], 0
mov dword [rsp + 0x158], 0
call fcn.14014e600
mov r11, qword [rsp + 0x80]
mov qword [r11 + 0x18], rax
test rax, rax
je 0x1401b8ce6
mov ecx, dword [rsp + 0x58]
mov r8d, dword [rbx + 0x18]
mov r9d, 0x10
lea edx, [rcx + rbp]
mov rcx, qword [rsp + 0x1f0]
mov dword [rax + 0x2c], edx
mov rdx, r11
call fcn.1401c3030
mov r11, qword [rsp + 0x80]
mov qword [r11 + 0x10], 0
mov rcx, qword [rsp + 0x50]
mov rdx, r11
call fcn.140159250
nop dword [rax + rax]
sub ebp, 1
sub rdi, 8
cmp ebp, 0xffffffff
je 0x1401b8d46
mov rax, qword [r14 + 0x38]
mov r12, qword [rax + rdi]
test byte [r12 + 0x14], 1
jne 0x1401b8ba8
cmp ebp, 0xf
jg 0x1401b8d00
movzx eax, word [r14 + 0x1e]
bt eax, ebp
jae 0x1401b8d00
mov rdx, r12
mov rcx, rbx
sub ebp, 1
sub rdi, 8
call fcn.1401473e0
cmp ebp, 0xffffffff
jne 0x1401b8d0c
mov qword [rsp + 0x60], 0
mov ebp, 2
mov rcx, qword [rsp + 0x68]
mov qword [rsp + 0x200], rsi
mov rsi, r13
mov r13, qword [rsp + 0x200]
lea rax, [rcx*8]
sub rax, rcx
shl rax, 4
mov qword [rsp + 0x50], rax
movsxd rax, dword [r13 + 0x84]
mov rdi, qword [r13 + 0x90]
test eax, eax
jle 0x1401b90a0
lea rdx, [rax*8]
mov qword [rsp + 0x210], rbx
xor r15d, r15d
mov rbx, rsi
sub rdx, rax
mov rsi, qword [rsp + 0x210]
lea r12, [rdi + rdx*8]
jmp 0x1401b8ebe
test byte [r14 + 4], 1
je 0x1401b8eb1
cmp ebp, 1
je 0x1401b8ff0
cmp ebp, 3
jne 0x1401b8f71
and dh, 2
je 0x1401b8fd0
mov eax, dword [rsi + 0x2c]
test eax, eax
je 0x1401b8fd0
mov r8d, eax
and eax, 1
shr r8d, 1
cmp eax, 1
mov eax, dword [rbx + 0x98]
sbb edx, edx
and edx, 0xfffffffe
add edx, 0x14
cmp eax, dword [rbx + 0x9c]
jge 0x1401b9080
lea ecx, [rax + 1]
mov dword [rbx + 0x98], ecx
movsxd rcx, eax
lea r9, [rcx + rcx*2]
mov rcx, qword [rbx + 0x90]
lea rcx, [rcx + r9*8]
xor r9d, r9d
mov byte [rcx], dl
mov word [rcx + 2], r9w
mov dword [rcx + 4], r8d
mov qword [rcx + 8], 0
mov qword [rcx + 0x10], 0
mov byte [rcx + 1], 0
mov r8d, dword [rsp + 0x70]
mov r9d, 0x10
mov rdx, r14
mov dword [rsp + 0x58], eax
mov rcx, qword [rsp + 0x1f0]
call fcn.1401c3030
mov eax, dword [rsp + 0x58]
test eax, eax
je 0x1401b8eac
mov edx, dword [rbx + 0x98]
mov r8, qword [rbx]
lea ecx, [rdx - 1]
cmovs eax, ecx
cmp byte [r8 + 0x63], 0
lea rcx, [0x1404231c0]
jne 0x1401b8ea9
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 0x90]
lea rcx, [rax + rcx*8]
mov dword [rcx + 8], edx
or word [rdi + 0x12], 4
add rdi, 0x38
cmp rdi, r12
je 0x1401b8f98
movzx edx, word [rdi + 0x12]
test dl, 6
jne 0x1401b8eb1
mov rax, qword [rdi + 0x30]
and rax, qword [rsi + 0x58]
jne 0x1401b8fc0
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x50]
mov r14, qword [rdi]
test byte [rax + rcx + 0x44], 8
jne 0x1401b8dc0
cmp ebp, 1
jne 0x1401b8dd4
mov eax, dword [rsi + 4]
mov qword [rsp + 0x150], 0
lea rcx, [rsp + 0x150]
mov qword [rsp + 0x160], 0
mov dword [rsp + 0x128], eax
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x168], 0
mov qword [rsp + 0x120], rax
lea rax, [0x14014bfa0]
mov qword [rsp + 0x158], rax
lea rax, [rsp + 0x120]
mov qword [rsp + 0x170], 0
mov qword [rsp + 0x178], rax
test r14, r14
jne 0x1401b905e
movzx edx, word [rdi + 0x12]
test dh, 0x10
je 0x1401b8ddd
test r15d, r15d
mov eax, 3
cmove r15d, eax
add rdi, 0x38
cmp rdi, r12
jne 0x1401b8ebe
nop dword [rax + rax]
mov qword [rsp + 0x210], rsi
mov rsi, rbx
mov rbx, qword [rsp + 0x210]
test r15d, r15d
je 0x1401b90d7
mov ebp, r15d
jmp 0x1401b8d80
or byte [r13 + 0x44], 2
jmp 0x1401b8eb1
mov r8d, dword [rsp + 0x70]
mov rcx, qword [rsp + 0x1f0]
mov r9d, 0x10
mov rdx, r14
call fcn.1401c3030
jmp 0x1401b8eac
mov eax, dword [rsi + 4]
mov qword [rsp + 0x150], 0
lea rcx, [rsp + 0x150]
mov qword [rsp + 0x160], 0
mov dword [rsp + 0x128], eax
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x168], 0
mov qword [rsp + 0x120], rax
lea rax, [0x14014bfa0]
mov qword [rsp + 0x158], rax
lea rax, [rsp + 0x120]
mov qword [rsp + 0x170], 0
mov qword [rsp + 0x178], rax
mov rdx, r14
call fcn.140169670
cmp word [rsp + 0x174], 0
je 0x1401b8f6d
mov r15d, 2
jmp 0x1401b8eb1
mov dword [rsp + 0x20], 0
xor r9d, r9d
mov rcx, rbx
call fcn.1401621e0
jmp 0x1401b8e54
mov qword [rsp + 0x200], r13
mov r13, rsi
mov rsi, qword [rsp + 0x200]
mov r9d, dword [rbx]
test r9d, r9d
jne 0x1401b9254
mov rax, qword [rbx + 0x58]
add rsp, 0x1a8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov qword [rsp + 0x200], r13
mov r13, rsi
mov rsi, qword [rsp + 0x200]
movsxd rax, dword [rsi + 0x84]
mov rdi, qword [rsi + 0x90]
test eax, eax
jle 0x1401b90b3
mov rcx, qword [rsp + 0x68]
lea rdx, [rax*8]
mov ebp, dword [rsp + 0x74]
mov r14, rbx
sub rdx, rax
lea rax, [rcx*8]
lea r12, [rdi + rdx*8]
sub rax, rcx
shl rax, 4
mov r15, rax
nop dword [rax]
test byte [rdi + 0x12], 6
jne 0x1401b9238
movzx eax, word [rdi + 0x14]
test al, 0x82
je 0x1401b9238
test ah, 8
je 0x1401b9238
cmp dword [rdi + 0x1c], ebp
jne 0x1401b9238
mov rax, qword [rsp + 0x48]
test byte [rax + r15 + 0x44], 8
jne 0x1401b9238
mov rbx, qword [rdi]
mov r8d, dword [rdi + 0x20]
mov dword [rsp + 0x20], 0x83
mov edx, ebp
mov qword [rsp + 0x28], 0
mov r9, qword [rsp + 0x218]
mov rcx, qword [rsp + 0x78]
call fcn.140184770
test rax, rax
je 0x1401b9238
test byte [rax + 0x12], 4
jne 0x1401b9238
mov rdx, qword [rax]
test byte [rax + 0x14], 1
je 0x1401b91bb
test byte [rdx + 5], 8
jne 0x1401b98ba
movdqu xmm0, xmmword [rdx]
mov r8d, dword [rsp + 0x70]
mov qword [rsp + 0x50], rax
mov r9d, 0x10
mov rcx, qword [rsp + 0x1f0]
movaps xmmword [rsp + 0x150], xmm0
movdqu xmm1, xmmword [rdx + 0x10]
movaps xmmword [rsp + 0x160], xmm1
movdqu xmm2, xmmword [rdx + 0x20]
movaps xmmword [rsp + 0x170], xmm2
movdqu xmm3, xmmword [rdx + 0x30]
movaps xmmword [rsp + 0x180], xmm3
mov rdx, qword [rdx + 0x40]
mov qword [rsp + 0x190], rdx
mov rdx, qword [rbx + 0x10]
mov qword [rsp + 0x160], rdx
lea rdx, [rsp + 0x150]
call fcn.1401c3030
mov rax, qword [rsp + 0x50]
or word [rax + 0x12], 4
nop dword [rax]
add rdi, 0x38
cmp rdi, r12
jne 0x1401b9130
mov rbx, r14
mov r9d, dword [rbx]
test r9d, r9d
je 0x1401b90bf
mov eax, dword [r13 + 0x98]
mov rcx, r13
mov r8d, 1
mov edx, 0x46
mov dword [rbx + 0x1c], eax
mov dword [rsp + 0x20], 0
call fcn.140162270
mov ecx, dword [rsi + 0x84]
mov rdi, qword [rsi + 0x90]
mov rax, qword [rbx + 0x58]
test ecx, ecx
jle 0x1401b90c3
mov r12d, dword [rsp + 0x70]
mov r13, qword [rsp + 0x1f0]
xor ebp, ebp
nop dword [rax]
test byte [rdi + 0x12], 6
jne 0x1401b92d4
mov rdx, rax
and rdx, qword [rdi + 0x30]
jne 0x1401b92d4
mov rdx, qword [rdi]
mov r9d, 0x10
mov r8d, r12d
mov rcx, r13
call fcn.1401c3030
or word [rdi + 0x12], 4
mov rax, qword [rbx + 0x58]
add ebp, 1
add rdi, 0x38
cmp dword [rsi + 0x84], ebp
jg 0x1401b92a8
jmp 0x1401b90c3
mov eax, dword [rdx + 0x38]
mov edi, dword [rdx + 0x3c]
xor r9d, r9d
mov edx, 0xd
mov rcx, r13
mov dword [rsp + 0x50], r10d
mov dword [rsp + 0x20], eax
mov r8d, edi
call fcn.140162270
mov eax, dword [r13 + 0x98]
mov r10d, dword [rsp + 0x50]
cmp eax, dword [r13 + 0x9c]
jge 0x1401b9f58
lea edx, [rax + 1]
mov dword [r13 + 0x98], edx
movsxd rdx, eax
lea rcx, [rdx + rdx*2]
mov rdx, qword [r13 + 0x90]
lea rdx, [rdx + rcx*8]
mov dword [rdx + 4], edi
mov dword [rdx + 8], r10d
mov dword [rdx + 0xc], 0
mov qword [rdx + 0x10], 0
mov dword [rdx], 0xe
mov dword [rbx + 0x3c], eax
mov ebp, 2
mov byte [rbx + 0x35], 0xb
mov qword [rsp + 0x60], 0
jmp 0x1401b8d54
xor r8d, r8d
mov edx, 0x46
mov rcx, r13
mov dword [rsp + 0x60], r10d
mov rax, qword [rsp + 0x1f0]
mov eax, dword [rax + 0x38]
lea r9d, [rax + 1]
mov dword [rsp + 0x58], eax
mov rax, qword [rsp + 0x1f0]
mov dword [rax + 0x38], r9d
mov dword [rbx], r9d
mov dword [rsp + 0x20], 0
call fcn.140162270
mov r10d, dword [rsp + 0x60]
jmp 0x1401b85f8
and dh, 0x20
je 0x1401b9f78
mov rax, qword [rsp + 0x1f0]
mov rcx, qword [rsp + 0x1f0]
mov rdx, qword [rsp + 0x1f0]
mov eax, dword [rax + 0x34]
mov dword [rsp + 0xb0], eax
add eax, 1
mov dword [rcx + 0x34], eax
mov eax, dword [rcx + 0x38]
lea ecx, [rax + 1]
mov dword [rsp + 0x58], eax
mov rax, qword [rsp + 0x1f0]
mov dword [rsp + 0x90], ecx
mov dword [rax + 0x38], ecx
mov eax, dword [rax + 0x44]
mov dword [rsp + 0xd8], eax
sub eax, 1
mov dword [rdx + 0x44], eax
mov rdx, qword [rsp + 0x68]
mov dword [rsp + 0xc0], eax
lea rax, [rdx*8]
sub rax, rdx
mov rdx, qword [rsp + 0x48]
shl rax, 4
mov rax, qword [rdx + rax + 0x28]
mov qword [rsp + 0x80], rax
mov rax, qword [r14 + 0x38]
mov rax, qword [rax]
mov r14, qword [rax + 0x20]
mov qword [rsp + 0xb8], rax
mov byte [rbx + 0x35], 0x42
mov dword [rbx + 0x38], ecx
movzx eax, byte [rsi + 0x40]
cmp al, 1
ja 0x1401ba382
mov rax, qword [rsi + 8]
mov qword [rsp + 0x58], rax
test byte [rsi + 0x3c], 0x10
jne 0x1401bb21f
mov rax, qword [rsp + 0x80]
test byte [rax + 0x30], 0x80
je 0x1401bb65c
mov rax, qword [rsp + 0x80]
mov r12, qword [rax + 0x10]
test r12, r12
jne 0x1401b94be
jmp 0x1401bbabf
mov r12, qword [r12 + 0x28]
test r12, r12
je 0x14022d444
movzx eax, byte [r12 + 0x64]
and eax, 3
cmp al, 2
jne 0x1401b94b0
mov rax, qword [rsp + 0x1f0]
movzx r9d, word [r12 + 0x5e]
mov edx, 0x73
mov rcx, qword [rsp + 0x1f0]
mov r8d, dword [rax + 0x34]
lea eax, [r8 + 1]
mov dword [rsp + 0x88], r8d
mov dword [rcx + 0x34], eax
mov rcx, r13
mov dword [rsp + 0x20], 0
call fcn.140162270
mov rcx, qword [rsp + 0x1f0]
mov rdx, r12
call fcn.14017a1d0
mov rax, qword [rsp + 0x1f0]
mov rcx, qword [rsp + 0x1f0]
mov eax, dword [rax + 0x38]
mov dword [rsp + 0x60], eax
add eax, 1
mov dword [rsp + 0x9c], eax
mov dword [rcx + 0x38], eax
mov eax, dword [r13 + 0x98]
mov dword [rsp + 0xc8], eax
cmp eax, dword [r13 + 0x9c]
jge 0x1401bb740
mov ecx, dword [rsp + 0xc8]
lea eax, [rcx + 1]
mov dword [r13 + 0x98], eax
movsxd rax, ecx
mov ecx, dword [rsp + 0x90]
lea rdx, [rax + rax*2]
mov rax, qword [r13 + 0x90]
lea rax, [rax + rdx*8]
mov dword [rax + 8], ecx
mov dword [rax + 0xc], 0
mov qword [rax + 0x10], 0
mov qword [rax], 0x46
cmp dword [rsi + 0x84], 1
jle 0x1401bb112
mov r15, qword [rsp + 0xb8]
xor edi, edi
xor ebp, ebp
xor r12d, r12d
mov rax, qword [rsi + 0x90]
add rax, rdi
cmp rax, r15
je 0x1401b9605
test byte [rax + 0x12], 6
jne 0x1401b9605
test word [rax + 0x14], 0x1fff
je 0x1401b9605
mov rdx, qword [rax]
test rdx, rdx
je 0x1401b95ef
mov rcx, qword [rsp + 0x50]
xor r9d, r9d
xor r8d, r8d
call fcn.14016a560
mov rdx, rax
mov rcx, qword [rsp + 0x1f0]
mov r8, rdx
mov rdx, r12
call fcn.14017f310
mov r12, rax
add ebp, 1
add rdi, 0x38
cmp dword [rsi + 0x84], ebp
jg 0x1401b95b7
test r12, r12
je 0x1401bb112
mov rcx, qword [rsp + 0x1f0]
mov r9, r12
xor r8d, r8d
mov edx, 0x1002c
call fcn.14017f130
mov qword [rsp + 0xa0], rax
mov rcx, qword [rsp + 0x1f0]
lea r8, str.MULTI_INDEX_OR
mov edx, 1
call fcn.140187d30
mov ecx, dword [r14 + 0x14]
test ecx, ecx
jle 0x1401bb8ee
mov qword [rsp + 0x210], rbx
xor r15d, r15d
mov rbx, qword [rsp + 0x1f0]
mov dword [rsp + 0x98], 0
mov qword [rsp + 0x60], 0
mov qword [rsp + 0x200], rsi
jmp 0x1401b9874
mov rdi, qword [rsp + 0x50]
xor r9d, r9d
xor r8d, r8d
mov rdx, r12
mov rcx, rdi
call fcn.14016a560
cmp byte [rdi + 0x63], 0
mov r12, rax
jne 0x1401b9854
mov rax, qword [rsp + 0xa0]
mov rdi, r12
test rax, rax
je 0x1401b96d0
mov qword [rax + 0x10], r12
mov rdi, rax
mov r9d, esi
lea r8, str.INDEX__d
mov edx, 1
mov rcx, rbx
call fcn.140187d30
mov rdx, qword [rsp + 0x58]
xor r9d, r9d
mov r8, rdi
mov eax, dword [rsp + 0xb0]
mov dword [rsp + 0x28], 0x20
mov rcx, rbx
mov qword [rsp + 0x20], 0
mov dword [rsp + 0x30], eax
call fcn.1401bbad0
mov qword [rsp + 0xa8], rax
test rax, rax
je 0x1401b9854
mov rax, qword [rbx + 0xa0]
test rax, rax
cmove rax, rbx
cmp byte [rax + 0x10b], 2
jne 0x1401b976a
mov rax, qword [rsp + 0xa8]
mov rdx, qword [rsp + 0x58]
mov rcx, rbx
mov r9, qword [rax + 0x3b0]
movzx r8d, byte [rax + 0x394]
mov dword [rsp + 0x20], 0
call fcn.140172260
mov rax, qword [rsp + 0x200]
test byte [rax + 0x3c], 0x10
je 0x1401ba92a
mov dword [rsp + 0x20], 0
mov r9d, dword [rsp + 0xc0]
mov edx, 0xc
mov rcx, r13
mov r8d, dword [rsp + 0x90]
call fcn.140162270
mov rsi, qword [rsp + 0xa8]
mov eax, 1
movzx edx, byte [rsi + 0x44]
test dl, 2
cmove eax, dword [rsp + 0x98]
mov dword [rsp + 0x98], eax
mov rax, qword [rsi + 0x3b0]
test byte [rax + 0x29], 2
je 0x1401b97e9
mov rax, qword [rax + 0x20]
test r15, r15
je 0x1401bb14a
cmp qword [rsp + 0x60], rax
je 0x1401bb14a
mov qword [rsp + 0x60], 0
and edx, 1
je 0x1401b9803
mov rax, qword [rsp + 0x200]
or byte [rax + 0x44], 1
mov rcx, qword [rsp + 0xa8]
call fcn.14017a240
mov eax, dword [rbx + 0x118]
test eax, eax
je 0x1401b984e
mov rdx, qword [rbx + 0x10]
jns 0x1401b9829
mov eax, dword [rdx + 0x98]
sub eax, 1
mov r8, qword [rdx]
lea rcx, [0x1404231c0]
cmp byte [r8 + 0x63], 0
jne 0x1401b984b
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [rdx + 0x90]
lea rcx, [rax + rcx*8]
mov eax, dword [rcx + 8]
mov dword [rbx + 0x118], eax
test r12, r12
je 0x1401b9866
mov rcx, qword [rsp + 0x50]
mov rdx, r12
call fcn.140159250
add r15, 1
cmp dword [r14 + 0x14], r15d
jle 0x1401baae5
mov rdx, qword [r14 + 0x20]
mov ecx, dword [rsp + 0x74]
mov ebp, r15d
lea esi, [r15 + 1]
lea rax, [r15*8]
sub rax, r15
lea rax, [rdx + rax*8]
cmp dword [rax + 0x1c], ecx
je 0x1401b989d
test byte [rax + 0x15], 4
je 0x1401b9866
mov r12, qword [rax]
test r12, r12
jne 0x1401b9696
mov rax, qword [rsp + 0x50]
cmp byte [rax + 0x63], 0
je 0x1401b96b9
jmp 0x1401b9866
mov rcx, qword [rdx + 0x20]
mov rcx, qword [rcx + 0x20]
cmp dword [rcx], 1
jle 0x1401b91bb
jmp 0x1401b9238
mov rax, qword [r14 + 0x38]
xor r9d, r9d
mov r8, rbx
mov rdx, qword [rax]
mov rax, qword [rsp + 0x1f0]
mov eax, dword [rax + 0x38]
lea edi, [rax + 1]
mov dword [rsp + 0x50], eax
mov rax, qword [rsp + 0x1f0]
mov dword [rax + 0x38], edi
mov rcx, rax
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x20], r15d
call fcn.1401b7c70
mov edx, eax
test edi, edi
je 0x1401b993c
cmp edi, eax
je 0x1401b993c
mov rax, qword [rsp + 0x1f0]
movzx eax, byte [rax + 0x1f]
cmp al, 7
ja 0x1401b993c
mov r11, qword [rsp + 0x1f0]
lea ecx, [rax + 1]
mov byte [r11 + 0x1f], cl
mov dword [r11 + rax*4 + 0xc8], edi
mov dword [rsp + 0x20], edx
mov r8d, dword [rsp + 0x74]
mov edx, 0x20
mov rcx, r13
mov r9d, dword [rbx + 0x10]
mov ebp, 2
call fcn.140162270
mov byte [rbx + 0x35], 0xb3
mov qword [rsp + 0x60], 0
jmp 0x1401b8d54
mov dword [rsp + 0x20], 0
mov rcx, qword [rsp + 0xc0]
mov r9d, r13d
mov edx, 0x4e
call fcn.140162270
jmp 0x1401b8950
movzx eax, word [r14 + 0x1e]
bt eax, ebp
jae 0x1401b8bb5
jmp 0x1401b8d2f
mov esi, r8d
jmp 0x1401b8950
mov rax, qword [rdx + 0x20]
mov rax, qword [rax + 0x20]
mov eax, dword [rax]
cmp eax, 1
jne 0x1401b8d00
jmp 0x1401b8bd8
mov rax, qword [rdx + 0x20]
mov eax, dword [rax]
jmp 0x1401b99b4
test dl, 0x20
je 0x1401ba1c7
mov rax, qword [r14 + 0x38]
mov r12, qword [rax]
mov eax, 1
and edx, 0x10
jne 0x1401b9f99
test r15d, r15d
je 0x1401ba1f6
mov edx, 0x22
mov dword [rsp + 0x20], 0
mov r8d, dword [rsp + 0x74]
mov rcx, r13
mov dword [rsp + 0x50], r10d
call fcn.140162270
mov qword [rsp + 0x60], r12
mov r10d, dword [rsp + 0x50]
jmp 0x1401ba070
mov dword [rsp + 0x58], esi
mov r14, qword [rsp + 0xe0]
mov r13, qword [rsp + 0x1f8]
mov rsi, qword [rsp + 0x200]
cmp word [rsp + 0xd8], 0
je 0x1401b9a54
cmp byte [rsp + 0xd0], 0
jne 0x1401ba35b
mov qword [rsp + 0xd0], 0
mov ecx, dword [rsp + 0x9c]
test ecx, ecx
je 0x1401b9f1d
mov edi, dword [rbx + 0x28]
mov rcx, qword [rsp + 0xb0]
test rcx, rcx
setne al
cmp word [rsp + 0xcc], 0
setne bpl
test rcx, rcx
je 0x1401bae70
test byte [rcx + 0x14], 0x28
setne cl
movzx ecx, cl
mov dword [rsp + 0xc8], ecx
mov rcx, qword [rsp + 0xa8]
test rcx, rcx
je 0x1401bb180
test byte [rcx + 0x14], 0x28
setne cl
or ebp, eax
movzx ecx, cl
movzx ebp, bpl
mov dword [rsp + 0xc0], ecx
mov rax, qword [rsp + 0xb0]
mov rcx, qword [rsp + 0x1f0]
movzx r12d, word [rsp + 0xdc]
mov r8d, dword [rsp + 0x98]
mov rax, qword [rax]
add r8d, dword [rsp + 0x58]
mov r9d, r12d
mov dword [rsp + 0xb8], r8d
mov r10, qword [rax + 0x18]
mov rdx, r10
mov qword [rsp + 0x90], r10
call fcn.1401c6450
mov rax, qword [rsp + 0xb0]
mov r10, qword [rsp + 0x90]
mov r8d, dword [rsp + 0xb8]
movzx ecx, word [rax + 0x12]
test ch, 1
je 0x1401b9b79
mov r9, qword [r13]
mov edx, dword [rbx + 0x2c]
lea rax, [0x1404231c0]
cmp byte [r9 + 0x63], 0
jne 0x1401b9b68
mov eax, dword [r13 + 0x98]
sub eax, 1
cdqe
lea r9, [rax + rax*2]
mov rax, qword [r13 + 0x90]
lea rax, [rax + r9*8]
mov r9d, edx
and edx, 1
shr r9d, 1
mov word [rax + 2], dx
mov dword [rax + 0xc], r9d
and ecx, 0x80
je 0x1401ba30e
mov rax, qword [rsp + 0xa0]
test rax, rax
je 0x1401b9bb9
movzx r8d, word [rsp + 0xcc]
mov rcx, r10
mov edx, r12d
mov qword [rsp + 0x90], r10
add r8, rax
call fcn.140153a20
mov r10, qword [rsp + 0x90]
movzx eax, byte [r10]
add r12d, dword [rsp + 0x98]
cmp al, 0xaf
je 0x1401ba204
cmp al, 0xb0
je 0x1401bb55c
cmp al, 0x89
je 0x1401ba612
mov rdx, qword [rsp + 0xb0]
mov rcx, rbx
call fcn.1401473e0
mov r8d, r12d
mov dword [rsp + 0x90], 0
mov rax, qword [rsp + 0x1f0]
mov r9, qword [rsp + 0xa0]
mov edx, dword [rsp + 0x58]
mov rcx, qword [rax + 0x10]
call fcn.1401642b0
movzx eax, word [r14 + 0x2e]
test ax, ax
je 0x1401b9c27
cmp eax, r12d
je 0x1401b9c89
mov eax, dword [rsp + 0x9c]
test eax, eax
jne 0x1401bafcb
mov eax, dword [rsp + 0xc8]
lea rcx, [0x1403766d0]
mov qword [rsp + 0xb0], rcx
add eax, eax
lea eax, [rax + rbp*4]
add eax, r15d
cdqe
movzx r10d, byte [rcx + rax]
test byte [r14 + 0x2a], 0x10
jne 0x1401bac54
mov eax, dword [rsp + 0x58]
mov dword [rsp + 0x28], r12d
mov r9d, edi
mov edx, r10d
mov r8d, dword [rsp + 0x80]
mov rcx, r13
mov dword [rsp + 0x20], eax
call fcn.1401632b0
mov rax, qword [rsp + 0xa8]
test rax, rax
je 0x1401bace9
mov rax, qword [rax]
xor ebp, ebp
mov r10, qword [rax + 0x18]
movzx r12d, word [rsp + 0xd8]
mov eax, dword [rsp + 0x98]
mov rdx, r10
mov qword [rsp + 0xb0], r10
add eax, dword [rsp + 0x58]
mov rcx, qword [rsp + 0x1f0]
mov r8d, eax
mov r9d, r12d
mov dword [rsp + 0x88], eax
call fcn.1401c6450
mov rax, qword [rsp + 0xa8]
mov r10, qword [rsp + 0xb0]
movzx ecx, word [rax + 0x12]
test ch, 1
je 0x1401b9d36
mov r8, qword [r13]
mov edx, dword [rbx + 0x2c]
lea rax, [0x1404231c0]
cmp byte [r8 + 0x63], 0
jne 0x1401b9d25
mov eax, dword [r13 + 0x98]
sub eax, 1
cdqe
lea r8, [rax + rax*2]
mov rax, qword [r13 + 0x90]
lea rax, [rax + r8*8]
mov r8d, edx
and edx, 1
shr r8d, 1
mov word [rax + 2], dx
mov dword [rax + 0xc], r8d
and ecx, 0x80
je 0x1401bb1b7
mov rax, qword [rsp + 0xd0]
test rax, rax
je 0x1401b9d90
mov rcx, r10
mov r8, rax
mov edx, r12d
mov qword [rsp + 0xb0], r10
call fcn.140153a20
mov rax, qword [rsp + 0x1f0]
mov r9, qword [rsp + 0xd0]
mov r8d, r12d
mov edx, dword [rsp + 0x88]
mov rcx, qword [rax + 0x10]
call fcn.1401642b0
mov r10, qword [rsp + 0xb0]
movzx eax, byte [r10]
add r12d, dword [rsp + 0x98]
cmp al, 0xaf
jne 0x1401b9da5
movzx eax, byte [r10 + 2]
cmp al, 0xb0
je 0x1401bb23a
cmp al, 0x89
je 0x1401bb1fc
mov rdx, qword [rsp + 0xa8]
mov rcx, rbx
call fcn.1401473e0
mov rax, qword [rsp + 0xa0]
test rax, rax
je 0x1401b9ddf
mov rcx, qword [rsp + 0x50]
mov rdx, rax
call fcn.140153ba0
mov rax, qword [rsp + 0xd0]
test rax, rax
je 0x1401b9df9
mov rcx, qword [rsp + 0x50]
mov rdx, rax
call fcn.140153ba0
mov eax, dword [rbx + 0x3c]
test eax, eax
jne 0x1401b9e0a
mov eax, dword [r13 + 0x98]
mov dword [rbx + 0x3c], eax
test r12d, r12d
je 0x1401ba863
mov r11d, dword [rsp + 0xc0]
lea eax, [r15 + r15]
mov dword [rsp + 0x50], eax
add r11d, eax
mov eax, dword [rsp + 0x9c]
test eax, eax
jne 0x1401ba7b5
mov eax, dword [rsp + 0x58]
movsxd r11, r11d
mov dword [rsp + 0x28], r12d
mov r9d, edi
lea r10, str.__
mov r8d, dword [rsp + 0x80]
mov rcx, r13
mov dword [rsp + 0x20], eax
movzx edx, byte [r10 + r11]
call fcn.1401632b0
test ebp, ebp
jne 0x1401ba82d
mov eax, dword [r14 + 0x28]
test eax, 0x40000
jne 0x1401bacbd
test al, 0x40
je 0x1401ba643
test byte [rsi + 0x3c], 0x20
jne 0x1401ba643
mov edi, 1
mov edx, dword [rbx]
test edx, edx
je 0x1401bb242
mov eax, dword [r14 + 0x28]
test ah, 0x10
je 0x1401ba8f7
mov byte [rbx + 0x35], 0xb3
mov edx, eax
mov ecx, dword [rsp + 0x80]
shr edx, 0x10
and edx, 1
mov dword [rbx + 0x38], ecx
mov byte [rbx + 0x36], dl
test al, 0xf
jne 0x1401b9eca
mov byte [rbx + 0x37], 1
mov ebp, 1
test edi, edi
je 0x1401b8d54
jmp 0x1401b8d46
mov rcx, r11
call fcn.140146a80
test eax, eax
je 0x1401b8977
lea r8d, [rsi + rdi]
mov edx, 0x32
mov qword [rsp + 0x58], r11
mov rcx, qword [rsp + 0xc0]
mov dword [rsp + 0x20], 0
mov r9d, dword [rbx + 0xc]
call fcn.140162270
mov r11, qword [rsp + 0x58]
jmp 0x1401b8977
mov edi, dword [rbx + 0x10]
jmp 0x1401b9a72
mov byte [rsp + 0xb8], 0
mov qword [rsp + 0xa8], 0
jmp 0x1401b875d
mov qword [rsp + 0xb0], 0
mov eax, dword [rsp + 0x98]
xor edi, edi
jmp 0x1401b8714
mov r9d, r10d
mov r8d, edi
mov edx, 0xe
mov rcx, r13
mov dword [rsp + 0x20], 0
call fcn.1401621e0
jmp 0x1401b935b
and r8d, 0x20
je 0x1401ba54a
mov byte [rbx + 0x35], 0xb3
mov ebp, 2
mov qword [rsp + 0x60], 0
jmp 0x1401b8d54
mov rdx, qword [r14 + 0x38]
mov rax, qword [rdx + rax*8]
mov qword [rsp + 0x60], rax
test r15d, r15d
jne 0x1401ba1d8
test r12, r12
je 0x1401bb6bf
mov dword [rsp + 0x150], 0x1917181a
mov rdi, qword [r12]
mov rdx, qword [rdi + 0x18]
movzx eax, byte [rdx]
cmp al, 0xaf
jne 0x1401b9fd6
movzx eax, byte [rdx + 2]
cmp al, 0xb0
je 0x1401bb5d6
cmp al, 0x89
je 0x1401ba20e
mov rcx, qword [rsp + 0x1f0]
lea r8, [rsp + 0x120]
mov dword [rsp + 0x50], r10d
call fcn.1401c6a30
mov rdx, r12
mov rcx, rbx
mov ebp, eax
call fcn.1401473e0
movzx eax, byte [rdi]
mov r10d, dword [rsp + 0x50]
sub eax, 0x36
cdqe
movzx edx, byte [rsp + rax + 0x150]
mov dword [rsp + 0x20], ebp
mov r8d, dword [rsp + 0x74]
mov r9d, r10d
mov rcx, r13
mov dword [rsp + 0x50], r10d
call fcn.140162270
mov edx, dword [rsp + 0x120]
mov r10d, dword [rsp + 0x50]
test edx, edx
je 0x1401ba070
mov rax, qword [rsp + 0x1f0]
movzx eax, byte [rax + 0x1f]
cmp al, 7
ja 0x1401ba070
mov rdi, qword [rsp + 0x1f0]
lea ecx, [rax + 1]
mov byte [rdi + 0x1f], cl
mov dword [rdi + rax*4 + 0xc8], edx
mov ebp, 5
sub ebp, r15d
cmp qword [rsp + 0x60], 0
je 0x1401ba90b
mov rax, qword [rsp + 0x60]
mov r9d, 1
mov dword [rsp + 0x58], r10d
mov r12, qword [rax]
mov rax, qword [rsp + 0x1f0]
mov eax, dword [rax + 0x38]
mov rdx, qword [r12 + 0x18]
lea edi, [rax + 1]
mov dword [rsp + 0x50], eax
mov rax, qword [rsp + 0x1f0]
mov r8d, edi
mov dword [rax + 0x38], edi
mov rcx, rax
call fcn.1401c6450
mov rax, qword [r12 + 0x18]
mov r10d, dword [rsp + 0x58]
movzx edx, byte [rax]
cmp dl, 0xaf
jne 0x1401ba0da
movzx edx, byte [rax + 2]
cmp dl, 0xb0
je 0x1401bb127
cmp dl, 0x89
je 0x1401bb123
movzx eax, byte [r12]
sub eax, 0x36
cmp r15d, 1
sbb r12d, r12d
test al, 0xfd
jne 0x1401bb54f
and r12d, 2
add r12d, 0x37
mov rdx, qword [rsp + 0x60]
mov rcx, rbx
mov dword [rsp + 0x50], r10d
call fcn.1401473e0
mov r10d, dword [rsp + 0x50]
mov eax, dword [r13 + 0x98]
mov byte [rbx + 0x35], bpl
mov edx, 0x85
mov rcx, r13
mov r8d, dword [rsp + 0x74]
mov dword [rsp + 0x58], r10d
mov dword [rbx + 0x3c], eax
mov rax, qword [rsp + 0x1f0]
mov dword [rbx + 0x38], r8d
mov eax, dword [rax + 0x38]
lea ebp, [rax + 1]
mov dword [rsp + 0x50], eax
mov rax, qword [rsp + 0x1f0]
mov r9d, ebp
mov dword [rax + 0x38], ebp
mov dword [rsp + 0x20], 0
call fcn.140162270
mov r10d, dword [rsp + 0x58]
mov r8d, edi
mov edx, r12d
mov dword [rsp + 0x20], ebp
mov rcx, r13
mov r9d, r10d
call fcn.140162270
movsxd rax, dword [r13 + 0x98]
test eax, eax
jle 0x1401b8d46
mov r11, qword [r13 + 0x90]
lea rax, [rax + rax*2]
mov edi, 0x53
mov qword [rsp + 0x60], 0
mov ebp, 2
lea rax, [r11 + rax*8]
mov word [rax - 0x16], di
jmp 0x1401b8d54
xor r12d, r12d
xor eax, eax
jmp 0x1401b99df
xor eax, eax
jmp 0x1401b862f
cmp qword [rsp + 0x60], 0
je 0x1401b99f1
mov rax, r12
mov r12, qword [rsp + 0x60]
mov qword [rsp + 0x60], rax
jmp 0x1401b9fb8
mov qword [rsp + 0x60], 0
jmp 0x1401b9faf
movzx eax, byte [r10 + 2]
jmp 0x1401b9bcd
mov rax, qword [rdx + 0x20]
mov rax, qword [rax + 0x20]
mov eax, dword [rax]
cmp eax, 1
jle 0x1401b9fe6
mov rax, qword [rsp + 0x1f0]
movzx eax, byte [rax + 0x1f]
test al, al
je 0x1401bb195
mov rcx, qword [rsp + 0x1f0]
sub eax, 1
mov byte [rcx + 0x1f], al
movzx eax, al
mov ebp, dword [rcx + rax*4 + 0xc8]
mov rcx, qword [rsp + 0x1f0]
mov r9d, 1
mov r8d, ebp
mov dword [rsp + 0x50], r10d
mov dword [rsp + 0x120], ebp
call fcn.1401c6450
movzx eax, byte [rdi]
mov r10d, dword [rsp + 0x50]
sub eax, 0x37
and eax, 2
or eax, 1
movzx edx, byte [rsp + rax + 0x150]
jmp 0x1401ba022
mov dword [rsp + 0x20], 0
xor r9d, r9d
mov edx, 0x86
mov rcx, r13
mov r8d, dword [rsp + 0x80]
call fcn.140162270
jmp 0x1401b87b3
movzx edx, byte [rsp + 0xb8]
mov rcx, qword [rsp + 0xa8]
mov byte [rsp + 0xb8], 0
movzx eax, byte [rsp + 0xdc]
mov byte [rsp + 0x88], dl
mov rdx, qword [rsp + 0xb0]
mov qword [rsp + 0xb0], rcx
movzx ecx, word [rsp + 0xd8]
mov qword [rsp + 0xa8], rdx
mov word [rsp + 0xdc], cx
mov word [rsp + 0xd8], ax
jmp 0x1401b87a4
mov rcx, r10
mov dword [rsp + 0x90], r8d
call fcn.140146a80
mov r8d, dword [rsp + 0x90]
test eax, eax
je 0x1401b9b85
mov dword [rsp + 0x20], 0
mov r9d, edi
mov edx, 0x32
mov rcx, r13
mov qword [rsp + 0x90], r10
call fcn.140162270
mov r10, qword [rsp + 0x90]
jmp 0x1401b9b85
mov rcx, qword [rsp + 0x50]
movzx edx, word [rsp + 0xcc]
add rdx, qword [rsp + 0xa0]
call fcn.140152580
mov qword [rsp + 0xd0], rax
jmp 0x1401b9a60
sub eax, ebp
mov rcx, qword [rsp + 0x50]
lea edi, [rax - 1]
mov r15d, eax
movsxd rax, edi
lea rdx, [rax*8]
sub rdx, rax
shl rdx, 4
add rdx, 0x78
test rcx, rcx
je 0x1401bb886
call fcn.14014e3d0
mov qword [rsp + 0x58], rax
mov r11, qword [rsp + 0x58]
test r11, r11
je 0x1401bb879
lea eax, [rdi + 1]
mov rcx, qword [rsp + 0x48]
movzx eax, al
mov dword [r11 + 4], eax
mov dword [r11], eax
lea rax, [r12*8]
sub rax, r12
shl rax, 4
lea rax, [rcx + rax + 8]
movdqu xmm4, xmmword [rax]
movups xmmword [r11 + 8], xmm4
movdqu xmm5, xmmword [rax + 0x10]
movups xmmword [r11 + 0x18], xmm5
movdqu xmm4, xmmword [rax + 0x20]
movups xmmword [r11 + 0x28], xmm4
movdqu xmm5, xmmword [rax + 0x30]
movups xmmword [r11 + 0x38], xmm5
movdqu xmm4, xmmword [rax + 0x40]
movups xmmword [r11 + 0x48], xmm4
movdqu xmm5, xmmword [rax + 0x50]
movups xmmword [r11 + 0x58], xmm5
movdqu xmm0, xmmword [rax + 0x60]
movups xmmword [r11 + 0x68], xmm0
mov rax, qword [rsi + 8]
lea r8, [rax + 8]
test edi, edi
jle 0x1401b9477
lea r9d, [r15 - 2]
lea rcx, [rbx + 0x94]
lea rax, [r9*8]
lea rdx, [r11 + 0x78]
sub rax, r9
shl rax, 4
lea r9, [r11 + rax + 0xe8]
movzx r10d, byte [rcx]
add rdx, 0x70
add rcx, 0x60
lea rax, [r10*8]
sub rax, r10
shl rax, 4
add rax, r8
movdqu xmm1, xmmword [rax]
movups xmmword [rdx - 0x70], xmm1
movdqu xmm2, xmmword [rax + 0x10]
movups xmmword [rdx - 0x60], xmm2
movdqu xmm3, xmmword [rax + 0x20]
movups xmmword [rdx - 0x50], xmm3
movdqu xmm4, xmmword [rax + 0x30]
movups xmmword [rdx - 0x40], xmm4
movdqu xmm5, xmmword [rax + 0x40]
movups xmmword [rdx - 0x30], xmm5
movdqu xmm0, xmmword [rax + 0x50]
movups xmmword [rdx - 0x20], xmm0
movdqu xmm1, xmmword [rax + 0x60]
movups xmmword [rdx - 0x10], xmm1
cmp r9, rdx
jne 0x1401ba467
jmp 0x1401b9477
mov rax, qword [rsp + 0x1f0]
mov edx, 0x46
mov rcx, r13
mov r8d, 1
mov eax, dword [rax + 0x38]
lea r9d, [rax + 1]
mov dword [rsp + 0x58], eax
mov rax, qword [rsp + 0x1f0]
mov dword [rax + 0x38], r9d
mov dword [rbx + 0x2c], r9d
mov dword [rsp + 0x20], 0
call fcn.140162270
mov eax, dword [r13 + 0x98]
mov rcx, qword [rsp + 0x60]
mov dword [rbx + 0x30], eax
mov eax, dword [rbx + 0x2c]
mov rcx, qword [rcx + 0x38]
lea edx, [rax + rax]
movzx eax, word [rsp + 0xcc]
mov dword [rbx + 0x2c], edx
cmp byte [rcx + rax], 1
sete al
movzx eax, al
xor eax, r15d
or eax, edx
mov edx, dword [r14 + 0x28]
mov dword [rbx + 0x2c], eax
jmp 0x1401b8746
movsxd r15, r15d
lea rax, [0x1403766c7]
movzx eax, byte [rax + r15]
mov byte [rbx + 0x35], al
mov eax, dword [rsp + 0x74]
mov dword [rbx + 0x38], eax
lea rax, [0x1403766c5]
movzx ecx, byte [rax + r15]
movsxd rax, dword [r13 + 0x98]
cmp eax, dword [r13 + 0x9c]
jge 0x1401bb8a8
lea edx, [rax + 1]
lea r8, [rax + rax*2]
mov rax, qword [r13 + 0x90]
xor r10d, r10d
mov dword [r13 + 0x98], edx
lea rax, [rax + r8*8]
mov byte [rax], cl
mov ecx, dword [rsp + 0x74]
mov word [rax + 2], r10w
mov dword [rax + 4], ecx
mov dword [rax + 8], r9d
mov dword [rax + 0xc], 0
mov qword [rax + 0x10], 0
mov byte [rax + 1], 0
mov dword [rbx + 0x3c], edx
mov byte [rbx + 0x37], 1
jmp 0x1401b8d46
mov r11, qword [rsp + 0x60]
movzx eax, word [rsp + 0xcc]
mov rcx, qword [r11 + 8]
movsx rcx, word [rcx + rax*2]
mov rax, rcx
test ecx, ecx
js 0x1401bb6a0
mov rcx, qword [r11 + 0x18]
lea rax, [rax + rax*2]
mov r10, qword [rcx + 8]
lea rax, [r10 + rax*8]
test byte [rax + 8], 0xf
sete byte [rsp + 0xb8]
jmp 0x1401b875d
mov rax, qword [r10 + 0x20]
mov rax, qword [rax + 0x20]
mov eax, dword [rax]
cmp eax, 1
jle 0x1401b9bdd
mov dword [rsp + 0x90], 0
mov r8d, r12d
mov dword [rsp + 0xc8], 1
jmp 0x1401b9bfb
mov rax, qword [rsp + 0x60]
mov rax, qword [rax + 0x18]
test byte [rax + 0x30], 0x80
je 0x1401bb0b1
mov edx, dword [rsp + 0x80]
cmp dword [rsp + 0x74], edx
je 0x1401ba76f
mov rdi, qword [rax + 0x10]
test rdi, rdi
jne 0x1401ba685
jmp 0x1401bbab5
mov rdi, qword [rdi + 0x28]
test rdi, rdi
je 0x14022d43a
movzx eax, byte [rdi + 0x64]
and eax, 3
cmp al, 2
jne 0x1401ba678
movzx edx, word [rdi + 0x5e]
mov rcx, qword [rsp + 0x1f0]
call fcn.14014bf30
cmp word [rdi + 0x5e], 0
mov r12d, eax
je 0x1401bba8f
xor ebp, ebp
mov qword [rsp + 0x1f8], r13
mov qword [rsp + 0x200], rsi
mov r13, rbp
mov esi, dword [rsp + 0x80]
mov qword [rsp + 0x210], rbx
mov rbp, qword [rsp + 0x1f8]
mov rbx, qword [rsp + 0x60]
mov rax, qword [rdi + 8]
movzx edx, word [rbx + 0x60]
movzx r8d, word [rax + r13*2]
test edx, edx
je 0x1401ba7aa
mov r9, qword [rbx + 8]
xor eax, eax
jmp 0x1401ba70c
add rax, 1
cmp edx, eax
jle 0x1401ba7aa
cmp r8w, word [r9 + rax*2]
jne 0x1401ba700
movsx r9d, ax
lea eax, [r12 + r13]
mov r8d, esi
mov edx, 0x5c
mov rcx, rbp
mov dword [rsp + 0x20], eax
add r13, 1
call fcn.140162270
movzx eax, word [rdi + 0x5e]
cmp eax, r13d
jg 0x1401ba6e0
mov rsi, qword [rsp + 0x200]
mov rbx, qword [rsp + 0x210]
mov r13, rbp
mov dword [rsp + 0x28], eax
mov r9d, dword [rsp + 0x70]
mov edx, 0x1e
mov rcx, r13
mov dword [rsp + 0x20], r12d
mov r8d, dword [rsp + 0x74]
call fcn.1401632b0
mov edi, dword [rbx]
test edi, edi
jne 0x1401bb10b
test byte [rsi + 0x3c], 0x20
je 0x1401bb242
xor edi, edi
mov rax, qword [rsp + 0x60]
mov rcx, qword [rax + 0x48]
test rcx, rcx
je 0x1401b9e9c
mov r8, qword [rsp + 0x78]
mov edx, dword [rsp + 0x74]
call fcn.140182dd0
jmp 0x1401b9e9c
mov r9d, 0xffffffff
jmp 0x1401ba717
mov eax, dword [r13 + 0x98]
mov dword [rsp + 0x20], 0
mov edx, 0x14
mov rcx, r13
mov r8d, dword [rsp + 0x9c]
mov dword [rsp + 0x88], r11d
lea r9d, [rax + 3]
call fcn.140162270
mov eax, dword [rsp + 0x58]
mov r9d, edi
mov rcx, r13
movsxd r11, dword [rsp + 0x88]
lea r10, str.__
mov dword [rsp + 0x28], r12d
mov dword [rsp + 0x20], eax
mov r8d, dword [rsp + 0x80]
movzx edx, byte [r10 + r11]
mov qword [rsp + 0x88], r10
call fcn.1401632b0
test ebp, ebp
mov r10, qword [rsp + 0x88]
je 0x1401ba883
mov edx, dword [r13 + 0x98]
mov rcx, qword [r13]
test ebp, ebp
lea eax, [rdx - 1]
cmovs ebp, eax
cmp byte [rcx + 0x63], 0
lea rax, [0x1404231c0]
jne 0x1401ba860
mov rax, qword [r13 + 0x90]
movsxd rbp, ebp
lea rcx, [rbp + rbp*2]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
mov r10d, dword [rsp + 0x9c]
test r10d, r10d
je 0x1401b9e6c
lea eax, [r15 + r15]
lea r10, str.__
mov dword [rsp + 0x50], eax
mov eax, dword [r13 + 0x98]
mov dword [rsp + 0x20], 0
mov rcx, r13
mov edx, 0x12
mov r8d, dword [rsp + 0x9c]
mov qword [rsp + 0x88], r10
lea r9d, [rax + 2]
call fcn.140162270
mov ecx, dword [rsp + 0x90]
mov r9d, edi
mov eax, dword [rsp + 0x50]
mov r10, qword [rsp + 0x88]
mov r8d, dword [rsp + 0x80]
add eax, ecx
add r12d, ecx
mov rcx, r13
cdqe
mov dword [rsp + 0x28], r12d
movzx edx, byte [r10 + rax]
mov eax, dword [rsp + 0x58]
mov dword [rsp + 0x20], eax
call fcn.1401632b0
jmp 0x1401b9e6c
cmp r15d, 1
mov edx, 4
adc dl, 0
mov byte [rbx + 0x35], dl
jmp 0x1401b9ead
mov eax, dword [r13 + 0x98]
mov ecx, dword [rsp + 0x74]
mov byte [rbx + 0x35], bpl
mov ebp, 2
mov dword [rbx + 0x38], ecx
mov dword [rbx + 0x3c], eax
jmp 0x1401b8d54
mov eax, dword [r14 + 0x14]
sub eax, 1
cmp eax, r15d
mov eax, 0xffffffff
cmove ebp, eax
mov rax, qword [rsp + 0x80]
test byte [rax + 0x30], 0x80
je 0x1401baf7f
mov rax, qword [rsp + 0x80]
mov r10, qword [rax + 0x10]
test r10, r10
jne 0x1401ba975
jmp 0x1401bbaba
mov r10, qword [r10 + 0x28]
test r10, r10
je 0x14022d430
movzx eax, byte [r10 + 0x64]
and eax, 3
cmp al, 2
jne 0x1401ba968
movzx edi, word [r10 + 0x5e]
mov rcx, rbx
xor r11d, r11d
mov edx, edi
call fcn.14014bf30
lea ecx, [rdi + rax]
mov esi, eax
mov dword [rsp + 0xcc], ecx
test edi, edi
je 0x1401baa11
mov dword [rsp + 0xe0], eax
mov dword [rsp + 0xd0], ebp
mov rbp, r13
mov r13, rbx
mov rbx, r10
mov dword [rsp + 0xdc], edi
mov rdi, r11
mov rdx, qword [rbx + 8]
mov r8d, dword [rsp + 0x74]
mov rcx, rbp
movsx r9d, word [rdx + rdi]
mov dword [rsp + 0x20], esi
add rdi, 2
add esi, 1
mov rdx, qword [rsp + 0x80]
call fcn.1401c5550
cmp dword [rsp + 0xcc], esi
jne 0x1401ba9c4
mov rbx, r13
mov edi, dword [rsp + 0xdc]
mov r13, rbp
mov esi, dword [rsp + 0xe0]
mov ebp, dword [rsp + 0xd0]
test ebp, ebp
jne 0x1401bb930
mov ebp, dword [rsp + 0x9c]
mov r9d, edi
mov r8d, esi
mov rcx, r13
mov edx, 0x5f
mov dword [rsp + 0x20], ebp
call fcn.140162270
mov dword [rsp + 0x28], edi
mov r9d, ebp
mov rcx, r13
mov dword [rsp + 0x20], esi
mov r8d, dword [rsp + 0x88]
mov edx, 0x88
call fcn.1401632b0
xor r10d, r10d
cmp edi, 1
je 0x1401bb8c8
cmp edi, dword [rbx + 0x28]
jle 0x1401baa6e
mov dword [rbx + 0x28], edi
mov dword [rbx + 0x2c], esi
mov dword [rsp + 0x20], 0
mov r9d, dword [rsp + 0xc0]
mov edx, 0xc
mov rcx, r13
mov r8d, dword [rsp + 0x90]
mov dword [rsp + 0xcc], r10d
call fcn.140162270
mov r10d, dword [rsp + 0xcc]
test r10d, r10d
je 0x1401b97a1
mov edx, dword [r13 + 0x98]
mov rcx, qword [r13]
lea eax, [rdx - 1]
cmovs r10d, eax
cmp byte [rcx + 0x63], 0
lea rax, [0x1404231c0]
jne 0x1401baadd
mov rax, qword [r13 + 0x90]
movsxd r10, r10d
lea rcx, [r10 + r10*2]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
jmp 0x1401b97a1
mov rax, qword [rsp + 0x1f0]
mov rsi, qword [rsp + 0x200]
mov rbx, qword [rsp + 0x210]
mov eax, dword [rax + 0x118]
test eax, eax
je 0x1401bab45
mov rcx, qword [rsp + 0x1f0]
mov rdx, qword [rcx + 0x10]
test eax, eax
jns 0x1401bab20
mov eax, dword [rdx + 0x98]
sub eax, 1
mov r8, qword [rdx]
lea rcx, [0x1404231c0]
cmp byte [r8 + 0x63], 0
jne 0x1401bab42
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [rdx + 0x90]
lea rcx, [rax + rcx*8]
mov eax, dword [rcx + 8]
mov rcx, qword [rsp + 0x1f0]
mov dword [rcx + 0x118], eax
mov rax, qword [rsp + 0x60]
mov qword [rbx + 0x40], rax
test rax, rax
je 0x1401bab6b
mov eax, dword [rsp + 0xb0]
mov dword [rbx + 8], eax
mov rax, qword [rsp + 0xa0]
test rax, rax
je 0x1401bab8d
mov qword [rax + 0x10], 0
mov rcx, qword [rsp + 0x50]
mov rdx, rax
call fcn.140159250
mov ecx, dword [rsp + 0xc8]
mov edx, dword [r13 + 0x98]
test ecx, ecx
lea eax, [rdx - 1]
cmovns eax, ecx
mov rcx, qword [r13]
cmp byte [rcx + 0x63], 0
mov edi, eax
lea rax, [0x1404231c0]
jne 0x1401babc8
movsxd rax, edi
lea rcx, [rax + rax*2]
mov rax, qword [r13 + 0x90]
lea rax, [rax + rcx*8]
mov dword [rax + 4], edx
mov edx, dword [rbx + 0xc]
mov rcx, r13
call fcn.140162f20
mov rcx, qword [r13 + 0x18]
mov r8d, dword [rsp + 0xd8]
mov eax, dword [rcx + 0x44]
neg r8d
add eax, dword [rcx + 0x48]
js 0x1401bb52b
mov edx, dword [r13 + 0x98]
mov rax, qword [rcx + 0x50]
movsxd r8, r8d
mov dword [rax + r8*4], edx
cmp byte [rsi + 0x40], 1
jbe 0x1401bac20
mov rax, qword [rsp + 0x58]
test rax, rax
je 0x1401bac20
mov rcx, qword [rsp + 0x50]
mov rdx, rax
call fcn.140153ba0
mov r11d, dword [rsp + 0x98]
test r11d, r11d
jne 0x1401b8d46
mov rdx, qword [rsp + 0xb8]
mov rcx, rbx
mov ebp, 2
call fcn.1401473e0
mov qword [rsp + 0x60], 0
jmp 0x1401b8d54
xor ebp, ebp
cmp r10d, 0x19
je 0x1401bb6ce
mov eax, dword [rsp + 0x58]
mov dword [rsp + 0x28], r12d
mov r9d, edi
mov edx, r10d
mov r8d, dword [rsp + 0x80]
mov rcx, r13
mov dword [rsp + 0x20], eax
call fcn.1401632b0
mov eax, dword [rsp + 0x9c]
test eax, eax
jne 0x1401bb045
mov rax, qword [rsp + 0xa8]
test rax, rax
je 0x1401baceb
mov rax, qword [rax]
mov r10, qword [rax + 0x18]
test ebp, ebp
je 0x1401b9ca3
mov eax, dword [r13 + 0x98]
mov dword [rbx + 0x3c], eax
jmp 0x1401b9ca3
mov eax, dword [rsp + 0x98]
mov r8d, dword [rsp + 0x80]
mov edx, 0x7b
mov rcx, r13
mov dword [rsp + 0x20], eax
mov r9d, eax
call fcn.140162270
mov eax, dword [r14 + 0x28]
jmp 0x1401b9e7b
xor ebp, ebp
cmp byte [rsp + 0x88], 0
mov r12d, dword [rsp + 0x98]
je 0x1401b9dc5
mov eax, dword [rsp + 0x9c]
test eax, eax
je 0x1401bb76c
mov eax, dword [rsp + 0x98]
lea r12d, [rax + 1]
jmp 0x1401b9dc5
mov eax, dword [rsp + 0xc0]
mov edi, dword [rbx + 8]
xor r8d, r8d
mov r9d, r12d
mov edx, 0x49
mov rcx, rbp
lea eax, [rax + r12 - 1]
mov dword [rsp + 0x20], eax
call fcn.140162270
cmp r15d, 1
mov r8d, edi
mov rcx, rbp
sbb edx, edx
mov dword [rsp + 0x20], 0
xor r9d, r9d
and edx, 4
add edx, 0x22
call fcn.140162270
mov r10d, dword [rbp + 0x98]
cmp r10d, dword [rbp + 0x9c]
jge 0x1401bb9f5
lea eax, [r10 + 1]
mov dword [rbp + 0x98], eax
movsxd rax, r10d
lea rdx, [rax + rax*2]
mov rax, qword [rbp + 0x90]
lea rax, [rax + rdx*8]
mov qword [rax], 0xb
mov qword [rax + 8], 0
mov qword [rax + 0x10], 0
cmp r15d, 1
mov dword [rsp + 0x20], r12d
mov rcx, rbp
mov r8d, edi
mov eax, dword [rsp + 0xc0]
sbb edx, edx
xor r9d, r9d
mov dword [rsp + 0xd0], r10d
and edx, 3
mov dword [rsp + 0x28], eax
add edx, 0x17
call fcn.1401632b0
mov edx, dword [rbp + 0x98]
mov rcx, qword [rbp]
mov r10d, dword [rsp + 0xd0]
mov dword [rbx + 0x14], eax
lea eax, [rdx - 1]
test r10d, r10d
cmovs r10d, eax
cmp byte [rcx + 0x63], 0
lea rax, [0x1404231c0]
jne 0x1401bae1f
mov rax, qword [rbp + 0x90]
movsxd r10, r10d
lea rcx, [r10 + r10*2]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
xor r9d, r9d
mov qword [rsp + 0x200], rsi
mov rsi, rbp
mov rbp, rbx
mov ebx, r9d
lea eax, [r12 + rbx]
mov r9d, ebx
mov r8d, edi
mov edx, 0x5c
mov dword [rsp + 0x20], eax
mov rcx, rsi
add ebx, 1
call fcn.140162270
cmp ebx, dword [rsp + 0xc0]
jne 0x1401bae36
mov rbx, rbp
mov rbp, rsi
mov rsi, qword [rsp + 0x200]
jmp 0x1401b8845
cmp qword [rsp + 0xa8], 0
je 0x1401bb9d6
mov rcx, qword [rsp + 0xa8]
mov dword [rsp + 0xc8], 1
test byte [rcx + 0x14], 0x28
setne cl
or ebp, eax
movzx ecx, cl
movzx ebp, bpl
mov dword [rsp + 0xc0], ecx
cmp byte [rsp + 0xb8], 0
jne 0x1401bb587
mov edx, dword [rsp + 0x9c]
test edx, edx
jne 0x1401bb5e1
mov rax, qword [rsp + 0x1f0]
mov r12d, dword [rsp + 0x98]
mov r9, qword [rsp + 0xa0]
mov edx, dword [rsp + 0x58]
mov rcx, qword [rax + 0x10]
mov r8d, r12d
call fcn.1401642b0
movzx eax, word [r14 + 0x2e]
test ax, ax
je 0x1401baf0a
mov ecx, dword [rsp + 0x98]
cmp ecx, eax
je 0x1401bb898
mov r12d, ecx
mov dword [rsp + 0x90], 0
jmp 0x1401b9c36
mov rax, qword [rsp + 0x1f0]
mov rcx, qword [rsp + 0x1f0]
mov r9d, dword [rbx]
mov eax, dword [rax + 0x38]
mov dword [rsp + 0x58], eax
add eax, 1
mov dword [rcx + 0x38], eax
mov dword [rsp + 0x9c], eax
mov dword [rbx + 0x24], eax
test r9d, r9d
jne 0x1401bb567
mov rax, qword [rsp + 0x1f0]
mov rcx, qword [rsp + 0x1f0]
mov edi, 1
mov byte [rsp + 0xb8], 1
mov eax, dword [rax + 0x44]
mov dword [rsp + 0x58], eax
sub eax, 1
mov dword [rcx + 0x44], eax
mov dword [rbx + 0x28], eax
jmp 0x1401b877a
mov esi, dword [rsp + 0x9c]
mov dword [rsp + 0x20], 0
mov edx, 0x85
mov rcx, r13
mov r8d, dword [rsp + 0x74]
mov r9d, esi
call fcn.140162270
mov dword [rsp + 0x28], ebp
xor r9d, r9d
mov rcx, r13
mov dword [rsp + 0x20], esi
mov r8d, dword [rsp + 0x88]
mov edx, 0x2e
call fcn.1401632b0
mov r10d, eax
jmp 0x1401baa6e
shl ebp, 2
mov dword [rsp + 0x20], 0
mov rcx, r13
mov edx, 0x46
mov r9d, dword [rsp + 0x9c]
mov r8d, 1
call fcn.140162270
mov eax, dword [rsp + 0xc8]
lea rcx, [0x1403766d0]
mov qword [rsp + 0xb0], rcx
lea eax, [rbp + rax*2]
add eax, r15d
cdqe
movzx r10d, byte [rcx + rax]
test byte [r14 + 0x2a], 0x10
jne 0x1401bac54
mov eax, dword [rsp + 0x58]
mov dword [rsp + 0x28], r12d
mov r9d, edi
mov edx, r10d
mov r8d, dword [rsp + 0x80]
mov rcx, r13
xor ebp, ebp
mov dword [rsp + 0x20], eax
call fcn.1401632b0
mov eax, dword [r13 + 0x98]
xor r8d, r8d
mov rcx, r13
mov edx, 0xb
mov dword [rsp + 0x20], 0
lea r9d, [rax + 2]
call fcn.140162270
xor eax, eax
cmp r12d, 1
mov r9d, edi
setg al
mov rcx, qword [rsp + 0xb0]
sub r12d, dword [rsp + 0xc8]
lea eax, [r15 + rax*4 + 2]
mov dword [rsp + 0x28], r12d
mov r8d, dword [rsp + 0x80]
cdqe
movzx edx, byte [rcx + rax]
mov eax, dword [rsp + 0x58]
mov rcx, r13
mov dword [rsp + 0x20], eax
call fcn.1401632b0
jmp 0x1401bac92
mov rbp, qword [rsi]
mov eax, dword [rsp + 0x74]
xor r9d, r9d
mov edx, 0x8b
mov r8d, dword [rsp + 0x80]
mov r12, qword [rbp + 0x10]
or byte [rsi + 0x44], 1
mov dword [rsp + 0x20], eax
mov rcx, r12
call fcn.140162270
test byte [rsi + 0x3c], 0x20
je 0x1401bb655
mov rax, qword [rbp + 0xa0]
test rax, rax
cmove rax, rbp
mov r9d, dword [rax + 0x70]
test r9d, r9d
je 0x1401bb79c
mov eax, dword [rbx]
test eax, eax
je 0x1401ba783
xor edi, edi
jmp 0x1401b9e9c
mov qword [rsp + 0xa0], 0
jmp 0x1401b963d
mov rax, qword [rax + 0x20]
mov rax, qword [rax + 0x20]
mov eax, dword [rax]
cmp eax, 1
jle 0x1401ba0ec
cmp r15d, 1
sbb r12d, r12d
and r12d, 0xfffffffe
add r12d, 0x38
jmp 0x1401ba122
mov rcx, qword [rsp + 0x80]
mov qword [rsp + 0x60], rax
mov rsi, rax
test byte [rcx + 0x30], 0x80
je 0x1401b97f2
movzx eax, byte [rax + 0x64]
and eax, 3
cmp al, 2
mov eax, 0
cmovne rax, rsi
mov qword [rsp + 0x60], rax
jmp 0x1401b97f2
mov dword [rsp + 0xc0], 1
mov ebp, 1
jmp 0x1401b9acf
mov rax, qword [rsp + 0x1f0]
mov eax, dword [rax + 0x38]
lea ebp, [rax + 1]
mov dword [rsp + 0x50], eax
mov rax, qword [rsp + 0x1f0]
mov dword [rax + 0x38], ebp
jmp 0x1401ba24d
mov rcx, r10
call fcn.140146a80
test eax, eax
je 0x1401b9d42
mov dword [rsp + 0x20], 0
mov r9d, edi
mov edx, 0x32
mov rcx, r13
mov r8d, dword [rsp + 0x88]
mov qword [rsp + 0xb0], r10
call fcn.140162270
mov r10, qword [rsp + 0xb0]
jmp 0x1401b9d42
mov rax, qword [r10 + 0x20]
mov rax, qword [rax + 0x20]
mov eax, dword [rax]
cmp eax, 1
jle 0x1401b9db5
mov dword [rsp + 0xc0], 1
jmp 0x1401b9dc5
mov dword [rsp + 0x9c], 0
mov dword [rsp + 0x88], 0
jmp 0x1401b953d
mov rax, qword [r10 + 0x20]
mov eax, dword [rax]
jmp 0x1401bb206
mov rax, qword [rsp + 0x60]
mov rcx, qword [rax + 0x50]
mov qword [rsp + 0x50], rcx
test rcx, rcx
je 0x1401bb6b0
mov rcx, qword [rsp + 0x60]
xor ebp, ebp
mov rax, qword [rcx + 0x18]
mov qword [rsp + 0x108], rsi
mov qword [rsp + 0x120], 0
mov qword [rsp + 0x58], rax
lea rax, [rsp + 0xf0]
mov qword [rsp + 0x148], rax
mov eax, dword [rsp + 0x74]
mov qword [rsp + 0x128], 0
mov dword [rsp + 0xf8], eax
mov eax, dword [rsp + 0x80]
mov qword [rsp + 0x130], 0
mov dword [rsp + 0xfc], eax
mov rax, qword [rsi]
mov qword [rsp + 0x138], 0
mov qword [rsp + 0x140], 0
mov rax, qword [rax]
cmp word [rcx + 0x60], 0
mov qword [rsp + 0x110], rax
je 0x1401ba785
mov dword [rsp + 0x88], edi
mov qword [rsp + 0x210], rbx
mov rax, qword [rsp + 0x60]
mov ebx, ebp
mov rax, qword [rax + 8]
movsx r9d, word [rax + rbp*2]
cmp r9w, 0xfffe
je 0x1401bb433
test r9w, r9w
js 0x1401bb40a
movsx rax, r9w
lea rdx, [rax + rax*2]
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 8]
lea rdx, [rax + rdx*8]
movzx eax, word [rdx + 0x12]
test al, 0x20
je 0x1401bb40a
test ah, 2
jne 0x1401bb4b9
lea rax, [0x1401521f0]
mov dword [rsp + 0x104], r9d
mov qword [rsp + 0x128], rax
mov rdx, qword [rsi + 0x20]
mov dword [rsp + 0x100], ebx
test rdx, rdx
je 0x1401bb381
lea rcx, [rsp + 0x120]
call fcn.140169670
mov rax, qword [rsi + 0x10]
test rax, rax
je 0x1401bb3c6
mov edx, dword [rax]
lea r12, [rax + 8]
test edx, edx
jle 0x1401bb3c6
sub edx, 1
lea rbx, [rsp + 0x120]
shl rdx, 5
lea rdi, [rax + rdx + 0x28]
mov rdx, qword [r12]
test rdx, rdx
je 0x1401bb3bd
mov rcx, rbx
call fcn.140169670
test eax, eax
jne 0x1401bb3c6
add r12, 0x20
cmp r12, rdi
jne 0x1401bb3a8
mov rax, qword [rsi + 0x18]
test rax, rax
je 0x1401bb40a
mov edx, dword [rax]
lea rdi, [rax + 8]
test edx, edx
jle 0x1401bb40a
sub edx, 1
lea r12, [rsp + 0x120]
shl rdx, 5
lea rbx, [rax + rdx + 0x28]
mov rdx, qword [rdi]
test rdx, rdx
je 0x1401bb401
mov rcx, r12
call fcn.140169670
test eax, eax
jne 0x1401bb40a
add rdi, 0x20
cmp rdi, rbx
jne 0x1401bb3ed
mov rax, qword [rsp + 0x60]
add rbp, 1
movzx eax, word [rax + 0x60]
cmp eax, ebp
jg 0x1401bb2fe
mov edi, dword [rsp + 0x88]
mov rbx, qword [rsp + 0x210]
jmp 0x1401ba785
mov rcx, qword [rsp + 0x50]
mov rax, rbp
mov r8d, 1
shl rax, 5
mov rdx, qword [rcx + rax + 8]
lea rax, [0x140160a10]
mov word [rsp + 0x174], r8w
mov qword [rsp + 0x158], rax
lea rax, [0x1401469f0]
mov qword [rsp + 0xf0], rdx
mov qword [rsp + 0x160], rax
mov dword [rsp + 0x178], 0
test rdx, rdx
je 0x1401bb40a
lea rcx, [rsp + 0x150]
call fcn.140169670
cmp word [rsp + 0x174], 0
jne 0x1401bb40a
lea rax, [0x140183ed0]
mov qword [rsp + 0x128], rax
jmp 0x1401bb364
mov rdx, qword [rdx]
cmp byte [rdx], 0
je 0x1401bb4ca
add rdx, 1
cmp byte [rdx], 0
jne 0x1401bb4c1
test al, 4
jne 0x1401bb520
add rdx, 1
mov eax, 0x42
lea rcx, str.BINARY
jmp 0x1401bb503
cdqe
lea rdi, [0x14037cfa0]
movzx eax, byte [rdi + rax]
cmp byte [rdi + r8], al
jne 0x1401bb40a
movzx eax, byte [rcx + 1]
add rcx, 1
add rdx, 1
movzx r8d, byte [rdx]
cmp r8d, eax
jne 0x1401bb4e0
test r8d, r8d
jne 0x1401bb4f7
jmp 0x1401bb34d
add rdx, 1
cmp byte [rdx], 0
jne 0x1401bb520
jmp 0x1401bb4ce
mov rdx, r13
call fcn.14015cd90
jmp 0x1401bac03
or r13d, 0x40
cmp al, 0x41
cmovl eax, r13d
cmp al, 0x41
jne 0x1401b89d2
jmp 0x1401b88bc
and r12d, 0xfffffffe
add r12d, 0x38
jmp 0x1401ba10b
mov rax, qword [r10 + 0x20]
mov eax, dword [rax]
jmp 0x1401ba61c
mov r9d, eax
xor r8d, r8d
mov edx, 0x46
mov rcx, r13
mov dword [rsp + 0x20], 0
call fcn.140162270
jmp 0x1401baf4d
mov eax, dword [rsp + 0x58]
xor r8d, r8d
mov edx, 0x49
mov rcx, r13
mov ebp, dword [rsp + 0x98]
mov dword [rsp + 0x20], 0
lea r9d, [rbp + rax]
lea r12d, [rbp + 1]
call fcn.140162270
mov r8d, ebp
mov ebp, 1
mov dword [rsp + 0x90], 1
mov dword [rsp + 0xc8], 0
jmp 0x1401b9bfb
mov rax, qword [rdx + 0x20]
mov eax, dword [rax]
jmp 0x1401ba218
mov ebp, dword [rsp + 0x98]
mov ecx, dword [rsp + 0x58]
xor r8d, r8d
mov edx, 0x49
mov dword [rsp + 0x20], 0
lea r9d, [rbp + rcx]
mov rcx, r13
lea r12d, [rbp + 1]
call fcn.140162270
mov rax, qword [rsp + 0x1f0]
mov edx, dword [rsp + 0x58]
mov r8d, r12d
mov r9, qword [rsp + 0xa0]
mov rcx, qword [rax + 0x10]
call fcn.1401642b0
movzx eax, word [r14 + 0x2e]
test ax, ax
je 0x1401bb640
cmp r12d, eax
je 0x1401bb898
mov dword [rsp + 0x90], 0
mov ebp, 4
jmp 0x1401bafce
xor edi, edi
jmp 0x1401b9e92
mov rax, qword [rsp + 0x1f0]
mov rcx, qword [rsp + 0x1f0]
xor r8d, r8d
mov edx, 0x49
mov eax, dword [rax + 0x38]
mov dword [rsp + 0x60], eax
add eax, 1
mov dword [rcx + 0x38], eax
mov r9d, eax
mov rcx, r13
mov dword [rsp + 0x20], 0
mov dword [rsp + 0x88], eax
call fcn.140162270
jmp 0x1401b9519
cmp ecx, 0xfffffffe
sete byte [rsp + 0xb8]
jmp 0x1401b875d
test byte [rax + 0x65], 4
jne 0x1401bb259
jmp 0x1401ba785
mov r12, qword [rsp + 0x60]
mov edx, 0x26
jmp 0x1401b99f6
mov rax, qword [rsp + 0x60]
mov ebp, dword [r13 + 0x98]
mov rax, qword [rax + 0x10]
movsx eax, word [rax]
add eax, 9
movsxd r8, eax
sar eax, 0x1f
imul r8, r8, 0x66666667
sar r8, 0x22
sub r8d, eax
cmp ebp, dword [r13 + 0x9c]
jge 0x1401bba32
lea eax, [rbp + 1]
mov dword [r13 + 0x98], eax
movsxd rax, ebp
lea rdx, [rax + rax*2]
mov rax, qword [r13 + 0x90]
lea rax, [rax + rdx*8]
mov dword [rax + 4], r8d
mov qword [rax + 8], 0
mov qword [rax + 0x10], 0
mov dword [rax], 0x7a
jmp 0x1401bac60
mov dword [rsp + 0x20], 0
xor r8d, r8d
mov edx, 0x46
mov rcx, r13
mov r9d, dword [rsp + 0x90]
call fcn.1401621e0
mov dword [rsp + 0xc8], eax
jmp 0x1401b959b
mov ecx, dword [rsp + 0x58]
mov dword [rsp + 0x20], 0
xor r8d, r8d
mov edx, 0x49
lea r9d, [r12 + rcx]
mov rcx, r13
call fcn.140162270
mov dword [rsp + 0xc0], 0
jmp 0x1401bad10
mov rax, qword [rsp + 0x60]
mov rcx, qword [rbp]
mov rdi, qword [rax + 0x18]
movsx r8d, word [rdi + 0x36]
add r8d, 1
movsxd r8, r8d
shl r8, 2
test rcx, rcx
je 0x1401bba18
mov rdx, r8
mov qword [rsp + 0x50], r8
call fcn.14014e3d0
mov r8, qword [rsp + 0x50]
mov r10, rax
test r10, r10
je 0x1401ba76f
mov rcx, r10
xor edx, edx
call sub.msvcrt.dll_memset
mov r10, rax
movsx eax, word [rdi + 0x36]
mov dword [r10], eax
mov rax, qword [rsp + 0x60]
movzx eax, word [rax + 0x60]
cmp ax, 1
jbe 0x1401bba74
mov rcx, qword [rsp + 0x60]
lea ebp, [rax - 2]
mov r8d, 1
mov qword [rsp + 0x200], rsi
mov qword [rsp + 0x210], rbx
add rbp, 2
mov rbx, r8
mov r9, qword [rcx + 8]
mov rcx, rdi
mov rdi, r10
mov rsi, r9
jmp 0x1401bb867
test ax, ax
js 0x1401bb85a
movsx edx, ax
mov qword [rsp + 0x50], rcx
call fcn.14014c010
mov rcx, qword [rsp + 0x50]
movsx rax, ax
mov dword [rdi + rax*4 + 4], ebx
add rbx, 1
cmp rbp, rbx
je 0x1401bba61
movzx eax, word [rsi + rbx*2 - 2]
test byte [rcx + 0x30], 0x20
jne 0x1401bb83b
test ax, ax
js 0x1401bb85a
jmp 0x1401bb852
mov rax, qword [rsp + 0x218]
jmp 0x1401b90c3
mov rcx, rdx
call fcn.14014dcb0
mov qword [rsp + 0x58], rax
jmp 0x1401ba3b8
mov dword [rsp + 0x90], 0
jmp 0x1401b9c89
mov dword [rsp + 0x20], 0
mov r8d, dword [rsp + 0x74]
movzx edx, cl
mov rcx, r13
call fcn.1401621e0
lea edx, [rax + 1]
jmp 0x1401ba5c4
test esi, esi
je 0x1401baa6e
movzx eax, byte [rbx + 0x1f]
cmp al, 7
ja 0x1401baa6e
lea edx, [rax + 1]
mov byte [rbx + 0x1f], dl
mov dword [rbx + rax*4 + 0xc8], esi
jmp 0x1401baa6e
mov rax, qword [rsp + 0x1f0]
mov eax, dword [rax + 0x118]
mov dword [rsp + 0x98], eax
test eax, eax
je 0x1401bba96
mov rcx, qword [rsp + 0x1f0]
mov qword [rsp + 0x60], 0
mov dword [rsp + 0x98], 0
mov rdx, qword [rcx + 0x10]
jmp 0x1401bab13
mov dword [rsp + 0x28], edi
xor r9d, r9d
mov edx, 0x1f
mov rcx, r13
mov dword [rsp + 0x20], esi
mov r8d, dword [rsp + 0x88]
call fcn.1401632b0
mov r10d, eax
cmp ebp, 0xffffffff
je 0x1401baa5a
mov ebp, dword [rsp + 0x9c]
mov r9d, edi
mov r8d, esi
mov rcx, r13
mov edx, 0x5f
mov dword [rsp + 0xcc], eax
mov dword [rsp + 0x20], ebp
call fcn.140162270
mov dword [rsp + 0x28], edi
mov r9d, ebp
mov rcx, r13
mov dword [rsp + 0x20], esi
mov r8d, dword [rsp + 0x88]
mov edx, 0x88
call fcn.1401632b0
movsxd rax, dword [r13 + 0x98]
mov r10d, dword [rsp + 0xcc]
test eax, eax
jle 0x1401baa5a
mov rbp, qword [r13 + 0x90]
lea rax, [rax + rax*2]
mov edx, 0x10
lea rax, [rbp + rax*8]
mov word [rax - 0x16], dx
jmp 0x1401baa5a
mov dword [rsp + 0xc0], 1
movzx ebp, bpl
mov dword [rsp + 0xc8], 1
jmp 0x1401baea9
xor r9d, r9d
xor r8d, r8d
mov edx, 0xb
mov rcx, rbp
mov dword [rsp + 0x20], 0
call fcn.1401621e0
mov r10d, eax
jmp 0x1401badaf
mov rcx, r8
mov qword [rsp + 0x50], r8
call fcn.14014dcb0
mov r8, qword [rsp + 0x50]
mov r10, rax
jmp 0x1401bb7d7
mov dword [rsp + 0x20], 0
xor r9d, r9d
mov edx, 0x7a
mov rcx, r13
mov dword [rsp + 0xb8], r10d
call fcn.1401621e0
mov r10d, dword [rsp + 0xb8]
mov ebp, eax
jmp 0x1401bac60
mov rsi, qword [rsp + 0x200]
mov rbx, qword [rsp + 0x210]
mov r10, rdi
mov r9d, 0xfffffff1
mov r8, r10
mov edx, 0xffffffff
mov rcx, r12
call fcn.14015cbc0
jmp 0x1401ba76f
xor eax, eax
jmp 0x1401ba74f
mov rax, qword [rsp + 0x1f0]
mov dword [rax + 0x118], 0
mov qword [rbx + 0x40], 0
jmp 0x1401bab6b
jmp 0x14022d43a
jmp 0x14022d430
jmp 0x14022d444
movzx eax, word [0x5e]
ud2
movzx eax, word [0x5e]
ud2
mov rax, qword [rsp + 0x1f0]
add dword [rax + 0x34], 1
movzx eax, word [0x5e]
ud2