Function at 0x1403ddce0
Capabilities:
Get common file path
Identify system language via api
Query environment variable

Disassembly:
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
push rbp
mov eax, 0x4388
call fcn.14043da60
sub rsp, 0x4388
mov ebp, 1
mov r13, qword [rsp + 0x43f8]
xor ebx, ebx
mov rax, qword [0x14194d6d8]
mov rdi, r8
mov r12, rdx
mov rsi, rcx
mov ecx, 0x1001
mov edx, ebp
xor rax, rsp
lea r8, [rsp + 0x58]
mov qword [r8 + 0x4328], rax
mov r14, r9
mov dword [r8 + 8], ebx
mov dword [r8 + 0xc], 0x5c3f5c5c
mov byte [r8 + 0x10], bl
mov dword [r13], ebx
call fcn.14035a450
test eax, eax
je 0x1403ddd8a
mov rcx, qword [rsp + 0x4380]
mov qword [rsp + 0x4380], 0
xor rcx, rsp
cmp rcx, qword [0x14194d6d8]
jne 0x1403de1ef
add rsp, 0x4388
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
mov ecx, 0x1001
mov edx, 1
lea r8, [rsp + 0x50]
call fcn.14035a450
mov r15d, eax
test r15d, r15d
jne 0x1403de1ae
mov ecx, 0x1001
mov edx, 1
lea r8, [rsp + 0x48]
call fcn.14035a450
mov r15d, eax
test r15d, r15d
jne 0x1403debb8
cmp qword [r12], 3
je 0x1403deb63
mov r8d, dword [rsi + 0x1e0]
cmp r8d, 0xfffffffc
je 0x1403deb57
cmp r8d, 0xfffffffd
je 0x1403dde0e
cmp r8d, 0xfffffffe
jne 0x1403dddfb
lea rcx, str.FOR_TYPE
jmp 0x1403dde15
xor ecx, ecx
cmp r8d, 0xffffffff
lea rax, str.FOR_PRINT
cmove rcx, rax
jmp 0x1403dde15
lea rcx, str.FOR_ACCEPT
test byte [rsi + 0x299], 4
je 0x1403dde2b
test byte [rsi + 0x290], 1
je 0x1403ddf1c
test rcx, rcx
je 0x1403ddf1c
mov rdx, qword [rsp + 0x50]
mov r8d, 0x1001
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
lea r8d, [rax - 1]
cmp r8d, 0xfff
ja 0x1403dde65
mov r8, qword [rsp + 0x50]
mov qword [rsp + 0x40], r8
mov dword [rsp + 0x60], eax
jmp 0x1403ddf9e
mov ebp, dword [rsi + 0x1e0]
add ebp, 4
cmp ebp, 0xa
ja 0x1403ddede
lea r8, [0x140000000]
movzx eax, byte [r8 + rbp + 0x59f2a8]
lea rax, [r8 + rax + 0x3dde8d]
jmp rax
xor r8d, r8d
mov rdx, r8
mov qword [rsp + 0x40], r8
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 0x1403ddf11
mov rax, rdx
add rdx, rcx
call fcn.14042af70
xor ebp, ebp
mov dword [rsp + 0x60], eax
jmp 0x1403ddf9e
mov rdx, qword [r12 + 8]
test rdx, rdx
je 0x1403de9bb
mov ebx, dword [r12 + 0x10]
cmp byte [rdx], 0x20
jne 0x1403ddf42
test ebx, ebx
jle 0x1403ddf61
inc rdx
dec ebx
cmp byte [rdx], 0x20
je 0x1403ddf34
movsxd rax, ebx
test ebx, ebx
jle 0x1403ddf61
movsx r8d, byte [rax + rdx - 1]
test r8d, 0xffffffdf
jne 0x1403ddf61
dec ebx
dec rax
test ebx, ebx
jg 0x1403ddf49
mov r8d, 0x1000
cmp ebx, 0x1000
mov rcx, qword [rsp + 0x48]
cmovle r8d, ebx
mov dword [rsp + 0x60], r8d
movsxd r8, r8d
call fcn.14042ae90
mov eax, dword [rsp + 0x60]
movsxd rax, eax
mov r8, qword [rsp + 0x48]
mov byte [rax + r8], 0
mov r8, qword [rsp + 0x48]
mov qword [rsp + 0x40], r8
cmp byte [r8], 0x20
jne 0x1403ddfcf
test eax, eax
jle 0x1403ddff2
inc r8
dec eax
cmp byte [r8], 0x20
jne 0x1403ddfc6
test eax, eax
jle 0x1403de9a7
inc r8
dec eax
cmp byte [r8], 0x20
je 0x1403ddfb3
mov qword [rsp + 0x40], r8
mov dword [rsp + 0x60], eax
movsxd r9, eax
test eax, eax
jle 0x1403ddff2
movsx r10d, byte [r9 + r8 - 1]
test r10d, 0xffffffdf
jne 0x1403de01b
dec eax
dec r9
mov dword [rsp + 0x60], eax
test eax, eax
jg 0x1403ddfd6
jne 0x1403de01b
test byte [rsi + 0x299], 4
je 0x1403de01b
mov rcx, rsi
lea rdx, [rsp + 0x40]
lea r8, [rsp + 0x60]
call fcn.1403d73d0
mov r15d, eax
test r15d, r15d
jne 0x1403de960
cmp dword [rsp + 0x43f0], 0
jne 0x1403de051
mov r9, qword [rsp + 0x40]
mov rax, r9
mov edx, 4
lea rcx, [rsp + 0x64]
call fcn.14042b020
test eax, eax
jne 0x1403de04a
mov dword [r13], 1
jmp 0x1403de051
cmp dword [r13], 0
je 0x1403de062
cmp ebx, 0x1000
jg 0x1403de1f4
mov r9, qword [rsp + 0x40]
xor bl, bl
test ebp, ebp
je 0x1403de0fc
movsxd r8, dword [rsp + 0x60]
mov rcx, rsi
mov rdx, r9
mov byte [r9 + r8], 0
xor bl, bl
call fcn.14036dc10
cmp eax, 0xffffffff
je 0x1403de24f
xor ebp, ebp
cmp eax, 1
je 0x1403de0a1
cmp eax, 0xfffffffa
jne 0x1403de0ba
cmp dword [0x141a6ae3c], 0
jne 0x1403de0ba
mov ecx, 0xfffffff5
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov qword [rsi + 0x1a0], rax
mov r9, qword [rsp + 0x40]
jmp 0x1403de0fc
test eax, eax
jne 0x1403de0d7
mov ecx, 0xfffffff6
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov qword [rsi + 0x1a0], rax
mov r9, qword [rsp + 0x40]
jmp 0x1403de0fc
cmp eax, 2
jne 0x1403de0f5
mov ecx, 0xfffffff4
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov qword [rsi + 0x1a0], rax
mov r9, qword [rsp + 0x40]
jmp 0x1403de0fc
mov r9, qword [rsp + 0x40]
mov bl, 1
mov rdx, rdi
mov rcx, r9
test cl, 3
je 0x1403de11a
mov al, byte [rcx]
inc rcx
test al, al
mov byte [rdx], al
je 0x1403de11f
inc rdx
test cl, 3
jne 0x1403de107
call fcn.1404318f0
cmp dword [0x141a6ae3c], 0
je 0x1403de13c
test ebp, ebp
jne 0x1403de14a
cmp qword [rsi + 0x1a0], 0xffffffffffffffff
je 0x1403de237
jmp 0x1403de14a
test ebp, ebp
jne 0x1403de14a
cmp qword [rsi + 0x1a0], 0xffffffffffffffff
je 0x1403de153
test bl, bl
jne 0x1403de153
mov dword [r14], ebp
jmp 0x1403de15a
mov dword [r14], 1
mov rcx, qword [rsp + 0x50]
call fcn.14035a530
mov rcx, qword [rsp + 0x58]
call fcn.14035a530
mov rcx, qword [rsp + 0x48]
call fcn.14035a530
mov rcx, qword [rsp + 0x4380]
mov qword [rsp + 0x4380], 0
xor rcx, rsp
cmp rcx, qword [0x14194d6d8]
jne 0x1403de1ef
xor eax, eax
add rsp, 0x4388
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
mov rcx, qword [rsp + 0x58]
call fcn.14035a530
mov rcx, qword [rsp + 0x4380]
mov qword [rsp + 0x4380], 0
xor rcx, rsp
cmp rcx, qword [0x14194d6d8]
jne 0x1403de1ef
mov eax, r15d
add rsp, 0x4388
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
call fcn.14043dac0
mov rcx, qword [rsp + 0x50]
call fcn.14035a530
mov rcx, qword [rsp + 0x58]
call fcn.14035a530
mov rcx, qword [rsp + 0x48]
call fcn.14035a530
mov rcx, qword [rsp + 0x4380]
mov qword [rsp + 0x4380], 0
xor rcx, rsp
cmp rcx, qword [0x14194d6d8]
jne 0x1403de1ef
jmp 0x1403de333
test bl, bl
jne 0x1403de153
mov qword [rsi + 0x1a0], 0
jmp 0x1403de14e
cmp dword [r13], 0
jne 0x1403de956
mov r9, qword [r12 + 0x18]
test byte [rsi + 0x299], 8
jne 0x1403de273
test r9, r9
je 0x1403de570
jmp 0x1403de27c
test r9, r9
je 0x1403de942
mov ebx, dword [r12 + 0x20]
cmp byte [r9], 0x20
jne 0x1403de296
test ebx, ebx
jle 0x1403de2b9
inc r9
dec ebx
cmp byte [r9], 0x20
je 0x1403de287
movsxd r8, ebx
test ebx, ebx
jle 0x1403de2b9
movsx r10d, byte [r8 + r9 - 1]
test r10d, 0xffffffdf
jne 0x1403de92f
dec ebx
dec r8
test ebx, ebx
jg 0x1403de29d
cmp dword [rsp + 0x43f0], 0
jne 0x1403de3af
mov rax, r9
lea rcx, [rsp + 0x64]
mov edx, 4
call fcn.14042b020
test eax, eax
jne 0x1403de34c
mov dword [r13], 1
cmp ebx, 0x1000
jl 0x1403de3af
mov rcx, qword [rsp + 0x50]
call fcn.14035a530
mov rcx, qword [rsp + 0x58]
call fcn.14035a530
mov rcx, qword [rsp + 0x48]
call fcn.14035a530
mov rcx, qword [rsp + 0x4380]
mov qword [rsp + 0x4380], 0
xor rcx, rsp
cmp rcx, qword [0x14194d6d8]
jne 0x1403de1ef
mov eax, 0x311
add rsp, 0x4388
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
cmp ebx, 0x104
jl 0x1403de3af
mov rcx, qword [rsp + 0x50]
call fcn.14035a530
mov rcx, qword [rsp + 0x58]
call fcn.14035a530
mov rcx, qword [rsp + 0x48]
call fcn.14035a530
mov rcx, qword [rsp + 0x4380]
mov qword [rsp + 0x4380], 0
xor rcx, rsp
cmp rcx, qword [0x14194d6d8]
jne 0x1403de1ef
mov eax, 0x302
add rsp, 0x4388
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
movsxd r15, ebx
mov rdx, r9
mov r8, r15
mov rcx, qword [rsp + 0x58]
call fcn.14042ae90
mov rax, qword [rsp + 0x58]
mov byte [r15 + rax], 0
mov r15, qword [rsp + 0x58]
test r15, r15
je 0x1403de91f
cmp byte [r15], 0x20
jne 0x1403de3ef
test ebx, ebx
jle 0x1403de409
inc r15
dec ebx
cmp byte [r15], 0x20
je 0x1403de3e0
test ebx, ebx
jle 0x1403de409
movsxd rbx, ebx
movsx eax, byte [r15 + rbx - 1]
test eax, 0xffffffdf
jne 0x1403de409
dec ebx
test ebx, ebx
jg 0x1403de3f3
cmp qword [r12], 3
je 0x1403de74f
test r15, r15
je 0x1403de43c
cmp dword [r13], 0
je 0x1403de42c
movsxd rbx, ebx
cmp byte [rbx + r15], 0x5c
je 0x1403de447
jmp 0x1403de43c
movsxd rbx, ebx
mov al, byte [rbx + r15 - 1]
cmp al, 0x2f
je 0x1403de447
cmp al, 0x5c
je 0x1403de447
test ebx, ebx
jle 0x1403de447
mov esi, 1
jmp 0x1403de449
xor esi, esi
cmp dword [rsp + 0x43f0], 0
jne 0x1403de45a
cmp dword [r13], 0
je 0x1403de4c4
mov eax, ebx
add eax, dword [rsp + 0x60]
add eax, esi
cmp eax, 0x1000
jle 0x1403de4d3
mov rcx, qword [rsp + 0x50]
call fcn.14035a530
mov rcx, qword [rsp + 0x58]
call fcn.14035a530
mov rcx, qword [rsp + 0x48]
call fcn.14035a530
mov rcx, qword [rsp + 0x4380]
mov qword [rsp + 0x4380], 0
xor rcx, rsp
cmp rcx, qword [0x14194d6d8]
jne 0x1403de1ef
mov eax, 0x311
add rsp, 0x4388
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
mov eax, ebx
add eax, dword [rsp + 0x60]
add eax, esi
cmp eax, 0x104
jg 0x1403de515
movsxd rbx, ebx
mov rcx, rdi
mov rdx, r15
mov r8, rbx
call fcn.14042ae90
lea rcx, [rdi + rbx]
test esi, esi
je 0x1403de4ef
mov byte [rcx], 0x5c
add rcx, rsi
mov rdx, qword [rsp + 0x40]
movsxd r8, dword [rsp + 0x60]
call fcn.14042ae90
movsxd rax, dword [rsp + 0x60]
add rbx, rsi
add rax, rdi
mov byte [rbx + rax], 0
jmp 0x1403de14e
mov rcx, qword [rsp + 0x50]
call fcn.14035a530
mov rcx, qword [rsp + 0x58]
call fcn.14035a530
mov rcx, qword [rsp + 0x48]
call fcn.14035a530
mov rcx, qword [rsp + 0x4380]
mov qword [rsp + 0x4380], 0
xor rcx, rsp
cmp rcx, qword [0x14194d6d8]
jne 0x1403de1ef
mov eax, 0x302
add rsp, 0x4388
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
call qword [sym.imp.KERNEL32.dll_GetUserDefaultLangID]
movzx eax, ax
cmp eax, 0x411
jne 0x1403de6a3
mov rax, rsp
xor ecx, ecx
mov r8, qword [rsp + 0x40]
mov edx, 1
mov r9d, 0xffffffff
lea rbx, [rsp + 0x64]
mov qword [rax + 0x20], rbx
mov dword [rax + 0x28], 0x1001
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov rcx, rbx
mov edx, 0x1001
xor r9d, r9d
lea r8, [rsp + 0x2066]
call qword [sym.imp.KERNEL32.dll_GetFullPathNameW]
mov ebx, eax
mov eax, ebx
cmp rax, 0x2002
jae 0x1403de666
test ebx, ebx
je 0x1403de700
cmp rax, 0x1001
jae 0x1403de700
mov r15, rsp
xor ecx, ecx
xor r10d, r10d
xor edx, edx
mov rax, qword [rsp + 0x58]
lea r8, [rsp + 0x2066]
mov r9d, 0xffffffff
mov qword [r15 + 0x20], rax
mov dword [r15 + 0x28], 0x1000
mov qword [r15 + 0x30], r10
mov qword [r15 + 0x38], r10
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov r9d, dword [rsp + 0x60]
neg r9d
add r9d, ebx
dec r9d
movsxd r9, r9d
test r9, r9
jle 0x1403de700
mov rax, qword [rsp + 0x58]
xor r8d, r8d
test byte [r8 + rax], 0x80
jne 0x1403de700
inc r8
cmp r8, r9
jl 0x1403de645
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x60], ebx
jmp 0x1403de700
mov rcx, qword [rsp + 0x4380]
mov qword [rsp + 0x4380], 0
xor rcx, rsp
cmp rcx, qword [0x14194d6d8]
jne 0x1403de1ef
mov eax, 0x311
add rsp, 0x4388
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
call qword [sym.imp.KERNEL32.dll_GetSystemDefaultLangID]
movzx eax, ax
cmp eax, 0x411
je 0x1403de584
mov rcx, qword [rsp + 0x40]
mov edx, 0x1001
mov r8, qword [rsp + 0x58]
xor r9d, r9d
call qword [sym.imp.KERNEL32.dll_GetFullPathNameA]
mov ebx, eax
cmp ebx, 0x1000
ja 0x1403de712
test ebx, ebx
je 0x1403de700
mov edx, 0x3f
mov r15, qword [rsp + 0x58]
mov rcx, r15
mov r8, rbx
call fcn.140441070
test rax, rax
jne 0x1403de700
mov qword [rsp + 0x40], r15
mov dword [rsp + 0x60], ebx
xor ebx, ebx
xor r15d, r15d
cmp qword [r12], 3
jne 0x1403de447
jmp 0x1403de74f
mov rcx, qword [rsp + 0x4380]
mov qword [rsp + 0x4380], 0
xor rcx, rsp
cmp rcx, qword [0x14194d6d8]
jne 0x1403de1ef
mov eax, 0x311
add rsp, 0x4388
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
test byte [rsi + 0x291], 0x20
jne 0x1403de414
lea rcx, str.FORT_TMPDIR
lea rdx, [rsp + 0x4275]
mov r8d, 0x105
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
mov eax, eax
test rax, rax
ja 0x1403de90b
mov byte [rsp + 0x4275], 0
cmp qword [r12 + 0x18], 0
je 0x1403de893
xor eax, eax
mov dword [rsp + 0x4270], eax
pxor xmm0, xmm0
mov byte [rsp + 0x4274], al
mov eax, 0x100
movdqu xmmword [rsp + rax + 0x4160], xmm0
movdqu xmmword [rsp + rax + 0x4150], xmm0
movdqu xmmword [rsp + rax + 0x4140], xmm0
movdqu xmmword [rsp + rax + 0x4130], xmm0
sub rax, 0x40
jne 0x1403de7af
mov rcx, r15
lea rdx, [0x14059f414]
xor r8d, r8d
lea r9, [rsp + 0x4170]
call qword [sym.imp.KERNEL32.dll_GetTempFileNameA]
test eax, eax
je 0x1403de838
test byte [rsi + 0x299], 8
lea rcx, [rsp + 0x4172]
mov rdx, rdi
lea rsi, [rsp + 0x4170]
cmove rcx, rsi
test cl, 3
je 0x1403de82e
mov al, byte [rcx]
inc rcx
test al, al
mov byte [rdx], al
je 0x1403de833
inc rdx
test cl, 3
jne 0x1403de81b
call fcn.1404318f0
jmp 0x1403de14e
mov rcx, qword [rsp + 0x50]
call fcn.14035a530
mov rcx, qword [rsp + 0x58]
call fcn.14035a530
mov rcx, qword [rsp + 0x48]
call fcn.14035a530
mov rcx, qword [rsp + 0x4380]
mov qword [rsp + 0x4380], 0
xor rcx, rsp
cmp rcx, qword [0x14194d6d8]
jne 0x1403de1ef
mov eax, 0x2b
add rsp, 0x4388
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
test byte [rsi + 0x299], 8
je 0x1403de8b6
mov byte [rsp + 0x4068], 0x2e
lea r15, [rsp + 0x4068]
mov byte [r15 + 1], 0
jmp 0x1403de796
test rax, rax
je 0x1403de8e3
mov r8d, 0x104
lea rcx, [rsp + 0x4068]
lea rdx, [rsp + 0x4275]
call fcn.1403815f0
lea r15, [rsp + 0x4068]
jmp 0x1403de796
mov ecx, 0x104
lea rdx, [rsp + 0x4068]
call qword [sym.imp.KERNEL32.dll_GetTempPathA]
xor ebx, ebx
test eax, eax
lea r15, [rsp + 0x4068]
cmove r15, rbx
jmp 0x1403de796
cmp rax, 0x105
jae 0x1403de782
inc rax
jmp 0x1403de78a
cmp qword [r12], 3
jne 0x1403de43c
jmp 0x1403de74f
cmp dword [rsp + 0x43f0], 0
je 0x1403de2c7
jmp 0x1403de2e5
cmp qword [r12], 3
jne 0x1403de956
test byte [rsi + 0x291], 0x20
je 0x1403de570
mov r9, qword [rsp + 0x40]
jmp 0x1403de0fc
mov rcx, qword [rsp + 0x50]
call fcn.14035a530
mov rcx, qword [rsp + 0x58]
call fcn.14035a530
mov rcx, qword [rsp + 0x48]
call fcn.14035a530
mov rcx, qword [rsp + 0x4380]
mov qword [rsp + 0x4380], 0
xor rcx, rsp
cmp rcx, qword [0x14194d6d8]
jne 0x1403de1ef
jmp 0x1403de1d8
mov qword [rsp + 0x40], r8
mov dword [rsp + 0x60], eax
je 0x1403ddff4
jmp 0x1403de01b
lea rdx, str.FORT_d
mov rcx, qword [rsp + 0x48]
call fcn.14036c680
mov r15, qword [rsp + 0x50]
mov rdx, r15
mov rcx, qword [rsp + 0x48]
mov r8d, 0x1001
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
mov eax, eax
test rax, rax
ja 0x1403deb35
test r15, r15
je 0x1403de9f9
mov byte [r15], 0
test rax, rax
je 0x1403dea13
mov r8, qword [rsp + 0x50]
dec eax
mov qword [rsp + 0x40], r8
mov dword [rsp + 0x60], eax
jmp 0x1403ddf9e
mov r8d, dword [rsi + 0x1e0]
add r8d, 4
cmp r8d, 0xa
ja 0x1403dea9b
lea r9, [0x140000000]
movzx eax, byte [r9 + r8 + 0x59f2b4]
lea rax, [r9 + rax + 0x3dea3e]
jmp rax
xor r8d, r8d
test byte [rsi + 0x299], 4
jne 0x1403deaef
test byte [rsi + 0x291], 0x20
je 0x1403deac6
mov r8, qword [rsi + 0xd0]
mov qword [rsp + 0x40], r8
mov qword [r12], 0
jmp 0x1403deb01
lea rdx, str.fort._d
mov qword [rsp + 0x40], r8
mov rcx, qword [rsp + 0x48]
mov r8d, dword [rsi + 0x1e0]
call fcn.14036c680
mov r8, qword [rsp + 0x48]
mov qword [rsp + 0x40], r8
jmp 0x1403deb01
mov rax, qword [rsp + 0x48]
mov byte [rax], 0
mov r8, qword [rsp + 0x48]
mov qword [rsp + 0x40], r8
mov rdx, r8
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 0x1403deb2c
mov rax, rdx
add rdx, rcx
call fcn.14042af70
mov dword [rsp + 0x60], eax
jmp 0x1403ddf9e
cmp rax, 0x1001
jae 0x1403deb45
inc rax
jmp 0x1403de9f9
test r15, r15
je 0x1403de9fe
mov byte [r15], 0
jmp 0x1403de9fe
lea rcx, str.FOR_READ
jmp 0x1403dde15
test byte [rsi + 0x291], 0x20
jne 0x1403dddd5
cmp qword [r12 + 8], 0
je 0x1403deb84
mov ecx, 0x212
xor edx, edx
call fcn.140383960
lea rdx, str.SCRATCH
mov r8d, 0x1000
mov rcx, qword [rsp + 0x48]
call fcn.1403815f0
mov r9, qword [rsp + 0x48]
mov r8d, 7
mov qword [rsp + 0x40], r9
mov dword [rsp + 0x60], 7
jmp 0x1403de071
mov rcx, qword [rsp + 0x58]
call fcn.14035a530
mov rcx, qword [rsp + 0x50]
call fcn.14035a530
mov rcx, qword [rsp + 0x4380]
mov qword [rsp + 0x4380], 0
xor rcx, rsp
cmp rcx, qword [0x14194d6d8]
jne 0x1403de1ef
jmp 0x1403de1d8