Function at 0x1400ed7a0
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 [0x1402a15c0]
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.1400ec640
mov qword [rsp + 0xbe8], rax
mov rax, qword [rsp + 0xbe8]
mov qword [rsp + 0xbf0], rax
lea r8, [0x140215f70]
mov rdx, qword [rsp + 0xbf0]
lea rcx, [rsp + 0xb38]
call fcn.1400010b0
mov qword [rsp + 0xbf8], rax
mov rcx, qword [rsp + 0xbf8]
call fcn.140023510
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x400
lea r9, [rsp + 0x250]
lea r8, [0x140215d94]
lea rdx, [0x140215f90]
lea rcx, [0x140215fa8]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea rcx, [rsp + 0xb38]
call fcn.140001490
nop
lea rcx, [rsp + 0xb30]
call fcn.140001490
movzx eax, word [rsp + 0x250]
test eax, eax
je 0x1400ed8d1
lea rdx, [rsp + 0x250]
mov rcx, qword [rsp + 0xcc0]
call fcn.1400020d0
mov eax, dword [rsp + 0xbd8]
or eax, 1
mov dword [rsp + 0xbd8], eax
mov rax, qword [rsp + 0xcc0]
jmp 0x1400ede99
lea rcx, [rsp + 0xb48]
call fcn.1400ec640
mov qword [rsp + 0xc00], rax
mov rax, qword [rsp + 0xc00]
mov qword [rsp + 0xc08], rax
lea r8, [0x140215fc0]
mov rdx, qword [rsp + 0xc08]
lea rcx, [rsp + 0xb50]
call fcn.1400010b0
mov qword [rsp + 0xc10], rax
mov rcx, qword [rsp + 0xc10]
call fcn.140023510
mov rcx, rax
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x1400ed941
mov dword [rsp + 0xc18], 1
jmp 0x1400ed94c
mov dword [rsp + 0xc18], 0
movzx eax, byte [rsp + 0xc18]
mov byte [rsp + 0xb40], al
lea rcx, [rsp + 0xb50]
call fcn.140001490
nop
lea rcx, [rsp + 0xb48]
call fcn.140001490
movzx edx, byte [rsp + 0xb40]
test edx, edx
je 0x1400eda47
lea rcx, [rsp + 0xb58]
call fcn.1400ec640
mov qword [rsp + 0xc20], rax
mov rax, qword [rsp + 0xc20]
mov qword [rsp + 0xc28], rax
lea r8, [0x140215fe0]
mov rdx, qword [rsp + 0xc28]
lea rcx, [rsp + 0xb60]
call fcn.1400010b0
mov qword [rsp + 0xc30], rax
mov rcx, qword [rsp + 0xc30]
call fcn.140023510
mov r9, rax
lea r8, [0x140216000]
lea rdx, [0x140216008]
lea rcx, [0x140216020]
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
lea rcx, [rsp + 0xb60]
call fcn.140001490
nop
lea rcx, [rsp + 0xb58]
call fcn.140001490
lea rdx, [0x140216038]
mov rcx, qword [rsp + 0xcc0]
call fcn.1400020d0
mov eax, dword [rsp + 0xbd8]
or eax, 1
mov dword [rsp + 0xbd8], eax
mov rax, qword [rsp + 0xcc0]
jmp 0x1400ede99
lea rcx, [rsp + 0xa50]
call fcn.1400e7d10
nop
lea rcx, [rsp + 0xb70]
call fcn.1400ec640
mov qword [rsp + 0xc38], rax
mov rax, qword [rsp + 0xc38]
mov qword [rsp + 0xc40], rax
lea r8, [0x140216040]
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.140023510
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.1400eb0e0
mov rcx, rax
call fcn.1400e4e10
movzx eax, al
test eax, eax
jne 0x1400edafd
mov dword [rsp + 0xc58], 1
jmp 0x1400edb08
mov dword [rsp + 0xc58], 0
movzx eax, byte [rsp + 0xc58]
mov byte [rsp + 0xb68], al
lea rcx, [rsp + 0xb78]
call fcn.140001490
nop
lea rcx, [rsp + 0xb70]
call fcn.140001490
movzx edx, byte [rsp + 0xb68]
test edx, edx
je 0x1400edc10
lea rcx, [rsp + 0xb98]
call fcn.1400ec640
mov qword [rsp + 0xc60], rax
mov rax, qword [rsp + 0xc60]
mov qword [rsp + 0xc68], rax
lea r8, [0x140216060]
mov rdx, qword [rsp + 0xc68]
lea rcx, [rsp + 0xba0]
call fcn.1400010b0
mov qword [rsp + 0xc70], rax
mov rcx, qword [rsp + 0xc70]
call fcn.140023510
mov r9, rax
lea r8, [0x140216080]
lea rdx, [0x140216088]
lea rcx, [0x1402160a0]
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
lea rcx, [rsp + 0xba0]
call fcn.140001490
nop
lea rcx, [rsp + 0xb98]
call fcn.140001490
lea rdx, [0x1402160b8]
mov rcx, qword [rsp + 0xcc0]
call fcn.1400020d0
mov eax, dword [rsp + 0xbd8]
or eax, 1
mov dword [rsp + 0xbd8], eax
lea rcx, [rsp + 0xa50]
call fcn.1400e65e0
mov rax, qword [rsp + 0xcc0]
jmp 0x1400ede99
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 0x1400edc73
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.140002db0
nop
lea r8, [rsp + 0x40]
lea rdx, [0x1402160c0]
lea rcx, [rsp + 0x248]
call fcn.140002c40
lea rcx, [rsp + 0x248]
call fcn.140023510
xor r9d, r9d
mov r8, rax
lea rdx, [rsp + 0xb20]
lea rcx, [rsp + 0xa50]
call fcn.1400eb970
lea rcx, [rsp + 0xba8]
call fcn.1400e5f10
mov rdx, rax
lea rcx, [rsp + 0xb20]
call fcn.1400e5e60
movzx eax, al
test eax, eax
je 0x1400eddc6
lea rcx, [rsp + 0xbb8]
call fcn.1400ec640
mov qword [rsp + 0xc78], rax
mov rax, qword [rsp + 0xc78]
mov qword [rsp + 0xc80], rax
lea r8, [0x1402160f0]
mov rdx, qword [rsp + 0xc80]
lea rcx, [rsp + 0xbc0]
call fcn.1400010b0
mov qword [rsp + 0xc88], rax
mov rcx, qword [rsp + 0xc88]
call fcn.140023510
mov r9, rax
lea r8, [0x140216110]
lea rdx, [0x140216118]
lea rcx, [0x140216130]
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
lea rcx, [rsp + 0xbc0]
call fcn.140001490
nop
lea rcx, [rsp + 0xbb8]
call fcn.140001490
lea rdx, [0x140216148]
mov rcx, qword [rsp + 0xcc0]
call fcn.1400020d0
mov eax, dword [rsp + 0xbd8]
or eax, 1
mov dword [rsp + 0xbd8], eax
lea rcx, [rsp + 0x248]
call fcn.140001490
nop
lea rcx, [rsp + 0xa50]
call fcn.1400e65e0
mov rax, qword [rsp + 0xcc0]
jmp 0x1400ede99
lea rcx, [rsp + 0xbc8]
call fcn.1400ec640
mov qword [rsp + 0xc90], rax
mov rax, qword [rsp + 0xc90]
mov qword [rsp + 0xc98], rax
lea r8, [0x140216150]
mov rdx, qword [rsp + 0xc98]
lea rcx, [rsp + 0xbd0]
call fcn.1400010b0
mov qword [rsp + 0xca0], rax
mov rcx, qword [rsp + 0xca0]
call fcn.140023510
mov r9, rax
lea r8, [rsp + 0x40]
lea rdx, [0x140216170]
lea rcx, [0x140216188]
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
lea rcx, [rsp + 0xbd0]
call fcn.140001490
nop
lea rcx, [rsp + 0xbc8]
call fcn.140001490
lea rdx, [rsp + 0x40]
mov rcx, qword [rsp + 0xcc0]
call fcn.1400020d0
mov eax, dword [rsp + 0xbd8]
or eax, 1
mov dword [rsp + 0xbd8], eax
lea rcx, [rsp + 0x248]
call fcn.140001490
nop
lea rcx, [rsp + 0xa50]
call fcn.1400e65e0
mov rax, qword [rsp + 0xcc0]
mov rcx, qword [rsp + 0xca8]
xor rcx, rsp
call fcn.1400a8050
add rsp, 0xcb0
pop rdi
ret