Function at 0x4ad0b380
Capabilities:
Get geographical location

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x16c
mov eax, dword [0x4ad33b78]
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
test eax, eax
push edi
mov edi, dword [ebp + 0x10]
mov dword [ebp - 0x15c], edi
jne 0x4ad12c0e
lea eax, [ebp - 0x158]
push eax
call dword [sym.imp.vKERNEL32.dll_GetSystemTime]
lea eax, [ebp - 0x164]
push eax
lea eax, [ebp - 0x158]
push eax
call dword [sym.imp.vKERNEL32.dll_SystemTimeToFileTime]
lea eax, [ebp - 0x16c]
push eax
lea eax, [ebp - 0x164]
push eax
call dword [sym.imp.vKERNEL32.dll_FileTimeToLocalFileTime]
lea eax, [ebp - 0x158]
push eax
lea eax, [ebp - 0x16c]
push eax
call dword [sym.imp.vKERNEL32.dll_FileTimeToSystemTime]
cmp dword [ebp + 0xc], 1
je 0x4ad12c20
cmp byte [0x4ad2fa64], 0
push esi
je 0x4ad12cb2
and dword [ebp - 0x148], 0
push 0x80
lea eax, [ebp - 0x144]
push eax
push 0x1003
call fcn.4ad056e5
push eax
call dword [sym.imp.vKERNEL32.dll_GetLocaleInfoW]
test eax, eax
je 0x4ad12c7a
cmp word [ebp - 0x144], 0
push ebx
push 2
lea esi, [ebp - 0x144]
pop ebx
je 0x4ad0b483
mov di, word [esi]
cmp di, 0x27
je 0x4ad12c93
cmp dword [ebp - 0x148], 0
jne 0x4ad0b4ff
cmp di, 0x68
je 0x4ad0b4cc
cmp di, 0x48
je 0x4ad0b4cc
cmp di, 0x6d
je 0x4ad0b4cc
add esi, ebx
cmp word [esi], 0
jne 0x4ad0b449
mov edi, dword [ebp - 0x15c]
push 0x20
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x144]
push eax
lea eax, [ebp - 0x158]
push eax
push ebx
call fcn.4ad056e5
push eax
call dword [sym.imp.vKERNEL32.dll_GetTimeFormatW]
test eax, eax
pop ebx
je 0x4ad12ca9
test edi, edi
lea eax, [ebp - 0x44]
jne 0x4ad12d0e
push eax
call fcn.4ad05e38
pop esi
mov ecx, dword [ebp - 4]
pop edi
call fcn.4ad01305
leave
ret 0x10
xor eax, eax
add esi, ebx
inc eax
cmp word [esi], di
je 0x4ad0b4ce
mov ecx, eax
neg ecx
cmp eax, 1
lea esi, [esi + ecx*2]
jne 0x4ad0b4ff
push esi
call dword [sym.imp.vmsvcrt.dll_wcslen]
lea eax, [eax + eax + 2]
push eax
lea eax, [esi + 2]
push esi
push eax
call dword [sym.imp.vmsvcrt.dll_memmove]
add esp, 0x10
mov word [esi], di
add esi, ebx
jmp 0x4ad0b475
lea ecx, [ebp - 0x164]
push ecx
push eax
call fcn.4ad19c17
jmp 0x4ad0b3c9
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 0x4ad34b20
push eax
mov eax, 0x4ad34b40
push eax
push ecx
push eax
movzx eax, word [ebp - 0x150]
push eax
push str._2d_s_02d_s_02d_s_02d
jne 0x4ad12c68
call fcn.4ad05e00
add esp, 0x20
jmp 0x4ad0b4bf
push dword [ebp + 0x14]
push edi
call dword [sym.imp.vmsvcrt.dll__snwprintf]
add esp, 0x28
jmp 0x4ad0b4bf
lea eax, [ebp - 0x144]
push 0x4ad12d30
push eax
call dword [sym.imp.vmsvcrt.dll_wcscpy]
pop ecx
pop ecx
jmp 0x4ad0b435
xor eax, eax
cmp dword [ebp - 0x148], eax
sete al
mov dword [ebp - 0x148], eax
jmp 0x4ad0b4ff
and word [ebp - 0x44], ax
jmp 0x4ad0b4ad
cmp dword [0x4ad2fa3c], 0
movzx eax, word [ebp - 0x150]
mov edx, 0x4ad34900
je 0x4ad12ce1
push 0xc
pop ecx
cmp eax, ecx
jb 0x4ad12cd9
jbe 0x4ad12cd2
sub eax, ecx
mov edx, 0x4ad348c0
jmp 0x4ad12ce6
test eax, eax
jne 0x4ad12ce6
mov eax, ecx
jmp 0x4ad12ce6
mov edx, 0x4ad05d8c
movzx ecx, word [ebp - 0x14e]
push edx
push ecx
push 0x4ad34b40
push eax
push str._02d_s_02d_s
lea eax, [ebp - 0x44]
push 0x20
push eax
call dword [sym.imp.vmsvcrt.dll__snwprintf]
add esp, 0x1c
jmp 0x4ad0b4ad
mov esi, dword [ebp + 0x14]
push esi
push eax
push edi
call dword [sym.imp.vmsvcrt.dll_wcsncpy]
and word [edi + esi*2], 0
push edi
call dword [sym.imp.vmsvcrt.dll_wcslen]
add esp, 0x10
jmp 0x4ad0b4be