Function at 0x40e729
Capabilities:
Get memory capacity

Disassembly:
push ebp
lea ebp, [esp - 0x6c]
sub esp, 0x1a4
xor ecx, ecx
cmp dword [0x48fea4], ecx
jne 0x40e746
or eax, 0xffffffff
jmp 0x40f36e
or dword [ebp + 0x50], 0xffffffff
push ebx
xor eax, eax
push esi
mov esi, dword [ebp + 0x78]
push edi
mov dword [ebp + 0x38], ecx
lea edi, [ebp + 0x3c]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
xor ebx, ebx
cmp dword [ebp + 0x74], 2
lea edi, [ebp + 0x64]
mov dword [ebp + 0x60], ecx
mov dword [ebp + 0x2c], ecx
mov dword [ebp + 0x68], ecx
mov dword [ebp + 0x10], ecx
mov dword [ebp + 0x1c], ecx
mov dword [ebp + 0x28], ecx
mov dword [ebp + 0x34], ecx
mov dword [ebp + 0x30], ecx
mov dword [ebp + 0xc], ebx
mov dword [ebp + 0x14], ecx
stosd dword es:[edi], eax
mov dword [ebp + 8], ecx
mov byte [ebp + 0x5f], al
mov dword [ebp + 0x58], ecx
mov dword [ebp + 0x24], ecx
jne 0x40e814
push 0x47cf58
push dword [esi + 4]
call fcn.004673ef
test eax, eax
pop ecx
pop ecx
jne 0x40e81e
mov edx, dword [0x48fea8]
xor ecx, ecx
cmp edx, ecx
mov dword [ebp + 0x18], ecx
mov dword [ebp + 0x1c], eax
mov dword [ebp + 0x20], ecx
mov dword [ebp + 0x24], ecx
je 0x40e7d0
lea eax, [ebp + 0x20]
push eax
lea eax, [ebp + 0x18]
push eax
call edx
mov eax, dword [ebp + 0x1c]
mov ecx, dword [ebp + 0x24]
movzx edx, byte [ebp + 0x20]
push edx
mov edx, dword [ebp + 0x20]
shrd edx, ecx, 8
shr ecx, 8
movsx ecx, dx
push ecx
movzx ecx, byte [ebp + 0x18]
push ecx
mov ecx, dword [ebp + 0x18]
shrd ecx, eax, 8
shr eax, 8
movsx eax, cx
push eax
mov eax, dword [ebp + 0x7c]
push str._X._X___X._X
push dword [eax]
mov dword [ebp + 0x34], edx
mov dword [ebp + 0x34], ecx
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x18
jmp 0x40f369
cmp dword [ebp + 0x74], 1
jle 0x40ee44
mov ebx, 0x3e8
xor edi, edi
dec dword [ebp + 0x74]
add esi, 4
push dword [esi]
call fcn.00467467
cmp eax, 2
pop ecx
jne 0x40e847
mov eax, dword [esi]
xor ecx, ecx
cmp word [eax], 0x2d
sete cl
mov eax, ecx
jmp 0x40e849
xor eax, eax
cmp eax, edi
je 0x40ee35
mov eax, dword [esi]
mov cx, word [eax + 2]
movzx eax, cx
cmp eax, 0x6d
jg 0x40ea0a
je 0x40e9fd
cmp eax, 0x62
jg 0x40e985
je 0x40e8c5
sub eax, 0x44
je 0x40e9d1
dec eax
dec eax
je 0x40e9a5
sub eax, 0xc
je 0x40e9d1
dec eax
je 0x40e8a6
sub eax, 0xe
jne 0x40ee35
mov dword [ebp + 0x2c], 1
jmp 0x40ee35
add esi, 4
mov eax, dword [esi]
movzx eax, word [eax]
push eax
call fcn.00467a38
push edi
push edi
push dword [esi]
call fcn.00467a21
mov dword [ebp + 0x4c], eax
jmp 0x40ee2f
add esi, 4
push str.auto
push dword [esi]
call fcn.004673ef
test eax, eax
pop ecx
pop ecx
jne 0x40e8e6
mov dword [ebp + 8], 1
jmp 0x40ee32
lea eax, [ebp + 0x54]
push eax
lea eax, [ebp + 0x60]
push eax
push str._I64u_c
push dword [esi]
mov dword [ebp + 0x54], edi
call fcn.004677f5
movzx eax, word [ebp + 0x54]
add esp, 0x10
cmp eax, 0x62
jg 0x40ee6e
je 0x40e96d
sub eax, edi
je 0x40ee32
sub eax, 0x47
je 0x40e93d
sub eax, 4
je 0x40e95e
dec eax
dec eax
je 0x40e94f
sub eax, 7
jne 0x40eecd
mov eax, dword [ebp + 0x60]
mov ecx, dword [ebp + 0x64]
shld ecx, eax, 0xa
shl eax, 0xa
jmp 0x40e943
mov ecx, dword [ebp + 0x64]
mov eax, dword [ebp + 0x60]
shld ecx, eax, 0xa
shl eax, 0xa
mov dword [ebp + 0x64], ecx
jmp 0x40e952
mov eax, dword [ebp + 0x60]
mov ecx, dword [ebp + 0x64]
shld ecx, eax, 0xa
shl eax, 0xa
jmp 0x40e964
mov ecx, dword [ebp + 0x64]
mov eax, dword [ebp + 0x60]
shld ecx, eax, 0xa
shl eax, 0xa
jmp 0x40e97a
mov eax, dword [ebp + 0x60]
mov ecx, dword [ebp + 0x64]
shld ecx, eax, 9
shl eax, 9
mov dword [ebp + 0x60], eax
mov dword [ebp + 0x64], ecx
jmp 0x40ee32
sub eax, 0x64
je 0x40e9d1
dec eax
je 0x40e9c5
dec eax
je 0x40e9a5
sub eax, 6
jne 0x40ee35
mov dword [ebp + 0x2c], 3
jmp 0x40ee35
cmp cx, 0x46
jne 0x40e9b2
mov dword [ebp + 0x10], 1
add esi, 4
push dword [esi]
call fcn.0040ca55
pop ecx
mov dword [ebp + 0x30], eax
jmp 0x40ee32
mov dword [ebp + 0x2c], 4
jmp 0x40ee35
cmp cx, 0x44
mov dword [ebp + 0x2c], 2
jne 0x40e9e5
mov dword [ebp + 0x28], 1
cmp cx, 0x52
jne 0x40ee35
xor eax, eax
inc eax
mov dword [ebp + 0x28], eax
mov dword [ebp + 0x34], eax
jmp 0x40ee35
add esi, 4
mov eax, dword [esi]
mov dword [ebp + 0xc], eax
jmp 0x40ee32
cmp eax, 0x74
jg 0x40edc0
je 0x40ed6f
sub eax, 0x6e
je 0x40ed63
dec eax
je 0x40ebde
dec eax
je 0x40ebd1
sub eax, 3
jne 0x40ee35
lea eax, [ebp + 0x54]
push eax
lea eax, [ebp + 0x38]
push eax
add esi, 4
push str._I64i_c
push dword [esi]
mov dword [ebp + 0x54], edi
call fcn.004677f5
movzx eax, word [ebp + 0x54]
add esp, 0x10
cmp eax, 0x54
jg 0x40eaee
je 0x40eab1
sub eax, edi
je 0x40eb68
sub eax, 0x25
je 0x40ea89
sub eax, 0x22
je 0x40eac0
sub eax, 4
je 0x40eadf
dec eax
dec eax
jne 0x40eecd
mov eax, dword [ebp + 0x38]
jmp 0x40ead0
lea eax, [ebp - 0x18]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalMemoryStatus]
push dword [ebp + 0x3c]
push dword [ebp + 0x38]
push edi
push dword [ebp - 0xc]
call fcn.00467ab0
push edi
push 0x64
push edx
push eax
call fcn.00467640
jmp 0x40eb50
mov eax, dword [ebp + 0x38]
mov ecx, dword [ebp + 0x3c]
shld ecx, eax, 0xa
shl eax, 0xa
jmp 0x40eac6
mov ecx, dword [ebp + 0x3c]
mov eax, dword [ebp + 0x38]
shld ecx, eax, 0xa
shl eax, 0xa
mov dword [ebp + 0x3c], ecx
mov ecx, dword [ebp + 0x3c]
shld ecx, eax, 0xa
shl eax, 0xa
mov dword [ebp + 0x3c], ecx
jmp 0x40eae2
mov eax, dword [ebp + 0x38]
mov ecx, dword [ebp + 0x3c]
shld ecx, eax, 0xa
shl eax, 0xa
jmp 0x40eb62
sub eax, 0x62
je 0x40eb55
sub eax, 5
je 0x40eb1d
sub eax, 4
je 0x40eb43
dec eax
dec eax
je 0x40eb30
sub eax, 7
jne 0x40eecd
push edi
push ebx
push dword [ebp + 0x3c]
push dword [ebp + 0x38]
call fcn.00467ab0
mov dword [ebp + 0x38], eax
mov dword [ebp + 0x3c], edx
push edi
push ebx
push dword [ebp + 0x3c]
push dword [ebp + 0x38]
call fcn.00467ab0
mov dword [ebp + 0x38], eax
mov dword [ebp + 0x3c], edx
push edi
push ebx
push dword [ebp + 0x3c]
push dword [ebp + 0x38]
call fcn.00467ab0
mov dword [ebp + 0x38], eax
mov dword [ebp + 0x3c], edx
push edi
push ebx
push dword [ebp + 0x3c]
push dword [ebp + 0x38]
call fcn.00467ab0
mov dword [ebp + 0x3c], edx
jmp 0x40eb65
mov eax, dword [ebp + 0x38]
mov ecx, dword [ebp + 0x3c]
shld ecx, eax, 9
shl eax, 9
mov dword [ebp + 0x3c], ecx
mov dword [ebp + 0x38], eax
cmp dword [ebp + 0x3c], edi
jg 0x40ee32
jl 0x40eb7c
cmp dword [ebp + 0x38], edi
jae 0x40ee32
lea eax, [ebp - 0x38]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalMemoryStatus]
mov eax, dword [ebp - 0x2c]
add dword [ebp + 0x38], eax
adc dword [ebp + 0x3c], edi
js 0x40eba0
jg 0x40ee32
cmp dword [ebp + 0x38], edi
jae 0x40ee32
xor ecx, ecx
cmp ecx, 0x100
mov edi, 0x400
mov esi, 0x100000
mov edx, 0x40000000
jb 0x40eeec
ja 0x40ebc7
test eax, eax
jb 0x40eeec
mov ebx, 0x47cf0c
jmp 0x40ef1c
add esi, 4
mov eax, dword [esi]
mov dword [ebp + 0x14], eax
jmp 0x40ee32
add esi, 4
push 0x47b270
push dword [esi]
jmp 0x40ed4a
push 0x47cf04
push edi
call fcn.004673ef
test eax, eax
pop ecx
pop ecx
jne 0x40ec0b
or dword [ebp + 0x58], 1
or dword [ebp + 0x68], 1
jmp 0x40ed43
push 0x47cefc
push edi
call fcn.004673ef
test eax, eax
pop ecx
pop ecx
jne 0x40ec29
or dword [ebp + 0x58], 1
and dword [ebp + 0x68], 0xfffffffe
jmp 0x40ed43
push 0x47cef4
push edi
call fcn.004673ef
test eax, eax
pop ecx
pop ecx
jne 0x40ec47
or dword [ebp + 0x58], 2
or dword [ebp + 0x68], 2
jmp 0x40ed43
push 0x47ceec
push edi
call fcn.004673ef
test eax, eax
pop ecx
pop ecx
jne 0x40ec65
or dword [ebp + 0x58], 2
and dword [ebp + 0x68], 0xfffffffd
jmp 0x40ed43
push str.saved
push edi
call fcn.004673ef
test eax, eax
pop ecx
pop ecx
jne 0x40ec83
or byte [ebp + 0x5a], 1
and byte [ebp + 0x6a], 0xfe
jmp 0x40ed43
cmp dword [ebp + 0x2c], 1
jne 0x40ed43
push 0x47ced8
push edi
call fcn.004673ef
test eax, eax
pop ecx
pop ecx
jne 0x40ecae
or byte [ebp + 0x69], 0x20
mov dword [ebp + 0x10], 1
jmp 0x40ed43
push str.comm
push edi
call fcn.004673ef
test eax, eax
pop ecx
pop ecx
jne 0x40eccc
or byte [ebp + 0x69], 0x10
mov dword [ebp + 0x10], 1
jmp 0x40ed43
push 0x47cec4
push edi
call fcn.004673ef
test eax, eax
pop ecx
pop ecx
jne 0x40ece3
or byte [ebp + 0x69], 0x30
jmp 0x40ed43
push 0x47cebc
push edi
call fcn.004673ef
test eax, eax
pop ecx
pop ecx
jne 0x40ecfa
or byte [ebp + 0x69], 0x11
jmp 0x40ed43
test byte [ebp + 0x68], 0xf0
jne 0x40ed43
push 0x47ceb4
push edi
call fcn.004673ef
test eax, eax
pop ecx
pop ecx
jne 0x40ed17
or dword [ebp + 0x68], 0x10
jmp 0x40ed43
push 0x47ceac
push edi
call fcn.004673ef
test eax, eax
pop ecx
pop ecx
jne 0x40ed2e
or dword [ebp + 0x68], 0x20
jmp 0x40ed43
push 0x47cea4
push edi
call fcn.004673ef
test eax, eax
pop ecx
pop ecx
jne 0x40ed43
or dword [ebp + 0x68], 0x30
push 0x47b270
push 0
call fcn.00467750
mov edi, eax
test edi, edi
pop ecx
pop ecx
jne 0x40ebed
dec dword [ebp + 0x74]
jmp 0x40ee35
mov dword [ebp + 0x1c], 1
jmp 0x40ee35
add esi, 4
push str.file
push dword [esi]
call fcn.004673ef
test eax, eax
pop ecx
pop ecx
jne 0x40ed8d
or byte [ebp + 0x69], 1
jmp 0x40ee32
push 0x47ce90
push dword [esi]
call fcn.004673ef
test eax, eax
pop ecx
pop ecx
jne 0x40eda8
or byte [ebp + 0x69], 2
jmp 0x40ee32
push str.proxy
push dword [esi]
call fcn.004673ef
test eax, eax
pop ecx
pop ecx
jne 0x40ee32
or byte [ebp + 0x69], 3
jmp 0x40ee32
sub eax, 0x75
je 0x40ee15
dec eax
je 0x40ee07
dec eax
dec eax
je 0x40edeb
dec eax
jne 0x40ee35
add esi, 4
mov eax, dword [esi]
movzx eax, word [eax]
push eax
call fcn.00467a38
push edi
push edi
push dword [esi]
call fcn.00467a21
mov dword [ebp + 0x44], eax
jmp 0x40ee2f
add esi, 4
mov eax, dword [esi]
movzx eax, word [eax]
push eax
call fcn.00467a38
push edi
push edi
push dword [esi]
call fcn.00467a21
mov dword [ebp + 0x48], eax
jmp 0x40ee2f
add esi, 4
mov eax, dword [esi]
mov al, byte [eax]
sub al, 0x30
mov byte [ebp + 0x5f], al
jmp 0x40ee32
add esi, 4
mov eax, dword [esi]
movzx eax, word [eax]
push eax
call fcn.00467a38
push edi
push edi
push dword [esi]
call fcn.00467a21
mov dword [ebp + 0x50], eax
add esp, 0x10
dec dword [ebp + 0x74]
cmp dword [ebp + 0x74], 1
jg 0x40e825
mov ebx, dword [ebp + 0xc]
xor ecx, ecx
mov eax, dword [ebp + 0x2c]
dec eax
mov dword [ebp + 0x54], ecx
je 0x40f079
dec eax
je 0x40f062
dec eax
je 0x40f019
dec eax
je 0x40efc5
or eax, 0xffffffff
jmp 0x40f36b
sub eax, 0x67
je 0x40ee94
sub eax, 4
je 0x40eeba
dec eax
dec eax
je 0x40eea7
sub eax, 7
jne 0x40eecd
push edi
push ebx
push dword [ebp + 0x64]
push dword [ebp + 0x60]
call fcn.00467ab0
mov dword [ebp + 0x60], eax
mov dword [ebp + 0x64], edx
push edi
push ebx
push dword [ebp + 0x64]
push dword [ebp + 0x60]
call fcn.00467ab0
mov dword [ebp + 0x60], eax
mov dword [ebp + 0x64], edx
push edi
push ebx
push dword [ebp + 0x64]
push dword [ebp + 0x60]
call fcn.00467ab0
mov dword [ebp + 0x60], eax
mov dword [ebp + 0x64], edx
push edi
push ebx
push dword [ebp + 0x64]
push dword [ebp + 0x60]
call fcn.00467ab0
mov dword [ebp + 0x60], eax
mov dword [ebp + 0x64], edx
movzx eax, word [ebp + 0x54]
push eax
push str.ImDisk:_Unsupported_size_suffix:__wc_n
push 0x48e840
call fcn.004671c0
add esp, 0xc
push 0xa
pop eax
jmp 0x40f36b
cmp eax, edx
jb 0x40eef7
mov ebx, 0x47ce58
jmp 0x40ef1c
cmp eax, esi
jb 0x40ef02
mov ebx, 0x47ce54
jmp 0x40ef1c
cmp eax, edi
jb 0x40ef0d
mov ebx, 0x47ce50
jmp 0x40ef1c
cmp eax, 1
mov ebx, str.byte
je 0x40ef1c
mov ebx, 0x47ce40
cmp ecx, 0x100
jb 0x40ef42
ja 0x40ef2a
test eax, eax
jb 0x40ef42
test eax, eax
mov dword [ebp + 0x24], eax
fild dword [ebp + 0x24]
jge 0x40ef3a
fadd qword [0x47ce38]
fmul qword [0x47ce30]
jmp 0x40efa6
cmp eax, edx
jb 0x40ef5e
test eax, eax
mov dword [ebp + 0x24], eax
fild dword [ebp + 0x24]
jge 0x40ef56
fadd qword [0x47ce38]
fmul qword [0x47ce28]
jmp 0x40ef40
cmp eax, esi
jb 0x40ef7a
test eax, eax
mov dword [ebp + 0x24], eax
fild dword [ebp + 0x24]
jge 0x40ef72
fadd qword [0x47ce38]
fmul qword [0x47ce20]
jmp 0x40ef40
cmp eax, edi
jb 0x40ef96
test eax, eax
mov dword [ebp + 0x24], eax
fild dword [ebp + 0x24]
jge 0x40ef8e
fadd qword [0x47ce38]
fmul qword [0x47ce18]
jmp 0x40ef40
test eax, eax
mov dword [ebp + 0x24], eax
fild dword [ebp + 0x24]
jge 0x40efa6
fadd qword [0x47ce38]
push ebx
push ecx
push ecx
fstp qword [esp]
push str.ImDisk:_Not_enough_memory__there_is_currently__.4g__s_free_physical_memory._n
push 0x48e840
call fcn.004671c0
add esp, 0x14
push 0xb
jmp 0x40eee6
cmp dword [ebp + 0x58], ecx
je 0x40efe0
push dword [ebp + 0x68]
push dword [ebp + 0x58]
push ebx
push dword [ebp + 0x50]
call fcn.0040e2af
add esp, 0x10
xor ecx, ecx
jmp 0x40efe3
mov eax, dword [ebp + 0x24]
cmp dword [ebp + 0x3c], ecx
jl 0x40f003
jg 0x40efef
cmp dword [ebp + 0x38], ecx
jbe 0x40f003
push dword [ebp + 0x3c]
push dword [ebp + 0x38]
push ebx
push dword [ebp + 0x50]
call fcn.0040e4e7
add esp, 0x10
xor ecx, ecx
cmp eax, ecx
jne 0x40f36b
cmp dword [ebp + 0x14], ecx
jne 0x40f244
jmp 0x40f36b
mov ecx, dword [ebp + 0x7c]
push 0x47cdc4
call fcn.004346c9
push dword [ebp + 0x7c]
xor eax, eax
cmp dword [ebp + 0x50], 0xffffffff
sete al
xor ecx, ecx
test ebx, ebx
sete cl
test ecx, eax
je 0x40f051
push dword [ebp + 0x1c]
call fcn.0040dee8
neg eax
pop ecx
sbb eax, eax
pop ecx
inc eax
jmp 0x40f36b
push ebx
push dword [ebp + 0x50]
call fcn.0040df8d
add esp, 0xc
jmp 0x40f36b
push dword [ebp + 0x34]
push dword [ebp + 0x28]
push ebx
push dword [ebp + 0x50]
call fcn.0040d9b0
add esp, 0x10
jmp 0x40f36b
cmp dword [ebp + 8], ecx
je 0x40f091
cmp dword [ebp + 0x30], 0
je 0x40f091
lea eax, [ebp + 0x60]
push eax
push dword [ebp + 0x30]
call dword [0x48fe88]
push 0x47a8e8
push str.CurRamDisk
mov ecx, 0x48feb8
call fcn.00429dbf
cmp byte [ebp + 0x5f], 0
je 0x40f125
movzx edi, byte [ebp + 0x5f]
mov eax, edi
shl eax, 5
lea esi, [ebp + eax - 0x158]
lea eax, [ebp - 0x138]
push eax
lea eax, [ebp + 0x60]
push eax
push dword [ebp + 0x4c]
push dword [ebp + 0x30]
call dword [0x48fe8c]
test eax, eax
je 0x40f10a
mov ecx, dword [esi]
mov edx, dword [esi + 4]
mov eax, ecx
xor ebx, ebx
or eax, edx
jne 0x40f0e4
inc ebx
mov eax, dword [esi + 8]
or eax, dword [esi + 0xc]
jne 0x40f0f1
xor eax, eax
inc eax
jmp 0x40f0f3
xor eax, eax
or eax, ebx
je 0x40f111
push edi
push str.Error:_Partition__i_is_not_defined._n
push 0x48e840
call fcn.004671c0
add esp, 0xc
push 0xc
jmp 0x40eee6
add dword [ebp + 0x60], ecx
mov eax, dword [esi + 8]
mov ebx, dword [ebp + 0xc]
adc dword [ebp + 0x64], edx
mov dword [ebp + 0x38], eax
mov eax, dword [esi + 0xc]
jmp 0x40f19b
cmp dword [ebp + 8], 0
je 0x40f19e
lea eax, [ebp - 0x138]
push eax
lea eax, [ebp + 0x60]
push eax
push dword [ebp + 0x4c]
push dword [ebp + 0x30]
call dword [0x48fe8c]
test eax, eax
je 0x40f19e
lea eax, [ebp - 0x138]
mov ecx, dword [eax]
xor edx, edx
or ecx, dword [eax + 4]
je 0x40f156
inc edx
mov ecx, dword [eax + 8]
xor esi, esi
or ecx, dword [eax + 0xc]
je 0x40f161
inc esi
mov cl, byte [eax + 0x18]
cmp cl, 5
je 0x40f173
cmp cl, 0xf
je 0x40f173
xor ecx, ecx
inc ecx
jmp 0x40f175
xor ecx, ecx
and ecx, esi
test edx, ecx
jne 0x40f187
add eax, 0x20
lea ecx, [ebp - 0x38]
cmp eax, ecx
jb 0x40f14c
jmp 0x40f19e
mov ecx, dword [eax]
add dword [ebp + 0x60], ecx
mov ecx, dword [eax + 4]
adc dword [ebp + 0x64], ecx
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [ebp + 0x38], ecx
mov dword [ebp + 0x3c], eax
mov esi, 0x49062c
push esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
push 0x47cd7c
push ebx
call fcn.004673ef
test eax, eax
pop ecx
pop ecx
jne 0x40f1c7
call dword [0x48fe7c]
mov word [ebx], ax
mov dword [ebp + 0x54], eax
push ebx
push dword [ebp + 0x10]
lea eax, [ebp + 0x60]
push dword [ebp + 0x30]
push dword [ebp + 0x68]
push eax
lea eax, [ebp + 0x38]
push eax
lea eax, [ebp + 0x50]
push eax
call fcn.0040d335
add esp, 0x1c
push esi
mov edi, eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test edi, edi
je 0x40f1f9
mov eax, edi
jmp 0x40f36b
cmp dword [ebp + 0x1c], 0
je 0x40f210
push dword [ebp + 0x50]
push 0x47cd78
call fcn.004676ea
pop ecx
pop ecx
jmp 0x40f23e
mov ecx, dword [ebp + 0x30]
test ecx, ecx
jne 0x40f21c
mov ecx, str.VM_image
test ebx, ebx
mov eax, str.No_mountpoint
je 0x40f227
mov eax, ebx
push ecx
push eax
push dword [ebp + 0x50]
push str.Created_device__1_u_:__2_ws______3_ws_
push 0x48e820
call fcn.0040d1f2
add esp, 0x14
cmp dword [ebp + 0x14], 0
je 0x40f257
test ebx, ebx
je 0x40f336
push dword [ebp + 0x14]
push ebx
call fcn.0040d899
pop ecx
pop ecx
test ebx, ebx
je 0x40f336
push ebx
call fcn.00467467
cmp eax, 2
pop ecx
jne 0x40f277
xor eax, eax
cmp word [ebx + 2], 0x3a
sete al
jmp 0x40f29c
push ebx
call fcn.00467467
cmp eax, 3
pop ecx
jne 0x40f29a
push 0x47c650
add ebx, 2
push ebx
call fcn.004673ef
neg eax
pop ecx
sbb eax, eax
pop ecx
inc eax
jmp 0x40f29c
xor eax, eax
test eax, eax
je 0x40f336
xor eax, eax
mov dword [ebp - 0xc], 0x14
mov dword [ebp - 8], 2
lea edi, [ebp - 4]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov eax, dword [ebp + 0xc]
xor ecx, ecx
mov cx, word [eax]
xor edx, edx
inc edx
push eax
push str.CurRamDisk
sub ecx, 0x41
shl edx, cl
mov ecx, 0x48feb8
mov dword [ebp], edx
call fcn.00429dbf
mov esi, dword [sym.imp.USER32.dll_SendMessageTimeoutW]
lea eax, [ebp + 0x34]
push eax
push 0xfa0
push 3
lea eax, [ebp - 0xc]
push eax
push 0x8000
mov ebx, 0x219
push ebx
mov edi, 0xffff
push edi
call esi
lea eax, [ebp + 0x34]
push eax
push 0xfa0
push 3
lea eax, [ebp - 0xc]
push eax
push 0x8000
push ebx
push edi
mov word [ebp + 4], 1
call esi
lea eax, [ebp + 0x34]
push eax
push 0xfa0
push 3
push 0
push 7
push ebx
push edi
call esi
mov edi, dword [ebp + 0x54]
test di, di
je 0x40f369
push 0xffffffffffffffff
push 0x47cd1c
lea ecx, [ebp + 0x28]
call fcn.0042605a
mov esi, dword [ebp + 0x7c]
lea eax, [ebp + 0x28]
push eax
mov ecx, esi
call fcn.004346f7
lea ecx, [ebp + 0x28]
call fcn.0042602e
mov eax, dword [esi]
mov word [eax + 2], di
xor eax, eax
pop edi
pop esi
pop ebx
add ebp, 0x6c
leave
ret