Function at 0x180010240
Capabilities:
Read file on windows

Disassembly:
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xd0
mov rax, qword [0x18009a918]
xor rax, rsp
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0x60], r9
mov qword [rsp + 0x70], r8
mov qword [rsp + 0x88], rdx
mov qword [rsp + 0x78], rcx
mov r13, qword [rsp + 0x138]
mov qword [rsp + 0x50], r13
mov rax, qword [rsp + 0x140]
mov qword [rsp + 0x90], rax
mov byte [rax], 0
mov r15, 0xffffffffffffffff
mov qword [rsp + 0x80], r15
mov edi, 0xc0000001
mov dword [rsp + 0x30], edi
xor esi, esi
mov dword [rsp + 0x34], esi
mov r8d, 0x96d
lea rdx, str.E:_buildsARK23181_2_trufos_dllhiddenContent.c
lea ecx, [rsi + 1]
call fcn.180023b70
test al, al
je 0x1800102dd
mov edi, 0xe8030001
jmp 0x1800107df
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 1]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateEventW]
mov r15, rax
mov qword [rsp + 0x80], rax
test rax, rax
jne 0x180010312
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
or edi, 0xe8f00000
jmp 0x1800107df
xor r14d, r14d
mov dword [rsp + 0x38], r14d
cmp r14d, dword [r13]
jae 0x1800107dd
mov r8d, 0x979
lea rdx, str.E:_buildsARK23181_2_trufos_dllhiddenContent.c
mov ecx, 1
call fcn.180023b70
test al, al
je 0x180010349
mov edi, 0xe8030001
jmp 0x1800107df
mov eax, r14d
mov qword [rsp + 0x68], rax
shl rax, 5
mov r12d, dword [rax + r13 + 0x20]
mov dword [rsp + 0x48], r12d
mov dword [rsp + 0x58], r12d
mov rbx, qword [rax + r13 + 0x18]
mov qword [rsp + 0x40], rbx
mov eax, dword [rax + r13 + 8]
sub eax, ebx
mov dword [rsp + 0x40], eax
mov r13d, ebx
nop dword [rax]
test r12d, r12d
je 0x1800107cb
mov r8d, 0x983
lea rdx, str.E:_buildsARK23181_2_trufos_dllhiddenContent.c
mov ecx, 1
call fcn.180023b70
test al, al
je 0x1800103ae
mov edi, 0xe8030001
jmp 0x1800107df
mov r14d, dword [rsp + 0x130]
cmp r12d, r14d
cmovb r14d, r12d
xorps xmm0, xmm0
movups xmmword [rsp + 0x98], xmm0
movups xmmword [rsp + 0xa8], xmm0
mov qword [rsp + 0xa8], rbx
mov qword [rsp + 0xb0], r15
lea rax, [rsp + 0x98]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0xb8]
mov r8d, r14d
mov rdx, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x78]
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x180010476
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
mov dword [rsp + 0x34], eax
cmp eax, 0x3e5
jne 0x180010305
mov edx, 0xffffffff
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov esi, eax
mov dword [rsp + 0x34], eax
test eax, eax
je 0x180010448
mov edi, eax
or edi, 0xe8f00000
jmp 0x1800107df
mov eax, dword [rsp + 0xa0]
mov dword [rsp + 0xb8], eax
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_ResetEvent]
test eax, eax
jne 0x180010476
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
or edi, 0xe8f00000
jmp 0x1800107df
mov r8d, dword [rsp + 0xb8]
mov r12, qword [rsp + 0x50]
cmp r14d, r8d
je 0x1800104b9
mov rax, qword [rsp + 0x68]
shl rax, 5
mov r9d, dword [rax + r12 + 0x10]
mov rdx, qword [rax + r12 + 8]
lea rcx, [rdx + r9]
lea rax, [rbx + r8]
cmp rax, rcx
jl 0x18001054b
sub edx, r13d
add edx, r9d
mov dword [rsp + 0xb8], edx
xorps xmm0, xmm0
movups xmmword [rsp + 0x98], xmm0
movups xmmword [rsp + 0xa8], xmm0
mov qword [rsp + 0xa8], rbx
mov qword [rsp + 0xb0], r15
lea rax, [rsp + 0x98]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0xb8]
mov r8d, r14d
mov rdx, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x88]
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x1800105c6
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
mov dword [rsp + 0x34], eax
cmp eax, 0x3e5
jne 0x180010305
mov edx, 0xffffffff
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov esi, eax
mov dword [rsp + 0x34], eax
test eax, eax
je 0x180010598
mov edi, eax
or edi, 0xe8f00000
jmp 0x1800107df
lea rbx, [0x18009b358]
mov rcx, qword [0x18009b358]
cmp rcx, rbx
je 0x1800107ea
test byte [rcx + 0x1c], 1
je 0x1800107ea
cmp byte [rcx + 0x19], 2
jb 0x1800107ea
mov edx, 0x50
mov dword [rsp + 0x20], r8d
mov r9d, r14d
lea r8, [0x180090de8]
mov rcx, qword [rcx + 0x10]
call fcn.1800010a0
jmp 0x1800107ea
mov eax, dword [rsp + 0xa0]
mov dword [rsp + 0xb8], eax
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_ResetEvent]
test eax, eax
jne 0x1800105c6
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
or edi, 0xe8f00000
jmp 0x1800107df
mov r8d, dword [rsp + 0xb8]
cmp r14d, r8d
je 0x180010608
mov rax, qword [rsp + 0x68]
shl rax, 5
mov edx, dword [rax + r12 + 0x10]
mov r9, qword [rax + r12 + 8]
lea rcx, [r9 + rdx]
lea rax, [rbx + r8]
cmp rax, rcx
jl 0x1800106c1
mov r8d, r9d
sub r8d, r13d
add r8d, edx
mov dword [rsp + 0xb8], r8d
mov ecx, dword [rsp + 0x40]
mov r12, qword [rsp + 0x60]
add r12, rcx
mov r13, qword [rsp + 0x70]
add r13, rcx
sub r8d, ecx
mov rdx, r12
mov rcx, r13
call fcn.18005f750
test eax, eax
je 0x18001079e
xorps xmm0, xmm0
movups xmmword [rsp + 0x98], xmm0
movups xmmword [rsp + 0xa8], xmm0
mov qword [rsp + 0xa8], rbx
mov qword [rsp + 0xb0], r15
lea rax, [rsp + 0x98]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0xb8]
mov r8d, r14d
mov rdx, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x78]
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x180010724
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
mov dword [rsp + 0x34], eax
cmp eax, 0x3e5
jne 0x180010305
mov edx, 0xffffffff
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov esi, eax
mov dword [rsp + 0x34], eax
test eax, eax
je 0x1800106f6
mov edi, eax
or edi, 0xe8f00000
jmp 0x1800107df
lea rbx, [0x18009b358]
mov rcx, qword [0x18009b358]
cmp rcx, rbx
je 0x1800107ea
test byte [rcx + 0x1c], 1
je 0x1800107ea
cmp byte [rcx + 0x19], 2
jb 0x1800107ea
mov edx, 0x51
jmp 0x18001057b
mov eax, dword [rsp + 0xa0]
mov dword [rsp + 0xb8], eax
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_ResetEvent]
test eax, eax
jne 0x180010724
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
or edi, 0xe8f00000
jmp 0x1800107df
mov r8d, dword [rsp + 0xb8]
cmp r14d, r8d
je 0x18001077d
mov eax, dword [rsp + 0x38]
shl rax, 5
mov rdx, qword [rsp + 0x50]
mov ecx, dword [rax + rdx + 0x10]
add rcx, qword [rax + rdx + 8]
lea rax, [rbx + r8]
cmp rax, rcx
je 0x18001077d
lea rbx, [0x18009b358]
mov rcx, qword [0x18009b358]
cmp rcx, rbx
je 0x1800107ea
test byte [rcx + 0x1c], 1
je 0x1800107ea
cmp byte [rcx + 0x19], 2
jb 0x1800107ea
mov edx, 0x52
jmp 0x18001057b
sub r8d, dword [rsp + 0x40]
mov rdx, r12
mov rcx, r13
call fcn.18005f750
test eax, eax
jne 0x18001079e
mov rax, qword [rsp + 0x90]
mov byte [rax], 1
jmp 0x1800107dd
mov r12d, dword [rsp + 0x48]
sub r12d, r14d
mov dword [rsp + 0x48], r12d
mov dword [rsp + 0x58], r12d
mov eax, r14d
add rbx, rax
mov qword [rsp + 0x40], rbx
mov r13, rbx
mov dword [rsp + 0x40], 0
jmp 0x180010380
mov r14d, dword [rsp + 0x38]
inc r14d
mov r13, qword [rsp + 0x50]
jmp 0x180010315
xor edi, edi
mov dword [rsp + 0x30], edi
lea rbx, [0x18009b358]
test edi, edi
jns 0x180010826
mov rcx, qword [0x18009b358]
cmp rcx, rbx
je 0x180010826
test byte [rcx + 0x1c], 1
je 0x180010826
cmp byte [rcx + 0x19], 2
jb 0x180010826
mov edx, 0x53
mov dword [rsp + 0x20], esi
lea r9, str.ReadAndCompareFiles
lea r8, [0x180090de8]
mov rcx, qword [rcx + 0x10]
call fcn.1800012d0
test r15, r15
je 0x180010834
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, edi
mov rcx, qword [rsp + 0xc0]
xor rcx, rsp
call fcn.18005e1d0
add rsp, 0xd0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret