Function at 0x481a80
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 0x481ac4
lea ecx, [esp + 0x3c]
mov dword [esp + 0xc], ecx
mov ebp, ecx
mov dword [ebp], edi
cmp eax, edi
je 0x481ace
mov byte [eax], 0
cmp word [esi], di
jne 0x481adc
xor eax, eax
xor edx, edx
jmp 0x481d95
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 0x481bd7
mov ebp, dword [sym.imp.USER32.dll_IsCharAlphaW]
movzx edx, ax
push edx
call fcn.0046f030
test al, al
je 0x481b6a
push 0
push 0xa
push ebx
push edi
call fcn.004afc40
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.004afc40
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], edx
jmp 0x481b96
movzx eax, word [esi]
cmp ax, word [esp + 0xa8]
jne 0x481b89
mov dword [esp + 0x14], 1
mov dword [esp + 0x18], 0
jmp 0x481b96
push eax
call ebp
test eax, eax
jne 0x481ba8
cmp word [esi], 0x28
je 0x481ba8
movzx eax, word [esi + 2]
add esi, 2
test ax, ax
jne 0x481b21
jmp 0x481bcd
push 0x32
push esi
lea ecx, [esp + 0x4c]
push ecx
call fcn.0046f260
lea edx, [esp + 0x44]
push 0x20
push edx
call fcn.004afd82
add esp, 8
test eax, eax
je 0x481bcd
xor ecx, ecx
mov word [eax], cx
mov edx, edi
or edx, ebx
jne 0x481bea
mov ebp, dword [esp + 0x10]
mov edi, 0x7fffffff
mov ebx, edi
mov dword [ebp], 0xffffffff
jmp 0x481d90
cmp word [esp + 0x44], 0
je case.0x481cd8.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], 0x4cab40
mov dword [esp + 0x34], 0x4cab3c
mov dword [esp + 0x38], 0x4cab38
mov dword [esp + 0x3c], str.gmkb
xor esi, esi
jmp 0x481c40
mov eax, dword [esp + esi*4 + 0x20]
push eax
call fcn.00465ec0
lea ecx, [esp + 0x44]
mov edi, edi
mov dx, word [ecx]
cmp dx, word [eax]
jne 0x481c76
test dx, dx
je 0x481c72
mov dx, word [ecx + 2]
cmp dx, word [eax + 2]
jne 0x481c76
add ecx, 4
add eax, 4
test dx, dx
jne 0x481c50
xor eax, eax
jmp 0x481c7b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x481c87
inc esi
cmp esi, 4
jb 0x481c40
jmp 0x481ca0
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 0x481c91
movzx ecx, word [esp + 0x46]
push ecx
call fcn.00477fa0
cmp eax, 0x42
jne 0x481cbd
movzx edx, word [esp + 0x44]
push edx
call sub.USER32.dll_CharLowerW
jmp 0x481cc2
mov ax, word [esp + 0x44]
movzx eax, ax
add eax, 0xffffffbe
cmp eax, 0x2b
ja case.0x481cd8.67
movzx eax, byte [eax + 0x481dd0]
jmp dword [eax*4 + 0x481db0]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
mov dword [ecx], 0
test eax, eax
je case.0x481cd8.67
mov byte [eax], 1
jmp case.0x481cd8.67
mov edx, dword [esp + 0x10]
push 0
mov dword [edx], 1
push 0x400
jmp 0x481d6a
mov eax, dword [esp + 0x10]
push 0
mov dword [eax], 0xffffffff
push 0x3e8
jmp 0x481d6a
mov ecx, dword [esp + 0x10]
push 0
mov dword [ecx], 2
push 0x100000
jmp 0x481d6a
mov edx, dword [esp + 0x10]
push 0
mov dword [edx], 0xffffffff
push 0xf4240
jmp 0x481d6a
mov eax, dword [esp + 0x10]
push 0
mov dword [eax], 3
push 0x40000000
jmp 0x481d6a
mov ecx, dword [esp + 0x10]
push 0
mov dword [ecx], 0xffffffff
push 0x3b9aca00
push ebx
push edi
call fcn.004afc40
mov ebx, edx
mov edi, eax
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, eax
or edx, ecx
je 0x481d90
push ecx
push eax
push ebx
push edi
call fcn.004b0290
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.004aedbb
add esp, 0x164
ret 0xc