Function at 0x481d10
Capabilities:
Get geographical location

Disassembly:
sub esp, 0x164
mov eax, dword [0x4d8620]
xor eax, esp
mov dword [esp + 0x160], eax
mov eax, dword [esp + 0x170]
push ebp
mov ebp, dword [esp + 0x170]
push esi
mov esi, dword [esp + 0x170]
push edi
xor edi, edi
mov dword [esp + 0xc], ebp
mov dword [esp + 0x18], eax
cmp ebp, edi
jne 0x481d54
lea ecx, [esp + 0x3c]
mov dword [esp + 0xc], ecx
mov ebp, ecx
mov dword [ebp], edi
cmp eax, edi
je 0x481d5e
mov byte [eax], 0
cmp word [esi], di
jne 0x481d6c
xor eax, eax
xor edx, edx
jmp 0x482025
push ebx
push 0x64
lea eax, [esp + 0xac]
push eax
push 0xe
xor edx, edx
push 0x400
mov word [esp + 0xb8], dx
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
movzx eax, word [esi]
xor ecx, ecx
xor ebx, ebx
mov dword [esp + 0x14], edi
mov dword [esp + 0x18], edi
mov word [esp + 0x44], cx
cmp ax, di
je 0x481e67
mov ebp, dword [sym.imp.USER32.dll_IsCharAlphaW]
movzx edx, ax
push edx
call fcn.0046f2d0
test al, al
je 0x481dfa
push 0
push 0xa
push ebx
push edi
call fcn.004afe90
mov ecx, eax
movzx eax, word [esi]
mov ebx, edx
cdq
add ecx, eax
mov eax, dword [esp + 0x14]
push 0
adc ebx, edx
mov edx, dword [esp + 0x1c]
push 0xa
sub ecx, 0x30
push edx
push eax
sbb ebx, 0
mov edi, ecx
call fcn.004afe90
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], edx
jmp 0x481e26
movzx eax, word [esi]
cmp ax, word [esp + 0xa8]
jne 0x481e19
mov dword [esp + 0x14], 1
mov dword [esp + 0x18], 0
jmp 0x481e26
push eax
call ebp
test eax, eax
jne 0x481e38
cmp word [esi], 0x28
je 0x481e38
movzx eax, word [esi + 2]
add esi, 2
test ax, ax
jne 0x481db1
jmp 0x481e5d
push 0x32
push esi
lea ecx, [esp + 0x4c]
push ecx
call fcn.0046f500
lea edx, [esp + 0x44]
push 0x20
push edx
call fcn.004affd2
add esp, 8
test eax, eax
je 0x481e5d
xor ecx, ecx
mov word [eax], cx
mov edx, edi
or edx, ebx
jne 0x481e7a
mov ebp, dword [esp + 0x10]
mov edi, 0x7fffffff
mov ebx, edi
mov dword [ebp], 0xffffffff
jmp 0x482020
cmp word [esp + 0x44], 0
je case.0x481f68.67
mov dword [esp + 0x20], 0x5e6
mov dword [esp + 0x24], 0x5e7
mov dword [esp + 0x28], 0x5e8
mov dword [esp + 0x2c], 0x5e9
mov dword [esp + 0x30], 0x4cab70
mov dword [esp + 0x34], 0x4cab6c
mov dword [esp + 0x38], 0x4cab68
mov dword [esp + 0x3c], str.gmkb
xor esi, esi
jmp 0x481ed0
mov eax, dword [esp + esi*4 + 0x20]
push eax
call fcn.00466160
lea ecx, [esp + 0x44]
mov edi, edi
mov dx, word [ecx]
cmp dx, word [eax]
jne 0x481f06
test dx, dx
je 0x481f02
mov dx, word [ecx + 2]
cmp dx, word [eax + 2]
jne 0x481f06
add ecx, 4
add eax, 4
test dx, dx
jne 0x481ee0
xor eax, eax
jmp 0x481f0b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x481f17
inc esi
cmp esi, 4
jb 0x481ed0
jmp 0x481f30
mov eax, dword [esp + esi*4 + 0x30]
lea edx, [esp + 0x44]
sub edx, eax
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x481f21
movzx ecx, word [esp + 0x46]
push ecx
call fcn.00478240
cmp eax, 0x42
jne 0x481f4d
movzx edx, word [esp + 0x44]
push edx
call sub.USER32.dll_CharLowerW
jmp 0x481f52
mov ax, word [esp + 0x44]
movzx eax, ax
add eax, 0xffffffbe
cmp eax, 0x2b
ja case.0x481f68.67
movzx eax, byte [eax + 0x482060]
jmp dword [eax*4 + 0x482040]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
mov dword [ecx], 0
test eax, eax
je case.0x481f68.67
mov byte [eax], 1
jmp case.0x481f68.67
mov edx, dword [esp + 0x10]
push 0
mov dword [edx], 1
push 0x400
jmp 0x481ffa
mov eax, dword [esp + 0x10]
push 0
mov dword [eax], 0xffffffff
push 0x3e8
jmp 0x481ffa
mov ecx, dword [esp + 0x10]
push 0
mov dword [ecx], 2
push 0x100000
jmp 0x481ffa
mov edx, dword [esp + 0x10]
push 0
mov dword [edx], 0xffffffff
push 0xf4240
jmp 0x481ffa
mov eax, dword [esp + 0x10]
push 0
mov dword [eax], 3
push 0x40000000
jmp 0x481ffa
mov ecx, dword [esp + 0x10]
push 0
mov dword [ecx], 0xffffffff
push 0x3b9aca00
push ebx
push edi
call fcn.004afe90
mov ebx, edx
mov edi, eax
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, eax
or edx, ecx
je 0x482020
push ecx
push eax
push ebx
push edi
call fcn.004b04d0
mov edi, eax
mov ebx, edx
mov edx, ebx
mov eax, edi
pop ebx
mov ecx, dword [esp + 0x16c]
pop edi
pop esi
pop ebp
xor ecx, esp
call fcn.004af00b
add esp, 0x164
ret 0xc