Function at 0x4ad1024b
Capabilities:
Get geographical location

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x16c
mov eax, dword [0x4ad2406c]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
test eax, eax
push ebx
push edi
mov edi, dword [ebp + 0x10]
mov dword [ebp - 0x15c], edi
jne 0x4ad12c40
lea eax, [ebp - 0x158]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
lea eax, [ebp - 0x164]
push eax
lea eax, [ebp - 0x158]
push eax
call dword [sym.imp.KERNEL32.dll_SystemTimeToFileTime]
lea eax, [ebp - 0x16c]
push eax
lea eax, [ebp - 0x164]
push eax
call dword [sym.imp.KERNEL32.dll_FileTimeToLocalFileTime]
lea eax, [ebp - 0x158]
push eax
lea eax, [ebp - 0x16c]
push eax
call dword [sym.imp.KERNEL32.dll_FileTimeToSystemTime]
cmp dword [ebp + 0xc], 1
jne 0x4ad1211a
movzx eax, word [ebp - 0x14a]
push 0xa
pop ecx
cdq
idiv ecx
test edi, edi
movzx ecx, word [ebp - 0x14e]
push eax
movzx eax, word [ebp - 0x14c]
push 0x4ad248e0
push eax
mov eax, 0x4ad24900
push eax
push ecx
push eax
movzx eax, word [ebp - 0x150]
push eax
push str._2d_s_02d_s_02d_s_02d
je 0x4ad149ab
push dword [ebp + 0x14]
push edi
call fcn.4ad01710
add esp, 0x28
mov eax, edi
push 2
lea edx, [eax + 2]
pop ebx
mov cx, word [eax]
add eax, ebx
test cx, cx
jne 0x4ad1031c
sub eax, edx
sar eax, 1
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop ebx
call fcn.4ad013fa
leave
ret 0x10
cmp byte [0x4ad24041], 0
push 2
pop ebx
je 0x4ad149ee
and dword [ebp - 0x148], 0
push esi
lea esi, [ebx + 0x7e]
push esi
lea eax, [ebp - 0x144]
push eax
push 0x1003
call fcn.4ad072a5
push eax
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
test eax, eax
je 0x4ad149b8
cmp word [ebp - 0x144], 0
lea esi, [ebp - 0x144]
jne 0x4ad121dd
push 0x20
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x144]
push eax
lea eax, [ebp - 0x158]
push eax
push ebx
call fcn.4ad072a5
push eax
call dword [sym.imp.KERNEL32.dll_GetTimeFormatW]
test eax, eax
pop esi
je 0x4ad149e5
test edi, edi
lea eax, [ebp - 0x44]
push eax
je 0x4ad12262
push dword [ebp + 0x14]
push edi
call fcn.4ad01416
mov eax, edi
lea edx, [eax + 2]
jmp 0x4ad1249e
mov cx, word [eax]
add eax, ebx
test cx, cx
jne 0x4ad121af
sub eax, edx
sar eax, 1
lea eax, [eax + eax + 2]
push eax
lea eax, [esi + 2]
push esi
push eax
call dword [sym.imp.msvcrt.dll_memmove]
add esp, 0xc
mov word [esi], di
add esi, ebx
add esi, ebx
cmp word [esi], 0
je 0x4ad12222
movzx edi, word [esi]
cmp di, 0x27
je 0x4ad149cf
cmp dword [ebp - 0x148], 0
jne 0x4ad121d3
cmp di, 0x68
je 0x4ad12205
cmp di, 0x48
je 0x4ad12205
cmp di, 0x6d
jne 0x4ad121d5
xor eax, eax
add esi, ebx
inc eax
cmp word [esi], di
je 0x4ad12207
mov ecx, eax
neg ecx
cmp eax, 1
lea esi, [esi + ecx*2]
jne 0x4ad121d3
mov eax, esi
lea edx, [eax + 2]
jmp 0x4ad121af
mov edi, dword [ebp - 0x15c]
jmp 0x4ad12166
call fcn.4ad0e008
jmp 0x4ad1032a
mov cx, word [eax]
add eax, ebx
test cx, cx
jne 0x4ad1249e
jmp 0x4ad10326
lea ecx, [ebp - 0x164]
push ecx
push eax
call fcn.4ad12c57
jmp 0x4ad10297
call fcn.4ad040bf
add esp, 0x20
jmp 0x4ad1032a
push 0x4ad14a4c
push esi
lea eax, [ebp - 0x144]
push eax
call fcn.4ad01416
jmp 0x4ad12156
xor eax, eax
cmp dword [ebp - 0x148], eax
sete al
mov dword [ebp - 0x148], eax
jmp 0x4ad121d3
and word [ebp - 0x44], ax
jmp 0x4ad12190
cmp dword [0x4ad24050], 0
movzx eax, word [ebp - 0x150]
mov edx, 0x4ad24b60
je 0x4ad14a1d
push 0xc
pop ecx
cmp eax, ecx
jb 0x4ad14a15
jbe 0x4ad14a0e
sub eax, ecx
mov edx, 0x4ad24b20
jmp 0x4ad14a22
test eax, eax
jne 0x4ad14a22
mov eax, ecx
jmp 0x4ad14a22
mov edx, 0x4ad023a8
movzx ecx, word [ebp - 0x14e]
push edx
push ecx
push 0x4ad24900
push eax
push str._02d_s_02d_s
lea eax, [ebp - 0x44]
push 0x20
push eax
call fcn.4ad01710
add esp, 0x1c
jmp 0x4ad12190