Function at 0x140035410
Capabilities:
Encode data using base64

Disassembly:
mov rax, rsp
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0xaa8]
sub rsp, 0xb70
mov qword [rbp + 0x128], 0xfffffffffffffffe
mov qword [rax + 0x18], rbx
movaps xmmword [rax - 0x48], xmm6
mov rax, qword [0x140735840]
xor rax, rsp
mov qword [rbp + 0xa58], rax
mov r12d, r8d
mov dword [rbp - 0x80], r8d
mov r13, rcx
mov qword [rbp + 0x30], rcx
lea rcx, [rbp + 0x4d8]
call fcn.140032b80
nop
mov dword [rbp + 0x1e0], 0x4f
mov eax, dword [rbp + 0x1e0]
add al, 0x4f
movsx ecx, al
xor ecx, 0x20
mov dword [rbp + 0x1e4], ecx
mov eax, dword [rbp + 0x1e4]
mov ecx, dword [rbp + 0x1e0]
xor ecx, eax
xor ecx, 0x72
mov byte [rbp + 0x1e8], cl
movsx ecx, byte [rbp + 0x1e8]
mov eax, dword [rbp + 0x1e0]
inc al
xor eax, ecx
xor eax, 0x65
mov byte [rbp + 0x1e9], al
movsx ecx, byte [rbp + 0x1e9]
mov eax, dword [rbp + 0x1e0]
add al, 2
xor eax, ecx
xor eax, 0x73
mov byte [rbp + 0x1ea], al
movsx ecx, byte [rbp + 0x1ea]
mov eax, dword [rbp + 0x1e0]
add al, 3
xor eax, ecx
xor eax, 0x75
mov byte [rbp + 0x1eb], al
movsx ecx, byte [rbp + 0x1eb]
mov eax, dword [rbp + 0x1e0]
add al, 4
xor eax, ecx
xor eax, 0x6c
mov byte [rbp + 0x1ec], al
movsx ecx, byte [rbp + 0x1ec]
mov eax, dword [rbp + 0x1e0]
add al, 5
xor eax, ecx
xor eax, 0x74
mov byte [rbp + 0x1ed], al
xor eax, eax
mov byte [rbp + 0x1ee], al
movzx eax, byte [rbp + 0x1e8]
lea rdx, [rbp + 0x498]
lea rcx, [rbp + 0x1e0]
call fcn.1400f1970
nop
mov rdx, rax
lea rcx, [rbp + 0x478]
call fcn.140032e30
nop
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, rax
lea rcx, [rbp + 0x4d8]
call fcn.14001ec90
nop
mov rax, qword [rbp + 0x490]
cmp rax, 0x10
jb 0x1400355c8
inc rax
mov rcx, qword [rbp + 0x478]
cmp rax, 0x1000
jb 0x1400355c3
test cl, 0x1f
je 0x140035596
call fcn.140376968
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x1400355a5
call fcn.140376968
int3
sub rcx, rax
cmp rcx, 8
jae 0x1400355b4
call fcn.140376968
int3
cmp rcx, 0x27
jbe 0x1400355c0
call fcn.140376968
int3
mov rcx, rax
call fcn.14034da94
mov qword [rbp + 0x490], 0xf
xor ebx, ebx
mov qword [rbp + 0x488], rbx
mov byte [rbp + 0x478], bl
mov rax, qword [rbp + 0x4b0]
cmp rax, 0x10
jb 0x14003563e
inc rax
mov rcx, qword [rbp + 0x498]
cmp rax, 0x1000
jb 0x140035639
test cl, 0x1f
je 0x14003560c
call fcn.140376968
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x14003561b
call fcn.140376968
int3
sub rcx, rax
cmp rcx, 8
jae 0x14003562a
call fcn.140376968
int3
cmp rcx, 0x27
jbe 0x140035636
call fcn.140376968
int3
mov rcx, rax
call fcn.14034da94
mov qword [rbp + 0x4b0], 0xf
mov qword [rbp + 0x4a8], rbx
mov byte [rbp + 0x498], 0
mov qword [rbp + 0x4d0], 0xf
mov qword [rbp + 0x4c8], rbx
mov byte [rbp + 0x4b8], 0
mov r8d, 7
lea rdx, str.PM_4.9c
lea rcx, [rbp + 0x4b8]
call fcn.14001f040
nop
lea rdx, [rbp - 0x60]
mov rcx, qword [r13 + 0x10]
call fcn.140054920
nop
lea rdx, [rbp - 0x48]
mov rcx, qword [r13 + 0x10]
call fcn.140053820
nop
mov qword [rbp + 0x3d0], 0xf
mov qword [rbp + 0x3c8], rbx
mov byte [rbp + 0x3b8], 0
mov qword [rbp + 0x350], 0xf
mov qword [rbp + 0x348], rbx
mov byte [rbp + 0x338], 0
mov qword [rbp + 0x450], 0xf
mov qword [rbp + 0x448], rbx
mov byte [rbp + 0x438], 0
mov qword [rbp + 0x430], 0xf
mov qword [rbp + 0x428], rbx
mov byte [rbp + 0x418], 0
mov qword [rbp + 0x410], 0xf
mov qword [rbp + 0x408], rbx
mov byte [rbp + 0x3f8], 0
mov qword [rbp + 0x3b0], 0xf
mov qword [rbp + 0x3a8], rbx
mov byte [rbp + 0x398], 0
mov qword [rbp + 0x390], 0xf
mov qword [rbp + 0x388], rbx
mov byte [rbp + 0x378], 0
mov qword [rbp + 0x370], 0xf
mov qword [rbp + 0x368], rbx
mov byte [rbp + 0x358], 0
mov rcx, qword [rbp - 0x40]
sub rcx, qword [rbp - 0x48]
movabs r8, 0x2aaaaaaaaaaaaaab
mov rax, r8
imul rcx
mov r15, rdx
sar r15, 4
mov rax, r15
shr rax, 0x3f
add r15, rax
mov rcx, qword [rbp - 0x58]
mov rdi, qword [rbp - 0x60]
sub rcx, rdi
mov rax, r8
imul rcx
mov r14, rdx
sar r14, 4
mov rax, r14
shr rax, 0x3f
add r14, rax
mov esi, ebx
je 0x1400364c2
mov rax, rbx
movabs r12, 0x624dd2f1a9fbe77
mov r13, r8
lea rbx, [rax + rax*2]
shl rbx, 5
cmp byte [rbx + rdi + 0x58], 0
je 0x1400358e1
mov rcx, qword [rbx + rdi + 0x18]
mov rax, r12
mul rcx
sub rcx, rdx
shr rcx, 1
add rcx, rdx
shr rcx, 9
mov qword [rbp + 0x20], rcx
mov dword [rbp + 0x270], 0x3c
mov eax, dword [rbp + 0x270]
add al, 0x3c
movsx ecx, al
xor ecx, 0x55
mov dword [rbp + 0x274], ecx
mov eax, dword [rbp + 0x274]
mov ecx, dword [rbp + 0x270]
xor ecx, eax
xor ecx, 0x7b
mov byte [rbp + 0x278], cl
movsx ecx, byte [rbp + 0x278]
mov eax, dword [rbp + 0x270]
inc al
xor eax, ecx
xor eax, 0x7d
mov byte [rbp + 0x279], al
movsx ecx, byte [rbp + 0x279]
mov eax, dword [rbp + 0x270]
add al, 2
xor eax, ecx
xor eax, 0x3b
mov byte [rbp + 0x27a], al
xor eax, eax
mov byte [rbp + 0x27b], al
movzx eax, byte [rbp + 0x278]
lea rdx, [rbp + 0x9f8]
lea rcx, [rbp + 0x270]
call fcn.140024010
nop
cmp qword [rax + 0x18], 0x10
jb 0x140035896
mov rax, qword [rax]
mov qword [rbp + 0x130], rax
lea r8, [rbp + 0x20]
mov rdx, rax
lea rcx, [rbp + 0x9d8]
call fcn.140029e00
nop
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, rax
lea rcx, [rbp + 0x3b8]
call fcn.14001ec90
nop
lea rcx, [rbp + 0x9d8]
call fcn.14001c970
nop
lea rcx, [rbp + 0x9f8]
jmp 0x1400359a5
mov dword [rbp + 0x2a0], 0xa
mov eax, dword [rbp + 0x2a0]
add al, 0xa
movsx ecx, al
xor ecx, 0x5c
mov dword [rbp + 0x2a4], ecx
mov eax, dword [rbp + 0x2a4]
mov ecx, dword [rbp + 0x2a0]
xor ecx, eax
xor ecx, 0x6f
mov byte [rbp + 0x2a8], cl
movsx ecx, byte [rbp + 0x2a8]
mov eax, dword [rbp + 0x2a0]
inc al
xor eax, ecx
xor eax, 0x66
mov byte [rbp + 0x2a9], al
movsx ecx, byte [rbp + 0x2a9]
mov eax, dword [rbp + 0x2a0]
add al, 2
xor eax, ecx
xor eax, 0x66
mov byte [rbp + 0x2aa], al
movsx ecx, byte [rbp + 0x2aa]
mov eax, dword [rbp + 0x2a0]
add al, 3
xor eax, ecx
xor eax, 0x3b
mov byte [rbp + 0x2ab], al
xor eax, eax
mov byte [rbp + 0x2ac], al
movzx eax, byte [rbp + 0x2a8]
lea rdx, [rbp + 0xa18]
lea rcx, [rbp + 0x2a0]
call fcn.1401bdb90
nop
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, rax
lea rcx, [rbp + 0x3b8]
call fcn.14001ec90
nop
lea rcx, [rbp + 0xa18]
call fcn.14001c970
mov eax, dword [rbx + rdi + 0x2c]
add eax, dword [rbx + rdi + 0x20]
mov dword [rsp + 0x68], eax
mov dword [rbp + 0x268], 0x20
mov eax, dword [rbp + 0x268]
xor eax, 0x7b
add eax, 8
mov byte [rbp + 0x26c], al
movsx ecx, byte [rbp + 0x26c]
xor ecx, 0x7d
add ecx, 8
mov byte [rbp + 0x26d], cl
movsx ecx, byte [rbp + 0x26d]
xor ecx, 0x3b
add ecx, 8
mov byte [rbp + 0x26e], cl
mov byte [rbp + 0x26f], 0
movzx eax, byte [rbp + 0x26c]
lea rdx, [rbp + 0x578]
lea rcx, [rbp + 0x268]
call fcn.140040990
nop
cmp qword [rax + 0x18], 0x10
jb 0x140035a24
mov rax, qword [rax]
mov qword [rbp + 0x138], rax
lea r8, [rsp + 0x68]
mov rdx, rax
lea rcx, [rbp + 0x558]
call fcn.140029900
nop
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, rax
lea rcx, [rbp + 0x438]
call fcn.14001ec90
nop
lea rcx, [rbp + 0x558]
call fcn.14001c970
nop
lea rcx, [rbp + 0x578]
call fcn.14001c970
mov eax, dword [rbx + rdi + 0x30]
add eax, dword [rbx + rdi + 0x24]
mov dword [rsp + 0x6c], eax
mov dword [rbp + 0x318], 0x3e
mov dword [rbp + 0x31c], 0x74
mov eax, dword [rbp + 0x31c]
xor eax, 0x45
mov byte [rbp + 0x320], al
movsx ecx, byte [rbp + 0x320]
xor ecx, 0x43
mov byte [rbp + 0x321], cl
movsx ecx, byte [rbp + 0x321]
xor ecx, 5
mov byte [rbp + 0x322], cl
xor eax, eax
mov byte [rbp + 0x323], al
movzx eax, byte [rbp + 0x320]
lea rdx, [rbp + 0x5b8]
lea rcx, [rbp + 0x318]
call fcn.140024d40
nop
cmp qword [rax + 0x18], 0x10
jb 0x140035aec
mov rax, qword [rax]
mov qword [rbp + 0x140], rax
lea r8, [rsp + 0x6c]
mov rdx, rax
lea rcx, [rbp + 0x598]
call fcn.140029900
nop
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, rax
lea rcx, [rbp + 0x418]
call fcn.14001ec90
nop
lea rcx, [rbp + 0x598]
call fcn.14001c970
nop
lea rcx, [rbp + 0x5b8]
call fcn.14001c970
mov eax, dword [rbx + rdi + 0x28]
mov dword [rsp + 0x70], eax
mov dword [rbp + 0x280], 0x2b
mov eax, dword [rbp + 0x280]
add al, 0x2b
movsx ecx, al
xor ecx, 0x65
mov dword [rbp + 0x284], ecx
mov eax, dword [rbp + 0x284]
mov ecx, dword [rbp + 0x280]
xor ecx, eax
xor ecx, 0x7b
mov byte [rbp + 0x288], cl
movsx ecx, byte [rbp + 0x288]
mov eax, dword [rbp + 0x280]
inc al
xor eax, ecx
xor eax, 0x7d
mov byte [rbp + 0x289], al
movsx ecx, byte [rbp + 0x289]
mov eax, dword [rbp + 0x280]
add al, 2
xor eax, ecx
xor eax, 0x3b
mov byte [rbp + 0x28a], al
xor eax, eax
mov byte [rbp + 0x28b], al
movzx eax, byte [rbp + 0x288]
lea rdx, [rbp + 0x5f8]
lea rcx, [rbp + 0x280]
call fcn.140024010
nop
cmp qword [rax + 0x18], 0x10
jb 0x140035bd6
mov rax, qword [rax]
mov qword [rbp + 0xc8], rax
lea r8, [rsp + 0x70]
mov rdx, rax
lea rcx, [rbp + 0x5d8]
call fcn.140029900
nop
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, rax
lea rcx, [rbp + 0x3f8]
call fcn.14001ec90
nop
lea rcx, [rbp + 0x5d8]
call fcn.14001c970
nop
lea rcx, [rbp + 0x5f8]
call fcn.14001c970
cmp r15, r14
jne 0x140036023
mov rdi, qword [rbp - 0x48]
cmp byte [rbx + rdi + 0x58], 0
je 0x140035d11
mov rcx, qword [rbx + rdi + 0x18]
mov rax, r12
mul rcx
sub rcx, rdx
shr rcx, 1
add rcx, rdx
shr rcx, 9
mov qword [rbp + 0x28], rcx
mov dword [rbp + 0x2e8], 0x54
mov dword [rbp + 0x2ec], 0x7f
mov eax, dword [rbp + 0x2ec]
xor eax, 0x2f
mov byte [rbp + 0x2f0], al
movsx ecx, byte [rbp + 0x2f0]
xor ecx, 0x29
mov byte [rbp + 0x2f1], cl
movsx ecx, byte [rbp + 0x2f1]
xor ecx, 0x6f
mov byte [rbp + 0x2f2], cl
xor eax, eax
mov byte [rbp + 0x2f3], al
movzx eax, byte [rbp + 0x2f0]
lea rdx, [rbp + 0x638]
lea rcx, [rbp + 0x2e8]
call fcn.140024d40
nop
cmp qword [rax + 0x18], 0x10
jb 0x140035cc6
mov rax, qword [rax]
mov qword [rbp + 0xd0], rax
lea r8, [rbp + 0x28]
mov rdx, rax
lea rcx, [rbp + 0x618]
call fcn.140029e00
nop
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, rax
lea rcx, [rbp + 0x338]
call fcn.14001ec90
nop
lea rcx, [rbp + 0x618]
call fcn.14001c970
nop
lea rcx, [rbp + 0x638]
jmp 0x140035da6
mov dword [rbp + 0x2c0], 0x5f
mov eax, dword [rbp + 0x2c0]
xor eax, 0x6f
add eax, 9
mov byte [rbp + 0x2c4], al
movsx ecx, byte [rbp + 0x2c4]
xor ecx, 0x66
add ecx, 9
mov byte [rbp + 0x2c5], cl
movsx ecx, byte [rbp + 0x2c5]
xor ecx, 0x66
add ecx, 9
mov byte [rbp + 0x2c6], cl
movsx ecx, byte [rbp + 0x2c6]
xor ecx, 0x3b
add ecx, 9
mov byte [rbp + 0x2c7], cl
mov byte [rbp + 0x2c8], 0
movzx eax, byte [rbp + 0x2c4]
lea rdx, [rbp + 0x658]
lea rcx, [rbp + 0x2c0]
call fcn.1401be230
nop
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, rax
lea rcx, [rbp + 0x338]
call fcn.14001ec90
nop
lea rcx, [rbp + 0x658]
call fcn.14001c970
mov eax, dword [rbx + rdi + 0x2c]
add eax, dword [rbx + rdi + 0x20]
mov dword [rsp + 0x74], eax
mov dword [rbp + 0x2f8], 0x78
mov dword [rbp + 0x2fc], 2
mov eax, dword [rbp + 0x2fc]
xor eax, 3
mov byte [rbp + 0x300], al
movsx ecx, byte [rbp + 0x300]
xor ecx, 5
mov byte [rbp + 0x301], cl
movsx ecx, byte [rbp + 0x301]
xor ecx, 0x43
mov byte [rbp + 0x302], cl
xor eax, eax
mov byte [rbp + 0x303], al
movzx eax, byte [rbp + 0x300]
lea rdx, [rbp + 0x858]
lea rcx, [rbp + 0x2f8]
call fcn.140024d40
nop
cmp qword [rax + 0x18], 0x10
jb 0x140035e27
mov rax, qword [rax]
mov qword [rbp + 0xd8], rax
lea r8, [rsp + 0x74]
mov rdx, rax
lea rcx, [rbp + 0x678]
call fcn.140029900
nop
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, rax
lea rcx, [rbp + 0x398]
call fcn.14001ec90
nop
lea rcx, [rbp + 0x678]
call fcn.14001c970
nop
lea rcx, [rbp + 0x858]
call fcn.14001c970
mov eax, dword [rbx + rdi + 0x30]
add eax, dword [rbx + rdi + 0x24]
mov dword [rsp + 0x78], eax
mov dword [rbp + 0x290], 0x39
mov eax, dword [rbp + 0x290]
add al, 0x39
movsx ecx, al
xor ecx, 0x5b
mov dword [rbp + 0x294], ecx
mov eax, dword [rbp + 0x294]
mov ecx, dword [rbp + 0x290]
xor ecx, eax
xor ecx, 0x7b
mov byte [rbp + 0x298], cl
movsx ecx, byte [rbp + 0x298]
mov eax, dword [rbp + 0x290]
inc al
xor eax, ecx
xor eax, 0x7d
mov byte [rbp + 0x299], al
movsx ecx, byte [rbp + 0x299]
mov eax, dword [rbp + 0x290]
add al, 2
xor eax, ecx
xor eax, 0x3b
mov byte [rbp + 0x29a], al
xor eax, eax
mov byte [rbp + 0x29b], al
movzx eax, byte [rbp + 0x298]
lea rdx, [rbp + 0x6b8]
lea rcx, [rbp + 0x290]
call fcn.140024010
nop
cmp qword [rax + 0x18], 0x10
jb 0x140035f15
mov rax, qword [rax]
mov qword [rbp + 0xe0], rax
lea r8, [rsp + 0x78]
mov rdx, rax
lea rcx, [rbp + 0x698]
call fcn.140029900
nop
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, rax
lea rcx, [rbp + 0x378]
call fcn.14001ec90
nop
lea rcx, [rbp + 0x698]
call fcn.14001c970
nop
lea rcx, [rbp + 0x6b8]
call fcn.14001c970
mov eax, dword [rbx + rdi + 0x28]
mov dword [rsp + 0x7c], eax
mov dword [rbp + 0x260], 0x1e
mov eax, dword [rbp + 0x260]
xor eax, 0x7b
add eax, 0xa
mov byte [rbp + 0x264], al
movsx ecx, byte [rbp + 0x264]
xor ecx, 0x7d
add ecx, 0xa
mov byte [rbp + 0x265], cl
movsx ecx, byte [rbp + 0x265]
xor ecx, 0x3b
add ecx, 0xa
mov byte [rbp + 0x266], cl
mov byte [rbp + 0x267], 0
movzx eax, byte [rbp + 0x264]
lea rdx, [rbp + 0x6f8]
lea rcx, [rbp + 0x260]
call fcn.1400403c0
nop
cmp qword [rax + 0x18], 0x10
jb 0x140035fd7
mov rax, qword [rax]
mov qword [rbp + 0xe8], rax
lea r8, [rsp + 0x7c]
mov rdx, rax
lea rcx, [rbp + 0x6d8]
call fcn.140029900
nop
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, rax
lea rcx, [rbp + 0x358]
call fcn.14001ec90
nop
lea rcx, [rbp + 0x6d8]
call fcn.14001c970
nop
lea rcx, [rbp + 0x6f8]
jmp 0x140036269
mov dword [rbp + 0x2b0], 0x4a
mov eax, dword [rbp + 0x2b0]
add al, 0x4a
movsx ecx, al
xor ecx, 0x73
mov dword [rbp + 0x2b4], ecx
mov eax, dword [rbp + 0x2b4]
mov ecx, dword [rbp + 0x2b0]
xor ecx, eax
xor ecx, 0x6f
mov byte [rbp + 0x2b8], cl
movsx ecx, byte [rbp + 0x2b8]
mov eax, dword [rbp + 0x2b0]
inc al
xor eax, ecx
xor eax, 0x66
mov byte [rbp + 0x2b9], al
movsx ecx, byte [rbp + 0x2b9]
mov eax, dword [rbp + 0x2b0]
add al, 2
xor eax, ecx
xor eax, 0x66
mov byte [rbp + 0x2ba], al
movsx ecx, byte [rbp + 0x2ba]
mov eax, dword [rbp + 0x2b0]
add al, 3
xor eax, ecx
xor eax, 0x3b
mov byte [rbp + 0x2bb], al
xor eax, eax
mov byte [rbp + 0x2bc], al
movzx eax, byte [rbp + 0x2b8]
lea rdx, [rbp + 0x718]
lea rcx, [rbp + 0x2b0]
call fcn.1401bdb90
nop
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, rax
lea rcx, [rbp + 0x338]
call fcn.14001ec90
nop
lea rcx, [rbp + 0x718]
call fcn.14001c970
mov dword [rbp + 0x2d0], 0x7a
mov eax, dword [rbp + 0x2d0]
xor eax, 0x30
add eax, 0xb
mov byte [rbp + 0x2d4], al
movsx ecx, byte [rbp + 0x2d4]
xor ecx, 0x3b
add ecx, 0xb
mov byte [rbp + 0x2d5], cl
mov byte [rbp + 0x2d6], 0
movzx eax, byte [rbp + 0x2d4]
lea rdx, [rbp + 0x738]
lea rcx, [rbp + 0x2d0]
call fcn.14008f260
nop
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, rax
lea rcx, [rbp + 0x398]
call fcn.14001ec90
nop
lea rcx, [rbp + 0x738]
call fcn.14001c970
mov dword [rbp + 0x328], 0xb
mov dword [rbp + 0x32c], 0xc
mov eax, dword [rbp + 0x32c]
xor eax, 0x3b
mov byte [rbp + 0x330], al
movsx ecx, byte [rbp + 0x330]
xor ecx, 0x30
mov byte [rbp + 0x331], cl
xor eax, eax
mov byte [rbp + 0x332], al
movzx eax, byte [rbp + 0x330]
lea rdx, [rbp + 0x758]
lea rcx, [rbp + 0x328]
call fcn.14012e440
nop
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, rax
lea rcx, [rbp + 0x378]
call fcn.14001ec90
nop
lea rcx, [rbp + 0x758]
call fcn.14001c970
mov dword [rbp + 0x2d8], 0x46
mov eax, dword [rbp + 0x2d8]
add al, 0x46
movsx ecx, al
xor ecx, 0x44
mov dword [rbp + 0x2dc], ecx
mov eax, dword [rbp + 0x2dc]
mov ecx, dword [rbp + 0x2d8]
xor ecx, eax
xor ecx, 0x30
mov byte [rbp + 0x2e0], cl
movsx ecx, byte [rbp + 0x2e0]
mov eax, dword [rbp + 0x2d8]
inc al
xor eax, ecx
xor eax, 0x3b
mov byte [rbp + 0x2e1], al
xor eax, eax
mov byte [rbp + 0x2e2], al
movzx eax, byte [rbp + 0x2e0]
lea rdx, [rbp + 0x778]
lea rcx, [rbp + 0x2d8]
call fcn.1400f1ed0
nop
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, rax
lea rcx, [rbp + 0x358]
call fcn.14001ec90
nop
lea rcx, [rbp + 0x778]
call fcn.14001c970
inc esi
mov rcx, qword [rbp - 0x58]
mov rdi, qword [rbp - 0x60]
sub rcx, rdi
mov rax, r13
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov eax, esi
cmp rax, rdx
jb 0x1400357d1
mov rax, qword [rbp + 0x3c8]
test rax, rax
mov r13, qword [rbp + 0x30]
mov r12d, dword [rbp - 0x80]
je 0x1400362e6
lea rcx, [rax - 1]
cmp rax, rcx
jae 0x1400362c4
lea rcx, str.invalid_string_position
call fcn.14032c44c
int3
mov qword [rbp + 0x3c8], rcx
lea rax, [rbp + 0x3b8]
cmp qword [rbp + 0x3d0], 0x10
cmovae rax, qword [rbp + 0x3b8]
mov byte [rax + rcx], 0
mov rax, qword [rbp + 0x348]
test rax, rax
je 0x14003632a
lea rcx, [rax - 1]
cmp rax, rcx
jae 0x140036308
lea rcx, str.invalid_string_position
call fcn.14032c44c
int3
mov qword [rbp + 0x348], rcx
lea rax, [rbp + 0x338]
cmp qword [rbp + 0x350], 0x10
cmovae rax, qword [rbp + 0x338]
mov byte [rax + rcx], 0
mov rax, qword [rbp + 0x448]
test rax, rax
je 0x14003636e
lea rcx, [rax - 1]
cmp rax, rcx
jae 0x14003634c
lea rcx, str.invalid_string_position
call fcn.14032c44c
int3
mov qword [rbp + 0x448], rcx
lea rax, [rbp + 0x438]
cmp qword [rbp + 0x450], 0x10
cmovae rax, qword [rbp + 0x438]
mov byte [rcx + rax], 0
mov rax, qword [rbp + 0x428]
test rax, rax
je 0x1400363b2
lea rcx, [rax - 1]
cmp rax, rcx
jae 0x140036390
lea rcx, str.invalid_string_position
call fcn.14032c44c
int3
mov qword [rbp + 0x428], rcx
lea rax, [rbp + 0x418]
cmp qword [rbp + 0x430], 0x10
cmovae rax, qword [rbp + 0x418]
mov byte [rcx + rax], 0
mov rax, qword [rbp + 0x408]
test rax, rax
je 0x1400363f6
lea rcx, [rax - 1]
cmp rax, rcx
jae 0x1400363d4
lea rcx, str.invalid_string_position
call fcn.14032c44c
int3
mov qword [rbp + 0x408], rcx
lea rax, [rbp + 0x3f8]
cmp qword [rbp + 0x410], 0x10
cmovae rax, qword [rbp + 0x3f8]
mov byte [rcx + rax], 0
mov rax, qword [rbp + 0x3a8]
test rax, rax
je 0x14003643a
lea rcx, [rax - 1]
cmp rax, rcx
jae 0x140036418
lea rcx, str.invalid_string_position
call fcn.14032c44c
int3
mov qword [rbp + 0x3a8], rcx
lea rax, [rbp + 0x398]
cmp qword [rbp + 0x3b0], 0x10
cmovae rax, qword [rbp + 0x398]
mov byte [rcx + rax], 0
mov rax, qword [rbp + 0x388]
test rax, rax
je 0x14003647e
lea rcx, [rax - 1]
cmp rax, rcx
jae 0x14003645c
lea rcx, str.invalid_string_position
call fcn.14032c44c
int3
mov qword [rbp + 0x388], rcx
lea rax, [rbp + 0x378]
cmp qword [rbp + 0x390], 0x10
cmovae rax, qword [rbp + 0x378]
mov byte [rcx + rax], 0
mov rax, qword [rbp + 0x368]
test rax, rax
je 0x1400364c2
lea rcx, [rax - 1]
cmp rax, rcx
jae 0x1400364a0
lea rcx, str.invalid_string_position
call fcn.14032c44c
int3
mov qword [rbp + 0x368], rcx
lea rax, [rbp + 0x358]
cmp qword [rbp + 0x370], 0x10
cmovae rax, qword [rbp + 0x358]
mov byte [rcx + rax], 0
lea rdx, [rbp - 0x30]
mov rcx, qword [r13 + 0x10]
call fcn.1400548f0
nop
mov qword [rbp + 0x3f0], 0xf
xor esi, esi
mov qword [rbp + 0x3e8], rsi
mov byte [rbp + 0x3d8], sil
xorps xmm6, xmm6
mov rbx, qword [rbp - 0x30]
mov rdi, qword [rbp - 0x28]
cmp rbx, rdi
je 0x14003667d
nop
movzx eax, word [rbx + 8]
test ax, ax
js 0x140036510
cwde
mov dword [rsp + 0x60], eax
jmp 0x140036514
mov dword [rsp + 0x60], esi
movzx eax, word [rbx]
test ax, ax
js 0x140036523
cwde
mov dword [rsp + 0x64], eax
jmp 0x140036527
mov dword [rsp + 0x64], esi
mov dword [rbp + 0x230], 0x17
mov eax, dword [rbp + 0x230]
xor eax, 0x7b
add eax, 9
mov byte [rbp + 0x234], al
movsx ecx, byte [rbp + 0x234]
xor ecx, 0x7d
add ecx, 9
mov byte [rbp + 0x235], cl
movsx ecx, byte [rbp + 0x235]
xor ecx, 0x3b
add ecx, 9
mov byte [rbp + 0x236], cl
movsx ecx, byte [rbp + 0x236]
xor ecx, 0x7b
add ecx, 9
mov byte [rbp + 0x237], cl
movsx ecx, byte [rbp + 0x237]
xor ecx, 0x7d
add ecx, 9
mov byte [rbp + 0x238], cl
movsx ecx, byte [rbp + 0x238]
xor ecx, 0x3b
add ecx, 9
mov byte [rbp + 0x239], cl
mov byte [rbp + 0x23a], 0
movzx eax, byte [rbp + 0x234]
lea rdx, [rbp + 0x7b8]
lea rcx, [rbp + 0x230]
call fcn.1400f2d10
nop
cmp qword [rax + 0x18], 0x10
jb 0x1400365ce
mov rax, qword [rax]
mov qword [rbp + 0xf0], rax
lea r9, [rsp + 0x60]
lea r8, [rsp + 0x64]
mov rdx, rax
lea rcx, [rbp + 0x798]
call fcn.140029890
nop
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, rax
lea rcx, [rbp + 0x3d8]
call fcn.14001ec90
nop
lea rcx, [rbp + 0x798]
call fcn.14001c970
nop
lea rcx, [rbp + 0x7b8]
call fcn.14001c970
movd xmm0, dword [rbx + 0x14]
cvtdq2pd xmm0, xmm0
addsd xmm6, xmm0
add rbx, 0x20
cmp rbx, rdi
jne 0x140036500
mov rax, qword [rbp + 0x3e8]
test rax, rax
je 0x14003667d
lea rcx, [rax - 1]
cmp rax, rcx
jae 0x14003665b
lea rcx, str.invalid_string_position
call fcn.14032c44c
int3
mov qword [rbp + 0x3e8], rcx
lea rax, [rbp + 0x3d8]
cmp qword [rbp + 0x3f0], 0x10
cmovae rax, qword [rbp + 0x3d8]
mov byte [rax + rcx], 0
mov qword [rbp + 0x88], rsi
mov qword [rbp + 0x90], rsi
mov qword [rbp + 0x98], rsi
mov qword [rbp + 0xa0], rsi
mov qword [rbp + 0xa8], rsi
mov qword [rbp + 0xb0], rsi
mov qword [rbp + 0xb8], rsi
mov qword [rbp + 0xc0], rsi
mov qword [rbp - 0x18], rsi
mov qword [rbp - 0x10], rsi
mov dword [rbp - 8], esi
mov qword [rbp], rsi
mov qword [rbp + 8], rsi
mov qword [rbp + 0x10], rsi
mov qword [rbp + 0x18], rsi
mov qword [rbp + 0x50], rsi
mov qword [rbp + 0x58], rsi
mov dword [rbp + 0x60], esi
mov qword [rbp + 0x68], rsi
mov qword [rbp + 0x70], rsi
mov qword [rbp + 0x78], rsi
mov qword [rbp + 0x80], rsi
lea r8, [rbp - 0x60]
lea rdx, [rbp - 0x18]
lea rcx, [rbp + 0x88]
call fcn.1401032b0
lea r8, [rbp - 0x48]
lea rdx, [rbp + 0x50]
lea rcx, [rbp + 0xa8]
call fcn.1401032b0
lea rdx, [rbp + 0x518]
mov rcx, qword [r13 + 0x10]
call fcn.140051ed0
nop
lea rdx, [rbp + 0x4f8]
mov rcx, qword [r13 + 0x10]
call fcn.140055410
nop
cmp r15, r14
jne 0x140036842
lea rdx, [rbp + 0x818]
mov rcx, qword [r13 + 0x10]
call fcn.140053930
mov rbx, rax
mov dword [rbp + 0x250], 0x4c
mov ecx, dword [rbp + 0x250]
add cl, 0x4c
movsx edx, cl
xor edx, 0x1e
mov dword [rbp + 0x254], edx
mov ecx, dword [rbp + 0x254]
mov edx, dword [rbp + 0x250]
xor edx, ecx
xor edx, 0x3b
mov byte [rbp + 0x258], dl
movsx ecx, byte [rbp + 0x258]
mov eax, dword [rbp + 0x250]
inc al
xor eax, ecx
xor eax, 0x7b
mov byte [rbp + 0x259], al
movsx ecx, byte [rbp + 0x259]
mov eax, dword [rbp + 0x250]
add al, 2
xor eax, ecx
xor eax, 0x7d
mov byte [rbp + 0x25a], al
xor eax, eax
mov byte [rbp + 0x25b], al
movzx eax, byte [rbp + 0x258]
lea rdx, [rbp + 0x7f8]
lea rcx, [rbp + 0x250]
call fcn.140024010
nop
cmp qword [rax + 0x18], 0x10
jb 0x1400367eb
mov rax, qword [rax]
mov qword [rbp + 0xf8], rax
mov r8, rbx
mov rdx, rax
lea rcx, [rbp + 0x7d8]
call fcn.1400299d0
nop
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, rax
lea rcx, [rbp + 0x4f8]
call fcn.14001ec90
nop
lea rcx, [rbp + 0x7d8]
call fcn.14001c970
nop
lea rcx, [rbp + 0x7f8]
call fcn.14001c970
nop
lea rcx, [rbp + 0x818]
call fcn.14001c970
cmp qword [rbp + 0x528], 0
je 0x14003688a
lea r8, [rbp + 0x518]
lea rdx, [0x1403d0a50]
lea rcx, [rbp + 0x838]
call fcn.140028570
nop
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, rax
lea rcx, [rbp + 0x4b8]
call fcn.14001ec90
nop
lea rcx, [rbp + 0x838]
call fcn.14001c970
mov rcx, qword [r13 + 0x10]
call fcn.140055560
mov dword [rbp - 0x7c], eax
mov eax, dword [rbp - 0x10]
mov dword [rbp - 0x78], eax
mov ecx, dword [rbp + 0x60]
mov edx, dword [rbp + 0x54]
lea eax, [rcx + rdx]
mov dword [rbp - 0x74], eax
add ecx, dword [rbp + 0x5c]
add ecx, edx
add ecx, dword [rbp + 0x50]
mov dword [rbp - 0x70], ecx
mov rcx, qword [rbp + 0xc0]
movabs r9, 0x624dd2f1a9fbe77
mov rax, r9
mul rcx
sub rcx, rdx
shr rcx, 1
add rcx, rdx
shr rcx, 9
mov qword [rbp + 0x38], rcx
mov edx, dword [rbp - 8]
mov r8d, dword [rbp - 0x14]
lea ecx, [rdx + r8]
mov dword [rbp - 0x6c], ecx
add edx, dword [rbp - 0xc]
add edx, r8d
add edx, dword [rbp - 0x18]
mov dword [rbp - 0x68], edx
mov rcx, qword [rbp + 0xa0]
mov rax, r9
mul rcx
sub rcx, rdx
shr rcx, 1
add rcx, rdx
shr rcx, 9
mov qword [rbp + 0x40], rcx
mov rcx, qword [r13 + 0x10]
call fcn.140054870
mov ecx, eax
mov eax, 0x88888889
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov dword [rbp - 0x64], edx
mov dword [rbp + 0x220], 0x1a
mov eax, dword [rbp + 0x220]
xor eax, 0x7b
add eax, 0xb
mov byte [rbp + 0x224], al
movsx ecx, byte [rbp + 0x224]
xor ecx, 0x7d
add ecx, 0xb
mov byte [rbp + 0x225], cl
movsx ecx, byte [rbp + 0x225]
xor ecx, 0x3b
add ecx, 0xb
mov byte [rbp + 0x226], cl
movsx ecx, byte [rbp + 0x226]
xor ecx, 0x7b
add ecx, 0xb
mov byte [rbp + 0x227], cl
movsx ecx, byte [rbp + 0x227]
xor ecx, 0x7d
add ecx, 0xb
mov byte [rbp + 0x228], cl
movsx ecx, byte [rbp + 0x228]
xor ecx, 0x3b
add ecx, 0xb
mov byte [rbp + 0x229], cl
movsx ecx, byte [rbp + 0x229]
xor ecx, 0x30
add ecx, 0xb
mov byte [rbp + 0x22a], cl
movsx ecx, byte [rbp + 0x22a]
xor ecx, 0x3b
add ecx, 0xb
mov byte [rbp + 0x22b], cl
movsx ecx, byte [rbp + 0x22b]
xor ecx, 0x30
add ecx, 0xb
mov byte [rbp + 0x22c], cl
mov byte [rbp + 0x22d], 0
movzx eax, byte [rbp + 0x224]
lea rdx, [rbp + 0x938]
lea rcx, [rbp + 0x220]
call fcn.1400406a0
nop
cmp qword [rax + 0x18], 0x10
jb 0x140036a14
mov rax, qword [rax]
mov qword [rbp + 0x100], rax
lea r9, [rbp - 0x7c]
lea r8, [rbp - 0x78]
mov rdx, rax
lea rcx, [rbp + 0x918]
call fcn.140029960
mov rdi, rax
mov dword [rbp + 0x1f0], 0x73
mov ecx, dword [rbp + 0x1f0]
add cl, 0x73
movsx edx, cl
xor edx, 0x1e
mov dword [rbp + 0x1f4], edx
mov ecx, dword [rbp + 0x1f4]
mov edx, dword [rbp + 0x1f0]
xor edx, ecx
xor edx, 0x7b
mov byte [rbp + 0x1f8], dl
movsx ecx, byte [rbp + 0x1f8]
mov eax, dword [rbp + 0x1f0]
inc al
xor eax, ecx
xor eax, 0x7d
mov byte [rbp + 0x1f9], al
movsx ecx, byte [rbp + 0x1f9]
mov eax, dword [rbp + 0x1f0]
add al, 2
xor eax, ecx
xor eax, 0x3b
mov byte [rbp + 0x1fa], al
movsx ecx, byte [rbp + 0x1fa]
mov eax, dword [rbp + 0x1f0]
add al, 3
xor eax, ecx
xor eax, 0x7b
mov byte [rbp + 0x1fb], al
movsx ecx, byte [rbp + 0x1fb]
mov eax, dword [rbp + 0x1f0]
add al, 4
xor eax, ecx
xor eax, 0x7d
mov byte [rbp + 0x1fc], al
movsx ecx, byte [rbp + 0x1fc]
mov eax, dword [rbp + 0x1f0]
add al, 5
xor eax, ecx
xor eax, 0x3b
mov byte [rbp + 0x1fd], al
movsx ecx, byte [rbp + 0x1fd]
mov eax, dword [rbp + 0x1f0]
add al, 6
xor eax, ecx
xor eax, 0x7b
mov byte [rbp + 0x1fe], al
movsx ecx, byte [rbp + 0x1fe]
mov eax, dword [rbp + 0x1f0]
add al, 7
xor eax, ecx
xor eax, 0x7d
mov byte [rbp + 0x1ff], al
xor eax, eax
mov byte [rbp + 0x200], al
movzx eax, byte [rbp + 0x1f8]
lea rdx, [rbp + 0x8f8]
lea rcx, [rbp + 0x1f0]
call fcn.140066810
nop
cmp qword [rax + 0x18], 0x10
jb 0x140036b4e
mov rax, qword [rax]
mov qword [rbp + 0x108], rax
lea rcx, [rbp - 0x74]
mov qword [rsp + 0x20], rcx
lea r9, [rbp - 0x70]
lea r8, [rbp + 0x38]
mov rdx, rax
lea rcx, [rbp + 0x8d8]
call fcn.140029e60
mov rbx, rax
mov dword [rbp + 0x208], 0x25
mov ecx, dword [rbp + 0x208]
add cl, 0x25
movsx edx, cl
xor edx, 0xc
mov dword [rbp + 0x20c], edx
mov ecx, dword [rbp + 0x20c]
mov edx, dword [rbp + 0x208]
xor edx, ecx
xor edx, 0x7b
mov byte [rbp + 0x210], dl
movsx ecx, byte [rbp + 0x210]
mov eax, dword [rbp + 0x208]
inc al
xor eax, ecx
xor eax, 0x7d
mov byte [rbp + 0x211], al
movsx ecx, byte [rbp + 0x211]
mov eax, dword [rbp + 0x208]
add al, 2
xor eax, ecx
xor eax, 0x3b
mov byte [rbp + 0x212], al
movsx ecx, byte [rbp + 0x212]
mov eax, dword [rbp + 0x208]
add al, 3
xor eax, ecx
xor eax, 0x7b
mov byte [rbp + 0x213], al
movsx ecx, byte [rbp + 0x213]
mov eax, dword [rbp + 0x208]
add al, 4
xor eax, ecx
xor eax, 0x7d
mov byte [rbp + 0x214], al
movsx ecx, byte [rbp + 0x214]
mov eax, dword [rbp + 0x208]
add al, 5
xor eax, ecx
xor eax, 0x3b
mov byte [rbp + 0x215], al
movsx ecx, byte [rbp + 0x215]
mov eax, dword [rbp + 0x208]
add al, 6
xor eax, ecx
xor eax, 0x7b
mov byte [rbp + 0x216], al
movsx ecx, byte [rbp + 0x216]
mov eax, dword [rbp + 0x208]
add al, 7
xor eax, ecx
xor eax, 0x7d
mov byte [rbp + 0x217], al
xor eax, eax
mov byte [rbp + 0x218], al
movzx eax, byte [rbp + 0x210]
lea rdx, [rbp + 0x8b8]
lea rcx, [rbp + 0x208]
call fcn.140066810
nop
cmp qword [rax + 0x18], 0x10
jb 0x140036c91
mov rax, qword [rax]
mov qword [rbp + 0x110], rax
lea rcx, [rbp - 0x6c]
mov qword [rsp + 0x20], rcx
lea r9, [rbp - 0x68]
lea r8, [rbp + 0x40]
mov rdx, rax
lea rcx, [rbp + 0x898]
call fcn.140029e60
mov rsi, rax
mov dword [rbp + 0x150], 0x7e
mov ecx, dword [rbp + 0x150]
add cl, 0x7e
movsx edx, cl
xor edx, 0x1c
mov dword [rbp + 0x154], edx
mov ecx, dword [rbp + 0x154]
mov edx, dword [rbp + 0x150]
xor edx, ecx
xor edx, 0x22
mov byte [rbp + 0x158], dl
movsx ecx, byte [rbp + 0x158]
mov eax, dword [rbp + 0x150]
inc al
xor eax, ecx
xor eax, 0x7b
mov byte [rbp + 0x159], al
movsx ecx, byte [rbp + 0x159]
mov eax, dword [rbp + 0x150]
add al, 2
xor eax, ecx
xor eax, 0x7d
mov byte [rbp + 0x15a], al
movsx ecx, byte [rbp + 0x15a]
mov eax, dword [rbp + 0x150]
add al, 3
xor eax, ecx
xor eax, 0x22
mov byte [rbp + 0x15b], al
movsx ecx, byte [rbp + 0x15b]
mov eax, dword [rbp + 0x150]
add al, 4
xor eax, ecx
xor eax, 0x2c
mov byte [rbp + 0x15c], al
movsx ecx, byte [rbp + 0x15c]
mov eax, dword [rbp + 0x150]
add al, 5
xor eax, ecx
xor eax, 0x20
mov byte [rbp + 0x15d], al
movsx ecx, byte [rbp + 0x15d]
mov eax, dword [rbp + 0x150]
add al, 6
xor eax, ecx
xor eax, 0x22
mov byte [rbp + 0x15e], al
movsx ecx, byte [rbp + 0x15e]
mov eax, dword [rbp + 0x150]
add al, 7
xor eax, ecx
xor eax, 0x7b
mov byte [rbp + 0x15f], al
movsx ecx, byte [rbp + 0x15f]
mov eax, dword [rbp + 0x150]
add al, 8
xor eax, ecx
xor eax, 0x7d
mov byte [rbp + 0x160], al
movsx ecx, byte [rbp + 0x160]
mov eax, dword [rbp + 0x150]
add al, 9
xor eax, ecx
xor eax, 0x22
mov byte [rbp + 0x161], al
movsx ecx, byte [rbp + 0x161]
mov eax, dword [rbp + 0x150]
add al, 0xa
xor eax, ecx
xor eax, 0x2c
mov byte [rbp + 0x162], al
movsx ecx, byte [rbp + 0x162]
mov eax, dword [rbp + 0x150]
add al, 0xb
xor eax, ecx
xor eax, 0x20
mov byte [rbp + 0x163], al
movsx ecx, byte [rbp + 0x163]
mov eax, dword [rbp + 0x150]
add al, 0xc
xor eax, ecx
xor eax, 0x22
mov byte [rbp + 0x164], al
movsx ecx, byte [rbp + 0x164]
mov eax, dword [rbp + 0x150]
add al, 0xd
xor eax, ecx
xor eax, 0x7b
mov byte [rbp + 0x165], al
movsx ecx, byte [rbp + 0x165]
mov eax, dword [rbp + 0x150]
add al, 0xe
xor eax, ecx
xor eax, 0x7d
mov byte [rbp + 0x166], al
movsx ecx, byte [rbp + 0x166]
mov eax, dword [rbp + 0x150]
add al, 0xf
xor eax, ecx
xor eax, 0x22
mov byte [rbp + 0x167], al
movsx ecx, byte [rbp + 0x167]
mov eax, dword [rbp + 0x150]
add al, 0x10
xor eax, ecx
xor eax, 0x2c
mov byte [rbp + 0x168], al
movsx ecx, byte [rbp + 0x168]
mov eax, dword [rbp + 0x150]
add al, 0x11
xor eax, ecx
xor eax, 0x20
mov byte [rbp + 0x169], al
movsx ecx, byte [rbp + 0x169]
mov eax, dword [rbp + 0x150]
add al, 0x12
xor eax, ecx
xor eax, 0x22
mov byte [rbp + 0x16a], al
movsx ecx, byte [rbp + 0x16a]
mov eax, dword [rbp + 0x150]
add al, 0x13
xor eax, ecx
xor eax, 0x7b
mov byte [rbp + 0x16b], al
movsx ecx, byte [rbp + 0x16b]
mov eax, dword [rbp + 0x150]
add al, 0x14
xor eax, ecx
xor eax, 0x7d
mov byte [rbp + 0x16c], al
movsx ecx, byte [rbp + 0x16c]
mov eax, dword [rbp + 0x150]
add al, 0x15
xor eax, ecx
xor eax, 0x22
mov byte [rbp + 0x16d], al
movsx ecx, byte [rbp + 0x16d]
mov eax, dword [rbp + 0x150]
add al, 0x16
xor eax, ecx
xor eax, 0x2c
mov byte [rbp + 0x16e], al
movsx ecx, byte [rbp + 0x16e]
mov eax, dword [rbp + 0x150]
add al, 0x17
xor eax, ecx
xor eax, 0x20
mov byte [rbp + 0x16f], al
movsx ecx, byte [rbp + 0x16f]
mov eax, dword [rbp + 0x150]
add al, 0x18
xor eax, ecx
xor eax, 0x22
mov byte [rbp + 0x170], al
movsx ecx, byte [rbp + 0x170]
mov eax, dword [rbp + 0x150]
add al, 0x19
xor eax, ecx
xor eax, 0x7b
mov byte [rbp + 0x171], al
movsx ecx, byte [rbp + 0x171]
mov eax, dword [rbp + 0x150]
add al, 0x1a
xor eax, ecx
xor eax, 0x7d
mov byte [rbp + 0x172], al
movsx ecx, byte [rbp + 0x172]
mov eax, dword [rbp + 0x150]
add al, 0x1b
xor eax, ecx
xor eax, 0x22
mov byte [rbp + 0x173], al
movsx ecx, byte [rbp + 0x173]
mov eax, dword [rbp + 0x150]
add al, 0x1c
xor eax, ecx
xor eax, 0x2c
mov byte [rbp + 0x174], al
movsx ecx, byte [rbp + 0x174]
mov eax, dword [rbp + 0x150]
add al, 0x1d
xor eax, ecx
xor eax, 0x20
mov byte [rbp + 0x175], al
movsx ecx, byte [rbp + 0x175]
mov eax, dword [rbp + 0x150]
add al, 0x1e
xor eax, ecx
xor eax, 0x22
mov byte [rbp + 0x176], al
movsx ecx, byte [rbp + 0x176]
mov eax, dword [rbp + 0x150]
add al, 0x1f
xor eax, ecx
xor eax, 0x7b
mov byte [rbp + 0x177], al
movsx ecx, byte [rbp + 0x177]
mov eax, dword [rbp + 0x150]
add al, 0x20
xor eax, ecx
xor eax, 0x7d
mov byte [rbp + 0x178], al
movsx ecx, byte [rbp + 0x178]
mov eax, dword [rbp + 0x150]
add al, 0x21
xor eax, ecx
xor eax, 0x22
mov byte [rbp + 0x179], al
movsx ecx, byte [rbp + 0x179]
mov eax, dword [rbp + 0x150]
add al, 0x22
xor eax, ecx
xor eax, 0x2c
mov byte [rbp + 0x17a], al
movsx ecx, byte [rbp + 0x17a]
mov eax, dword [rbp + 0x150]
add al, 0x23
xor eax, ecx
xor eax, 0x20
mov byte [rbp + 0x17b], al
movsx ecx, byte [rbp + 0x17b]
mov eax, dword [rbp + 0x150]
add al, 0x24
xor eax, ecx
xor eax, 0x22
mov byte [rbp + 0x17c], al
movsx ecx, byte [rbp + 0x17c]
mov eax, dword [rbp + 0x150]
add al, 0x25
xor eax, ecx
xor eax, 0x7b
mov byte [rbp + 0x17d], al
movsx ecx, byte [rbp + 0x17d]
mov eax, dword [rbp + 0x150]
add al, 0x26
xor eax, ecx
xor eax, 0x7d
mov byte [rbp + 0x17e], al
movsx ecx, byte [rbp + 0x17e]
mov eax, dword [rbp + 0x150]
add al, 0x27
xor eax, ecx
xor eax, 0x22
mov byte [rbp + 0x17f], al
movsx ecx, byte [rbp + 0x17f]
mov eax, dword [rbp + 0x150]
add al, 0x28
xor eax, ecx
xor eax, 0x2c
mov byte [rbp + 0x180], al
movsx ecx, byte [rbp + 0x180]
mov eax, dword [rbp + 0x150]
add al, 0x29
xor eax, ecx
xor eax, 0x20
mov byte [rbp + 0x181], al
movsx ecx, byte [rbp + 0x181]
mov eax, dword [rbp + 0x150]
add al, 0x2a
xor eax, ecx
xor eax, 0x22
mov byte [rbp + 0x182], al
movsx ecx, byte [rbp + 0x182]
mov eax, dword [rbp + 0x150]
add al, 0x2b
xor eax, ecx
xor eax, 0x7b
mov byte [rbp + 0x183], al
movsx ecx, byte [rbp + 0x183]
mov eax, dword [rbp + 0x150]
add al, 0x2c
xor eax, ecx
xor eax, 0x7d
mov byte [rbp + 0x184], al
movsx ecx, byte [rbp + 0x184]
mov eax, dword [rbp + 0x150]
add al, 0x2d
xor eax, ecx
xor eax, 0x22
mov byte [rbp + 0x185], al
movsx ecx, byte [rbp + 0x185]
mov eax, dword [rbp + 0x150]
add al, 0x2e
xor eax, ecx
xor eax, 0x2c
mov byte [rbp + 0x186], al
movsx ecx, byte [rbp + 0x186]
mov eax, dword [rbp + 0x150]
add al, 0x2f
xor eax, ecx
xor eax, 0x20
mov byte [rbp + 0x187], al
movsx ecx, byte [rbp + 0x187]
mov eax, dword [rbp + 0x150]
add al, 0x30
xor eax, ecx
xor eax, 0x22
mov byte [rbp + 0x188], al
movsx ecx, byte [rbp + 0x188]
mov eax, dword [rbp + 0x150]
add al, 0x31
xor eax, ecx
xor eax, 0x7b
mov byte [rbp + 0x189], al
movsx ecx, byte [rbp + 0x189]
mov eax, dword [rbp + 0x150]
add al, 0x32
xor eax, ecx
xor eax, 0x7d
mov byte [rbp + 0x18a], al
movsx ecx, byte [rbp + 0x18a]
mov eax, dword [rbp + 0x150]
add al, 0x33
xor eax, ecx
xor eax, 0x22
mov byte [rbp + 0x18b], al
xor eax, eax
mov byte [rbp + 0x18c], al
movzx eax, byte [rbp + 0x158]
lea rdx, [rbp + 0x878]
lea rcx, [rbp + 0x150]
call fcn.140066670
nop
cmp qword [rax + 0x18], 0x10
jb 0x14003724c
mov rax, qword [rax]
mov qword [rbp + 0x118], rax
mov qword [rsp + 0x50], rdi
lea rcx, [rbp + 0x4f8]
mov qword [rsp + 0x48], rcx
lea rcx, [rbp + 0x3d8]
mov qword [rsp + 0x40], rcx
lea rcx, [rbp + 0x338]
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x30], rbx
lea rcx, [rbp + 0x3b8]
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rsi
lea r9, [rbp - 0x64]
lea r8, [rbp + 0x4b8]
mov rdx, rax
lea rcx, [rbp + 0xa38]
call fcn.140029a40
nop
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, rax
lea rcx, [rbp + 0x4d8]
call fcn.14001ec90
nop
lea rcx, [rbp + 0xa38]
call fcn.14001c970
nop
lea rcx, [rbp + 0x878]
call fcn.14001c970
nop
lea rcx, [rbp + 0x898]
call fcn.14001c970
nop
lea rcx, [rbp + 0x8b8]
call fcn.14001c970
nop
lea rcx, [rbp + 0x8d8]
call fcn.14001c970
nop
lea rcx, [rbp + 0x8f8]
call fcn.14001c970
nop
lea rcx, [rbp + 0x918]
call fcn.14001c970
nop
lea rcx, [rbp + 0x938]
call fcn.14001c970
xor esi, esi
cmp r12d, 2
jne 0x14003794c
mov qword [rbp + 0x470], 0xf
mov eax, esi
mov qword [rbp + 0x468], rax
mov byte [rbp + 0x458], al
mov rbx, qword [0x1407417c8]
mov rdi, qword [0x1407417d0]
cmp rbx, rdi
je 0x1400373cc
test rax, rax
je 0x14003737d
mov r8b, 0x3b
mov edx, 1
lea rcx, [rbp + 0x458]
call fcn.14002fec0
mov rcx, rbx
call fcn.140100cf0
mov edx, eax
lea rcx, [rbp + 0x958]
call fcn.1400417a0
nop
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, rax
lea rcx, [rbp + 0x458]
call fcn.14001ec90
nop
lea rcx, [rbp + 0x958]
call fcn.14001c970
add rbx, 0xa8
cmp rbx, rdi
je 0x1400373cc
mov rax, qword [rbp + 0x468]
jmp 0x140037364
mov dword [rbp + 0x240], 0x58
mov eax, dword [rbp + 0x240]
add al, 0x58
movsx ecx, al
xor ecx, 0x3b
mov dword [rbp + 0x244], ecx
mov eax, dword [rbp + 0x244]
mov ecx, dword [rbp + 0x240]
xor ecx, eax
xor ecx, 0x30
mov byte [rbp + 0x248], cl
movsx ecx, byte [rbp + 0x248]
mov eax, dword [rbp + 0x240]
inc al
xor eax, ecx
xor eax, 0x3b
mov byte [rbp + 0x249], al
movsx ecx, byte [rbp + 0x249]
mov eax, dword [rbp + 0x240]
add al, 2
xor eax, ecx
xor eax, 0x30
mov byte [rbp + 0x24a], al
movsx ecx, byte [rbp + 0x24a]
mov eax, dword [rbp + 0x240]
add al, 3
xor eax, ecx
xor eax, 0x3b
mov byte [rbp + 0x24b], al
movsx ecx, byte [rbp + 0x24b]
mov eax, dword [rbp + 0x240]
add al, 4
xor eax, ecx
xor eax, 0x30
mov byte [rbp + 0x24c], al
xor eax, eax
mov byte [rbp + 0x24d], al
movzx eax, byte [rbp + 0x248]
lea rdx, [rbp + 0x538]
lea rcx, [rbp + 0x240]
call fcn.1400949d0
nop
mov eax, dword [r13 + 0x138]
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
divsd xmm6, qword [0x1403ced70]
addsd xmm0, xmm6
movsd qword [rbp + 0x48], xmm0
mov dword [rbp + 0x190], 0x1d
mov dword [rbp + 0x194], 0xd
mov eax, dword [rbp + 0x194]
xor eax, 0x31
mov byte [rbp + 0x198], al
movsx ecx, byte [rbp + 0x198]
xor ecx, 0x3d
mov byte [rbp + 0x199], cl
movsx ecx, byte [rbp + 0x199]
xor ecx, 0x3f
mov byte [rbp + 0x19a], cl
movsx ecx, byte [rbp + 0x19a]
xor ecx, 0x66
mov byte [rbp + 0x19b], cl
movsx ecx, byte [rbp + 0x19b]
xor ecx, 0x60
mov byte [rbp + 0x19c], cl
movsx ecx, byte [rbp + 0x19c]
xor ecx, 0x3f
mov byte [rbp + 0x19d], cl
movsx ecx, byte [rbp + 0x19d]
xor ecx, 0x31
mov byte [rbp + 0x19e], cl
movsx ecx, byte [rbp + 0x19e]
xor ecx, 0x3d
mov byte [rbp + 0x19f], cl
movsx ecx, byte [rbp + 0x19f]
xor ecx, 0x3f
mov byte [rbp + 0x1a0], cl
movsx ecx, byte [rbp + 0x1a0]
xor ecx, 0x66
mov byte [rbp + 0x1a1], cl
movsx ecx, byte [rbp + 0x1a1]
xor ecx, 0x60
mov byte [rbp + 0x1a2], cl
movsx ecx, byte [rbp + 0x1a2]
xor ecx, 0x3f
mov byte [rbp + 0x1a3], cl
movsx ecx, byte [rbp + 0x1a3]
xor ecx, 0x31
mov byte [rbp + 0x1a4], cl
movsx ecx, byte [rbp + 0x1a4]
xor ecx, 0x3d
mov byte [rbp + 0x1a5], cl
movsx ecx, byte [rbp + 0x1a5]
xor ecx, 0x3f
mov byte [rbp + 0x1a6], cl
movsx ecx, byte [rbp + 0x1a6]
xor ecx, 0x66
mov byte [rbp + 0x1a7], cl
movsx ecx, byte [rbp + 0x1a7]
xor ecx, 0x60
mov byte [rbp + 0x1a8], cl
movsx ecx, byte [rbp + 0x1a8]
xor ecx, 0x3f
mov byte [rbp + 0x1a9], cl
movsx ecx, byte [rbp + 0x1a9]
xor ecx, 0x31
mov byte [rbp + 0x1aa], cl
movsx ecx, byte [rbp + 0x1aa]
xor ecx, 0x3d
mov byte [rbp + 0x1ab], cl
movsx ecx, byte [rbp + 0x1ab]
xor ecx, 0x3f
mov byte [rbp + 0x1ac], cl
movsx ecx, byte [rbp + 0x1ac]
xor ecx, 0x66
mov byte [rbp + 0x1ad], cl
movsx ecx, byte [rbp + 0x1ad]
xor ecx, 0x60
mov byte [rbp + 0x1ae], cl
movsx ecx, byte [rbp + 0x1ae]
xor ecx, 0x3f
mov byte [rbp + 0x1af], cl
movsx ecx, byte [rbp + 0x1af]
xor ecx, 0x31
mov byte [rbp + 0x1b0], cl
movsx ecx, byte [rbp + 0x1b0]
xor ecx, 0x3d
mov byte [rbp + 0x1b1], cl
movsx ecx, byte [rbp + 0x1b1]
xor ecx, 0x3f
mov byte [rbp + 0x1b2], cl
movsx ecx, byte [rbp + 0x1b2]
xor ecx, 0x66
mov byte [rbp + 0x1b3], cl
movsx ecx, byte [rbp + 0x1b3]
xor ecx, 0x60
mov byte [rbp + 0x1b4], cl
movsx ecx, byte [rbp + 0x1b4]
xor ecx, 0x3f
mov byte [rbp + 0x1b5], cl
movsx ecx, byte [rbp + 0x1b5]
xor ecx, 0x31
mov byte [rbp + 0x1b6], cl
movsx ecx, byte [rbp + 0x1b6]
xor ecx, 0x3d
mov byte [rbp + 0x1b7], cl
movsx ecx, byte [rbp + 0x1b7]
xor ecx, 0x3f
mov byte [rbp + 0x1b8], cl
movsx ecx, byte [rbp + 0x1b8]
xor ecx, 0x66
mov byte [rbp + 0x1b9], cl
movsx ecx, byte [rbp + 0x1b9]
xor ecx, 0x60
mov byte [rbp + 0x1ba], cl
movsx ecx, byte [rbp + 0x1ba]
xor ecx, 0x3f
mov byte [rbp + 0x1bb], cl
movsx ecx, byte [rbp + 0x1bb]
xor ecx, 0x31
mov byte [rbp + 0x1bc], cl
movsx ecx, byte [rbp + 0x1bc]
xor ecx, 0x3d
mov byte [rbp + 0x1bd], cl
movsx ecx, byte [rbp + 0x1bd]
xor ecx, 0x3f
mov byte [rbp + 0x1be], cl
movsx ecx, byte [rbp + 0x1be]
xor ecx, 0x66
mov byte [rbp + 0x1bf], cl
movsx ecx, byte [rbp + 0x1bf]
xor ecx, 0x60
mov byte [rbp + 0x1c0], cl
movsx ecx, byte [rbp + 0x1c0]
xor ecx, 0x3f
mov byte [rbp + 0x1c1], cl
movsx ecx, byte [rbp + 0x1c1]
xor ecx, 0x31
mov byte [rbp + 0x1c2], cl
movsx ecx, byte [rbp + 0x1c2]
xor ecx, 0x3d
mov byte [rbp + 0x1c3], cl
movsx ecx, byte [rbp + 0x1c3]
xor ecx, 0x3f
mov byte [rbp + 0x1c4], cl
movsx ecx, byte [rbp + 0x1c4]
xor ecx, 0x66
mov byte [rbp + 0x1c5], cl
movsx ecx, byte [rbp + 0x1c5]
xor ecx, 0x60
mov byte [rbp + 0x1c6], cl
movsx ecx, byte [rbp + 0x1c6]
xor ecx, 0x3f
mov byte [rbp + 0x1c7], cl
movsx ecx, byte [rbp + 0x1c7]
xor ecx, 0x31
mov byte [rbp + 0x1c8], cl
movsx ecx, byte [rbp + 0x1c8]
xor ecx, 0x3d
mov byte [rbp + 0x1c9], cl
movsx ecx, byte [rbp + 0x1c9]
xor ecx, 0x3f
mov byte [rbp + 0x1ca], cl
movsx ecx, byte [rbp + 0x1ca]
xor ecx, 0x66
mov byte [rbp + 0x1cb], cl
movsx ecx, byte [rbp + 0x1cb]
xor ecx, 0x27
mov byte [rbp + 0x1cc], cl
movsx ecx, byte [rbp + 0x1cc]
xor ecx, 0x33
mov byte [rbp + 0x1cd], cl
movsx ecx, byte [rbp + 0x1cd]
xor ecx, 0x2d
mov byte [rbp + 0x1ce], cl
movsx ecx, byte [rbp + 0x1ce]
xor ecx, 0x7b
mov byte [rbp + 0x1cf], cl
movsx ecx, byte [rbp + 0x1cf]
xor ecx, 0x60
mov byte [rbp + 0x1d0], cl
movsx ecx, byte [rbp + 0x1d0]
xor ecx, 0x3f
mov byte [rbp + 0x1d1], cl
xor eax, eax
mov byte [rbp + 0x1d2], al
movzx eax, byte [rbp + 0x198]
lea rdx, [rbp + 0x998]
lea rcx, [rbp + 0x190]
call fcn.140040ec0
nop
cmp qword [rax + 0x18], 0x10
jb 0x14003788c
mov rax, qword [rax]
mov qword [rbp + 0x120], rax
lea rcx, [rbp + 0x48]
mov qword [rsp + 0x50], rcx
lea rcx, [rbp + 0x538]
mov qword [rsp + 0x48], rcx
lea rcx, [rbp + 0x458]
mov qword [rsp + 0x40], rcx
lea rcx, [rbp + 0x358]
mov qword [rsp + 0x38], rcx
lea rcx, [rbp + 0x378]
mov qword [rsp + 0x30], rcx
lea rcx, [rbp + 0x398]
mov qword [rsp + 0x28], rcx
lea rcx, [rbp + 0x3f8]
mov qword [rsp + 0x20], rcx
lea r9, [rbp + 0x418]
lea r8, [rbp + 0x438]
mov rdx, rax
lea rcx, [rbp + 0x978]
call fcn.140029c20
nop
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, rax
lea rcx, [rbp + 0x4d8]
call fcn.14001ec90
nop
lea rcx, [rbp + 0x978]
call fcn.14001c970
nop
lea rcx, [rbp + 0x998]
call fcn.14001c970
nop
lea rcx, [rbp + 0x538]
call fcn.14001c970
nop
lea rcx, [rbp + 0x458]
call fcn.14001c970
mov dword [rbp + 0x308], 0x76
mov dword [rbp + 0x30c], 0x4c
mov eax, dword [rbp + 0x30c]
xor eax, 0x2b
mov byte [rbp + 0x310], al
movsx ecx, byte [rbp + 0x310]
xor ecx, 0xb
mov byte [rbp + 0x311], cl
movsx ecx, byte [rbp + 0x311]
xor ecx, 0x7c
mov byte [rbp + 0x312], cl
xor eax, eax
mov byte [rbp + 0x313], al
movzx eax, byte [rbp + 0x310]
lea rdx, [rbp + 0x9b8]
lea rcx, [rbp + 0x308]
call fcn.140024d40
nop
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, rax
lea rcx, [rbp + 0x4d8]
call fcn.14001ec90
nop
lea rcx, [rbp + 0x9b8]
call fcn.14001c970
lea rdx, [rbp + 0x4d8]
mov rcx, r13
call fcn.14003e7a0
nop
lea rcx, [rbp + 0x4f8]
call fcn.14001c970
nop
lea rcx, [rbp + 0x518]
call fcn.14001c970
nop
lea rcx, [rbp + 0x3d8]
call fcn.14001c970
nop
mov rdx, qword [rbp - 0x30]
test rdx, rdx
je 0x140037a35
mov r8, qword [rbp - 0x20]
sub r8, rdx
sar r8, 5
lea rcx, [rbp - 0x30]
call fcn.140052850
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x30], xmm0
mov qword [rbp - 0x20], rsi
lea rcx, [rbp + 0x358]
call fcn.14001c970
nop
lea rcx, [rbp + 0x378]
call fcn.14001c970
nop
lea rcx, [rbp + 0x398]
call fcn.14001c970
nop
lea rcx, [rbp + 0x3f8]
call fcn.14001c970
nop
lea rcx, [rbp + 0x418]
call fcn.14001c970
nop
lea rcx, [rbp + 0x438]
call fcn.14001c970
nop
lea rcx, [rbp + 0x338]
call fcn.14001c970
nop
lea rcx, [rbp + 0x3b8]
call fcn.14001c970
nop
mov r9, qword [rbp - 0x48]
movabs rbx, 0x2aaaaaaaaaaaaaab
test r9, r9
je 0x140037ae3
mov rcx, qword [rbp - 0x38]
sub rcx, r9
mov rax, rbx
imul rcx
sar rdx, 4
mov r8, rdx
shr r8, 0x3f
add r8, rdx
mov rdx, r9
lea rcx, [rbp - 0x48]
call fcn.140103650
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x48], xmm0
mov qword [rbp - 0x38], rsi
mov r9, qword [rbp - 0x60]
test r9, r9
je 0x140037b1f
mov rcx, qword [rbp - 0x50]
sub rcx, r9
mov rax, rbx
imul rcx
sar rdx, 4
mov r8, rdx
shr r8, 0x3f
add r8, rdx
mov rdx, r9
lea rcx, [rbp - 0x60]
call fcn.140103650
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x60], xmm0
mov qword [rbp - 0x50], rsi
lea rcx, [rbp + 0x4b8]
call fcn.14001c970
nop
lea rcx, [rbp + 0x4d8]
call fcn.14001c970
mov rcx, qword [rbp + 0xa58]
xor rcx, rsp
call fcn.14034de80
mov rbx, qword [rsp + 0xbc0]
movaps xmm6, xmmword [rsp + 0xb60]
add rsp, 0xb70
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret