Function at 0x4039e0
Capabilities:
Contain obfuscated stackstrings
Get common file path
Get disk information
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x8e8
push ebx
push ebp
push esi
push edi
mov dword [esp + 0xd8], 0x2124000a
mov dword [esp + 0xbc], 0x1dd0eb
mov dword [esp + 0x88], 0x171e4f6e
mov dword [esp + 0x8c], 0x461050b8
mov dword [esp + 0x1c], 0x8f15b66
mov dword [esp + 0x7c], 0x21e6502d
mov dword [esp + 0xb8], 0x12533921
mov dword [esp + 0xd0], 0x41f4dde6
mov dword [esp + 0x34], 0x71931776
mov dword [esp + 0x64], 0x356c1f28
mov dword [esp + 0xf0], 0x27fe4734
mov dword [esp + 0x18], 0xcd013b1
mov dword [esp + 0x44], 0x40b9c3b1
mov dword [esp + 0x9c], 0x5d673f8d
mov dword [esp + 0xc8], 0x73b16774
mov dword [esp + 0x80], 0x42b875ab
mov dword [esp + 0x10], 0x53577d0
mov dword [esp + 0x84], 0x77ff28fe
mov dword [esp + 0x78], 0xe345e67
mov dword [esp + 0xb0], 0x42dacc34
mov dword [esp + 0xac], 0x55cf83df
mov dword [esp + 0x58], 0x3ae22146
mov dword [esp + 0xdc], 0x1a550931
mov dword [esp + 0x70], 0x6a3e0b14
mov dword [esp + 0x68], 0xff23302
mov dword [esp + 0x5c], 0x748f0163
mov dword [esp + 0xc0], 0x69e458ca
mov dword [esp + 0x40], 0x1129b775
mov dword [esp + 0x24], 0x3fe2b3d4
mov dword [esp + 0x4c], 0x70dfa020
mov dword [esp + 0xe4], 0x6034643a
mov dword [esp + 0x94], 0x1d1d36c8
mov dword [esp + 0x54], 0x7864f8d4
mov dword [esp + 0x3c], 0x47bfc4e0
mov dword [esp + 0x6c], 0x47ce10cd
mov dword [esp + 0x50], 0x727aa9ff
mov dword [esp + 0xe8], 0x7a1ea0ad
mov dword [esp + 0x48], 0x24f748f4
mov dword [esp + 0xa8], 0x741a4ff9
mov dword [esp + 0x60], 0x61e8a4
mov dword [esp + 0xa4], 0x3384601e
mov dword [esp + 0x38], 0x20ad161f
mov dword [esp + 0xe0], 0x62fa917b
mov dword [esp + 0xf4], 0x1df40787
mov dword [esp + 0xec], 0x1e161103
mov dword [esp + 0x30], 0x6aea0db4
mov dword [esp + 0x74], 0xd6c0d56
mov dword [esp + 0xcc], 0x3638213e
mov dword [esp + 0xa0], 0x39261829
mov dword [esp + 0x28], 0x6b2d0299
mov dword [esp + 0x98], 0x1760599
mov dword [esp + 0x2c], 0x17898b22
mov dword [esp + 0x20], 0x1bf54f99
mov dword [esp + 0xb4], 0x3f7792a4
mov dword [esp + 0x14], 0x59290a03
mov dword [esp + 0xd4], 0x629a616c
mov dword [esp + 0xc4], 0x6a6ab262
mov dword [esp + 0x90], 0xc4cd796
sub dword [esp + 0xbc], 0x25e3b192
sub dword [esp + 0xbc], 0x13df23b1
sub dword [esp + 0xbc], 0x41941e10
sub dword [esp + 0xd8], 0xf031dc0
mov eax, 0x6f19b5b4
mul dword [esp + 0xbc]
mov eax, dword [esp + 0xbc]
sub dword [esp + 0xd8], 0x585b2916
sub dword [esp + 0xbc], 0x36e51fa9
sub dword [esp + 0xbc], 0x28fc9cd2
mov eax, 0x3dcfd202
mul dword [esp + 0x8c]
mov eax, dword [esp + 0x8c]
sub dword [esp + 0x88], 0x643644b3
mov eax, 0x30070f6b
mul dword [esp + 0x7c]
mov eax, dword [esp + 0x7c]
add dword [esp + 0xd8], 0x2eb70c9e
add dword [esp + 0xbc], 0x152263ab
mov eax, 0x32501e21
mul dword [esp + 0x34]
mov eax, dword [esp + 0x34]
add dword [esp + 0xd0], 0x1e7e62e0
sub dword [esp + 0xbc], 0x6d3540fb
mov eax, 0x681a97b5
mul dword [esp + 0xd8]
mov eax, dword [esp + 0xd8]
add dword [esp + 0xb8], 0x57129ea
mov eax, 0x3c328663
mul dword [esp + 0xc8]
mov eax, dword [esp + 0xc8]
sub dword [esp + 0x34], 0x606bd7ce
mov eax, 0x44f6856a
mul dword [esp + 0x8c]
mov eax, dword [esp + 0x8c]
sub dword [esp + 0xb8], 0x7cf28632
add dword [esp + 0xd8], 0x5383f7fd
mov eax, 0xcc15809
mul dword [esp + 0x34]
mov eax, dword [esp + 0x34]
sub dword [esp + 0x80], 0x66efdc5a
add dword [esp + 0x10], 0x7033d2bc
add dword [esp + 0xc8], 0x119345c
sub dword [esp + 0x84], 0x7bd7af9a
mov eax, 0xafe6628
mul dword [esp + 0x8c]
mov eax, dword [esp + 0x8c]
sub dword [esp + 0x44], 0x4d40a898
mov eax, 0x69a14ddc
mul dword [esp + 0x70]
mov eax, dword [esp + 0x70]
sub dword [esp + 0x8c], 0x1c4e54e3
sub dword [esp + 0x44], 0x7616408e
sub dword [esp + 0x7c], 0x73342726
mov eax, 0x588e783c
mul dword [esp + 0x64]
mov eax, dword [esp + 0x64]
mov eax, 0x1168f784
mul dword [esp + 0x8c]
mov eax, dword [esp + 0x8c]
add dword [esp + 0xb0], 0x493dbbee
add dword [esp + 0x70], 0x69394a1d
mov eax, 0x4e2fd0c9
mul dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
sub dword [esp + 0x68], 0x2cd0bcf7
mov eax, 0xd202fd9
mul dword [esp + 0x44]
mov eax, dword [esp + 0x44]
add dword [esp + 0xbc], 0x65613b07
mov eax, 0x195c3386
mul dword [esp + 0x80]
mov eax, dword [esp + 0x80]
sub dword [esp + 0x80], 0x371d2f3c
add dword [esp + 0x40], 0x28508c13
add dword [esp + 0xb8], 0x5a594e3a
mov eax, 0x6428bb0b
mul dword [esp + 0xb8]
mov eax, dword [esp + 0xb8]
sub dword [esp + 0xac], 0x188aa660
mov eax, 0x7eb3cb4d
mul dword [esp + 0x58]
mov eax, dword [esp + 0x58]
add dword [esp + 0x84], 0x13d41637
add dword [esp + 0xdc], 0x50d803e8
add dword [esp + 0x1c], 0x38e92571
add dword [esp + 0x88], 0x1a583ff7
add dword [esp + 0x94], 0x63a63e7d
mov eax, 0x71066721
mul dword [esp + 0xc0]
mov eax, dword [esp + 0xc0]
mov eax, 0x6120a177
mul dword [esp + 0xf0]
mov eax, dword [esp + 0xf0]
add dword [esp + 0xb0], 0x27eeabc6
mov eax, 0x101432c5
mul dword [esp + 0x44]
mov eax, dword [esp + 0x44]
sub dword [esp + 0x80], 0x35613c50
add dword [esp + 0x60], 0x57b84044
add dword [esp + 0x6c], 0x7d108c08
sub dword [esp + 0x9c], 0x398b34eb
sub dword [esp + 0xe8], 0x7b8886b4
mov eax, 0xda7623c
mul dword [esp + 0x68]
mov eax, dword [esp + 0x68]
sub dword [esp + 0x78], 0x644bceb8
mov eax, 0x62182211
mul dword [esp + 0x38]
mov eax, dword [esp + 0x38]
mov eax, 0x497b3e87
mul dword [esp + 0x44]
mov eax, dword [esp + 0x44]
add dword [esp + 0x64], 0x3ee68061
sub dword [esp + 0x84], 0x3b925880
add dword [esp + 0x68], 0x5530cc58
mov eax, 0x1140bb0c
mul dword [esp + 0x24]
mov eax, dword [esp + 0x24]
sub dword [esp + 0xf0], 0x5dbc6bee
add dword [esp + 0xb0], 0x76b4036a
mov eax, 0x54ca18bb
mul dword [esp + 0xf0]
mov eax, dword [esp + 0xf0]
add dword [esp + 0x84], 0x58c494b8
add dword [esp + 0x74], 0x5d1570fb
mov eax, 0x59dfd7
mul dword [esp + 0x88]
mov eax, dword [esp + 0x88]
add dword [esp + 0x58], 0x8e0b91b
mov eax, 0x35989cb3
mul dword [esp + 0x38]
mov eax, dword [esp + 0x38]
add dword [esp + 0x64], 0x62a6820d
mov eax, 0x17bf32ca
mul dword [esp + 0x64]
mov eax, dword [esp + 0x64]
mov eax, 0x39eb3e6d
mul dword [esp + 0xdc]
mov eax, dword [esp + 0xdc]
mov eax, 0x56ef0956
mul dword [esp + 0x74]
mov eax, dword [esp + 0x74]
add dword [esp + 0x5c], 0x2d35b981
mov eax, 0x1c5719c6
mul dword [esp + 0x78]
mov eax, dword [esp + 0x78]
mov eax, 0x3b9c8f58
mul dword [esp + 0x28]
mov eax, dword [esp + 0x28]
mov eax, 0x6e596f05
mul dword [esp + 0x30]
mov eax, dword [esp + 0x30]
sub dword [esp + 0x88], 0x40fccbf6
mov eax, 0x97e99
mul dword [esp + 0xec]
mov eax, dword [esp + 0xec]
mov eax, 0x3a0679a6
mul dword [esp + 0x9c]
mov eax, dword [esp + 0x9c]
sub dword [esp + 0x28], 0x45faa2d5
sub dword [esp + 0x80], 0x570393ff
mov edi, dword [sym.imp.USER32.dll_GetCaretBlinkTime]
xor esi, esi
lea ecx, [ecx]
cmp esi, 0x97f
jge 0x40408a
call edi
cmp esi, 0x160d6ee
jg 0x40409b
inc esi
cmp esi, 0x33cd48d
jl 0x404080
cmp dword [0x5ddf84], 0x400
jne 0x404110
push 0
call dword [sym.imp.USER32.dll_GetDC]
push 0
push 0
call dword [sym.imp.KERNEL32.dll__lcreat]
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll__hwrite]
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 + 0xfc]
push eax
push 0x4031b8
call dword [sym.imp.KERNEL32.dll_QueryDosDeviceA]
push 0
call fcn.00404283
push 0
push 0
call fcn.00404595
push 0
call fcn.00404673
add esp, 0x10
mov ebp, dword [sym.imp.USER32.dll_GetCaretPos]
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ebx, dword [sym.imp.KERNEL32.dll_GetLastError]
xor esi, esi
cmp esi, 0x16d22
jge 0x404130
push 0
call ebp
call edi
call ebx
cmp esi, 0x12e8a06
jg 0x404145
inc esi
cmp esi, 0x30375
jl 0x404124
mov ecx, dword [0x43b4b4]
mov dword [0x5ddf84], ecx
call fcn.004036a0
mov esi, dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
mov edi, 0x2ec37
mov ebx, 0x51f
cmp dword [0x5ddf84], ebx
jne 0x40417a
lea edx, [esp + 0xf8]
push edx
push 0
call esi
dec edi
jne 0x404166
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x8e8
ret 0x10