Function at 0x10026d3c
Capabilities:
Get memory capacity

Disassembly:
push ebp
lea ebp, [esp - 0x6c]
sub esp, 0x1b0
push ebx
xor ebx, ebx
cmp dword [0x100e30a0], ebx
jne 0x10026d5a
or eax, 0xffffffff
jmp 0x10027cd3
xor eax, eax
or dword [ebp + 0x4c], 0xffffffff
push esi
push edi
mov dword [ebp + 0x34], ebx
mov esi, dword [ebp + 0x78]
lea edi, [ebp + 0x38]
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 dword [ebp + 0x74], 2
mov dword [ebp + 0x50], ebx
lea edi, [ebp + 0x54]
stosd dword es:[edi], eax
mov edi, dword [ebp + 0x7c]
mov byte [ebp + 0x63], al
mov eax, dword [edi]
mov ax, word [eax]
mov dword [ebp + 0x64], ebx
mov dword [ebp + 0x68], ebx
mov dword [ebp + 8], ebx
mov dword [ebp + 0x24], ebx
mov dword [ebp + 0x18], ebx
mov dword [ebp + 4], ebx
mov dword [ebp + 0x28], ebx
mov dword [ebp + 0x30], ebx
mov dword [ebp + 0x20], ebx
mov dword [ebp + 0xc], ebx
mov dword [ebp + 0x58], ebx
mov dword [ebp + 0x10], ebx
mov word [ebp], ax
mov dword [ebp + 0x5c], ebx
mov dword [ebp + 0x1c], 0xfa0
jne 0x10026e86
push 0x100cb878
push dword [esi + 4]
call fcn.100b450d
test eax, eax
pop ecx
pop ecx
jne 0x10026e90
mov eax, dword [0x100e30a4]
cmp eax, ebx
mov dword [ebp - 4], ebx
mov dword [ebp], ebx
mov dword [ebp + 0x14], ebx
mov dword [ebp + 0x18], ebx
je 0x10026df6
lea ecx, [ebp + 0x14]
push ecx
lea ecx, [ebp - 4]
push ecx
call eax
lea ecx, [ebp + 0x24]
call fcn.10046123
push 0x3f
lea eax, [ebp + 0x24]
push eax
push 1
call fcn.10013b38
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 0x14]
add esp, 0xc
cmp eax, 2
mov esi, 0x100cb870
jne 0x10026e25
mov esi, str.NotLoad
jmp 0x10026e40
cmp eax, 0xffffffff
jne 0x10026e31
mov esi, str.CannotControl
jmp 0x10026e40
cmp ecx, ebx
ja 0x10026e40
jb 0x10026e3b
cmp edx, ebx
ja 0x10026e40
mov esi, str.NotInstall
movzx eax, dl
shrd edx, ecx, 8
push esi
push eax
movsx eax, dx
push eax
movzx eax, byte [ebp - 4]
push eax
mov eax, dword [ebp]
shr ecx, 8
mov ecx, dword [ebp - 4]
shrd ecx, eax, 8
shr eax, 8
movsx eax, cx
push eax
push str._X._02X___X._X__s
push dword [edi]
mov dword [ebp + 0x2c], ecx
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x1c
lea ecx, [ebp + 0x24]
call fcn.1003f96c
jmp case.0x100271e7.114
cmp dword [ebp + 0x74], 1
jle 0x1002794e
dec dword [ebp + 0x74]
add esi, 4
push str.__id
push dword [esi]
call fcn.100b450d
test eax, eax
pop ecx
pop ecx
jne 0x10026eb1
or dword [ebp + 0x5c], 2
jmp 0x100278f6
push 0x100cb7e8
push dword [esi]
call fcn.100b450d
test eax, eax
pop ecx
pop ecx
jne 0x10026ecc
or dword [ebp + 0x5c], 1
jmp 0x100278f6
push str.__remove
push dword [esi]
call fcn.100b450d
test eax, eax
pop ecx
pop ecx
jne 0x10026ee7
or dword [ebp + 0x5c], 4
jmp 0x100278f6
push 0x100cb7cc
push dword [esi]
call fcn.100b450d
test eax, eax
pop ecx
pop ecx
jne 0x10026f05
mov dword [ebp + 0x64], 5
jmp 0x100278f6
push str.__hide
push dword [esi]
call fcn.100b450d
test eax, eax
pop ecx
pop ecx
jne 0x10026f20
or dword [ebp + 0x5c], 0x10
jmp 0x100278f6
push dword [esi]
call dword [sym.imp.KERNEL32.dll_lstrlenW]
push 2
pop edi
cmp eax, edi
jne 0x10026f3e
mov eax, dword [esi]
xor ecx, ecx
cmp word [eax], 0x2d
sete cl
mov eax, ecx
jmp 0x10026f40
xor eax, eax
cmp eax, ebx
je case.0x100271e7.114
mov eax, dword [esi]
mov cx, word [eax + 2]
movzx eax, cx
cmp eax, 0x6d
jg 0x100271db
je 0x10027195
cmp eax, 0x62
jg 0x100270e6
je 0x10026ff5
sub eax, 0x44
je 0x10027168
sub eax, edi
je 0x1002710f
sub eax, 0xc
je 0x10027168
dec eax
je 0x10026faa
sub eax, 0xe
jne case.0x100271e7.114
cmp dword [ebp + 0x64], ebx
jne case.0x100271e7.114
mov dword [ebp + 0x64], 1
jmp 0x100278f6
xor eax, eax
cmp dword [ebp + 0x48], ebx
setne al
xor ecx, ecx
cmp dword [ebp + 0x64], 1
setne cl
or eax, ecx
xor ecx, ecx
cmp dword [ebp + 0x74], edi
setl cl
or eax, ecx
jne case.0x100271e7.114
add esi, 4
mov eax, dword [esi]
movzx eax, word [eax]
push eax
call fcn.100b4e30
test eax, eax
pop ecx
je case.0x100271e7.114
push ebx
push ebx
push dword [esi]
call fcn.100b4e19
mov dword [ebp + 0x48], eax
jmp 0x100278f0
mov eax, dword [ebp + 0x50]
or eax, dword [ebp + 0x54]
je 0x10027002
xor eax, eax
inc eax
jmp 0x10027004
xor eax, eax
xor ecx, ecx
cmp dword [ebp + 0xc], ebx
setne cl
xor edx, edx
cmp dword [ebp + 0x64], 1
setne dl
or ecx, edx
xor edx, edx
cmp dword [ebp + 0x74], 2
setl dl
or ecx, edx
or ecx, eax
jne case.0x100271e7.114
add esi, 4
push 0x100cb7b0
push dword [esi]
call fcn.100b450d
test eax, eax
pop ecx
pop ecx
jne 0x1002704b
mov dword [ebp + 0xc], 1
jmp 0x100278f3
mov eax, dword [esi]
mov dword [ebp + 0x2c], eax
lea eax, [ebp + 0x50]
push eax
lea eax, [ebp + 0x2c]
push eax
call fcn.10049610
mov eax, dword [ebp + 0x2c]
movzx eax, word [eax]
cmp eax, 0x62
pop ecx
pop ecx
jg 0x10027947
je 0x100270ce
sub eax, ebx
je 0x100278f3
sub eax, 0x47
je 0x1002709e
sub eax, 4
je 0x100270bf
dec eax
dec eax
je 0x100270b0
sub eax, 7
jne 0x10027947
mov eax, dword [ebp + 0x50]
mov ecx, dword [ebp + 0x54]
shld ecx, eax, 0xa
shl eax, 0xa
jmp 0x100270a4
mov ecx, dword [ebp + 0x54]
mov eax, dword [ebp + 0x50]
shld ecx, eax, 0xa
shl eax, 0xa
mov dword [ebp + 0x54], ecx
jmp 0x100270b3
mov eax, dword [ebp + 0x50]
mov ecx, dword [ebp + 0x54]
shld ecx, eax, 0xa
shl eax, 0xa
jmp 0x100270c5
mov ecx, dword [ebp + 0x54]
mov eax, dword [ebp + 0x50]
shld ecx, eax, 0xa
shl eax, 0xa
jmp 0x100270db
mov eax, dword [ebp + 0x50]
mov ecx, dword [ebp + 0x54]
shld ecx, eax, 9
shl eax, 9
mov dword [ebp + 0x50], eax
mov dword [ebp + 0x54], ecx
jmp 0x100278f3
sub eax, 0x64
je 0x10027168
dec eax
je 0x10027153
dec eax
je 0x1002710f
sub eax, 6
jne case.0x100271e7.114
cmp dword [ebp + 0x64], ebx
jne case.0x100271e7.114
mov dword [ebp + 0x64], 3
jmp 0x100278f6
xor eax, eax
cmp dword [ebp + 0x28], ebx
setne al
xor edx, edx
cmp dword [ebp + 0x64], 1
setne dl
or eax, edx
xor edx, edx
cmp dword [ebp + 0x74], 2
setl dl
or eax, edx
jne case.0x100271e7.114
cmp cx, 0x46
jne 0x10027140
mov dword [ebp + 8], 1
add esi, 4
push dword [esi]
call fcn.100132bf
pop ecx
mov dword [ebp + 0x28], eax
jmp 0x100278f3
cmp dword [ebp + 0x64], ebx
jne case.0x100271e7.114
mov dword [ebp + 0x64], 4
jmp 0x100278f6
xor eax, eax
cmp dword [ebp + 0x64], ebx
jne 0x10027cd1
inc eax
cmp cx, 0x44
mov dword [ebp + 0x64], edi
jne 0x10027180
mov dword [ebp + 0x18], eax
cmp cx, 0x52
jne 0x100278f6
mov dword [ebp + 0x18], eax
mov dword [ebp + 4], eax
jmp 0x100278f6
xor eax, eax
cmp dword [ebp + 0x4c], 0xffffffff
setne al
xor ecx, ecx
cmp dword [ebp + 0x64], 4
setne cl
and eax, ecx
xor ecx, ecx
cmp dword [ebp + 0x64], 1
setne cl
and eax, ecx
xor ecx, ecx
cmp dword [ebp + 0x30], ebx
setne cl
or eax, ecx
xor ecx, ecx
cmp dword [ebp + 0x74], edi
setl cl
or eax, ecx
jne case.0x100271e7.114
add esi, 4
mov eax, dword [esi]
mov dword [ebp + 0x30], eax
jmp 0x100278f3
sub eax, 0x6e
cmp eax, 0xb
ja case.0x100271e7.114
jmp dword [eax*4 + 0x10027cdc]
mov dword [ebp + 0x1c], 1
jmp 0x100278f6
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 dword [ebp + 0x74], edi
setl cl
or eax, ecx
jne case.0x100271e7.114
add esi, 4
push str.file
push dword [esi]
call fcn.100b450d
test eax, eax
pop ecx
pop ecx
jne 0x10027241
or byte [ebp + 0x69], 1
jmp 0x100278f3
push 0x100cb79c
push dword [esi]
call fcn.100b450d
test eax, eax
pop ecx
pop ecx
jne 0x1002725c
or byte [ebp + 0x69], 2
jmp 0x100278f3
push str.proxy
push dword [esi]
call fcn.100b450d
test eax, eax
pop ecx
pop ecx
jne case.0x100271e7.114
or byte [ebp + 0x69], 3
jmp 0x100278f3
mov dword [ebp + 0x24], 1
jmp 0x100278f6
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 dword [ebp + 0x74], edi
setl cl
or eax, ecx
jne case.0x100271e7.114
add esi, 4
push 0x100c7d88
push dword [esi]
jmp 0x1002756b
push 0x100cb788
push edi
call fcn.100b450d
test eax, eax
pop ecx
pop ecx
jne 0x100272e2
test byte [ebp + 0x58], 1
jne case.0x100271e7.114
or dword [ebp + 0x58], 1
or dword [ebp + 0x68], 1
jmp 0x10027565
push 0x100cb780
push edi
call fcn.100b450d
test eax, eax
pop ecx
pop ecx
jne 0x1002730a
test byte [ebp + 0x58], 1
jne case.0x100271e7.114
or dword [ebp + 0x58], 1
and dword [ebp + 0x68], 0xfffffffe
jmp 0x10027565
push 0x100cb778
push edi
call fcn.100b450d
test eax, eax
pop ecx
pop ecx
jne 0x10027332
test byte [ebp + 0x58], 2
jne case.0x100271e7.114
or dword [ebp + 0x58], 2
or dword [ebp + 0x68], 2
jmp 0x10027565
push 0x100cb770
push edi
call fcn.100b450d
test eax, eax
pop ecx
pop ecx
jne 0x1002735a
test byte [ebp + 0x58], 2
jne case.0x100271e7.114
or dword [ebp + 0x58], 2
and dword [ebp + 0x68], 0xfffffffd
jmp 0x10027565
push str.saved
push edi
call fcn.100b450d
test eax, eax
pop ecx
pop ecx
jne 0x10027386
cmp dword [ebp + 0x64], 4
jne case.0x100271e7.114
or byte [ebp + 0x5a], 1
and byte [ebp + 0x6a], 0xfe
or dword [ebp + 0x5c], 8
jmp 0x10027565
cmp dword [ebp + 0x64], 1
jne case.0x100271e7.114
push 0x100cb75c
push edi
call fcn.100b450d
test eax, eax
pop ecx
pop ecx
jne 0x100273db
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.0x100271e7.114
or byte [ebp + 0x69], 0x20
mov dword [ebp + 8], 1
jmp 0x10027565
push str.comm
push edi
call fcn.100b450d
test eax, eax
pop ecx
pop ecx
jne 0x10027426
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.0x100271e7.114
or byte [ebp + 0x69], 0x10
mov dword [ebp + 8], 1
jmp 0x10027565
push 0x100cb748
push edi
call fcn.100b450d
test eax, eax
pop ecx
pop ecx
jne 0x1002746a
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.0x100271e7.114
or byte [ebp + 0x69], 0x30
jmp 0x10027565
push 0x100cb740
push edi
call fcn.100b450d
test eax, eax
pop ecx
pop ecx
jne 0x100274b5
mov eax, dword [ebp + 0x68]
and eax, 0xf00
xor ecx, ecx
cmp eax, 0x100
setne cl
xor edx, edx
cmp eax, ebx
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.0x100271e7.114
or byte [ebp + 0x69], 0x11
jmp 0x10027565
push 0x100cb738
push edi
call fcn.100b450d
test eax, eax
pop ecx
pop ecx
jne 0x100274fd
mov eax, dword [ebp + 0x68]
and eax, 0xf00
xor ecx, ecx
cmp eax, 0x100
setne cl
xor edx, edx
cmp eax, ebx
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.0x100271e7.114
or byte [ebp + 0x69], 0x21
jmp 0x10027565
push str.shared
push edi
call fcn.100b450d
test eax, eax
pop ecx
pop ecx
jne 0x10027514
or byte [ebp + 0x6a], 2
jmp 0x10027565
test byte [ebp + 0x68], 0xf0
jne case.0x100271e7.114
push 0x100cb720
push edi
call fcn.100b450d
test eax, eax
pop ecx
pop ecx
jne 0x10027535
or dword [ebp + 0x68], 0x10
jmp 0x10027565
push 0x100cb718
push edi
call fcn.100b450d
test eax, eax
pop ecx
pop ecx
jne 0x1002754c
or dword [ebp + 0x68], 0x20
jmp 0x10027565
push 0x100cb710
push edi
call fcn.100b450d
test eax, eax
pop ecx
pop ecx
jne case.0x100271e7.114
or dword [ebp + 0x68], 0x30
push 0x100c7d88
push ebx
call fcn.100b4b7e
mov edi, eax
cmp edi, ebx
pop ecx
pop ecx
jne 0x100272ba
jmp 0x100278f3
mov eax, dword [ebp + 0x34]
or eax, dword [ebp + 0x38]
je 0x1002758e
xor eax, eax
inc eax
jmp 0x10027590
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 dword [ebp + 0x74], 2
setl dl
or ecx, edx
or ecx, eax
jne case.0x100271e7.114
add esi, 4
mov eax, dword [esi]
mov dword [ebp + 0x2c], eax
lea eax, [ebp + 0x34]
push eax
lea eax, [ebp + 0x2c]
push eax
call fcn.10049610
mov eax, dword [ebp + 0x2c]
movzx eax, word [eax]
cmp eax, 0x54
pop ecx
pop ecx
jg 0x1002769e
je 0x1002765e
sub eax, ebx
je 0x10027728
sub eax, 0x25
je 0x10027607
sub eax, 0x22
je 0x1002766d
sub eax, 4
je 0x1002768c
dec eax
dec eax
jne 0x10027947
mov eax, dword [ebp + 0x34]
jmp 0x1002767d
cmp dword [ebp + 0x38], ebx
jg 0x10027618
jl 0x10027613
cmp dword [ebp + 0x34], ebx
ja 0x10027618
xor ecx, ecx
inc ecx
jmp 0x1002761a
xor ecx, ecx
cmp dword [ebp + 0x38], ebx
jl 0x1002762c
jg 0x10027627
cmp dword [ebp + 0x34], 0x64
jb 0x1002762c
xor eax, eax
inc eax
jmp 0x1002762e
xor eax, eax
or eax, ecx
jne case.0x100271e7.114
lea eax, [ebp - 0x24]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalMemoryStatus]
push dword [ebp + 0x38]
push dword [ebp + 0x34]
push ebx
push dword [ebp - 0x18]
call fcn.100b4200
push ebx
push 0x64
push edx
push eax
call fcn.100b4150
jmp 0x10027710
mov eax, dword [ebp + 0x34]
mov ecx, dword [ebp + 0x38]
shld ecx, eax, 0xa
shl eax, 0xa
jmp 0x10027673
mov ecx, dword [ebp + 0x38]
mov eax, dword [ebp + 0x34]
shld ecx, eax, 0xa
shl eax, 0xa
mov dword [ebp + 0x38], ecx
mov ecx, dword [ebp + 0x38]
shld ecx, eax, 0xa
shl eax, 0xa
mov dword [ebp + 0x38], ecx
jmp 0x1002768f
mov eax, dword [ebp + 0x34]
mov ecx, dword [ebp + 0x38]
shld ecx, eax, 0xa
shl eax, 0xa
jmp 0x10027722
sub eax, 0x62
je 0x10027715
sub eax, 5
je 0x100276d1
sub eax, 4
je 0x100276ff
dec eax
dec eax
je 0x100276e8
sub eax, 7
jne 0x10027947
push ebx
push 0x3e8
push dword [ebp + 0x38]
push dword [ebp + 0x34]
call fcn.100b4200
mov dword [ebp + 0x34], eax
mov dword [ebp + 0x38], edx
push ebx
push 0x3e8
push dword [ebp + 0x38]
push dword [ebp + 0x34]
call fcn.100b4200
mov dword [ebp + 0x34], eax
mov dword [ebp + 0x38], edx
push ebx
push 0x3e8
push dword [ebp + 0x38]
push dword [ebp + 0x34]
call fcn.100b4200
mov dword [ebp + 0x34], eax
mov dword [ebp + 0x38], edx
push ebx
push 0x3e8
push dword [ebp + 0x38]
push dword [ebp + 0x34]
call fcn.100b4200
mov dword [ebp + 0x38], edx
jmp 0x10027725
mov eax, dword [ebp + 0x34]
mov ecx, dword [ebp + 0x38]
shld ecx, eax, 9
shl eax, 9
mov dword [ebp + 0x38], ecx
mov dword [ebp + 0x34], eax
cmp dword [ebp + 0x38], ebx
jg 0x100278f3
jl 0x1002773c
cmp dword [ebp + 0x34], ebx
jae 0x100278f3
lea eax, [ebp - 0x44]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalMemoryStatus]
mov eax, dword [ebp + 0x34]
add eax, dword [ebp - 0x38]
adc dword [ebp + 0x38], ebx
mov dword [ebp + 0x34], eax
js 0x10027762
jg 0x100278f3
cmp eax, ebx
jae 0x100278f3
push 0xb
jmp 0x10027b01
xor eax, eax
cmp dword [ebp + 0x44], ebx
setne al
xor ecx, ecx
cmp dword [ebp + 0x64], 1
setne cl
or eax, ecx
xor ecx, ecx
cmp dword [ebp + 0x74], edi
setl cl
or eax, ecx
jne case.0x100271e7.114
add esi, 4
mov eax, dword [esi]
movzx eax, word [eax]
push eax
call fcn.100b4e30
test eax, eax
pop ecx
je case.0x100271e7.114
push ebx
push ebx
push dword [esi]
call fcn.100b4e19
mov dword [ebp + 0x44], eax
jmp 0x100278f0
xor eax, eax
cmp dword [ebp + 0x40], ebx
setne al
xor ecx, ecx
cmp dword [ebp + 0x64], 1
setne cl
or eax, ecx
xor ecx, ecx
cmp dword [ebp + 0x74], edi
setl cl
or eax, ecx
jne case.0x100271e7.114
add esi, 4
mov eax, dword [esi]
movzx eax, word [eax]
push eax
call fcn.100b4e30
test eax, eax
pop ecx
je case.0x100271e7.114
push ebx
push ebx
push dword [esi]
call fcn.100b4e19
mov dword [ebp + 0x40], eax
jmp 0x100278f0
xor eax, eax
cmp byte [ebp + 0x63], al
setne al
xor ecx, ecx
cmp dword [ebp + 0x64], 1
setne cl
or eax, ecx
xor ecx, ecx
cmp dword [ebp + 0x74], edi
setl cl
or eax, ecx
jne case.0x100271e7.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.0x100271e7.114
cmp word [eax + 2], bx
jne case.0x100271e7.114
mov al, byte [eax]
sub al, 0x30
mov byte [ebp + 0x63], al
jmp 0x100278f3
xor eax, eax
inc eax
cmp dword [ebp + 0x64], eax
je 0x1002786d
cmp dword [ebp + 0x64], 4
jne 0x1002786f
xor eax, eax
xor ecx, ecx
cmp dword [ebp + 0x20], ebx
setne cl
xor edx, edx
cmp dword [ebp + 0x74], 2
setl dl
or ecx, edx
or ecx, eax
jne case.0x100271e7.114
add esi, 4
mov eax, dword [esi]
mov dword [ebp + 0x20], eax
jmp 0x100278f3
xor eax, eax
cmp dword [ebp + 0x30], ebx
setne al
xor ecx, ecx
cmp dword [ebp + 0x64], 4
setne cl
and eax, ecx
xor ecx, ecx
cmp dword [ebp + 0x64], 1
setne cl
and eax, ecx
xor ecx, ecx
cmp dword [ebp + 0x4c], 0xffffffff
setne cl
or eax, ecx
xor ecx, ecx
cmp dword [ebp + 0x74], edi
setl cl
or eax, ecx
jne case.0x100271e7.114
add esi, 4
mov eax, dword [esi]
movzx eax, word [eax]
push eax
call fcn.100b4e30
test eax, eax
pop ecx
je case.0x100271e7.114
push ebx
push ebx
push dword [esi]
call fcn.100b4e19
mov dword [ebp + 0x4c], eax
add esp, 0xc
dec dword [ebp + 0x74]
cmp dword [ebp + 0x74], 1
jg 0x10026e90
cmp dword [ebp + 0x64], 5
jne 0x1002794e
mov eax, dword [ebp + 0x5c]
shr eax, 2
xor ecx, ecx
inc ecx
not eax
and eax, ecx
test byte [ebp + 0x5c], cl
je 0x1002791b
mov dword [ebp + 0x1c], ecx
mov ecx, dword [ebp + 0x30]
cmp ecx, ebx
je case.0x100271e7.114
mov cx, word [ecx]
cmp cx, bx
je case.0x100271e7.114
push dword [ebp + 0x1c]
push eax
movzx eax, cx
push eax
call fcn.100262ff
add esp, 0xc
jmp case.0x100271e7.114
push 0xa
jmp 0x10027b01
mov eax, dword [ebp + 0x64]
xor esi, esi
dec eax
mov dword [ebp + 0x2c], esi
mov ebx, 0x100e3108
je 0x10027a80
dec eax
je 0x10027a49
dec eax
je 0x100279f8
dec eax
jne case.0x100271e7.114
mov esi, dword [ebp + 0x4c]
mov edi, dword [ebp + 0x30]
xor eax, eax
cmp esi, 0xffffffff
sete al
xor ecx, ecx
test edi, edi
sete cl
test ecx, eax
jne case.0x100271e7.114
cmp dword [ebp + 0x58], 0
jne 0x1002799e
test edi, edi
je 0x100279b1
push dword [ebp + 0x68]
push dword [ebp + 0x58]
push edi
push esi
call fcn.10014031
add esp, 0x10
mov dword [ebp + 0x10], eax
cmp dword [ebp + 0x38], 0
jl 0x100279d2
jg 0x100279bf
cmp dword [ebp + 0x34], 0
jbe 0x100279d2
push dword [ebp + 0x38]
push dword [ebp + 0x34]
push edi
push esi
call fcn.10014206
add esp, 0x10
mov dword [ebp + 0x10], eax
mov eax, dword [ebp + 0x10]
test eax, eax
jne 0x10027cd1
cmp dword [ebp + 0x20], eax
je 0x10027cd1
push dword [ebp + 0x20]
push edi
push esi
call fcn.1001c718
add esp, 0xc
jmp 0x10027bee
mov ecx, dword [ebp + 0x7c]
push 0x100c7fa0
call fcn.1005026c
xor eax, eax
cmp dword [ebp + 0x4c], 0xffffffff
sete al
xor ecx, ecx
cmp dword [ebp + 0x30], esi
sete cl
test ecx, eax
je 0x10027a30
push dword [ebp]
push dword [ebp + 0x7c]
push dword [ebp + 0x24]
call fcn.10013b38
add esp, 0xc
jmp 0x10027cd1
push dword [ebp + 0x5c]
push dword [ebp + 0x7c]
push dword [ebp + 0x30]
push dword [ebp + 0x4c]
call fcn.10013cf2
add esp, 0x10
jmp 0x10027cd1
xor eax, eax
cmp dword [ebp + 0x30], esi
sete al
xor ecx, ecx
or eax, dword [ebp + 4]
cmp dword [ebp + 0x4c], 0xffffffff
sete cl
test ecx, eax
jne case.0x100271e7.114
push dword [ebp + 0x5c]
push dword [ebp + 0x1c]
push dword [ebp + 4]
push dword [ebp + 0x18]
push dword [ebp + 0x30]
push dword [ebp + 0x4c]
call fcn.1002691f
add esp, 0x18
jmp 0x10027cd1
cmp dword [ebp + 0xc], esi
je 0x10027a9e
cmp dword [ebp + 0x28], esi
jne 0x10027a91
xor eax, eax
jmp 0x10027cd1
lea eax, [ebp + 0x50]
push eax
push dword [ebp + 0x28]
call dword [0x100e3084]
push 0x100c6a64
push str.CurRamDisk
mov ecx, ebx
call fcn.100457c2
cmp byte [ebp + 0x63], 0
je 0x10027b18
movzx esi, byte [ebp + 0x63]
lea eax, [ebp - 0x144]
push eax
lea eax, [ebp + 0x50]
push eax
push dword [ebp + 0x48]
shl esi, 5
push dword [ebp + 0x28]
lea esi, [ebp + esi - 0x164]
call dword [0x100e3088]
test eax, eax
je 0x10027aff
mov ecx, dword [esi]
mov edx, dword [esi + 4]
mov eax, ecx
xor edi, edi
or eax, edx
jne 0x10027aec
inc edi
mov eax, dword [esi + 8]
or eax, dword [esi + 0xc]
jne 0x10027af9
xor eax, eax
inc eax
jmp 0x10027afb
xor eax, eax
or eax, edi
je 0x10027b07
push 0xc
pop eax
jmp 0x10027cd1
add dword [ebp + 0x50], ecx
mov eax, dword [esi + 8]
mov dword [ebp + 0x34], eax
adc dword [ebp + 0x54], edx
mov eax, dword [esi + 0xc]
jmp 0x10027b8d
cmp dword [ebp + 0xc], esi
je 0x10027b90
lea eax, [ebp - 0x144]
push eax
lea eax, [ebp + 0x50]
push eax
push dword [ebp + 0x48]
push dword [ebp + 0x28]
call dword [0x100e3088]
test eax, eax
je 0x10027b90
lea eax, [ebp - 0x144]
mov ecx, dword [eax]
xor edx, edx
or ecx, dword [eax + 4]
je 0x10027b48
inc edx
mov ecx, dword [eax + 8]
xor esi, esi
or ecx, dword [eax + 0xc]
je 0x10027b53
inc esi
mov cl, byte [eax + 0x18]
cmp cl, 5
je 0x10027b65
cmp cl, 0xf
je 0x10027b65
xor ecx, ecx
inc ecx
jmp 0x10027b67
xor ecx, ecx
and ecx, esi
test edx, ecx
jne 0x10027b79
add eax, 0x20
lea ecx, [ebp - 0x44]
cmp eax, ecx
jb 0x10027b3e
jmp 0x10027b90
mov ecx, dword [eax]
add dword [ebp + 0x50], ecx
mov ecx, dword [eax + 4]
adc dword [ebp + 0x54], ecx
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [ebp + 0x34], ecx
mov dword [ebp + 0x38], eax
mov esi, 0x100e3d7c
push esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edi, dword [ebp + 0x30]
test edi, edi
je 0x10027bc0
push 0x100cb6f0
push edi
call fcn.100b450d
test eax, eax
pop ecx
pop ecx
jne 0x10027bc0
call dword [0x100e3074]
mov word [edi], ax
mov dword [ebp + 0x2c], eax
push dword [ebp + 0x5c]
lea eax, [ebp + 0x50]
push dword [ebp + 0x20]
push edi
push dword [ebp + 8]
push dword [ebp + 0x28]
push dword [ebp + 0x68]
push eax
lea eax, [ebp + 0x34]
push eax
lea eax, [ebp + 0x4c]
push eax
call fcn.10026412
add esp, 0x24
push esi
mov dword [ebp + 0x10], eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test edi, edi
je 0x10027c55
mov esi, dword [sym.imp.KERNEL32.dll_lstrlenW]
push edi
call esi
cmp eax, 2
jne 0x10027c0c
xor eax, eax
cmp word [edi + 2], 0x3a
sete al
jmp 0x10027c2d
push edi
call esi
cmp eax, 3
jne 0x10027c2b
lea eax, [edi + 2]
push 0x100c9a38
push eax
call fcn.100b450d
neg eax
pop ecx
sbb eax, eax
pop ecx
inc eax
jmp 0x10027c2d
xor eax, eax
test eax, eax
je 0x10027c55
push edi
push str.CurRamDisk
mov ecx, ebx
call fcn.100457c2
test byte [ebp + 0x5c], 1
jne 0x10027c55
push dword [ebp + 0x1c]
movzx eax, word [edi]
push 1
push eax
call fcn.100262ff
add esp, 0xc
mov ebx, dword [ebp + 0x2c]
test bx, bx
je 0x10027c90
cmp dword [ebp + 0x24], 0
jne 0x10027c90
push 0xffffffffffffffff
push 0x100cb6ec
lea ecx, [ebp + 0x18]
call fcn.10050221
mov esi, dword [ebp + 0x7c]
lea eax, [ebp + 0x18]
push eax
mov ecx, esi
call fcn.1005029a
lea ecx, [ebp + 0x18]
call fcn.1003f96c
mov eax, dword [esi]
mov word [eax + 2], bx
jmp 0x10027cce
mov edi, dword [ebp + 0x7c]
push 0x42
mov ecx, edi
call fcn.10046168
test bx, bx
mov eax, dword [edi]
mov word [eax], 0x2a
je 0x10027cb3
cmp dword [ebp + 0x4c], 0
mov eax, str._d__c:
jge 0x10027cb8
mov eax, 0x100c72f0
movzx ecx, bx
push ecx
push dword [ebp + 0x4c]
push eax
mov eax, dword [edi]
inc eax
inc eax
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x10
mov eax, dword [ebp + 0x10]
pop edi
pop esi
pop ebx
add ebp, 0x6c
leave
ret