Function at 0x401bb5
Capabilities:
Get common file path
Get disk information
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x8e8
push esi
push edi
mov dword [esp + 0xe0], 0x2a53ade4
mov dword [esp + 0xc4], 0x7e1432fd
mov dword [esp + 0x74], 0x3dbb0c20
mov dword [esp + 0xd0], 0x2ad7be09
mov dword [esp + 0x4c], 0x71d8f2a5
mov dword [esp + 0x88], 0x5fd8a67b
mov dword [esp + 0x3c], 0x34f38d21
mov dword [esp + 0x30], 0x4a0f2313
mov dword [esp + 0x90], 0x68923540
mov dword [esp + 0xcc], 0x787f72e2
mov dword [esp + 0x80], 0x78b68a50
mov dword [esp + 0x94], 0x47bf2c2d
mov dword [esp + 0x28], 0x76c4e13f
mov dword [esp + 0x9c], 0x2512e7f
mov dword [esp + 0x18], 0x7862f39
mov dword [esp + 0x78], 0x7872c00a
mov dword [esp + 0xbc], 0x5936d532
mov dword [esp + 0xd8], 0x469842c0
mov dword [esp + 0xb8], 0x4edd11c8
mov dword [esp + 0x34], 0x102e00a
mov dword [esp + 0x70], 0x6ae72b65
mov dword [esp + 0x5c], 0x50de0aed
mov dword [esp + 0xa4], 0x4a8afbd3
mov dword [esp + 0x54], 0x462595e3
mov dword [esp + 0xec], 0x71c44113
mov dword [esp + 0x1c], 0xb744eae
mov dword [esp + 0x20], 0x2c776310
mov dword [esp + 0x10], 0x67e4d636
mov dword [esp + 0xc], 0x59aa6064
mov dword [esp + 0x44], 0x29219df9
mov dword [esp + 0x68], 0x751f61fa
mov dword [esp + 8], 0x24463c65
mov dword [esp + 0xb0], 0x661b972c
mov dword [esp + 0xdc], 0x5ee878b
mov dword [esp + 0x84], 0x26b8e975
mov dword [esp + 0x6c], 0x1e45ecf3
mov dword [esp + 0x60], 0x795c15ba
mov dword [esp + 0x98], 0x33d1a78
mov dword [esp + 0xc8], 0x620ce321
mov dword [esp + 0xac], 0x3906e4e1
mov dword [esp + 0x7c], 0x2c26fd69
mov dword [esp + 0x14], 0x127d9e31
mov dword [esp + 0xa8], 0xa7d9c89
mov dword [esp + 0x58], 0x78c8c3b
mov dword [esp + 0x50], 0x1da1a605
mov dword [esp + 0xa0], 0x78f751fb
mov dword [esp + 0xe4], 0x3757f732
mov dword [esp + 0x48], 0x1afe8116
mov dword [esp + 0x2c], 0x56b56e7e
mov dword [esp + 0xc0], 0x5643802d
mov dword [esp + 0xb4], 0x6f4677d4
mov dword [esp + 0x8c], 0x4c4feaa5
mov dword [esp + 0x40], 0x51d2a1ce
mov dword [esp + 0x64], 0x410dbb2d
mov dword [esp + 0x38], 0x166d189a
mov dword [esp + 0xe8], 0x395085c2
mov dword [esp + 0x24], 0x24068590
sub dword [esp + 0xe0], 0x34a281d3
mov eax, 0x797fc2e3
mul dword [esp + 0xe0]
mov eax, dword [esp + 0xe0]
sub dword [esp + 0xe0], 0xe189fdc
mov eax, 0x5ee4459c
mul dword [esp + 0xc4]
mov eax, dword [esp + 0xc4]
add dword [esp + 0xe0], 0x455b7c80
sub dword [esp + 0xe0], 0x7fa7bfb8
add dword [esp + 0x74], 0x77fa49d
sub dword [esp + 0xe0], 0x691ca8d8
add dword [esp + 0xc4], 0x44488ac0
mov eax, 0x5ab223eb
mul dword [esp + 0xe0]
mov eax, dword [esp + 0xe0]
mov eax, 0x414e1e91
mul dword [esp + 0x74]
mov eax, dword [esp + 0x74]
add dword [esp + 0xd0], 0x20b6657f
sub dword [esp + 0xd0], 0x115629c3
add dword [esp + 0x74], 0x7b93c405
mov eax, 0x6cb65919
mul dword [esp + 0x4c]
mov eax, dword [esp + 0x4c]
sub dword [esp + 0xc4], 0x4eac292b
sub dword [esp + 0x88], 0x6606c8a
sub dword [esp + 0x74], 0xf3542a7
mov eax, 0x6e1bbb6e
mul dword [esp + 0xd0]
mov eax, dword [esp + 0xd0]
add dword [esp + 0x88], 0x1665e083
mov eax, 0x250f930c
mul dword [esp + 0x90]
mov eax, dword [esp + 0x90]
mov eax, 0xfcd5a0b
mul dword [esp + 0x90]
mov eax, dword [esp + 0x90]
mov eax, 0x1d0ac88
mul dword [esp + 0x3c]
mov eax, dword [esp + 0x3c]
sub dword [esp + 0xe0], 0x634b8a48
sub dword [esp + 0xe0], 0x99dbc00
sub dword [esp + 0x90], 0x38f3c459
mov eax, 0x5a9dc8b1
mul dword [esp + 0x28]
mov eax, dword [esp + 0x28]
sub dword [esp + 0x74], 0x4ef27822
sub dword [esp + 0x94], 0xe4d9643
mov eax, 0x4aebc2f3
mul dword [esp + 0xd0]
mov eax, dword [esp + 0xd0]
add dword [esp + 0x30], 0x4661b5d1
mov eax, 0x4a065319
mul dword [esp + 0x30]
mov eax, dword [esp + 0x30]
mov eax, 0x425a1f8c
mul dword [esp + 0x18]
mov eax, dword [esp + 0x18]
add dword [esp + 0x80], 0x40b83170
sub dword [esp + 0x30], 0x7a4e5b40
add dword [esp + 0x90], 0x6e77add7
mov eax, 0x5792e9c0
mul dword [esp + 0x4c]
mov eax, dword [esp + 0x4c]
sub dword [esp + 0x30], 0x5bd35652
add dword [esp + 0x30], 0xd37ae42
sub dword [esp + 0x28], 0x3caccfc7
add dword [esp + 0xbc], 0x7af37c33
sub dword [esp + 0xd8], 0x26fc7cd6
sub dword [esp + 0x28], 0x524a1515
sub dword [esp + 0xe0], 0x709c3868
add dword [esp + 0xd8], 0x424c09db
mov eax, 0x57855426
mul dword [esp + 0xe0]
mov eax, dword [esp + 0xe0]
mov eax, 0x1d9dd60a
mul dword [esp + 0xb8]
mov eax, dword [esp + 0xb8]
sub dword [esp + 0x28], 0x16ebdabf
sub dword [esp + 0x54], 0x1b4c41f4
add dword [esp + 0xe0], 0x13a57963
sub dword [esp + 0xb8], 0x5a27f60c
add dword [esp + 0x5c], 0x769d88ad
mov eax, 0x13640d2c
mul dword [esp + 0x20]
mov eax, dword [esp + 0x20]
mov eax, 0x41b770bf
mul dword [esp + 0x4c]
mov eax, dword [esp + 0x4c]
add dword [esp + 0x68], 0x13a030df
add dword [esp + 0x30], 0x23684871
add dword [esp + 0x10], 0x55eba34d
add dword [esp + 0xdc], 0x66b0d257
mov eax, 0x4658efea
mul dword [esp + 0xa4]
mov eax, dword [esp + 0xa4]
mov eax, 0xf7ff957
mul dword [esp + 0x34]
mov eax, dword [esp + 0x34]
sub dword [esp + 0x84], 0xfe8d47
add dword [esp + 0x28], 0x290c875b
mov eax, 0x489da335
mul dword [esp + 0x44]
mov eax, dword [esp + 0x44]
sub dword [esp + 0x18], 0x15db239f
add dword [esp + 0x7c], 0x2e2b56d
add dword [esp + 0x90], 0x484542a5
add dword [esp + 0x74], 0x76571d31
mov eax, 0x1ea949cc
mul dword [esp + 0x84]
mov eax, dword [esp + 0x84]
sub dword [esp + 0xbc], 0x2d2d03af
add dword [esp + 0x80], 0x5697995
add dword [esp + 0x3c], 0x4584caba
add dword [esp + 0x44], 0x1d525d78
add dword [esp + 0x14], 0x550921f8
add dword [esp + 0x44], 0x7b287f21
add dword [esp + 0xcc], 0x771b1f4b
sub dword [esp + 0x3c], 0x69194593
sub dword [esp + 0xb8], 0x4b54a69d
sub dword [esp + 0x90], 0x57420da3
add dword [esp + 0xc4], 0x653f3737
add dword [esp + 0xe0], 0x563aed14
add dword [esp + 0x10], 0x7a2a5f97
add dword [esp + 0xc4], 0x46108f25
sub dword [esp + 0x98], 0x3052043c
add dword [esp + 0x84], 0x90b8851
mov eax, 0x77b66a6
mul dword [esp + 0x98]
mov eax, dword [esp + 0x98]
add dword [esp + 0xb4], 0x2de70fd0
sub dword [esp + 0x4c], 0xe893ef7
add dword [esp + 0x28], 0x7070968f
sub dword [esp + 0xb8], 0x2dba8592
add dword [esp + 0x54], 0x6d77f8f0
sub dword [esp + 0x40], 0x4ef4faad
add dword [esp + 0xc4], 0x1e809dda
mov eax, 0x6d1413fe
mul dword [esp + 0xc]
mov eax, dword [esp + 0xc]
xor esi, esi
xor edi, edi
cmp edi, 0xa16
jge 0x402210
push esi
push esi
push esi
push esi
push esi
call dword [sym.imp.GDI32.dll_GetCharWidthI]
cmp edi, 0x166c480
jg 0x402221
inc edi
cmp edi, 0x37e3fd1
jl 0x4021fd
cmp dword [0x246398c], 0x400
jne 0x4022db
push esi
push esi
call dword [sym.imp.KERNEL32.dll__lcreat]
push esi
push esi
push esi
call dword [sym.imp.KERNEL32.dll__hread]
push esi
push esi
push esi
push esi
push esi
push esi
call dword [sym.imp.KERNEL32.dll_GetCalendarInfoA]
push esi
call dword [sym.imp.KERNEL32.dll_GlobalFree]
push esi
lea eax, [esp + 0xf4]
push eax
push 0x447250
call dword [sym.imp.KERNEL32.dll_QueryDosDeviceW]
push esi
call dword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
push esi
push esi
push esi
push esi
push esi
push esi
push esi
push esi
push esi
push esi
call dword [sym.imp.USER32.dll_DrawStateW]
push esi
call fcn.0040450d
pop ecx
push esi
push esi
call fcn.00404b2a
fldz
fst qword [esp]
push ecx
push ecx
fstp qword [esp]
call fcn.00404230
fstp st(0)
add esp, 8
fldz
fstp qword [esp]
call fcn.00404a10
fstp st(0)
mov eax, esp
mov dword [eax], esi
mov dword [eax + 4], esi
call fcn.00404650
fstp st(0)
mov eax, esp
mov dword [eax], esi
mov dword [eax + 4], esi
call fcn.004043f0
fstp st(0)
mov eax, esp
mov dword [eax], esi
mov dword [eax + 4], esi
call fcn.004048e0
fstp st(0)
add esp, 8
xor edi, edi
cmp edi, 0x16d22
jge 0x402306
push esi
push esi
call dword [sym.imp.USER32.dll_SetCaretPos]
push esi
lea eax, [esp + 0xd8]
push eax
push esi
push esi
push esi
call dword [sym.imp.GDI32.dll_GetCharABCWidthsI]
push esi
call dword [sym.imp.USER32.dll_GetSysColorBrush]
push esi
push esi
push dword [esp + 0x10]
push esi
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp edi, 0x12e8a06
jg 0x40232a
inc edi
cmp edi, 0x30375
jl 0x4022dd
mov eax, dword [0x44e1f4]
mov dword [0x246398c], eax
call fcn.004018fc
mov edi, 0x2ec37
cmp dword [0x246398c], 0x51f
jne 0x402359
lea eax, [esp + 0xf0]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
dec edi
jne 0x40233e
pop edi
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret 0x10