Function at 0x401896
Capabilities:
Get disk information
Get geographical location
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xca8
push ebx
push esi
mov dword [esp + 0xc], 0x72a61ba
mov dword [esp + 0x50], 0x4800169c
mov dword [esp + 0x1c], 0xa3f4f4d
mov dword [esp + 0x24], 0x1bd850da
mov dword [esp + 0x18], 0x5435b6ca
mov dword [esp + 0x3c], 0x698c5865
mov dword [esp + 0x88], 0x25078b52
mov dword [esp + 0x70], 0x981b550
mov dword [esp + 0x64], 0x6ea6348e
mov dword [esp + 0x5c], 0x106cf352
mov dword [esp + 0x54], 0x19cccac
mov dword [esp + 0x44], 0x10cb1a1e
mov dword [esp + 0x4c], 0x779bf408
mov dword [esp + 0x30], 0x75c81011
mov dword [esp + 0x8c], 0x33cf971
mov dword [esp + 0x7c], 0x1795d7f9
mov dword [esp + 0x94], 0xbc46c97
mov dword [esp + 0x84], 0x2fd4ab27
mov dword [esp + 0x58], 0x4b894c24
sub dword [esp + 0xc], 0x672bf1c5
mov eax, 0x60987c0c
mul dword [esp + 0xc]
mov eax, dword [esp + 0xc]
sub dword [esp + 0x50], 0x17ef0c4f
mov eax, 0xe71fd9e
mul dword [esp + 0x24]
mov eax, dword [esp + 0x24]
add dword [esp + 0x18], 0x4d65887b
mov eax, 0x67b73890
mul dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
mov eax, 0x5f859a1d
mul dword [esp + 0x24]
mov eax, dword [esp + 0x24]
add dword [esp + 0x1c], 0x1b8db03b
sub dword [esp + 0x1c], 0x5a7fbcc9
mov eax, 0x57020423
mul dword [esp + 0x3c]
mov eax, dword [esp + 0x3c]
add dword [esp + 0x18], 0xfc20bd2
mov eax, 0x3266a85e
mul dword [esp + 0x24]
mov eax, dword [esp + 0x24]
sub dword [esp + 0xc], 0x55320200
add dword [esp + 0x54], 0x12a5129f
mov eax, 0x1d2a91bf
mul dword [esp + 0x18]
mov eax, dword [esp + 0x18]
sub dword [esp + 0x5c], 0x1f767afa
mov eax, 0x6396ad9a
mul dword [esp + 0x18]
mov eax, dword [esp + 0x18]
sub dword [esp + 0x44], 0x48f2ca4e
sub dword [esp + 0x4c], 0x4c0d9477
add dword [esp + 0x64], 0x70238061
add dword [esp + 0x1c], 0x6b8c2b
sub dword [esp + 0xc], 0x939aac2
mov eax, 0x4ad0742
mul dword [esp + 0x30]
mov eax, dword [esp + 0x30]
sub dword [esp + 0x3c], 0x3232bad1
mov eax, 0x4207b8c6
mul dword [esp + 0x30]
mov eax, dword [esp + 0x30]
sub dword [esp + 0x44], 0x541a4d83
sub dword [esp + 0x50], 0xfa5db81
mov eax, 0x5344ddfd
mul dword [esp + 0x30]
mov eax, dword [esp + 0x30]
sub dword [esp + 0xc], 0x57bd06f0
sub dword [esp + 0x58], 0x73090f5
sub dword [esp + 0x4c], 0x6b2fe37b
xor ebx, ebx
cmp dword [0x864fb4], 0x400
jne 0x401b25
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_VirtualLock]
push ebx
call dword [sym.imp.KERNEL32.dll_SetLastError]
push ebx
lea eax, [esp + 0xb4]
push eax
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoA]
lea eax, [esp + 0x98]
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_FindResourceA]
push ebx
lea eax, [esp + 0x4b4]
push eax
push 0x41a9f0
call dword [sym.imp.KERNEL32.dll_QueryDosDeviceW]
push ebx
push ebx
call fcn.0040332d
push ebx
push ebx
call fcn.00403734
push ebx
call fcn.00403b33
add esp, 0x14
xorps xmm0, xmm0
call fcn.00401080
xorps xmm0, xmm0
movsd qword [esp + 0x68], xmm0
call fcn.004010e6
movsd xmm0, qword [esp + 0x68]
call fcn.004010c7
movsd xmm0, qword [esp + 0x68]
call fcn.004010a8
push ebx
call fcn.00403aba
pop ecx
push ebx
call fcn.0040391a
pop ecx
mov esi, ebx
push ebx
call dword [sym.imp.KERNEL32.dll_SetLastError]
cmp esi, 0xfa6057f
jge 0x401d11
mov dword [esp + 0x10], 0x7e9e16f7
mov dword [esp + 8], 0x325d5665
mov dword [esp + 0x34], 0x580bdfb2
mov dword [esp + 0x28], 0x12e1da1e
mov dword [esp + 0x20], 0x51338bef
mov dword [esp + 0x90], 0x93d5fc5
mov dword [esp + 0x38], 0xf94bc89
mov dword [esp + 0x40], 0x73a30372
mov dword [esp + 0x2c], 0x163be60a
mov dword [esp + 0x14], 0x1e4073e5
mov dword [esp + 0x48], 0x14ba4a74
mov dword [esp + 0x74], 0x3b24fa20
mov dword [esp + 0x78], 0x5000afdf
mov dword [esp + 0x80], 0x412f8b9
mov dword [esp + 0x60], 0x346db22
mov dword [esp + 0x68], 0x2d051a7f
add dword [esp + 8], 0x1623a56a
sub dword [esp + 0x10], 0x1a122b1f
sub dword [esp + 8], 0x211642b4
add dword [esp + 0x34], 0x5bf21478
add dword [esp + 0x10], 0x359088bd
mov eax, 0x4b184aed
mul dword [esp + 0x20]
mov eax, dword [esp + 0x20]
add dword [esp + 0x10], 0x3efceca3
add dword [esp + 8], 0x7fb00c61
mov eax, 0x4504648f
mul dword [esp + 0x10]
mov eax, dword [esp + 0x10]
add dword [esp + 8], 0xd37f36a
mov eax, 0x300d923b
mul dword [esp + 0x28]
mov eax, dword [esp + 0x28]
sub dword [esp + 0x20], 0x24e8141b
add dword [esp + 0x28], 0x3d53bf52
add dword [esp + 8], 0x307be2f6
mov eax, 0x37bba327
mul dword [esp + 0x2c]
mov eax, dword [esp + 0x2c]
add dword [esp + 0x28], 0x5bdf009
mov eax, 0x2926905e
mul dword [esp + 0x2c]
mov eax, dword [esp + 0x2c]
mov eax, 0x4047b4fb
mul dword [esp + 0x14]
mov eax, dword [esp + 0x14]
add dword [esp + 0x40], 0x2401203
sub dword [esp + 0x20], 0x2fe42c84
sub dword [esp + 0x10], 0x49afaf32
add dword [esp + 0x40], 0x39416cee
mov eax, 0x3f2eedb
mul dword [esp + 0x14]
mov eax, dword [esp + 0x14]
add dword [esp + 0x48], 0x3699918c
mov eax, 0x438ffd38
mul dword [esp + 0x14]
mov eax, dword [esp + 0x14]
mov eax, 0x51511353
mul dword [esp + 0x34]
mov eax, dword [esp + 0x34]
mov eax, 0x2bd1c218
mul dword [esp + 0x38]
mov eax, dword [esp + 0x38]
add dword [esp + 0x2c], 0x5c4d1e21
add dword [esp + 0x48], 0x51ae37bb
mov eax, 0x392e2d60
mul dword [esp + 0x34]
mov eax, dword [esp + 0x34]
mov eax, 0x62397413
mul dword [esp + 0x14]
mov eax, dword [esp + 0x14]
mov eax, 0x6830c50f
mul dword [esp + 0x60]
mov eax, dword [esp + 0x60]
sub dword [esp + 0x20], 0x6e52eb88
add dword [esp + 0x38], 0x1551c248
cmp esi, 0x207138
jg 0x401d26
inc esi
cmp esi, 0x4f672
jl 0x401b27
mov esi, ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GlobalFindAtomA]
cmp esi, 0x2b157b
jg 0x401d40
inc esi
cmp esi, 0x116bd
jl 0x401d28
mov esi, ebx
push ebx
lea eax, [esp + 0xb4]
push eax
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetNumberFormatA]
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp esi, 0x58bc14
jle 0x401d6d
cmp dword [esp + 0x6c], 0x7a45f535
jne 0x401d76
inc esi
cmp esi, 0xe154
jl 0x401d42
mov eax, dword [0x420fe4]
mov dword [0x864fb4], eax
call fcn.00401648
mov esi, 0x3078f
cmp dword [0x864fb4], 0x51f
jne 0x401daa
push ebx
lea eax, [esp + 0x4b4]
push eax
push str.gotuzepalejecimusepabecuturugubuzihorasosezawijuyarevirojicifeluketosipaneca
call dword [sym.imp.KERNEL32.dll_FindFirstVolumeMountPointW]
dec esi
jne 0x401d8a
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 0x10