Function at 0x43185a
Capabilities:
Get memory capacity

Disassembly:
mov eax, 0x4e94d8
call fcn.004b48a0
sub esp, 0x1b0
xor ecx, ecx
cmp dword [0x51d28c], ecx
jne 0x43187c
or eax, 0xffffffff
jmp 0x4329f0
xor eax, eax
push ebx
mov ebx, dword [ebp + 8]
or dword [ebp - 0x30], 0xffffffff
push esi
push edi
mov dword [ebp - 0x48], ecx
mov esi, dword [ebp + 0xc]
lea edi, [ebp - 0x44]
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 - 0x1c], ecx
lea edi, [ebp - 0x18]
stosd dword es:[edi], eax
mov byte [ebp - 0x1d], al
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
mov ax, word [eax]
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x70], ecx
mov dword [ebp - 0x5c], ecx
mov dword [ebp - 0x58], ecx
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x50], ecx
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x68], ecx
mov dword [ebp - 0x74], ecx
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x78], ecx
mov word [ebp - 0x60], ax
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x6c], 0xfa0
jne 0x4319aa
push 0x4f6cc8
push dword [esi + 4]
call fcn.004b3ec2
test eax, eax
pop ecx
pop ecx
jne 0x4319b3
mov eax, dword [0x51d290]
xor esi, esi
cmp eax, esi
mov dword [ebp - 0x7c], esi
mov dword [ebp - 0x78], esi
mov dword [ebp - 0x64], esi
mov dword [ebp - 0x60], esi
je 0x43191d
lea ecx, [ebp - 0x64]
push ecx
lea ecx, [ebp - 0x7c]
push ecx
call eax
lea ecx, [ebp - 0x5c]
call fcn.00449480
push 0x3f
lea eax, [ebp - 0x5c]
push eax
push 1
mov dword [ebp - 4], esi
call fcn.004230af
add esp, 0xc
cmp eax, 2
mov ecx, 0x4f6cc0
jne 0x431949
mov ecx, str.NotLoad
jmp 0x431953
cmp eax, 0xffffffff
jne 0x431953
mov ecx, str.CannotControl
movzx eax, byte [ebp - 0x64]
push ecx
mov ecx, dword [ebp - 0x64]
push eax
mov eax, dword [ebp - 0x60]
shrd ecx, eax, 8
shr eax, 8
movsx eax, cx
push eax
movzx eax, byte [ebp - 0x7c]
push eax
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x54], ecx
mov ecx, dword [ebp - 0x7c]
shrd ecx, eax, 8
shr eax, 8
movsx eax, cx
push eax
mov eax, dword [ebp + 0x10]
push str._X._02X___X._X__s
push dword [eax]
mov dword [ebp - 0x54], ecx
call dword [sym.imp.USER32.dll_wsprintfW]
or dword [ebp - 4], 0xffffffff
add esp, 0x1c
lea ecx, [ebp - 0x5c]
call fcn.00443880
jmp case.0x431d27.114
cmp ebx, 1
jle 0x432628
xor edi, edi
add esi, 4
push str.__id
push dword [esi]
dec ebx
call fcn.004b3ec2
test eax, eax
pop ecx
pop ecx
jne 0x4319d4
or dword [ebp - 0x2c], 2
jmp 0x43246d
push 0x4f6c50
push dword [esi]
call fcn.004b3ec2
test eax, eax
pop ecx
pop ecx
jne 0x4319ef
or dword [ebp - 0x2c], 1
jmp 0x43246d
push str.__remove
push dword [esi]
call fcn.004b3ec2
test eax, eax
pop ecx
pop ecx
jne 0x431a0a
or dword [ebp - 0x2c], 4
jmp 0x43246d
push 0x4f6c34
push dword [esi]
call fcn.004b3ec2
test eax, eax
pop ecx
pop ecx
jne 0x431a28
mov dword [ebp - 0x14], 5
jmp 0x43246d
push str.__hide
push dword [esi]
call fcn.004b3ec2
test eax, eax
pop ecx
pop ecx
jne 0x431a43
or dword [ebp - 0x2c], 0x10
jmp 0x43246d
push dword [esi]
call dword [sym.imp.KERNEL32.dll_lstrlenW]
cmp eax, 2
jne 0x431a5f
mov eax, dword [esi]
xor ecx, ecx
cmp word [eax], 0x2d
sete cl
mov eax, ecx
jmp 0x431a61
xor eax, eax
cmp eax, edi
je case.0x431d27.114
mov eax, dword [esi]
mov cx, word [eax + 2]
movzx eax, cx
cmp eax, 0x6d
jg 0x431d1b
je 0x431cc2
cmp eax, 0x62
jg 0x431c0c
je 0x431b16
sub eax, 0x44
je 0x431c8d
dec eax
dec eax
je 0x431c35
sub eax, 0xc
je 0x431c8d
dec eax
je 0x431acb
sub eax, 0xe
jne case.0x431d27.114
cmp dword [ebp - 0x14], edi
jne case.0x431d27.114
mov dword [ebp - 0x14], 1
jmp 0x43246d
xor eax, eax
cmp dword [ebp - 0x34], edi
setne al
xor ecx, ecx
cmp dword [ebp - 0x14], 1
setne cl
or eax, ecx
xor ecx, ecx
cmp ebx, 2
setl cl
or eax, ecx
jne case.0x431d27.114
add esi, 4
mov eax, dword [esi]
movzx eax, word [eax]
push eax
call fcn.004b346e
test eax, eax
pop ecx
je case.0x431d27.114
push edi
push edi
push dword [esi]
call fcn.004b5931
mov dword [ebp - 0x34], eax
jmp 0x432469
mov eax, dword [ebp - 0x1c]
or eax, dword [ebp - 0x18]
je 0x431b23
xor eax, eax
inc eax
jmp 0x431b25
xor eax, eax
xor ecx, ecx
cmp dword [ebp - 0x74], edi
setne cl
xor edx, edx
cmp dword [ebp - 0x14], 1
setne dl
or ecx, edx
xor edx, edx
cmp ebx, 2
setl dl
or ecx, edx
or ecx, eax
jne case.0x431d27.114
add esi, 4
push str.auto
push dword [esi]
call fcn.004b3ec2
pop ecx
xor edi, edi
test eax, eax
pop ecx
jne 0x431b6d
mov dword [ebp - 0x74], 1
jmp 0x43246c
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp - 0x1c]
push eax
push str._I64u_c
push dword [esi]
mov dword [ebp - 0x4c], edi
call fcn.004b5705
movzx eax, word [ebp - 0x4c]
add esp, 0x10
cmp eax, 0x62
jg 0x4324c1
je 0x431bf4
sub eax, edi
je 0x43246c
sub eax, 0x47
je 0x431bc4
sub eax, 4
je 0x431be5
dec eax
dec eax
je 0x431bd6
sub eax, 7
jne 0x432530
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x18]
shld ecx, eax, 0xa
shl eax, 0xa
jmp 0x431bca
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
shld ecx, eax, 0xa
shl eax, 0xa
mov dword [ebp - 0x18], ecx
jmp 0x431bd9
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x18]
shld ecx, eax, 0xa
shl eax, 0xa
jmp 0x431beb
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
shld ecx, eax, 0xa
shl eax, 0xa
jmp 0x431c01
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x18]
shld ecx, eax, 9
shl eax, 9
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], ecx
jmp 0x43246c
sub eax, 0x64
je 0x431c8d
dec eax
je 0x431c78
dec eax
je 0x431c35
sub eax, 6
jne case.0x431d27.114
cmp dword [ebp - 0x14], edi
jne case.0x431d27.114
mov dword [ebp - 0x14], 3
jmp 0x43246d
xor eax, eax
cmp dword [ebp - 0x50], edi
setne al
xor edx, edx
cmp dword [ebp - 0x14], 1
setne dl
or eax, edx
xor edx, edx
cmp ebx, 2
setl dl
or eax, edx
jne case.0x431d27.114
cmp cx, 0x46
jne 0x431c65
mov dword [ebp - 0x70], 1
add esi, 4
push dword [esi]
call fcn.00422077
pop ecx
mov dword [ebp - 0x50], eax
jmp 0x432413
cmp dword [ebp - 0x14], edi
jne case.0x431d27.114
mov dword [ebp - 0x14], 4
jmp 0x43246d
cmp dword [ebp - 0x14], edi
jne case.0x431d27.114
cmp cx, 0x44
mov dword [ebp - 0x14], 2
jne 0x431caa
mov dword [ebp - 0x58], 1
cmp cx, 0x52
jne 0x43246d
xor eax, eax
inc eax
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], eax
jmp 0x43246d
xor eax, eax
cmp dword [ebp - 0x30], 0xffffffff
setne al
xor ecx, ecx
cmp dword [ebp - 0x14], 1
setne cl
and eax, ecx
xor ecx, ecx
cmp dword [ebp - 0x28], edi
setne cl
or eax, ecx
xor ecx, ecx
cmp ebx, 2
setl cl
or eax, ecx
jne case.0x431d27.114
add esi, 4
mov ecx, dword [esi]
mov ax, word [ecx]
cmp ax, 0x61
mov dword [ebp - 0x28], ecx
jb 0x43246c
cmp ax, 0x7a
ja 0x43246c
and ax, 0xffdf
mov word [ecx], ax
jmp 0x43246c
sub eax, 0x6e
cmp eax, 0xb
ja case.0x431d27.114
jmp dword [eax*4 + 0x4329fc]
mov dword [ebp - 0x6c], 1
jmp 0x43246d
mov eax, dword [ebp - 0x10]
and eax, 0xf00
neg eax
sbb eax, eax
xor ecx, ecx
neg eax
cmp dword [ebp - 0x14], 1
setne cl
or eax, ecx
xor ecx, ecx
cmp ebx, 2
setl cl
or eax, ecx
jne case.0x431d27.114
add esi, 4
push str.file
push dword [esi]
call fcn.004b3ec2
test eax, eax
pop ecx
pop ecx
jne 0x431d81
or byte [ebp - 0xf], 1
jmp 0x43246c
push 0x4f6bf4
push dword [esi]
call fcn.004b3ec2
test eax, eax
pop ecx
pop ecx
jne 0x431d9c
or byte [ebp - 0xf], 2
jmp 0x43246c
push str.proxy
push dword [esi]
call fcn.004b3ec2
test eax, eax
pop ecx
pop ecx
jne case.0x431d27.114
or byte [ebp - 0xf], 3
jmp 0x43246c
mov dword [ebp - 0x5c], 1
jmp 0x43246d
xor eax, eax
cmp dword [ebp - 0x14], 4
setne al
xor ecx, ecx
cmp dword [ebp - 0x14], 1
setne cl
and eax, ecx
xor ecx, ecx
cmp ebx, 2
setl cl
or eax, ecx
jne case.0x431d27.114
add esi, 4
push 0x4f41f0
push dword [esi]
jmp 0x4320ac
push 0x4f6be0
push edi
call fcn.004b3ec2
test eax, eax
pop ecx
pop ecx
jne 0x431e22
test byte [ebp - 0x24], 1
jne case.0x431d27.114
or dword [ebp - 0x24], 1
or dword [ebp - 0x10], 1
jmp 0x4320a5
push 0x4f6bd8
push edi
call fcn.004b3ec2
test eax, eax
pop ecx
pop ecx
jne 0x431e4a
test byte [ebp - 0x24], 1
jne case.0x431d27.114
or dword [ebp - 0x24], 1
and dword [ebp - 0x10], 0xfffffffe
jmp 0x4320a5
push 0x4f6bd0
push edi
call fcn.004b3ec2
test eax, eax
pop ecx
pop ecx
jne 0x431e72
test byte [ebp - 0x24], 2
jne case.0x431d27.114
or dword [ebp - 0x24], 2
or dword [ebp - 0x10], 2
jmp 0x4320a5
push 0x4f6bc8
push edi
call fcn.004b3ec2
test eax, eax
pop ecx
pop ecx
jne 0x431e9a
test byte [ebp - 0x24], 2
jne case.0x431d27.114
or dword [ebp - 0x24], 2
and dword [ebp - 0x10], 0xfffffffd
jmp 0x4320a5
push str.saved
push edi
call fcn.004b3ec2
test eax, eax
pop ecx
pop ecx
jne 0x431ec6
cmp dword [ebp - 0x14], 4
jne case.0x431d27.114
or byte [ebp - 0x22], 1
and byte [ebp - 0xe], 0xfe
or dword [ebp - 0x2c], 8
jmp 0x4320a5
cmp dword [ebp - 0x14], 1
jne case.0x431d27.114
push 0x4f6bb4
push edi
call fcn.004b3ec2
test eax, eax
pop ecx
pop ecx
jne 0x431f1b
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
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.0x431d27.114
or byte [ebp - 0xf], 0x20
mov dword [ebp - 0x70], 1
jmp 0x4320a5
push str.comm
push edi
call fcn.004b3ec2
test eax, eax
pop ecx
pop ecx
jne 0x431f66
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
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.0x431d27.114
or byte [ebp - 0xf], 0x10
mov dword [ebp - 0x70], 1
jmp 0x4320a5
push 0x4f6ba0
push edi
call fcn.004b3ec2
test eax, eax
pop ecx
pop ecx
jne 0x431faa
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
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.0x431d27.114
or byte [ebp - 0xf], 0x30
jmp 0x4320a5
push 0x4f6b98
push edi
call fcn.004b3ec2
test eax, eax
pop ecx
pop ecx
jne 0x431ff5
mov eax, dword [ebp - 0x10]
and eax, 0xf00
xor ecx, ecx
cmp eax, 0x100
setne cl
xor edx, edx
test eax, eax
mov eax, dword [ebp - 0x10]
setne dl
and eax, 0xf000
and ecx, edx
neg eax
sbb eax, eax
neg eax
or ecx, eax
jne case.0x431d27.114
or byte [ebp - 0xf], 0x11
jmp 0x4320a5
push 0x4f6b90
push edi
call fcn.004b3ec2
test eax, eax
pop ecx
pop ecx
jne 0x43203d
mov eax, dword [ebp - 0x10]
and eax, 0xf00
xor ecx, ecx
cmp eax, 0x100
setne cl
xor edx, edx
test eax, eax
mov eax, dword [ebp - 0x10]
setne dl
and eax, 0xf000
and ecx, edx
neg eax
sbb eax, eax
neg eax
or ecx, eax
jne case.0x431d27.114
or byte [ebp - 0xf], 0x21
jmp 0x4320a5
push str.shared
push edi
call fcn.004b3ec2
test eax, eax
pop ecx
pop ecx
jne 0x432054
or byte [ebp - 0xe], 2
jmp 0x4320a5
test byte [ebp - 0x10], 0xf0
jne case.0x431d27.114
push 0x4f6b78
push edi
call fcn.004b3ec2
test eax, eax
pop ecx
pop ecx
jne 0x432075
or dword [ebp - 0x10], 0x10
jmp 0x4320a5
push 0x4f6b70
push edi
call fcn.004b3ec2
test eax, eax
pop ecx
pop ecx
jne 0x43208c
or dword [ebp - 0x10], 0x20
jmp 0x4320a5
push 0x4f6b68
push edi
call fcn.004b3ec2
test eax, eax
pop ecx
pop ecx
jne case.0x431d27.114
or dword [ebp - 0x10], 0x30
push 0x4f41f0
push 0
call fcn.004b5660
mov edi, eax
test edi, edi
pop ecx
pop ecx
jne 0x431dfa
jmp 0x432413
mov eax, dword [ebp - 0x48]
or eax, dword [ebp - 0x44]
je 0x4320cf
xor eax, eax
inc eax
jmp 0x4320d1
xor eax, eax
xor ecx, ecx
cmp dword [ebp - 0x14], 4
setne cl
xor edx, edx
cmp dword [ebp - 0x14], 1
setne dl
and ecx, edx
xor edx, edx
cmp ebx, 2
setl dl
or ecx, edx
or ecx, eax
jne case.0x431d27.114
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp - 0x48]
push eax
add esi, 4
push str._I64i_c
push dword [esi]
xor edi, edi
mov dword [ebp - 0x4c], edi
call fcn.004b5705
movzx eax, word [ebp - 0x4c]
add esp, 0x10
cmp eax, 0x54
jg 0x4321f2
je 0x4321b2
sub eax, edi
je 0x43227c
sub eax, 0x25
je 0x432155
sub eax, 0x22
je 0x4321c1
sub eax, 4
je 0x4321e0
dec eax
dec eax
jne 0x432530
mov eax, dword [ebp - 0x48]
jmp 0x4321d1
cmp dword [ebp - 0x44], edi
jg 0x432166
jl 0x432161
cmp dword [ebp - 0x48], edi
ja 0x432166
xor ecx, ecx
inc ecx
jmp 0x432168
xor ecx, ecx
cmp dword [ebp - 0x44], edi
jl 0x43217a
jg 0x432175
cmp dword [ebp - 0x48], 0x64
jb 0x43217a
xor eax, eax
inc eax
jmp 0x43217c
xor eax, eax
or eax, ecx
jne case.0x431d27.114
lea eax, [ebp - 0x9c]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalMemoryStatus]
push dword [ebp - 0x44]
push dword [ebp - 0x48]
push edi
push dword [ebp - 0x90]
call fcn.004b4970
push edi
push 0x64
push edx
push eax
call fcn.004b48c0
jmp 0x432264
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x44]
shld ecx, eax, 0xa
shl eax, 0xa
jmp 0x4321c7
mov ecx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
shld ecx, eax, 0xa
shl eax, 0xa
mov dword [ebp - 0x44], ecx
mov ecx, dword [ebp - 0x44]
shld ecx, eax, 0xa
shl eax, 0xa
mov dword [ebp - 0x44], ecx
jmp 0x4321e3
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x44]
shld ecx, eax, 0xa
shl eax, 0xa
jmp 0x432276
sub eax, 0x62
je 0x432269
sub eax, 5
je 0x432225
sub eax, 4
je 0x432253
dec eax
dec eax
je 0x43223c
sub eax, 7
jne 0x432530
push edi
push 0x3e8
push dword [ebp - 0x44]
push dword [ebp - 0x48]
call fcn.004b4970
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
push edi
push 0x3e8
push dword [ebp - 0x44]
push dword [ebp - 0x48]
call fcn.004b4970
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
push edi
push 0x3e8
push dword [ebp - 0x44]
push dword [ebp - 0x48]
call fcn.004b4970
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
push edi
push 0x3e8
push dword [ebp - 0x44]
push dword [ebp - 0x48]
call fcn.004b4970
mov dword [ebp - 0x44], edx
jmp 0x432279
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x44]
shld ecx, eax, 9
shl eax, 9
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x48], eax
cmp dword [ebp - 0x44], edi
jg 0x43246c
jl 0x432290
cmp dword [ebp - 0x48], edi
jae 0x43246c
lea eax, [ebp - 0xbc]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalMemoryStatus]
mov eax, dword [ebp - 0xb0]
add dword [ebp - 0x48], eax
adc dword [ebp - 0x44], edi
js 0x4322ba
jg 0x43246c
cmp dword [ebp - 0x48], edi
jae 0x43246c
xor ecx, ecx
cmp ecx, 0x100
mov edi, 0x400
mov esi, 0x100000
mov edx, 0x40000000
jb 0x43254f
ja 0x4322e1
test eax, eax
jb 0x43254f
mov ebx, 0x4f6b54
jmp 0x43257f
xor eax, eax
cmp dword [ebp - 0x38], edi
setne al
xor ecx, ecx
cmp dword [ebp - 0x14], 1
setne cl
or eax, ecx
xor ecx, ecx
cmp ebx, 2
setl cl
or eax, ecx
jne case.0x431d27.114
add esi, 4
mov eax, dword [esi]
movzx eax, word [eax]
push eax
call fcn.004b346e
test eax, eax
pop ecx
je case.0x431d27.114
push edi
push edi
push dword [esi]
call fcn.004b5931
mov dword [ebp - 0x38], eax
jmp 0x432469
xor eax, eax
cmp dword [ebp - 0x3c], edi
setne al
xor ecx, ecx
cmp dword [ebp - 0x14], 1
setne cl
or eax, ecx
xor ecx, ecx
cmp ebx, 2
setl cl
or eax, ecx
jne case.0x431d27.114
add esi, 4
mov eax, dword [esi]
movzx eax, word [eax]
push eax
call fcn.004b346e
test eax, eax
pop ecx
je case.0x431d27.114
push edi
push edi
push dword [esi]
call fcn.004b5931
mov dword [ebp - 0x3c], eax
jmp 0x432469
xor eax, eax
cmp byte [ebp - 0x1d], al
setne al
xor ecx, ecx
cmp dword [ebp - 0x14], 1
setne cl
or eax, ecx
xor ecx, ecx
cmp ebx, 2
setl cl
or eax, ecx
jne case.0x431d27.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.0x431d27.114
cmp word [eax + 2], di
jne case.0x431d27.114
mov al, byte [eax]
sub al, 0x30
mov byte [ebp - 0x1d], al
jmp 0x43246c
xor eax, eax
inc eax
cmp dword [ebp - 0x14], eax
je 0x4323ef
cmp dword [ebp - 0x14], 4
jne 0x4323f1
xor eax, eax
xor ecx, ecx
cmp dword [ebp - 0x68], edi
setne cl
xor edx, edx
cmp ebx, 2
setl dl
or ecx, edx
or ecx, eax
jne case.0x431d27.114
add esi, 4
mov eax, dword [esi]
mov dword [ebp - 0x68], eax
dec ebx
xor edi, edi
jmp 0x43246d
xor eax, eax
cmp dword [ebp - 0x28], edi
setne al
xor ecx, ecx
cmp dword [ebp - 0x14], 1
setne cl
and eax, ecx
xor ecx, ecx
cmp dword [ebp - 0x30], 0xffffffff
setne cl
or eax, ecx
xor ecx, ecx
cmp ebx, 2
setl cl
or eax, ecx
jne case.0x431d27.114
add esi, 4
mov eax, dword [esi]
movzx eax, word [eax]
push eax
call fcn.004b346e
test eax, eax
pop ecx
je case.0x431d27.114
push edi
push edi
push dword [esi]
call fcn.004b5931
mov dword [ebp - 0x30], eax
add esp, 0xc
dec ebx
cmp ebx, 1
jg 0x4319b5
cmp dword [ebp - 0x14], 5
jne 0x432628
mov eax, dword [ebp - 0x2c]
shr eax, 2
xor ecx, ecx
inc ecx
not eax
and eax, ecx
test byte [ebp - 0x2c], cl
je 0x432495
mov dword [ebp - 0x6c], ecx
mov ecx, dword [ebp - 0x28]
test ecx, ecx
je case.0x431d27.114
mov cx, word [ecx]
test cx, cx
je case.0x431d27.114
push dword [ebp - 0x6c]
push eax
movzx eax, cx
push eax
call fcn.00422967
add esp, 0xc
jmp case.0x431d27.114
sub eax, 0x67
je 0x4324eb
sub eax, 4
je 0x432519
dec eax
dec eax
je 0x432502
sub eax, 7
jne 0x432530
push edi
push 0x3e8
push dword [ebp - 0x18]
push dword [ebp - 0x1c]
call fcn.004b4970
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], edx
push edi
push 0x3e8
push dword [ebp - 0x18]
push dword [ebp - 0x1c]
call fcn.004b4970
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], edx
push edi
push 0x3e8
push dword [ebp - 0x18]
push dword [ebp - 0x1c]
call fcn.004b4970
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], edx
push edi
push 0x3e8
push dword [ebp - 0x18]
push dword [ebp - 0x1c]
call fcn.004b4970
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], edx
movzx eax, word [ebp - 0x4c]
push eax
push str.ImDisk:_Unsupported_size_suffix:__wc_n
push 0x51abb0
call fcn.004b51a0
add esp, 0xc
push 0xa
pop eax
jmp 0x4329ed
cmp eax, edx
jb 0x43255a
mov ebx, 0x4f6b28
jmp 0x43257f
cmp eax, esi
jb 0x432565
mov ebx, 0x4f6b24
jmp 0x43257f
cmp eax, edi
jb 0x432570
mov ebx, 0x4f6b20
jmp 0x43257f
cmp eax, 1
mov ebx, str.byte
je 0x43257f
mov ebx, 0x4f6b10
cmp ecx, 0x100
jb 0x4325a5
ja 0x43258d
test eax, eax
jb 0x4325a5
test eax, eax
mov dword [ebp - 0x60], eax
fild dword [ebp - 0x60]
jge 0x43259d
fadd qword [0x4efd48]
fmul qword [0x4f6b08]
jmp 0x432609
cmp eax, edx
jb 0x4325c1
test eax, eax
mov dword [ebp - 0x60], eax
fild dword [ebp - 0x60]
jge 0x4325b9
fadd qword [0x4efd48]
fmul qword [0x4f6b00]
jmp 0x4325a3
cmp eax, esi
jb 0x4325dd
test eax, eax
mov dword [ebp - 0x60], eax
fild dword [ebp - 0x60]
jge 0x4325d5
fadd qword [0x4efd48]
fmul qword [0x4f3778]
jmp 0x4325a3
cmp eax, edi
jb 0x4325f9
test eax, eax
mov dword [ebp - 0x60], eax
fild dword [ebp - 0x60]
jge 0x4325f1
fadd qword [0x4efd48]
fmul qword [0x4f3758]
jmp 0x4325a3
test eax, eax
mov dword [ebp - 0x60], eax
fild dword [ebp - 0x60]
jge 0x432609
fadd qword [0x4efd48]
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 0x51abb0
call fcn.004b51a0
add esp, 0x14
push 0xb
jmp 0x432549
mov eax, dword [ebp - 0x14]
xor ecx, ecx
dec eax
mov dword [ebp - 0x4c], ecx
je 0x43275c
dec eax
je 0x432724
dec eax
je 0x4326d3
dec eax
jne case.0x431d27.114
xor eax, eax
cmp dword [ebp - 0x30], 0xffffffff
sete al
xor edx, edx
cmp dword [ebp - 0x28], ecx
sete dl
test edx, eax
jne case.0x431d27.114
cmp dword [ebp - 0x24], ecx
je 0x432683
push dword [ebp - 0x10]
push dword [ebp - 0x24]
push dword [ebp - 0x28]
push dword [ebp - 0x30]
call fcn.00423582
add esp, 0x10
mov dword [ebp - 0x78], eax
xor ecx, ecx
cmp dword [ebp - 0x44], ecx
jl 0x4326a8
jg 0x43268f
cmp dword [ebp - 0x48], ecx
jbe 0x4326a8
push dword [ebp - 0x44]
push dword [ebp - 0x48]
push dword [ebp - 0x28]
push dword [ebp - 0x30]
call fcn.004237b8
add esp, 0x10
mov dword [ebp - 0x78], eax
xor ecx, ecx
mov eax, dword [ebp - 0x78]
cmp eax, ecx
jne 0x4329ed
cmp dword [ebp - 0x68], ecx
je 0x4329ed
push dword [ebp - 0x68]
mov esi, dword [ebp - 0x28]
push esi
push dword [ebp - 0x30]
call fcn.0042b108
add esp, 0xc
jmp 0x432943
mov ecx, dword [ebp + 0x10]
push 0x4f0070
call fcn.00456630
xor eax, eax
cmp dword [ebp - 0x30], 0xffffffff
sete al
xor ecx, ecx
cmp dword [ebp - 0x28], ecx
sete cl
test ecx, eax
je 0x43270b
push dword [ebp - 0x60]
push dword [ebp + 0x10]
push dword [ebp - 0x5c]
call fcn.004230af
add esp, 0xc
jmp 0x4329ed
push dword [ebp - 0x2c]
push dword [ebp + 0x10]
push dword [ebp - 0x28]
push dword [ebp - 0x30]
call fcn.004231e1
add esp, 0x10
jmp 0x4329ed
xor eax, eax
cmp dword [ebp - 0x28], ecx
sete al
xor ecx, ecx
or eax, dword [ebp - 0x54]
cmp dword [ebp - 0x30], 0xffffffff
sete cl
test ecx, eax
jne case.0x431d27.114
push dword [ebp - 0x6c]
push dword [ebp - 0x54]
push dword [ebp - 0x58]
push dword [ebp - 0x28]
push dword [ebp - 0x30]
call fcn.00422bf7
add esp, 0x14
jmp 0x4329ed
cmp dword [ebp - 0x74], ecx
je 0x432778
cmp dword [ebp - 0x50], 0
je case.0x431d27.114
lea eax, [ebp - 0x1c]
push eax
push dword [ebp - 0x50]
call dword [0x51d270]
push 0x4efd50
push str.CurRamDisk
mov ecx, 0x51d2a0
call fcn.00448be0
cmp byte [ebp - 0x1d], 0
je 0x432809
movzx edi, byte [ebp - 0x1d]
mov eax, edi
shl eax, 5
lea esi, [ebp + eax - 0x1dc]
lea eax, [ebp - 0x1bc]
push eax
lea eax, [ebp - 0x1c]
push eax
push dword [ebp - 0x34]
push dword [ebp - 0x50]
call dword [0x51d274]
test eax, eax
je 0x4327f1
mov ecx, dword [esi]
mov edx, dword [esi + 4]
mov eax, ecx
xor ebx, ebx
or eax, edx
jne 0x4327cb
inc ebx
mov eax, dword [esi + 8]
or eax, dword [esi + 0xc]
jne 0x4327d8
xor eax, eax
inc eax
jmp 0x4327da
xor eax, eax
or eax, ebx
je 0x4327f8
push edi
push str.Error:_Partition__i_is_not_defined._n
push 0x51abb0
call fcn.004b51a0
add esp, 0xc
push 0xc
jmp 0x432549
add dword [ebp - 0x1c], ecx
mov eax, dword [esi + 8]
mov dword [ebp - 0x48], eax
adc dword [ebp - 0x18], edx
mov eax, dword [esi + 0xc]
jmp 0x432882
cmp dword [ebp - 0x74], 0
je 0x432885
lea eax, [ebp - 0x1bc]
push eax
lea eax, [ebp - 0x1c]
push eax
push dword [ebp - 0x34]
push dword [ebp - 0x50]
call dword [0x51d274]
test eax, eax
je 0x432885
lea eax, [ebp - 0x1bc]
mov ecx, dword [eax]
xor edx, edx
or ecx, dword [eax + 4]
je 0x43283a
inc edx
mov ecx, dword [eax + 8]
xor esi, esi
or ecx, dword [eax + 0xc]
je 0x432845
inc esi
mov cl, byte [eax + 0x18]
cmp cl, 5
je 0x432857
cmp cl, 0xf
je 0x432857
xor ecx, ecx
inc ecx
jmp 0x432859
xor ecx, ecx
and ecx, esi
test edx, ecx
jne 0x43286e
add eax, 0x20
lea ecx, [ebp - 0xbc]
cmp eax, ecx
jb 0x432830
jmp 0x432885
mov ecx, dword [eax]
add dword [ebp - 0x1c], ecx
mov ecx, dword [eax + 4]
adc dword [ebp - 0x18], ecx
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x44], eax
mov esi, 0x51d5ec
push esi
mov dword [ebp - 0x60], esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ebx, dword [ebp - 0x28]
test ebx, ebx
mov dword [ebp - 4], 1
je 0x4328bf
push 0x4f6a68
push ebx
call fcn.004b3ec2
test eax, eax
pop ecx
pop ecx
jne 0x4328bf
call dword [0x51d264]
mov word [ebx], ax
mov dword [ebp - 0x4c], eax
push dword [ebp - 0x2c]
lea eax, [ebp - 0x1c]
push dword [ebp - 0x68]
push ebx
push dword [ebp - 0x70]
push dword [ebp - 0x50]
push dword [ebp - 0x10]
push eax
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x30]
push eax
call fcn.0043127d
or dword [ebp - 4], 0xffffffff
add esp, 0x24
push esi
mov edi, eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test edi, edi
je 0x4328fb
mov eax, edi
jmp 0x4329ed
cmp dword [ebp - 0x5c], 0
je 0x432912
push dword [ebp - 0x30]
push 0x4f6a64
call fcn.004b55fa
pop ecx
pop ecx
jmp 0x432940
mov ecx, dword [ebp - 0x50]
test ecx, ecx
jne 0x43291e
mov ecx, str.VM_image
test ebx, ebx
mov eax, str.No_mountpoint
je 0x432929
mov eax, ebx
push ecx
push eax
push dword [ebp - 0x30]
push str.Created_device__1_u_:__2_ws______3_ws_
push 0x51ab90
call fcn.00422a1e
add esp, 0x14
mov esi, dword [ebp - 0x28]
test esi, esi
je 0x4329ad
mov edi, dword [sym.imp.KERNEL32.dll_lstrlenW]
push esi
call edi
cmp eax, 2
jne 0x432961
xor eax, eax
cmp word [esi + 2], 0x3a
sete al
jmp 0x432982
push esi
call edi
cmp eax, 3
jne 0x432980
lea eax, [esi + 2]
push 0x4f5560
push eax
call fcn.004b3ec2
neg eax
pop ecx
sbb eax, eax
pop ecx
inc eax
jmp 0x432982
xor eax, eax
test eax, eax
je 0x4329ad
push esi
push str.CurRamDisk
mov ecx, 0x51d2a0
call fcn.00448be0
test byte [ebp - 0x2c], 1
jne 0x4329ad
push dword [ebp - 0x6c]
movzx eax, word [esi]
push 1
push eax
call fcn.00422967
add esp, 0xc
mov edi, dword [ebp - 0x4c]
test di, di
je case.0x431d27.114
push 0xffffffffffffffff
push 0x4f6a08
lea ecx, [ebp - 0x58]
call fcn.004565c0
mov esi, dword [ebp + 0x10]
lea eax, [ebp - 0x58]
push eax
mov ecx, esi
mov dword [ebp - 4], 2
call fcn.00456690
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x58]
call fcn.00443880
mov eax, dword [esi]
mov word [eax + 2], di
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
leave
ret