Function at 0x1401685b0
Capabilities:
Encode data using base64
Inspect section memory permissions
Parse credit card information

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xf8
mov rsi, rdx
mov rdi, rcx
mov rax, qword [0x1402f4538]
xor rax, rsp
mov qword [rsp + 0xf0], rax
mov rcx, qword [rcx + 0xe0]
test rcx, rcx
je 0x1401685f3
mov r8, qword [rdi]
mov rax, qword [rcx]
mov rdx, rsi
call qword [rax + 0x20]
mov rcx, qword [rdi]
mov rdx, qword [rcx + 0x18]
mov rax, qword [rcx + 0x20]
sub rdx, rax
cmp rdx, 1
ja 0x140168675
lea rdx, [0x1402ef76d]
mov r8d, 2
call fcn.140022660
test byte [rsi + 0x17], 0x10
je 0x140168685
mov rbx, qword [rdi]
xor eax, eax
cmp byte [rsi + 0x10], 4
setae al
lea ebp, [rax + rax*2]
lea r14, [rsp + 0xa0]
mov rcx, rsi
mov rdx, r14
call fcn.140121050
mov rcx, rbx
mov rdx, r14
mov r8d, ebp
call fcn.140166c60
mov rcx, qword [rdi]
mov rdx, qword [rcx + 0x18]
mov rax, qword [rcx + 0x20]
sub rdx, rax
cmp rdx, 2
ja 0x14016869d
lea rdx, [0x1402eefc7]
mov r8d, 3
jmp 0x1401687b5
mov word [rax], 0x2020
add qword [rcx + 0x20], 2
test byte [rsi + 0x17], 0x10
jne 0x14016861f
mov rax, qword [rsi]
cmp byte [rax + 8], 7
jne 0x1401686ba
cmp byte [rsi + 0x10], 0x54
jne 0x14016892c
jmp 0x1401687c4
mov byte [rax + 2], 0x20
mov word [rax], 0x3d20
add qword [rcx + 0x20], 3
cmp byte [rsi + 0x10], 0x54
je 0x1401687c4
jmp 0x14016892c
mov rbx, qword [rdi + 0x20]
cmp qword [rbx + 8], 0
je 0x1401686d5
mov rcx, rbx
call fcn.140163620
mov qword [rbx + 8], 0
cmp qword [rbx + 0x10], 0
je 0x1401686ea
cmp byte [rbx + 0x18], 0
jne 0x1401686ea
mov rcx, rbx
call fcn.140163fd0
mov rax, qword [rbx + 0xc8]
mov ecx, dword [rbx + 0xd8]
test rcx, rcx
je 0x140168750
mov r8d, esi
shr r8d, 4
mov edx, esi
shr edx, 9
xor edx, r8d
lea r8d, [rcx - 1]
and edx, r8d
mov r9, rdx
shl r9, 4
mov r11, qword [rax + r9]
cmp r11, rsi
je 0x140168757
mov r10d, 1
cmp r11, 0xfffffffffffff000
je 0x140168750
add edx, r10d
inc r10d
and edx, r8d
mov r11, rdx
shl r11, 4
lea r9, [rax + r11]
mov r11, qword [rax + r11]
cmp r11, rsi
je 0x14016875a
jmp 0x140168728
mov r9, rcx
shl r9, 4
add r9, rax
shl rcx, 4
add rax, rcx
cmp r9, rax
je 0x140168790
mov ebx, dword [r9 + 8]
cmp ebx, 0xffffffff
je 0x140168790
mov rcx, qword [rdi]
mov rax, qword [rcx + 0x20]
cmp rax, qword [rcx + 0x18]
jae 0x1401688be
lea rdx, [rax + 1]
mov qword [rcx + 0x20], rdx
mov byte [rax], 0x25
jmp 0x1401688c8
mov rcx, qword [rdi]
mov rdx, qword [rcx + 0x18]
mov rax, qword [rcx + 0x20]
sub rdx, rax
cmp rdx, 0xa
ja 0x140168888
lea rdx, str._badref__
mov r8d, 0xb
call fcn.140022660
cmp byte [rsi + 0x10], 0x54
jne 0x14016892c
movzx eax, word [rsi + 0x12]
and eax, 3
cmp ax, 2
jne 0x1401687fc
mov rcx, qword [rdi]
mov rdx, qword [rcx + 0x18]
mov rax, qword [rcx + 0x20]
sub rdx, rax
cmp rdx, 8
ja 0x140168834
lea rdx, str.musttail
mov r8d, 9
call fcn.140022660
jmp 0x14016892c
mov ecx, eax
dec ecx
cmp ecx, 1
ja 0x14016884f
mov rcx, qword [rdi]
mov rdx, qword [rcx + 0x18]
mov rax, qword [rcx + 0x20]
sub rdx, rax
cmp rdx, 4
ja 0x1401688ad
lea rdx, [0x1402ee5b2]
mov r8d, 5
call fcn.140022660
jmp 0x14016892c
movabs rdx, 0x6c6961747473756d
mov qword [rax], rdx
mov byte [rax + 8], 0x20
add qword [rcx + 0x20], 9
jmp 0x14016892c
cmp ax, 3
jne 0x14016892c
mov rcx, qword [rdi]
mov rdx, qword [rcx + 0x18]
mov rax, qword [rcx + 0x20]
sub rdx, rax
cmp rdx, 6
ja 0x14016891a
lea rdx, str.notail
mov r8d, 7
call fcn.140022660
jmp 0x14016892c
movabs rdx, 0x3e6665726461623c
mov qword [rax], rdx
mov dword [rax + 7], 0x203d203e
add qword [rcx + 0x20], 0xb
cmp byte [rsi + 0x10], 0x54
je 0x1401687c4
jmp 0x14016892c
mov byte [rax + 4], 0x20
mov dword [rax], 0x6c696174
add qword [rcx + 0x20], 5
jmp 0x14016892c
mov dl, 0x25
call fcn.1400225c0
mov rcx, rax
mov edx, ebx
call fcn.140021b30
mov rdx, qword [rax + 0x18]
mov rcx, qword [rax + 0x20]
sub rdx, rcx
cmp rdx, 2
ja 0x140168900
lea rdx, [0x1402eefc7]
mov r8d, 3
mov rcx, rax
call fcn.140022660
cmp byte [rsi + 0x10], 0x54
jne 0x14016892c
jmp 0x1401687c4
mov byte [rcx + 2], 0x20
mov word [rcx], 0x3d20
add qword [rax + 0x20], 3
cmp byte [rsi + 0x10], 0x54
je 0x1401687c4
jmp 0x14016892c
mov dword [rax + 3], 0x206c6961
mov dword [rax], 0x61746f6e
add qword [rcx + 0x20], 7
mov rbx, qword [rdi]
movzx ecx, byte [rsi + 0x10]
add ecx, 0xffffffe4
call fcn.140152140
test rax, rax
je 0x140168982
mov r14, rax
mov rcx, rax
call fcn.140242e00
mov r15, rax
mov rax, qword [rbx + 0x18]
mov rcx, qword [rbx + 0x20]
sub rax, rcx
cmp r15, rax
jbe 0x14016896e
mov rcx, rbx
mov rdx, r14
mov r8, r15
call fcn.140022660
jmp 0x140168982
test r15, r15
je 0x140168982
mov rdx, r14
mov r8, r15
call fcn.140242bf0
add qword [rbx + 0x20], r15
movzx eax, byte [rsi + 0x10]
cmp eax, 0x3d
je 0x1401689a1
cmp eax, 0x3c
jne 0x1401689eb
mov rcx, rsi
call fcn.140152160
test al, al
jne 0x1401689ad
jmp case.0x140168a46.60
mov rcx, rsi
call fcn.140152160
test al, al
je 0x1401689e7
mov rcx, qword [rdi]
mov rdx, qword [rcx + 0x18]
mov rax, qword [rcx + 0x20]
sub rdx, rax
cmp rdx, 6
ja 0x1401689d5
lea rdx, str._atomic
mov r8d, 7
call fcn.140022660
jmp 0x1401689e7
mov dword [rax + 3], 0x63696d6f
mov dword [rax], 0x6f746120
add qword [rcx + 0x20], 7
movzx eax, byte [rsi + 0x10]
cmp al, 0x40
jne 0x140168a2c
test byte [rsi + 0x12], 2
je 0x140168a2c
mov rcx, qword [rdi]
mov rdx, qword [rcx + 0x18]
mov rax, qword [rcx + 0x20]
sub rdx, rax
cmp rdx, 4
ja 0x140168a1d
lea rdx, str._weak
mov r8d, 5
call fcn.140022660
jmp 0x140168a2c
mov byte [rax + 4], 0x6b
mov dword [rax], 0x61657720
add qword [rcx + 0x20], 5
movzx eax, byte [rsi + 0x10]
add eax, 0xffffffc4
cmp eax, 5
ja case.0x140168a46.62
lea rcx, [0x14016abd8]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
test byte [rsi + 0x12], 1
je case.0x140168a46.62
mov rcx, qword [rdi]
mov rdx, qword [rcx + 0x18]
mov rax, qword [rcx + 0x20]
sub rdx, rax
cmp rdx, 8
ja 0x140168a76
lea rdx, str._volatile
mov r8d, 9
call fcn.140022660
jmp case.0x140168a46.62
movabs rdx, 0x6c6974616c6f7620
mov qword [rax], rdx
mov byte [rax + 8], 0x65
add qword [rcx + 0x20], 9
mov rcx, qword [rdi]
mov rdx, rsi
call fcn.1401787a0
movzx eax, byte [rsi + 0x10]
mov ecx, eax
add ecx, 0xffffffad
xor r14d, r14d
cmp ecx, 0xfffffffe
cmovae r14, rsi
jb 0x140168b36
mov rbx, qword [rdi]
mov rax, qword [rbx + 0x20]
cmp rax, qword [rbx + 0x18]
jae 0x140168aca
lea rcx, [rax + 1]
mov qword [rbx + 0x20], rcx
mov byte [rax], 0x20
jmp 0x140168ad7
mov rcx, rbx
mov dl, 0x20
call fcn.1400225c0
mov rbx, rax
movzx edx, word [r14 + 0x12]
and edx, 0x3f
lea rcx, [rsp + 0x90]
call fcn.1401512a0
mov r14, qword [rsp + 0x98]
mov rax, qword [rbx + 0x18]
mov rcx, qword [rbx + 0x20]
sub rax, rcx
cmp r14, rax
jbe 0x140168b19
mov rdx, qword [rsp + 0x90]
mov rcx, rbx
mov r8, r14
call fcn.140022660
jmp 0x140168b32
test r14, r14
je 0x140168b32
mov rdx, qword [rsp + 0x90]
mov r8, r14
call fcn.140242bf0
add qword [rbx + 0x20], r14
movzx eax, byte [rsi + 0x10]
xor r14d, r14d
cmp al, 0x41
cmove r14, rsi
jne 0x140168bca
mov rbx, qword [rdi]
mov rax, qword [rbx + 0x20]
cmp rax, qword [rbx + 0x18]
jae 0x140168b5f
lea rcx, [rax + 1]
mov qword [rbx + 0x20], rcx
mov byte [rax], 0x20
jmp 0x140168b6c
mov rcx, rbx
mov dl, 0x20
call fcn.1400225c0
mov rbx, rax
movzx edx, word [r14 + 0x12]
shr edx, 4
and edx, 0x1f
lea rcx, [rsp + 0x80]
call fcn.14014e440
mov r14, qword [rsp + 0x88]
mov rax, qword [rbx + 0x18]
mov rcx, qword [rbx + 0x20]
sub rax, rcx
cmp r14, rax
jbe 0x140168bb1
mov rdx, qword [rsp + 0x80]
mov rcx, rbx
mov r8, r14
call fcn.140022660
jmp 0x140168bca
test r14, r14
je 0x140168bca
mov rdx, qword [rsp + 0x80]
mov r8, r14
call fcn.140242bf0
add qword [rbx + 0x20], r14
mov eax, dword [rsi + 0x14]
mov ecx, eax
and ecx, 0x7ffffff
je 0x140168bed
test eax, 0x40000000
jne 0x140168bfe
mov rdx, rcx
shl rdx, 5
mov rax, rsi
sub rax, rdx
jmp 0x140168c02
movzx eax, byte [rsi + 0x10]
cmp al, 0x1e
je case.0x140169d6f.66
xor r14d, r14d
jmp 0x140168c37
mov rax, qword [rsi - 8]
mov r14, qword [rax]
movzx eax, byte [rsi + 0x10]
cmp al, 0x1e
jne 0x140168c37
cmp ecx, 3
jne 0x140168cb5
mov rcx, qword [rdi]
mov rax, qword [rcx + 0x20]
cmp rax, qword [rcx + 0x18]
jae 0x14016900d
lea rdx, [rax + 1]
mov qword [rcx + 0x20], rdx
mov byte [rax], 0x20
jmp 0x140169014
cmp al, 0x20
je 0x140168c64
movzx ecx, al
cmp ecx, 0x1f
jne 0x140168c85
mov rcx, qword [rdi]
mov rax, qword [rcx + 0x20]
cmp rax, qword [rcx + 0x18]
jae 0x140168d19
lea rdx, [rax + 1]
mov qword [rcx + 0x20], rdx
mov byte [rax], 0x20
jmp 0x140168d20
mov rcx, qword [rdi]
mov rax, qword [rcx + 0x20]
cmp rax, qword [rcx + 0x18]
jae 0x140168d3b
lea rdx, [rax + 1]
mov qword [rcx + 0x20], rdx
mov byte [rax], 0x20
jmp 0x140168d42
xor r15d, r15d
cmp al, 0x53
cmove r15, rsi
jne 0x140168d78
mov rcx, qword [rdi]
mov rax, qword [rcx + 0x20]
cmp rax, qword [rcx + 0x18]
jae 0x1401690aa
lea rdx, [rax + 1]
mov qword [rcx + 0x20], rdx
mov byte [rax], 0x20
jmp 0x1401690b1
test r14, r14
je 0x140169bfa
mov r14, qword [r14]
movzx eax, byte [rsi + 0x10]
add al, 0xe3
cmp al, 0x3f
jae 0x140168ce4
movzx eax, al
mov bl, 1
movabs rcx, 0x4100001900000001
bt rcx, rax
jb 0x140169514
mov eax, dword [rsi + 0x14]
mov edx, eax
and edx, 0x7ffffff
cmp edx, 1
jne 0x1401694aa
mov rcx, qword [rdi]
mov rax, qword [rcx + 0x20]
cmp rax, qword [rcx + 0x18]
jae 0x1401694fc
lea rdx, [rax + 1]
mov qword [rcx + 0x20], rdx
mov byte [rax], 0x20
jmp 0x140169503
mov dl, 0x20
call fcn.1400225c0
mov eax, dword [rsi + 0x14]
test eax, 0x40000000
jne 0x140168da7
and eax, 0x7ffffff
shl rax, 5
mov rcx, rsi
sub rcx, rax
jmp 0x140168dab
mov dl, 0x20
call fcn.1400225c0
mov rcx, rdi
mov rdx, r14
mov r8b, 1
call fcn.14016fbc0
mov rcx, qword [rdi]
mov rdx, qword [rcx + 0x18]
mov rax, qword [rcx + 0x20]
sub rdx, rax
cmp rdx, 2
ja 0x140168de1
lea rdx, [0x1402c7a5d]
mov r8d, 3
call fcn.140022660
jmp 0x140168def
xor ebx, ebx
cmp al, 0x5c
cmove rbx, rsi
jne 0x1401690e1
mov rcx, qword [rdi]
mov rax, qword [rcx + 0x20]
cmp rax, qword [rcx + 0x18]
jae 0x1401695fa
lea rdx, [rax + 1]
mov qword [rcx + 0x20], rdx
mov byte [rax], 0x20
jmp 0x140169601
mov rcx, qword [rsi - 8]
mov rdx, qword [rcx]
mov rcx, rdi
mov r8b, 1
call fcn.14016fbc0
mov rcx, qword [rdi]
mov rdx, qword [rcx + 0x18]
mov rax, qword [rcx + 0x20]
sub rdx, rax
cmp rdx, 1
ja 0x140168e20
lea rdx, [0x1402ef6e8]
mov r8d, 2
call fcn.140022660
jmp 0x140168e2a
mov byte [rax + 2], 0x5b
mov word [rax], 0x202c
add qword [rcx + 0x20], 3
mov eax, dword [rsi + 0x14]
mov ebx, eax
and ebx, 0x7ffffff
cmp ebx, 1
je 0x14016912c
test eax, 0x40000000
jne 0x140169110
mov rcx, rbx
shl rcx, 5
mov rax, rsi
sub rax, rcx
jmp 0x140169114
mov word [rax], 0x202c
add qword [rcx + 0x20], 2
mov eax, dword [rsi + 0x14]
test eax, 0x40000000
jne 0x140168e45
and eax, 0x7ffffff
shl rax, 5
mov rcx, rsi
sub rcx, rax
jmp 0x140168e49
mov rcx, qword [rsi - 8]
mov rdx, qword [rcx + 0x20]
mov rcx, rdi
mov r8b, 1
call fcn.14016fbc0
mov rcx, qword [rdi]
mov rdx, qword [rcx + 0x18]
mov rax, qword [rcx + 0x20]
sub rdx, rax
cmp rdx, 1
ja 0x140168e80
lea rdx, [0x1402c7a5e]
mov r8d, 2
call fcn.140022660
jmp 0x140168e8a
mov word [rax], 0x5b20
add qword [rcx + 0x20], 2
mov r15d, dword [rsi + 0x14]
shr r15d, 1
and r15d, 0x3ffffff
dec r15d
je 0x140168fd2
add r15, r15
xor r12d, r12d
lea rbx, str._n
lea r14, [0x1402ef6e8]
movabs r13, 0x1fffffffc
mov ebp, 1
jmp 0x140168f0c
and ecx, 0x7ffffff
shl rcx, 5
mov rax, rsi
sub rax, rcx
lea ecx, [r12 + 3]
cmp r12, r13
cmove rcx, rbp
shl rcx, 5
mov rdx, qword [rax + rcx]
mov rcx, rdi
mov r8b, 1
call fcn.14016fbc0
add r12, 2
cmp r15, r12
je 0x140168fd2
mov rcx, qword [rdi]
mov rdx, qword [rcx + 0x18]
mov rax, qword [rcx + 0x20]
sub rdx, rax
cmp rdx, 4
ja 0x140168f30
mov r8d, 5
mov rdx, rbx
call fcn.140022660
jmp 0x140168f3f
mov byte [rax + 4], 0x20
mov dword [rax], 0x2020200a
add qword [rcx + 0x20], 5
mov ecx, dword [rsi + 0x14]
test ecx, 0x40000000
jne 0x140168f60
and ecx, 0x7ffffff
shl rcx, 5
mov rax, rsi
sub rax, rcx
jmp 0x140168f64
mov rax, qword [rsi - 8]
lea ecx, [r12 + 2]
and ecx, 0xfffffffe
shl rcx, 5
mov rdx, qword [rax + rcx]
mov rcx, rdi
mov r8b, 1
call fcn.14016fbc0
mov rcx, qword [rdi]
mov rdx, qword [rcx + 0x18]
mov rax, qword [rcx + 0x20]
sub rdx, rax
cmp rdx, 1
ja 0x140168fb0
mov r8d, 2
mov rdx, r14
call fcn.140022660
jmp 0x140168fba
mov word [rax], 0x202c
add qword [rcx + 0x20], 2
mov ecx, dword [rsi + 0x14]
test ecx, 0x40000000
je 0x140168ed0
mov rax, qword [rsi - 8]
jmp 0x140168ee0
mov rcx, qword [rdi]
mov rdx, qword [rcx + 0x18]
mov rax, qword [rcx + 0x20]
sub rdx, rax
cmp rdx, 3
ja 0x140168ffd
lea rdx, str._n___
mov r8d, 4
call fcn.140022660
jmp 0x140169bfa
mov dword [rax], 0x5d20200a
add qword [rcx + 0x20], 4
jmp 0x140169bfa
mov dl, 0x20
call fcn.1400225c0
mov rdx, qword [rsi - 0x60]
mov rcx, rdi
mov r8b, 1
call fcn.14016fbc0
mov rcx, qword [rdi]
mov rdx, qword [rcx + 0x18]
mov rax, qword [rcx + 0x20]
sub rdx, rax
cmp rdx, 1
ja 0x14016904b
lea rdx, [0x1402ef6e8]
mov r8d, 2
call fcn.140022660
jmp 0x140169055
mov word [rax], 0x202c
add qword [rcx + 0x20], 2
mov rdx, qword [rsi - 0x20]
mov rcx, rdi
mov r8b, 1
call fcn.14016fbc0
mov rcx, qword [rdi]
mov rdx, qword [rcx + 0x18]
mov rax, qword [rcx + 0x20]
sub rdx, rax
cmp rdx, 1
ja 0x14016908c
lea rdx, [0x1402ef6e8]
mov r8d, 2
call fcn.140022660
jmp 0x140169096
mov word [rax], 0x202c
add qword [rcx + 0x20], 2
mov rdx, qword [rsi - 0x40]
mov rcx, rdi
mov r8b, 1
call fcn.14016fbc0
jmp 0x140169bfa
mov dl, 0x20
call fcn.1400225c0
lea rbx, [rdi + 0x28]
mov r8, qword [rdi]
mov rdx, qword [rsi]
mov rcx, rbx
call fcn.140166f80
mov rcx, qword [rdi]
mov rax, qword [rcx + 0x20]
cmp rax, qword [rcx + 0x18]
jae 0x140169155
lea rdx, [rax + 1]
mov qword [rcx + 0x20], rdx
mov byte [rax], 0x20
jmp 0x14016915c
xor ebx, ebx
cmp al, 0x5d
cmove rbx, rsi
jne 0x14016961c
mov rcx, qword [rdi]
mov rax, qword [rcx + 0x20]
cmp rax, qword [rcx + 0x18]
jae 0x1401696c9
lea rdx, [rax + 1]
mov qword [rcx + 0x20], rdx
mov byte [rax], 0x20
jmp 0x1401696d0
mov rax, qword [rsi - 8]
mov rdx, qword [rax + 0x20]
mov rcx, rdi
mov r8b, 1
call fcn.14016fbc0
cmp ebx, 2
jne 0x14016941f
mov rcx, qword [rdi]
mov rax, qword [rcx + 0x20]
cmp rax, qword [rcx + 0x18]
jae 0x140169149
lea rdx, [rax + 1]
mov qword [rcx + 0x20], rdx
mov byte [rax], 0x5d
jmp 0x140169bfa
mov dl, 0x5d
call fcn.1400225c0
jmp 0x140169bfa
mov dl, 0x20
call fcn.1400225c0
mov r14d, dword [r15 + 0x14]
and r14, 0x7ffffff
je 0x140169bfa
shl r14, 3
xor r13d, r13d
lea r12, fcn.1400039b0
lea rbp, [rsp + 0xa0]
jmp 0x1401691a7
mov word [rax], 0x5d20
add qword [rcx + 0x20], 2
add r13, 8
cmp r14, r13
je 0x140169bfa
test r13, r13
je 0x1401691ea
mov rcx, qword [rdi]
mov rdx, qword [rcx + 0x18]
mov rax, qword [rcx + 0x20]
sub rdx, rax
cmp rdx, 1
ja 0x1401691e0
mov r8d, 2
lea rdx, [0x1402ef6e8]
call fcn.140022660
jmp 0x1401691ea
mov word [rax], 0x202c
add qword [rcx + 0x20], 2
mov rcx, qword [rdi]
mov rdx, qword [rcx + 0x18]
mov rax, qword [rcx + 0x20]
sub rdx, rax
cmp rdx, 1
ja 0x140169220
mov r8d, 2
lea rdx, [0x1402eef5e]
call fcn.140022660
jmp 0x14016922a
mov word [rax], 0x205b
add qword [rcx + 0x20], 2
mov eax, dword [r15 + 0x14]
test eax, 0x40000000
jne 0x140169250
and eax, 0x7ffffff
shl rax, 5
mov rcx, r15
sub rcx, rax
jmp 0x140169254
mov rcx, qword [r15 - 8]
mov rdx, qword [rcx + r13*4]
test rdx, rdx
je 0x1401692a0
mov rax, qword [rdi + 8]
mov rcx, qword [rdi + 0x20]
mov qword [rsp + 0xa0], r12
mov qword [rsp + 0xa8], rbx
mov qword [rsp + 0xb0], rcx
mov qword [rsp + 0xb8], rax
mov rcx, qword [rdi]
mov r8, rbp
call fcn.14016f0e0
jmp 0x1401692f0
mov rcx, qword [rdi]
mov rdx, qword [rcx + 0x18]
mov rax, qword [rcx + 0x20]
sub rdx, rax
cmp rdx, 0xe
ja 0x1401692c8
mov r8d, 0xf
lea rdx, str._null_operand__
call fcn.140022660
jmp 0x1401692f0
movabs rdx, 0x3e21646e61726570
mov qword [rax + 7], rdx
movabs rdx, 0x706f206c6c756e3c
mov qword [rax], rdx
add qword [rcx + 0x20], 0xf
nop dword [rax + rax]
mov rcx, qword [rdi]
mov rdx, qword [rcx + 0x18]
mov rax, qword [rcx + 0x20]
sub rdx, rax
cmp rdx, 1
ja 0x140169320
mov r8d, 2
lea rdx, [0x1402ef6e8]
call fcn.140022660
jmp 0x14016932a
mov word [rax], 0x202c
add qword [rcx + 0x20], 2
mov eax, dword [r15 + 0x14]
test eax, 0x40000000
jne 0x140169350
and eax, 0x7ffffff
shl rax, 5
mov rcx, r15
sub rcx, rax
jmp 0x140169354
mov rcx, qword [r15 - 8]
mov eax, dword [r15 + 0x40]
shl rax, 5
add rax, rcx
mov rdx, qword [r13 + rax]
test rdx, rdx
je 0x1401693a0
mov rax, qword [rdi + 8]
mov rcx, qword [rdi + 0x20]
mov qword [rsp + 0xa0], r12
mov qword [rsp + 0xa8], rbx
mov qword [rsp + 0xb0], rcx
mov qword [rsp + 0xb8], rax
mov rcx, qword [rdi]
mov r8, rbp
call fcn.14016f0e0
jmp 0x1401693f0
mov rcx, qword [rdi]
mov rdx, qword [rcx + 0x18]
mov rax, qword [rcx + 0x20]
sub rdx, rax
cmp rdx, 0xe
ja 0x1401693c8
mov r8d, 0xf
lea rdx, str._null_operand__
call fcn.140022660
jmp 0x1401693f0
movabs rdx, 0x3e21646e61726570
mov qword [rax + 7], rdx
movabs rdx, 0x706f206c6c756e3c
mov qword [rax], rdx
add qword [rcx + 0x20], 0xf
nop dword [rax + rax]
mov rcx, qword [rdi]
mov rdx, qword [rcx + 0x18]
mov rax, qword [rcx + 0x20]
sub rdx, rax
cmp rdx, 1
ja 0x140169190
mov r8d, 2
lea rdx, [0x1402c7a57]
call fcn.140022660
jmp 0x14016919a
lea ebp, [rbx - 2]
mov r14d, 0x40
lea rbx, [0x1402ef6e8]
jmp 0x14016946a
and eax, 0x7ffffff
shl rax, 5
mov rcx, rsi
sub rcx, rax
mov rdx, qword [rcx + r14]
mov rcx, rdi
mov r8b, 1
call fcn.14016fbc0
add r14, 0x20
dec ebp
je 0x14016912c
mov rcx, qword [rdi]
mov rdx, qword [rcx + 0x18]
mov rax, qword [rcx + 0x20]
sub rdx, rax
cmp rdx, 1
ja 0x140169490
mov r8d, 2
mov rdx, rbx
call fcn.140022660
jmp 0x14016949a
mov word [rax], 0x202c
add qword [rcx + 0x20], 2
mov eax, dword [rsi + 0x14]
test eax, 0x40000000
je 0x140169440
mov rcx, qword [rsi - 8]
jmp 0x14016944f
mov r8, rdx
shl r8, 5
mov rcx, rsi
sub rcx, r8
dec edx
mov r8d, 0x20
jmp 0x1401694dc
add r8, 0x20
dec edx
je 0x140168cf8
mov r9, rcx
test eax, 0x40000000
je 0x1401694ea
mov r9, qword [rsi - 8]
mov r9, qword [r9 + r8]
test r9, r9
je 0x1401694d0
cmp qword [r9], r14
je 0x1401694d0
mov bl, 1
jmp 0x140169514
mov dl, 0x20
call fcn.1400225c0
lea rcx, [rdi + 0x28]
mov r8, qword [rdi]
mov rdx, r14
call fcn.140166f80
xor ebx, ebx
mov rcx, qword [rdi]
mov rax, qword [rcx + 0x20]
cmp rax, qword [rcx + 0x18]
jae 0x14016952e
lea rdx, [rax + 1]
mov qword [rcx + 0x20], rdx
mov byte [rax], 0x20
jmp 0x140169535
mov dl, 0x20
call fcn.1400225c0
mov eax, dword [rsi + 0x14]
mov r15d, eax
and r15d, 0x7ffffff
je 0x140169bfa
test eax, 0x40000000
jne 0x14016955e
mov rcx, r15
shl rcx, 5
mov rax, rsi
sub rax, rcx
jmp 0x140169562
mov rax, qword [rsi - 8]
mov rdx, qword [rax]
mov rcx, rdi
mov r8d, ebx
call fcn.14016fbc0
cmp r15d, 1
je 0x140169bfa
dec r15
mov r12d, 0x20
lea r14, [0x1402ef6e8]
jmp 0x1401695bb
and eax, 0x7ffffff
shl rax, 5
mov rcx, rsi
sub rcx, rax
mov rdx, qword [rcx + r12]
mov rcx, rdi
mov r8d, ebx
call fcn.14016fbc0
add r12, 0x20
dec r15
je 0x140169bfa
mov rcx, qword [rdi]
mov rdx, qword [rcx + 0x18]
mov rax, qword [rcx + 0x20]
sub rdx, rax
cmp rdx, 1
ja 0x1401695e0
mov r8d, 2
mov rdx, r14
call fcn.140022660
jmp 0x1401695ea
mov word [rax], 0x202c
add qword [rcx + 0x20], 2
mov eax, dword [rsi + 0x14]
test eax, 0x40000000
je 0x140169590
mov rcx, qword [rsi - 8]
jmp 0x14016959f
mov dl, 0x20
call fcn.1400225c0
mov eax, dword [rsi + 0x14]
test eax, 0x40000000
jne 0x14016964c
and eax, 0x7ffffff
shl rax, 5
mov rcx, rsi
sub rcx, rax
jmp 0x140169650
xor r12d, r12d
cmp al, 0x5e
cmove r12, rsi
jne 0x1401696eb
mov rcx, qword [rdi]
mov rax, qword [rcx + 0x20]
cmp rax, qword [rcx + 0x18]
jae 0x140169809
lea rdx, [rax + 1]
mov qword [rcx + 0x20], rdx
mov byte [rax], 0x20
jmp 0x140169810
mov rcx, qword [rsi - 8]
mov rdx, qword [rcx]
mov rcx, rdi
mov r8b, 1
call fcn.14016fbc0
mov r14d, dword [rbx + 0x48]
test r14, r14
je 0x140169bfa
mov r15, qword [rbx + 0x40]
shl r14, 2
xor r12d, r12d
lea rbx, [0x1402ef6e8]
jmp 0x14016969e
mov word [rax], 0x202c
add qword [rcx + 0x20], 2
mov edx, ebp
call fcn.140021b10
add r12, 4
cmp r14, r12
je 0x140169bfa
mov ebp, dword [r15 + r12]
mov rcx, qword [rdi]
mov rdx, qword [rcx + 0x18]
mov rax, qword [rcx + 0x20]
sub rdx, rax
cmp rdx, 1
ja 0x140169680
mov r8d, 2
mov rdx, rbx
call fcn.140022660
mov rcx, rax
jmp 0x14016968a
mov dl, 0x20
call fcn.1400225c0
mov eax, dword [rsi + 0x14]
test eax, 0x40000000
jne 0x14016972c
and eax, 0x7ffffff
shl rax, 5
mov rcx, rsi
sub rcx, rax
jmp 0x140169730
xor r15d, r15d
cmp al, 0x26
cmove r15, rsi
jne 0x14016984c
mov rcx, qword [rdi]
lea rdx, str._within
call fcn.140012020
mov eax, dword [r15 + 0x14]
test eax, 0x40000000
jne 0x1401699d0
and eax, 0x7ffffff
shl rax, 5
mov rcx, r15
sub rcx, rax
jmp 0x1401699d4
mov rcx, qword [rsi - 8]
mov rdx, qword [rcx]
mov rcx, rdi
mov r8b, 1
call fcn.14016fbc0
mov rcx, qword [rdi]
mov rdx, qword [rcx + 0x18]
mov rax, qword [rcx + 0x20]
sub rdx, rax
cmp rdx, 1
ja 0x140169766
lea rdx, [0x1402ef6e8]
mov r8d, 2
call fcn.140022660
jmp 0x140169770
mov word [rax], 0x202c
add qword [rcx + 0x20], 2
mov eax, dword [rsi + 0x14]
test eax, 0x40000000
jne 0x14016978b
and eax, 0x7ffffff
shl rax, 5
mov rcx, rsi
sub rcx, rax
jmp 0x14016978f
mov rcx, qword [rsi - 8]
mov rdx, qword [rcx + 0x20]
mov rcx, rdi
mov r8b, 1
call fcn.14016fbc0
mov r14d, dword [rbx + 0x48]
test r14, r14
je 0x140169bfa
mov r15, qword [rbx + 0x40]
shl r14, 2
xor r12d, r12d
lea rbx, [0x1402ef6e8]
jmp 0x1401697de
mov word [rax], 0x202c
add qword [rcx + 0x20], 2
mov edx, ebp
call fcn.140021b10
add r12, 4
cmp r14, r12
je 0x140169bfa
mov ebp, dword [r15 + r12]
mov rcx, qword [rdi]
mov rdx, qword [rcx + 0x18]
mov rax, qword [rcx + 0x20]
sub rdx, rax
cmp rdx, 1
ja 0x1401697c0
mov r8d, 2
mov rdx, rbx
call fcn.140022660
mov rcx, rax
jmp 0x1401697ca
mov dl, 0x20
call fcn.1400225c0
lea rcx, [rdi + 0x28]
mov r8, qword [rdi]
mov rdx, qword [rsi]
call fcn.140166f80
test byte [r12 + 0x12], 1
jne 0x140169832
test dword [r12 + 0x14], 0x7ffffff
je 0x140169886
mov rcx, qword [rdi]
mov rax, qword [rcx + 0x20]
cmp rax, qword [rcx + 0x18]
jae 0x14016987f
lea rdx, [rax + 1]
mov qword [rcx + 0x20], rdx
mov byte [rax], 0xa
jmp 0x140169886
lea edx, [rcx - 0x51]
xor r15d, r15d
cmp edx, 0xfffffffe
cmovae r15, rsi
jae 0x140169a1b
cmp al, 0x1d
jne 0x140169b9c
test r14, r14
jne 0x140169b9c
mov rcx, qword [rdi]
lea rdx, [0x1402bc520]
jmp 0x140169bf5
mov dl, 0xa
call fcn.1400225c0
test byte [r12 + 0x12], 1
je 0x14016989d
mov rcx, qword [rdi]
lea rdx, str.__________cleanup
call fcn.140012020
mov r13d, dword [r12 + 0x14]
and r13, 0x7ffffff
je 0x140169bfa
shl r13, 5
xor ebp, ebp
lea rbx, str.__________filter
lea r14, str.__________catch
lea r15, [0x1402efa93]
jmp 0x1401698f7
and eax, 0x7ffffff
shl rax, 5
mov rcx, r12
sub rcx, rax
mov rdx, qword [rcx + rbp]
mov rcx, rdi
mov r8b, 1
call fcn.14016fbc0
add rbp, 0x20
cmp r13, rbp
je 0x140169bfa
test rbp, rbp
jne 0x140169904
test byte [r12 + 0x12], 1
je 0x140169928
mov rcx, qword [rdi]
mov rax, qword [rcx + 0x20]
cmp qword [rcx + 0x18], rax
je 0x14016991a
mov byte [rax], 0xa
inc qword [rcx + 0x20]
jmp 0x140169928
mov r8d, 1
mov rdx, r15
call fcn.140022660
mov eax, dword [r12 + 0x14]
test eax, 0x40000000
jne 0x140169945
and eax, 0x7ffffff
shl rax, 5
mov rcx, r12
sub rcx, rax
jmp 0x14016994a
mov rcx, qword [r12 - 8]
mov rax, qword [rcx + rbp]
mov r8, qword [rax]
mov rcx, qword [rdi]
mov rdx, qword [rcx + 0x18]
mov rax, qword [rcx + 0x20]
sub rdx, rax
cmp byte [r8 + 8], 0x11
jne 0x14016997c
cmp rdx, 0x10
ja 0x140169992
mov r8d, 0x11
mov rdx, rbx
call fcn.140022660
jmp 0x1401699b6
cmp rdx, 0xf
ja 0x1401699a7
mov r8d, 0x10
mov rdx, r14
call fcn.140022660
jmp 0x1401699b6
movups xmm0, xmmword [str.__________filter]
movups xmmword [rax], xmm0
mov byte [rax + 0x10], 0x20
add qword [rcx + 0x20], 0x11
jmp 0x1401699b6
movups xmm0, xmmword [str.__________catch]
movups xmmword [rax], xmm0
add qword [rcx + 0x20], 0x10
mov eax, dword [r12 + 0x14]
test eax, 0x40000000
je 0x1401698cc
mov rcx, qword [r12 - 8]
jmp 0x1401698db
mov rcx, qword [r15 - 8]
mov rdx, qword [rcx]
mov rcx, rdi
xor r8d, r8d
call fcn.14016fbc0
mov rcx, qword [rdi]
lea rdx, [0x1402c7a5e]
call fcn.140012020
mov r12d, dword [r15 + 0x14]
test r12d, 0x40000000
jne 0x140169ae9
and r12d, 0x7ffffff
shl r12, 5
mov rax, r15
sub rax, r12
mov r12, rsi
jmp 0x140169afb
mov rcx, qword [rdi]
lea rdx, str._within
call fcn.140012020
mov rdx, qword [r15 - 0x20]
mov rcx, rdi
xor r8d, r8d
call fcn.14016fbc0
mov rcx, qword [rdi]
lea rdx, [0x1402c7a5e]
call fcn.140012020
mov eax, dword [r15 + 0x14]
and eax, 0x7ffffff
mov ebx, eax
dec ebx
je 0x14016912c
shl rax, 5
mov rcx, r15
sub rcx, rax
mov rdx, qword [rcx]
mov rcx, rdi
mov r8b, 1
call fcn.14016fbc0
cmp ebx, 1
je 0x14016912c
mov r14d, ebx
lea r12, [r15 + 0x20]
dec r14
lea rbx, [0x1402ef6e8]
jmp 0x140169ac5
mov word [rax], 0x202c
add qword [rcx + 0x20], 2
mov eax, dword [r15 + 0x14]
and eax, 0x7ffffff
shl rax, 5
neg rax
mov rdx, qword [r12 + rax]
mov rcx, rdi
mov r8b, 1
call fcn.14016fbc0
add r12, 0x20
dec r14
je 0x14016912c
mov rcx, qword [rdi]
mov rdx, qword [rcx + 0x18]
mov rax, qword [rcx + 0x20]
sub rdx, rax
cmp rdx, 1
ja 0x140169a8f
mov r8d, 2
mov rdx, rbx
call fcn.140022660
jmp 0x140169a99
mov rax, qword [r15 - 8]
and r12d, 0x7ffffff
shl r12, 5
add r12, rax
movzx ecx, word [r15 + 0x12]
and ecx, 1
shl rcx, 5
lea r13, [rcx + rax]
add r13, 0x20
cmp r13, r12
je 0x140169b6d
xor ebp, ebp
lea rbx, [0x1402ef6e8]
jmp 0x140169b40
mov word [rax], 0x202c
add qword [rcx + 0x20], 2
mov rcx, rdi
mov rdx, r14
mov r8b, 1
call fcn.14016fbc0
add r13, 0x20
cmp r13, r12
je 0x140169b6d
mov r14, qword [r13]
sub ebp, 1
jb 0x140169b29
mov rcx, qword [rdi]
mov rdx, qword [rcx + 0x18]
mov rax, qword [rcx + 0x20]
sub rdx, rax
cmp rdx, 1
ja 0x140169b1f
mov r8d, 2
mov rdx, rbx
call fcn.140022660
jmp 0x140169b29
mov rcx, qword [rdi]
lea rdx, str.__unwind
call fcn.140012020
test byte [r15 + 0x12], 1
je 0x140169beb
mov eax, dword [r15 + 0x14]
test eax, 0x40000000
jne 0x140169bda
and eax, 0x7ffffff
shl rax, 5
sub r15, rax
jmp 0x140169bde
cmp al, 0x25
jne 0x140169fae
mov rcx, qword [rdi]
lea rdx, [0x1402ee59f]
call fcn.140012020
mov rdx, qword [rsi - 0x40]
mov rcx, rdi
xor r8d, r8d
call fcn.14016fbc0
mov rcx, qword [rdi]
lea rdx, [0x1402edf92]
call fcn.140012020
mov rdx, qword [rsi - 0x20]
jmp 0x14016909a
mov r15, qword [r15 - 8]
mov rdx, qword [r15 + 0x20]
test rdx, rdx
jne 0x14016909a
mov rcx, qword [rdi]
lea rdx, str.to_caller
call fcn.140012020
movzx eax, byte [rsi + 0x10]
xor ebx, ebx
cmp eax, 0x3c
cmove rbx, rsi
je 0x140169c17
xor ebx, ebx
cmp al, 0x3d
cmove rbx, rsi
jne 0x140169d55
mov rcx, rbx
call fcn.140152160
test al, al
je 0x140169c4d
movzx ebp, byte [rbx + 0x40]
movzx r14d, word [rbx + 0x12]
shr r14d, 7
and r14d, 7
mov rcx, rbx
call fcn.140121020
mov rcx, rdi
mov rdx, rax
mov r8d, r14d
mov r9d, ebp
call fcn.1401791d0
movzx ebx, word [rbx + 0x12]
shr ebx, 1
and ebx, 0x3f
mov rax, qword [rdi]
mov rdx, qword [rax + 0x18]
mov rcx, qword [rax + 0x20]
sub rdx, rcx
cmp rdx, 7
ja 0x140169c81
lea rdx, str.__align
mov r8d, 8
mov rcx, rax
call fcn.140022660
jmp 0x140169c93
movabs rdx, 0x206e67696c61202c
mov qword [rcx], rdx
add qword [rax + 0x20], 8
mov edx, 1
mov ecx, ebx
shl rdx, cl
mov rcx, rax
call fcn.140021b50
lea rbx, [rsp + 0xb0]
mov qword [rsp + 0xa0], rbx
movabs rax, 0x400000000
mov qword [rsp + 0xa8], rax
cmp qword [rsi + 0x30], 0
jne 0x140169cd8
mov eax, 0x20000000
and eax, dword [rsi + 0x14]
je 0x140169ce8
lea rdx, [rsp + 0xa0]
mov rcx, rsi
call fcn.140041ba0
lea rax, [0x1402ef6e8]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x30], 2
lea rdx, [rsp + 0xa0]
lea r8, [rsp + 0x28]
mov rcx, rdi
call fcn.14016e040
mov rcx, rdi
mov rdx, rsi
call fcn.1401795c0
mov rcx, qword [rsp + 0xa0]
cmp rcx, rbx
je 0x140169d30
call qword [0x1402f0bf8]
mov rcx, qword [rsp + 0xf0]
xor rcx, rsp
call fcn.140241350
nop
add rsp, 0xf8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
add eax, 0xffffffc1
cmp eax, 0x1c
ja case.0x140169d6f.66
lea rcx, [0x14016abf0]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
movzx ebx, byte [rsi + 0x40]
movzx ebp, word [rsi + 0x12]
and ebp, 7
mov rcx, rsi
call fcn.140121020
mov rcx, rdi
mov rdx, rax
mov r8d, ebp
mov r9d, ebx
call fcn.1401791d0
jmp case.0x140169d6f.66
movzx ebx, byte [rsi + 0x40]
movzx r14d, word [rsi + 0x12]
mov r12d, r14d
shr r12d, 5
shr r14d, 2
and r14d, 7
mov rcx, rsi
call fcn.140121020
mov rcx, rdi
mov rdx, rax
mov r8d, ebx
call fcn.140179800
mov rbx, qword [rdi]
mov rax, qword [rbx + 0x20]
cmp qword [rbx + 0x18], rax
je 0x140169e80
mov byte [rax], 0x20
inc qword [rbx + 0x20]
jmp 0x140169e98
movzx ebx, byte [rsi + 0x40]
movzx ebp, word [rsi + 0x12]
shr ebp, 1
and ebp, 7
mov rcx, rsi
call fcn.140121020
mov rcx, rdi
mov rdx, rax
mov r8d, ebp
mov r9d, ebx
call fcn.1401791d0
mov rax, qword [rdi]
mov rdx, qword [rax + 0x18]
mov rcx, qword [rax + 0x20]
sub rdx, rcx
cmp rdx, 7
ja 0x140169e5c
lea rdx, str.__align
mov r8d, 8
mov rcx, rax
call fcn.140022660
jmp 0x140169e6e
mov rax, qword [rsi + 0x40]
mov qword [rsp + 0x38], rax
mov eax, dword [rsi + 0x48]
mov qword [rsp + 0x40], rax
mov rdx, qword [rsi]
mov rcx, qword [rdi]
lea r8, [rsp + 0x38]
call fcn.140179280
jmp case.0x140169d6f.66
movabs rdx, 0x206e67696c61202c
mov qword [rcx], rdx
add qword [rax + 0x20], 8
movzx ecx, word [rsi + 0x12]
shr rcx, 9
mov edx, 1
jmp 0x140169c9a
lea rdx, [0x1402ef775]
mov r8d, 1
mov rcx, rbx
call fcn.140022660
mov rbx, rax
and r12d, 7
lea r13, str.___
mov r14, qword [r13 + r14*8]
test r14, r14
je 0x140169eec
mov rcx, r14
call fcn.140242e00
mov r15, rax
mov rax, qword [rbx + 0x18]
mov rcx, qword [rbx + 0x20]
sub rax, rcx
cmp r15, rax
jbe 0x140169ed8
mov rcx, rbx
mov rdx, r14
mov r8, r15
call fcn.140022660
jmp 0x140169eec
test r15, r15
je 0x140169eec
mov rdx, r14
mov r8, r15
call fcn.140242bf0
add qword [rbx + 0x20], r15
mov rbx, qword [rdi]
mov rax, qword [rbx + 0x20]
cmp qword [rbx + 0x18], rax
je 0x140169f02
mov byte [rax], 0x20
inc qword [rbx + 0x20]
jmp 0x140169f1a
lea rdx, [0x1402ef775]
mov r8d, 1
mov rcx, rbx
call fcn.140022660
mov rbx, rax
mov r14, qword [r13 + r12*8]
test r14, r14
je 0x140169f63
mov rcx, r14
call fcn.140242e00
mov r15, rax
mov rax, qword [rbx + 0x18]
mov rcx, qword [rbx + 0x20]
sub rax, rcx
cmp r15, rax
jbe 0x140169f4f
mov rcx, rbx
mov rdx, r14
mov r8, r15
call fcn.140022660
jmp 0x140169f63
test r15, r15
je 0x140169f63
mov rdx, r14
mov r8, r15
call fcn.140242bf0
add qword [rbx + 0x20], r15
mov rax, qword [rdi]
mov rdx, qword [rax + 0x18]
mov rcx, qword [rax + 0x20]
sub rdx, rcx
cmp rdx, 7
ja 0x140169f8e
lea rdx, str.__align
mov r8d, 8
mov rcx, rax
call fcn.140022660
jmp 0x140169fa0
movabs rdx, 0x206e67696c61202c
mov qword [rcx], rdx
add qword [rax + 0x20], 8
movzx ecx, byte [rsi + 0x13]
mov edx, 1
jmp 0x140169c9a
xor ebx, ebx
cmp al, 0x24
cmove rbx, rsi
jne 0x14016a017
mov rcx, qword [rdi]
lea rdx, [0x1402ee59f]
call fcn.140012020
mov eax, dword [rbx + 0x14]
and eax, 0x7ffffff
shl rax, 5
neg rax
mov rdx, qword [rbx + rax]
mov rcx, rdi
xor r8d, r8d
call fcn.14016fbc0
mov rcx, qword [rdi]
lea rdx, [0x1402ee9ae]
call fcn.140012020
test byte [rbx + 0x12], 1
je 0x140169beb
mov eax, dword [rbx + 0x14]
and eax, 0x7ffffff
shl rax, 5
neg rax
mov rdx, qword [rbx + rax + 0x20]
jmp 0x14016909a
xor ebx, ebx
cmp al, 0x54
cmove rbx, rsi
jne 0x14016a0a0
movzx eax, word [rbx + 0x12]
test eax, 0xffc
je 0x14016a050
mov rcx, qword [rdi]
lea rdx, [0x1402ef775]
call fcn.140012020
mov rdx, qword [rdi]
movzx ecx, word [rbx + 0x12]
shr ecx, 2
and ecx, 0x3ff
call fcn.14016e390
mov r14, qword [rbx - 0x20]
mov rbp, qword [rbx + 0x48]
mov rax, qword [rbp + 0x10]
mov r15, qword [rax]
mov rax, qword [rbx + 0x40]
mov qword [rsp + 0x78], rax
lea rcx, [rsp + 0x78]
xor edx, edx
call fcn.140180e70
test al, al
je 0x14016a215
mov r12, qword [rdi]
mov rax, qword [r12 + 0x20]
cmp rax, qword [r12 + 0x18]
jae 0x14016a1bf
lea rcx, [rax + 1]
mov qword [r12 + 0x20], rcx
mov byte [rax], 0x20
jmp 0x14016a1cc
xor ebx, ebx
cmp al, 0x21
cmove rbx, rsi
jne 0x14016a132
mov r14, qword [rbx - 0x20]
mov rbp, qword [rbx + 0x48]
mov rax, qword [rbp + 0x10]
mov r15, qword [rax]
mov rax, qword [rbx + 0x40]
mov qword [rsp + 0x78], rax
movzx eax, word [rbx + 0x12]
test eax, 0xffc
je 0x14016a0f5
mov rcx, qword [rdi]
lea rdx, [0x1402ef775]
call fcn.140012020
mov rdx, qword [rdi]
movzx ecx, word [rbx + 0x12]
shr ecx, 2
and ecx, 0x3ff
call fcn.14016e390
mov qword [rsp + 0x20], rbx
lea rcx, [rsp + 0x78]
xor edx, edx
call fcn.140180e70
test al, al
je 0x14016a4c0
mov r12, qword [rdi]
mov rax, qword [r12 + 0x20]
cmp rax, qword [r12 + 0x18]
jae 0x14016a46a
lea rcx, [rax + 1]
mov qword [r12 + 0x20], rcx
mov byte [rax], 0x20
jmp 0x14016a477
xor ebx, ebx
cmp al, 0x27
cmove rbx, rsi
jne 0x14016a43b
mov r14, qword [rbx - 0x20]
mov rbp, qword [rbx + 0x48]
mov rax, qword [rbp + 0x10]
mov r15, qword [rax]
mov rax, qword [rbx + 0x40]
mov qword [rsp + 0x78], rax
movzx eax, word [rbx + 0x12]
test eax, 0xffc
je 0x14016a187
mov rcx, qword [rdi]
lea rdx, [0x1402ef775]
call fcn.140012020
mov rdx, qword [rdi]
movzx ecx, word [rbx + 0x12]
shr ecx, 2
and ecx, 0x3ff
call fcn.14016e390
lea rcx, [rsp + 0x78]
xor edx, edx
call fcn.140180e70
test al, al
je 0x14016a74a
mov r12, qword [rdi]
mov rax, qword [r12 + 0x20]
cmp rax, qword [r12 + 0x18]
jae 0x14016a6f4
lea rcx, [rax + 1]
mov qword [r12 + 0x20], rcx
mov byte [rax], 0x20
jmp 0x14016a701
mov rcx, r12
mov dl, 0x20
call fcn.1400225c0
mov r12, rax
lea rcx, [rsp + 0x78]
lea r13, [rsp + 0xa0]
mov rdx, r13
xor r8d, r8d
xor r9d, r9d
call fcn.1401814f0
mov r8, qword [rsp + 0xb0]
cmp qword [rsp + 0xb8], 0x10
mov rdx, r13
jb 0x14016a205
mov rdx, qword [rsp + 0xa0]
mov rcx, r12
call fcn.140022660
mov rcx, r13
call fcn.14001d270
mov r8, qword [rdi]
mov rcx, r14
mov rdx, rsi
call fcn.140178a20
mov rcx, qword [rdi]
mov rax, qword [rcx + 0x20]
cmp rax, qword [rcx + 0x18]
jae 0x14016a23d
lea rdx, [rax + 1]
mov qword [rcx + 0x20], rdx
mov byte [rax], 0x20
jmp 0x14016a244
mov dl, 0x20
call fcn.1400225c0
lea rcx, [rdi + 0x28]
mov r8, qword [rdi]
cmp dword [rbp + 8], 0x100
cmovae r15, rbp
mov rdx, r15
call fcn.140166f80
mov rcx, qword [rdi]
mov rax, qword [rcx + 0x20]
cmp rax, qword [rcx + 0x18]
jae 0x14016a278
lea rdx, [rax + 1]
mov qword [rcx + 0x20], rdx
mov byte [rax], 0x20
jmp 0x14016a27f
mov dl, 0x20
call fcn.1400225c0
mov rcx, rdi
mov rdx, r14
xor r8d, r8d
call fcn.14016fbc0
mov rcx, qword [rdi]
mov rax, qword [rcx + 0x20]
cmp rax, qword [rcx + 0x18]
jae 0x14016a2a7
lea rdx, [rax + 1]
mov qword [rcx + 0x20], rdx
mov byte [rax], 0x28
jmp 0x14016a2ae
mov dl, 0x28
call fcn.1400225c0
mov rcx, rbx
call fcn.140178b50
test eax, eax
mov r15, rbx
je 0x14016a35b
mov ebp, eax
lea rcx, [rsp + 0x78]
lea rdx, [rsp + 0x70]
xor r8d, r8d
call fcn.140180da0
mov eax, dword [r15 + 0x14]
and eax, 0x7ffffff
shl rax, 5
neg rax
mov rdx, qword [r15 + rax]
mov r8, qword [rsp + 0x70]
mov rcx, rdi
call fcn.140178bc0
cmp ebp, 1
je 0x14016a35b
mov ebp, ebp
lea rbx, [r15 + 0x20]
mov r14d, 1
lea r12, [rsp + 0x78]
lea r13, [rsp + 0x70]
mov rcx, qword [rdi]
lea rdx, [0x1402ef6e8]
call fcn.140012020
mov rcx, r12
mov rdx, r13
mov r8d, r14d
call fcn.140180da0
mov eax, dword [r15 + 0x14]
and eax, 0x7ffffff
shl rax, 5
neg rax
mov rdx, qword [rbx + rax]
mov r8, qword [rsp + 0x70]
mov rcx, rdi
call fcn.140178bc0
inc r14
add rbx, 0x20
cmp rbp, r14
jne 0x14016a311
movzx eax, word [r15 + 0x12]
and eax, 3
cmp ax, 2
mov rbx, r15
jne 0x14016a3bb
mov rax, qword [rbx + 0x28]
test rax, rax
je 0x14016a3bb
mov rax, qword [rax + 0x48]
test rax, rax
je 0x14016a3bb
mov rax, qword [rax + 0x18]
cmp dword [rax + 8], 0x100
jb 0x14016a3bb
mov r14, rbx
mov rcx, rbx
call fcn.140178b50
test eax, eax
je 0x14016a3a9
mov rcx, qword [rdi]
lea rdx, [0x1402ef6e8]
call fcn.140012020
mov rcx, qword [rdi]
lea rdx, [0x1402e9212]
call fcn.140012020
mov rbx, r14
mov rcx, qword [rdi]
mov rax, qword [rcx + 0x20]
cmp rax, qword [rcx + 0x18]
jae 0x14016a3d5
lea rdx, [rax + 1]
mov qword [rcx + 0x20], rdx
mov byte [rax], 0x29
jmp 0x14016a3dc
mov dl, 0x29
call fcn.1400225c0
lea rcx, [rsp + 0x78]
mov edx, 0xffffffff
call fcn.140180e70
test al, al
je 0x14016a42b
mov rcx, qword [rdi]
lea rdx, [0x1402eacf1]
call fcn.140012020
mov r14, rax
mov r15, qword [rdi + 0x20]
lea rcx, [rsp + 0x78]
lea rdx, [rsp + 0x68]
call fcn.140180e00
mov rdx, qword [rsp + 0x68]
mov rcx, r15
call fcn.140164640
mov rcx, r14
mov edx, eax
call fcn.140021b30
mov rcx, rdi
mov rdx, rbx
call fcn.140178d10
jmp 0x140169bfa
xor ebx, ebx
cmp al, 0x3b
cmove rbx, rsi
jne 0x14016a6be
mov rcx, qword [rdi]
mov rax, qword [rcx + 0x20]
cmp rax, qword [rcx + 0x18]
jae 0x14016a9a5
lea rdx, [rax + 1]
mov qword [rcx + 0x20], rdx
mov byte [rax], 0x20
jmp 0x14016a9ac
mov rcx, r12
mov dl, 0x20
call fcn.1400225c0
mov r12, rax
lea rcx, [rsp + 0x78]
lea r13, [rsp + 0xa0]
mov rdx, r13
xor r8d, r8d
xor r9d, r9d
call fcn.1401814f0
mov r8, qword [rsp + 0xb0]
cmp qword [rsp + 0xb8], 0x10
mov rdx, r13
jb 0x14016a4b0
mov rdx, qword [rsp + 0xa0]
mov rcx, r12
call fcn.140022660
mov rcx, r13
call fcn.14001d270
mov r8, qword [rdi]
mov rcx, r14
mov rdx, rsi
call fcn.140178a20
mov rcx, qword [rdi]
mov rax, qword [rcx + 0x20]
cmp rax, qword [rcx + 0x18]
jae 0x14016a4e8
lea rdx, [rax + 1]
mov qword [rcx + 0x20], rdx
mov byte [rax], 0x20
jmp 0x14016a4ef
mov dl, 0x20
call fcn.1400225c0
lea rcx, [rdi + 0x28]
mov r8, qword [rdi]
cmp dword [rbp + 8], 0x100
cmovae r15, rbp
mov rdx, r15
call fcn.140166f80
mov rcx, qword [rdi]
mov rax, qword [rcx + 0x20]
cmp rax, qword [rcx + 0x18]
jae 0x14016a523
lea rdx, [rax + 1]
mov qword [rcx + 0x20], rdx
mov byte [rax], 0x20
jmp 0x14016a52a
mov dl, 0x20
call fcn.1400225c0
mov rcx, rdi
mov rdx, r14
xor r8d, r8d
call fcn.14016fbc0
mov rcx, qword [rdi]
mov rax, qword [rcx + 0x20]
cmp rax, qword [rcx + 0x18]
jae 0x14016a552
lea rdx, [rax + 1]
mov qword [rcx + 0x20], rdx
mov byte [rax], 0x28
jmp 0x14016a559
mov dl, 0x28
call fcn.1400225c0
mov r15, qword [rsp + 0x20]
mov rcx, r15
call fcn.140178b50
test eax, eax
je 0x14016a608
mov ebp, eax
lea rcx, [rsp + 0x78]
lea rdx, [rsp + 0x60]
xor r8d, r8d
call fcn.140180da0
mov eax, dword [r15 + 0x14]
and eax, 0x7ffffff
shl rax, 5
neg rax
mov rdx, qword [r15 + rax]
mov r8, qword [rsp + 0x60]
mov rcx, rdi
call fcn.140178bc0
cmp ebp, 1
je 0x14016a608
mov ebp, ebp
lea rbx, [r15 + 0x20]
mov r14d, 1
lea r12, [rsp + 0x78]
lea r13, [rsp + 0x60]
mov rcx, qword [rdi]
lea rdx, [0x1402ef6e8]
call fcn.140012020
mov rcx, r12
mov rdx, r13
mov r8d, r14d
call fcn.140180da0
mov eax, dword [r15 + 0x14]
and eax, 0x7ffffff
shl rax, 5
neg rax
mov rdx, qword [rbx + rax]
mov r8, qword [rsp + 0x60]
mov rcx, rdi
call fcn.140178bc0
inc r14
add rbx, 0x20
cmp rbp, r14
jne 0x14016a5be
mov rcx, qword [rdi]
mov rax, qword [rcx + 0x20]
cmp rax, qword [rcx + 0x18]
jae 0x14016a622
lea rdx, [rax + 1]
mov qword [rcx + 0x20], rdx
mov byte [rax], 0x29
jmp 0x14016a629
mov dl, 0x29
call fcn.1400225c0
lea rcx, [rsp + 0x78]
mov edx, 0xffffffff
call fcn.140180e70
test al, al
je 0x14016a678
mov rcx, qword [rdi]
lea rdx, [0x1402eacf1]
call fcn.140012020
mov r14, rax
mov r15, qword [rdi + 0x20]
lea rcx, [rsp + 0x78]
lea rdx, [rsp + 0x58]
call fcn.140180e00
mov rdx, qword [rsp + 0x58]
mov rcx, r15
call fcn.140164640
mov rcx, r14
mov edx, eax
call fcn.140021b30
mov rcx, rdi
mov rbx, qword [rsp + 0x20]
mov rdx, rbx
call fcn.140178d10
mov rcx, qword [rdi]
lea rdx, str._n__________to
call fcn.140012020
mov rdx, qword [rbx - 0x60]
mov rcx, rdi
mov r8b, 1
call fcn.14016fbc0
mov rcx, qword [rdi]
lea rdx, [0x1402ee9ae]
call fcn.140012020
mov rdx, qword [rbx - 0x40]
jmp 0x14016909a
add ecx, 0xffffffbe
cmp ecx, 0xc
ja 0x14016aa9d
test r14, r14
je 0x14016ab1c
mov rcx, qword [rdi]
mov rax, qword [rcx + 0x20]
cmp rax, qword [rcx + 0x18]
jae 0x14016ab07
lea rdx, [rax + 1]
mov qword [rcx + 0x20], rdx
mov byte [rax], 0x20
jmp 0x14016ab0e
mov rcx, r12
mov dl, 0x20
call fcn.1400225c0
mov r12, rax
lea rcx, [rsp + 0x78]
lea r13, [rsp + 0xa0]
mov rdx, r13
xor r8d, r8d
xor r9d, r9d
call fcn.1401814f0
mov r8, qword [rsp + 0xb0]
cmp qword [rsp + 0xb8], 0x10
mov rdx, r13
jb 0x14016a73a
mov rdx, qword [rsp + 0xa0]
mov rcx, r12
call fcn.140022660
mov rcx, r13
call fcn.14001d270
mov rcx, qword [rdi]
mov rax, qword [rcx + 0x20]
cmp rax, qword [rcx + 0x18]
jae 0x14016a764
lea rdx, [rax + 1]
mov qword [rcx + 0x20], rdx
mov byte [rax], 0x20
jmp 0x14016a76b
mov dl, 0x20
call fcn.1400225c0
lea rcx, [rdi + 0x28]
mov r8, qword [rdi]
cmp dword [rbp + 8], 0x100
cmovae r15, rbp
mov rdx, r15
call fcn.140166f80
mov rcx, qword [rdi]
mov rax, qword [rcx + 0x20]
cmp rax, qword [rcx + 0x18]
jae 0x14016a79f
lea rdx, [rax + 1]
mov qword [rcx + 0x20], rdx
mov byte [rax], 0x20
jmp 0x14016a7a6
mov dl, 0x20
call fcn.1400225c0
mov rcx, rdi
mov rdx, r14
xor r8d, r8d
call fcn.14016fbc0
mov rcx, qword [rdi]
mov rax, qword [rcx + 0x20]
cmp rax, qword [rcx + 0x18]
jae 0x14016a7ce
lea rdx, [rax + 1]
mov qword [rcx + 0x20], rdx
mov byte [rax], 0x28
jmp 0x14016a7d5
mov dl, 0x28
call fcn.1400225c0
mov rcx, rbx
call fcn.140178b50
test eax, eax
je 0x14016a87d
mov ebp, eax
lea rcx, [rsp + 0x78]
lea rdx, [rsp + 0x50]
xor r8d, r8d
call fcn.140180da0
mov eax, dword [rbx + 0x14]
and eax, 0x7ffffff
shl rax, 5
neg rax
mov rdx, qword [rbx + rax]
mov r8, qword [rsp + 0x50]
mov rcx, rdi
call fcn.140178bc0
cmp ebp, 1
je 0x14016a87d
mov ebp, ebp
lea r15, [rbx + 0x20]
mov r14d, 1
lea r12, [rsp + 0x78]
lea r13, [rsp + 0x50]
mov rcx, qword [rdi]
lea rdx, [0x1402ef6e8]
call fcn.140012020
mov rcx, r12
mov rdx, r13
mov r8d, r14d
call fcn.140180da0
mov eax, dword [rbx + 0x14]
and eax, 0x7ffffff
shl rax, 5
neg rax
mov rdx, qword [r15 + rax]
mov r8, qword [rsp + 0x50]
mov rcx, rdi
call fcn.140178bc0
inc r14
add r15, 0x20
cmp rbp, r14
jne 0x14016a834
mov rcx, qword [rdi]
mov rax, qword [rcx + 0x20]
cmp rax, qword [rcx + 0x18]
jae 0x14016a897
lea rdx, [rax + 1]
mov qword [rcx + 0x20], rdx
mov byte [rax], 0x29
jmp 0x14016a89e
mov dl, 0x29
call fcn.1400225c0
lea r12, [rbx - 0x20]
lea rcx, [rsp + 0x78]
mov edx, 0xffffffff
call fcn.140180e70
test al, al
je 0x14016a8f1
mov rcx, qword [rdi]
lea rdx, [0x1402eacf1]
call fcn.140012020
mov r14, rax
mov r15, qword [rdi + 0x20]
lea rcx, [rsp + 0x78]
lea rdx, [rsp + 0x48]
call fcn.140180e00
mov rdx, qword [rsp + 0x48]
mov rcx, r15
call fcn.140164640
mov rcx, r14
mov edx, eax
call fcn.140021b30
mov rcx, rdi
mov rdx, rbx
call fcn.140178d10
mov rcx, qword [rdi]
lea rdx, str._n__________to
call fcn.140012020
mov eax, dword [rbx + 0x50]
shl rax, 5
mov rcx, r12
sub rcx, rax
mov rdx, qword [rcx - 0x20]
mov rcx, rdi
mov r8b, 1
call fcn.14016fbc0
mov rcx, qword [rdi]
lea rdx, [0x1402c7a5e]
call fcn.140012020
mov r15d, dword [rbx + 0x50]
test r15, r15
je 0x14016912c
mov rax, r15
shl rax, 5
sub r12, rax
mov rdx, qword [r12]
mov rcx, rdi
mov r8b, 1
call fcn.14016fbc0
cmp r15d, 1
je 0x14016912c
dec r15
lea r14, [0x1402ef6e8]
mov r12, rbx
mov rcx, qword [rdi]
mov rdx, r14
call fcn.140012020
mov eax, dword [rbx + 0x50]
shl rax, 5
neg rax
mov rdx, qword [r12 + rax]
mov rcx, rdi
mov r8b, 1
call fcn.14016fbc0
add r12, 0x20
dec r15
jne 0x14016a973
jmp 0x14016912c
mov dl, 0x20
call fcn.1400225c0
movzx eax, word [rbx + 0x12]
test al, 0x40
je 0x14016a9c7
mov rcx, qword [rdi]
lea rdx, str.inalloca
call fcn.140012020
movzx eax, word [rbx + 0x12]
test al, al
jns 0x14016a9da
mov rcx, qword [rdi]
lea rdx, str.swifterror
call fcn.140012020
lea rcx, [rdi + 0x28]
mov r8, qword [rdi]
mov rdx, qword [rbx + 0x40]
call fcn.140166f80
cmp qword [rbx - 0x20], 0
je 0x14016aa12
mov rcx, rbx
call fcn.14014bcc0
test al, al
jne 0x14016aa12
mov rax, qword [rbx - 0x20]
mov rcx, qword [rax]
mov edx, 0x20
call fcn.140136a10
test al, al
jne 0x14016aa30
mov rcx, qword [rdi]
lea rdx, [0x1402ef6e8]
call fcn.140012020
mov rdx, qword [rbx - 0x20]
mov rcx, rdi
mov r8b, 1
call fcn.14016fbc0
movzx ebx, byte [rbx + 0x12]
mov rcx, qword [rdi]
lea rdx, str.__align
call fcn.140012020
mov edx, 1
mov ecx, ebx
shl rdx, cl
mov rcx, rax
call fcn.140021b50
mov rax, qword [rsi]
mov ebx, dword [rax + 8]
cmp ebx, 0x100
jb 0x140169bfa
shr ebx, 8
mov rcx, qword [rdi]
lea rdx, str.__addrspace_
call fcn.140012020
mov rcx, rax
mov edx, ebx
call fcn.140021b10
mov rcx, qword [rax + 0x20]
cmp rcx, qword [rax + 0x18]
jae 0x14016aac4
lea rdx, [rcx + 1]
mov qword [rax + 0x20], rdx
mov byte [rcx], 0x29
jmp 0x140169bfa
cmp al, 0x58
jne 0x14016aad3
test r14, r14
je 0x14016ab3d
mov rcx, qword [rdi]
mov rax, qword [rcx + 0x20]
cmp rax, qword [rcx + 0x18]
jae 0x14016ab28
lea rdx, [rax + 1]
mov qword [rcx + 0x20], rdx
mov byte [rax], 0x20
jmp 0x14016ab2f
mov rcx, rax
mov dl, 0x29
call fcn.1400225c0
jmp 0x140169bfa
test r14, r14
je 0x140169bfa
xor ebx, ebx
cmp al, 0x3e
cmove rbx, rsi
jne 0x14016ab60
mov rcx, qword [rdi]
mov rax, qword [rcx + 0x20]
cmp rax, qword [rcx + 0x18]
jae 0x14016ab82
lea rdx, [rax + 1]
mov qword [rcx + 0x20], rdx
mov byte [rax], 0x20
jmp 0x14016ab89
mov dl, 0x20
call fcn.1400225c0
mov rcx, rdi
mov rdx, r14
mov r8b, 1
call fcn.14016fbc0
mov rcx, qword [rdi]
lea rdx, [0x1402edf92]
jmp 0x14016ab47
mov dl, 0x20
call fcn.1400225c0
mov rcx, rdi
mov rdx, r14
mov r8b, 1
call fcn.14016fbc0
mov rcx, qword [rdi]
lea rdx, [0x1402ef6e8]
call fcn.140012020
lea rcx, [rdi + 0x28]
mov r8, qword [rdi]
mov rdx, qword [rsi]
call fcn.140166f80
jmp 0x140169bfa
cmp al, 0x3c
jne 0x140168cbe
mov rcx, qword [rdi]
mov rax, qword [rcx + 0x20]
cmp rax, qword [rcx + 0x18]
jae 0x14016ab96
lea rdx, [rax + 1]
mov qword [rcx + 0x20], rdx
mov byte [rax], 0x20
jmp 0x14016ab9d
mov dl, 0x20
call fcn.1400225c0
lea rcx, [rdi + 0x28]
mov r8, qword [rdi]
mov rdx, qword [rbx + 0x40]
jmp 0x14016aba7
mov dl, 0x20
call fcn.1400225c0
lea rcx, [rdi + 0x28]
mov r8, qword [rdi]
mov rdx, qword [rsi]
call fcn.140166f80
mov rcx, qword [rdi]
mov rax, qword [rcx + 0x20]
cmp rax, qword [rcx + 0x18]
jae 0x14016abc9
lea rdx, [rax + 1]
mov qword [rcx + 0x20], rdx
mov byte [rax], 0x2c
jmp 0x140168cbe
mov dl, 0x2c
call fcn.1400225c0
jmp 0x140168cbe