Function at 0x404059
Capabilities:
Get geographical location

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x430
mov eax, dword [0x4b26f0]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [sym.imp.KERNEL32.DLL_GetLocaleInfoW]
push esi
push edi
mov edi, dword [ebp + 8]
push 0x10
lea esi, [edi + 0x21c]
push esi
push 0x59
pop eax
push eax
push 0x400
call ebx
push 0x20
pop ecx
test eax, eax
jne 0x40409c
mov eax, ecx
mov byte [esi], 0
inc esi
dec eax
jne 0x404095
push 0x10
lea esi, [edi + 0x23c]
push esi
push 0x5a
pop eax
push eax
push 0x400
call ebx
test eax, eax
jne 0x4040be
push 0x20
pop eax
mov byte [esi], 0
inc esi
dec eax
jne 0x4040b7
push 0x53
pop eax
push 0x59
pop ecx
push 0x54
mov word [ebp - 0xc0], ax
mov word [ebp - 0xbc], ax
pop eax
push 0x45
mov word [ebp - 0xbe], cx
pop ecx
push 0x4d
mov word [ebp - 0xba], ax
mov word [ebp - 0xb8], cx
pop ecx
push 0x5c
pop eax
push 0x43
pop edx
push 0x75
mov word [ebp - 0xb6], cx
pop ecx
push 0x72
mov word [ebp - 0xb4], ax
mov word [ebp - 0xb0], cx
pop ecx
push 0x65
pop eax
push 0x6e
mov word [ebp - 0xaa], ax
pop eax
push 0x74
pop ebx
push 0x6f
pop esi
push 0x6c
mov word [ebp - 0xa8], ax
mov word [ebp - 0xa0], ax
pop eax
push 0x53
mov word [ebp - 0x98], ax
pop eax
push 0x65
mov word [ebp - 0x96], ax
pop eax
push 0x5c
mov word [ebp - 0x94], ax
pop eax
push 0x6e
mov word [ebp - 0x90], ax
pop eax
push 0x6c
mov word [ebp - 0x8a], ax
pop eax
push 0x5c
mov word [ebp - 0x82], ax
pop eax
push 0x54
mov word [ebp - 0x80], ax
pop eax
push 0x69
mov word [ebp - 0xb2], dx
mov word [ebp - 0xa4], dx
mov word [ebp - 0x8e], dx
pop edx
push 0x6d
mov word [ebp - 0xa2], si
mov word [ebp - 0x9a], si
mov word [ebp - 0x8c], si
mov word [ebp - 0x84], si
mov word [ebp - 0xae], cx
mov word [ebp - 0xac], cx
mov word [ebp - 0xa6], bx
mov word [ebp - 0x9e], bx
mov word [ebp - 0x9c], cx
mov word [ebp - 0x92], bx
mov word [ebp - 0x88], bx
mov word [ebp - 0x86], cx
mov word [ebp - 0x7e], ax
mov word [ebp - 0x7c], dx
pop esi
push 0x65
pop eax
push 0x5a
mov word [ebp - 0x78], ax
pop eax
push 0x6f
mov word [ebp - 0x76], ax
pop eax
push 0x6e
mov word [ebp - 0x74], ax
pop eax
push 0x65
mov word [ebp - 0x72], ax
pop eax
push 0x49
mov word [ebp - 0x70], ax
pop eax
push 0x6e
mov word [ebp - 0x6e], ax
pop eax
push 0x66
mov word [ebp - 0x6c], ax
pop eax
push 0x6f
mov word [ebp - 0x6a], ax
pop eax
push 0x61
mov word [ebp - 0x68], ax
mov word [ebp - 0x5c], ax
mov word [ebp - 0x66], cx
pop ecx
push 0x6e
pop eax
push 0x41
mov word [ebp - 0x5a], ax
xor eax, eax
mov word [ebp - 0x58], ax
mov word [ebp - 0x60], bx
pop ebx
push 0x63
pop eax
push 0x74
mov word [ebp - 0x32], ax
pop eax
push 0x76
mov word [ebp - 0x30], ax
pop eax
push 0x65
mov word [ebp - 0x2c], ax
pop eax
push 0x54
mov word [ebp - 0x2a], ax
mov word [ebp - 0x22], ax
mov word [ebp - 0x34], bx
pop ebx
push 0x42
pop eax
push 0x73
mov word [ebp - 0x20], ax
pop eax
mov word [ebp - 0x1a], ax
xor eax, eax
push 0x20019
mov word [ebp - 0x18], ax
lea eax, [edi + 0x218]
push 4
push eax
lea eax, [ebp - 0x34]
mov word [ebp - 0x7a], si
push eax
lea eax, [ebp - 0xc0]
mov word [ebp - 0x64], si
mov word [ebp - 0x62], cx
mov word [ebp - 0x5e], dx
mov word [ebp - 0x2e], dx
mov word [ebp - 0x28], bx
mov word [ebp - 0x26], dx
mov word [ebp - 0x24], si
mov word [ebp - 0x1e], dx
mov word [ebp - 0x1c], cx
push eax
push reloc.OLEAUT32.dll_SysReAllocString
call fcn.00404a35
push ebx
pop eax
push 0x69
mov word [ebp - 0x54], ax
pop eax
push 0x65
pop ecx
push 0x5a
mov word [ebp - 0x52], ax
pop eax
push 0x6f
mov word [ebp - 0x4c], ax
pop eax
push 0x6e
mov word [ebp - 0x4a], ax
pop eax
push 0x4b
mov word [ebp - 0x48], ax
pop eax
push 0x79
mov word [ebp - 0x44], ax
pop eax
push 0x4e
mov word [ebp - 0x40], ax
mov word [ebp - 0x50], si
pop esi
push 0x61
pop eax
push 0x6d
mov word [ebp - 0x3c], ax
pop eax
mov word [ebp - 0x3a], ax
xor eax, eax
push 0x20019
mov word [ebp - 0x36], ax
lea eax, [ebp - 0x230]
push 0x100
push eax
lea eax, [ebp - 0x54]
mov word [ebp - 0x4e], cx
push eax
lea eax, [ebp - 0xc0]
mov word [ebp - 0x46], cx
push eax
push reloc.OLEAUT32.dll_SysReAllocString
mov word [ebp - 0x42], cx
mov word [ebp - 0x3e], si
mov word [ebp - 0x38], cx
call fcn.00404a35
push 0x53
pop eax
push 0x4f
mov word [ebp - 0x130], ax
pop eax
push 0x46
mov word [ebp - 0x12e], ax
pop eax
push ebx
mov word [ebp - 0x12c], ax
pop eax
push 0x57
pop ecx
push 0x41
pop ebx
push 0x52
mov word [ebp - 0x12a], ax
pop eax
push 0x45
mov word [ebp - 0x124], ax
pop eax
push 0x5c
mov word [ebp - 0x122], ax
pop eax
push 0x4d
mov word [ebp - 0x120], ax
pop eax
mov word [ebp - 0x128], cx
mov word [ebp - 0x126], bx
mov word [ebp - 0x11e], ax
push 0x69
pop ebx
push 0x63
pop eax
push 0x72
mov word [ebp - 0x11a], ax
pop eax
push 0x6f
mov word [ebp - 0x118], ax
pop eax
push 0x73
pop edx
push 0x66
mov word [ebp - 0x116], ax
mov word [ebp - 0x112], ax
pop eax
push 0x74
mov word [ebp - 0x110], ax
pop eax
push 0x5c
mov word [ebp - 0x10e], ax
pop eax
push 0x6e
mov word [ebp - 0x10c], ax
pop eax
push 0x64
mov word [ebp - 0x106], ax
pop eax
push 0x6f
mov word [ebp - 0x104], ax
pop eax
push 0x77
mov word [ebp - 0x102], ax
pop eax
push 0x20
mov word [ebp - 0x100], ax
pop eax
push 0x54
mov word [ebp - 0xfc], ax
pop eax
push 0x5c
mov word [ebp - 0xf8], ax
pop eax
push 0x43
mov word [ebp - 0xf6], ax
pop eax
push 0x75
mov word [ebp - 0xf4], ax
pop eax
push 0x72
mov word [ebp - 0x10a], cx
pop ecx
push 0x65
mov word [ebp - 0xf2], ax
pop eax
push 0x6e
mov word [ebp - 0xfa], si
pop esi
push 0x74
mov word [ebp - 0xec], ax
pop eax
push 0x56
mov word [ebp - 0xe8], ax
pop eax
push 0x65
mov word [ebp - 0xe6], ax
pop eax
push 0x6f
mov word [ebp - 0xf0], cx
mov word [ebp - 0xee], cx
mov word [ebp - 0xe2], cx
pop ecx
mov word [ebp - 0x11c], bx
mov word [ebp - 0x114], dx
mov word [ebp - 0x108], bx
mov word [ebp - 0xfe], dx
mov word [ebp - 0xea], si
mov word [ebp - 0xe4], ax
mov word [ebp - 0xe0], dx
mov word [ebp - 0xde], bx
mov word [ebp - 0xdc], cx
push 0x5c
pop eax
push 0x54
mov word [ebp - 0xd8], ax
pop eax
push 0x6d
mov word [ebp - 0xd6], ax
pop eax
push 0x65
mov word [ebp - 0xd2], ax
pop eax
push 0x20
pop edx
push 0x5a
mov word [ebp - 0xd0], ax
mov word [ebp - 0xc6], ax
xor eax, eax
mov word [ebp - 0xce], dx
pop edx
push 0x73
mov word [ebp - 0xc2], ax
mov word [ebp - 0xcc], dx
pop edx
push 0x44
pop eax
push 0x70
mov word [ebp - 0x14], ax
pop eax
push 0x6c
mov word [ebp - 0xe], ax
pop eax
push 0x61
mov word [ebp - 0xc], ax
pop eax
push 0x79
mov word [ebp - 0xa], ax
pop eax
mov word [ebp - 8], ax
xor eax, eax
mov word [ebp - 6], ax
lea eax, [ebp - 0x230]
push eax
lea eax, [ebp - 0x130]
mov word [ebp - 0xda], si
push eax
push 0x483b1c
mov word [ebp - 0xc8], si
lea eax, [ebp - 0x430]
push 0xffffffffffffffff
mov esi, 0x100
mov word [ebp - 0xd4], bx
push esi
push eax
mov word [ebp - 0xca], cx
mov word [ebp - 0xc4], dx
mov word [ebp - 0x12], bx
mov word [ebp - 0x10], dx
call fcn.0046585f
add esp, 0x48
lea eax, [edi + 0x25c]
push 0x20019
push esi
push eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x430]
push eax
push reloc.OLEAUT32.dll_SysReAllocString
call fcn.00404a35
mov ecx, dword [ebp - 4]
add esp, 0x18
xor ecx, ebp
pop edi
pop esi
pop ebx
call fcn.00462f14
mov esp, ebp
pop ebp
ret