Function at 0x140286b70
Capabilities:
Get geographical location

Disassembly:
push rbx
sub rsp, 0xb0
mov rax, qword [0x140601e40]
xor rax, rsp
mov qword [rsp + 0xa0], rax
xor eax, eax
mov byte [rsp + 0x38], 0
xorps xmm0, xmm0
mov qword [rsp + 0x49], rax
lea rcx, str.kernel32.dll
mov dword [rsp + 0x51], eax
movups xmmword [rsp + 0x39], xmm0
mov word [rsp + 0x55], ax
mov byte [rsp + 0x57], al
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rcx, rax
lea rdx, str.GetUserDefaultGeoName
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x140286d43
mov edx, 0x20
lea rcx, [rsp + 0x60]
call rax
test eax, eax
je 0x140286bf8
mov r8d, reloc.WS2_32.dll_recv
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x38]
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_wcstombs]
mov edx, 0x20
lea rcx, [rsp + 0x38]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strnlen]
cmp rax, 2
je 0x140286c24
lea r8, [0x14047b280]
mov edx, 0x20
lea rcx, [rsp + 0x38]
call fcn.1402952b0
movzx eax, byte [rsp + 0x38]
xor ebx, ebx
movzx edx, byte [rsp + 0x39]
test al, al
je 0x140286c44
movzx ecx, ax
shl cx, 8
movzx r8d, cx
or r8d, edx
jmp 0x140286c47
mov r8d, ebx
sar r8d, 8
cmp r8b, 0x61
jb 0x140286ca3
test al, al
je 0x140286c65
movzx ecx, ax
shl cx, 8
movzx r8d, cx
or r8d, edx
jmp 0x140286c68
mov r8d, ebx
sar r8d, 8
cmp r8b, 0x7a
ja 0x140286ca3
test al, al
je 0x140286c92
movzx ecx, ax
shl cx, 8
movzx r8d, cx
or r8d, edx
sar r8d, 8
movzx r9d, r8b
and r9d, 0xffffffdf
jmp 0x140286cc2
mov r8d, ebx
sar r8d, 8
movzx r9d, r8b
and r9d, 0xffffffdf
jmp 0x140286cc2
test al, al
je 0x140286cb7
movzx ecx, ax
shl cx, 8
movzx r8d, cx
or r8d, edx
jmp 0x140286cba
mov r8d, ebx
sar r8d, 8
movzx r9d, r8b
test al, al
je 0x140286cd6
movzx ecx, ax
shl cx, 8
movzx r8d, cx
or r8d, edx
jmp 0x140286cd9
mov r8d, ebx
cmp r8b, 0x61
jb 0x140286d14
test al, al
je 0x140286cf3
movzx ecx, ax
shl cx, 8
movzx r8d, cx
or r8d, edx
jmp 0x140286cf6
mov r8d, ebx
cmp r8b, 0x7a
ja 0x140286d14
test al, al
je 0x140286d0c
movzx ecx, ax
shl cx, 8
movzx ebx, cx
or ebx, edx
movzx edx, bl
and edx, 0xffffffdf
jmp 0x140286d27
test al, al
je 0x140286d24
movzx ecx, ax
shl cx, 8
movzx ebx, cx
or ebx, edx
movzx edx, bl
mov eax, 0x100
movzx ecx, r9w
imul ecx, eax
add cx, dx
movzx eax, cx
add eax, 0x7a7a0000
jmp 0x140286e5c
mov qword [rsp + 0xc0], rsi
mov ecx, reloc.WS2_32.dll_recv
mov qword [rsp + 0xc8], rdi
mov edi, 0x5a5a
call qword [sym.imp.KERNEL32.dll_GetUserGeoID]
mov esi, eax
cmp eax, 0xffffffff
jne 0x140286d74
mov eax, 0x7a7a5a5a
jmp 0x140286e4c
mov edx, 8
lea rcx, [rsp + 0x30]
call fcn.140295260
xor ebx, ebx
lea r8, [rsp + 0x30]
mov ecx, esi
mov word [rsp + 0x20], bx
lea r9d, [rbx + 8]
lea edx, [rbx + 4]
call qword [sym.imp.KERNEL32.dll_GetGeoInfoA]
test eax, eax
jle 0x140286df0
lea rcx, [rsp + 0x30]
mov rax, 0xffffffffffffffff
nop
inc rax
cmp byte [rcx + rax], bl
jne 0x140286db0
cmp rax, 2
jne 0x140286df0
lea rdx, [0x14047b2a0]
lea rcx, [rsp + 0x30]
call fcn.1402952d0
test eax, eax
je 0x140286df0
mov rax, qword [rsp + 0x30]
test al, al
je 0x140286ded
movzx edi, al
movzx eax, byte [rsp + 0x31]
shl di, 8
or di, ax
jmp 0x140286df0
movzx edi, bx
movzx eax, di
shr ax, 8
cmp al, 0x61
jb 0x140286e15
movzx eax, di
shr ax, 8
cmp al, 0x7a
ja 0x140286e15
movzx eax, di
shr ax, 8
movzx ecx, al
and ecx, 0xffffffdf
jmp 0x140286e1b
movzx ecx, di
shr ecx, 8
cmp dil, 0x61
jb 0x140286e30
cmp dil, 0x7a
ja 0x140286e30
movzx edx, dil
and edx, 0xffffffdf
jmp 0x140286e36
movzx eax, di
movzx edx, al
mov eax, 0x100
movzx ecx, cx
imul ecx, eax
add cx, dx
movzx eax, cx
add eax, 0x7a7a0000
mov rsi, qword [rsp + 0xc0]
mov rdi, qword [rsp + 0xc8]
mov rcx, qword [rsp + 0xa0]
xor rcx, rsp
call fcn.140284180
add rsp, 0xb0
pop rbx
ret