Function at 0x180003880
Capabilities:
Check for debugger via api
Get geographical location
Move file
Print debug messages
Terminate process

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r14
sub rsp, 0x50
cmp dword [rcx + 0x18], 0
mov rbx, rcx
jne 0x180003a9d
call fcn.1800484e8
mov r9d, eax
mov eax, 0x55555556
imul r9d
mov r8d, edx
shr r8d, 0x1f
add edx, r8d
lea ecx, [rdx + rdx*2]
sub r9d, ecx
mov ecx, 1
inc r9d
mov dword [rbx + 0x18], r9d
call fcn.18004268c
mov edx, dword [rbx + 0x18]
mov rdi, rax
sub edx, 1
je 0x180003a78
sub edx, 1
je 0x18000390b
cmp edx, 1
jne 0x180003a90
mov edx, 0x3ec0
mov rcx, rax
call fcn.1800053e0
mov qword [rbx + 0x10], rax
jmp 0x180003a90
mov ecx, 0x1aa5
inc ecx
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea edx, [rdx + rdx*2]
cmp ecx, edx
jne 0x180003910
mov eax, ecx
and eax, 0x80000003
jge 0x180003937
dec eax
or eax, 0xfffffffc
inc eax
test eax, eax
je 0x180003945
test ecx, ecx
jle 0x180003945
sub ecx, 0xc49
mov r9d, 0x24a6
mov r8d, 0x5a5e
sub r9d, ecx
nop dword [rax]
nop dword [rax + rax]
inc r8d
mov eax, 0x55555556
imul r8d
mov eax, edx
shr eax, 0x1f
add edx, eax
lea ecx, [rdx + rdx*2]
cmp r8d, ecx
jne 0x180003960
lea ecx, [r8 + r8]
mov r10d, 0x8e5b
sub r10d, ecx
lea edx, [rcx - 0x9f2e]
mov r8d, 0xffff78d3
lea eax, [r9 + r10]
mov r9d, 0x4a9a
add edx, eax
add eax, 0xfffffdf4
sub r8d, eax
sub r9d, edx
sub r10d, r8d
add eax, 0xffffe652
lea esi, [rdx - 0x3c1]
mov edx, 0xffff8e1f
sub edx, eax
lea ebp, [r8 + 0x77c2]
lea ecx, [rax + 0x75c1]
mov eax, r9d
add ecx, r8d
lea r11d, [r10 - 0x9485]
add r11d, r8d
lea r14d, [r9 + 0x2dd3]
sub r11d, edx
lea r10d, [r10*2 - 0xb29c]
add edx, 0x216f
sub eax, ecx
sub edx, esi
sub edx, ebp
add eax, edx
add edx, edx
mov r8d, eax
sub r8d, r9d
add r8d, 0x3c57
cmp ecx, 0xffffd4e6
jne 0x180003a6c
cmp r11d, 0xffff8b21
jne 0x180003a6c
cmp r8d, 0x3e63
jne 0x180003a6c
cmp eax, 0x4730
jne 0x180003a6c
cmp esi, 0x1b5
jne 0x180003a6c
sub edx, r10d
cmp edx, 0xffffc340
jne 0x180003a6c
cmp ebp, 0x2bd
jne 0x180003a6c
cmp r14d, 0x72f7
jne 0x180003a6c
cmp r10d, 0xffffeaa4
jne 0x180003a6c
mov edx, 0x3ec0
mov rcx, rdi
call fcn.1800053e0
mov qword [rbx + 8], rax
jmp 0x180003a90
mov ecx, 1
call qword [sym.imp.KERNEL32.dll_ExitProcess]
mov edx, 0x3ec0
mov rcx, rdi
call fcn.1800053e0
mov qword [rbx], rax
nop dword [rax + rax]
mov edx, 1
mov rcx, rdi
call fcn.1800425a0
mov edx, dword [0x1800d2574]
xor esi, esi
cmp edx, 0x99aefebd
jne 0x180003b78
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_LocalReAlloc]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.USER32.dll_SetWindowDisplayAffinity]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_FindFirstFileW]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CheckRemoteDebuggerPresent]
xor ecx, ecx
call qword [sym.imp.USER32.dll_CopyIcon]
xor ecx, ecx
call qword [sym.imp.USER32.dll_SetActiveWindow]
mov dword [rsp + 0x30], esi
xor r9d, r9d
mov qword [rsp + 0x28], rsi
xor r8d, r8d
xor edx, edx
mov qword [rsp + 0x20], rsi
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_MapViewOfFileExNuma]
call qword [sym.imp.KERNEL32.dll_GetActiveProcessorGroupCount]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_RegisterBadMemoryNotification]
xor r9d, r9d
mov dword [rsp + 0x20], esi
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_MoveFileWithProgressW]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
xor r9d, r9d
mov dword [rsp + 0x20], esi
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetAltTabInfoW]
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.USER32.dll_CopyAcceleratorTableW]
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SystemTimeToTzSpecificLocalTime]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov edx, dword [0x1800d2574]
mov ecx, dword [rbx + 0x18]
mov rdi, rsi
sub ecx, 1
je 0x180003b99
sub ecx, 1
je 0x180003b93
cmp ecx, 1
jne 0x180003b9c
mov rdi, qword [rbx + 0x10]
jmp 0x180003b9c
mov rdi, qword [rbx + 8]
jmp 0x180003b9c
mov rdi, qword [rbx]
cmp edx, 0xd5eba42a
jne 0x180003cf9
mov qword [rsp + 0x28], rsi
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], rsi
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetWriteWatch]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_InitOnceInitialize]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetMonitorInfoW]
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.USER32.dll_SetWindowLongPtrW]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_EnumCalendarInfoExW]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.USER32.dll_ValidateRgn]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetWindow]
xor r9d, r9d
mov dword [rsp + 0x28], esi
xor r8d, r8d
mov dword [rsp + 0x20], esi
xor edx, edx
xor ecx, ecx
call qword [sym.imp.USER32.dll_MoveWindow]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.USER32.dll_SetSystemCursor]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_ApplicationRecoveryFinished]
lea rdx, str.5Xmm89ctvVasgwPh581h2
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetThreadDescription]
call qword [sym.imp.USER32.dll_IsProcessDPIAware]
xor ecx, ecx
call qword [sym.imp.USER32.dll_DdeUnaccessData]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetDlgItemTextW]
xor ecx, ecx
call qword [sym.imp.USER32.dll_IsCharAlphaW]
mov qword [rsp + 0x40], rsi
lea rax, str.8nP6ZPF1EulM49o84c8rUd5fyZUHs
mov qword [rsp + 0x38], rsi
lea r8, str.Bbf6NzwJ3DiE72YufvjQz3RSOFI6
mov qword [rsp + 0x30], rsi
lea rcx, str.KRZcqjIBch5KJxb19Hk
mov dword [rsp + 0x28], esi
xor r9d, r9d
xor edx, edx
mov qword [rsp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_CompareStringEx]
xor ecx, ecx
call qword [sym.imp.USER32.dll_PostQuitMessage]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.USER32.dll_HiliteMenuItem]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
xor ecx, ecx
call qword [sym.imp.USER32.dll_OpenIcon]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.USER32.dll_PostThreadMessageW]
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetCurrentConsoleFont]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateTapePartition]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThreadpool]
mov rbx, qword [rsp + 0x60]
mov rax, rdi
mov rdi, qword [rsp + 0x78]
mov rbp, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
add rsp, 0x50
pop r14
ret