Function at 0x140148e40
Capabilities:
Read file on windows

Disassembly:
push r12
push rbp
push rdi
push rsi
push rbx
add rsp, 0xffffffffffffff80
mov ebx, dword [rcx + 0x168]
mov ebp, ebx
and ebp, 3
mov rsi, rcx
test ebx, 0x20000000
je 0x1401481e8
mov dword [rsp + 0x60], ebx
mov qword [rsp + 0x78], 0
cmp ebp, 1
je 0x140148390
test bl, 8
jne 0x1401483a3
xor ecx, ecx
call sub.msvcrt.dll__umask
mov ecx, eax
mov edi, eax
call sub.msvcrt.dll__umask
cmp ebp, 3
je 0x1401482b3
lea rax, [0x140471ac8]
mov r10d, dword [rax + rbp*4]
jmp 0x14014821c
xor ecx, ecx
call sub.msvcrt.dll__umask
mov ecx, eax
mov edi, eax
call sub.msvcrt.dll__umask
cmp ebp, 3
je 0x1401482b3
lea rax, [0x140471ac8]
mov r10d, dword [rax + rbp*4]
mov eax, r10d
and eax, 0xfffffffd
or eax, 4
test bl, 8
cmovne r10d, eax
mov eax, ebx
and eax, 0x10000000
cmp eax, 1
mov eax, ebx
sbb r8d, r8d
and eax, 0x700
and r8d, 7
cmp eax, 0x300
je 0x140148450
jg 0x1401483e0
cmp eax, 0x100
je 0x140148420
cmp eax, 0x200
jne 0x1401483c4
mov edx, 5
mov eax, pe_nt_image_headers64
test bh, 1
je 0x140148280
not edi
and edi, dword [rsi + 0x158]
xor eax, eax
and edi, 0x80
sete al
sub eax, 0xffffff80
test bl, 0x40
je 0x140148291
or eax, 0x4000100
or r10d, 0x10000
mov ecx, eax
or ch, 1
test bh, 0x10
cmovne eax, ecx
mov ecx, ebx
and ecx, 0x30
cmp ecx, 0x10
je 0x1401482d8
cmp ecx, 0x20
je 0x140148430
test ecx, ecx
je 0x1401482dd
mov qword [rsi + 0x88], 0xfffffffffffff019
mov dword [rsi + 0x14c], 0x57
sub rsp, 0xffffffffffffff80
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret
or eax, 0x10000000
test ebx, 0x2000000
je 0x1401482fa
test r10b, 4
je 0x1401482f5
test r10b, 2
je 0x1401482b3
and r10d, 0xfffffffb
or eax, 0x20000000
mov ecx, ebx
and ecx, 0xc000000
lea r9d, [rcx - 0x4000000]
and r9d, 0xf8000000
je 0x140148440
test ecx, ecx
jne 0x1401482b3
or eax, 0x2000000
mov dword [rsp + 0x20], edx
xor r9d, r9d
mov edx, r10d
mov qword [rsp + 0x30], 0
mov rcx, qword [rsi + 0x150]
mov dword [rsp + 0x28], eax
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov r12, rax
cmp rax, 0xffffffffffffffff
je 0x140148630
mov edx, ebx
mov rcx, rax
call qword [sym.imp.msvcrt.dll__open_osfhandle]
mov edi, eax
test eax, eax
js 0x140148595
and ebx, 0x20000000
jne 0x140148480
movsxd rdi, edi
mov qword [rsi + 0x88], rdi
sub rsp, 0xffffffffffffff80
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret
mov ebp, ebx
and ebp, 0xfffffffc
or ebp, 2
and ebx, 8
je 0x140148460
mov ebx, ebp
xor ecx, ecx
and ebx, 0xfffffff4
call sub.msvcrt.dll__umask
or ebx, 2
mov ecx, eax
mov edi, eax
call sub.msvcrt.dll__umask
mov r10d, 0x12019f
jmp 0x14014821c
test eax, eax
jne 0x1401482b3
mov edx, 3
jmp 0x140148260
cmp eax, 0x600
je 0x14014825b
jle 0x140148408
cmp eax, 0x700
jne 0x1401482b3
mov edx, 1
jmp 0x140148260
cmp eax, 0x400
je 0x1401483cc
cmp eax, 0x500
je 0x1401483f8
jmp 0x1401482b3
mov edx, 4
jmp 0x140148260
or eax, 0x8000000
jmp 0x1401482dd
or eax, 0x80000000
jmp 0x14014831a
mov edx, 2
jmp 0x140148260
xor ecx, ecx
mov ebx, ebp
mov ebp, 2
call sub.msvcrt.dll__umask
mov ecx, eax
mov edi, eax
call sub.msvcrt.dll__umask
jmp 0x1401481d8
mov r9d, 0x18
lea r8, [rsp + 0x40]
mov edx, 1
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_GetFileInformationByHandleEx]
test eax, eax
je 0x140148609
movzx eax, byte [rsp + 0x55]
mov byte [rsp + 0x64], al
test al, al
je 0x1401486ff
mov qword [rsp + 0x70], 0
mov qword [rsp + 0x68], 0xffffffffffffffff
lea rcx, [0x1407b2aa0]
movzx ebx, dil
lea rbp, [0x140529aa0]
call sub.KERNEL32.dll_EnterCriticalSection
mov rax, rbx
shl rax, 4
add rax, rbp
mov r8, qword [rax]
test r8, r8
mov rcx, r8
setne r10b
and ecx, 0xf
jne 0x14014866d
test r10b, r10b
je 0x14014866d
mov r9, qword [rax + 8]
mov ecx, 0x10
mov rdx, r9
xor eax, eax
jmp 0x140148529
add rax, 1
add rdx, 0x28
cmp rax, rcx
jae 0x140148682
cmp edi, dword [rdx]
jne 0x140148518
lea rax, [rax + rax*4]
lea rax, [r9 + rax*8]
test rax, rax
jne 0x140148570
mov r12d, r8d
and r12d, 0xf
jne 0x14014854c
test r10b, r10b
jne 0x14014875d
shl rbx, 4
mov eax, r12d
add r8, 1
add rbp, rbx
lea rax, [rax + rax*4]
mov rdx, qword [rbp + 8]
mov qword [rbp], r8
lea rax, [rdx + rax*8]
mov dword [rax], edi
nop dword [rax]
movdqa xmm0, xmmword [rsp + 0x60]
movdqa xmm1, xmmword [rsp + 0x70]
lea rcx, [0x1407b2aa0]
movups xmmword [rax + 8], xmm0
movups xmmword [rax + 0x18], xmm1
call fcn.14015d780
jmp 0x140148371
call qword [sym.imp.msvcrt.dll__errno]
cmp dword [rax], 0x18
jne 0x1401486d5
mov qword [rsi + 0x88], 0xfffffffffffff01e
mov dword [rsi + 0x14c], 4
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x1401482c8
mov eax, dword [rsp + 0x60]
mov edx, dword [rsp + 0x70]
mov rcx, r12
mov qword [rsp + 0x28], 0
mov r9d, dword [rsp + 0x74]
and eax, 3
mov dword [rsp + 0x20], edx
cmp eax, 1
sbb eax, eax
xor edx, edx
and eax, 0xfffffffe
lea r8d, [rax + 4]
call qword [sym.imp.KERNEL32.dll_CreateFileMappingA]
mov qword [rsp + 0x68], rax
test rax, rax
jne 0x1401484c4
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsi + 0x14c], eax
mov ecx, eax
call fcn.140146240
cdqe
mov qword [rsi + 0x88], rax
jmp 0x1401485b9
mov rdi, qword [sym.imp.KERNEL32.dll_GetLastError]
call rdi
cmp eax, 0x50
jne 0x140148650
and ebx, 0x500
cmp ebx, 0x100
je 0x14014872f
call rdi
mov dword [rsi + 0x14c], eax
mov ecx, eax
call fcn.140146240
cdqe
mov qword [rsi + 0x88], rax
jmp 0x1401482c8
mov rax, rbx
shl rax, 4
mov r9, qword [rbp + rax + 8]
test rcx, rcx
jne 0x14014850d
mov rcx, qword [r9 + 0x280]
test rcx, rcx
je 0x14014853a
nop word [rax + rax]
mov rdx, rcx
xor eax, eax
nop dword [rax]
cmp edi, dword [rdx]
je 0x1401486c8
add eax, 1
add rdx, 0x28
cmp eax, 0x10
jne 0x1401486a0
mov rcx, qword [rcx + 0x280]
test rcx, rcx
jne 0x140148698
jmp 0x14014853a
lea rax, [rax + rax*4]
lea rax, [rcx + rax*8]
jmp 0x140148570
mov rbx, qword [sym.imp.KERNEL32.dll_GetLastError]
call rbx
test eax, eax
je 0x140148749
call rbx
mov dword [rsi + 0x14c], eax
mov ecx, eax
call fcn.140146240
cdqe
mov qword [rsi + 0x88], rax
jmp 0x1401485b9
lea rdx, [rsp + 0x70]
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_GetFileSizeEx]
test eax, eax
je 0x140148609
cmp qword [rsp + 0x70], 0
jne 0x1401485c7
mov qword [rsp + 0x68], 0xffffffffffffffff
jmp 0x1401484c4
mov qword [rsi + 0x88], 0xfffffffffffff01c
mov dword [rsi + 0x14c], 0x50
jmp 0x1401482c8
mov dword [rsi + 0x14c], 0xfffff002
mov ecx, 0xfffff002
jmp 0x140148617
mov ecx, 0x288
call fcn.1401419c0
mov rdx, rax
test rax, rax
je 0x140148790
mov rax, rbx
shl rax, 4
add rax, rbp
mov rcx, qword [rax + 8]
mov r8, qword [rax]
mov qword [rdx + 0x280], rcx
mov qword [rax + 8], rdx
jmp 0x14014854c
lea rdx, [0x140471907]
mov ecx, 0xe
call fcn.140146180
nop
nop word cs:[rax + rax]
nop dword [rax]
push r13
push r12
push rsi
push rbx
sub rsp, 0x28
mov r12d, dword [rcx + 0x150]
mov rbx, rcx
cmp r12d, 0xffffffff
je 0x140148907
lea rcx, [0x1407b2aa0]
movzx esi, r12b
call sub.KERNEL32.dll_EnterCriticalSection
mov r9d, esi
lea r11, [0x140529aa0]
mov rax, r9
shl rax, 4
add rax, r11
mov r8, qword [rax]
mov rcx, r8
and ecx, 0xf
jne 0x140148927
test r8, r8
je 0x140148927
mov r10, qword [rax + 8]
mov ecx, 0x10
mov rsi, qword [r10 + 0x280]
mov rdx, r10
xor eax, eax
jmp 0x140148839
add rax, 1
add rdx, 0x28
cmp rax, rcx
jae 0x140148943
cmp r12d, dword [rdx]
jne 0x140148828
lea rax, [rax + rax*4]
lea rax, [r10 + rax*8]
nop word cs:[rax + rax]
mov rdx, r9
sub r8, 1
mov r13, qword [rax + 0x10]
shl rdx, 4
mov qword [r11 + rdx], r8
mov rdx, r8
and edx, 0xf
lea rdx, [rdx + rdx*4]
lea rdx, [r10 + rdx*8]
cmp rax, rdx
je 0x14014888e
movdqu xmm0, xmmword [rdx]
movups xmmword [rax], xmm0
movdqu xmm1, xmmword [rdx + 0x10]
movups xmmword [rax + 0x10], xmm1
mov rdx, qword [rdx + 0x20]
mov qword [rax + 0x20], rdx
test r8, r8
je 0x14014889d
and r8d, 0xf
je 0x14014899d
lea rcx, [0x1407b2aa0]
call fcn.14015d780
cmp r13, 0xffffffffffffffff
je 0x1401488b8
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_CloseHandle]
cmp r12d, 2
jg 0x1401488d4
mov qword [rbx + 0x88], 0
add rsp, 0x28
pop rbx
pop rsi
pop r12
pop r13
ret
mov ecx, r12d
call qword [sym.imp.msvcrt.dll__close]
cmp eax, 0xffffffff
jne 0x1401488be
call qword [sym.imp.msvcrt.dll__errno]
cmp dword [rax], 9
je 0x140148907
mov r8d, 0x2da
lea rdx, str.src_win_fs.c
lea rcx, str.errno__EBADF
call qword [sym.imp.msvcrt.dll__assert]
mov qword [rbx + 0x88], 0xfffffffffffff00d
mov dword [rbx + 0x14c], 6
add rsp, 0x28
pop rbx
pop rsi
pop r12
pop r13
ret
mov rax, r9
shl rax, 4
mov r10, qword [r11 + rax + 8]
mov rsi, qword [r10 + 0x280]
test rcx, rcx
jne 0x14014881a
test rsi, rsi
je 0x140148975
mov rcx, rsi
nop dword [rax + rax]
mov rdx, rcx
xor eax, eax
nop dword [rax]
cmp r12d, dword [rdx]
je 0x140148990
add eax, 1
add rdx, 0x28
cmp eax, 0x10
jne 0x140148958
mov rcx, qword [rcx + 0x280]
test rcx, rcx
jne 0x140148950
lea rcx, [0x1407b2aa0]
call fcn.14015d780
jmp 0x1401488b8
lea rax, [rax + rax*4]
lea rax, [rcx + rax*8]
jmp 0x140148850
shl r9, 4
mov rcx, r10
mov qword [r11 + r9 + 8], rsi
call fcn.1401419e0
jmp 0x14014889d
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x78
mov r12d, dword [rcx + 0x150]
mov r13, rcx
cmp r12d, 0xffffffff
je 0x140149007
mov rdi, qword [rcx + 0x180]
movzx ebx, r12b
lea rcx, [0x1407b2aa0]
call sub.KERNEL32.dll_EnterCriticalSection
mov eax, ebx
lea r9, [0x140529aa0]
mov rdx, rax
shl rdx, 4
add rdx, r9
mov r8, qword [rdx]
mov rcx, r8
and ecx, 0xf
test r8, r8
je 0x14014901e
test rcx, rcx
jne 0x14014901e
mov r8, qword [rdx + 8]
mov ecx, 0x10
mov rdx, r8
xor eax, eax
jmp 0x140148ed1
add rax, 1
add rdx, 0x28
cmp rax, rcx
jae 0x140149030
cmp r12d, dword [rdx]
jne 0x140148ec0
lea rax, [rax + rax*4]
lea rax, [r8 + rax*8]
test rax, rax
jne 0x140148fc8
lea rcx, [0x1407b2aa0]
call fcn.14015d780
mov ecx, r12d
call qword [sym.imp.msvcrt.dll__get_osfhandle]
mov r15, rax
cmp rax, 0xffffffffffffffff
je 0x140149118
cmp rdi, 0xffffffffffffffff
jne 0x140149070
mov dword [rsp + 0x38], 0
xor ebp, ebp
xor r12d, r12d
xor esi, esi
lea r14, [rsp + 0x44]
jmp 0x140148f3d
cmp dword [r13 + 0x170], r12d
jbe 0x1401490cf
cmp rdi, 0xffffffffffffffff
je 0x140148f4d
mov eax, esi
add rax, rdi
mov qword [rsp + 0x60], rax
mov eax, r12d
mov r9, r14
mov rcx, r15
add r12d, 1
shl rax, 4
add rax, qword [r13 + 0x178]
mov rdx, qword [rax + 8]
mov qword [rsp + 0x20], rbp
mov r8d, dword [rax]
call qword [sym.imp.KERNEL32.dll_ReadFile]
add esi, dword [rsp + 0x44]
mov ebx, eax
mov r10d, esi
test eax, eax
jne 0x140148f30
mov edx, dword [rsp + 0x38]
test edx, edx
jne 0x1401490d7
mov eax, dword [rsp + 0x38]
or eax, r10d
jne 0x1401490c0
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
cmp eax, 0x26
jne 0x1401490fe
mov qword [r13 + 0x88], 0
jmp 0x140148ff6
lea rax, [rax + rax*4]
lea rax, [rcx + rax*8]
movdqu xmm0, xmmword [rax + 8]
lea rcx, [0x1407b2aa0]
movaps xmmword [rsp + 0x50], xmm0
movdqu xmm1, xmmword [rax + 0x18]
movaps xmmword [rsp + 0x60], xmm1
call fcn.14015d780
lea rdx, [rsp + 0x50]
mov rcx, r13
call fcn.140148a50
nop
add rsp, 0x78
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov qword [rcx + 0x88], 0xfffffffffffff00d
mov dword [rcx + 0x14c], 6
jmp 0x140148ff6
shl rax, 4
mov r8, qword [r9 + rax + 8]
test rcx, rcx
jne 0x140148eb2
mov rcx, qword [r8 + 0x280]
test rcx, rcx
je 0x140148ee7
mov rdx, rcx
xor eax, eax
nop dword [rax]
cmp r12d, dword [rdx]
je 0x140148fc0
add eax, 1
add rdx, 0x28
cmp eax, 0x10
jne 0x140149048
mov rcx, qword [rcx + 0x280]
test rcx, rcx
jne 0x140149040
jmp 0x140148ee7
xor edx, edx
mov r9d, 1
lea r8, [rsp + 0x48]
mov rcx, r15
mov qword [rsp + 0x50], 0
lea rbp, [rsp + 0x50]
mov qword [rsp + 0x58], 0
mov qword [rsp + 0x60], 0
mov qword [rsp + 0x68], 0
call qword [sym.imp.KERNEL32.dll_SetFilePointerEx]
test eax, eax
setne al
movzx eax, al
mov dword [rsp + 0x38], eax
jmp 0x140148f1d
mov eax, r10d
mov qword [r13 + 0x88], rax
jmp 0x140148ff6
mov eax, dword [rsp + 0x38]
test eax, eax
je 0x1401490c0
mov dword [rsp + 0x3c], r10d
mov rdx, qword [rsp + 0x48]
xor r9d, r9d
xor r8d, r8d
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_SetFilePointerEx]
mov dword [rsp + 0x38], ebx
mov r10d, dword [rsp + 0x3c]
jmp 0x140148f90
mov dword [r13 + 0x14c], eax
call fcn.140146240
cdqe
mov qword [r13 + 0x88], rax
jmp 0x140148ff6
mov dword [r13 + 0x14c], 6
mov ecx, 6
call fcn.140146240
cdqe
mov qword [r13 + 0x88], rax
jmp 0x140148ff6
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x78
mov ebx, dword [rcx + 0x150]
mov r12, rcx
cmp ebx, 0xffffffff
je 0x140149aca
mov rdi, qword [rcx + 0x180]
mov ecx, ebx
call qword [sym.imp.msvcrt.dll__get_osfhandle]
mov r13, rax
cmp rax, 0xffffffffffffffff
je 0x140149be9
lea rcx, [0x1407b2aa0]
movzx esi, bl
call sub.KERNEL32.dll_EnterCriticalSection
mov eax, esi
lea r9, [0x140529aa0]
mov rdx, rax
shl rdx, 4
add rdx, r9
mov r8, qword [rdx]
mov rcx, r8
and ecx, 0xf
test r8, r8
je 0x140149ae1
test rcx, rcx
jne 0x140149ae1
mov r8, qword [rdx + 8]
mov ecx, 0x10
mov rdx, r8
xor eax, eax
jmp 0x1401499b1
add rax, 1
add rdx, 0x28
cmp rax, rcx
jae 0x140149af3
cmp ebx, dword [rdx]
jne 0x1401499a0
lea rax, [rax + rax*4]
lea rax, [r8 + rax*8]
test rax, rax
jne 0x140149a98
lea rcx, [0x1407b2aa0]
call fcn.14015d780
cmp rdi, 0xffffffffffffffff
jne 0x140149b38
mov dword [rsp + 0x38], 0
xor ebp, ebp
xor ebx, ebx
xor r14d, r14d
lea r15, [rsp + 0x44]
jmp 0x140149a06
cmp dword [r12 + 0x170], ebx
jbe 0x140149bac
cmp rdi, 0xffffffffffffffff
je 0x140149a17
mov eax, r14d
add rax, rdi
mov qword [rsp + 0x60], rax
mov eax, ebx
mov r9, r15
mov rcx, r13
add ebx, 1
shl rax, 4
add rax, qword [r12 + 0x178]
mov rdx, qword [rax + 8]
mov qword [rsp + 0x20], rbp
mov r8d, dword [rax]
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov r11d, dword [rsp + 0x44]
mov esi, eax
add r11d, r14d
mov r14d, r11d
test eax, eax
jne 0x1401499f8
mov edx, dword [rsp + 0x38]
test edx, edx
jne 0x140149bb8
mov eax, dword [rsp + 0x38]
or eax, r11d
je 0x140149b88
mov eax, r11d
mov qword [r12 + 0x88], rax
add rsp, 0x78
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
lea rax, [rax + rax*4]
lea rax, [rcx + rax*8]
movdqu xmm0, xmmword [rax + 8]
lea rcx, [0x1407b2aa0]
movaps xmmword [rsp + 0x50], xmm0
movdqu xmm1, xmmword [rax + 0x18]
movaps xmmword [rsp + 0x60], xmm1
call fcn.14015d780
lea r8, [rsp + 0x50]
mov rdx, r13
mov rcx, r12
call fcn.140149140
jmp 0x140149a75
mov qword [rcx + 0x88], 0xfffffffffffff00d
mov dword [rcx + 0x14c], 6
jmp 0x140149a75
shl rax, 4
mov r8, qword [r9 + rax + 8]
test rcx, rcx
jne 0x140149994
mov rcx, qword [r8 + 0x280]
test rcx, rcx
je 0x1401499c6
nop dword [rax + rax]
mov rdx, rcx
xor eax, eax
nop dword [rax]
cmp ebx, dword [rdx]
je 0x140149a90
add eax, 1
add rdx, 0x28
cmp eax, 0x10
jne 0x140149b10
mov rcx, qword [rcx + 0x280]
test rcx, rcx
jne 0x140149b08
jmp 0x1401499c6
xor edx, edx
mov r9d, 1
lea r8, [rsp + 0x48]
mov rcx, r13
mov qword [rsp + 0x50], 0
lea rbp, [rsp + 0x50]
mov qword [rsp + 0x58], 0
mov qword [rsp + 0x60], 0
mov qword [rsp + 0x68], 0
call qword [sym.imp.KERNEL32.dll_SetFilePointerEx]
test eax, eax
setne al
movzx eax, al
mov dword [rsp + 0x38], eax
jmp 0x1401499e6
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [r12 + 0x14c], eax
mov ecx, eax
call fcn.140146240
cdqe
mov qword [r12 + 0x88], rax
jmp 0x140149a75
mov eax, dword [rsp + 0x38]
test eax, eax
je 0x140149a6a
mov dword [rsp + 0x3c], r11d
xor r9d, r9d
xor r8d, r8d
mov rdx, qword [rsp + 0x48]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_SetFilePointerEx]
mov dword [rsp + 0x38], esi
mov r11d, dword [rsp + 0x3c]
mov eax, dword [rsp + 0x38]
or eax, r11d
jne 0x140149a6a
jmp 0x140149b88
mov dword [r12 + 0x14c], 6
mov ecx, 6
call fcn.140146240
cdqe
mov qword [r12 + 0x88], rax
jmp 0x140149a75
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0xc0
xor r9d, r9d
mov r8d, 7
mov edx, 0x10180
mov rbx, rcx
mov rcx, qword [rcx + 0x150]
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0x2200000
mov dword [rsp + 0x20], 3
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov r12, rax
cmp rax, 0xffffffffffffffff
je 0x140149e08
lea rdx, [rsp + 0x80]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetFileInformationByHandle]
test eax, eax
je 0x140149e38
mov eax, dword [rsp + 0x80]
test al, 0x10
je 0x140149d0b
test ah, 4
je 0x140149e40
xor r8d, r8d
xor edx, edx
mov rcx, r12
call fcn.1401477f0
test eax, eax
js 0x140149e58
mov eax, dword [rsp + 0x80]
mov rsi, qword [str.8__]
mov r10, qword [rsi]
test al, 1
jne 0x140149d70
lea rdi, [rsp + 0x50]
lea r13, [rsp + 0x40]
mov rcx, r12
mov byte [rsp + 0x50], 1
mov r8, rdi
mov rdx, r13
mov dword [rsp + 0x20], 0xd
mov r9d, 1
call r10
mov ecx, eax
test eax, eax
js 0x140149de0
mov qword [rbx + 0x40], 0
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
add rsp, 0xc0
pop rbx
pop rsi
pop rdi
pop r12
pop r13
ret
and eax, 0xffffffde
lea rdi, [rsp + 0x50]
lea r13, [rsp + 0x40]
mov rcx, r12
or eax, 0x20
mov r9d, 0x28
mov r8, rdi
mov rdx, r13
mov qword [rsp + 0x70], 0
mov qword [rsp + 0x50], 0
mov qword [rsp + 0x58], 0
mov qword [rsp + 0x60], 0
mov qword [rsp + 0x68], 0
mov dword [rsp + 0x70], eax
mov dword [rsp + 0x20], 4
call r10
mov ecx, eax
test eax, eax
js 0x140149de0
mov r10, qword [rsi]
jmp 0x140149d23
mov rax, qword [0x1404c8e80]
call qword [rax]
mov dword [rbx + 0x14c], eax
mov ecx, eax
call fcn.140146240
cdqe
mov qword [rbx + 0x88], rax
jmp 0x140149d54
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbx + 0x14c], eax
mov ecx, eax
call fcn.140146240
cdqe
mov qword [rbx + 0x88], rax
add rsp, 0xc0
pop rbx
pop rsi
pop rdi
pop r12
pop r13
ret
call qword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x140149de9
mov dword [rbx + 0x14c], 5
mov ecx, 5
jmp 0x140149df1
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
cmp eax, 0x5b8
jne 0x140149e71
mov ecx, 5
mov eax, 5
mov dword [rbx + 0x14c], eax
jmp 0x140149df1
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x38
mov rsi, rcx
mov rcx, qword [rcx + 0x150]
mov rdi, rdx
call sub.msvcrt.dll_wcslen
cmp rax, 5
ja 0x140149f40
mov qword [rsi + 0x88], 0xfffffffffffff019
mov dword [rsi + 0x14c], 0x57
add rsp, 0x38
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov r14, qword [rsi + 0x150]
lea r13, [rax + rax]
mov r8d, 6
lea rdx, str.XXXXXX
lea r12, [r14 + r13 - 0xc]
mov rcx, r12
call sub.msvcrt.dll_wcsncmp
test eax, eax
jne 0x140149f18
add r13, r14
mov ebx, 0x7fff
lea rbp, [rsp + 0x28]
movabs r14, 0x8421084210842109
lea r15, str.abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
nop word [rax + rax]
mov edx, 8
mov rcx, rbp
call fcn.140167c20
test eax, eax
js 0x14014a025
mov rcx, qword [rsp + 0x28]
mov r8, r12
nop dword [rax]
mov rdx, rcx
add r8, 2
shr rdx, 1
mov rax, rdx
mul r14
shr rdx, 4
mov rax, rdx
shl rax, 5
sub rax, rdx
add rax, rax
sub rcx, rax
movzx eax, word [r15 + rcx*2]
mov rcx, rdx
mov word [r8 - 2], ax
cmp r13, r8
jne 0x140149fb0
mov qword [rsp + 0x28], rdx
mov rcx, rsi
call rdi
test eax, eax
jne 0x14014a03f
sub ebx, 1
jne 0x140149f90
mov qword [rsi + 0x88], 0xffffffffffffffff
call qword [sym.imp.msvcrt.dll___doserrno]
mov ecx, dword [rax]
mov dword [rsi + 0x14c], ecx
call fcn.140146240
cdqe
mov qword [rsi + 0x88], rax
jmp 0x140149f2d
mov qword [rsi + 0x88], 0xfffffffffffff01a
mov dword [rsi + 0x14c], 0x45d
jmp 0x140149f2d
cmp qword [rsi + 0x88], 0
js 0x140149f2d
mov rbx, qword [rsi + 0x98]
mov rcx, rbx
call sub.msvcrt.dll_strlen
mov r8d, 6
mov rdx, r12
lea rcx, [rbx + rax - 6]
call sub.msvcrt.dll_wcstombs
jmp 0x140149f2d
push r15
mov eax, 0x20a8
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
call fcn.1402196a0
sub rsp, rax
xor r9d, r9d
mov r8d, 7
mov edx, 0x100001
mov qword [rsp + 0x20f0], rcx
mov rcx, qword [rcx + 0x150]
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0x2000000
mov dword [rsp + 0x20], 3
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov qword [rsp + 0x78], rax
mov rcx, rax
cmp rax, 0xffffffffffffffff
je 0x14014a590
lea rax, [rsp + 0xa0]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x90]
mov qword [rsp + 0x88], rax
mov qword [rsp + 0x20], rax
mov rax, qword [0x1404c8e00]
mov dword [rsp + 0x50], 1
mov qword [rsp + 0x48], 0
mov dword [rsp + 0x40], 0
mov dword [rsp + 0x38], 1
mov dword [rsp + 0x30], 0x2000
call qword [rax]
cmp eax, 0xc000000d
je 0x14014a5c1
test eax, eax
js 0x14014a601
mov qword [rsp + 0x70], 0
xor r15d, r15d
xor r14d, r14d
mov r13, qword [rsp + 0x80]
xor ebx, ebx
nop word [rax + rax]
add r13, rbx
mov r9d, dword [r13 + 0x3c]
mov ebx, dword [r13]
shr r9d, 1
jmp 0x14014a1c4
cmp word [r13 + r9*2 + 0x3e], 0
lea rax, [r9 - 1]
jne 0x14014a280
mov r9, rax
test r9, r9
jne 0x14014a1b0
test rbx, rbx
jne 0x14014a1a0
mov rax, qword [rsp + 0x80]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov dword [rsp + 0x50], 0
mov rcx, qword [rsp + 0x78]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x48], 0
mov qword [rsp + 0x20], rax
mov rax, qword [0x1404c8e00]
mov dword [rsp + 0x40], 0
mov dword [rsp + 0x38], 1
mov dword [rsp + 0x30], 0x2000
call qword [rax]
test eax, eax
jne 0x14014a4f8
cmp qword [rsp + 0x98], 0
jne 0x14014a18d
mov eax, 0x80000005
mov ecx, eax
mov rax, qword [0x1404c8e80]
call qword [rax]
mov ecx, eax
mov rax, qword [rsp + 0x20f0]
mov r12, r14
mov dword [rax + 0x14c], ecx
call fcn.140146240
mov rsi, qword [rsp + 0x20f0]
cdqe
mov qword [rsi + 0x88], rax
jmp 0x14014a442
cmp r9, 1
je 0x14014a3e0
cmp r9, 2
jne 0x14014a29e
cmp dword [r13 + 0x40], 0x2e002e
je 0x14014a1c9
lea rbp, [r13 + 0x40]
mov dword [rsp + 0x64], r9d
xor edx, edx
mov ecx, 0xfde9
mov qword [rsp + 0x38], 0
mov r8, rbp
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
movsxd rdi, eax
mov rsi, rdi
test rdi, rdi
je 0x14014a5f6
mov rax, qword [rsp + 0x70]
cmp rax, r15
ja 0x14014a490
test rax, rax
je 0x14014a400
add rax, rax
mov rcx, r14
lea rdx, [rax*8]
mov qword [rsp + 0x70], rax
call fcn.140141a20
mov r12, rax
test rax, rax
je 0x14014a422
lea rcx, [rdi + 8]
call fcn.1401419c0
mov r14, rax
test rax, rax
je 0x14014a425
lea rax, [r15 + 1]
mov qword [r12 + r15*8], r14
xor edx, edx
mov r9d, dword [rsp + 0x64]
mov qword [rsp + 0x68], rax
lea rax, [r14 + 4]
mov r8, rbp
mov ecx, 0xfde9
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
test eax, eax
je 0x14014a5ee
mov byte [r14 + rdi + 4], 0
mov eax, dword [r13 + 0x38]
test al, 0x40
je 0x14014a3b0
mov dword [r14], 6
mov r15, qword [rsp + 0x68]
mov r14, r12
test rbx, rbx
jne 0x14014a1a0
jmp 0x14014a1ce
test ah, 4
je 0x14014a4a0
mov dword [r14], 3
mov r15, qword [rsp + 0x68]
mov r14, r12
test rbx, rbx
jne 0x14014a1a0
jmp 0x14014a1ce
cmp word [r13 + 0x40], 0x2e
jne 0x14014a29e
test rbx, rbx
jne 0x14014a1a0
jmp 0x14014a1ce
mov edx, 0x100
mov rcx, r14
mov qword [rsp + 0x70], 0x20
call fcn.140141a20
mov r12, rax
test rax, rax
jne 0x14014a324
mov r12, r14
mov rax, qword [rsp + 0x20f0]
mov qword [rax + 0x88], 0xfffffffffffff027
mov dword [rax + 0x14c], 0xe
mov rcx, qword [rsp + 0x78]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test r15, r15
je 0x14014a4e8
nop word cs:[rax + rax]
sub r15, 1
mov rcx, qword [r12 + r15*8]
call fcn.1401419e0
test r15, r15
jne 0x14014a460
mov rcx, r12
call fcn.1401419e0
nop
add rsp, 0x20a8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov r12, r14
jmp 0x14014a324
test al, 0x10
je 0x14014a4c8
mov dword [r14], 2
mov r15, qword [rsp + 0x68]
mov r14, r12
test rbx, rbx
jne 0x14014a1a0
jmp 0x14014a1ce
mov dword [r14], 1
mov r15, qword [rsp + 0x68]
mov r14, r12
test rbx, rbx
jne 0x14014a1a0
jmp 0x14014a1ce
test r12, r12
je 0x14014a47b
jmp 0x14014a472
jns 0x14014a18d
cmp eax, 0x80000006
jne 0x14014a243
mov rcx, qword [rsp + 0x78]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rax, qword [rsp + 0x20f0]
mov qword [rax + 0x90], r14
test r14, r14
je 0x14014a52f
or dword [rax + 0x148], 8
mov rax, qword [rsp + 0x20f0]
mov qword [rax + 0x88], r15
cmp r15, 0xffffffffffffffff
jne 0x14014a570
call qword [sym.imp.msvcrt.dll___doserrno]
mov ecx, dword [rax]
mov rax, qword [rsp + 0x20f0]
mov dword [rax + 0x14c], ecx
call fcn.140146240
mov rsi, qword [rsp + 0x20f0]
cdqe
mov qword [rsi + 0x88], rax
mov rax, qword [rsp + 0x20f0]
mov dword [rax + 0x170], 0
jmp 0x14014a47b
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
mov rax, qword [rsp + 0x20f0]
mov dword [rax + 0x14c], ecx
call fcn.140146240
mov rsi, qword [rsp + 0x20f0]
cdqe
mov qword [rsi + 0x88], rax
jmp 0x14014a47b
mov rax, qword [rsp + 0x20f0]
mov rcx, qword [rsp + 0x78]
mov qword [rax + 0x88], 0xfffffffffffff02c
mov dword [rax + 0x14c], 0x10b
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x14014a47b
mov r15, qword [rsp + 0x68]
mov r14, r12
call qword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x14014a24e
cmp eax, 0x80000006
jne 0x14014a636
mov rcx, qword [rsp + 0x78]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rax, qword [rsp + 0x20f0]
mov qword [rax + 0x90], 0
mov qword [rax + 0x88], 0
jmp 0x14014a570
xor r15d, r15d
xor r14d, r14d
jmp 0x14014a243
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x28
mov rsi, qword [rcx + 0x150]
mov rbx, rcx
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
test al, 0x10
jne 0x14014a6b8
mov qword [rbx + 0x88], 0xfffffffffffff02c
xor r12d, r12d
mov dword [rbx + 0x14c], 0x10b
mov rcx, r12
call fcn.1401419e0
xor ecx, ecx
call fcn.1401419e0
mov qword [rbx + 0x90], 0
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
ret
mov ecx, 0x290
call fcn.1401419c0
mov r12, rax
test rax, rax
je 0x14014a760
mov rcx, rsi
lea rbp, [0x1404719ee]
call sub.msvcrt.dll_wcslen
mov rdi, rax
test rax, rax
jne 0x14014a780
lea rcx, [rdi + rdi + 8]
call fcn.1401419c0
mov r13, rax
test rax, rax
je 0x14014a760
mov r9, rsi
mov r8, rbp
lea rdx, [rdi + 3]
mov rcx, rax
call qword [sym.imp.msvcrt.dll__snwprintf]
lea rdx, [r12 + 0x38]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov rcx, r13
mov qword [r12 + 0x30], rax
call fcn.1401419e0
cmp qword [r12 + 0x30], 0xffffffffffffffff
je 0x14014a7b0
mov dword [r12 + 0x288], 0
mov qword [rbx + 0x90], r12
mov qword [rbx + 0x88], 0
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
ret
mov qword [rbx + 0x88], 0xfffffffffffff027
mov dword [rbx + 0x14c], 0xe
jmp 0x14014a68b
movzx eax, word [rsi + rax*2 - 2]
cmp ax, 0x5c
je 0x14014a79c
lea rbp, [0x1404719fe]
cmp ax, 0x2f
jne 0x14014a6e9
lea rbp, [0x1404719f6]
jmp 0x14014a6e9
mov rsi, qword [sym.imp.KERNEL32.dll_GetLastError]
call rsi
cmp eax, 2
je 0x14014a731
call rsi
mov dword [rbx + 0x14c], eax
mov ecx, eax
call fcn.140146240
cdqe
mov qword [rbx + 0x88], rax
jmp 0x14014a68b
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x38
xor edx, edx
mov r15, qword [rcx + 0x90]
or dword [rcx + 0x148], 8
mov rdi, qword [r15]
mov r8, qword [r15 + 8]
lea r14, [r15 + 0x38]
shl r8, 4
mov r13, rcx
mov rcx, rdi
call sub.msvcrt.dll_memset
cmp qword [r15 + 8], 0
je 0x14014a99e
xor esi, esi
lea rbp, [r15 + 0x64]
lea r12, [rsp + 0x28]
xor ebx, ebx
jmp 0x14014a865
mov dword [rsp + 0x28], 2
mov rcx, r12
add esi, 1
call fcn.140144420
mov dword [rbx + 8], eax
mov dword [r15 + 0x288], 1
mov ebx, esi
cmp rbx, qword [r15 + 8]
jae 0x14014a8f8
mov eax, dword [r15 + 0x288]
test eax, eax
jne 0x14014a8d0
cmp word [r15 + 0x64], 0x2e
jne 0x14014a890
movzx eax, word [r15 + 0x66]
test ax, ax
je 0x14014a920
cmp ax, 0x2e
je 0x14014a910
shl rbx, 4
mov edx, 0xffffffff
mov rcx, rbp
add rbx, rdi
mov r8, rbx
call fcn.140166640
test eax, eax
jne 0x14014a950
mov eax, dword [r15 + 0x38]
test al, 0x10
jne 0x14014a838
test ah, 4
je 0x14014a930
mov dword [rsp + 0x28], 3
jmp 0x14014a840
mov rcx, qword [r15 + 0x30]
mov rdx, r14
call qword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x14014a870
mov rbx, qword [sym.imp.KERNEL32.dll_GetLastError]
call rbx
cmp eax, 0x12
jne 0x14014a957
mov ebx, esi
nop dword [rax]
mov qword [r13 + 0x88], rbx
add rsp, 0x38
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
cmp word [r15 + 0x68], 0
jne 0x14014a890
nop dword [rax]
mov dword [r15 + 0x288], 1
jmp 0x14014a859
and eax, 0x40
cmp eax, 1
sbb eax, eax
and eax, 0xfffffffb
add eax, 6
mov dword [rsp + 0x28], eax
jmp 0x14014a840
mov rbx, qword [sym.imp.KERNEL32.dll_GetLastError]
call rbx
mov dword [r13 + 0x14c], eax
mov ecx, eax
call fcn.140146240
cdqe
mov qword [r13 + 0x88], rax
test esi, esi
je 0x14014a8ff
lea eax, [rsi - 1]
shl rax, 4
lea rbx, [rdi + rax + 0x10]
mov rcx, qword [rdi]
add rdi, 0x10
call fcn.1401419e0
mov qword [rdi - 0x10], 0
cmp rdi, rbx
jne 0x14014a980
jmp 0x14014a8ff
xor ebx, ebx
jmp 0x14014a8f8
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x1c8
movaps xmmword [rsp + 0x170], xmm6
movaps xmmword [rsp + 0x180], xmm7
movaps xmmword [rsp + 0x190], xmm8
movaps xmmword [rsp + 0x1a0], xmm9
movaps xmmword [rsp + 0x1b0], xmm10
cmp dword [rcx - 0x118], 6
mov rbx, rcx
lea r12, [rcx - 0x120]
je 0x14014aa1b
mov r8d, 0xada
lea rdx, str.src_win_fs.c
lea rcx, str.req__type__UV_FS
call qword [sym.imp.msvcrt.dll__assert]
cmp dword [rbx - 0xb0], 0x24
ja case.0x14014aa3c.0
mov eax, dword [rbx - 0xb0]
lea rdx, [0x140471a30]
movsxd rax, dword [rdx + rax*4]
add rax, rdx
jmp rax
movsd xmm6, qword [rbx + 0x40]
mov rcx, qword [rbx + 0x30]
mov ebp, 2
mov eax, 0x2200000
movsd xmm7, qword [rbx + 0x38]
mov rdi, qword [sym.imp.KERNEL32.dll_CreateFileW]
movsd xmm10, qword [0x140471b18]
mov rsi, qword [sym.imp.KERNEL32.dll_CloseHandle]
movsd xmm9, qword [0x140471b20]
movsd xmm8, qword [0x140471b28]
mov dword [rsp + 0x28], eax
xor r9d, r9d
mov r8d, 7
mov edx, 0x100
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x20], 3
call rdi
mov r12, rax
cmp rax, 0xffffffffffffffff
je 0x14014ba61
mulsd xmm7, xmm10
mulsd xmm7, xmm9
comisd xmm7, xmm8
jae 0x14014bb40
cvttsd2si rax, xmm7
mulsd xmm6, xmm10
movabs rdx, 0x19db1ded53e8000
add rax, rdx
mov qword [rsp + 0x70], rax
mulsd xmm6, xmm9
comisd xmm6, xmm8
jae 0x14014bb58
cvttsd2si rax, xmm6
lea r9, [rsp + 0xf0]
lea r8, [rsp + 0x70]
mov rcx, r12
movabs rdx, 0x19db1ded53e8000
add rax, rdx
xor edx, edx
mov qword [rsp + 0xf0], rax
call qword [sym.imp.KERNEL32.dll_SetFileTime]
test eax, eax
je 0x14014ba61
mov rcx, r12
call rsi
nop dword [rax + rax]
mov qword [rbx - 0x98], 0
movaps xmm6, xmmword [rsp + 0x170]
movaps xmm7, xmmword [rsp + 0x180]
movaps xmm8, xmmword [rsp + 0x190]
movaps xmm9, xmmword [rsp + 0x1a0]
movaps xmm10, xmmword [rsp + 0x1b0]
add rsp, 0x1c8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov ecx, dword [rbx + 0x30]
cmp ecx, 0xffffffff
je 0x14014abc0
call qword [sym.imp.msvcrt.dll__get_osfhandle]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_FlushFileBuffers]
test eax, eax
jne case.0x14014aa3c.26
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbx + 0x2c], eax
mov ecx, eax
call fcn.140146240
cdqe
mov qword [rbx - 0x98], rax
jmp 0x14014ab43
mov qword [rbx - 0x98], 0xfffffffffffff00d
mov dword [rbx + 0x2c], 6
jmp 0x14014ab43
movsd xmm6, qword [rbx + 0x40]
movsd xmm7, qword [rbx + 0x38]
xor r9d, r9d
mov edx, 0x100
mov rcx, qword [rbx + 0x30]
mov r8d, 7
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0x2000000
mov dword [rsp + 0x20], 3
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov r12, rax
cmp rax, 0xffffffffffffffff
je 0x14014bab1
movsd xmm0, qword [0x140471b18]
movapd xmm1, xmm7
movsd xmm3, qword [0x140471b20]
movsd xmm2, qword [0x140471b28]
mulsd xmm1, xmm0
mulsd xmm1, xmm3
comisd xmm1, xmm2
jae 0x14014bb28
cvttsd2si rax, xmm1
mulsd xmm0, xmm6
movabs rdx, 0x19db1ded53e8000
add rax, rdx
mov qword [rsp + 0x70], rax
mulsd xmm0, xmm3
comisd xmm0, xmm2
jae 0x14014bb10
cvttsd2si rax, xmm0
lea r9, [rsp + 0xf0]
lea r8, [rsp + 0x70]
mov rcx, r12
movabs rdx, 0x19db1ded53e8000
add rax, rdx
xor edx, edx
mov qword [rsp + 0xf0], rax
call qword [sym.imp.KERNEL32.dll_SetFileTime]
test eax, eax
je 0x14014bab1
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp case.0x14014aa3c.26
mov rcx, qword [rbx + 0x30]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0x2000080
mov dword [rsp + 0x20], 3
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov r13, rax
cmp rax, 0xffffffffffffffff
je 0x14014aba3
mov rbp, qword [sym.imp.KERNEL32.dll_GetFinalPathNameByHandleW]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, rax
lea rdi, [rbx - 0x90]
call rbp
mov esi, eax
test eax, eax
je 0x14014c1f6
lea ecx, [rax + 1]
add rcx, rcx
call fcn.1401419c0
mov r12, rax
test rax, rax
je 0x14014c8ca
xor r9d, r9d
mov r8d, esi
mov rdx, rax
mov rcx, r13
call rbp
test eax, eax
je 0x14014c1e3
mov r8d, 8
lea rdx, str._UNC_
mov rcx, r12
call sub.msvcrt.dll_wcsncmp
test eax, eax
jne 0x14014c159
mov r8d, 0x5c
lea rcx, [r12 + 0xc]
lea edx, [rsi - 6]
mov word [r12 + 0xc], r8w
xor r9d, r9d
mov r8, rdi
call fcn.1401476e0
mov rcx, r12
mov esi, eax
call fcn.1401419e0
cmp esi, 0xffffffff
je 0x14014c1f6
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_CloseHandle]
or dword [rbx + 0x28], 8
mov qword [rbx - 0x98], 0
jmp 0x14014ab43
movaps xmm6, xmmword [rsp + 0x170]
mov rcx, r12
movaps xmm7, xmmword [rsp + 0x180]
movaps xmm8, xmmword [rsp + 0x190]
movaps xmm9, xmmword [rsp + 0x1a0]
movaps xmm10, xmmword [rsp + 0x1b0]
add rsp, 0x1c8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp 0x14014a650
mov r8d, dword [rbx + 0x48]
test r8b, 4
je 0x14014bb70
mov qword [rbx - 0x98], 0xfffffffffffff02a
mov dword [rbx + 0x2c], 0x32
jmp 0x14014ab43
mov esi, dword [rbx + 0x30]
cmp esi, 0xffffffff
je 0x14014abc0
mov ecx, esi
movzx edi, sil
lea rbp, [0x140529aa0]
call qword [sym.imp.msvcrt.dll__get_osfhandle]
lea rcx, [0x1407b2aa0]
mov r12, rax
call sub.KERNEL32.dll_EnterCriticalSection
mov rax, rdi
shl rax, 4
add rax, rbp
mov rdx, qword [rax]
mov rcx, rdx
and ecx, 0xf
test rdx, rdx
je 0x14014bf5f
test rcx, rcx
jne 0x14014bf5f
mov r8, qword [rax + 8]
mov ecx, 0x10
mov rdx, r8
xor eax, eax
jmp 0x14014aec1
add rax, 1
add rdx, 0x28
cmp rax, rcx
jae 0x14014bf74
cmp esi, dword [rdx]
jne 0x14014aeb0
lea rax, [rax + rax*4]
lea rax, [r8 + rax*8]
test rax, rax
jne 0x14014bcc8
lea rcx, [0x1407b2aa0]
call fcn.14015d780
mov rax, qword [rbx + 0x60]
mov rcx, r12
mov dword [rsp + 0x20], 0x14
lea rdx, [rsp + 0x70]
mov r9d, 8
lea r8, [rsp + 0x68]
mov qword [rsp + 0x68], rax
mov rax, qword [str.8__]
call qword [rax]
mov ecx, eax
test eax, eax
jns case.0x14014aa3c.26
mov rax, qword [0x1404c8e80]
call qword [rax]
jmp 0x14014aba9
mov ecx, dword [rbx + 0x30]
cmp ecx, 0xffffffff
je 0x14014abc0
call qword [sym.imp.msvcrt.dll__get_osfhandle]
mov rcx, rax
cmp rax, 0xffffffffffffffff
je 0x14014bfd6
lea rsi, [rbx - 0x80]
xor r8d, r8d
mov rdx, rsi
call fcn.140147ad0
test eax, eax
jne 0x14014aba3
mov qword [rbx - 0x90], rsi
mov qword [rbx - 0x98], 0
jmp 0x14014ab43
mov rsi, qword [rbx + 0x30]
mov rcx, rsi
call sub.msvcrt.dll_wcslen
cmp rax, 1
jbe 0x14014afc0
cmp word [rsi + rax*2 - 4], 0x3a
lea rdx, [rax + rax]
je 0x14014afc0
lea rdx, [rsi + rdx - 2]
movzx eax, word [rdx]
cmp ax, 0x5c
je 0x14014c1cb
cmp ax, 0x2f
je 0x14014c1cb
nop word [rax + rax]
mov rcx, qword [rbx + 0x30]
xor r9d, r9d
mov edx, pe_nt_image_headers64
lea rsi, [rbx - 0x80]
mov qword [rsp + 0x30], 0
mov r8d, 7
mov dword [rsp + 0x28], 0x2000000
mov dword [rsp + 0x20], 3
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov r12, rax
cmp rax, 0xffffffffffffffff
je 0x14014bad0
xor r8d, r8d
mov rdx, rsi
mov rcx, rax
call fcn.140147ad0
test eax, eax
jne 0x14014bad0
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x14014af66
mov r15d, dword [rbx + 0x68]
mov esi, 0x10000
mov ebp, dword [rbx + 0x30]
mov r13d, dword [rbx + 0x4c]
mov r12, qword [rbx + 0x60]
cmp r15, 0x10000
cmovbe rsi, r15
mov rcx, rsi
call fcn.1401419c0
mov r14, rax
test rax, rax
je 0x14014c92d
cmp r12, 0xffffffffffffffff
je 0x14014b080
xor r8d, r8d
mov rdx, r12
mov ecx, ebp
call sub.msvcrt.dll__lseeki64
cmp rax, 0xffffffffffffffff
je 0x14014baf0
mov r12, qword [sym.imp.msvcrt.dll__read]
xor edi, edi
test r15, r15
jne 0x14014b0c2
jmp 0x14014c717
cmp eax, 0xffffffff
je 0x14014baf0
cdqe
mov rdx, r14
mov ecx, r13d
sub r15, rax
call qword [sym.imp.msvcrt.dll__write_1]
cmp eax, 0xffffffff
je 0x14014baf0
add edi, eax
test r15, r15
je 0x14014b0db
cmp rsi, r15
mov r8, r15
mov rdx, r14
mov ecx, ebp
cmovbe r8, rsi
call r12
mov r8d, eax
test eax, eax
jne 0x14014b098
mov rcx, r14
movsxd rdi, edi
call fcn.1401419e0
mov qword [rbx - 0x98], rdi
cmp rdi, 0xffffffffffffffff
jne 0x14014ab43
jmp 0x14014b665
mov r13, qword [rbx + 0x40]
mov eax, dword [rbx + 0x48]
mov r12, qword [rbx + 0x30]
mov esi, dword [0x1403fef00]
mov rdi, qword [sym.imp.KERNEL32.dll_CreateSymbolicLinkW]
mov rbp, qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, r13
test al, 2
je 0x14014b164
jmp 0x14014bff8
call rbp
cmp eax, 0x57
jne 0x14014c1a5
and esi, 2
je 0x14014c1bd
mov eax, dword [rbx + 0x48]
mov r12, qword [rbx + 0x30]
mov dword [0x1403fef00], 0
mov rcx, qword [rbx + 0x40]
mov esi, eax
and esi, 2
jne 0x14014bff5
mov edx, esi
or edx, 1
test al, 1
cmovne esi, edx
mov rdx, r12
mov r8d, esi
call rdi
test al, al
je 0x14014b130
jmp case.0x14014aa3c.26
xor r8d, r8d
mov rdx, qword [rbx + 0x30]
mov rcx, qword [rbx + 0x40]
call qword [sym.imp.KERNEL32.dll_CreateHardLinkW]
test eax, eax
jne case.0x14014aa3c.26
jmp 0x14014aba3
lea rdx, [0x140147500]
movaps xmm6, xmmword [rsp + 0x170]
mov rcx, r12
movaps xmm7, xmmword [rsp + 0x180]
movaps xmm8, xmmword [rsp + 0x190]
movaps xmm9, xmmword [rsp + 0x1a0]
movaps xmm10, xmmword [rsp + 0x1b0]
add rsp, 0x1c8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp 0x140149ef0
lea rax, [rsp + 0x64]
mov r13, qword [rbx + 0x30]
lea r12, [rsp + 0x70]
mov rdi, qword [sym.imp.KERNEL32.dll_GetFullPathNameW]
mov qword [rsp + 0x50], rax
lea rax, [rsp + 0x60]
lea r15, [rsp + 0x68]
mov qword [rsp + 0x48], rax
mov rax, r12
mov r12, r13
mov r13, rax
mov qword [rsp + 0x20], r13
mov r8, qword [rsp + 0x50]
mov r9, r15
mov rcx, r12
mov rdx, qword [rsp + 0x48]
call qword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceW]
test eax, eax
jne 0x14014c6a1
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rdx, qword [rbx + 0x30]
cmp r12, rdx
jne 0x14014c7aa
cmp eax, 0x10b
jne 0x14014c788
mov ecx, 0x20a
call fcn.1401419c0
mov r12, rax
test rax, rax
je 0x14014bca0
mov r14d, 0x105
lea rbp, [rsp + 0xf0]
jmp 0x14014b2b6
mov esi, eax
cmp r14, rsi
jae 0x14014beb0
mov rcx, r12
lea rdx, [rsi + rsi]
call fcn.140141a70
mov r12, rax
test rax, rax
je 0x14014bca0
mov r14, rsi
mov rcx, qword [rbx + 0x30]
mov r9, rbp
mov r8, r12
mov edx, r14d
call rdi
test eax, eax
jne 0x14014b290
mov rcx, r12
call fcn.1401419e0
mov dword [rbx + 0x2c], 0x10b
mov ecx, 0x10b
call fcn.140146240
cdqe
mov qword [rbx - 0x98], rax
jmp 0x14014ab43
mov rax, qword [rbx - 0x90]
mov rcx, qword [rax + 0x30]
call qword [sym.imp.KERNEL32.dll_FindClose]
mov rcx, qword [rbx - 0x90]
call fcn.1401419e0
mov qword [rbx - 0x98], 0
jmp 0x14014ab43
movaps xmm6, xmmword [rsp + 0x170]
mov rcx, r12
movaps xmm7, xmmword [rsp + 0x180]
movaps xmm8, xmmword [rsp + 0x190]
movaps xmm9, xmmword [rsp + 0x1a0]
movaps xmm10, xmmword [rsp + 0x1b0]
add rsp, 0x1c8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp 0x14014a7e0
movaps xmm6, xmmword [rsp + 0x170]
mov rcx, r12
movaps xmm7, xmmword [rsp + 0x180]
movaps xmm8, xmmword [rsp + 0x190]
movaps xmm9, xmmword [rsp + 0x1a0]
movaps xmm10, xmmword [rsp + 0x1b0]
add rsp, 0x1c8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp 0x140149910
movaps xmm6, xmmword [rsp + 0x170]
mov rcx, r12
movaps xmm7, xmmword [rsp + 0x180]
movaps xmm8, xmmword [rsp + 0x190]
movaps xmm9, xmmword [rsp + 0x1a0]
movaps xmm10, xmmword [rsp + 0x1b0]
add rsp, 0x1c8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp 0x140148e40
movaps xmm6, xmmword [rsp + 0x170]
mov rcx, r12
movaps xmm7, xmmword [rsp + 0x180]
movaps xmm8, xmmword [rsp + 0x190]
movaps xmm9, xmmword [rsp + 0x1a0]
movaps xmm10, xmmword [rsp + 0x1b0]
add rsp, 0x1c8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp 0x1401487b0
movaps xmm6, xmmword [rsp + 0x170]
mov rcx, r12
movaps xmm7, xmmword [rsp + 0x180]
movaps xmm8, xmmword [rsp + 0x190]
movaps xmm9, xmmword [rsp + 0x1a0]
movaps xmm10, xmmword [rsp + 0x1b0]
add rsp, 0x1c8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp 0x140148180
mov rsi, qword [rbx + 0x30]
mov rcx, rsi
call sub.msvcrt.dll_wcslen
cmp rax, 1
jbe 0x14014b4f0
cmp word [rsi + rax*2 - 4], 0x3a
lea rdx, [rax + rax]
je 0x14014b4f0
lea rdx, [rsi + rdx - 2]
movzx eax, word [rdx]
cmp ax, 0x5c
je 0x14014c1d7
cmp ax, 0x2f
je 0x14014c1d7
nop word [rax + rax]
mov rcx, qword [rbx + 0x30]
lea r14, [rbx - 0x80]
mov ebp, 2
mov rdi, qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rsi, qword [sym.imp.KERNEL32.dll_CloseHandle]
mov r13d, 1
mov eax, 0x2200000
mov r15, qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x28], eax
xor r9d, r9d
mov r8d, 7
mov edx, pe_nt_image_headers64
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x20], 3
call rdi
mov r12, rax
cmp rax, 0xffffffffffffffff
je 0x14014bee8
mov r8d, r13d
mov rdx, r14
mov rcx, rax
call fcn.140147ad0
test eax, eax
jne 0x14014bf54
mov rcx, r12
call rsi
mov qword [rbx - 0x90], r14
mov qword [rbx - 0x98], 0
jmp 0x14014ab43
mov rcx, qword [rbx + 0x30]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0x2200000
mov dword [rsp + 0x20], 3
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov r12, rax
cmp rax, 0xffffffffffffffff
je 0x14014aba3
xor r8d, r8d
lea rdx, [rbx - 0x90]
mov rcx, rax
call fcn.1401477f0
test eax, eax
jne 0x14014bfb8
or dword [rbx + 0x28], 8
mov qword [rbx - 0x98], 0
movaps xmm6, xmmword [rsp + 0x170]
mov rcx, r12
movaps xmm7, xmmword [rsp + 0x180]
movaps xmm8, xmmword [rsp + 0x190]
movaps xmm9, xmmword [rsp + 0x1a0]
movaps xmm10, xmmword [rsp + 0x1b0]
add rsp, 0x1c8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rdx, [0x140148090]
jmp 0x14014b1a7
mov rcx, qword [rbx + 0x30]
call qword [sym.imp.msvcrt.dll__wrmdir]
cdqe
mov qword [rbx - 0x98], rax
cmp rax, 0xffffffffffffffff
jne 0x14014ab43
call qword [sym.imp.msvcrt.dll___doserrno]
mov ecx, dword [rax]
mov dword [rbx + 0x2c], ecx
call fcn.140146240
cdqe
mov qword [rbx - 0x98], rax
jmp 0x14014ab43
movaps xmm6, xmmword [rsp + 0x170]
mov rcx, r12
movaps xmm7, xmmword [rsp + 0x180]
movaps xmm8, xmmword [rsp + 0x190]
movaps xmm9, xmmword [rsp + 0x1a0]
movaps xmm10, xmmword [rsp + 0x1b0]
add rsp, 0x1c8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp 0x140149c70
mov rcx, qword [rbx + 0x30]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x14014aba3
test byte [rbx + 0x38], 2
je case.0x14014aa3c.26
and eax, 0x11
cmp eax, 1
jne case.0x14014aa3c.26
mov dword [rbx + 0x2c], 0xfffff030
mov ecx, 0xfffff030
call fcn.140146240
cdqe
mov qword [rbx - 0x98], rax
jmp 0x14014ab43
mov ecx, dword [rbx + 0x30]
cmp ecx, 0xffffffff
je 0x14014abc0
call qword [sym.imp.msvcrt.dll__get_osfhandle]
mov rcx, rax
cmp rax, 0xffffffffffffffff
je 0x14014bfd6
movsd xmm0, qword [0x140471b18]
movsd xmm1, qword [rbx + 0x38]
movsd xmm3, qword [0x140471b20]
movsd xmm2, qword [0x140471b28]
mulsd xmm1, xmm0
movsd xmm6, qword [rbx + 0x40]
mulsd xmm1, xmm3
comisd xmm1, xmm2
jae 0x14014c192
cvttsd2si rax, xmm1
mulsd xmm0, xmm6
movabs rdx, 0x19db1ded53e8000
add rax, rdx
mov qword [rsp + 0x70], rax
mulsd xmm0, xmm3
comisd xmm0, xmm2
jae 0x14014c17f
cvttsd2si rax, xmm0
movabs rdx, 0x19db1ded53e8000
lea r9, [rsp + 0xf0]
lea r8, [rsp + 0x70]
add rax, rdx
xor edx, edx
mov qword [rsp + 0xf0], rax
call qword [sym.imp.KERNEL32.dll_SetFileTime]
test eax, eax
jne case.0x14014aa3c.26
jmp 0x14014aba3
mov ecx, dword [rbx + 0x30]
cmp ecx, 0xffffffff
je 0x14014abc0
call qword [sym.imp.msvcrt.dll__get_osfhandle]
xor r9d, r9d
xor r8d, r8d
mov edx, 0x100
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_ReOpenFile]
mov r13, rax
cmp rax, 0xffffffffffffffff
je 0x14014aba3
mov rcx, rax
mov rax, qword [0x1404c8e10]
lea rbp, [rsp + 0xf0]
lea r12, [rsp + 0x70]
mov dword [rsp + 0x20], 4
mov r9d, 0x28
mov r8, rbp
mov rdx, r12
call qword [rax]
test eax, eax
js 0x14014bf31
mov rsi, qword [str.8__]
mov eax, dword [rsp + 0x110]
mov r10, qword [rsi]
test al, 0x20
jne 0x14014c1c4
or eax, 0x20
mov r9d, 0x28
mov r8, rbp
mov rdx, r12
mov dword [rsp + 0x110], eax
mov rcx, r13
mov dword [rsp + 0x20], 4
call r10
test eax, eax
js 0x14014bf31
mov eax, dword [rsp + 0x110]
mov r10, qword [rsi]
mov edi, 1
mov edx, eax
or eax, 1
mov r9d, 0x28
mov r8, rbp
and edx, 0xfffffffe
test byte [rbx + 0x38], 0x80
mov rcx, r13
mov dword [rsp + 0x20], 4
cmovne eax, edx
mov rdx, r12
mov dword [rsp + 0x110], eax
call r10
test eax, eax
js 0x14014bf31
test edi, edi
je 0x14014b914
mov eax, dword [rsp + 0x110]
mov edx, pe_nt_image_headers64
mov rcx, r13
mov dword [rsp + 0x20], 4
mov r9d, 0x28
mov r8, rbp
and eax, 0xffffffdf
cmove eax, edx
mov rdx, r12
mov dword [rsp + 0x110], eax
call qword [rsi]
mov ecx, eax
test eax, eax
js 0x14014bf33
mov qword [rbx - 0xe0], 0
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x14014ab43
mov edx, dword [rbx + 0x38]
mov rcx, qword [rbx + 0x30]
call qword [sym.imp.msvcrt.dll__wchmod]
cdqe
mov qword [rbx - 0x98], rax
cmp rax, 0xffffffffffffffff
jne 0x14014ab43
jmp 0x14014b665
movaps xmm6, xmmword [rsp + 0x170]
mov rcx, r12
movaps xmm7, xmmword [rsp + 0x180]
movaps xmm8, xmmword [rsp + 0x190]
movaps xmm9, xmmword [rsp + 0x1a0]
movaps xmm10, xmmword [rsp + 0x1b0]
add rsp, 0x1c8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp 0x14014a0a0
mov rdx, qword [rbx + 0x40]
mov rcx, qword [rbx + 0x30]
mov r8d, 1
call qword [sym.imp.KERNEL32.dll_MoveFileExW]
test eax, eax
jne case.0x14014aa3c.26
jmp 0x14014aba3
mov rcx, qword [rbx + 0x30]
call qword [sym.imp.msvcrt.dll__wmkdir]
cdqe
mov qword [rbx - 0x98], rax
cmp rax, 0xffffffffffffffff
jne 0x14014ab43
call qword [sym.imp.msvcrt.dll___doserrno]
mov ecx, dword [rax]
mov rax, 0xfffffffffffff019
mov dword [rbx + 0x2c], ecx
cmp ecx, 0x7b
je 0x14014abb5
jmp 0x14014abae
movaps xmm6, xmmword [rsp + 0x170]
mov r8d, 0xb03
movaps xmm7, xmmword [rsp + 0x180]
lea rdx, str.src_win_fs.c
movaps xmm8, xmmword [rsp + 0x190]
lea rcx, str.__bad_uv_fs_type_
movaps xmm9, xmmword [rsp + 0x1a0]
movaps xmm10, xmmword [rsp + 0x1b0]
add rsp, 0x1c8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp qword [sym.imp.msvcrt.dll__assert]
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, r12
mov r13d, eax
call rsi
test r13d, r13d
je case.0x14014aa3c.26
cmp ebp, 1
je 0x14014ba97
cmp r13d, 0x5b8
je 0x14014becb
cmp r13d, 0x1126
je 0x14014becb
mov dword [rbx + 0x2c], r13d
mov ecx, r13d
call fcn.140146240
cdqe
mov qword [rbx - 0x98], rax
jmp 0x14014ab43
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, r12
mov r13d, eax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test r13d, r13d
jne 0x14014ba97
jmp case.0x14014aa3c.26
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, r12
mov r13d, eax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test r13d, r13d
jne 0x14014ba97
jmp 0x14014af66
mov rcx, r14
call fcn.1401419e0
mov qword [rbx - 0x98], 0xffffffffffffffff
jmp 0x14014b665
subsd xmm0, xmm2
cvttsd2si rax, xmm0
btc rax, 0x3f
jmp 0x14014ac84
subsd xmm1, xmm2
cvttsd2si rax, xmm1
btc rax, 0x3f
jmp 0x14014ac5b
subsd xmm7, xmm8
cvttsd2si rax, xmm7
btc rax, 0x3f
jmp 0x14014aacd
subsd xmm6, xmm8
cvttsd2si rax, xmm6
btc rax, 0x3f
jmp 0x14014aaf9
and r8d, 1
mov rdx, qword [rbx + 0x40]
mov rcx, qword [rbx + 0x30]
call qword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
jne case.0x14014aa3c.26
mov rbp, qword [sym.imp.KERNEL32.dll_GetLastError]
call rbp
mov dword [rbx + 0x2c], eax
mov ecx, eax
call fcn.140146240
cdqe
mov qword [rbx - 0x98], rax
cmp rax, 0xfffffffffffff00e
jne 0x14014ab43
mov rcx, qword [rbx + 0x30]
mov rdi, qword [sym.imp.KERNEL32.dll_CreateFileW]
xor r9d, r9d
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0x2000000
mov r8d, 7
mov edx, pe_nt_image_headers64
mov dword [rsp + 0x20], 3
call rdi
mov r13, rax
cmp rax, 0xffffffffffffffff
je 0x14014c5c9
xor r8d, r8d
lea rdx, [rsp + 0x70]
mov rcx, rax
call fcn.140147ad0
test eax, eax
jne 0x14014c5c9
mov rsi, qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, r13
call rsi
mov rcx, qword [rbx + 0x40]
xor r9d, r9d
mov qword [rsp + 0x30], 0
mov r8d, 7
mov dword [rsp + 0x28], 0x2000000
mov edx, pe_nt_image_headers64
mov dword [rsp + 0x20], 3
call rdi
mov r12, rax
cmp rax, 0xffffffffffffffff
je 0x14014c724
xor r8d, r8d
lea rdx, [rsp + 0xf0]
mov rcx, rax
call fcn.140147ad0
test eax, eax
jne 0x14014c724
mov rcx, r12
call rsi
mov rax, qword [rsp + 0xf0]
cmp qword [rsp + 0x70], rax
jne 0x14014ab43
mov rax, qword [rsp + 0x120]
cmp qword [rsp + 0xa0], rax
jne 0x14014ab43
jmp case.0x14014aa3c.26
mov qword [rbx - 0x98], 0xfffffffffffff027
mov dword [rbx + 0x2c], 0xe
jmp 0x14014ab43
lea rax, [rax + rax*4]
lea rax, [rcx + rax*8]
movdqu xmm4, xmmword [rax + 8]
lea rcx, [0x1407b2aa0]
movaps xmmword [rsp + 0xf0], xmm4
mov r13d, dword [rax + 8]
mov r14, qword [rax + 0x10]
movdqu xmm5, xmmword [rax + 0x18]
movaps xmmword [rsp + 0x100], xmm5
movzx r15d, byte [rax + 0xc]
mov rax, qword [rax + 0x20]
mov qword [rsp + 0x48], rax
call fcn.14015d780
test r15b, r15b
jne 0x14014c5aa
cmp r14, 0xffffffffffffffff
je 0x14014bd1c
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rax, qword [rbx + 0x60]
lea rdx, [rsp + 0x70]
lea r8, [rsp + 0x68]
mov rcx, r12
mov dword [rsp + 0x20], 0x14
mov r9d, 8
mov qword [rsp + 0x68], rax
mov rax, qword [str.8__]
call qword [rax]
test eax, eax
js 0x14014c289
mov qword [rbx - 0x98], 0
test r13d, r13d
je 0x14014ab43
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x100], rax
test rax, rax
je 0x14014c27d
mov eax, r13d
mov edx, dword [rsp + 0x100]
mov rcx, r12
mov qword [rsp + 0x28], 0
and eax, 3
mov r9d, dword [rsp + 0x104]
cmp eax, 1
mov dword [rsp + 0x20], edx
sbb eax, eax
xor edx, edx
and eax, 0xfffffffe
lea r8d, [rax + 4]
call qword [sym.imp.KERNEL32.dll_CreateFileMappingA]
mov r14, rax
test rax, rax
je 0x14014c7b9
lea rcx, [0x1407b2aa0]
call sub.KERNEL32.dll_EnterCriticalSection
mov rax, rdi
shl rax, 4
add rax, rbp
mov r8, qword [rax]
test r8, r8
mov rcx, r8
setne r9b
and ecx, 0xf
jne 0x14014c21b
test r9b, r9b
je 0x14014c21b
mov r10, qword [rax + 8]
mov ecx, 0x10
mov rdx, r10
xor eax, eax
jmp 0x14014be19
add rax, 1
add rdx, 0x28
cmp rax, rcx
jae 0x14014c230
cmp esi, dword [rdx]
jne 0x14014be08
lea rax, [rax + rax*4]
lea rax, [r10 + rax*8]
test rax, rax
jne 0x14014be60
mov ebx, r8d
and ebx, 0xf
jne 0x14014be3b
test r9b, r9b
jne 0x14014c73a
shl rdi, 4
mov eax, ebx
add r8, 1
add rbp, rdi
lea rax, [rax + rax*4]
mov r9, qword [rbp + 8]
mov qword [rbp], r8
lea rax, [r9 + rax*8]
mov dword [rax], esi
nop word [rax + rax]
mov rdi, qword [rsp + 0x48]
mov dword [rsp + 0xf0], r13d
mov byte [rsp + 0xf4], 0
mov qword [rsp + 0xf8], r14
mov qword [rsp + 0x108], rdi
movdqa xmm4, xmmword [rsp + 0xf0]
lea rcx, [0x1407b2aa0]
movups xmmword [rax + 8], xmm4
movdqa xmm5, xmmword [rsp + 0x100]
movups xmmword [rax + 0x18], xmm5
call fcn.14015d780
jmp 0x14014ab43
mov rax, qword [rsp + 0xf0]
test rax, rax
je 0x14014b222
xor edx, edx
mov word [rax], dx
jmp 0x14014b222
movsd xmm6, qword [rbx + 0x40]
movsd xmm7, qword [rbx + 0x38]
mov ebp, 1
mov eax, 0x2000000
mov rcx, qword [rbx + 0x30]
jmp 0x14014aa81
call r15
mov r13d, eax
mov rcx, r12
call rsi
test r13d, r13d
je 0x14014b56a
cmp ebp, 1
je 0x14014ba97
cmp r13d, 0x5b8
je 0x14014bf1b
cmp r13d, 0x1126
jne 0x14014ba97
mov rcx, qword [rbx + 0x30]
mov ebp, 1
xor r13d, r13d
mov eax, 0x2000000
jmp 0x14014b51d
mov ecx, eax
mov rax, qword [0x1404c8e80]
call qword [rax]
mov dword [rbx + 0x2c], eax
mov ecx, eax
call fcn.140146240
cdqe
mov qword [rbx - 0x98], rax
jmp 0x14014b91f
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r13d, eax
jmp 0x14014beee
mov rax, rdi
shl rax, 4
mov r8, qword [rbp + rax + 8]
test rcx, rcx
jne 0x14014aea4
mov rcx, qword [r8 + 0x280]
test rcx, rcx
je 0x14014aed6
nop dword [rax]
mov rdx, rcx
xor eax, eax
nop dword [rax]
cmp esi, dword [rdx]
je 0x14014bcc0
add eax, 1
add rdx, 0x28
cmp eax, 0x10
jne 0x14014bf90
mov rcx, qword [rcx + 0x280]
test rcx, rcx
jne 0x14014bf88
jmp 0x14014aed6
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbx + 0x2c], eax
mov ecx, eax
call fcn.140146240
cdqe
mov qword [rbx - 0x98], rax
jmp 0x14014b5e9
mov dword [rbx + 0x2c], 6
mov ecx, 6
call fcn.140146240
cdqe
mov qword [rbx - 0x98], rax
jmp 0x14014ab43
mov r13, rcx
mov rcx, r12
call sub.msvcrt.dll_wcslen
mov r8d, 4
lea rdx, [0x140471af8]
mov rcx, r12
mov rsi, rax
call sub.msvcrt.dll_wcsncmp
test eax, eax
je 0x14014c55c
cmp esi, 2
jle 0x14014c204
movzx eax, word [r12]
and eax, 0xffffffdf
sub eax, 0x41
cmp ax, 0x19
ja 0x14014c204
cmp word [r12 + 2], 0x3a
jne 0x14014c204
movzx eax, word [r12 + 4]
cmp ax, 0x5c
je 0x14014c061
cmp ax, 0x2f
jne 0x14014c204
lea ecx, [rsi*4 + 0x20]
movsxd rcx, ecx
call fcn.1401419c0
mov qword [rsp + 0x48], rax
test rax, rax
je 0x14014c92d
mov rax, qword [rsp + 0x48]
mov r8d, 4
lea rdx, [0x140471b08]
lea rsi, [rax + 0x10]
mov rcx, rsi
call sub.msvcrt.dll_wcsncpy
mov dword [rsp + 0x50], 0
xor r11d, r11d
add r11, r12
movzx r8d, word [r11]
test r8w, r8w
je 0x14014c771
mov eax, dword [rsp + 0x50]
mov qword [rsp + 0x58], r12
mov r14, r11
xor r15d, r15d
mov edx, 4
add eax, 1
cdqe
lea rcx, [r12 + rax*2]
jmp 0x14014c115
mov r8d, 0x5c
mov word [r9], r8w
lea r8d, [rdx + 3]
mov r9, r10
mov edx, edi
mov r10, rbp
mov edi, r8d
lea rbp, [rsi + rax + 6]
movzx eax, word [r14]
xor r15d, r15d
mov word [r9], ax
mov r14, rcx
movzx r8d, word [rcx]
add rcx, 2
test r8w, r8w
je 0x14014c3b5
movsxd rax, edx
lea r12d, [rdx + 1]
add rax, rax
lea r9, [rsi + rax]
lea r10, [rsi + rax + 2]
cmp r8w, 0x5c
je 0x14014c148
cmp r8w, 0x2f
je 0x14014c148
lea edi, [rdx + 2]
lea rbp, [rsi + rax + 4]
test r15d, r15d
jne 0x14014c0d7
mov edx, r12d
jmp 0x14014c0f5
mov rbp, r10
mov edi, r12d
mov r10, r9
mov r15d, 1
jmp 0x14014c100
mov r8d, 4
lea rdx, [0x140471af8]
mov rcx, r12
call sub.msvcrt.dll_wcsncmp
test eax, eax
jne 0x14014c1e3
lea rcx, [r12 + 8]
lea edx, [rsi - 4]
jmp 0x14014ad8b
subsd xmm0, xmm2
cvttsd2si rax, xmm0
btc rax, 0x3f
jmp 0x14014b7a1
subsd xmm1, xmm2
cvttsd2si rax, xmm1
btc rax, 0x3f
jmp 0x14014b778
mov ecx, eax
mov dword [rbx + 0x2c], eax
call fcn.140146240
cdqe
mov qword [rbx - 0x98], rax
jmp 0x14014ab43
mov ecx, 0x57
jmp 0x14014c1a7
xor edi, edi
jmp 0x14014b89c
xor r11d, r11d
mov word [rdx], r11w
jmp 0x14014afc0
xor r10d, r10d
mov word [rdx], r10w
jmp 0x14014b4f0
mov rcx, r12
call fcn.1401419e0
mov ecx, 6
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x14014aba3
mov qword [rbx - 0x98], 0xfffffffffffff019
mov dword [rbx + 0x2c], 0x32
jmp 0x14014ab43
mov rax, rdi
shl rax, 4
mov r10, qword [rbp + rax + 8]
test rcx, rcx
jne 0x14014bdfe
mov rcx, qword [r10 + 0x280]
test rcx, rcx
je 0x14014be2a
mov rdx, rcx
xor eax, eax
nop dword [rax]
cmp esi, dword [rdx]
je 0x14014c270
add eax, 1
add rdx, 0x28
cmp eax, 0x10
jne 0x14014c248
mov rcx, qword [rcx + 0x280]
test rcx, rcx
jne 0x14014c240
jmp 0x14014be2a
lea rax, [rax + rax*4]
lea rax, [rcx + rax*8]
jmp 0x14014be60
mov r14, 0xffffffffffffffff
jmp 0x14014bdc0
mov ecx, eax
mov rax, qword [0x1404c8e80]
call qword [rax]
mov dword [rbx + 0x2c], eax
mov ecx, eax
call fcn.140146240
cdqe
mov qword [rbx - 0x98], rax
test r13d, r13d
je 0x14014ab43
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rcx, [0x1407b2aa0]
mov qword [rsp + 0x100], 0
call sub.KERNEL32.dll_EnterCriticalSection
mov rax, rdi
shl rax, 4
add rax, rbp
mov rbx, qword [rax]
test rbx, rbx
mov r8, rbx
setne r9b
and r8d, 0xf
jne 0x14014c346
test r9b, r9b
je 0x14014c346
mov rcx, qword [rax + 8]
mov r8d, 0x10
mov rdx, rcx
xor eax, eax
jmp 0x14014c311
add rax, 1
add rdx, 0x28
cmp rax, r8
jae 0x14014c357
cmp esi, dword [rdx]
jne 0x14014c304
imul rax, rax, 0x28
add rax, rcx
jne 0x14014c388
and ebx, 0xf
jne 0x14014c32c
test r9b, r9b
jne 0x14014c862
shl rdi, 4
mov eax, ebx
add rbp, rdi
imul rax, rax, 0x28
add rax, qword [rbp + 8]
add qword [rbp], 1
mov dword [rax], esi
jmp 0x14014c388
mov rax, rdi
shl rax, 4
mov rcx, qword [rbp + rax + 8]
test r8, r8
jne 0x14014c2fd
mov rcx, qword [rcx + 0x280]
test rcx, rcx
je 0x14014c31e
mov rdx, rcx
xor eax, eax
jmp 0x14014c37c
add eax, 1
add rdx, 0x28
cmp eax, 0x10
je 0x14014c357
cmp esi, dword [rdx]
jne 0x14014c370
lea rax, [rax + rax*4]
lea rax, [rcx + rax*8]
mov dword [rsp + 0xf0], r13d
mov byte [rsp + 0xf4], 0
mov qword [rsp + 0xf8], 0xffffffffffffffff
mov qword [rsp + 0x108], 0
jmp 0x14014be85
mov r12, qword [rsp + 0x58]
mov rax, qword [rsp + 0x48]
mov r14d, 0x5c
xor r15d, r15d
add edi, edi
mov word [r10], r14w
add edx, 2
mov word [rax + 8], r15w
mov word [rax + 0xa], di
xor eax, eax
mov word [rbp], ax
movzx eax, word [r11]
test ax, ax
je 0x14014c8bb
mov ecx, dword [rsp + 0x50]
mov ebp, edx
xor r9d, r9d
add ecx, 1
movsxd rcx, ecx
lea rcx, [r12 + rcx*2]
jmp 0x14014c433
mov edi, 0x5c
add ebp, 2
mov word [r10], di
mov r10, r14
movsxd rdi, ebp
lea r14, [rsi + r8 + 4]
movzx eax, word [r11]
xor r9d, r9d
mov word [r10], ax
mov r11, rcx
movzx eax, word [rcx]
add rcx, 2
test ax, ax
je 0x14014c469
movsxd rdi, ebp
lea r8, [rdi + rdi]
lea r10, [rsi + r8]
cmp ax, 0x5c
je 0x14014c45e
cmp ax, 0x2f
je 0x14014c45e
lea eax, [rbp + 1]
lea r14, [rsi + r8 + 2]
movsxd rdi, eax
test r9d, r9d
jne 0x14014c402
mov ebp, eax
jmp 0x14014c419
mov r14, r10
mov r9d, 1
jmp 0x14014c424
mov eax, ebp
sub eax, edx
cmp eax, 2
je 0x14014c683
add eax, eax
mov rcx, qword [rsp + 0x48]
lea esi, [rdi + rdi + 0x12]
add edx, edx
xor r9d, r9d
xor r10d, r10d
mov word [rcx + 0xe], ax
lea eax, [rsi - 8]
mov word [rcx + 0xc], dx
xor edx, edx
mov word [r14], r9w
mov dword [rcx], 0xa0000003
mov word [rcx + 4], ax
mov word [rcx + 6], r10w
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
je 0x14014c622
xor r9d, r9d
xor r8d, r8d
mov edx, 0x40000000
mov rcx, r13
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0x2200000
mov dword [rsp + 0x20], 3
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov r12, rax
cmp rax, 0xffffffffffffffff
je 0x14014c893
lea rax, [rsp + 0xf0]
mov r9d, esi
mov rcx, r12
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x30], rax
mov r8, qword [rsp + 0x48]
mov edx, 0x900a4
mov dword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
test eax, eax
je 0x14014c5e8
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rsp + 0x48]
call fcn.1401419e0
mov qword [rbx - 0x98], 0
jmp 0x14014ab43
lea ecx, [rsi*4 + 0x20]
movsxd rcx, ecx
call fcn.1401419c0
mov qword [rsp + 0x48], rax
test rax, rax
je 0x14014c92d
mov rax, qword [rsp + 0x48]
mov r8d, 4
lea rdx, [0x140471b08]
lea rsi, [rax + 0x10]
mov rcx, rsi
call sub.msvcrt.dll_wcsncpy
mov dword [rsp + 0x50], 4
mov r11d, 8
jmp 0x14014c0a7
mov dword [rbx + 0x2c], 5
mov ecx, 5
call fcn.140146240
cdqe
mov qword [rbx - 0x98], rax
jmp 0x14014ab43
call rbp
mov rsi, qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, r13
mov r12d, eax
call rsi
test r12d, r12d
jne 0x14014ab43
jmp 0x14014bc17
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbx + 0x2c], eax
mov ecx, eax
call fcn.140146240
mov rcx, qword [rsp + 0x48]
cdqe
mov qword [rbx - 0x98], rax
call fcn.1401419e0
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
jmp 0x14014ab43
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbx + 0x2c], eax
mov ecx, eax
call fcn.140146240
mov rcx, qword [rsp + 0x48]
cdqe
mov qword [rbx - 0x98], rax
movaps xmm6, xmmword [rsp + 0x170]
movaps xmm7, xmmword [rsp + 0x180]
movaps xmm8, xmmword [rsp + 0x190]
movaps xmm9, xmmword [rsp + 0x1a0]
movaps xmm10, xmmword [rsp + 0x1b0]
add rsp, 0x1c8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp fcn.1401419e0
lea eax, [rbp + 1]
mov r11d, 0x5c
movsxd rdi, eax
mov word [r14], r11w
mov eax, 6
lea r14, [rsi + rdi*2]
jmp 0x14014c478
cmp r12, qword [rbx + 0x30]
je 0x14014c6af
mov rcx, r12
call fcn.1401419e0
mov ecx, 0x58
call fcn.1401419c0
test rax, rax
je 0x14014bca0
mov edx, dword [rsp + 0x64]
imul edx, dword [rsp + 0x60]
mov qword [rax], 0
mov edi, edx
mov edx, dword [rsp + 0x68]
mov qword [rax + 8], rdi
mov edi, dword [rsp + 0x70]
mov qword [rax + 0x18], rdx
mov qword [rax + 0x10], rdi
mov qword [rax + 0x20], rdx
mov qword [rax + 0x28], 0
mov qword [rax + 0x30], 0
or dword [rbx + 0x28], 8
mov qword [rbx - 0x90], rax
mov qword [rbx - 0x98], 0
jmp 0x14014ab43
mov rcx, r14
call fcn.1401419e0
jmp case.0x14014aa3c.26
call rbp
mov rcx, r12
mov edi, eax
call rsi
test edi, edi
jne 0x14014ab43
jmp 0x14014bc71
mov ecx, 0x288
call fcn.1401419c0
mov rdx, rax
test rax, rax
je 0x14014c92d
mov rax, rdi
shl rax, 4
add rax, rbp
mov rcx, qword [rax + 8]
mov r8, qword [rax]
mov qword [rdx + 0x280], rcx
mov qword [rax + 8], rdx
jmp 0x14014be3b
lea r10, [rsi + 8]
lea rbp, [rsi + 0xa]
mov edi, 5
mov edx, 4
jmp 0x14014c3ba
mov esi, eax
mov r13, r12
cmp r12, rdx
jne 0x14014c7af
mov dword [rbx + 0x2c], esi
mov ecx, esi
call fcn.140146240
cdqe
mov qword [rbx - 0x98], rax
jmp 0x14014ab43
mov esi, eax
mov r13, r12
mov rcx, r13
call fcn.1401419e0
jmp 0x14014c792
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbx + 0x2c], eax
mov ecx, eax
call fcn.140146240
mov rcx, r12
cdqe
mov qword [rbx - 0x98], rax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rcx, [0x1407b2aa0]
mov qword [rsp + 0x100], 0
call sub.KERNEL32.dll_EnterCriticalSection
mov rax, rdi
shl rax, 4
add rax, rbp
mov rbx, qword [rax]
test rbx, rbx
mov r9, rbx
setne r8b
and r9d, 0xf
jne 0x14014c8da
test r8b, r8b
je 0x14014c8da
mov rax, qword [rax + 8]
mov r9d, 0x10
mov rcx, rax
xor edx, edx
jmp 0x14014c83f
add rdx, 1
add rcx, 0x28
cmp rdx, r9
jae 0x14014c8ef
cmp esi, dword [rcx]
jne 0x14014c82e
imul rdx, rdx, 0x28
add rax, rdx
jne 0x14014c388
and ebx, 0xf
jne 0x14014c32c
test r8b, r8b
je 0x14014c32c
mov ecx, 0x288
call fcn.1401419c0
test rax, rax
je 0x14014c92d
mov rdx, rdi
shl rdx, 4
add rdx, rbp
mov rcx, qword [rdx + 8]
mov qword [rax + 0x280], rcx
mov qword [rdx + 8], rax
jmp 0x14014c32c
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbx + 0x2c], eax
mov ecx, eax
call fcn.140146240
mov rcx, qword [rsp + 0x48]
cdqe
mov qword [rbx - 0x98], rax
call fcn.1401419e0
jmp 0x14014c614
movsxd rdi, edx
lea r14, [rdi + rdi]
add r14, rsi
jmp 0x14014c478
mov ecx, 0xe
call qword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x14014c1f6
mov rax, rdi
shl rax, 4
mov rax, qword [rbp + rax + 8]
test r9, r9
jne 0x14014c827
mov rcx, qword [rax + 0x280]
test rcx, rcx
je 0x14014c850
mov rdx, rcx
xor eax, eax
nop dword [rax]
cmp esi, dword [rdx]
je 0x14014c380
add eax, 1
add rdx, 0x28
cmp eax, 0x10
jne 0x14014c908
mov rcx, qword [rcx + 0x280]
test rcx, rcx
jne 0x14014c8ff
jmp 0x14014c850
lea rdx, [0x140471907]
mov ecx, 0xe
call fcn.140146180
nop
nop
push rbx
sub rsp, 0x20
mov rax, qword [rcx + 0x90]
mov rbx, rcx
mov rcx, qword [rax + 0x30]
call qword [sym.imp.KERNEL32.dll_FindClose]
mov rcx, qword [rbx + 0x90]
call fcn.1401419e0
mov qword [rbx + 0x88], 0
add rsp, 0x20
pop rbx
ret