Function at 0x451398
Capabilities:
Get geographical location

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x51d95c
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x68
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x18], ebx
mov eax, dword [0x55d258]
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp + 8]
mov edx, dword [0x55d358]
mov dword [ecx], edx
mov dword [ebp - 4], 0
xor eax, eax
push eax
push eax
call dword [sym.imp.MSVCR80.dll_setlocale]
add esp, 8
mov edi, eax
mov esi, 0x543f7c
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x45140d
test dl, dl
je 0x451409
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x45140d
add edi, 2
add esi, 2
test dl, dl
jne 0x4513ed
xor eax, eax
jmp 0x451412
sbb eax, eax
or eax, 1
test eax, eax
je 0x451597
call dword [sym.imp.KERNEL32.dll_GetThreadLocale]
lea edx, [ebp - 0x74]
push 0x51
push edx
push 0x1f
push eax
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoA]
test eax, eax
je 0x451597
lea edi, [ebp - 0x74]
xor esi, esi
xor ebx, ebx
xor eax, eax
movsx edx, byte [edi]
cmp edx, eax
jne 0x45144f
add ebx, 1
jmp 0x45158f
cmp edx, 0x4d
je 0x451586
cmp edx, 0x64
je 0x451586
cmp edx, 0x67
je 0x451586
cmp edx, 0x79
je 0x451586
test ebx, ebx
je 0x451565
cmp eax, 0x64
je 0x4515bb
cmp eax, 0x4d
je 0x4514ec
cmp eax, 0x79
jne 0x451561
cmp ebx, 1
jb 0x451561
cmp ebx, 2
jbe 0x4514cc
cmp ebx, 4
jne 0x451561
mov ecx, dword [ebp + 8]
mov eax, 0x548af0
mov edx, 2
test eax, eax
jne 0x4514bf
mov edx, 0
push edx
push eax
push edx
call fcn.0042fda0
jmp 0x45155e
mov ecx, dword [ebp + 8]
mov eax, 0x548aec
mov edx, 2
test eax, eax
jne 0x4514e2
mov edx, 0
push edx
push eax
push edx
call fcn.0042fda0
jmp 0x45155e
cmp ebx, 1
jb 0x451561
cmp ebx, 2
jbe 0x451540
cmp ebx, 3
jne 0x45151b
mov ecx, dword [ebp + 8]
mov eax, 0x548a6c
mov edx, 2
test eax, eax
jne 0x451511
mov edx, 0
push edx
push eax
push edx
call fcn.0042fda0
jmp 0x45155e
cmp ebx, 4
jne 0x451561
mov ecx, dword [ebp + 8]
mov eax, 0x548a70
mov edx, 2
test eax, eax
jne 0x451536
mov edx, 0
push edx
push eax
push edx
call fcn.0042fda0
jmp 0x45155e
mov ecx, dword [ebp + 8]
mov eax, 0x548ae8
mov edx, 2
test eax, eax
jne 0x451556
mov edx, 0
push edx
push eax
push edx
call fcn.0042fda0
movsx edx, byte [edi]
xor esi, esi
xor ebx, ebx
test edx, edx
je 0x451597
cmp edx, 0x25
je 0x45163c
mov ecx, dword [ebp + 8]
push edx
push 1
call fcn.0042f228
movsx eax, byte [edi]
test eax, eax
je 0x451597
jmp 0x45158d
mov esi, edx
mov ebx, 1
mov eax, esi
add edi, 1
jmp 0x451440
mov ebx, dword [ebp + 8]
mov ecx, dword [ebp - 0x14]
call fcn.00427c84
mov edi, dword [ebp - 0x20]
mov esi, dword [ebp - 0x1c]
mov eax, ebx
mov ebx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
cmp ebx, 1
jb 0x451561
cmp ebx, 2
jbe 0x451619
cmp ebx, 3
jne 0x4515ed
mov ecx, dword [ebp + 8]
mov eax, 0x548a74
mov edx, 2
test eax, eax
jne 0x4515e0
mov edx, 0
push edx
push eax
push edx
call fcn.0042fda0
jmp 0x45155e
cmp ebx, 4
jne 0x451561
mov ecx, dword [ebp + 8]
mov eax, 0x548a78
mov edx, 2
test eax, eax
jne 0x45160c
mov edx, 0
push edx
push eax
push edx
call fcn.0042fda0
jmp 0x45155e
mov ecx, dword [ebp + 8]
mov eax, 0x542898
mov edx, 2
test eax, eax
jne 0x45162f
mov edx, 0
push edx
push eax
push edx
call fcn.0042fda0
jmp 0x45155e
mov ecx, dword [ebp + 8]
push 0x25
push 1
call fcn.0042f228
movsx edx, byte [edi]
jmp 0x451572