Function at 0x180030ca0
Capabilities:
Print debug messages
Read file on windows

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0xb0
mov qword [rsp + 0x50], rsp
mov rsi, rdx
mov r15, rcx
mov qword [rax - 0x70], 0xffffffffffffffff
xor r12d, r12d
mov dword [rax + 0x20], r12d
mov dword [rsp + 0x48], r12d
mov dword [rax + 0x18], r12d
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 3
xor r9d, r9d
mov edx, 0x80000000
lea r8d, [r12 + 1]
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rbx, rax
mov qword [rsp + 0x68], rax
cmp rax, 0xffffffffffffffff
jne 0x180030e63
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea r14d, [rax + 0x1e]
mov dword [rsp + 0x40], r14d
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea esi, [rax + 0x1e]
mov qword [rsp + 0x80], r12
mov ecx, 0x1000a
call fcn.180053ad4
mov rdi, rax
mov ecx, 0x2000a
call fcn.180053ad4
mov rbx, rax
test rdi, rdi
je 0x180030e0e
test rax, rax
je 0x180030e0e
mov r9, r15
lea r8, [0x18008890c]
mov edx, 0xffff
mov rcx, rax
call fcn.180053a4c
test eax, eax
jle 0x180030df7
mov word [rbx + 0x1fffe], r12w
lea rdx, [r12 - 2]
mov rcx, rbx
call fcn.180053398
lea r8, [rax + 1]
mov qword [rsp + 0x20], 0xffffffffffffffff
mov r9, rbx
mov rdx, rdi
lea rcx, [rsp + 0x80]
call fcn.180054798
test eax, eax
je 0x180030dce
mov r8d, esi
mov rdx, rbx
lea rcx, str.wcstombs_s_error_in_log_file:__s____d_n
call fcn.180053f50
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], rdi
lea r9, str.GetUrlFromFFCache
mov edx, 0x3e8
mov r8d, 1
lea rcx, str...StandAloneSvcExploitFiles.cpp
call fcn.180001b40
jmp 0x180030e27
mov edx, esi
lea rcx, str.Error__d_in_swprintf_s_n
call fcn.180053f50
lea rcx, str.Error_in_swprintf_s_n
jmp 0x180030e21
lea rcx, str.Memory_allocation_error_in_log_file_n
call fcn.180053f50
lea rcx, str.Memory_allocation_error_in_log_file_n
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
test rdi, rdi
je 0x180030e34
mov rcx, rdi
call fcn.180053a94
test rbx, rbx
je 0x180030e41
mov rcx, rbx
call fcn.180053a94
mov dword [rsp + 0x78], r14d
lea rdx, [0x180030e5a]
mov rcx, qword [rsp + 0x50]
call fcn.180057580
nop
nop
nop
mov eax, dword [rsp + 0x40]
jmp 0x18003176d
mov rdx, 0xfffffffffffffffc
mov qword [rsp + 0x40], rdx
lea r9d, [rdx + 6]
xor r8d, r8d
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SetFilePointerEx]
test eax, eax
jne 0x180030fdc
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea r14d, [rax + 0x1e]
mov dword [rsp + 0x40], r14d
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea esi, [rax + 0x1e]
mov qword [rsp + 0x90], r12
mov ecx, 0x1000a
call fcn.180053ad4
mov rdi, rax
mov ecx, 0x2000a
call fcn.180053ad4
mov rbx, rax
test rdi, rdi
je 0x180030f84
test rax, rax
je 0x180030f84
mov r9, r15
lea r8, [0x18008890c]
mov edx, 0xffff
mov rcx, rax
call fcn.180053a4c
test eax, eax
jle 0x180030f6d
mov word [rbx + 0x1fffe], r12w
mov rdx, 0xfffffffffffffffe
mov rcx, rbx
call fcn.180053398
lea r8, [rax + 1]
mov qword [rsp + 0x20], 0xffffffffffffffff
mov r9, rbx
mov rdx, rdi
lea rcx, [rsp + 0x90]
call fcn.180054798
test eax, eax
je 0x180030f44
mov r8d, esi
mov rdx, rbx
lea rcx, str.wcstombs_s_error_in_log_file:__s____d_n
call fcn.180053f50
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], rdi
lea r9, str.GetUrlFromFFCache
mov edx, 0x3ee
mov r8d, 1
lea rcx, str...StandAloneSvcExploitFiles.cpp
call fcn.180001b40
jmp 0x180030f9d
mov edx, esi
lea rcx, str.Error__d_in_swprintf_s_n
call fcn.180053f50
lea rcx, str.Error_in_swprintf_s_n
jmp 0x180030f97
lea rcx, str.Memory_allocation_error_in_log_file_n
call fcn.180053f50
lea rcx, str.Memory_allocation_error_in_log_file_n
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
test rdi, rdi
je 0x180030faa
mov rcx, rdi
call fcn.180053a94
test rbx, rbx
je 0x180030fb7
mov rcx, rbx
call fcn.180053a94
mov dword [rsp + 0xa8], r14d
lea rdx, [0x180030fd3]
mov rcx, qword [rsp + 0x50]
call fcn.180057580
nop
nop
nop
mov eax, dword [rsp + 0x40]
jmp 0x18003176d
mov qword [rsp + 0x20], r12
lea r9, [rsp + 0xf8]
mov r8d, 4
lea rdx, [rsp + 0x48]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x180031573
cmp dword [rsp + 0xf8], 4
jne 0x180031573
mov ecx, dword [rsp + 0x48]
bswap ecx
mov dword [rsp + 0x48], ecx
mov eax, ecx
shr eax, 0x12
mov dword [rsp + 0x58], eax
test ecx, 0x3ffff
je 0x180031034
inc eax
mov dword [rsp + 0x58], eax
lea eax, [rax + 0xe]
lea eax, [rcx + rax*2]
lea r14d, [rax + 5]
mov edx, eax
mov qword [rsp + 0x40], rdx
xor r9d, r9d
xor r8d, r8d
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_SetFilePointerEx]
test eax, eax
jne 0x1800311ae
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea r14d, [rax + 0x1e]
mov dword [rsp + 0x40], r14d
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea esi, [rax + 0x1e]
mov qword [rsp + 0xa0], r12
mov ecx, 0x1000a
call fcn.180053ad4
mov rdi, rax
mov ecx, 0x2000a
call fcn.180053ad4
mov rbx, rax
test rdi, rdi
je 0x180031159
test rax, rax
je 0x180031159
mov r9, r15
lea r8, [0x18008890c]
mov edx, 0xffff
mov rcx, rax
call fcn.180053a4c
test eax, eax
jle 0x180031142
mov word [rbx + 0x1fffe], r12w
mov rdx, 0xfffffffffffffffe
mov rcx, rbx
call fcn.180053398
lea r8, [rax + 1]
mov qword [rsp + 0x20], 0xffffffffffffffff
mov r9, rbx
mov rdx, rdi
lea rcx, [rsp + 0xa0]
call fcn.180054798
test eax, eax
je 0x180031119
mov r8d, esi
mov rdx, rbx
lea rcx, str.wcstombs_s_error_in_log_file:__s____d_n
call fcn.180053f50
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], rdi
lea r9, str.GetUrlFromFFCache
mov edx, 0x400
mov r8d, 1
lea rcx, str...StandAloneSvcExploitFiles.cpp
call fcn.180001b40
jmp 0x180031172
mov edx, esi
lea rcx, str.Error__d_in_swprintf_s_n
call fcn.180053f50
lea rcx, str.Error_in_swprintf_s_n
jmp 0x18003116c
lea rcx, str.Memory_allocation_error_in_log_file_n
call fcn.180053f50
lea rcx, str.Memory_allocation_error_in_log_file_n
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
test rdi, rdi
je 0x18003117f
mov rcx, rdi
call fcn.180053a94
test rbx, rbx
je 0x18003118c
mov rcx, rbx
call fcn.180053a94
mov dword [rsp + 0x74], r14d
lea rdx, [0x1800311a5]
mov rcx, qword [rsp + 0x50]
call fcn.180057580
nop
nop
nop
mov eax, dword [rsp + 0x40]
jmp 0x18003176d
mov qword [rsp + 0x20], r12
lea r9, [rsp + 0xf8]
mov r8d, 4
lea rdx, [rsp + 0xf0]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x1800314a1
cmp dword [rsp + 0xf8], 4
jne 0x1800314a1
mov eax, dword [rsp + 0xf0]
bswap eax
mov dword [rsp + 0xf0], eax
mov ecx, 0x7ff
mov edi, 0x800
cmp eax, edi
cmovae eax, ecx
mov dword [rsp + 0xf0], eax
mov edx, r14d
mov qword [rsp + 0x40], rdx
xor r9d, r9d
xor r8d, r8d
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_SetFilePointerEx]
test eax, eax
jne 0x18003137c
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea r14d, [rax + 0x1e]
mov dword [rsp + 0x40], r14d
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea esi, [rax + 0x1e]
mov qword [rsp + 0x60], r12
mov ecx, 0x1000a
call fcn.180053ad4
mov rdi, rax
mov ecx, 0x2000a
call fcn.180053ad4
mov rbx, rax
test rdi, rdi
je 0x180031324
test rax, rax
je 0x180031324
mov r9, r15
lea r8, [0x18008890c]
mov edx, 0xffff
mov rcx, rax
call fcn.180053a4c
test eax, eax
jle 0x18003130d
mov word [rbx + 0x1fffe], r12w
mov rdx, 0xfffffffffffffffe
mov rcx, rbx
call fcn.180053398
lea r8, [rax + 1]
mov qword [rsp + 0x20], 0xffffffffffffffff
mov r9, rbx
mov rdx, rdi
lea rcx, [rsp + 0x60]
call fcn.180054798
test eax, eax
je 0x1800312e4
mov r8d, esi
mov rdx, rbx
lea rcx, str.wcstombs_s_error_in_log_file:__s____d_n
call fcn.180053f50
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], rdi
lea r9, str.GetUrlFromFFCache
mov edx, 0x40e
mov r8d, 1
lea rcx, str...StandAloneSvcExploitFiles.cpp
call fcn.180001b40
jmp 0x18003133d
mov edx, esi
lea rcx, str.Error__d_in_swprintf_s_n
call fcn.180053f50
lea rcx, str.Error_in_swprintf_s_n
jmp 0x180031337
lea rcx, str.Memory_allocation_error_in_log_file_n
call fcn.180053f50
lea rcx, str.Memory_allocation_error_in_log_file_n
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
test rdi, rdi
je 0x18003134a
mov rcx, rdi
call fcn.180053a94
test rbx, rbx
je 0x180031357
mov rcx, rbx
call fcn.180053a94
mov dword [rsp + 0xac], r14d
lea rdx, [0x180031373]
mov rcx, qword [rsp + 0x50]
call fcn.180057580
nop
nop
nop
mov eax, dword [rsp + 0x40]
jmp 0x18003176d
mov qword [rsp + 0x20], r12
lea r9, [rsp + 0xf8]
mov r8d, dword [rsp + 0xf0]
mov rdx, rsi
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x1800313d2
mov eax, dword [rsp + 0xf0]
cmp dword [rsp + 0xf8], eax
jne 0x1800313d2
cmp eax, edi
cmovb edi, eax
mov dword [rsp + 0xf0], edi
lea eax, [rdi - 1]
mov byte [rax + rsi], 0
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FindClose]
jmp 0x18003176b
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea edi, [rax + 0x1e]
mov dword [rsp + 0x40], edi
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea esi, [rax + 0x1e]
mov ecx, 0x1000a
call fcn.180053ad4
mov rbx, rax
test rax, rax
jne 0x180031415
lea rcx, str.Memory_allocation_error_in_log_file_n
call fcn.180053f50
lea rcx, str.Memory_allocation_error_in_log_file_n
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
jmp 0x180031480
lea r8, [0x180088a64]
mov edx, 0xffff
mov rcx, rax
call fcn.180053a70
test eax, eax
jle 0x18003145d
mov byte [rbx + 0xffff], 0
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], rbx
lea r9, str.GetUrlFromFFCache
mov edx, 0x413
mov r8d, 1
lea rcx, str...StandAloneSvcExploitFiles.cpp
call fcn.180001b40
jmp 0x180031478
mov edx, esi
lea rcx, str.Error__d_in_swprintf_s_n
call fcn.180053f50
lea rcx, str.Error_in_swprintf_s_n
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov rcx, rbx
call fcn.180053a94
mov dword [rsp + 0x70], edi
lea rdx, [0x180031498]
mov rcx, qword [rsp + 0x50]
call fcn.180057580
nop
nop
nop
mov eax, dword [rsp + 0x40]
jmp 0x18003176d
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea edi, [rax + 0x1e]
mov dword [rsp + 0x40], edi
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea esi, [rax + 0x1e]
mov ecx, 0x1000a
call fcn.180053ad4
mov rbx, rax
test rax, rax
jne 0x1800314e4
lea rcx, str.Memory_allocation_error_in_log_file_n
call fcn.180053f50
lea rcx, str.Memory_allocation_error_in_log_file_n
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
jmp 0x18003154f
lea r8, [0x180088a64]
mov edx, 0xffff
mov rcx, rax
call fcn.180053a70
test eax, eax
jle 0x18003152c
mov byte [rbx + 0xffff], 0
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], rbx
lea r9, str.GetUrlFromFFCache
mov edx, 0x404
mov r8d, 1
lea rcx, str...StandAloneSvcExploitFiles.cpp
call fcn.180001b40
jmp 0x180031547
mov edx, esi
lea rcx, str.Error__d_in_swprintf_s_n
call fcn.180053f50
lea rcx, str.Error_in_swprintf_s_n
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov rcx, rbx
call fcn.180053a94
mov dword [rsp + 0x98], edi
lea rdx, [0x18003156a]
mov rcx, qword [rsp + 0x50]
call fcn.180057580
nop
nop
nop
mov eax, dword [rsp + 0x40]
jmp 0x18003176d
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea edi, [rax + 0x1e]
mov dword [rsp + 0x40], edi
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea esi, [rax + 0x1e]
mov ecx, 0x1000a
call fcn.180053ad4
mov rbx, rax
test rax, rax
jne 0x1800315b6
lea rcx, str.Memory_allocation_error_in_log_file_n
call fcn.180053f50
lea rcx, str.Memory_allocation_error_in_log_file_n
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
jmp 0x180031621
lea r8, [0x180088a64]
mov edx, 0xffff
mov rcx, rax
call fcn.180053a70
test eax, eax
jle 0x1800315fe
mov byte [rbx + 0xffff], 0
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], rbx
lea r9, str.GetUrlFromFFCache
mov edx, 0x3f2
mov r8d, 1
lea rcx, str...StandAloneSvcExploitFiles.cpp
call fcn.180001b40
jmp 0x180031619
mov edx, esi
lea rcx, str.Error__d_in_swprintf_s_n
call fcn.180053f50
lea rcx, str.Error_in_swprintf_s_n
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov rcx, rbx
call fcn.180053a94
mov dword [rsp + 0x88], edi
lea rdx, [0x18003163c]
mov rcx, qword [rsp + 0x50]
call fcn.180057580
nop
nop
nop
mov eax, dword [rsp + 0x40]
jmp 0x18003176d
xor eax, eax
mov rbx, qword [rsp + 0xe0]
add rsp, 0xb0
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret