Function at 0x14005c030
Capabilities:
Get geographical location

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r13
push r14
lea rbp, [rsp - 0x380]
sub rsp, 0x480
mov rax, qword [0x1401900d0]
xor rax, rsp
mov qword [rbp + 0x370], rax
mov ebx, r8d
mov rdi, rdx
mov qword [rsp + 0x48], rdx
xor r13d, r13d
xorps xmm0, xmm0
cmp r8d, 0x404
jne 0x14005c099
movups xmmword [rdx], xmm0
mov qword [rdx + 0x10], r13
mov qword [rdx + 0x18], r13
lea r8d, [r13 + 0x13]
lea rdx, str.Traditional_Chinese
mov rcx, rdi
call fcn.14000d470
jmp 0x14005c325
cmp ebx, 0x804
jne 0x14005c0c6
movups xmmword [rdx], xmm0
mov qword [rdx + 0x10], r13
mov qword [rdx + 0x18], r13
mov r8d, reloc.WS2_32.dll_select
lea rdx, str.Simplified_Chinese
mov rcx, rdi
call fcn.14000d470
jmp 0x14005c325
movups xmmword [rsp + 0x50], xmm0
mov qword [rsp + 0x60], r13
mov qword [rsp + 0x68], r13
mov r8d, 7
lea rdx, str.English
lea rcx, [rsp + 0x50]
call fcn.14000d470
nop
mov r9d, 0x200
lea r8, [rsp + 0x70]
mov edx, 0x1001
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoA]
test eax, eax
jne 0x14005c133
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
lea rax, str._LanguageManager__GetLocaleInfoA_fail:
add rbx, rax
call fcn.140061ec0
mov rcx, rax
mov r8b, 1
mov rdx, rbx
call fcn.1400616d0
jmp 0x14005c2f7
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x30], xmm1
lea rax, [rsp + 0x70]
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], 0
jne 0x14005c150
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0x20]
call fcn.14000d470
mov rdx, qword [rsp + 0x68]
cmp rdx, 0x10
jb 0x14005c1a6
inc rdx
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005c1a1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005c356
call fcn.140105840
movups xmm0, xmmword [rsp + 0x20]
movups xmmword [rsp + 0x50], xmm0
movups xmm1, xmmword [rsp + 0x30]
movups xmmword [rsp + 0x60], xmm1
movdqa xmm0, xmmword [0x140168ca0]
movdqu xmmword [rsp + 0x30], xmm0
mov byte [rsp + 0x20], 0
lea rcx, [rsp + 0x20]
call fcn.14000d2f0
lea rbx, [rsp + 0x50]
cmp qword [rsp + 0x68], 0x10
cmovae rbx, qword [rsp + 0x50]
mov r14, qword [rsp + 0x60]
cmp r14, 1
jb 0x14005c242
lea rsi, [r14 + rbx]
mov r8, r14
mov edx, 0x20
mov rcx, rbx
call fcn.140109e00
test rax, rax
je 0x14005c242
nop dword [rax]
cmp byte [rax], 0x20
jne 0x14005c21a
mov ecx, r13d
jmp 0x14005c21f
sbb ecx, ecx
or ecx, 1
test ecx, ecx
je 0x14005c34e
inc rax
mov r8, rsi
sub r8, rax
mov edx, 0x20
mov rcx, rax
call fcn.140109e00
test rax, rax
jne 0x14005c210
mov rax, 0xffffffffffffffff
cmp rax, 0xffffffffffffffff
je 0x14005c2f7
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x30], xmm1
cmp r14, rax
cmovb rax, r14
lea rdx, [rsp + 0x50]
cmp qword [rsp + 0x68], 0x10
cmovae rdx, qword [rsp + 0x50]
mov r8, rax
lea rcx, [rsp + 0x20]
call fcn.14000d470
mov rdx, qword [rsp + 0x68]
cmp rdx, 0x10
jb 0x14005c2c6
inc rdx
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005c2c1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005c356
call fcn.140105840
movups xmm0, xmmword [rsp + 0x20]
movups xmmword [rsp + 0x50], xmm0
movups xmm1, xmmword [rsp + 0x30]
movups xmmword [rsp + 0x60], xmm1
movdqa xmm0, xmmword [0x140168ca0]
movdqu xmmword [rsp + 0x30], xmm0
mov byte [rsp + 0x20], 0
lea rcx, [rsp + 0x20]
call fcn.14000d2f0
movups xmm0, xmmword [rsp + 0x50]
movups xmm1, xmmword [rsp + 0x60]
movups xmmword [rdi], xmm0
mov byte [rsp + 0x50], 0
mov qword [rsp + 0x68], reloc.WS2_32.dll_ntohs
mov qword [rsp + 0x60], r13
movups xmmword [rdi + 0x10], xmm1
lea rcx, [rsp + 0x50]
call fcn.14000d2f0
mov rax, rdi
mov rcx, qword [rbp + 0x370]
xor rcx, rsp
call fcn.140105820
mov rbx, qword [rsp + 0x4b0]
add rsp, 0x480
pop r14
pop r13
pop rdi
pop rsi
pop rbp
ret
sub rax, rbx
jmp 0x14005c249
call fcn.14010e2dc
int3