Function at 0x1400ee390
Capabilities:
Check if file exists
Get geographical location
Read .ini file

Disassembly:
mov qword [rsp + 8], rcx
push rdi
sub rsp, 0xcb0
mov qword [rsp + 0xbe0], 0xfffffffffffffffe
mov rax, qword [0x1402bd5c0]
xor rax, rsp
mov qword [rsp + 0xca8], rax
mov dword [rsp + 0xbd8], 0
xor eax, eax
mov word [rsp + 0x250], ax
lea rdi, [rsp + 0x252]
xor eax, eax
mov ecx, 0x7fe
rep stosb byte [rdi], al
lea rcx, [rsp + 0xb30]
call fcn.1400eccf0
mov qword [rsp + 0xbe8], rax
mov rax, qword [rsp + 0xbe8]
mov qword [rsp + 0xbf0], rax
lea r8, [0x14022cdc0]
mov rdx, qword [rsp + 0xbf0]
lea rcx, [rsp + 0xb38]
call fcn.1400010b0
mov qword [rsp + 0xbf8], rax
mov rcx, qword [rsp + 0xbf8]
call fcn.140050200
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x400
lea r9, [rsp + 0x250]
lea r8, [0x14022cbe4]
lea rdx, [0x14022cde0]
lea rcx, [0x14022cdf8]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea rcx, [rsp + 0xb38]
call fcn.140007060
nop
lea rcx, [rsp + 0xb30]
call fcn.140007060
movzx eax, word [rsp + 0x250]
test eax, eax
je 0x1400ee4c1
lea rdx, [rsp + 0x250]
mov rcx, qword [rsp + 0xcc0]
call fcn.140002050
mov eax, dword [rsp + 0xbd8]
or eax, 1
mov dword [rsp + 0xbd8], eax
mov rax, qword [rsp + 0xcc0]
jmp 0x1400eea89
lea rcx, [rsp + 0xb48]
call fcn.1400eccf0
mov qword [rsp + 0xc00], rax
mov rax, qword [rsp + 0xc00]
mov qword [rsp + 0xc08], rax
lea r8, [0x14022ce10]
mov rdx, qword [rsp + 0xc08]
lea rcx, [rsp + 0xb50]
call fcn.1400010b0
mov qword [rsp + 0xc10], rax
mov rcx, qword [rsp + 0xc10]
call fcn.140050200
mov rcx, rax
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x1400ee531
mov dword [rsp + 0xc18], 1
jmp 0x1400ee53c
mov dword [rsp + 0xc18], 0
movzx eax, byte [rsp + 0xc18]
mov byte [rsp + 0xb40], al
lea rcx, [rsp + 0xb50]
call fcn.140007060
nop
lea rcx, [rsp + 0xb48]
call fcn.140007060
movzx edx, byte [rsp + 0xb40]
test edx, edx
je 0x1400ee637
lea rcx, [rsp + 0xb58]
call fcn.1400eccf0
mov qword [rsp + 0xc20], rax
mov rax, qword [rsp + 0xc20]
mov qword [rsp + 0xc28], rax
lea r8, [0x14022ce30]
mov rdx, qword [rsp + 0xc28]
lea rcx, [rsp + 0xb60]
call fcn.1400010b0
mov qword [rsp + 0xc30], rax
mov rcx, qword [rsp + 0xc30]
call fcn.140050200
mov r9, rax
lea r8, [0x14022ce50]
lea rdx, [0x14022ce58]
lea rcx, [0x14022ce70]
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
lea rcx, [rsp + 0xb60]
call fcn.140007060
nop
lea rcx, [rsp + 0xb58]
call fcn.140007060
lea rdx, [0x14022ce88]
mov rcx, qword [rsp + 0xcc0]
call fcn.140002050
mov eax, dword [rsp + 0xbd8]
or eax, 1
mov dword [rsp + 0xbd8], eax
mov rax, qword [rsp + 0xcc0]
jmp 0x1400eea89
lea rcx, [rsp + 0xa50]
call fcn.1400e82c0
nop
lea rcx, [rsp + 0xb70]
call fcn.1400eccf0
mov qword [rsp + 0xc38], rax
mov rax, qword [rsp + 0xc38]
mov qword [rsp + 0xc40], rax
lea r8, [0x14022ce90]
mov rdx, qword [rsp + 0xc40]
lea rcx, [rsp + 0xb78]
call fcn.1400010b0
mov qword [rsp + 0xc48], rax
mov rax, qword [rsp + 0xc48]
mov qword [rsp + 0xc50], rax
mov rcx, qword [rsp + 0xc50]
call fcn.140050200
mov dword [rsp + 0x20], 0
mov r9d, reloc.WS2_32.dll_WSACleanup
mov r8, rax
lea rdx, [rsp + 0xb80]
lea rcx, [rsp + 0xa50]
call fcn.1400eb690
mov rcx, rax
call fcn.1400e53c0
movzx eax, al
test eax, eax
jne 0x1400ee6ed
mov dword [rsp + 0xc58], 1
jmp 0x1400ee6f8
mov dword [rsp + 0xc58], 0
movzx eax, byte [rsp + 0xc58]
mov byte [rsp + 0xb68], al
lea rcx, [rsp + 0xb78]
call fcn.140007060
nop
lea rcx, [rsp + 0xb70]
call fcn.140007060
movzx edx, byte [rsp + 0xb68]
test edx, edx
je 0x1400ee800
lea rcx, [rsp + 0xb98]
call fcn.1400eccf0
mov qword [rsp + 0xc60], rax
mov rax, qword [rsp + 0xc60]
mov qword [rsp + 0xc68], rax
lea r8, [0x14022ceb0]
mov rdx, qword [rsp + 0xc68]
lea rcx, [rsp + 0xba0]
call fcn.1400010b0
mov qword [rsp + 0xc70], rax
mov rcx, qword [rsp + 0xc70]
call fcn.140050200
mov r9, rax
lea r8, [0x14022ced0]
lea rdx, [0x14022ced8]
lea rcx, [0x14022cef0]
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
lea rcx, [rsp + 0xba0]
call fcn.140007060
nop
lea rcx, [rsp + 0xb98]
call fcn.140007060
lea rdx, [0x14022cf08]
mov rcx, qword [rsp + 0xcc0]
call fcn.140002050
mov eax, dword [rsp + 0xbd8]
or eax, 1
mov dword [rsp + 0xbd8], eax
lea rcx, [rsp + 0xa50]
call fcn.1400e6b90
mov rax, qword [rsp + 0xcc0]
jmp 0x1400eea89
xor eax, eax
mov word [rsp + 0x40], ax
lea rdi, [rsp + 0x42]
xor eax, eax
mov ecx, 0x1fe
rep stosb byte [rdi], al
mov r9d, 4
lea r8, [rsp + 0x40]
mov edx, 3
mov ecx, 0xc00
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
mov dword [rsp + 0x240], eax
cmp dword [rsp + 0x240], 0
jne 0x1400ee863
mov r9d, 4
lea r8, [rsp + 0x40]
mov edx, 3
mov ecx, 0x800
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
mov dword [rsp + 0x240], eax
lea rcx, [rsp + 0x248]
call fcn.140002d10
nop
lea r8, [rsp + 0x40]
lea rdx, [0x14022cf10]
lea rcx, [rsp + 0x248]
call fcn.140002ba0
lea rcx, [rsp + 0x248]
call fcn.140050200
xor r9d, r9d
mov r8, rax
lea rdx, [rsp + 0xb20]
lea rcx, [rsp + 0xa50]
call fcn.1400ebf20
lea rcx, [rsp + 0xba8]
call fcn.1400e64c0
mov rdx, rax
lea rcx, [rsp + 0xb20]
call fcn.1400e6410
movzx eax, al
test eax, eax
je 0x1400ee9b6
lea rcx, [rsp + 0xbb8]
call fcn.1400eccf0
mov qword [rsp + 0xc78], rax
mov rax, qword [rsp + 0xc78]
mov qword [rsp + 0xc80], rax
lea r8, [0x14022cf40]
mov rdx, qword [rsp + 0xc80]
lea rcx, [rsp + 0xbc0]
call fcn.1400010b0
mov qword [rsp + 0xc88], rax
mov rcx, qword [rsp + 0xc88]
call fcn.140050200
mov r9, rax
lea r8, [0x14022cf60]
lea rdx, [0x14022cf68]
lea rcx, [0x14022cf80]
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
lea rcx, [rsp + 0xbc0]
call fcn.140007060
nop
lea rcx, [rsp + 0xbb8]
call fcn.140007060
lea rdx, [0x14022cf98]
mov rcx, qword [rsp + 0xcc0]
call fcn.140002050
mov eax, dword [rsp + 0xbd8]
or eax, 1
mov dword [rsp + 0xbd8], eax
lea rcx, [rsp + 0x248]
call fcn.140007060
nop
lea rcx, [rsp + 0xa50]
call fcn.1400e6b90
mov rax, qword [rsp + 0xcc0]
jmp 0x1400eea89
lea rcx, [rsp + 0xbc8]
call fcn.1400eccf0
mov qword [rsp + 0xc90], rax
mov rax, qword [rsp + 0xc90]
mov qword [rsp + 0xc98], rax
lea r8, [0x14022cfa0]
mov rdx, qword [rsp + 0xc98]
lea rcx, [rsp + 0xbd0]
call fcn.1400010b0
mov qword [rsp + 0xca0], rax
mov rcx, qword [rsp + 0xca0]
call fcn.140050200
mov r9, rax
lea r8, [rsp + 0x40]
lea rdx, [0x14022cfc0]
lea rcx, [0x14022cfd8]
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
lea rcx, [rsp + 0xbd0]
call fcn.140007060
nop
lea rcx, [rsp + 0xbc8]
call fcn.140007060
lea rdx, [rsp + 0x40]
mov rcx, qword [rsp + 0xcc0]
call fcn.140002050
mov eax, dword [rsp + 0xbd8]
or eax, 1
mov dword [rsp + 0xbd8], eax
lea rcx, [rsp + 0x248]
call fcn.140007060
nop
lea rcx, [rsp + 0xa50]
call fcn.1400e6b90
mov rax, qword [rsp + 0xcc0]
mov rcx, qword [rsp + 0xca8]
xor rcx, rsp
call fcn.1400a9820
add rsp, 0xcb0
pop rdi
ret