Function at 0x140004c10
Capabilities:
Get geographical location

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
mov rdi, rdx
mov rbx, rcx
call fcn.1400e9590
mov r8, qword [rbx + 0x10]
mov qword [r8], rax
mov byte [r8 + 8], 0x45
mov rax, qword [rbx + 0x18]
add qword [rbx + 0x10], 0x10
cmp qword [rax + 0x18], 0
jle 0x140004c4e
mov rcx, rbx
call fcn.1400d0cb0
lea rdx, str.name
mov rcx, rbx
call fcn.1400e2bd0
mov rcx, qword [rbx + 0x10]
mov qword [rcx], rax
movzx eax, byte [rax + 8]
or al, 0x40
mov byte [rcx + 8], al
mov rax, qword [rbx + 0x18]
add qword [rbx + 0x10], 0x10
cmp qword [rax + 0x18], 0
jle 0x140004c85
mov rcx, rbx
call fcn.1400d0cb0
lea rdx, [rdi + 0x248]
cmp qword [rdx + 0x18], 0x10
jb 0x140004c96
mov rdx, qword [rdx]
test rdx, rdx
jne 0x140004ca4
mov rax, qword [rbx + 0x10]
mov byte [rax + 8], dl
jmp 0x140004cbc
mov rcx, rbx
call fcn.1400e2bd0
mov rcx, qword [rbx + 0x10]
mov qword [rcx], rax
movzx eax, byte [rax + 8]
or al, 0x40
mov byte [rcx + 8], al
mov rax, qword [rbx + 0x18]
add qword [rbx + 0x10], 0x10
cmp qword [rax + 0x18], 0
jle 0x140004cd4
mov rcx, rbx
call fcn.1400d0cb0
mov rcx, rbx
call fcn.1400be3c0
lea rdx, str.world
mov rcx, rbx
call fcn.1400e2bd0
mov rcx, qword [rbx + 0x10]
mov qword [rcx], rax
movzx eax, byte [rax + 8]
or al, 0x40
mov byte [rcx + 8], al
mov rax, qword [rbx + 0x18]
add qword [rbx + 0x10], 0x10
cmp qword [rax + 0x18], 0
jle 0x140004d13
mov rcx, rbx
call fcn.1400d0cb0
lea rdx, [rdi + 0x62c0]
cmp qword [rdx + 0x18], 0x10
jb 0x140004d24
mov rdx, qword [rdx]
test rdx, rdx
jne 0x140004d32
mov rax, qword [rbx + 0x10]
mov byte [rax + 8], dl
jmp 0x140004d4a
mov rcx, rbx
call fcn.1400e2bd0
mov rcx, qword [rbx + 0x10]
mov qword [rcx], rax
movzx eax, byte [rax + 8]
or al, 0x40
mov byte [rcx + 8], al
mov rax, qword [rbx + 0x18]
add qword [rbx + 0x10], 0x10
cmp qword [rax + 0x18], 0
jle 0x140004d62
mov rcx, rbx
call fcn.1400d0cb0
mov rcx, rbx
call fcn.1400be3c0
lea rdx, [0x14018c3fc]
mov rcx, rbx
call fcn.1400e2bd0
mov rcx, qword [rbx + 0x10]
mov qword [rcx], rax
movzx eax, byte [rax + 8]
or al, 0x40
mov byte [rcx + 8], al
add qword [rbx + 0x10], 0x10
mov rax, qword [rbx + 0x18]
mov rdx, qword [rbx + 0x10]
cmp qword [rax + 0x18], 0
jle 0x140004da9
mov rcx, rbx
call fcn.1400d0cb0
mov rdx, qword [rbx + 0x10]
mov rax, qword [rdi]
xor esi, esi
test rax, rax
je 0x140004db8
mov ecx, dword [rax + 0x40]
jmp 0x140004dba
mov ecx, esi
movsxd rax, ecx
mov rcx, rbx
mov qword [rdx], rax
mov byte [rdx + 8], 3
add qword [rbx + 0x10], 0x10
call fcn.1400be3c0
lea rdx, str.status
mov rcx, rbx
call fcn.1400e2bd0
mov rcx, qword [rbx + 0x10]
mov qword [rcx], rax
movzx eax, byte [rax + 8]
or al, 0x40
mov byte [rcx + 8], al
mov rax, qword [rbx + 0x18]
add qword [rbx + 0x10], 0x10
cmp qword [rax + 0x18], rsi
jle 0x140004e07
mov rcx, rbx
call fcn.1400d0cb0
lea rdx, [rdi + 0x2a8]
cmp qword [rdx + 0x18], 0x10
jb 0x140004e18
mov rdx, qword [rdx]
test rdx, rdx
jne 0x140004e27
mov rax, qword [rbx + 0x10]
mov byte [rax + 8], sil
jmp 0x140004e3f
mov rcx, rbx
call fcn.1400e2bd0
mov rcx, qword [rbx + 0x10]
mov qword [rcx], rax
movzx eax, byte [rax + 8]
or al, 0x40
mov byte [rcx + 8], al
mov rax, qword [rbx + 0x18]
add qword [rbx + 0x10], 0x10
cmp qword [rax + 0x18], rsi
jle 0x140004e56
mov rcx, rbx
call fcn.1400d0cb0
mov rcx, rbx
call fcn.1400be3c0
lea rdx, str.ping
mov rcx, rbx
call fcn.1400e2bd0
mov rcx, qword [rbx + 0x10]
mov qword [rcx], rax
movzx eax, byte [rax + 8]
or al, 0x40
mov byte [rcx + 8], al
add qword [rbx + 0x10], 0x10
mov rax, qword [rbx + 0x18]
mov rcx, qword [rbx + 0x10]
cmp qword [rax + 0x18], rsi
jle 0x140004e9c
mov rcx, rbx
call fcn.1400d0cb0
mov rcx, qword [rbx + 0x10]
mov rax, qword [rdi]
test rax, rax
je 0x140004eaa
mov esi, dword [rax + 0xf4]
mov byte [rcx + 8], 3
movsxd rax, esi
mov qword [rcx], rax
mov rcx, rbx
add qword [rbx + 0x10], 0x10
call fcn.1400be3c0
lea rdx, [0x14018c414]
mov rcx, rbx
call fcn.1400e2bd0
mov rcx, qword [rbx + 0x10]
mov qword [rcx], rax
movzx eax, byte [rax + 8]
or al, 0x40
mov byte [rcx + 8], al
mov rax, qword [rbx + 0x18]
add qword [rbx + 0x10], 0x10
cmp qword [rax + 0x18], 0
jle 0x140004ef8
mov rcx, rbx
call fcn.1400d0cb0
movss xmm0, dword [rdi + 0x61c8]
mov rcx, rbx
mov rax, qword [rbx + 0x10]
cvtps2pd xmm0, xmm0
mov byte [rax + 8], reloc.WS2_32.dll_send
movsd qword [rax], xmm0
add qword [rbx + 0x10], 0x10
call fcn.1400be3c0
lea rdx, [0x14018c418]
mov rcx, rbx
call fcn.1400e2bd0
mov rcx, qword [rbx + 0x10]
mov qword [rcx], rax
movzx eax, byte [rax + 8]
or al, 0x40
mov byte [rcx + 8], al
mov rax, qword [rbx + 0x18]
add qword [rbx + 0x10], 0x10
cmp qword [rax + 0x18], 0
jle 0x140004f53
mov rcx, rbx
call fcn.1400d0cb0
movss xmm0, dword [rdi + 0x61cc]
mov rcx, rbx
mov rax, qword [rbx + 0x10]
cvtps2pd xmm0, xmm0
mov byte [rax + 8], reloc.WS2_32.dll_send
movsd qword [rax], xmm0
add qword [rbx + 0x10], 0x10
call fcn.1400be3c0
lea rdx, str.netId
mov rcx, rbx
call fcn.1400e2bd0
mov rcx, qword [rbx + 0x10]
mov qword [rcx], rax
movzx eax, byte [rax + 8]
or al, 0x40
mov byte [rcx + 8], al
mov rax, qword [rbx + 0x18]
add qword [rbx + 0x10], 0x10
cmp qword [rax + 0x18], 0
jle 0x140004fae
mov rcx, rbx
call fcn.1400d0cb0
mov rcx, qword [rbx + 0x10]
movsxd rax, dword [rdi + 0x61c0]
mov qword [rcx], rax
mov byte [rcx + 8], 3
mov rcx, rbx
add qword [rbx + 0x10], 0x10
call fcn.1400be3c0
lea rdx, str.userId
mov rcx, rbx
call fcn.1400e2bd0
mov rcx, qword [rbx + 0x10]
mov qword [rcx], rax
movzx eax, byte [rax + 8]
or al, 0x40
mov byte [rcx + 8], al
mov rax, qword [rbx + 0x18]
add qword [rbx + 0x10], 0x10
cmp qword [rax + 0x18], 0
jle 0x140005004
mov rcx, rbx
call fcn.1400d0cb0
mov rcx, qword [rbx + 0x10]
movsxd rax, dword [rdi + 0x61c4]
mov qword [rcx], rax
mov byte [rcx + 8], 3
mov rcx, rbx
add qword [rbx + 0x10], 0x10
call fcn.1400be3c0
lea rdx, str.level
mov rcx, rbx
call fcn.1400e2bd0
mov rcx, qword [rbx + 0x10]
mov qword [rcx], rax
movzx eax, byte [rax + 8]
or al, 0x40
mov byte [rcx + 8], al
mov rax, qword [rbx + 0x18]
add qword [rbx + 0x10], 0x10
cmp qword [rax + 0x18], 0
jle 0x14000505a
mov rcx, rbx
call fcn.1400d0cb0
mov rcx, qword [rbx + 0x10]
movsxd rax, dword [rdi + 0x624c]
mov qword [rcx], rax
mov byte [rcx + 8], 3
mov rcx, rbx
add qword [rbx + 0x10], 0x10
call fcn.1400be3c0
lea rdx, [0x14018c430]
mov rcx, rbx
call fcn.1400e2bd0
mov rcx, qword [rbx + 0x10]
mov qword [rcx], rax
movzx eax, byte [rax + 8]
or al, 0x40
mov byte [rcx + 8], al
mov rax, qword [rbx + 0x18]
add qword [rbx + 0x10], 0x10
cmp qword [rax + 0x18], 0
jle 0x1400050b0
mov rcx, rbx
call fcn.1400d0cb0
lea rdx, [rdi + 0x6200]
cmp qword [rdx + 0x18], 0x10
jb 0x1400050c1
mov rdx, qword [rdx]
test rdx, rdx
jne 0x1400050cf
mov rax, qword [rbx + 0x10]
mov byte [rax + 8], dl
jmp 0x1400050e7
mov rcx, rbx
call fcn.1400e2bd0
mov rcx, qword [rbx + 0x10]
mov qword [rcx], rax
movzx eax, byte [rax + 8]
or al, 0x40
mov byte [rcx + 8], al
mov rax, qword [rbx + 0x18]
add qword [rbx + 0x10], 0x10
cmp qword [rax + 0x18], 0
jle 0x1400050ff
mov rcx, rbx
call fcn.1400d0cb0
mov rcx, rbx
call fcn.1400be3c0
lea rdx, str.captcha
mov rcx, rbx
call fcn.1400e2bd0
mov rcx, qword [rbx + 0x10]
mov qword [rcx], rax
movzx eax, byte [rax + 8]
or al, 0x40
mov byte [rcx + 8], al
mov rax, qword [rbx + 0x18]
add qword [rbx + 0x10], 0x10
cmp qword [rax + 0x18], 0
jle 0x14000513e
mov rcx, rbx
call fcn.1400d0cb0
lea rdx, [rdi + 0x6220]
cmp qword [rdx + 0x18], 0x10
jb 0x14000514f
mov rdx, qword [rdx]
test rdx, rdx
jne 0x14000515d
mov rax, qword [rbx + 0x10]
mov byte [rax + 8], dl
jmp 0x140005175
mov rcx, rbx
call fcn.1400e2bd0
mov rcx, qword [rbx + 0x10]
mov qword [rcx], rax
movzx eax, byte [rax + 8]
or al, 0x40
mov byte [rcx + 8], al
mov rax, qword [rbx + 0x18]
add qword [rbx + 0x10], 0x10
cmp qword [rax + 0x18], 0
jle 0x14000518d
mov rcx, rbx
call fcn.1400d0cb0
mov rcx, rbx
call fcn.1400be3c0
lea rdx, str.playTime
mov rcx, rbx
call fcn.1400e2bd0
mov rcx, qword [rbx + 0x10]
mov qword [rcx], rax
movzx eax, byte [rax + 8]
or al, 0x40
mov byte [rcx + 8], al
mov rax, qword [rbx + 0x18]
add qword [rbx + 0x10], 0x10
cmp qword [rax + 0x18], 0
jle 0x1400051cc
mov rcx, rbx
call fcn.1400d0cb0
mov rcx, qword [rbx + 0x10]
movsxd rax, dword [rdi + 0x6248]
mov qword [rcx], rax
mov byte [rcx + 8], 3
mov rcx, rbx
add qword [rbx + 0x10], 0x10
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
jmp fcn.1400be3c0