Function at 0x180179160
Capabilities:
Get geographical location

Disassembly:
push rsi
push rdi
push r14
sub rsp, 0xc0
mov qword [rsp + 0x58], 0xfffffffffffffffe
mov qword [rsp + 0xf8], rbx
mov rax, qword [0x1803fc9f0]
xor rax, rsp
mov qword [rsp + 0xb0], rax
mov rbx, r8
mov esi, edx
mov rdi, rcx
xor r14d, r14d
mov dword [rsp + 0x50], r14d
mov rax, qword [rcx]
call qword [rax + reloc.WSOCK32.dll_recv]
test al, al
je case.0x1801791cd.7
lea eax, [rsi - 1]
cmp eax, 0x14
ja case.0x1801791cd.7
cdqe
lea rcx, [0x180000000]
mov r9d, dword [rcx + rax*4 + 0x179478]
add r9, rcx
jmp r9
mov r8, rbx
mov edx, esi
mov rcx, rdi
call fcn.180175300
jmp case.0x1801791cd.7
mov rdx, rbx
mov rcx, rdi
call fcn.180175fe0
mov r14d, eax
mov dword [rsp + 0x50], eax
jmp case.0x1801791cd.7
mov rdx, rbx
mov rcx, rdi
call fcn.180175630
mov r14d, eax
mov dword [rsp + 0x50], eax
jmp case.0x1801791cd.7
mov byte [rsp + 0x70], 0
mov rax, qword [0x180400a08]
cmp dword [rax + 0x3cc], 0
je 0x1801792bd
xor ecx, ecx
call fcn.1802d7150
mov r8d, 1
lea rdx, [rsp + 0x60]
mov rcx, rax
call fcn.1802b6c70
mov r9d, 0x19
lea r8, [rsp + 0x90]
mov edx, 0x1003
mov ecx, 0x400
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoA]
mov dword [rsp + 0x28], 0x1b
lea rax, [rsp + 0x71]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x90]
lea r8, [rsp + 0x60]
xor edx, edx
mov ecx, 0x400
call qword [sym.imp.KERNEL32.dll_GetTimeFormatA]
mov byte [rsp + 0x70], 0x5b
lea rcx, [rsp + 0x70]
dec rcx
nop word [rax + rax]
lea rcx, [rcx + 1]
cmp byte [rcx], 0
jne 0x1801792a0
movzx eax, word [0x18003573c]
mov word [rcx], ax
movzx eax, byte [0x18003573e]
mov byte [rcx + 2], al
mov rdx, qword [rbx + 0x10]
or rax, 0xffffffffffffffff
mov rcx, rax
nop dword [rax + rax]
inc rcx
cmp byte [rdx + rcx], 0
jne 0x1801792d0
lea r8, [rsp + 0x70]
mov rdx, rax
inc rdx
cmp byte [r8 + rdx], 0
jne 0x1801792e1
add rcx, rdx
mov rdx, qword [rbx]
inc rax
cmp byte [rdx + rax], 0
jne 0x1801792f1
add rax, 0xa
add rcx, rax
call fcn.1802b8484
mov rsi, rax
lea rdx, [rsp + 0x70]
lea rax, [rsp + 0x70]
mov r8, rsi
sub r8, rax
nop dword [rax]
movzx ecx, byte [rdx]
mov byte [r8 + rdx], cl
lea rdx, [rdx + 1]
test cl, cl
jne 0x180179320
lea rcx, [rsi - 1]
lea rcx, [rcx + 1]
cmp byte [rcx], 0
jne 0x180179333
mov r8, qword [rbx]
xor edx, edx
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [r8 + rdx]
mov byte [rcx + rdx], al
lea rdx, [rdx + 1]
test al, al
jne 0x180179350
lea rcx, [rsi - 1]
lea rcx, [rcx + 1]
cmp byte [rcx], 0
jne 0x180179364
movzx eax, word [0x18003577c]
mov word [rcx], ax
movzx eax, byte [0x18003577e]
mov byte [rcx + 2], al
lea rcx, [rsi - 1]
lea rcx, [rcx + 1]
cmp byte [rcx], 0
jne 0x180179385
mov r8, qword [rbx + 0x10]
xor edx, edx
nop dword [rax]
nop dword [rax + rax]
movzx eax, byte [r8 + rdx]
mov byte [rcx + rdx], al
lea rdx, [rdx + 1]
test al, al
jne 0x1801793a0
lea rcx, [rsi - 1]
lea rcx, [rcx + 1]
cmp byte [rcx], 0
jne 0x1801793b4
movzx eax, word [0x18003578c]
mov word [rcx], ax
movzx eax, byte [0x18003578e]
mov byte [rcx + 2], al
mov dword [rsp + 0x40], 0x77134ac6
mov eax, dword [rbx + 0x20]
mov dword [rsp + 0x38], eax
mov rax, qword [rbx + 0x18]
mov qword [rsp + 0x30], rax
mov rax, qword [rbx]
mov qword [rsp + 0x28], rax
mov rax, qword [rbx + 0x28]
mov qword [rsp + 0x20], rax
mov r9, qword [rbx + 8]
mov r8, rsi
mov edx, dword [rbx + 0x24]
mov rcx, rdi
call fcn.180174a20
mov rcx, rsi
call fcn.1802b8d50
jmp case.0x1801791cd.7
mov rdx, rbx
mov rcx, rdi
call fcn.180175900
jmp case.0x1801791cd.7
mov rdx, rbx
mov rcx, rdi
call fcn.1801757a0
jmp case.0x1801791cd.7
mov rdx, rbx
mov rcx, rdi
call fcn.180175ae0
jmp case.0x1801791cd.7
mov rdx, rbx
mov rcx, rdi
call fcn.1801750b0
nop
mov eax, r14d
jmp 0x180179452
mov rcx, qword [rsp + 0xb0]
xor rcx, rsp
call fcn.1802b85a0
mov rbx, qword [rsp + 0xf8]
add rsp, 0xc0
pop r14
pop rdi
pop rsi
ret