Function at 0x403cb0
Capabilities:
Contain obfuscated stackstrings
Get common file path
Get disk information

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
sub esp, 0x8f0
push ebx
push ebp
push esi
push edi
mov dword [esp + 0x64], 0x6fc2a2bd
mov dword [esp + 0xac], 0x20a27b72
mov dword [esp + 0xe4], 0xf60b2e8
mov dword [esp + 0x70], 0x23e8fe32
mov dword [esp + 0x84], 0x3d515da6
mov dword [esp + 0xa8], 0x1b86afed
mov dword [esp + 0x9c], 0x2c082b76
mov dword [esp + 0x50], 0x3a975952
mov dword [esp + 0xc8], 0x1cd5fa1b
mov dword [esp + 0x6c], 0x40ca3af0
mov dword [esp + 0x68], 0x6ab9dbe2
mov dword [esp + 0xbc], 0x42a41e68
mov dword [esp + 0xfc], 0x7da2873b
mov dword [esp + 0x48], 0x6de8812
mov dword [esp + 0xc0], 0x5ca6e971
mov dword [esp + 0x8c], 0x1758a7f8
mov dword [esp + 0x54], 0x18250832
mov dword [esp + 0xa0], 0x6dd514e6
mov dword [esp + 0xd4], 0x532c4a6a
mov dword [esp + 0xf8], 0x58779131
mov dword [esp + 0x60], 0x64030486
mov dword [esp + 0xe0], 0x2f730149
mov dword [esp + 0x34], 0x7b811e2c
mov dword [esp + 0xc4], 0x61ae6e33
mov dword [esp + 0xd8], 0x64f98d57
mov dword [esp + 0xcc], 0x3bdf99ae
mov dword [esp + 0x74], 0x48d289fb
mov dword [esp + 0x98], 0x260c5f56
mov dword [esp + 0xb8], 0x5e47889a
mov dword [esp + 0x90], 0x7274f093
mov dword [esp + 0xd0], 0x69ff7156
mov dword [esp + 0xf0], 0x5b39e7f2
mov dword [esp + 0x28], 0x55173b78
mov dword [esp + 0x40], 0x5f7291e
mov dword [esp + 0xb0], 0x2841367c
mov dword [esp + 0xdc], 0x1bbbbc63
mov dword [esp + 0x58], 0x3795498a
mov dword [esp + 0x88], 0x6bdff18b
mov dword [esp + 0x38], 0x59db715d
mov dword [esp + 0x2c], 0x270f6b3b
mov dword [esp + 0x80], 0x4c792a3c
mov dword [esp + 0x4c], 0x48b33cd3
mov dword [esp + 0x30], 0x5a23b70c
mov dword [esp + 0xa4], 0x4923ab37
mov dword [esp + 0x78], 0x3dd4b3c9
mov dword [esp + 0xe8], 0x50ca4b5e
mov dword [esp + 0xec], 0x28cb5942
mov dword [esp + 0x44], 0x28052704
mov dword [esp + 0xf4], 0x31feb655
mov dword [esp + 0x94], 0x750f045e
mov dword [esp + 0xb4], 0x79371304
mov dword [esp + 0x3c], 0xc6a443f
mov dword [esp + 0x5c], 0x3640f1d6
mov dword [esp + 0x7c], 0x59677561
add dword [esp + 0x64], 0x6732fd05
sub dword [esp + 0x64], 0x173884cb
add dword [esp + 0x64], 0x7093bf0c
sub dword [esp + 0x64], 0x7336f987
add dword [esp + 0x9c], 0x5c321be3
sub dword [esp + 0x84], 0x784e631a
sub dword [esp + 0xac], 0x11b98370
mov eax, 0x1209487c
mul dword [esp + 0xa8]
mov eax, dword [esp + 0xa8]
sub dword [esp + 0xac], 0x353eee1b
sub dword [esp + 0x64], 0x1b5ab39
mov eax, 0x3711c7c0
mul dword [esp + 0xe4]
mov eax, dword [esp + 0xe4]
mov eax, 0x328f9a64
mul dword [esp + 0x64]
mov eax, dword [esp + 0x64]
sub dword [esp + 0x84], 0x573e1c88
add dword [esp + 0xfc], 0x48d4b367
sub dword [esp + 0x6c], 0x3cf35ed5
mov eax, 0x5ff7177b
mul dword [esp + 0xfc]
mov eax, dword [esp + 0xfc]
mov eax, 0x2da3f297
mul dword [esp + 0x6c]
mov eax, dword [esp + 0x6c]
mov eax, 0x6c38d1d0
mul dword [esp + 0xc8]
mov eax, dword [esp + 0xc8]
mov eax, 0x4d2b7d8c
mul dword [esp + 0xc8]
mov eax, dword [esp + 0xc8]
mov eax, 0x900f20c
mul dword [esp + 0x8c]
mov eax, dword [esp + 0x8c]
sub dword [esp + 0x64], 0x11e8f871
add dword [esp + 0xc8], 0x609402ea
sub dword [esp + 0x70], 0x7bf5d87b
mov eax, 0x4ee97ed8
mul dword [esp + 0x64]
mov eax, dword [esp + 0x64]
mov eax, 0x4d6072d7
mul dword [esp + 0x8c]
mov eax, dword [esp + 0x8c]
sub dword [esp + 0xa0], 0x2350cfc2
add dword [esp + 0x64], 0x6874b104
add dword [esp + 0xa0], 0x3b510b80
add dword [esp + 0xc0], 0x38ba88c4
mov eax, 0x269d4756
mul dword [esp + 0xf8]
mov eax, dword [esp + 0xf8]
add dword [esp + 0xe4], 0x20083c10
add dword [esp + 0xc0], 0x1d667dfe
add dword [esp + 0x8c], 0xb2654e1
mov eax, 0x680674c6
mul dword [esp + 0xbc]
mov eax, dword [esp + 0xbc]
sub dword [esp + 0x8c], 0x2638ecc7
add dword [esp + 0x84], 0x55c71a0a
mov eax, 0x335f7268
mul dword [esp + 0x54]
mov eax, dword [esp + 0x54]
sub dword [esp + 0x54], 0xed5c005
mov eax, 0x5a992652
mul dword [esp + 0x70]
mov eax, dword [esp + 0x70]
sub dword [esp + 0xe0], 0x1ea4579d
sub dword [esp + 0x9c], 0x2129a539
sub dword [esp + 0xac], 0x74100e77
mov eax, 0x67469f22
mul dword [esp + 0xc8]
mov eax, dword [esp + 0xc8]
add dword [esp + 0xbc], 0x7471b480
mov eax, 0x23ca34ef
mul dword [esp + 0x34]
mov eax, dword [esp + 0x34]
add dword [esp + 0xd4], 0x7e913893
sub dword [esp + 0x98], 0x7adf8a26
sub dword [esp + 0x84], 0x59a467f8
sub dword [esp + 0x98], 0x577705a4
sub dword [esp + 0xe0], 0x642ff2f6
add dword [esp + 0x8c], 0x6245fb62
add dword [esp + 0x9c], 0x17e511e
add dword [esp + 0xd4], 0x4c0a5fa3
add dword [esp + 0xf8], 0x218e3621
add dword [esp + 0x68], 0x3b5f2e36
mov eax, 0x3c6b48ea
mul dword [esp + 0xd8]
mov eax, dword [esp + 0xd8]
sub dword [esp + 0xa8], 0x669e81d7
sub dword [esp + 0x98], 0x4045a65c
add dword [esp + 0xc4], 0x7f7db6ab
mov eax, 0x13c6050e
mul dword [esp + 0x70]
mov eax, dword [esp + 0x70]
sub dword [esp + 0xd8], 0x79236bc7
sub dword [esp + 0xc8], 0x25222708
add dword [esp + 0xb0], 0x2dc2668b
sub dword [esp + 0x74], 0x74e5421c
sub dword [esp + 0xe0], 0x27ecbc5
mov eax, 0x4270518c
mul dword [esp + 0xd8]
mov eax, dword [esp + 0xd8]
sub dword [esp + 0xd4], 0xacbf23f
sub dword [esp + 0x8c], 0x3183570a
sub dword [esp + 0xb8], 0x2f4c3940
add dword [esp + 0x8c], 0x15f962c0
mov eax, 0x3eb96fc6
mul dword [esp + 0xd4]
mov eax, dword [esp + 0xd4]
sub dword [esp + 0x74], 0x70d645ef
mov eax, 0x293deb80
mul dword [esp + 0xcc]
mov eax, dword [esp + 0xcc]
sub dword [esp + 0x48], 0x6494703c
mov eax, 0x1d263a99
mul dword [esp + 0xbc]
mov eax, dword [esp + 0xbc]
add dword [esp + 0x34], 0x35552b4c
sub dword [esp + 0x40], 0x75999bb4
mov eax, 0x5dcbf65
mul dword [esp + 0xe4]
mov eax, dword [esp + 0xe4]
mov eax, 0x3fe15343
mul dword [esp + 0x4c]
mov eax, dword [esp + 0x4c]
add dword [esp + 0x38], 0x49741e2e
mov eax, 0x2920c45a
mul dword [esp + 0x68]
mov eax, dword [esp + 0x68]
sub dword [esp + 0x58], 0x78e0fc27
mov eax, 0x3259363a
mul dword [esp + 0xbc]
mov eax, dword [esp + 0xbc]
sub dword [esp + 0x8c], 0x31a11
add dword [esp + 0x64], 0x2a592e73
sub dword [esp + 0xb0], 0x11be2d48
sub dword [esp + 0x98], 0x16f976e2
mov eax, 0x139b1b4a
mul dword [esp + 0x84]
mov eax, dword [esp + 0x84]
add dword [esp + 0xc4], 0x31e34ef
mov eax, 0x1f81aaf1
mul dword [esp + 0x80]
mov eax, dword [esp + 0x80]
add dword [esp + 0x84], 0x5a3d203b
add dword [esp + 0x78], 0x6114dafe
add dword [esp + 0xdc], 0x16a03c6
add dword [esp + 0x60], 0x66e9532c
add dword [esp + 0x78], 0x2a27b910
mov eax, 0x63d7ea45
mul dword [esp + 0x30]
mov eax, dword [esp + 0x30]
mov edi, dword [sym.imp.KERNEL32.dll_GetConsoleDisplayMode]
mov ebx, dword [sym.imp.USER32.dll_GetSysColor]
xor esi, esi
cmp esi, 0x92f
jge 0x404378
push 0
call edi
push 0
call ebx
cmp esi, 0x160debc
jg 0x404389
inc esi
cmp esi, 0x379d1d5
jl 0x404368
cmp dword [0x5e23ac], 0x400
jne 0x40441a
push 0
push 0
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetCalendarInfoA]
push 0
push 0
call dword [sym.imp.KERNEL32.dll_LocalShrink]
push 0
lea eax, [esp + 0x104]
push eax
push 0x403460
call dword [sym.imp.KERNEL32.dll_QueryDosDeviceW]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
call dword [sym.imp.USER32.dll_DrawStateA]
push 0
call fcn.00404857
add esp, 4
push 0
call fcn.004047dd
add esp, 4
push 0
push 0
call fcn.00404817
mov eax, esp
mov dword [eax], 0
mov dword [eax + 4], 0
call fcn.004046c0
fstp st(0)
add esp, 8
mov ebp, dword [sym.imp.USER32.dll_GetCaretPos]
mov edi, dword [sym.imp.KERNEL32.dll_SetEndOfFile]
mov ebx, dword [sym.imp.KERNEL32.dll_GetTickCount]
xor esi, esi
mov edi, edi
cmp esi, 0x16d22
jge 0x40443c
push 0
call ebp
push 0
call edi
call ebx
cmp esi, 0x12e8a06
jg 0x404453
inc esi
cmp esi, 0x30375
jl 0x404430
mov ecx, dword [0x43f8d4]
mov dword [0x5e23ac], ecx
call fcn.004039b0
mov esi, dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
mov edi, 0x2ec37
mov ebx, 0x51f
cmp dword [0x5e23ac], ebx
jne 0x404488
lea edx, [esp + 0x100]
push edx
push 0
call esi
dec edi
jne 0x404474
pop edi
xor eax, eax
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret 0x10