Function at 0x4ad06e1f
Capabilities:
Get geographical location

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x160
push edi
xor edi, edi
cmp dword [ebp + 8], edi
je 0x4ad06f44
lea eax, [ebp - 0x18]
push eax
push dword [ebp + 8]
call fcn.4ad09078
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x18]
push eax
call dword [sym.imp.KERNEL32.dll_FileTimeToLocalFileTime]
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x20]
push eax
call dword [sym.imp.KERNEL32.dll_FileTimeToSystemTime]
cmp dword [ebp + 0xc], 1
je 0x4ad06f61
cmp byte [0x4ad2ca64], 0
push esi
je 0x4ad1087b
push 0x80
lea eax, [ebp - 0x160]
push eax
push 0x1003
mov dword [ebp + 8], edi
call fcn.4ad06de5
push eax
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
test eax, eax
je 0x4ad10849
cmp word [ebp - 0x160], di
push ebx
push 2
lea esi, [ebp - 0x160]
pop ebx
je 0x4ad06eee
mov di, word [esi]
cmp di, 0x27
je 0x4ad10862
cmp dword [ebp + 8], 0
jne 0x4ad07cd5
cmp di, 0x68
je 0x4ad07ca2
cmp di, 0x48
je 0x4ad07ca2
cmp di, 0x6d
je 0x4ad07ca2
add esi, ebx
cmp word [esi], 0
jne 0x4ad06eaf
xor edi, edi
push 0x20
lea eax, [ebp - 0x60]
push eax
lea eax, [ebp - 0x160]
push eax
lea eax, [ebp - 0x10]
push eax
push ebx
call fcn.4ad06de5
push eax
call dword [sym.imp.KERNEL32.dll_GetTimeFormatW]
test eax, eax
pop ebx
je 0x4ad10872
mov esi, dword [ebp + 0x10]
cmp esi, edi
lea eax, [ebp - 0x60]
je 0x4ad0b813
mov edi, dword [ebp + 0x14]
push edi
push eax
push esi
call dword [sym.imp.msvcrt.dll_wcsncpy]
and word [esi + edi*2], 0
push esi
call dword [sym.imp.msvcrt.dll_wcslen]
add esp, 0x10
pop esi
pop edi
leave
ret 0x10
lea eax, [ebp - 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_SystemTimeToFileTime]
jmp 0x4ad06e40
movzx eax, word [ebp - 2]
push 0xa
pop ecx
cdq
idiv ecx
cmp dword [ebp + 0x10], edi
movzx ecx, word [ebp - 6]
nop
push eax
movzx eax, word [ebp - 4]
push 0x4ad358e0
push eax
mov eax, 0x4ad358f0
push eax
push ecx
push eax
movzx eax, word [ebp - 8]
push eax
push str._2d_s_02d_s_02d_s_02d
je 0x4ad1083c
push dword [ebp + 0x14]
push dword [ebp + 0x10]
call dword [sym.imp.msvcrt.dll__snwprintf]
add esp, 0x28
jmp 0x4ad06f3f
xor eax, eax
add esi, ebx
inc eax
cmp word [esi], di
je 0x4ad07ca4
mov ecx, eax
neg ecx
cmp eax, 1
lea esi, [esi + ecx*2]
jne 0x4ad07cd5
push esi
call dword [sym.imp.msvcrt.dll_wcslen]
lea eax, [eax + eax + 2]
push eax
lea eax, [esi + 2]
push esi
push eax
call dword [sym.imp.msvcrt.dll_memmove]
add esp, 0x10
mov word [esi], di
add esi, ebx
jmp 0x4ad06ee4
push eax
call fcn.4ad0b133
jmp 0x4ad06f3e
call fcn.4ad03e14
add esp, 0x20
jmp 0x4ad06f3f
lea eax, [ebp - 0x160]
push 0x4ad15abc
push eax
call dword [sym.imp.msvcrt.dll_wcscpy]
pop ecx
pop ecx
jmp 0x4ad06e9c
xor eax, eax
cmp dword [ebp + 8], eax
sete al
mov dword [ebp + 8], eax
jmp 0x4ad07cd5
mov word [ebp - 0x60], di
jmp 0x4ad06f15
cmp dword [0x4ad2ca3c], edi
movzx eax, word [ebp - 8]
mov edx, 0x4ad35a20
je 0x4ad108a6
push 0xc
pop ecx
cmp eax, ecx
jb 0x4ad1089e
jbe 0x4ad10897
sub eax, ecx
mov edx, 0x4ad35a10
jmp 0x4ad108ab
cmp eax, edi
jne 0x4ad108ab
mov eax, ecx
jmp 0x4ad108ab
mov edx, 0x4ad0ba0c
movzx ecx, word [ebp - 6]
push edx
push ecx
push 0x4ad358f0
push eax
push str._02d_s_02d_s
lea eax, [ebp - 0x60]
push 0x20
push eax
call dword [sym.imp.msvcrt.dll__snwprintf]
add esp, 0x1c
jmp 0x4ad06f15