Function at 0x1400b1900
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x38]
sub rsp, 0x138
mov qword [rbp + 0x28], 0xfffffffffffffffe
mov r14, r9
mov r15, r8
cmp word [rdx], 1
jne 0x1400b2837
mov r8, qword [r8]
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, r8
repne scasw ax, word [rdi]
not rcx
dec rcx
mov rax, qword [0x140174e20]
add rax, rax
cmp rcx, rax
jne 0x1400b2837
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, r8
repne scasw ax, word [rdi]
not rcx
dec rcx
mov rdi, rcx
mov esi, eax
mov ecx, eax
je 0x1400b19d3
mov rdx, r8
nop word [rax + rax]
movzx eax, word [rdx]
cmp ax, 0x30
jb 0x1400b199f
cmp ax, 0x39
jbe 0x1400b19c7
cmp ax, 0x41
jb 0x1400b19ab
cmp ax, 0x46
jbe 0x1400b19c7
cmp ax, 0x61
jb 0x1400b19b7
cmp ax, 0x66
jbe 0x1400b19c7
cmp ax, 0xd
je 0x1400b19c7
cmp ax, 0xa
jne 0x1400b2837
inc rcx
add rdx, 2
cmp rcx, rdi
jb 0x1400b1990
mov rdx, qword [r15 + 8]
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, rdx
repne scasw ax, word [rdi]
not rcx
dec rcx
mov rdi, rcx
mov rcx, rsi
je 0x1400b1a46
movzx eax, word [rdx]
cmp ax, 0x30
jb 0x1400b1a00
cmp ax, 0x39
jbe 0x1400b1a3a
cmp ax, 0x41
jb 0x1400b1a0c
cmp ax, 0x5a
jbe 0x1400b1a3a
cmp ax, 0x61
jb 0x1400b1a18
cmp ax, 0x7a
jbe 0x1400b1a3a
cmp ax, 0x2b
je 0x1400b1a3a
cmp ax, 0x2f
je 0x1400b1a3a
cmp ax, 0x3d
je 0x1400b1a3a
cmp ax, 0xd
je 0x1400b1a3a
cmp ax, 0xa
jne 0x1400b2837
inc rcx
add rdx, 2
cmp rcx, rdi
jb 0x1400b19f1
mov dword [rsp + 0x58], esi
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x48], rsi
mov dword [rsp + 0x70], esi
mov qword [rsp + 0x68], rsi
mov qword [rsp + 0x60], rsi
xor r9d, r9d
lea rdx, [rbp - 0x80]
lea rcx, [rsp + 0x60]
call fcn.1400ab760
test eax, eax
je 0x1400b1a9e
mov rdi, qword [rsp + 0x68]
test rdi, rdi
je 0x1400b1a99
mov r8, qword [rsp + 0x60]
xor edx, edx
mov rcx, rdi
call fcn.14010ec60
mov rcx, rdi
call fcn.140108f48
nop
jmp 0x1400b2837
mov r12, qword [rsp + 0x68]
movzx ecx, byte [r12]
mov byte [rsp + 0x40], cl
lea rbx, [r12 + 1]
mov rdi, qword [rbp - 0x80]
dec rdi
mov rax, rsi
je 0x1400b1acf
nop dword [rax]
xor cl, byte [rax + rbx]
inc rax
cmp rax, rdi
jb 0x1400b1ac0
mov byte [rsp + 0x40], cl
lea rcx, [0x14014fa48]
call fcn.1400dd2e0
mov r9, rax
mov r8, rdi
mov rdx, rbx
lea rcx, [rsp + 0x48]
call fcn.1400a8760
test al, al
jne 0x1400b1b1d
mov r8, qword [rsp + 0x60]
xor edx, edx
mov rcx, r12
call fcn.14010ec60
mov rcx, r12
call fcn.140108f48
nop
mov rdi, qword [rsp + 0x50]
test rdi, rdi
je 0x1400b2837
jmp 0x1400b2820
mov r13, qword [rsp + 0x50]
lea rdi, [r13 + 2]
mov rax, qword [reloc.OLEAUT32.dll_SysReAllocString]
lea rsi, [rdi + rax*2]
movzx ecx, byte [rsp + 0x40]
movzx ebx, cl
and bl, 0x3f
and cl, 0xc0
mov byte [rsp + 0x40], cl
movzx eax, word [r13]
sub ax, 0x20
mov word [rsp + 0x42], ax
xor eax, eax
mov dword [rbp - 0x68], eax
mov qword [rbp - 0x70], rax
mov qword [rbp - 0x78], rax
mov dword [rbp - 0x48], eax
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x58], rax
mov qword [rbp - 8], rax
mov qword [rbp], rax
mov qword [rbp + 8], rax
mov qword [rbp + 0x10], rax
mov byte [rbp + 0x18], al
mov qword [rbp + 0x20], rax
mov qword [rbp - 0x28], rax
mov r9b, 1
mov r8, qword [r15 + 8]
lea rdx, [rbp - 0x30]
lea rcx, [rbp - 0x58]
call fcn.1400ab760
test eax, eax
je 0x1400b1beb
mov rdi, qword [rbp - 0x50]
test rdi, rdi
je 0x1400b1bbc
mov r8, qword [rbp - 0x58]
xor edx, edx
mov rcx, rdi
call fcn.14010ec60
mov rcx, rdi
call fcn.140108f48
nop
mov r8, qword [rsp + 0x60]
xor edx, edx
mov rcx, r12
call fcn.14010ec60
mov rcx, r12
call fcn.140108f48
nop
mov r8, qword [rsp + 0x48]
xor edx, edx
mov rcx, r13
call fcn.14010ec60
mov rcx, r13
jmp 0x1400b2832
mov rcx, qword [rbp - 0x30]
mov r13, qword [rbp - 0x50]
test rcx, rcx
je 0x1400b1c0a
mov rax, r13
movzx edx, word [rsp + 0x42]
xor byte [rax], dl
inc rax
dec rcx
jne 0x1400b1c00
lea rcx, [0x14014fa48]
call fcn.1400dd2e0
lea rcx, [rbp - 8]
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x30], rax
mov rax, qword [rbp - 0x30]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r13
mov r9d, 4
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call fcn.1400a7140
test al, al
jne 0x1400b1c81
test r13, r13
je 0x1400b1c64
mov r8, qword [rbp - 0x58]
xor edx, edx
mov rcx, r13
call fcn.14010ec60
mov rcx, r13
call fcn.140108f48
nop
mov r8, qword [rsp + 0x60]
xor edx, edx
mov rcx, r12
call fcn.14010ec60
mov rcx, r12
call fcn.140108f48
nop
jmp 0x1400b281b
lea rcx, [0x14014fa48]
call fcn.1400dd2e0
xor ecx, ecx
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x30], rax
mov rax, qword [rbp - 0x30]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r13
lea r9d, [rcx + 2]
xor r8d, r8d
lea rdx, [rbp - 0x28]
lea rcx, [rbp - 0x78]
call fcn.1400a7140
mov byte [rsp + 0x41], al
mov r8, qword [reloc.OLEAUT32.dll_SysReAllocString]
lea rdx, [0x140150110]
mov rcx, rdi
call fcn.14010a798
test eax, eax
je 0x1400b1d32
test r13, r13
je 0x1400b1cf5
mov r8, qword [rbp - 0x58]
xor edx, edx
mov rcx, r13
call fcn.14010ec60
mov rcx, r13
call fcn.140108f48
nop
mov rdi, qword [rbp - 0x70]
test rdi, rdi
je 0x1400b1d15
mov r8, qword [rbp - 0x78]
xor edx, edx
mov rcx, rdi
call fcn.14010ec60
mov rcx, rdi
call fcn.140108f48
nop
mov r8, qword [rsp + 0x60]
xor edx, edx
mov rcx, r12
call fcn.14010ec60
mov rcx, r12
call fcn.140108f48
nop
jmp 0x1400b281b
mov r8, qword [reloc.OLEAUT32.dll_SysReAllocString]
lea rdx, [0x140150110]
mov r12, qword [rbp - 0x70]
mov rcx, r12
call fcn.14010a798
test eax, eax
je 0x1400b1daa
test r13, r13
je 0x1400b1d6c
mov r8, qword [rbp - 0x58]
xor edx, edx
mov rcx, r13
call fcn.14010ec60
mov rcx, r13
call fcn.140108f48
nop
test r12, r12
je 0x1400b1d88
mov r8, qword [rbp - 0x78]
xor edx, edx
mov rcx, r12
call fcn.14010ec60
mov rcx, r12
call fcn.140108f48
nop
mov r8, qword [rsp + 0x60]
xor edx, edx
mov rdi, qword [rsp + 0x68]
mov rcx, rdi
call fcn.14010ec60
mov rcx, rdi
call fcn.140108f48
nop
jmp 0x1400b281b
movzx eax, byte [rsp + 0x40]
cmp al, 0x80
je 0x1400b1e19
cmp al, 0x40
je 0x1400b1e19
test al, al
je 0x1400b1ee4
test r13, r13
je 0x1400b1ddb
mov r8, qword [rbp - 0x58]
xor edx, edx
mov rcx, r13
call fcn.14010ec60
mov rcx, r13
call fcn.140108f48
nop
test r12, r12
je 0x1400b1df7
mov r8, qword [rbp - 0x78]
xor edx, edx
mov rcx, r12
call fcn.14010ec60
mov rcx, r12
call fcn.140108f48
nop
mov r8, qword [rsp + 0x60]
xor edx, edx
mov rdi, qword [rsp + 0x68]
mov rcx, rdi
call fcn.14010ec60
mov rcx, rdi
call fcn.140108f48
nop
jmp 0x1400b281b
test al, al
je 0x1400b1ee4
mov edx, dword [rbp + 0xb0]
cmp edx, dword [0x140174cc4]
je 0x1400b1e69
xor r8d, r8d
mov ecx, r8d
mov edi, dword [0x140174af4]
test edi, edi
je 0x1400b1ee4
lea rax, [0x140174964]
nop word [rax + rax]
cmp dword [rax], edx
je 0x1400b1e63
inc ecx
add rax, 4
cmp ecx, edi
jb 0x1400b1e50
jmp 0x1400b1ee4
mov dword [0x140174cc4], edx
test r13, r13
je 0x1400b1e85
mov r8, qword [rbp - 0x58]
xor edx, edx
mov rcx, r13
call fcn.14010ec60
mov rcx, r13
call fcn.140108f48
nop
test r12, r12
je 0x1400b1ea1
mov r8, qword [rbp - 0x78]
xor edx, edx
mov rcx, r12
call fcn.14010ec60
mov rcx, r12
call fcn.140108f48
nop
mov r8, qword [rsp + 0x60]
xor edx, edx
mov rdi, qword [rsp + 0x68]
mov rcx, rdi
call fcn.14010ec60
mov rcx, rdi
call fcn.140108f48
nop
mov r8, qword [rsp + 0x48]
xor edx, edx
mov rdi, qword [rsp + 0x50]
mov rcx, rdi
call fcn.14010ec60
mov rcx, rdi
call fcn.140108f48
mov eax, 1
jmp 0x1400b2839
movzx eax, bl
cmp eax, dword [reloc.OLEAUT32.dll_SysStringLen]
je 0x1400b1f6a
test r13, r13
je 0x1400b1f0b
mov r8, qword [rbp - 0x58]
xor edx, edx
mov rcx, r13
call fcn.14010ec60
mov rcx, r13
call fcn.140108f48
nop
test r12, r12
je 0x1400b1f27
mov r8, qword [rbp - 0x78]
xor edx, edx
mov rcx, r12
call fcn.14010ec60
mov rcx, r12
call fcn.140108f48
nop
mov r8, qword [rsp + 0x60]
xor edx, edx
mov rdi, qword [rsp + 0x68]
mov rcx, rdi
call fcn.14010ec60
mov rcx, rdi
call fcn.140108f48
nop
mov r8, qword [rsp + 0x48]
xor edx, edx
mov rdi, qword [rsp + 0x50]
mov rcx, rdi
call fcn.14010ec60
mov rcx, rdi
call fcn.140108f48
mov eax, 2
jmp 0x1400b2839
mov dword [rbp - 0x40], 0
movzx eax, word [rsi]
mov word [rbp - 0x40], ax
xor edx, edx
lea r8d, [rdx + 0x10]
lea rcx, [rbp - 0x40]
call fcn.140109ef8
mov dword [r14], eax
xor edx, edx
lea r8d, [rdx + 0x10]
lea rcx, [rsi + 2]
call fcn.140109ef8
mov ebx, 0xfff
mov ecx, ebx
sub cx, ax
mov rdi, qword [rbp + 0x88]
mov word [rdi], cx
mov rcx, qword [0x140174cd0]
test rcx, rcx
je 0x1400b1fc3
mov edx, 1
call fcn.14001ac70
xor r8d, r8d
mov qword [0x140174cd0], r8
mov qword [0x140174cd8], r8
movzx eax, word [rsp + 0x42]
and eax, 0x80000001
jge 0x1400b1fe7
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
je 0x1400b2381
mov dword [rsp + 0x44], r8d
cmp dword [r14], r8d
jle 0x1400b2732
mov rdi, qword [rbp + 0xa0]
sub rdi, r15
mov qword [rbp - 0x80], rdi
nop dword [rax + rax]
cmp byte [rsp + 0x41], 0
je 0x1400b2323
lea rcx, [0x14014fa48]
call fcn.1400dd2e0
xor esi, esi
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x30], rax
mov rax, qword [rbp - 0x30]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r13
lea r9d, [rsi + 1]
mov r8, qword [rbp - 0x28]
lea rdx, [rbp - 0x28]
lea rcx, [rbp - 0x78]
call fcn.1400a7140
mov byte [rsp + 0x41], al
mov rbx, qword [rbp - 0x70]
test rbx, rbx
jne 0x1400b2067
mov ecx, esi
jmp 0x1400b207d
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, rbx
repne scasw ax, word [rdi]
not rcx
dec rcx
mov rdi, qword [rbp - 0x80]
cmp word [rbx + rcx*2 - 2], 0xa
jne 0x1400b208a
mov word [rbx + rcx*2 - 2], si
lea rcx, [0x140174cd0]
call fcn.14001be10
mov rcx, rax
mov rax, qword [rax + 8]
cmp rax, rbx
je 0x1400b20ab
lea rdx, [rbp - 0x78]
call fcn.14001ae30
mov qword [r15], rax
mov rax, qword [rbp + 0xa8]
mov qword [rdi + r15], rax
or r14d, 0xffffffff
mov rdx, qword [r15]
mov qword [rsp + 0x78], rdx
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, rdx
repne scasw ax, word [rdi]
not rcx
dec rcx
mov r15, rcx
xor r8d, r8d
mov ebx, r8d
mov qword [rbp - 0x60], r8
cmp word [rdx], ax
je 0x1400b22ee
cmp word [0x140169a5c], ax
je 0x1400b22ee
or rcx, 0xffffffffffffffff
lea rdi, [0x140169a5c]
repne scasw ax, word [rdi]
not rcx
dec rcx
mov r13, rcx
mov qword [rbp - 0x20], rcx
mov r12d, 1
sub r12d, ecx
mov dword [rbp - 0x3c], r12d
je 0x1400b2282
cmp r15, 0x1388
jb 0x1400b2282
mov edi, r8d
mov r12, rdx
nop dword [rax + rax]
lea rdx, [0x140169a5c]
mov rcx, r12
call fcn.140109454
mov r13, rax
test rax, rax
je 0x1400b21ff
inc edi
mov dword [rbp - 0x38], edi
dec r14d
mov rdi, rax
sub rdi, r12
sar rdi, 1
lea rax, [rdi + rbx]
mov qword [rbp - 0x18], rax
lea rcx, [rax + 1]
cmp rcx, qword [rbp - 0x60]
jb 0x1400b21c3
mov rax, r13
sub rax, qword [rsp + 0x78]
sar rax, 1
movsxd rdx, eax
movsxd rax, ecx
movsxd r9, r15d
movsxd rcx, dword [rbp - 0x3c]
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], rax
mov r8d, r14d
mov edx, dword [rbp - 0x38]
call fcn.1400e6de0
mov qword [rbp - 0x60], rax
lea rdx, [rax + rax]
mov rcx, rsi
call fcn.1401099a4
test rax, rax
je 0x1400b2236
mov rsi, rax
test rdi, rdi
je 0x1400b21dc
lea rcx, [rsi + rbx*2]
lea r8, [rdi + rdi]
mov rdx, r12
call fcn.140109100
mov rbx, qword [rbp - 0x18]
movzx eax, word [0x14012fa74]
mov word [rsi + rbx*2], ax
inc rbx
mov rax, qword [rbp - 0x20]
lea r12, [r13 + rax*2]
test r14d, r14d
mov edi, dword [rbp - 0x38]
jne 0x1400b2140
test edi, edi
je 0x1400b22ea
mov rax, r12
mov r13, qword [rsp + 0x78]
sub rax, r13
sar rax, 1
sub r15, rax
je 0x1400b2262
lea rdi, [r15 + rbx]
cmp rdi, qword [rbp - 0x60]
jb 0x1400b224f
lea rdx, [rdi + rdi + 2]
mov rcx, rsi
call fcn.1401099a4
test rax, rax
jne 0x1400b224c
test rsi, rsi
je 0x1400b22ea
mov rcx, rsi
call fcn.140108f48
jmp 0x1400b22ea
mov rsi, rax
lea rcx, [rsi + rbx*2]
lea r8, [r15 + r15]
mov rdx, r12
call fcn.140109100
mov rbx, rdi
xor ecx, ecx
mov word [rsi + rbx*2], cx
lea r8, [rbx + rbx + 2]
mov rdx, rsi
mov rcx, r13
call fcn.140109100
mov rcx, rsi
call fcn.140108f48
jmp 0x1400b22ea
mov rbx, rdx
nop word [rax + rax]
lea rdx, [0x140169a5c]
mov rcx, rbx
call fcn.140109454
mov rdi, rax
test rax, rax
je 0x1400b22ea
lea rbx, [rax + 2]
test r12d, r12d
je 0x1400b22d5
mov rcx, rax
sub rcx, qword [rsp + 0x78]
sar rcx, 1
mov r8, r15
sub r8, rcx
sub r8, r13
lea r8, [r8 + r8 + 2]
lea rdx, [rax + r13*2]
mov rcx, rbx
call fcn.140109100
movzx eax, word [0x14012fa74]
mov word [rdi], ax
movsxd rax, r12d
add r15, rax
dec r14d
jne 0x1400b2290
mov r13, qword [rbp - 0x50]
mov eax, dword [rsp + 0x44]
inc eax
mov dword [rsp + 0x44], eax
mov r15, qword [rbp + 0x90]
add r15, 8
mov qword [rbp + 0x90], r15
mov r14, qword [rbp + 0x98]
cmp eax, dword [r14]
mov rdi, qword [rbp - 0x80]
jl 0x1400b2010
jmp 0x1400b2722
test r13, r13
je 0x1400b233f
mov r8, qword [rbp - 0x58]
xor edx, edx
mov rcx, r13
call fcn.14010ec60
mov rcx, r13
call fcn.140108f48
nop
mov r12, qword [rbp - 0x70]
test r12, r12
je 0x1400b235f
mov r8, qword [rbp - 0x78]
xor edx, edx
mov rcx, r12
call fcn.14010ec60
mov rcx, r12
call fcn.140108f48
nop
mov r8, qword [rsp + 0x60]
xor edx, edx
mov rdi, qword [rsp + 0x68]
mov rcx, rdi
call fcn.14010ec60
mov rcx, rdi
call fcn.140108f48
nop
jmp 0x1400b1ebe
mov eax, dword [r14]
dec eax
cdqe
mov qword [rbp - 0x80], rax
cmp rax, 0xffffffffffffffff
jle 0x1400b2732
lea rdi, [r15 + rax*8]
mov qword [rbp - 0x38], rdi
mov rsi, qword [rbp + 0xa0]
sub rsi, r15
mov qword [rbp - 0x10], rsi
nop dword [rax]
cmp byte [rsp + 0x41], 0
je 0x1400b26c4
lea rcx, [0x14014fa48]
call fcn.1400dd2e0
xor r12d, r12d
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], rax
mov rax, qword [rbp - 0x30]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r13
lea r9d, [r12 + 1]
mov r8, qword [rbp - 0x28]
lea rdx, [rbp - 0x28]
lea rcx, [rbp - 0x78]
call fcn.1400a7140
mov byte [rsp + 0x41], al
mov rbx, qword [rbp - 0x70]
test rbx, rbx
jne 0x1400b240a
mov ecx, r12d
jmp 0x1400b2420
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, rbx
repne scasw ax, word [rdi]
not rcx
dec rcx
mov rdi, qword [rbp - 0x38]
cmp word [rbx + rcx*2 - 2], 0xa
jne 0x1400b242e
mov word [rbx + rcx*2 - 2], r12w
lea rcx, [0x140174cd0]
call fcn.14001be10
mov rcx, rax
mov rax, qword [rax + 8]
cmp rax, rbx
je 0x1400b244f
lea rdx, [rbp - 0x78]
call fcn.14001ae30
mov qword [rdi], rax
mov rax, qword [rbp + 0xa8]
mov qword [rdi + rsi], rax
or r13d, 0xffffffff
mov rdx, qword [rdi]
mov qword [rbp - 0x60], rdx
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, rdx
repne scasw ax, word [rdi]
not rcx
dec rcx
mov r15, rcx
xor r8d, r8d
mov esi, r8d
mov ebx, r8d
mov qword [rsp + 0x78], r8
cmp word [rdx], ax
je 0x1400b2699
cmp word [0x140169a5c], ax
je 0x1400b2699
or rcx, 0xffffffffffffffff
lea rdi, [0x140169a5c]
repne scasw ax, word [rdi]
not rcx
dec rcx
mov r14, rcx
mov qword [rbp - 0x18], rcx
mov r12d, 1
sub r12d, ecx
mov dword [rbp - 0x3c], r12d
je 0x1400b2635
cmp r15, 0x1388
jb 0x1400b2635
mov edi, r8d
mov r12, rdx
nop word [rax + rax]
lea rdx, [0x140169a5c]
mov rcx, r12
call fcn.140109454
mov r14, rax
test rax, rax
je 0x1400b25b2
inc edi
mov dword [rsp + 0x44], edi
dec r13d
mov rdi, rax
sub rdi, r12
sar rdi, 1
lea rax, [rdi + rbx]
mov qword [rbp - 0x20], rax
lea rcx, [rax + 1]
cmp rcx, qword [rsp + 0x78]
jb 0x1400b2576
mov rax, r14
sub rax, qword [rbp - 0x60]
sar rax, 1
movsxd rdx, eax
movsxd rax, ecx
movsxd r9, r15d
movsxd rcx, dword [rbp - 0x3c]
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], rax
mov r8d, r13d
mov edx, dword [rsp + 0x44]
call fcn.1400e6de0
mov qword [rsp + 0x78], rax
lea rdx, [rax + rax]
mov rcx, rsi
call fcn.1401099a4
test rax, rax
je 0x1400b25e9
mov rsi, rax
test rdi, rdi
je 0x1400b258f
lea rcx, [rsi + rbx*2]
lea r8, [rdi + rdi]
mov rdx, r12
call fcn.140109100
mov rbx, qword [rbp - 0x20]
movzx eax, word [0x14012fa74]
mov word [rsi + rbx*2], ax
inc rbx
mov rax, qword [rbp - 0x18]
lea r12, [r14 + rax*2]
test r13d, r13d
mov edi, dword [rsp + 0x44]
jne 0x1400b24f0
test edi, edi
je 0x1400b2699
mov rax, r12
mov r13, qword [rbp - 0x60]
sub rax, r13
sar rax, 1
sub r15, rax
je 0x1400b2615
lea rdi, [r15 + rbx]
cmp rdi, qword [rsp + 0x78]
jb 0x1400b2602
lea rdx, [rdi + rdi + 2]
mov rcx, rsi
call fcn.1401099a4
test rax, rax
jne 0x1400b25ff
test rsi, rsi
je 0x1400b2699
mov rcx, rsi
call fcn.140108f48
jmp 0x1400b2699
mov rsi, rax
lea rcx, [rsi + rbx*2]
lea r8, [r15 + r15]
mov rdx, r12
call fcn.140109100
mov rbx, rdi
xor ecx, ecx
mov word [rsi + rbx*2], cx
lea r8, [rbx + rbx + 2]
mov rdx, rsi
mov rcx, r13
call fcn.140109100
mov rcx, rsi
call fcn.140108f48
jmp 0x1400b2699
mov rbx, rdx
nop dword [rax + rax]
lea rdx, [0x140169a5c]
mov rcx, rbx
call fcn.140109454
mov rdi, rax
test rax, rax
je 0x1400b2699
lea rbx, [rax + 2]
test r12d, r12d
je 0x1400b2684
mov rcx, rax
sub rcx, qword [rbp - 0x60]
sar rcx, 1
mov r8, r15
sub r8, rcx
sub r8, r14
lea r8, [r8 + r8 + 2]
lea rdx, [rax + r14*2]
mov rcx, rbx
call fcn.140109100
movzx eax, word [0x14012fa74]
mov word [rdi], ax
movsxd rax, r12d
add r15, rax
dec r13d
jne 0x1400b2640
mov rax, qword [rbp - 0x80]
dec rax
mov qword [rbp - 0x80], rax
mov rdi, qword [rbp - 0x38]
sub rdi, 8
mov qword [rbp - 0x38], rdi
cmp rax, 0xffffffffffffffff
mov rsi, qword [rbp - 0x10]
mov r13, qword [rbp - 0x50]
jg 0x1400b23b0
jmp 0x1400b2722
test r13, r13
je 0x1400b26e0
mov r8, qword [rbp - 0x58]
xor edx, edx
mov rcx, r13
call fcn.14010ec60
mov rcx, r13
call fcn.140108f48
nop
mov r12, qword [rbp - 0x70]
test r12, r12
je 0x1400b2700
mov r8, qword [rbp - 0x78]
xor edx, edx
mov rcx, r12
call fcn.14010ec60
mov rcx, r12
call fcn.140108f48
nop
mov r8, qword [rsp + 0x60]
xor edx, edx
mov rdi, qword [rsp + 0x68]
mov rcx, rdi
call fcn.14010ec60
mov rcx, rdi
call fcn.140108f48
nop
jmp 0x1400b1ebe
mov r12, qword [rbp - 0x70]
mov rdi, qword [rbp + 0x88]
mov ebx, 0xfff
mov byte [0x140174ce8], 1
movzx ecx, byte [rsp + 0x40]
mov byte [0x140174ce9], cl
movzx r13d, word [rsp + 0x42]
mov word [0x140174cea], r13w
mov eax, dword [0x140173ee0]
cmp eax, 1
je 0x1400b2767
cmp eax, 3
je 0x1400b2767
cmp eax, 4
jne 0x1400b27b8
cmp cl, 0x80
jne 0x1400b277d
movzx eax, r13w
shl ax, 2
or ax, r13w
add ax, ax
jmp 0x1400b27a8
cmp cl, 0x40
jne 0x1400b2794
movzx eax, r13w
shl ax, 2
or ax, r13w
shl ax, 2
jmp 0x1400b27a8
test cl, cl
jne 0x1400b27b1
movzx eax, r13w
shl ax, 2
or ax, r13w
shl ax, 3
xor ax, word [rdi]
and ax, bx
mov word [rdi], ax
mov byte [0x140174ce8], 0
mov rax, qword [rbp + 0x80]
mov byte [rax], 1
mov rdi, qword [rbp - 0x50]
test rdi, rdi
je 0x1400b27e2
mov r8, qword [rbp - 0x58]
xor edx, edx
mov rcx, rdi
call fcn.14010ec60
mov rcx, rdi
call fcn.140108f48
nop
test r12, r12
je 0x1400b27fe
mov r8, qword [rbp - 0x78]
xor edx, edx
mov rcx, r12
call fcn.14010ec60
mov rcx, r12
call fcn.140108f48
nop
mov r8, qword [rsp + 0x60]
xor edx, edx
mov rdi, qword [rsp + 0x68]
mov rcx, rdi
call fcn.14010ec60
mov rcx, rdi
call fcn.140108f48
nop
mov rdi, qword [rsp + 0x50]
mov r8, qword [rsp + 0x48]
xor edx, edx
mov rcx, rdi
call fcn.14010ec60
mov rcx, rdi
call fcn.140108f48
xor eax, eax
add rsp, 0x138
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret