Function at 0x1400ed0f0
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 [0x1402aa5c0]
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.1400eba50
mov qword [rsp + 0xbe8], rax
mov rax, qword [rsp + 0xbe8]
mov qword [rsp + 0xbf0], rax
lea r8, [0x14021cd88]
mov rdx, qword [rsp + 0xbf0]
lea rcx, [rsp + 0xb38]
call fcn.1400010b0
mov qword [rsp + 0xbf8], rax
mov rcx, qword [rsp + 0xbf8]
call fcn.14000f8f0
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x400
lea r9, [rsp + 0x250]
lea r8, [0x14021cbac]
lea rdx, [0x14021cda8]
lea rcx, [0x14021cdc0]
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 0x1400ed221
lea rdx, [rsp + 0x250]
mov rcx, qword [rsp + 0xcc0]
call fcn.140002100
mov eax, dword [rsp + 0xbd8]
or eax, 1
mov dword [rsp + 0xbd8], eax
mov rax, qword [rsp + 0xcc0]
jmp 0x1400ed7e9
lea rcx, [rsp + 0xb48]
call fcn.1400eba50
mov qword [rsp + 0xc00], rax
mov rax, qword [rsp + 0xc00]
mov qword [rsp + 0xc08], rax
lea r8, [0x14021cdd8]
mov rdx, qword [rsp + 0xc08]
lea rcx, [rsp + 0xb50]
call fcn.1400010b0
mov qword [rsp + 0xc10], rax
mov rcx, qword [rsp + 0xc10]
call fcn.14000f8f0
mov rcx, rax
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x1400ed291
mov dword [rsp + 0xc18], 1
jmp 0x1400ed29c
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 0x1400ed397
lea rcx, [rsp + 0xb58]
call fcn.1400eba50
mov qword [rsp + 0xc20], rax
mov rax, qword [rsp + 0xc20]
mov qword [rsp + 0xc28], rax
lea r8, [0x14021cdf8]
mov rdx, qword [rsp + 0xc28]
lea rcx, [rsp + 0xb60]
call fcn.1400010b0
mov qword [rsp + 0xc30], rax
mov rcx, qword [rsp + 0xc30]
call fcn.14000f8f0
mov r9, rax
lea r8, [0x14021ce18]
lea rdx, [0x14021ce20]
lea rcx, [0x14021ce38]
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
lea rcx, [rsp + 0xb60]
call fcn.140001490
nop
lea rcx, [rsp + 0xb58]
call fcn.140001490
lea rdx, [0x14021ce50]
mov rcx, qword [rsp + 0xcc0]
call fcn.140002100
mov eax, dword [rsp + 0xbd8]
or eax, 1
mov dword [rsp + 0xbd8], eax
mov rax, qword [rsp + 0xcc0]
jmp 0x1400ed7e9
lea rcx, [rsp + 0xa50]
call fcn.1400e7060
nop
lea rcx, [rsp + 0xb70]
call fcn.1400eba50
mov qword [rsp + 0xc38], rax
mov rax, qword [rsp + 0xc38]
mov qword [rsp + 0xc40], rax
lea r8, [0x14021ce58]
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.14000f8f0
mov dword [rsp + 0x20], 0
mov r9d, reloc.WSOCK32.dll_WSACleanup
mov r8, rax
lea rdx, [rsp + 0xb80]
lea rcx, [rsp + 0xa50]
call fcn.1400ea430
mov rcx, rax
call fcn.1400e4160
movzx eax, al
test eax, eax
jne 0x1400ed44d
mov dword [rsp + 0xc58], 1
jmp 0x1400ed458
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 0x1400ed560
lea rcx, [rsp + 0xb98]
call fcn.1400eba50
mov qword [rsp + 0xc60], rax
mov rax, qword [rsp + 0xc60]
mov qword [rsp + 0xc68], rax
lea r8, [0x14021ce78]
mov rdx, qword [rsp + 0xc68]
lea rcx, [rsp + 0xba0]
call fcn.1400010b0
mov qword [rsp + 0xc70], rax
mov rcx, qword [rsp + 0xc70]
call fcn.14000f8f0
mov r9, rax
lea r8, [0x14021ce98]
lea rdx, [0x14021cea0]
lea rcx, [0x14021ceb8]
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
lea rcx, [rsp + 0xba0]
call fcn.140001490
nop
lea rcx, [rsp + 0xb98]
call fcn.140001490
lea rdx, [0x14021ced0]
mov rcx, qword [rsp + 0xcc0]
call fcn.140002100
mov eax, dword [rsp + 0xbd8]
or eax, 1
mov dword [rsp + 0xbd8], eax
lea rcx, [rsp + 0xa50]
call fcn.1400e5930
mov rax, qword [rsp + 0xcc0]
jmp 0x1400ed7e9
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 0x1400ed5c3
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.140002de0
nop
lea r8, [rsp + 0x40]
lea rdx, [0x14021ced8]
lea rcx, [rsp + 0x248]
call fcn.140002c70
lea rcx, [rsp + 0x248]
call fcn.14000f8f0
xor r9d, r9d
mov r8, rax
lea rdx, [rsp + 0xb20]
lea rcx, [rsp + 0xa50]
call fcn.1400eacc0
lea rcx, [rsp + 0xba8]
call fcn.1400e5260
mov rdx, rax
lea rcx, [rsp + 0xb20]
call fcn.1400e51b0
movzx eax, al
test eax, eax
je 0x1400ed716
lea rcx, [rsp + 0xbb8]
call fcn.1400eba50
mov qword [rsp + 0xc78], rax
mov rax, qword [rsp + 0xc78]
mov qword [rsp + 0xc80], rax
lea r8, [0x14021cf08]
mov rdx, qword [rsp + 0xc80]
lea rcx, [rsp + 0xbc0]
call fcn.1400010b0
mov qword [rsp + 0xc88], rax
mov rcx, qword [rsp + 0xc88]
call fcn.14000f8f0
mov r9, rax
lea r8, [0x14021cf28]
lea rdx, [0x14021cf30]
lea rcx, [0x14021cf48]
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
lea rcx, [rsp + 0xbc0]
call fcn.140001490
nop
lea rcx, [rsp + 0xbb8]
call fcn.140001490
lea rdx, [0x14021cf60]
mov rcx, qword [rsp + 0xcc0]
call fcn.140002100
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.1400e5930
mov rax, qword [rsp + 0xcc0]
jmp 0x1400ed7e9
lea rcx, [rsp + 0xbc8]
call fcn.1400eba50
mov qword [rsp + 0xc90], rax
mov rax, qword [rsp + 0xc90]
mov qword [rsp + 0xc98], rax
lea r8, [0x14021cf68]
mov rdx, qword [rsp + 0xc98]
lea rcx, [rsp + 0xbd0]
call fcn.1400010b0
mov qword [rsp + 0xca0], rax
mov rcx, qword [rsp + 0xca0]
call fcn.14000f8f0
mov r9, rax
lea r8, [rsp + 0x40]
lea rdx, [0x14021cf88]
lea rcx, [0x14021cfa0]
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.140002100
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.1400e5930
mov rax, qword [rsp + 0xcc0]
mov rcx, qword [rsp + 0xca8]
xor rcx, rsp
call fcn.1400a8790
add rsp, 0xcb0
pop rdi
ret