Function at 0x4d5248
Capabilities:
Get geographical location

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffe30
push ebx
push esi
push edi
mov esi, ecx
mov edi, edx
test eax, eax
jne 0x4d5274
lea eax, [ebp - 0x34]
push eax
call sub.kernel32.dll_GetSystemTime
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0x34]
push eax
call sub.kernel32.dll_SystemTimeToFileTime
jmp 0x4d527c
lea edx, [ebp - 0xc]
call fcn.004d5ca4
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0xc]
push eax
call sub.kernel32.dll_FileTimeToLocalFileTime
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x14]
push eax
call sub.kernel32.dll_FileTimeToSystemTime
xor ebx, ebx
dec edi
jne 0x4d53e4
test esi, esi
jne 0x4d5343
movzx eax, word [ebp - 0x2c]
mov dword [ebp - 0x1b0], eax
mov byte [ebp - 0x1ac], 0
mov dword [ebp - 0x1a8], 0x4fcf40
mov byte [ebp - 0x1a4], 0xa
movzx eax, word [ebp - 0x2a]
mov dword [ebp - 0x1a0], eax
mov byte [ebp - 0x19c], 0
mov dword [ebp - 0x198], 0x4fcf40
mov byte [ebp - 0x194], 0xa
movzx eax, word [ebp - 0x28]
mov dword [ebp - 0x190], eax
mov byte [ebp - 0x18c], 0
mov dword [ebp - 0x188], 0x4fcf60
mov byte [ebp - 0x184], 0xa
movzx eax, word [ebp - 0x26]
mov ecx, 0xa
xor edx, edx
div ecx
mov dword [ebp - 0x180], eax
mov byte [ebp - 0x17c], 0
lea edx, [ebp - 0x1b0]
mov eax, 0x4d5644
mov ecx, 6
call fcn.004d8538
add ebx, eax
jmp 0x4d53dd
movzx eax, word [ebp - 0x2c]
mov dword [ebp - 0x1b0], eax
mov byte [ebp - 0x1ac], 0
mov dword [ebp - 0x1a8], 0x4fcf40
mov byte [ebp - 0x1a4], 0xa
movzx eax, word [ebp - 0x2a]
mov dword [ebp - 0x1a0], eax
mov byte [ebp - 0x19c], 0
mov dword [ebp - 0x198], 0x4fcf40
mov byte [ebp - 0x194], 0xa
movzx eax, word [ebp - 0x28]
mov dword [ebp - 0x190], eax
mov byte [ebp - 0x18c], 0
mov dword [ebp - 0x188], 0x4fcf60
mov byte [ebp - 0x184], 0xa
movzx eax, word [ebp - 0x26]
mov ecx, 0xa
xor edx, edx
div ecx
mov dword [ebp - 0x180], eax
mov byte [ebp - 0x17c], 0
lea eax, [ebp - 0x1b0]
push eax
push 6
mov ecx, 0x4d5644
mov edx, dword [ebp + 8]
mov eax, esi
call fcn.004d4168
add ebx, eax
mov eax, ebx
jmp 0x4d5639
mov eax, dword [0x4f0f78]
cmp byte [eax], 0
jne 0x4d54f6
mov word [ebp - 2], 0x61
movzx edi, word [ebp - 0x2c]
cmp byte [0x4f06f8], 0
je 0x4d5425
cmp edi, 0xc
jb 0x4d541a
cmp edi, 0xc
jbe 0x4d5412
sub edi, 0xc
mov word [ebp - 2], 0x70
jmp 0x4d542b
test edi, edi
jne 0x4d542b
mov edi, 0xc
jmp 0x4d542b
mov word [ebp - 2], 0x20
test esi, esi
jne 0x4d5489
mov dword [ebp - 0x1d0], edi
mov byte [ebp - 0x1cc], 0
mov dword [ebp - 0x1c8], 0x4fcf40
mov byte [ebp - 0x1c4], 0xa
movzx eax, word [ebp - 0x2a]
mov dword [ebp - 0x1c0], eax
mov byte [ebp - 0x1bc], 0
movzx eax, word [ebp - 2]
mov word [ebp - 0x1b8], ax
mov byte [ebp - 0x1b4], 9
lea edx, [ebp - 0x1d0]
mov eax, 0x4d5678
mov ecx, 3
call fcn.004d8538
add ebx, eax
jmp 0x4d54ef
mov dword [ebp - 0x1d0], edi
mov byte [ebp - 0x1cc], 0
mov dword [ebp - 0x1c8], 0x4fcf40
mov byte [ebp - 0x1c4], 0xa
movzx eax, word [ebp - 0x2a]
mov dword [ebp - 0x1c0], eax
mov byte [ebp - 0x1bc], 0
movzx eax, word [ebp - 2]
mov word [ebp - 0x1b8], ax
mov byte [ebp - 0x1b4], 9
lea eax, [ebp - 0x1d0]
push eax
push 3
mov ecx, 0x4d5678
mov edx, dword [ebp + 8]
mov eax, esi
call fcn.004d4168
add ebx, eax
cmp word [esi], 0x20
jne 0x4d54ef
mov word [esi], 0x30
mov eax, ebx
jmp 0x4d5639
mov dword [ebp - 0x18], esi
xor edi, edi
call sub.kernel32.dll_GetUserDefaultLCID
mov ebx, eax
push 0x80
lea eax, [ebp - 0x136]
push eax
push 0x1003
push ebx
call sub.kernel32.dll_GetLocaleInfoW_1
test eax, eax
jne 0x4d5532
mov edx, 0x4d5694
lea eax, [ebp - 0x136]
mov ecx, 0x80
call fcn.004d4024
lea ebx, [ebp - 0x136]
lea eax, [ebp - 0x136]
test eax, eax
je 0x4d55d4
movzx esi, word [ebx]
cmp word [ebx], 0x27
jne 0x4d555c
test edi, edi
sete al
neg al
sbb eax, eax
mov edi, eax
jmp 0x4d55c7
test edi, edi
jne 0x4d55c7
cmp si, 0x68
je 0x4d5572
cmp si, 0x48
je 0x4d5572
cmp si, 0x6d
jne 0x4d55c7
xor eax, eax
mov dword [ebp - 0x24], eax
add ebx, 2
inc dword [ebp - 0x24]
cmp si, word [ebx]
je 0x4d5577
mov eax, dword [ebp - 0x24]
add eax, eax
sub ebx, eax
cmp dword [ebp - 0x24], 1
jne 0x4d55c4
mov dword [ebp - 0x20], ebx
mov eax, dword [ebp - 0x20]
movzx eax, word [eax]
mov word [ebp - 0x1a], ax
add dword [ebp - 0x20], 2
cmp word [ebp - 0x1a], 0
jne 0x4d5592
mov eax, dword [ebp - 0x20]
sub eax, ebx
sar eax, 1
jns 0x4d55b3
adc eax, 0
mov ecx, eax
add ecx, ecx
lea edx, [ebx + 2]
mov eax, ebx
call fcn.00406870
mov word [ebx], si
add ebx, 2
add ebx, 2
cmp word [ebx], 0
jne 0x4d5546
call sub.kernel32.dll_GetUserDefaultLCID
mov ebx, eax
push 0x20
lea eax, [ebp - 0x178]
push eax
lea eax, [ebp - 0x136]
push eax
lea eax, [ebp - 0x34]
push eax
push 2
push ebx
call sub.kernel32.dll_GetTimeFormatW
test eax, eax
jne 0x4d5604
mov word [ebp - 0x178], 0
cmp dword [ebp - 0x18], 0
je 0x4d5625
lea edx, [ebp - 0x178]
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 0x18]
call fcn.004d4024
mov eax, dword [ebp - 0x18]
call fcn.0040a358
jmp 0x4d5639
lea edx, [ebp - 0x1d0]
lea eax, [ebp - 0x178]
or ecx, 0xffffffff
call fcn.004d8538
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4