Function at 0x423716
Capabilities:
Get memory capacity

Disassembly:
push ebp
lea ebp, [esp - 0x6c]
sub esp, 0x1b0
xor ecx, ecx
cmp dword [0x4aff04], ecx
jne 0x423733
or eax, 0xffffffff
jmp 0x424862
xor eax, eax
push ebx
mov ebx, dword [ebp + 0x74]
or dword [ebp + 0x48], 0xffffffff
push esi
push edi
mov dword [ebp + 0x30], ecx
mov esi, dword [ebp + 0x78]
lea edi, [ebp + 0x34]
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
cmp ebx, 2
mov dword [ebp + 0x5c], ecx
lea edi, [ebp + 0x60]
stosd dword es:[edi], eax
mov byte [ebp + 0x5b], al
mov eax, dword [ebp + 0x7c]
mov eax, dword [eax]
mov ax, word [eax]
mov dword [ebp + 0x64], ecx
mov dword [ebp + 0x68], ecx
mov dword [ebp + 0xc], ecx
mov dword [ebp + 0x20], ecx
mov dword [ebp + 0x24], ecx
mov dword [ebp + 4], ecx
mov dword [ebp + 0x28], ecx
mov dword [ebp + 0x4c], ecx
mov dword [ebp + 0x10], ecx
mov dword [ebp + 8], ecx
mov dword [ebp + 0x50], ecx
mov dword [ebp - 4], ecx
mov word [ebp + 0x1c], ax
mov dword [ebp + 0x54], ecx
mov dword [ebp + 0x14], 0xfa0
jne 0x423867
push 0x49bc40
push dword [esi + 4]
call fcn.0048397c
test eax, eax
pop ecx
pop ecx
jne 0x423870
mov eax, dword [0x4aff08]
xor edi, edi
cmp eax, edi
mov dword [ebp + 0x18], edi
mov dword [ebp + 0x1c], edi
mov dword [ebp], edi
mov dword [ebp + 4], edi
je 0x4237d4
lea ecx, [ebp]
push ecx
lea ecx, [ebp + 0x18]
push ecx
call eax
lea ecx, [ebp + 0x20]
call fcn.0043717e
push 0x3f
lea eax, [ebp + 0x20]
push eax
push 1
call fcn.004100c9
mov ecx, dword [ebp + 4]
mov edx, dword [ebp]
add esp, 0xc
cmp eax, 2
mov esi, 0x49bc38
jne 0x423803
mov esi, str.NotLoad
jmp 0x42381e
cmp eax, 0xffffffff
jne 0x42380f
mov esi, str.CannotControl
jmp 0x42381e
cmp ecx, edi
ja 0x42381e
jb 0x423819
cmp edx, edi
ja 0x42381e
mov esi, str.NotInstall
movzx eax, dl
shrd edx, ecx, 8
push esi
push eax
movsx eax, dx
push eax
movzx eax, byte [ebp + 0x18]
push eax
mov eax, dword [ebp + 0x1c]
shr ecx, 8
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._02X___X._X__s
push dword [eax]
mov dword [ebp + 0x24], ecx
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x1c
lea ecx, [ebp + 0x20]
call fcn.00431c4c
jmp case.0x423bc6.114
cmp ebx, 1
jle 0x4244b3
xor edi, edi
add esi, 4
push str.__id
push dword [esi]
dec ebx
call fcn.0048397c
test eax, eax
pop ecx
pop ecx
jne 0x423891
or dword [ebp + 0x54], 2
jmp 0x4242f8
push 0x49bbb0
push dword [esi]
call fcn.0048397c
test eax, eax
pop ecx
pop ecx
jne 0x4238ac
or dword [ebp + 0x54], 1
jmp 0x4242f8
push str.__remove
push dword [esi]
call fcn.0048397c
test eax, eax
pop ecx
pop ecx
jne 0x4238c7
or dword [ebp + 0x54], 4
jmp 0x4242f8
push 0x49bb94
push dword [esi]
call fcn.0048397c
test eax, eax
pop ecx
pop ecx
jne 0x4238e5
mov dword [ebp + 0x64], 5
jmp 0x4242f8
push str.__hide
push dword [esi]
call fcn.0048397c
test eax, eax
pop ecx
pop ecx
jne 0x423900
or dword [ebp + 0x54], 0x10
jmp 0x4242f8
push dword [esi]
call dword [sym.imp.KERNEL32.dll_lstrlenW]
cmp eax, 2
jne 0x42391c
mov eax, dword [esi]
xor ecx, ecx
cmp word [eax], 0x2d
sete cl
mov eax, ecx
jmp 0x42391e
xor eax, eax
cmp eax, edi
je case.0x423bc6.114
mov eax, dword [esi]
mov cx, word [eax + 2]
movzx eax, cx
cmp eax, 0x6d
jg 0x423bba
je 0x423b7f
cmp eax, 0x62
jg 0x423ac9
je 0x4239d3
sub eax, 0x44
je 0x423b4a
dec eax
dec eax
je 0x423af2
sub eax, 0xc
je 0x423b4a
dec eax
je 0x423988
sub eax, 0xe
jne case.0x423bc6.114
cmp dword [ebp + 0x64], edi
jne case.0x423bc6.114
mov dword [ebp + 0x64], 1
jmp 0x4242f8
xor eax, eax
cmp dword [ebp + 0x44], edi
setne al
xor ecx, ecx
cmp dword [ebp + 0x64], 1
setne cl
or eax, ecx
xor ecx, ecx
cmp ebx, 2
setl cl
or eax, ecx
jne case.0x423bc6.114
add esi, 4
mov eax, dword [esi]
movzx eax, word [eax]
push eax
call fcn.004843ac
test eax, eax
pop ecx
je case.0x423bc6.114
push edi
push edi
push dword [esi]
call fcn.00484395
mov dword [ebp + 0x44], eax
jmp 0x4242f4
mov eax, dword [ebp + 0x5c]
or eax, dword [ebp + 0x60]
je 0x4239e0
xor eax, eax
inc eax
jmp 0x4239e2
xor eax, eax
xor ecx, ecx
cmp dword [ebp + 8], edi
setne cl
xor edx, edx
cmp dword [ebp + 0x64], 1
setne dl
or ecx, edx
xor edx, edx
cmp ebx, 2
setl dl
or ecx, edx
or ecx, eax
jne case.0x423bc6.114
add esi, 4
push 0x49bb78
push dword [esi]
call fcn.0048397c
pop ecx
xor edi, edi
test eax, eax
pop ecx
jne 0x423a2a
mov dword [ebp + 8], 1
jmp 0x4242f7
lea eax, [ebp + 0x2c]
push eax
lea eax, [ebp + 0x5c]
push eax
push str._I64u_c
push dword [esi]
mov dword [ebp + 0x2c], edi
call fcn.00484169
movzx eax, word [ebp + 0x2c]
add esp, 0x10
cmp eax, 0x62
jg 0x42434c
je 0x423ab1
sub eax, edi
je 0x4242f7
sub eax, 0x47
je 0x423a81
sub eax, 4
je 0x423aa2
dec eax
dec eax
je 0x423a93
sub eax, 7
jne 0x4243bb
mov eax, dword [ebp + 0x5c]
mov ecx, dword [ebp + 0x60]
shld ecx, eax, 0xa
shl eax, 0xa
jmp 0x423a87
mov ecx, dword [ebp + 0x60]
mov eax, dword [ebp + 0x5c]
shld ecx, eax, 0xa
shl eax, 0xa
mov dword [ebp + 0x60], ecx
jmp 0x423a96
mov eax, dword [ebp + 0x5c]
mov ecx, dword [ebp + 0x60]
shld ecx, eax, 0xa
shl eax, 0xa
jmp 0x423aa8
mov ecx, dword [ebp + 0x60]
mov eax, dword [ebp + 0x5c]
shld ecx, eax, 0xa
shl eax, 0xa
jmp 0x423abe
mov eax, dword [ebp + 0x5c]
mov ecx, dword [ebp + 0x60]
shld ecx, eax, 9
shl eax, 9
mov dword [ebp + 0x5c], eax
mov dword [ebp + 0x60], ecx
jmp 0x4242f7
sub eax, 0x64
je 0x423b4a
dec eax
je 0x423b35
dec eax
je 0x423af2
sub eax, 6
jne case.0x423bc6.114
cmp dword [ebp + 0x64], edi
jne case.0x423bc6.114
mov dword [ebp + 0x64], 3
jmp 0x4242f8
xor eax, eax
cmp dword [ebp + 0x28], edi
setne al
xor edx, edx
cmp dword [ebp + 0x64], 1
setne dl
or eax, edx
xor edx, edx
cmp ebx, 2
setl dl
or eax, edx
jne case.0x423bc6.114
cmp cx, 0x46
jne 0x423b22
mov dword [ebp + 0xc], 1
add esi, 4
push dword [esi]
call fcn.0040f738
pop ecx
mov dword [ebp + 0x28], eax
jmp 0x42429e
cmp dword [ebp + 0x64], edi
jne case.0x423bc6.114
mov dword [ebp + 0x64], 4
jmp 0x4242f8
cmp dword [ebp + 0x64], edi
jne case.0x423bc6.114
cmp cx, 0x44
mov dword [ebp + 0x64], 2
jne 0x423b67
mov dword [ebp + 0x24], 1
cmp cx, 0x52
jne 0x4242f8
xor eax, eax
inc eax
mov dword [ebp + 0x24], eax
mov dword [ebp + 4], eax
jmp 0x4242f8
xor eax, eax
cmp dword [ebp + 0x48], 0xffffffff
setne al
xor ecx, ecx
cmp dword [ebp + 0x64], 1
setne cl
and eax, ecx
xor ecx, ecx
cmp dword [ebp + 0x4c], edi
setne cl
or eax, ecx
xor ecx, ecx
cmp ebx, 2
setl cl
or eax, ecx
jne case.0x423bc6.114
add esi, 4
mov eax, dword [esi]
mov dword [ebp + 0x4c], eax
jmp 0x4242f7
sub eax, 0x6e
cmp eax, 0xb
ja case.0x423bc6.114
jmp dword [eax*4 + 0x42486a]
mov dword [ebp + 0x14], 1
jmp 0x4242f8
mov eax, dword [ebp + 0x68]
and eax, 0xf00
neg eax
sbb eax, eax
xor ecx, ecx
neg eax
cmp dword [ebp + 0x64], 1
setne cl
or eax, ecx
xor ecx, ecx
cmp ebx, 2
setl cl
or eax, ecx
jne case.0x423bc6.114
add esi, 4
push str.file
push dword [esi]
call fcn.0048397c
test eax, eax
pop ecx
pop ecx
jne 0x423c20
or byte [ebp + 0x69], 1
jmp 0x4242f7
push 0x49bb54
push dword [esi]
call fcn.0048397c
test eax, eax
pop ecx
pop ecx
jne 0x423c3b
or byte [ebp + 0x69], 2
jmp 0x4242f7
push str.proxy
push dword [esi]
call fcn.0048397c
test eax, eax
pop ecx
pop ecx
jne case.0x423bc6.114
or byte [ebp + 0x69], 3
jmp 0x4242f7
mov dword [ebp + 0x20], 1
jmp 0x4242f8
xor eax, eax
cmp dword [ebp + 0x64], 4
setne al
xor ecx, ecx
cmp dword [ebp + 0x64], 1
setne cl
and eax, ecx
xor ecx, ecx
cmp ebx, 2
setl cl
or eax, ecx
jne case.0x423bc6.114
add esi, 4
push 0x498708
push dword [esi]
jmp 0x423f4b
push 0x49bb40
push edi
call fcn.0048397c
test eax, eax
pop ecx
pop ecx
jne 0x423cc1
test byte [ebp + 0x50], 1
jne case.0x423bc6.114
or dword [ebp + 0x50], 1
or dword [ebp + 0x68], 1
jmp 0x423f44
push 0x49bb38
push edi
call fcn.0048397c
test eax, eax
pop ecx
pop ecx
jne 0x423ce9
test byte [ebp + 0x50], 1
jne case.0x423bc6.114
or dword [ebp + 0x50], 1
and dword [ebp + 0x68], 0xfffffffe
jmp 0x423f44
push 0x49bb30
push edi
call fcn.0048397c
test eax, eax
pop ecx
pop ecx
jne 0x423d11
test byte [ebp + 0x50], 2
jne case.0x423bc6.114
or dword [ebp + 0x50], 2
or dword [ebp + 0x68], 2
jmp 0x423f44
push 0x49bb28
push edi
call fcn.0048397c
test eax, eax
pop ecx
pop ecx
jne 0x423d39
test byte [ebp + 0x50], 2
jne case.0x423bc6.114
or dword [ebp + 0x50], 2
and dword [ebp + 0x68], 0xfffffffd
jmp 0x423f44
push str.saved
push edi
call fcn.0048397c
test eax, eax
pop ecx
pop ecx
jne 0x423d65
cmp dword [ebp + 0x64], 4
jne case.0x423bc6.114
or byte [ebp + 0x52], 1
and byte [ebp + 0x6a], 0xfe
or dword [ebp + 0x54], 8
jmp 0x423f44
cmp dword [ebp + 0x64], 1
jne case.0x423bc6.114
push 0x49bb14
push edi
call fcn.0048397c
test eax, eax
pop ecx
pop ecx
jne 0x423dba
mov eax, dword [ebp + 0x68]
mov ecx, dword [ebp + 0x68]
and eax, 0xf000
neg eax
sbb eax, eax
and ecx, 0xf00
xor edx, edx
neg eax
cmp ecx, 0x300
setne dl
or eax, edx
jne case.0x423bc6.114
or byte [ebp + 0x69], 0x20
mov dword [ebp + 0xc], 1
jmp 0x423f44
push str.comm
push edi
call fcn.0048397c
test eax, eax
pop ecx
pop ecx
jne 0x423e05
mov eax, dword [ebp + 0x68]
mov ecx, dword [ebp + 0x68]
and eax, 0xf000
neg eax
sbb eax, eax
and ecx, 0xf00
xor edx, edx
neg eax
cmp ecx, 0x300
setne dl
or eax, edx
jne case.0x423bc6.114
or byte [ebp + 0x69], 0x10
mov dword [ebp + 0xc], 1
jmp 0x423f44
push 0x49bb00
push edi
call fcn.0048397c
test eax, eax
pop ecx
pop ecx
jne 0x423e49
mov eax, dword [ebp + 0x68]
mov ecx, dword [ebp + 0x68]
and eax, 0xf000
neg eax
sbb eax, eax
and ecx, 0xf00
xor edx, edx
neg eax
cmp ecx, 0x300
setne dl
or eax, edx
jne case.0x423bc6.114
or byte [ebp + 0x69], 0x30
jmp 0x423f44
push 0x49baf8
push edi
call fcn.0048397c
test eax, eax
pop ecx
pop ecx
jne 0x423e94
mov eax, dword [ebp + 0x68]
and eax, 0xf00
xor ecx, ecx
cmp eax, 0x100
setne cl
xor edx, edx
test eax, eax
mov eax, dword [ebp + 0x68]
setne dl
and eax, 0xf000
and ecx, edx
neg eax
sbb eax, eax
neg eax
or ecx, eax
jne case.0x423bc6.114
or byte [ebp + 0x69], 0x11
jmp 0x423f44
push 0x49baf0
push edi
call fcn.0048397c
test eax, eax
pop ecx
pop ecx
jne 0x423edc
mov eax, dword [ebp + 0x68]
and eax, 0xf00
xor ecx, ecx
cmp eax, 0x100
setne cl
xor edx, edx
test eax, eax
mov eax, dword [ebp + 0x68]
setne dl
and eax, 0xf000
and ecx, edx
neg eax
sbb eax, eax
neg eax
or ecx, eax
jne case.0x423bc6.114
or byte [ebp + 0x69], 0x21
jmp 0x423f44
push str.shared
push edi
call fcn.0048397c
test eax, eax
pop ecx
pop ecx
jne 0x423ef3
or byte [ebp + 0x6a], 2
jmp 0x423f44
test byte [ebp + 0x68], 0xf0
jne case.0x423bc6.114
push 0x49bad8
push edi
call fcn.0048397c
test eax, eax
pop ecx
pop ecx
jne 0x423f14
or dword [ebp + 0x68], 0x10
jmp 0x423f44
push 0x49bad0
push edi
call fcn.0048397c
test eax, eax
pop ecx
pop ecx
jne 0x423f2b
or dword [ebp + 0x68], 0x20
jmp 0x423f44
push 0x49bac8
push edi
call fcn.0048397c
test eax, eax
pop ecx
pop ecx
jne case.0x423bc6.114
or dword [ebp + 0x68], 0x30
push 0x498708
push 0
call fcn.004840c4
mov edi, eax
test edi, edi
pop ecx
pop ecx
jne 0x423c99
jmp 0x42429e
mov eax, dword [ebp + 0x30]
or eax, dword [ebp + 0x34]
je 0x423f6e
xor eax, eax
inc eax
jmp 0x423f70
xor eax, eax
xor ecx, ecx
cmp dword [ebp + 0x64], 4
setne cl
xor edx, edx
cmp dword [ebp + 0x64], 1
setne dl
and ecx, edx
xor edx, edx
cmp ebx, 2
setl dl
or ecx, edx
or ecx, eax
jne case.0x423bc6.114
lea eax, [ebp + 0x2c]
push eax
lea eax, [ebp + 0x30]
push eax
add esi, 4
push str._I64i_c
push dword [esi]
xor edi, edi
mov dword [ebp + 0x2c], edi
call fcn.00484169
movzx eax, word [ebp + 0x2c]
add esp, 0x10
cmp eax, 0x54
jg 0x424083
je 0x424043
sub eax, edi
je 0x42410d
sub eax, 0x25
je 0x423fec
sub eax, 0x22
je 0x424052
sub eax, 4
je 0x424071
dec eax
dec eax
jne 0x4243bb
mov eax, dword [ebp + 0x30]
jmp 0x424062
cmp dword [ebp + 0x34], edi
jg 0x423ffd
jl 0x423ff8
cmp dword [ebp + 0x30], edi
ja 0x423ffd
xor ecx, ecx
inc ecx
jmp 0x423fff
xor ecx, ecx
cmp dword [ebp + 0x34], edi
jl 0x424011
jg 0x42400c
cmp dword [ebp + 0x30], 0x64
jb 0x424011
xor eax, eax
inc eax
jmp 0x424013
xor eax, eax
or eax, ecx
jne case.0x423bc6.114
lea eax, [ebp - 0x44]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalMemoryStatus]
push dword [ebp + 0x34]
push dword [ebp + 0x30]
push edi
push dword [ebp - 0x38]
call fcn.004833f0
push edi
push 0x64
push edx
push eax
call fcn.00483340
jmp 0x4240f5
mov eax, dword [ebp + 0x30]
mov ecx, dword [ebp + 0x34]
shld ecx, eax, 0xa
shl eax, 0xa
jmp 0x424058
mov ecx, dword [ebp + 0x34]
mov eax, dword [ebp + 0x30]
shld ecx, eax, 0xa
shl eax, 0xa
mov dword [ebp + 0x34], ecx
mov ecx, dword [ebp + 0x34]
shld ecx, eax, 0xa
shl eax, 0xa
mov dword [ebp + 0x34], ecx
jmp 0x424074
mov eax, dword [ebp + 0x30]
mov ecx, dword [ebp + 0x34]
shld ecx, eax, 0xa
shl eax, 0xa
jmp 0x424107
sub eax, 0x62
je 0x4240fa
sub eax, 5
je 0x4240b6
sub eax, 4
je 0x4240e4
dec eax
dec eax
je 0x4240cd
sub eax, 7
jne 0x4243bb
push edi
push 0x3e8
push dword [ebp + 0x34]
push dword [ebp + 0x30]
call fcn.004833f0
mov dword [ebp + 0x30], eax
mov dword [ebp + 0x34], edx
push edi
push 0x3e8
push dword [ebp + 0x34]
push dword [ebp + 0x30]
call fcn.004833f0
mov dword [ebp + 0x30], eax
mov dword [ebp + 0x34], edx
push edi
push 0x3e8
push dword [ebp + 0x34]
push dword [ebp + 0x30]
call fcn.004833f0
mov dword [ebp + 0x30], eax
mov dword [ebp + 0x34], edx
push edi
push 0x3e8
push dword [ebp + 0x34]
push dword [ebp + 0x30]
call fcn.004833f0
mov dword [ebp + 0x34], edx
jmp 0x42410a
mov eax, dword [ebp + 0x30]
mov ecx, dword [ebp + 0x34]
shld ecx, eax, 9
shl eax, 9
mov dword [ebp + 0x34], ecx
mov dword [ebp + 0x30], eax
cmp dword [ebp + 0x34], edi
jg 0x4242f7
jl 0x424121
cmp dword [ebp + 0x30], edi
jae 0x4242f7
lea eax, [ebp - 0x24]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalMemoryStatus]
mov eax, dword [ebp - 0x18]
add dword [ebp + 0x30], eax
adc dword [ebp + 0x34], edi
js 0x424145
jg 0x4242f7
cmp dword [ebp + 0x30], edi
jae 0x4242f7
xor ecx, ecx
cmp ecx, 0x100
mov edi, 0x400
mov esi, 0x100000
mov edx, 0x40000000
jb 0x4243da
ja 0x42416c
test eax, eax
jb 0x4243da
mov ebx, 0x49bab4
jmp 0x42440a
xor eax, eax
cmp dword [ebp + 0x40], edi
setne al
xor ecx, ecx
cmp dword [ebp + 0x64], 1
setne cl
or eax, ecx
xor ecx, ecx
cmp ebx, 2
setl cl
or eax, ecx
jne case.0x423bc6.114
add esi, 4
mov eax, dword [esi]
movzx eax, word [eax]
push eax
call fcn.004843ac
test eax, eax
pop ecx
je case.0x423bc6.114
push edi
push edi
push dword [esi]
call fcn.00484395
mov dword [ebp + 0x40], eax
jmp 0x4242f4
xor eax, eax
cmp dword [ebp + 0x3c], edi
setne al
xor ecx, ecx
cmp dword [ebp + 0x64], 1
setne cl
or eax, ecx
xor ecx, ecx
cmp ebx, 2
setl cl
or eax, ecx
jne case.0x423bc6.114
add esi, 4
mov eax, dword [esi]
movzx eax, word [eax]
push eax
call fcn.004843ac
test eax, eax
pop ecx
je case.0x423bc6.114
push edi
push edi
push dword [esi]
call fcn.00484395
mov dword [ebp + 0x3c], eax
jmp 0x4242f4
xor eax, eax
cmp byte [ebp + 0x5b], al
setne al
xor ecx, ecx
cmp dword [ebp + 0x64], 1
setne cl
or eax, ecx
xor ecx, ecx
cmp ebx, 2
setl cl
or eax, ecx
jne case.0x423bc6.114
xor edx, edx
add esi, 4
mov eax, dword [esi]
xor ecx, ecx
mov cx, word [eax]
mov dx, 0x38
cmp dx, cx
sbb edx, edx
neg edx
cmp cx, 0x31
sbb ecx, ecx
neg ecx
or edx, ecx
jne case.0x423bc6.114
cmp word [eax + 2], di
jne case.0x423bc6.114
mov al, byte [eax]
sub al, 0x30
mov byte [ebp + 0x5b], al
jmp 0x4242f7
xor eax, eax
inc eax
cmp dword [ebp + 0x64], eax
je 0x42427a
cmp dword [ebp + 0x64], 4
jne 0x42427c
xor eax, eax
xor ecx, ecx
cmp dword [ebp + 0x10], edi
setne cl
xor edx, edx
cmp ebx, 2
setl dl
or ecx, edx
or ecx, eax
jne case.0x423bc6.114
add esi, 4
mov eax, dword [esi]
mov dword [ebp + 0x10], eax
dec ebx
xor edi, edi
jmp 0x4242f8
xor eax, eax
cmp dword [ebp + 0x4c], edi
setne al
xor ecx, ecx
cmp dword [ebp + 0x64], 1
setne cl
and eax, ecx
xor ecx, ecx
cmp dword [ebp + 0x48], 0xffffffff
setne cl
or eax, ecx
xor ecx, ecx
cmp ebx, 2
setl cl
or eax, ecx
jne case.0x423bc6.114
add esi, 4
mov eax, dword [esi]
movzx eax, word [eax]
push eax
call fcn.004843ac
test eax, eax
pop ecx
je case.0x423bc6.114
push edi
push edi
push dword [esi]
call fcn.00484395
mov dword [ebp + 0x48], eax
add esp, 0xc
dec ebx
cmp ebx, 1
jg 0x423872
cmp dword [ebp + 0x64], 5
jne 0x4244b3
mov eax, dword [ebp + 0x54]
shr eax, 2
xor ecx, ecx
inc ecx
not eax
and eax, ecx
test byte [ebp + 0x54], cl
je 0x424320
mov dword [ebp + 0x14], ecx
mov ecx, dword [ebp + 0x4c]
test ecx, ecx
je case.0x423bc6.114
mov cx, word [ecx]
test cx, cx
je case.0x423bc6.114
push dword [ebp + 0x14]
push eax
movzx eax, cx
push eax
call fcn.0040fe46
add esp, 0xc
jmp case.0x423bc6.114
sub eax, 0x67
je 0x424376
sub eax, 4
je 0x4243a4
dec eax
dec eax
je 0x42438d
sub eax, 7
jne 0x4243bb
push edi
push 0x3e8
push dword [ebp + 0x60]
push dword [ebp + 0x5c]
call fcn.004833f0
mov dword [ebp + 0x5c], eax
mov dword [ebp + 0x60], edx
push edi
push 0x3e8
push dword [ebp + 0x60]
push dword [ebp + 0x5c]
call fcn.004833f0
mov dword [ebp + 0x5c], eax
mov dword [ebp + 0x60], edx
push edi
push 0x3e8
push dword [ebp + 0x60]
push dword [ebp + 0x5c]
call fcn.004833f0
mov dword [ebp + 0x5c], eax
mov dword [ebp + 0x60], edx
push edi
push 0x3e8
push dword [ebp + 0x60]
push dword [ebp + 0x5c]
call fcn.004833f0
mov dword [ebp + 0x5c], eax
mov dword [ebp + 0x60], edx
movzx eax, word [ebp + 0x2c]
push eax
push str.ImDisk:_Unsupported_size_suffix:__wc_n
push 0x4ae840
call fcn.004837bd
add esp, 0xc
push 0xa
pop eax
jmp 0x42485f
cmp eax, edx
jb 0x4243e5
mov ebx, 0x49ba88
jmp 0x42440a
cmp eax, esi
jb 0x4243f0
mov ebx, 0x49ba84
jmp 0x42440a
cmp eax, edi
jb 0x4243fb
mov ebx, 0x49ba80
jmp 0x42440a
cmp eax, 1
mov ebx, str.byte
je 0x42440a
mov ebx, 0x49ba70
cmp ecx, 0x100
jb 0x424430
ja 0x424418
test eax, eax
jb 0x424430
test eax, eax
mov dword [ebp + 0x1c], eax
fild dword [ebp + 0x1c]
jge 0x424428
fadd qword [0x49ba68]
fmul qword [0x49ba60]
jmp 0x424494
cmp eax, edx
jb 0x42444c
test eax, eax
mov dword [ebp + 0x1c], eax
fild dword [ebp + 0x1c]
jge 0x424444
fadd qword [0x49ba68]
fmul qword [0x49ba58]
jmp 0x42442e
cmp eax, esi
jb 0x424468
test eax, eax
mov dword [ebp + 0x1c], eax
fild dword [ebp + 0x1c]
jge 0x424460
fadd qword [0x49ba68]
fmul qword [0x49ba50]
jmp 0x42442e
cmp eax, edi
jb 0x424484
test eax, eax
mov dword [ebp + 0x1c], eax
fild dword [ebp + 0x1c]
jge 0x42447c
fadd qword [0x49ba68]
fmul qword [0x49ba48]
jmp 0x42442e
test eax, eax
mov dword [ebp + 0x1c], eax
fild dword [ebp + 0x1c]
jge 0x424494
fadd qword [0x49ba68]
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 0x4ae840
call fcn.004837bd
add esp, 0x14
push 0xb
jmp 0x4243d4
mov eax, dword [ebp + 0x64]
xor ecx, ecx
dec eax
mov dword [ebp + 0x2c], ecx
je 0x4245ea
dec eax
je 0x4245af
dec eax
je 0x42455e
dec eax
jne case.0x423bc6.114
xor eax, eax
cmp dword [ebp + 0x48], 0xffffffff
sete al
xor edx, edx
cmp dword [ebp + 0x4c], ecx
sete dl
test edx, eax
jne case.0x423bc6.114
cmp dword [ebp + 0x50], ecx
je 0x42450e
push dword [ebp + 0x68]
push dword [ebp + 0x50]
push dword [ebp + 0x4c]
push dword [ebp + 0x48]
call fcn.0041060b
add esp, 0x10
mov dword [ebp - 4], eax
xor ecx, ecx
cmp dword [ebp + 0x34], ecx
jl 0x424533
jg 0x42451a
cmp dword [ebp + 0x30], ecx
jbe 0x424533
push dword [ebp + 0x34]
push dword [ebp + 0x30]
push dword [ebp + 0x4c]
push dword [ebp + 0x48]
call fcn.00410841
add esp, 0x10
mov dword [ebp - 4], eax
xor ecx, ecx
mov eax, dword [ebp - 4]
cmp eax, ecx
jne 0x42485f
cmp dword [ebp + 0x10], ecx
je 0x42485f
push dword [ebp + 0x10]
mov esi, dword [ebp + 0x4c]
push esi
push dword [ebp + 0x48]
call fcn.0041a683
add esp, 0xc
jmp 0x4247c0
mov ecx, dword [ebp + 0x7c]
push 0x49b1c4
call fcn.00441a24
xor eax, eax
cmp dword [ebp + 0x48], 0xffffffff
sete al
xor ecx, ecx
cmp dword [ebp + 0x4c], ecx
sete cl
test ecx, eax
je 0x424596
push dword [ebp + 0x1c]
push dword [ebp + 0x7c]
push dword [ebp + 0x20]
call fcn.004100c9
add esp, 0xc
jmp 0x42485f
push dword [ebp + 0x54]
push dword [ebp + 0x7c]
push dword [ebp + 0x4c]
push dword [ebp + 0x48]
call fcn.00410283
add esp, 0x10
jmp 0x42485f
xor eax, eax
cmp dword [ebp + 0x4c], ecx
sete al
xor ecx, ecx
or eax, dword [ebp + 4]
cmp dword [ebp + 0x48], 0xffffffff
sete cl
test ecx, eax
jne case.0x423bc6.114
push dword [ebp + 0x54]
push dword [ebp + 0x14]
push dword [ebp + 4]
push dword [ebp + 0x24]
push dword [ebp + 0x4c]
push dword [ebp + 0x48]
call fcn.0041aa97
add esp, 0x18
jmp 0x42485f
cmp dword [ebp + 8], ecx
je 0x424606
cmp dword [ebp + 0x28], 0
je case.0x423bc6.114
lea eax, [ebp + 0x5c]
push eax
push dword [ebp + 0x28]
call dword [0x4afee8]
push 0x497994
push str.CurRamDisk
mov ecx, 0x4aff28
call fcn.00436b54
cmp byte [ebp + 0x5b], 0
je 0x424697
movzx edi, byte [ebp + 0x5b]
mov eax, edi
shl eax, 5
lea esi, [ebp + eax - 0x164]
lea eax, [ebp - 0x144]
push eax
lea eax, [ebp + 0x5c]
push eax
push dword [ebp + 0x44]
push dword [ebp + 0x28]
call dword [0x4afeec]
test eax, eax
je 0x42467f
mov ecx, dword [esi]
mov edx, dword [esi + 4]
mov eax, ecx
xor ebx, ebx
or eax, edx
jne 0x424659
inc ebx
mov eax, dword [esi + 8]
or eax, dword [esi + 0xc]
jne 0x424666
xor eax, eax
inc eax
jmp 0x424668
xor eax, eax
or eax, ebx
je 0x424686
push edi
push str.Error:_Partition__i_is_not_defined._n
push 0x4ae840
call fcn.004837bd
add esp, 0xc
push 0xc
jmp 0x4243d4
add dword [ebp + 0x5c], ecx
mov eax, dword [esi + 8]
mov dword [ebp + 0x30], eax
adc dword [ebp + 0x60], edx
mov eax, dword [esi + 0xc]
jmp 0x42470d
cmp dword [ebp + 8], 0
je 0x424710
lea eax, [ebp - 0x144]
push eax
lea eax, [ebp + 0x5c]
push eax
push dword [ebp + 0x44]
push dword [ebp + 0x28]
call dword [0x4afeec]
test eax, eax
je 0x424710
lea eax, [ebp - 0x144]
mov ecx, dword [eax]
xor edx, edx
or ecx, dword [eax + 4]
je 0x4246c8
inc edx
mov ecx, dword [eax + 8]
xor esi, esi
or ecx, dword [eax + 0xc]
je 0x4246d3
inc esi
mov cl, byte [eax + 0x18]
cmp cl, 5
je 0x4246e5
cmp cl, 0xf
je 0x4246e5
xor ecx, ecx
inc ecx
jmp 0x4246e7
xor ecx, ecx
and ecx, esi
test edx, ecx
jne 0x4246f9
add eax, 0x20
lea ecx, [ebp - 0x44]
cmp eax, ecx
jb 0x4246be
jmp 0x424710
mov ecx, dword [eax]
add dword [ebp + 0x5c], ecx
mov ecx, dword [eax + 4]
adc dword [ebp + 0x60], ecx
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [ebp + 0x30], ecx
mov dword [ebp + 0x34], eax
mov esi, 0x4b069c
push esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ebx, dword [ebp + 0x4c]
test ebx, ebx
je 0x424740
push 0x49b9b0
push ebx
call fcn.0048397c
test eax, eax
pop ecx
pop ecx
jne 0x424740
call dword [0x4afed8]
mov word [ebx], ax
mov dword [ebp + 0x2c], eax
push dword [ebp + 0x54]
lea eax, [ebp + 0x5c]
push dword [ebp + 0x10]
push ebx
push dword [ebp + 0xc]
push dword [ebp + 0x28]
push dword [ebp + 0x68]
push eax
lea eax, [ebp + 0x30]
push eax
lea eax, [ebp + 0x48]
push eax
call fcn.0042312e
add esp, 0x24
push esi
mov edi, eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test edi, edi
je 0x424778
mov eax, edi
jmp 0x42485f
cmp dword [ebp + 0x20], 0
je 0x42478f
push dword [ebp + 0x48]
push 0x49b9ac
call fcn.0048405e
pop ecx
pop ecx
jmp 0x4247bd
mov ecx, dword [ebp + 0x28]
test ecx, ecx
jne 0x42479b
mov ecx, str.VM_image
test ebx, ebx
mov eax, str.No_mountpoint
je 0x4247a6
mov eax, ebx
push ecx
push eax
push dword [ebp + 0x48]
push str.Created_device__1_u_:__2_ws______3_ws_
push 0x4ae820
call fcn.0040ff05
add esp, 0x14
mov esi, dword [ebp + 0x4c]
test esi, esi
je 0x42482a
mov edi, dword [sym.imp.KERNEL32.dll_lstrlenW]
push esi
call edi
cmp eax, 2
jne 0x4247de
xor eax, eax
cmp word [esi + 2], 0x3a
sete al
jmp 0x4247ff
push esi
call edi
cmp eax, 3
jne 0x4247fd
lea eax, [esi + 2]
push 0x499de4
push eax
call fcn.0048397c
neg eax
pop ecx
sbb eax, eax
pop ecx
inc eax
jmp 0x4247ff
xor eax, eax
test eax, eax
je 0x42482a
push esi
push str.CurRamDisk
mov ecx, 0x4aff28
call fcn.00436b54
test byte [ebp + 0x54], 1
jne 0x42482a
push dword [ebp + 0x14]
movzx eax, word [esi]
push 1
push eax
call fcn.0040fe46
add esp, 0xc
mov edi, dword [ebp + 0x2c]
test di, di
je case.0x423bc6.114
push 0xffffffffffffffff
push 0x49b950
lea ecx, [ebp + 0x24]
call fcn.004419f2
mov esi, dword [ebp + 0x7c]
lea eax, [ebp + 0x24]
push eax
mov ecx, esi
call fcn.00441a52
lea ecx, [ebp + 0x24]
call fcn.00431c4c
mov eax, dword [esi]
mov word [eax + 2], di
xor eax, eax
pop edi
pop esi
pop ebx
add ebp, 0x6c
leave
ret