Function at 0x4839e0
Capabilities:
Get geographical location

Disassembly:
sub esp, 0x164
mov eax, dword [0x4da8f0]
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 0x483a24
lea ecx, [esp + 0x3c]
mov dword [esp + 0xc], ecx
mov ebp, ecx
mov dword [ebp], edi
cmp eax, edi
je 0x483a2e
mov byte [eax], 0
cmp word [esi], di
jne 0x483a3c
xor eax, eax
xor edx, edx
jmp 0x483cf5
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 0x483b37
mov ebp, dword [sym.imp.USER32.dll_IsCharAlphaW]
movzx edx, ax
push edx
call fcn.00470740
test al, al
je 0x483aca
push 0
push 0xa
push ebx
push edi
call fcn.004b1ad0
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.004b1ad0
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], edx
jmp 0x483af6
movzx eax, word [esi]
cmp ax, word [esp + 0xa8]
jne 0x483ae9
mov dword [esp + 0x14], 1
mov dword [esp + 0x18], 0
jmp 0x483af6
push eax
call ebp
test eax, eax
jne 0x483b08
cmp word [esi], 0x28
je 0x483b08
movzx eax, word [esi + 2]
add esi, 2
test ax, ax
jne 0x483a81
jmp 0x483b2d
push 0x32
push esi
lea ecx, [esp + 0x4c]
push ecx
call fcn.004709a0
lea edx, [esp + 0x44]
push 0x20
push edx
call fcn.004b1c12
add esp, 8
test eax, eax
je 0x483b2d
xor ecx, ecx
mov word [eax], cx
mov edx, edi
or edx, ebx
jne 0x483b4a
mov ebp, dword [esp + 0x10]
mov edi, 0x7fffffff
mov ebx, edi
mov dword [ebp], 0xffffffff
jmp 0x483cf0
cmp word [esp + 0x44], 0
je case.0x483c38.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], 0x4ccc10
mov dword [esp + 0x34], 0x4ccc0c
mov dword [esp + 0x38], 0x4ccc08
mov dword [esp + 0x3c], str.gmkb
xor esi, esi
jmp 0x483ba0
mov eax, dword [esp + esi*4 + 0x20]
push eax
call fcn.004671c0
lea ecx, [esp + 0x44]
mov edi, edi
mov dx, word [ecx]
cmp dx, word [eax]
jne 0x483bd6
test dx, dx
je 0x483bd2
mov dx, word [ecx + 2]
cmp dx, word [eax + 2]
jne 0x483bd6
add ecx, 4
add eax, 4
test dx, dx
jne 0x483bb0
xor eax, eax
jmp 0x483bdb
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x483be7
inc esi
cmp esi, 4
jb 0x483ba0
jmp 0x483c00
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 0x483bf1
movzx ecx, word [esp + 0x46]
push ecx
call fcn.004785b0
cmp eax, 0x42
jne 0x483c1d
movzx edx, word [esp + 0x44]
push edx
call sub.USER32.dll_CharLowerW
jmp 0x483c22
mov ax, word [esp + 0x44]
movzx eax, ax
add eax, 0xffffffbe
cmp eax, 0x2b
ja case.0x483c38.67
movzx eax, byte [eax + 0x483d30]
jmp dword [eax*4 + 0x483d10]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
mov dword [ecx], 0
test eax, eax
je case.0x483c38.67
mov byte [eax], 1
jmp case.0x483c38.67
mov edx, dword [esp + 0x10]
push 0
mov dword [edx], 1
push 0x400
jmp 0x483cca
mov eax, dword [esp + 0x10]
push 0
mov dword [eax], 0xffffffff
push 0x3e8
jmp 0x483cca
mov ecx, dword [esp + 0x10]
push 0
mov dword [ecx], 2
push 0x100000
jmp 0x483cca
mov edx, dword [esp + 0x10]
push 0
mov dword [edx], 0xffffffff
push 0xf4240
jmp 0x483cca
mov eax, dword [esp + 0x10]
push 0
mov dword [eax], 3
push 0x40000000
jmp 0x483cca
mov ecx, dword [esp + 0x10]
push 0
mov dword [ecx], 0xffffffff
push 0x3b9aca00
push ebx
push edi
call fcn.004b1ad0
mov ebx, edx
mov edi, eax
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, eax
or edx, ecx
je 0x483cf0
push ecx
push eax
push ebx
push edi
call fcn.004b2110
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.004b102c
add esp, 0x164
ret 0xc