Function at 0x1403d73d0
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push r12
push r15
push rbp
sub rsp, 0x3b0
mov r12, r8
mov rax, qword [0x14194d6d8]
mov rdi, rdx
xor rax, rsp
mov rsi, rcx
mov qword [rsp + 0x3a0], rax
mov eax, dword [0x141942cf4]
cmp eax, dword [0x141a6daf4]
jge 0x1403d74e5
movsxd rax, eax
mov rcx, qword [0x141a6daf8]
mov rbp, qword [rcx + rax*8]
mov rdx, rbp
mov rcx, rdx
and rdx, 0xfffffffffffffff0
pxor xmm0, xmm0
pcmpeqb xmm0, xmmword [rdx]
pmovmskb eax, xmm0
and ecx, 0xf
shr eax, cl
bsf eax, eax
jne 0x1403d7444
mov rax, rdx
add rdx, rcx
call fcn.14042af70
mov r8d, 0x1000
cmp eax, 0x1000
mov rdx, rbp
cmovl r8d, eax
mov dword [r12], r8d
movsxd r8, r8d
mov rcx, qword [rdi]
call fcn.14042ae90
movsxd rcx, dword [r12]
lea rdx, [0x141942cf4]
mov rbp, qword [rdi]
mov eax, dword [0x141942cf4]
inc eax
mov dword [0x141942cf4], eax
mov byte [rcx + rbp], 0
xchg dword [rdx], eax
mov rdx, qword [rdi]
mov eax, dword [r12]
cmp byte [rdx], 0x20
jne 0x1403d74ba
test eax, eax
jle 0x1403d74df
inc rdx
dec eax
cmp byte [rdx], 0x20
jne 0x1403d74b3
test eax, eax
jle 0x1403d8783
inc rdx
dec eax
cmp byte [rdx], 0x20
je 0x1403d74a1
mov qword [rdi], rdx
mov dword [r12], eax
movsxd rcx, eax
test eax, eax
jle 0x1403d74df
movsx ebp, byte [rcx + rdx - 1]
test ebp, 0xffffffdf
jne 0x1403d83c6
dec eax
dec rcx
mov dword [r12], eax
test eax, eax
jg 0x1403d74c1
jne 0x1403d83c6
cmp dword [0x141a6ae3c], 0
je 0x1403d758a
lea rdx, str._s_d
lea rcx, [rsp + 0x350]
lea r8, str.Open:_Select_File_for_Unit
mov r9d, dword [rsi + 0x1e0]
call fcn.14036c680
mov rcx, qword [rdi]
mov edx, 0x1000
lea r8, [rsp + 0x350]
call fcn.14043d230
test eax, eax
je 0x1403d7566
mov rdx, qword [rdi]
cmp byte [rdx], 0
je 0x1403d7566
mov rcx, rdx
and rdx, 0xfffffffffffffff0
pxor xmm0, xmm0
pcmpeqb xmm0, xmmword [rdx]
pmovmskb eax, xmm0
and ecx, 0xf
shr eax, cl
bsf eax, eax
jne 0x1403d755d
mov rax, rdx
add rdx, rcx
call fcn.14042af70
mov dword [r12], eax
jmp 0x1403d8395
lea rcx, str.A_File_Must_be_Selected_r_rTerminate_Program_
lea rdx, str.File_Open_Error
mov r8d, 0x2134
call fcn.14043d3d0
cmp eax, 6
je 0x1403d83f7
jmp 0x1403d7514
mov ecx, 0x20b
xor edx, edx
call fcn.140384c50
lea rdx, str._s_r_n
lea rcx, [rsp + 0x250]
mov r8, rax
call fcn.14036c680
lea rdx, [rsp + 0x250]
mov rcx, rdx
and rdx, 0xfffffffffffffff0
pxor xmm0, xmm0
pcmpeqb xmm0, xmmword [rdx]
pmovmskb eax, xmm0
and ecx, 0xf
shr eax, cl
bsf eax, eax
jne 0x1403d75dd
mov rax, rdx
add rdx, rcx
call fcn.14042af70
mov ecx, 0x20c
mov edx, 1
mov r8d, dword [rsi + 0x1e0]
mov rbp, rax
call fcn.140384c50
lea rdx, [0x140599c00]
lea rcx, [rsp + rbp + 0x250]
mov r8, rax
call fcn.14036c680
lea rdx, [rsp + 0x250]
mov rcx, rdx
and rdx, 0xfffffffffffffff0
pxor xmm0, xmm0
pcmpeqb xmm0, xmmword [rdx]
pmovmskb eax, xmm0
and ecx, 0xf
shr eax, cl
bsf eax, eax
jne 0x1403d763d
mov rax, rdx
add rdx, rcx
call fcn.14042af70
mov rbp, rax
cmp dword [rsi + 0x1e0], 6
je 0x1403d76ae
mov ecx, 6
lea rdx, [rsp + 0x238]
mov r9d, 4
lea r8, [rsp + 0x1c8]
call fcn.1403bf1e0
test eax, eax
jne 0x1403d767b
cmp dword [rsi + 0x1e0], 5
jne 0x1403d76ae
jmp 0x1403d7728
mov rcx, qword [rsp + 0x3a0]
mov qword [rsp + 0x3a0], 0
xor rcx, rsp
cmp rcx, qword [0x14194d6d8]
jne 0x1403d841f
add rsp, 0x3b0
pop rbp
pop r15
pop r12
pop rdi
pop rsi
ret
mov ecx, 5
lea rdx, [rsp + 0x240]
mov r9d, 1
lea r8, [rsp + 0x1f8]
call fcn.1403bf1e0
mov r15d, eax
test r15d, r15d
je 0x1403d7728
cmp dword [rsi + 0x1e0], 6
je 0x1403d76f2
mov rdx, qword [rsp + 0x238]
mov ecx, dword [rdx + 0x1e0]
call fcn.1403c0ed0
mov rcx, qword [rsp + 0x3a0]
mov qword [rsp + 0x3a0], 0
xor rcx, rsp
cmp rcx, qword [0x14194d6d8]
jne 0x1403d841f
mov eax, r15d
add rsp, 0x3b0
pop rbp
pop r15
pop r12
pop rdi
pop rsi
ret
mov ecx, 0x2a8
mov edx, 1
lea r8, [rsp + 0x230]
call fcn.14035a450
test eax, eax
je 0x1403d7776
mov rcx, qword [rsp + 0x3a0]
mov qword [rsp + 0x3a0], 0
xor rcx, rsp
cmp rcx, qword [0x14194d6d8]
jne 0x1403d841f
add rsp, 0x3b0
pop rbp
pop r15
pop r12
pop rdi
pop rsi
ret
mov ecx, 0x2a8
mov edx, 1
lea r8, [rsp + 0x228]
call fcn.14035a450
test eax, eax
je 0x1403d77c4
mov rcx, qword [rsp + 0x3a0]
mov qword [rsp + 0x3a0], 0
xor rcx, rsp
cmp rcx, qword [0x14194d6d8]
jne 0x1403d841f
add rsp, 0x3b0
pop rbp
pop r15
pop r12
pop rdi
pop rsi
ret
mov rdx, qword [rsp + 0x230]
mov eax, 0x2a0
pxor xmm0, xmm0
movq qword [rdx + 0x2a0], xmm0
movdqu xmmword [rdx + rax - 0x10], xmm0
movdqu xmmword [rdx + rax - 0x20], xmm0
movdqu xmmword [rdx + rax - 0x30], xmm0
movdqu xmmword [rdx + rax - 0x40], xmm0
movdqu xmmword [rdx + rax - 0x50], xmm0
movdqu xmmword [rdx + rax - 0x60], xmm0
sub rax, 0x60
jne 0x1403d77dd
mov rdx, qword [rsp + 0x228]
mov eax, 0x2a0
movq qword [rdx + 0x2a0], xmm0
movdqu xmmword [rdx + rax - 0x10], xmm0
movdqu xmmword [rdx + rax - 0x20], xmm0
movdqu xmmword [rdx + rax - 0x30], xmm0
movdqu xmmword [rdx + rax - 0x40], xmm0
movdqu xmmword [rdx + rax - 0x50], xmm0
movdqu xmmword [rdx + rax - 0x60], xmm0
sub rax, 0x60
jne 0x1403d781c
mov eax, 0x190
movdqu xmmword [rsp + rax + 0x20], xmm0
movdqu xmmword [rsp + rax + 0x10], xmm0
movdqu xmmword [rsp + rax], xmm0
movdqu xmmword [rsp + rax - 0x10], xmm0
movdqu xmmword [rsp + rax - 0x20], xmm0
sub rax, 0x50
jne 0x1403d784b
mov rax, qword [rsp + 0x230]
mov dword [rax + 0x1e0], 6
mov r9, qword [rsp + 0x230]
mov cl, byte [rsi + 0x290]
and cl, 1
mov r8b, byte [r9 + 0x290]
and r8b, 0xfe
or r8b, cl
mov byte [r9 + 0x290], r8b
mov r15, qword [rsp + 0x230]
mov r10b, byte [rsi + 0x290]
and r10b, 2
mov r11b, byte [r15 + 0x290]
and r11b, 0xfd
or r11b, r10b
mov byte [r15 + 0x290], r11b
mov rcx, qword [rsp + 0x230]
mov al, byte [rsi + 0x290]
and al, 4
mov dl, byte [rcx + 0x290]
and dl, 0xfb
or dl, al
mov byte [rcx + 0x290], dl
mov r10, qword [rsp + 0x230]
mov r8b, byte [rsi + 0x29d]
and r8b, 0x80
mov r9b, byte [r10 + 0x29d]
and r9b, 0x7f
or r9b, r8b
mov byte [r10 + 0x29d], r9b
mov r15, qword [rsp + 0x230]
mov r11b, byte [rsi + 0x290]
and r11b, 8
mov al, byte [r15 + 0x290]
and al, 0xf7
or al, r11b
mov byte [r15 + 0x290], al
mov rax, qword [rsp + 0x230]
mov dl, byte [rsi + 0x290]
and dl, 0x20
mov cl, byte [rax + 0x290]
and cl, 0xdf
or cl, dl
mov byte [rax + 0x290], cl
mov r10, qword [rsp + 0x230]
mov r8b, byte [rsi + 0x299]
and r8b, 4
mov r9b, byte [r10 + 0x299]
and r9b, 0xfb
or r9b, r8b
mov byte [r10 + 0x299], r9b
mov r11, qword [rsp + 0x230]
mov al, byte [rsi + 0x299]
and al, 8
mov dl, byte [r11 + 0x299]
and dl, 0xf7
or dl, al
mov byte [r11 + 0x299], dl
mov r15, qword [rsp + 0x230]
mov cl, byte [rsi + 0x290]
and cl, 0x40
mov r8b, byte [r15 + 0x290]
and r8b, 0xbf
or r8b, cl
mov byte [r15 + 0x290], r8b
mov rdx, qword [rsp + 0x230]
mov r9b, byte [rsi + 0x290]
and r9b, 0x80
mov al, byte [rdx + 0x290]
and al, 0x7f
or al, r9b
mov byte [rdx + 0x290], al
mov r10, qword [rsp + 0x230]
mov cl, byte [rsi + 0x290]
and cl, 0x10
mov r8b, byte [r10 + 0x290]
and r8b, 0xef
or r8b, cl
mov byte [r10 + 0x290], r8b
mov rax, qword [rsp + 0x230]
mov r11b, byte [rsi + 0x29b]
and r11b, 0x80
mov r15b, byte [rax + 0x29b]
and r15b, 0x7f
or r15b, r11b
mov byte [rax + 0x29b], r15b
mov r8, qword [rsp + 0x230]
mov dl, byte [rsi + 0x29d]
and dl, 0x80
mov cl, byte [r8 + 0x29d]
and cl, 0x7f
or cl, dl
mov byte [r8 + 0x29d], cl
mov r11, qword [rsp + 0x230]
mov r9b, byte [rsi + 0x29e]
and r9b, 0x10
mov r10b, byte [r11 + 0x29e]
and r10b, 0xef
or r10b, r9b
mov byte [r11 + 0x29e], r10b
mov r15, qword [rsp + 0x230]
mov al, byte [rsi + 0x29e]
and al, 0x20
mov dl, byte [r15 + 0x29e]
and dl, 0xdf
or dl, al
mov byte [r15 + 0x29e], dl
mov r15d, 1
mov rax, qword [rsp + 0x230]
mov cl, byte [rsi + 0x29e]
and cl, 0x40
mov r8b, byte [rax + 0x29e]
and r8b, 0xbf
or r8b, cl
mov byte [rax + 0x29e], r8b
mov rdx, qword [rsp + 0x230]
mov r9b, byte [rsi + 0x29e]
and r9b, 0x80
mov r10b, byte [rdx + 0x29e]
and r10b, 0x7f
or r10b, r9b
mov byte [rdx + 0x29e], r10b
lea rdx, [0x141942cf8]
mov r11, qword [rsp + 0x230]
mov al, byte [rsi + 0x29f]
and al, 1
mov cl, byte [r11 + 0x29f]
and cl, 0xfe
or cl, al
mov byte [r11 + 0x29f], cl
mov qword [rsp + 0x30], r15
mov qword [rsp + 0xe0], 4
mov qword [rsp + 0x98], r15
mov qword [rsp + 0x88], rdx
mov rcx, rdx
and rdx, 0xfffffffffffffff0
pxor xmm0, xmm0
pcmpeqb xmm0, xmmword [rdx]
pmovmskb eax, xmm0
and ecx, 0xf
shr eax, cl
bsf eax, eax
jne 0x1403d7b78
mov rax, rdx
add rdx, rcx
call fcn.14042af70
mov rdx, qword [rsp + 0x230]
lea rcx, [rsp + 0x30]
mov qword [rcx + 0x60], rax
call fcn.1403d87a0
mov r15d, eax
test r15d, r15d
je 0x1403d7c22
mov rcx, qword [rsp + 0x230]
call fcn.14035a530
mov rcx, qword [rsp + 0x228]
call fcn.14035a530
cmp dword [rsi + 0x1e0], 6
je 0x1403d7bd9
mov rdx, qword [rsp + 0x238]
mov ecx, dword [rdx + 0x1e0]
call fcn.1403c0ed0
cmp dword [rsi + 0x1e0], 5
je 0x1403d7bec
mov rdx, qword [rsp + 0x240]
mov ecx, dword [rdx + 0x1e0]
call fcn.1403c0ed0
mov rcx, qword [rsp + 0x3a0]
mov qword [rsp + 0x3a0], 0
xor rcx, rsp
cmp rcx, qword [0x14194d6d8]
jne 0x1403d841f
mov eax, r15d
add rsp, 0x3b0
pop rbp
pop r15
pop r12
pop rdi
pop rsi
ret
mov rax, qword [rsp + 0x228]
mov dword [rax + 0x1e0], 5
mov r9, qword [rsp + 0x228]
mov cl, byte [rsi + 0x290]
and cl, 1
mov r8b, byte [r9 + 0x290]
and r8b, 0xfe
or r8b, cl
mov byte [r9 + 0x290], r8b
mov r15, qword [rsp + 0x228]
mov r10b, byte [rsi + 0x290]
and r10b, 2
mov r11b, byte [r15 + 0x290]
and r11b, 0xfd
or r11b, r10b
mov byte [r15 + 0x290], r11b
mov rcx, qword [rsp + 0x228]
mov al, byte [rsi + 0x290]
and al, 4
mov dl, byte [rcx + 0x290]
and dl, 0xfb
or dl, al
mov byte [rcx + 0x290], dl
mov r10, qword [rsp + 0x228]
mov r8b, byte [rsi + 0x290]
and r8b, 8
mov r9b, byte [r10 + 0x290]
and r9b, 0xf7
or r9b, r8b
mov byte [r10 + 0x290], r9b
mov r15, qword [rsp + 0x228]
mov r11b, byte [rsi + 0x290]
and r11b, 0x20
mov al, byte [r15 + 0x290]
and al, 0xdf
or al, r11b
mov byte [r15 + 0x290], al
mov rax, qword [rsp + 0x228]
mov dl, byte [rsi + 0x299]
and dl, 4
mov cl, byte [rax + 0x299]
and cl, 0xfb
or cl, dl
mov byte [rax + 0x299], cl
mov r10, qword [rsp + 0x228]
mov r8b, byte [rsi + 0x299]
and r8b, 8
mov r9b, byte [r10 + 0x299]
and r9b, 0xf7
or r9b, r8b
mov byte [r10 + 0x299], r9b
mov r11, qword [rsp + 0x228]
mov al, byte [rsi + 0x290]
and al, 0x40
mov dl, byte [r11 + 0x290]
and dl, 0xbf
or dl, al
mov byte [r11 + 0x290], dl
mov r15, qword [rsp + 0x228]
mov cl, byte [rsi + 0x290]
and cl, 0x80
mov r8b, byte [r15 + 0x290]
and r8b, 0x7f
or r8b, cl
mov byte [r15 + 0x290], r8b
mov rdx, qword [rsp + 0x228]
mov r9b, byte [rsi + 0x290]
and r9b, 0x10
mov al, byte [rdx + 0x290]
and al, 0xef
or al, r9b
mov byte [rdx + 0x290], al
mov r10, qword [rsp + 0x228]
mov cl, byte [rsi + 0x29b]
and cl, 0x80
mov r8b, byte [r10 + 0x29b]
and r8b, 0x7f
or r8b, cl
mov byte [r10 + 0x29b], r8b
mov rax, qword [rsp + 0x228]
mov r11b, byte [rsi + 0x29d]
and r11b, 0x80
mov r15b, byte [rax + 0x29d]
and r15b, 0x7f
or r15b, r11b
mov byte [rax + 0x29d], r15b
mov r8, qword [rsp + 0x228]
mov dl, byte [rsi + 0x29e]
and dl, 0x10
mov cl, byte [r8 + 0x29e]
and cl, 0xef
or cl, dl
mov byte [r8 + 0x29e], cl
mov r11, qword [rsp + 0x228]
mov r9b, byte [rsi + 0x29e]
and r9b, 0x20
mov r10b, byte [r11 + 0x29e]
and r10b, 0xdf
or r10b, r9b
mov byte [r11 + 0x29e], r10b
mov r15, qword [rsp + 0x228]
mov al, byte [rsi + 0x29e]
and al, 0x40
mov dl, byte [r15 + 0x29e]
and dl, 0xbf
or dl, al
mov byte [r15 + 0x29e], dl
mov rax, qword [rsp + 0x228]
mov cl, byte [rsi + 0x29e]
and cl, 0x80
mov r8b, byte [rax + 0x29e]
and r8b, 0x7f
or r8b, cl
mov byte [rax + 0x29e], r8b
mov rdx, qword [rsp + 0x228]
mov r9b, byte [rsi + 0x29f]
and r9b, 1
mov r10b, byte [rdx + 0x29f]
and r10b, 0xfe
or r10b, r9b
mov byte [rdx + 0x29f], r10b
lea rdx, [0x141942d00]
mov qword [rsp + 0x88], rdx
mov rcx, rdx
and rdx, 0xfffffffffffffff0
pxor xmm0, xmm0
pcmpeqb xmm0, xmmword [rdx]
pmovmskb eax, xmm0
and ecx, 0xf
shr eax, cl
bsf eax, eax
jne 0x1403d7eea
mov rax, rdx
add rdx, rcx
call fcn.14042af70
mov rdx, qword [rsp + 0x228]
lea rcx, [rsp + 0x30]
mov qword [rcx + 0x60], rax
mov qword [rcx + 0x20], 0
call fcn.1403d87a0
mov r15d, eax
test r15d, r15d
jne 0x1403d86f9
mov rax, qword [rsp + 0x230]
mov byte [rax + 0x27e], 3
mov rdx, qword [rsp + 0x230]
or byte [rdx + 0x295], 0x40
cmp dword [r12], 0
jne 0x1403d8325
movsxd rbp, ebp
mov qword [rsp + 0x1c0], rbx
mov r15, qword [rsp + 0x230]
mov rcx, r15
xor edx, edx
call fcn.1403d36d0
test eax, eax
jne 0x1403d85d4
movsx edx, byte [r15 + 0x27c]
cmp edx, 8
ja 0x1403d815a
lea rbx, [0x140000000]
movzx eax, word [rbx + rdx*2 + 0x59f21c]
lea rax, [rbx + rax + 0x3d7f8c]
jmp rax
mov ecx, 8
mov edx, 2
lea r8, str.for_nt_open_proc.c
mov r9d, 0x1b91
call fcn.140383960
mov r11b, byte [r15 + 0x290]
mov rax, qword [r15 + 0x80]
test r11b, 4
je 0x1403d81a8
test byte [r15 + 0x292], 0x40
je 0x1403d81a8
test byte [r15 + 0x293], 8
je 0x1403d81a8
cmp byte [r15 + 0x27c], 1
je 0x1403d8200
mov dl, byte [r15 + 0x27e]
cmp dl, 2
jne 0x1403d81d3
mov dl, byte [r15 + 0x27c]
cmp dl, 7
je 0x1403d8200
cmp dl, 6
je 0x1403d8200
cmp dl, 8
je 0x1403d8200
dec qword [r15 + 0x90]
jmp 0x1403d8200
cmp dl, 1
jne 0x1403d8200
mov dl, byte [r15 + 0x27c]
cmp dl, 7
je 0x1403d81f5
cmp dl, 6
je 0x1403d81f5
cmp dl, 8
je 0x1403d81f5
dec qword [r15 + 0x90]
add rax, 5
mov qword [r15 + 0x80], rax
mov qword [r15 + 0x98], rax
lea rdx, [rsp + 0x250]
mov qword [r15 + 0xa0], 0
mov r8, rbp
mov rax, qword [rdx - 0x20]
mov rcx, qword [rax + 0x80]
call fcn.14042ae90
mov rax, qword [rsp + 0x230]
add qword [rax + 0x80], rbp
mov rcx, qword [rsp + 0x230]
call fcn.1403d1d20
mov r15d, eax
test r15d, r15d
jne 0x1403d8532
xor edx, edx
xor r8d, r8d
mov rcx, qword [rsp + 0x228]
call fcn.1403e0880
mov r15d, eax
test r15d, r15d
jne 0x1403d8490
mov r15, qword [rsp + 0x228]
mov rcx, qword [rdi]
mov rdx, qword [r15 + 0x80]
mov rbx, qword [r15 + 0x90]
mov r15d, 0x1000
sub rbx, rdx
cmp ebx, 0x1000
cmovl r15d, ebx
movsxd rbx, r15d
mov r8, rbx
call fcn.14042ae90
mov rax, qword [rdi]
mov byte [rax + rbx], 0
cmp byte [rax], 0x20
jne 0x1403d82e1
test r15d, r15d
jle 0x1403d8481
inc rax
dec r15d
cmp byte [rax], 0x20
jne 0x1403d82de
test r15d, r15d
jle 0x1403d846f
inc rax
dec r15d
cmp byte [rax], 0x20
je 0x1403d82ca
mov qword [rdi], rax
movsxd rdx, r15d
test r15d, r15d
jle 0x1403d8481
movsx ecx, byte [rdx + rax - 1]
test ecx, 0xffffffdf
jne 0x1403d845e
dec r15d
dec rdx
test r15d, r15d
jg 0x1403d82ed
nop dword [rax]
nop dword [rax]
mov dword [r12], r15d
je 0x1403d7f48
mov rbx, qword [rsp + 0x1c0]
xor edx, edx
mov rcx, qword [rsp + 0x230]
call fcn.14036eff0
xor edx, edx
mov rcx, qword [rsp + 0x228]
call fcn.14036eff0
mov rcx, qword [rsp + 0x230]
call fcn.14035a530
mov rcx, qword [rsp + 0x228]
call fcn.14035a530
cmp dword [rsi + 0x1e0], 6
je 0x1403d8382
mov rax, qword [rsp + 0x238]
mov ecx, dword [rax + 0x1e0]
call fcn.1403c0ed0
cmp dword [rsi + 0x1e0], 5
je 0x1403d8395
mov rax, qword [rsp + 0x240]
mov ecx, dword [rax + 0x1e0]
call fcn.1403c0ed0
mov rcx, qword [rsp + 0x3a0]
mov qword [rsp + 0x3a0], 0
xor rcx, rsp
cmp rcx, qword [0x14194d6d8]
jne 0x1403d841f
xor eax, eax
add rsp, 0x3b0
pop rbp
pop r15
pop r12
pop rdi
pop rsi
ret
mov rcx, qword [rsp + 0x3a0]
mov qword [rsp + 0x3a0], 0
xor rcx, rsp
cmp rcx, qword [0x14194d6d8]
jne 0x1403d841f
xor eax, eax
add rsp, 0x3b0
pop rbp
pop r15
pop r12
pop rdi
pop rsi
ret
mov ecx, 1
call fcn.14043d4f0
mov rcx, qword [rsp + 0x3a0]
xor rcx, rsp
cmp rcx, qword [0x14194d6d8]
jne 0x1403d841f
mov ecx, 1
call fcn.14046f568
call fcn.14043dac0
mov edx, 0x2c
mov ecx, 1
mov r8d, edx
mov r9, r15
call fcn.140381780
mov rcx, qword [rsp + 0x3a0]
mov qword [rsp + 0x3a0], 0
xor rcx, rsp
cmp rcx, qword [0x14194d6d8]
jne 0x1403d841f
jmp 0x1403d769f
mov rbx, qword [rsp + 0x1c0]
mov dword [r12], r15d
jmp 0x1403d8325
mov qword [rdi], rax
mov dword [r12], r15d
je 0x1403d7f48
jmp 0x1403d831d
mov dword [r12], r15d
je 0x1403d7f48
jmp 0x1403d831d
xor edx, edx
mov rcx, qword [rsp + 0x230]
mov rbx, qword [rsp + 0x1c0]
call fcn.14036eff0
nop
xor edx, edx
mov rcx, qword [rsp + 0x228]
call fcn.14036eff0
mov rcx, qword [rsp + 0x230]
call fcn.14035a530
mov rcx, qword [rsp + 0x228]
call fcn.14035a530
cmp dword [rsi + 0x1e0], 6
je 0x1403d84f6
mov rdx, qword [rsp + 0x238]
mov ecx, dword [rdx + 0x1e0]
call fcn.1403c0ed0
cmp dword [rsi + 0x1e0], 5
je 0x1403d8509
mov rdx, qword [rsp + 0x240]
mov ecx, dword [rdx + 0x1e0]
call fcn.1403c0ed0
mov rcx, qword [rsp + 0x3a0]
mov qword [rsp + 0x3a0], 0
xor rcx, rsp
cmp rcx, qword [0x14194d6d8]
jne 0x1403d841f
jmp 0x1403d7716
xor edx, edx
mov rcx, qword [rsp + 0x230]
mov rbx, qword [rsp + 0x1c0]
call fcn.14036eff0
nop
xor edx, edx
mov rcx, qword [rsp + 0x228]
call fcn.14036eff0
mov rcx, qword [rsp + 0x230]
call fcn.14035a530
mov rcx, qword [rsp + 0x228]
call fcn.14035a530
cmp dword [rsi + 0x1e0], 6
je 0x1403d8598
mov rdx, qword [rsp + 0x238]
mov ecx, dword [rdx + 0x1e0]
call fcn.1403c0ed0
cmp dword [rsi + 0x1e0], 5
je 0x1403d85ab
mov rdx, qword [rsp + 0x240]
mov ecx, dword [rdx + 0x1e0]
call fcn.1403c0ed0
mov rcx, qword [rsp + 0x3a0]
mov qword [rsp + 0x3a0], 0
xor rcx, rsp
cmp rcx, qword [0x14194d6d8]
jne 0x1403d841f
jmp 0x1403d7716
mov rax, qword [r15 + 0x30]
mov rbx, qword [rsp + 0x1c0]
test rax, rax
je 0x1403d86bb
test byte [rax + 0x74], 2
je 0x1403d864f
mov edx, 0x26
mov dword [rax + 0x68], edx
mov rax, qword [r15 + 0x30]
mov dword [rax + 0x6c], edx
mov rax, qword [r15 + 0xd8]
test rax, rax
je 0x1403d8617
xor edx, edx
mov qword [rax + 8], rdx
mov qword [r15 + 0xd8], rdx
mov rcx, qword [rsp + 0x3a0]
mov qword [rsp + 0x3a0], 0
xor rcx, rsp
cmp rcx, qword [0x14194d6d8]
jne 0x1403d841f
mov eax, 0x26
add rsp, 0x3b0
pop rbp
pop r15
pop r12
pop rdi
pop rsi
ret
movzx eax, byte [r15 + 0x29e]
mov rbp, rsp
and eax, 0x10
mov rcx, r15
movzx r8d, byte [r15 + 0x294]
mov edx, 0xffffffff
shr eax, 1
and r8d, 7
or r8d, eax
mov r9d, 0x26
mov dword [rbp + 0x20], 0x26
call fcn.1403be580
mov rcx, qword [rsp + 0x3a0]
mov qword [rsp + 0x3a0], 0
xor rcx, rsp
cmp rcx, qword [0x14194d6d8]
jne 0x1403d841f
add rsp, 0x3b0
pop rbp
pop r15
pop r12
pop rdi
pop rsi
ret
mov edx, 0x26
mov ecx, 1
mov r8d, edx
mov r9, r15
call fcn.140381780
mov rcx, qword [rsp + 0x3a0]
mov qword [rsp + 0x3a0], 0
xor rcx, rsp
cmp rcx, qword [0x14194d6d8]
jne 0x1403d841f
jmp 0x1403d769f
xor edx, edx
mov rcx, qword [rsp + 0x230]
call fcn.14036eff0
mov rcx, qword [rsp + 0x230]
call fcn.14035a530
mov rcx, qword [rsp + 0x228]
call fcn.14035a530
cmp dword [rsi + 0x1e0], 6
je 0x1403d8747
mov rdx, qword [rsp + 0x238]
mov ecx, dword [rdx + 0x1e0]
call fcn.1403c0ed0
cmp dword [rsi + 0x1e0], 5
je 0x1403d875a
mov rdx, qword [rsp + 0x240]
mov ecx, dword [rdx + 0x1e0]
call fcn.1403c0ed0
mov rcx, qword [rsp + 0x3a0]
mov qword [rsp + 0x3a0], 0
xor rcx, rsp
cmp rcx, qword [0x14194d6d8]
jne 0x1403d841f
jmp 0x1403d7716
mov qword [rdi], rdx
mov dword [r12], eax
jne 0x1403d83c6
jmp 0x1403d74e5