Function at 0x401918
Capabilities:
Get geographical location

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x450
push esi
push edi
mov dword [esp + 8], 0x72a61ba
mov dword [esp + 0x20], 0x4800169c
mov dword [esp + 0x10], 0xa3f4f4d
mov dword [esp + 0x18], 0x1bd850da
mov dword [esp + 0xc], 0x5435b6ca
mov dword [esp + 0x24], 0x698c5865
mov dword [esp + 0x54], 0x25078b52
mov dword [esp + 0x3c], 0x981b550
mov dword [esp + 0x30], 0x6ea6348e
mov dword [esp + 0x34], 0x106cf352
mov dword [esp + 0x2c], 0x19cccac
mov dword [esp + 0x1c], 0x10cb1a1e
mov dword [esp + 0x28], 0x779bf408
mov dword [esp + 0x14], 0x75c81011
mov dword [esp + 0x48], 0x33cf971
mov dword [esp + 0x40], 0x1795d7f9
mov dword [esp + 0x44], 0xbc46c97
mov dword [esp + 0x4c], 0x2fd4ab27
mov dword [esp + 0x38], 0x4b894c24
sub dword [esp + 8], 0x672bf1c5
mov eax, 0x60987c0c
mul dword [esp + 8]
mov eax, dword [esp + 8]
sub dword [esp + 0x20], 0x17ef0c4f
mov eax, 0xe71fd9e
mul dword [esp + 0x18]
mov eax, dword [esp + 0x18]
add dword [esp + 0xc], 0x4d65887b
mov eax, 0x67b73890
mul dword [esp + 0x10]
mov eax, dword [esp + 0x10]
mov eax, 0x5f859a1d
mul dword [esp + 0x18]
mov eax, dword [esp + 0x18]
add dword [esp + 0x10], 0x1b8db03b
sub dword [esp + 0x10], 0x5a7fbcc9
mov eax, 0x57020423
mul dword [esp + 0x24]
mov eax, dword [esp + 0x24]
add dword [esp + 0xc], 0xfc20bd2
mov eax, 0x3266a85e
mul dword [esp + 0x18]
mov eax, dword [esp + 0x18]
sub dword [esp + 8], 0x55320200
add dword [esp + 0x2c], 0x12a5129f
mov eax, 0x1d2a91bf
mul dword [esp + 0xc]
mov eax, dword [esp + 0xc]
sub dword [esp + 0x34], 0x1f767afa
mov eax, 0x6396ad9a
mul dword [esp + 0xc]
mov eax, dword [esp + 0xc]
sub dword [esp + 0x1c], 0x48f2ca4e
sub dword [esp + 0x28], 0x4c0d9477
add dword [esp + 0x30], 0x70238061
add dword [esp + 0x10], 0x6b8c2b
sub dword [esp + 8], 0x939aac2
mov eax, 0x4ad0742
mul dword [esp + 0x14]
mov eax, dword [esp + 0x14]
sub dword [esp + 0x24], 0x3232bad1
mov eax, 0x4207b8c6
mul dword [esp + 0x14]
mov eax, dword [esp + 0x14]
sub dword [esp + 0x1c], 0x541a4d83
sub dword [esp + 0x20], 0xfa5db81
mov eax, 0x5344ddfd
mul dword [esp + 0x14]
mov eax, dword [esp + 0x14]
sub dword [esp + 8], 0x57bd06f0
sub dword [esp + 0x38], 0x73090f5
sub dword [esp + 0x28], 0x6b2fe37b
xor edi, edi
cmp dword [0x87fccc], 0x400
jne 0x401b6b
push edi
push edi
call dword [sym.imp.KERNEL32.dll_VirtualLock]
push str.Xiyuf
push edi
push edi
push edi
call dword [sym.imp.KERNEL32.dll_SetCalendarInfoA]
push edi
lea eax, [esp + 0x5c]
push eax
push edi
push edi
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoA]
push edi
push edi
push edi
push edi
push edi
call dword [sym.imp.KERNEL32.dll_VirtualAllocEx]
push edi
push edi
call fcn.004035e2
push edi
push edi
call fcn.004039bc
push edi
call fcn.00403ca1
add esp, 0x14
xorps xmm1, xmm1
xorps xmm0, xmm0
call fcn.004010d0
xorps xmm0, xmm0
call fcn.00401104
push edi
call fcn.00403c28
pop ecx
push edi
push edi
call fcn.00403533
push edi
call fcn.00403a88
add esp, 0xc
mov esi, edi
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
cmp esi, 0x207138
jg 0x401b84
inc esi
cmp esi, 0x4f672
jl 0x401b6d
mov esi, edi
push edi
call dword [sym.imp.KERNEL32.dll_GlobalFindAtomA]
cmp esi, 0x2b157b
jg 0x401b9e
inc esi
cmp esi, 0x116bd
jl 0x401b86
mov esi, edi
push edi
lea eax, [esp + 0x5c]
push eax
push edi
push edi
push edi
push edi
call dword [sym.imp.KERNEL32.dll_GetNumberFormatA]
call dword [sym.imp.KERNEL32.dll_GetLastError]
call dword [sym.imp.KERNEL32.dll_GetThreadLocale]
cmp esi, 0x58bc14
jle 0x401bce
cmp dword [esp + 0x50], 0x7a45f535
jne 0x401bd7
inc esi
cmp esi, 0xe154
jl 0x401ba0
mov eax, dword [0x41cf34]
mov dword [0x87fccc], eax
call fcn.004016f7
mov esi, 0x3078f
cmp dword [0x87fccc], 0x51f
jne 0x401c08
push edi
lea eax, [esp + 0x5c]
push eax
push str.besohakexuxak
call dword [sym.imp.KERNEL32.dll_FindFirstVolumeMountPointA]
dec esi
jne 0x401beb
pop edi
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret 0x10