Function at 0x4a15a9
Capabilities:
Check for time delay via gettickcount

Disassembly:
push ebp
lea ebp, [esp - 0x70]
sub esp, 0x288
push ebx
fldz
push esi
fstp qword [ebp - 0x19c]
push edi
push 0x26
xor eax, eax
pop ecx
lea edi, [ebp - 0x194]
mov byte [ebp + 0x5b], 1
rep stosd dword es:[edi], eax
xor ebx, ebx
mov esi, 0x4e3d84
push dword [ebp + 0x78]
lea ecx, [ebp - 0x70]
mov byte [ebp + 0x37], bl
call fcn.004505eb
mov eax, dword [ebp - 0x70]
mov dword [ebp + 0x60], eax
add eax, 0xc
mov dword [ebp + 0x68], eax
mov dword [ebp + 0x48], eax
lea eax, [ebp + 0x48]
push eax
call fcn.00405c44
mov eax, dword [ebp + 0x48]
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x20]
push eax
call fcn.0043fe57
mov eax, dword [ebp + 0x68]
cmp word [eax], 0x2a
pop ecx
pop ecx
lea ecx, [ebp + 0xf]
sete byte [ebp + 0x67]
call fcn.00413ad2
push 6
push dword [ebp - 0x20]
push str.__free
call fcn.00441220
add esp, 0xc
test al, al
jne 0x4a2b31
lea ecx, [ebp + 0x78]
call fcn.0049eda8
push ebx
lea ecx, [ebp + 0xf]
call fcn.00413ad5
lea ecx, [ebp + 0xf]
call fcn.00413ac6
neg eax
sbb eax, eax
inc eax
cmp dword [0x4e1850], ebx
mov dword [ebp - 0x18], eax
mov dword [ebp + 0x24], ebx
mov dword [ebp - 0x88], ebx
mov dword [ebp - 0x8c], ebx
jge 0x4a1711
mov eax, dword [0x4e30ac]
cmp eax, ebx
mov dword [0x4e1850], ebx
mov dword [ebp + 0x54], ebx
mov dword [ebp + 0x44], ebx
je 0x4a16e5
lea ecx, [ebp + 0x44]
push ecx
lea ecx, [ebp + 0x54]
push ecx
call eax
cmp dword [ebp + 0x44], ebx
jbe 0x4a16e5
mov eax, dword [ebp + 0x54]
cmp eax, 0x202
jb 0x4a16b1
mov dword [0x4e1850], 0x38
jmp 0x4a16e5
cmp eax, 0x184
jb 0x4a16c4
mov dword [0x4e1850], 8
jmp 0x4a16e5
cmp eax, 0x160
jb 0x4a16d7
mov dword [0x4e1850], 2
jmp 0x4a16e5
cmp eax, ebx
jbe 0x4a16e5
mov dword [0x4e1850], 1
cmp byte [0x4e2e78], bl
je 0x4a1711
push dword [0x4e30ac]
push dword [0x4e1850]
push dword [ebp + 0x44]
push dword [ebp + 0x54]
push str.DBG:_IMD:_0x_X_0x_X_0x_X__0x_p_r_n
push 0x4e3110
call fcn.00411365
add esp, 0x18
push 3
push dword [ebp - 0x20]
push 0x4cfadc
call fcn.00441220
add esp, 0xc
test al, al
je 0x4a172e
mov dword [ebp + 0x24], 0xfff00000
push 5
lea eax, [ebp - 0x20]
push eax
push str.__ins
mov byte [ebp + 0x6f], bl
call fcn.004485c7
add esp, 0xc
test al, al
je 0x4a174e
mov byte [ebp + 0x6f], 5
jmp 0x4a1769
push 6
lea eax, [ebp - 0x20]
push eax
push str.__fins
call fcn.004485c7
add esp, 0xc
test al, al
je 0x4a1769
mov byte [ebp + 0x6f], 6
push 0x3e8
lea ecx, [ebp - 0x24]
call fcn.004465ac
lea ecx, [ebp + 0x18]
call fcn.0044658e
lea ecx, [ebp - 0xa8]
call fcn.0044658e
lea ecx, [ebp + 0x5c]
call fcn.0044658e
lea ecx, [ebp - 0x1c]
mov dword [ebp + 0x14], ebx
call fcn.0044658e
lea ecx, [ebp + 4]
call fcn.0044658e
lea ecx, [ebp + 0x50]
call fcn.0044658e
lea ecx, [ebp - 0xc]
call fcn.0044658e
lea ecx, [ebp - 0x3c]
call fcn.0044658e
lea ecx, [ebp + 0x3c]
call fcn.0044658e
lea ecx, [ebp - 0x28]
call fcn.0044658e
lea ecx, [ebp + 0x28]
call fcn.0044658e
or eax, 0xffffffff
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x68], eax
mov eax, 0x4c6a64
push 0xc8
lea ecx, [ebp - 0x14]
mov dword [ebp - 0x54], ebx
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0xe0], ebx
mov dword [ebp - 0xd4], ebx
mov dword [ebp - 0xd0], ebx
mov dword [ebp + 0x1c], ebx
mov dword [ebp + 0x44], eax
mov dword [ebp + 0x54], eax
call fcn.004465ac
cmp byte [ebp + 0x67], bl
mov eax, dword [ebp + 0x48]
mov cx, word [eax]
mov edi, dword [ebp - 0x20]
mov dword [ebp - 0xd8], eax
mov word [ebp - 0x7c], cx
mov dword [ebp + 0x30], eax
je 0x4a195c
add dword [ebp + 0x68], 2
mov word [eax], bx
mov eax, dword [ebp + 0x68]
mov edx, eax
jmp 0x4a1851
cmp cx, 0x2a
je 0x4a1859
inc eax
inc eax
mov dword [ebp + 0x68], eax
mov cx, word [eax]
cmp cx, bx
jne 0x4a1846
sub eax, edx
sar eax, 1
push eax
push edx
lea ecx, [ebp + 0x18]
call fcn.004466b2
mov eax, dword [ebp + 0x18]
cmp word [eax], bx
je 0x4a187c
push 0x3e8
lea ecx, [ebp - 0x24]
call fcn.004465d3
cmp word [ebp - 0x7c], bx
mov eax, dword [ebp + 0x48]
mov dword [ebp + 0x30], eax
je 0x4a188e
add eax, 2
mov dword [ebp + 0x30], eax
lea eax, [ebp + 0x30]
push eax
call fcn.0043fe57
pop ecx
mov edi, 0x4c6a64
push 4
lea eax, [ebp + 0x30]
push eax
push str._mem
call fcn.0044863c
add esp, 0xc
test al, al
jne 0x4a18cb
push 2
lea eax, [ebp + 0x30]
push eax
push 0x4cbc8c
call fcn.0044863c
add esp, 0xc
test al, al
je 0x4a18d0
mov dword [ebp + 0x44], edi
jmp 0x4a189d
push 3
lea eax, [ebp + 0x30]
push eax
push 0x4d01d0
call fcn.0044863c
add esp, 0xc
test al, al
je 0x4a18f0
mov dword [ebp + 0x44], 0x4d3f84
jmp 0x4a189d
push 4
lea eax, [ebp + 0x30]
push eax
push str._map
call fcn.0044863c
add esp, 0xc
test al, al
je 0x4a1913
mov dword [ebp - 0xe0], 1
jmp 0x4a189d
push 4
lea eax, [ebp + 0x30]
push eax
push str._exe
call fcn.0044863c
add esp, 0xc
test al, al
je 0x4a1936
mov dword [ebp + 0x24], 1
jmp 0x4a189d
push 5
lea eax, [ebp + 0x30]
push eax
push str._nexe
call fcn.0044863c
add esp, 0xc
test al, al
je 0x4a1959
mov dword [ebp + 0x24], 0xfff00000
jmp 0x4a189d
mov edi, dword [ebp + 0x30]
mov ecx, dword [ebp + 0x7c]
push 0x4d3f5c
push 0x4d3444
call fcn.00445c44
mov eax, dword [ebp + 0x18]
cmp word [eax], bx
push 0xffffffffffffffff
lea ecx, [ebp + 0x14]
push 0xffffffffffffffff
je 0x4a19a1
push 0x4d3f58
call fcn.00446649
push dword [ebp + 0x18]
lea ecx, [ebp + 0x14]
call fcn.004465fa
push str.Imdisk
lea ecx, [ebp + 0x14]
call fcn.004465fa
jmp 0x4a19ab
push str._Imdisk
call fcn.00446649
push 9
push edi
push str.__version
call fcn.00441220
push 2
push edi
push 0x4d3f28
mov byte [ebp + 0x66], al
call fcn.00441220
push 2
push edi
push 0x4d3f24
mov byte [ebp + 0xe], al
call fcn.00441220
push 3
push edi
push 0x4cfadc
mov byte [ebp + 0x13], al
call fcn.00441220
add esp, 0x30
cmp byte [ebp + 0x66], bl
jne 0x4a1a02
cmp byte [ebp + 0xe], bl
jne 0x4a1a02
cmp byte [ebp + 0x13], bl
jne 0x4a1a02
cmp al, bl
jne 0x4a1a02
mov cl, 1
jmp 0x4a1a04
xor cl, cl
cmp dword [ebp - 0x18], ebx
jne 0x4a1a1b
mov eax, dword [0x4e1850]
cmp eax, ebx
jle 0x4a1a1b
push 2
pop edi
cmp eax, edi
jge 0x4a1a27
jmp 0x4a1a1e
push 2
pop edi
cmp cl, bl
jne 0x4a1a31
cmp byte [ebp + 0x6f], bl
jne 0x4a1a31
cmp byte [ebp + 0x6f], 6
jl 0x4a1bbe
cmp dword [ebp - 0x18], ebx
mov dword [ebp - 0x10], 0x4d3f1c
jne 0x4a1a87
lea ecx, [ebp - 0x74]
call fcn.0044658e
mov eax, 0x4d3f14
mov dword [ebp - 0xe8], eax
mov dword [ebp - 0xe4], eax
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0xe8]
push eax
push edi
call fcn.00427093
mov eax, dword [ebp - 0x74]
add esp, 0xc
cmp word [eax], bx
je 0x4a1a7f
cmp word [eax + 2], bx
je 0x4a1a7f
mov dword [ebp - 0x10], 0x4d3f0c
lea ecx, [ebp - 0x74]
call fcn.0043fe25
push esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edi, dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
sub dword [0x4e3de0], 1
push esi
call edi
push esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [0x4e3de0], ebx
jle 0x4a1abe
push esi
call edi
mov ecx, dword [ebp + 0x7c]
push ebx
push ebx
push 1
call fcn.0041195d
jmp 0x4a1a9e
push 0xffffffffffffffff
lea ecx, [ebp + 0xf]
call fcn.00413ad5
push esi
call edi
movsx ax, byte [ebp + 0x6f]
push 0xffffffffffffffff
lea ecx, [ebp + 0xf]
mov word [ebp - 0xbe], 0x20
mov word [ebp - 0xbc], bx
add eax, 0x30
mov word [ebp - 0xc0], ax
call fcn.00413ad5
push str.28:INDATA
lea ecx, [ebp + 8]
call fcn.004505eb
cmp dword [ebp - 0x18], ebx
mov eax, 0x4d3f0c
jne 0x4a1b10
mov eax, 0x4d3f1c
push eax
lea ecx, [ebp + 8]
call fcn.004465fa
push dword [ebp - 0x10]
lea ecx, [ebp + 8]
call fcn.004465fa
lea eax, [ebp - 0xc0]
push eax
lea ecx, [ebp + 8]
call fcn.004465fa
push dword [ebp + 0x48]
lea ecx, [ebp + 8]
call fcn.004465fa
cmp byte [0x4e2e78], bl
je 0x4a1b5b
push dword [ebp + 8]
push str.Install_IMD__s__r_n
push 0x4e3110
call fcn.00411365
add esp, 0xc
push dword [ebp + 8]
mov ecx, dword [ebp + 0x7c]
call fcn.004236b4
push esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
add dword [0x4e3de0], 1
push esi
mov dword [0x4e1850], 0xffffffc0
call edi
push ebx
lea ecx, [ebp + 0xf]
call fcn.00413ad5
lea ecx, [ebp + 0xf]
call fcn.00413ac6
neg eax
sbb eax, eax
inc eax
push esi
mov dword [ebp - 0x18], eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [ebp - 0x18], ebx
jne 0x4a1bb0
mov dword [0x4e1850], 0x38
push esi
call edi
lea ecx, [ebp + 8]
call fcn.0043fe25
push 2
pop edi
cmp byte [ebp + 0x67], bl
je 0x4a245f
mov eax, dword [ebp + 0x30]
mov dword [ebp - 0x4c], eax
jmp 0x4a1bf2
push edi
lea eax, [ebp - 0x4c]
push eax
push 0x4cbc8c
call fcn.004485c7
add esp, 0xc
test al, al
jne 0x4a1bf9
lea eax, [ebp - 0x4c]
push eax
call fcn.00408f31
mov eax, dword [ebp - 0x4c]
pop ecx
cmp word [eax], bx
jne 0x4a1bcf
jmp 0x4a1bff
mov eax, dword [ebp - 0x4c]
mov dword [ebp + 0x54], eax
mov eax, dword [ebp + 0x68]
cmp word [eax], 0x2a
jne 0x4a244d
add dword [ebp + 0x68], edi
mov eax, dword [ebp + 0x68]
mov dword [ebp - 0x5c], ebx
mov dword [ebp - 0x58], ebx
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x34], ebx
cmp word [eax], 0x40
mov byte [ebp + 0x67], bl
jne 0x4a1c2e
add dword [ebp + 0x68], edi
mov byte [ebp + 0x67], 1
lea eax, [ebp - 0x64]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.0044c029
mov eax, dword [ebp + 0x68]
cmp word [eax], bx
pop ecx
pop ecx
je 0x4a1c48
add dword [ebp + 0x68], edi
lea eax, [ebp - 0x6c]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.0044c029
mov eax, dword [ebp + 0x68]
cmp word [eax], bx
pop ecx
pop ecx
je 0x4a1c62
add dword [ebp + 0x68], edi
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.0044c029
mov edi, dword [ebp + 0x68]
cmp word [edi], bx
pop ecx
pop ecx
je 0x4a1c7e
inc edi
inc edi
mov dword [ebp + 0x68], edi
mov al, byte [ebp - 0x48]
and al, 1
mov byte [ebp + 0x6f], al
push 0x2a
lea eax, [ebp + 0x68]
call fcn.00414c4e
mov eax, dword [ebp + 0x68]
pop ecx
sub eax, edi
sar eax, 1
push eax
push edi
lea ecx, [ebp + 0x28]
call fcn.004466b2
mov eax, dword [ebp + 0x68]
cmp word [eax], bx
je 0x4a1cae
add dword [ebp + 0x68], 2
mov edi, dword [ebp + 0x68]
push 0x2a
lea eax, [ebp + 0x68]
call fcn.00414c4e
mov eax, dword [ebp + 0x68]
pop ecx
sub eax, edi
sar eax, 1
push eax
push edi
lea ecx, [ebp + 0x3c]
call fcn.004466b2
mov eax, dword [ebp + 0x68]
cmp word [eax], bx
je 0x4a1cd9
add dword [ebp + 0x68], 2
lea eax, [ebp - 0x5c]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.0044c029
mov edi, dword [ebp + 0x68]
cmp word [edi], bx
pop ecx
pop ecx
je 0x4a1cf5
inc edi
inc edi
mov dword [ebp + 0x68], edi
push 0x2a
lea eax, [ebp + 0x68]
call fcn.00414c4e
mov eax, dword [ebp + 0x68]
pop ecx
sub eax, edi
sar eax, 1
push eax
push edi
lea ecx, [ebp - 0x28]
call fcn.004466b2
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.0044c029
mov eax, dword [ebp + 0x68]
cmp word [eax], bx
pop ecx
pop ecx
je 0x4a1d2c
add dword [ebp + 0x68], 2
cmp byte [ebp + 0x67], bl
mov edx, dword [ebp - 0x64]
mov edi, dword [ebp - 0x60]
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x68]
mov dword [ebp - 0xb0], edx
mov dword [ebp - 0xac], edi
mov dword [ebp - 0xb8], eax
mov dword [ebp - 0xb4], ecx
je 0x4a1d71
add eax, edx
adc ecx, edi
mov dword [ebp - 0xb0], ebx
mov dword [ebp - 0xac], ebx
mov dword [ebp - 0xb8], eax
mov dword [ebp - 0xb4], ecx
cmp dword [ebp - 0x58], ebx
jl 0x4a1d93
jg 0x4a1d7d
cmp dword [ebp - 0x5c], ebx
jbe 0x4a1d93
cmp dword [ebp - 0x34], ebx
jg 0x4a1d93
jl 0x4a1d89
cmp dword [ebp - 0x38], ebx
ja 0x4a1d93
mov dword [ebp - 0x38], 1
mov dword [ebp - 0x34], ebx
push 0x318
lea ecx, [ebp - 0x2c]
call fcn.004465ac
mov eax, dword [ebp - 0x2c]
lea esi, [eax + 0x6a]
mov dword [ebp - 8], eax
lea eax, [esi + 0x6a]
lea edi, [eax + 0x6a]
push ebx
mov word [edi], bx
push 0x200
mov word [eax], bx
push dword [ebp - 0x60]
lea ecx, [edi + 0x6a]
push dword [ebp - 0x64]
mov dword [ebp - 0xa0], esi
mov dword [ebp - 0xcc], edi
mov dword [ebp - 4], ecx
call fcn.004b4580
push edx
push eax
push dword [ebp - 8]
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], edx
call fcn.004a129d
add esp, 0xc
push ebx
push 0x200
push dword [ebp - 0x68]
push dword [ebp - 0x6c]
call fcn.004b4580
push edx
push eax
push esi
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x68], edx
call fcn.004a129d
add esp, 0xc
mov word [edi], bx
cmp dword [ebp - 0x58], ebx
jl 0x4a1e2b
jg 0x4a1e1c
cmp dword [ebp - 0x5c], ebx
jbe 0x4a1e2b
push dword [ebp - 0x58]
push dword [ebp - 0x5c]
push edi
call fcn.004a129d
add esp, 0xc
mov ecx, dword [ebp + 0x48]
xor eax, eax
cmp word [ebp - 0x7c], bx
setne al
lea eax, [ecx + eax*2]
mov dword [ebp + 0x38], eax
lea eax, [ebp + 0x38]
push eax
call fcn.0043fe57
push 4
push dword [ebp + 0x38]
mov dword [ebp - 0x78], ebx
push str.__w:
call fcn.00441277
add esp, 0x10
test al, al
je 0x4a1e72
add dword [ebp + 0x38], 8
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp + 0x38]
push eax
call fcn.00453e89
pop ecx
pop ecx
push 0xffffffffffffffff
lea eax, [ebp + 0x38]
push eax
push 0x4d3ec4
call fcn.004485c7
add esp, 0xc
cmp dword [0x4e1850], 1
jl 0x4a1e9a
cmp dword [ebp + 0x24], ebx
jne 0x4a1e9a
mov dword [ebp + 0x24], 0xfff00000
mov eax, dword [ebp + 0x38]
mov edi, 0x4c6a64
mov byte [ebp + 0x66], bl
mov byte [ebp + 0x67], bl
mov dword [ebp - 0x10], edi
mov dword [ebp - 0x80], edi
mov dword [ebp + 0x4c], eax
mov dword [ebp + 0x2c], ebx
jmp 0x4a1f25
push 2
lea eax, [ebp + 0x4c]
push eax
push 0x4d02ec
call fcn.004485c7
add esp, 0xc
test al, al
je 0x4a1ed6
mov dword [ebp + 0x2c], 1
jmp 0x4a1f22
cmp dword [ebp + 0x2c], ebx
je 0x4a1f15
push 2
lea eax, [ebp + 0x4c]
push eax
push 0x4d3ec0
call fcn.004485c7
add esp, 0xc
test al, al
je 0x4a1ef8
mov byte [ebp + 0x66], 1
jmp 0x4a1f22
push 3
lea eax, [ebp + 0x4c]
push eax
push 0x4d3ebc
call fcn.004485c7
add esp, 0xc
test al, al
je 0x4a1f15
mov byte [ebp + 0x67], 1
jmp 0x4a1f22
lea eax, [ebp + 0x4c]
push eax
call fcn.00408f31
pop ecx
mov dword [ebp + 0x2c], ebx
mov eax, dword [ebp + 0x4c]
cmp word [eax], bx
jne 0x4a1eb6
mov eax, dword [0x4e1850]
test al, 0x10
je 0x4a1f3f
cmp byte [ebp + 0x67], bl
jne 0x4a1f3f
mov dword [ebp - 0x10], str._o_par
mov dword [ebp + 0x4c], eax
and dword [ebp + 0x4c], 0x20
je 0x4a1f4f
mov dword [ebp - 0x80], str._o_shared
cmp dword [ebp + 0x4c], ebx
je 0x4a1f57
mov byte [ebp + 0x5b], bl
mov ecx, dword [ebp - 0x48]
mov eax, ecx
and eax, 0x200
or eax, ebx
jne 0x4a1f81
cmp dword [ebp + 0x4c], ebx
jne 0x4a1f81
cmp byte [ebp + 0x6f], bl
je 0x4a1f84
and ecx, 0x100
mov eax, ecx
or eax, ebx
je 0x4a1f84
mov byte [ebp + 0x5b], 1
jmp 0x4a1f84
mov byte [ebp + 0x5b], bl
cmp dword [0x4e1850], 8
jl 0x4a2095
cmp byte [ebp + 0x6f], bl
je 0x4a1f9f
cmp byte [ebp + 0x5b], bl
jne 0x4a2095
cmp byte [ebp + 0x6f], bl
mov dword [ebp + 0x2c], edi
jne 0x4a1fb5
cmp byte [ebp + 0x66], bl
jne 0x4a1fbe
mov dword [ebp + 0x2c], str._o_ro
jmp 0x4a1fbe
cmp dword [ebp + 0x4c], ebx
jne 0x4a1fbe
mov byte [ebp + 0x37], 1
push dword [ebp + 0x28]
call dword [sym.imp.KERNEL32.dll_lstrlenW]
push dword [ebp + 0x48]
mov edi, eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
lea eax, [eax + edi + 0x800]
push eax
lea ecx, [ebp + 0x5c]
call fcn.004465d3
push dword [ebp + 0x28]
push esi
push dword [ebp - 8]
push dword [ebp - 0x80]
push dword [ebp - 0x10]
push dword [ebp + 0x2c]
push str.imdisk__a___s__s__s___b__sb__s__sb__f__s
push dword [ebp + 0x5c]
call dword [sym.imp.USER32.dll_wsprintfW]
mov eax, dword [ebp + 0x38]
add esp, 0x20
mov dword [ebp + 0x20], eax
cmp word [eax], bx
je 0x4a2081
push 2
lea eax, [ebp + 0x20]
push eax
push 0x4d3e30
call fcn.004411cf
add esp, 0xc
test al, al
jne 0x4a2047
push 2
lea eax, [ebp + 0x20]
push eax
push 0x4d3e28
call fcn.004411cf
add esp, 0xc
test al, al
jne 0x4a2047
lea eax, [ebp + 0x20]
push eax
call fcn.00408f31
jmp 0x4a2075
mov ecx, dword [ebp + 0x20]
xor eax, eax
jmp 0x4a2064
call fcn.004b1b03
test al, al
jne 0x4a206c
mov word [ecx], 0x20
mov ecx, dword [ebp + 0x20]
inc ecx
inc ecx
mov dword [ebp + 0x20], ecx
mov ax, word [ecx]
cmp ax, bx
jne 0x4a204e
lea eax, [ebp + 0x20]
push eax
call fcn.0043fe57
mov eax, dword [ebp + 0x20]
cmp word [eax], bx
pop ecx
jne 0x4a200e
mov eax, dword [ebp + 0x38]
push eax
lea ecx, [ebp + 0x5c]
call fcn.004465fa
mov eax, dword [ebp + 0x5c]
mov dword [ebp + 0x60], eax
jmp 0x4a242d
cmp byte [ebp + 0x6f], bl
je 0x4a20c8
push ebx
push 0xa0000080
push 3
push ebx
push 7
push 0xc0000000
push dword [ebp + 0x28]
call dword [sym.imp.KERNEL32.dll_CreateFileW]
cmp eax, 0xffffffff
je 0x4a2b69
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp + 0x4c], edi
jmp 0x4a20cf
mov dword [ebp + 0x4c], 0x4d3e20
cmp dword [ebp - 0x34], ebx
jl 0x4a20ed
jg 0x4a20db
cmp dword [ebp - 0x38], ebx
jbe 0x4a20ed
push dword [ebp - 0x34]
lea eax, [esi + 0x6a]
push dword [ebp - 0x38]
push eax
call fcn.004a129d
add esp, 0xc
push 0x5c
push ebx
push dword [ebp + 0x28]
call dword [sym.imp.SHLWAPI.dll_StrRChrW]
mov esi, eax
cmp esi, ebx
jne 0x4a2104
mov esi, dword [ebp + 0x28]
jmp 0x4a2106
inc esi
inc esi
mov eax, dword [ebp + 0x3c]
cmp word [eax], bx
jne 0x4a213d
push 0x800
lea ecx, [ebp + 0x3c]
call fcn.004465d3
mov edi, dword [ebp + 0x3c]
call fcn.004425fc
push eax
push dword [ebp - 0xa0]
push dword [ebp - 8]
push esi
push str._s_s_s__u
push edi
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x18
push dword [ebp + 0x3c]
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov esi, eax
mov eax, 0x400
cmp esi, eax
jle 0x4a215d
mov esi, eax
mov eax, dword [ebp + 0x3c]
mov word [eax + 0x800], bx
push str.Global_
lea ecx, [ebp - 0x14]
call fcn.004506c8
push dword [ebp + 0x3c]
lea ecx, [ebp - 0x14]
call fcn.004465fa
push str._devio_Ack
lea ecx, [ebp - 0x14]
call fcn.004465fa
mov eax, dword [ebp - 4]
mov word [eax], bx
mov eax, dword [ebp - 0x48]
and eax, 0x30
or eax, ebx
mov word [ebp - 0x1d8], bx
jne 0x4a21b0
cmp byte [ebp + 0x6f], bl
je 0x4a2268
mov eax, dword [ebp - 0x48]
and eax, 0x40
or eax, ebx
jne 0x4a2268
mov edi, dword [ebp - 4]
push 0x10
push str.__kill:
push edi
call fcn.00414839
add esp, 0xc
push 0x104
add edi, 0x27e
push edi
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov eax, dword [ebp - 4]
push 0x104
add eax, 0xe
push eax
push edi
call dword [sym.imp.KERNEL32.dll_GetShortPathNameW]
push dword [ebp - 4]
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov edi, dword [ebp + 0x54]
cmp word [edi], 0x22
mov dword [ebp - 0x84], eax
mov dword [ebp + 0x2c], edi
jne 0x4a221c
add dword [ebp + 0x54], 2
jmp 0x4a2212
cmp ax, 0x22
je 0x4a2229
inc edi
inc edi
mov ax, word [edi]
cmp ax, bx
jne 0x4a220a
jmp 0x4a2229
lea eax, [ebp + 0x2c]
push eax
call fcn.00405c44
mov edi, dword [ebp + 0x2c]
pop ecx
mov ax, word [edi]
mov word [ebp + 0x2c], ax
mov word [edi], bx
mov eax, dword [ebp - 0x48]
and eax, 0x20
or eax, ebx
mov eax, str._LOAD_25_poweroff
jne 0x4a2247
mov eax, str._RAMD_ImdiskV__D__m__s_
push dword [ebp + 0x54]
mov ecx, dword [ebp - 0x84]
push eax
mov eax, dword [ebp - 4]
lea eax, [eax + ecx*2]
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
mov ax, word [ebp + 0x2c]
add esp, 0xc
mov word [edi], ax
mov eax, dword [ebp - 0x48]
mov edx, dword [ebp - 0x44]
mov cl, 1
call fcn.004b4870
and eax, 3
je 0x4a2290
push eax
lea eax, [ebp - 0x1d8]
push str._nrc:_d
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
push ebx
mov edi, 0x200
push edi
push dword [ebp - 0xac]
push dword [ebp - 0xb0]
call fcn.004b4580
push edx
push eax
push dword [ebp - 8]
call fcn.004a129d
add esp, 0xc
push ebx
push edi
push dword [ebp - 0xb4]
push dword [ebp - 0xb8]
call fcn.004b4580
mov edi, dword [ebp - 0xa0]
push edx
push eax
push edi
call fcn.004a129d
mov ecx, dword [ebp + 0x7c]
add esp, 0xc
push 0x4ca8f4
push str.__ImdMapPid
call fcn.00445c44
push dword [ebp - 0x28]
call dword [sym.imp.KERNEL32.dll_lstrlenW]
push dword [ebp + 0x28]
mov dword [ebp - 0x84], eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
add eax, dword [ebp - 0x84]
lea ecx, [ebp - 0x30]
lea eax, [eax + esi + 0x940]
push eax
call fcn.004465ac
push str.Global_
lea ecx, [ebp - 0x40]
call fcn.004505eb
push dword [ebp + 0x3c]
lea ecx, [ebp - 0x40]
call fcn.004465fa
push dword [ebp - 0x40]
push ebx
push 2
call dword [sym.imp.KERNEL32.dll_OpenFileMappingW]
cmp eax, ebx
jne 0x4a2b7b
lea ecx, [ebp - 0x40]
call fcn.0043fe25
push dword [ebp - 0xcc]
lea eax, [edi + 0x6a]
push eax
push dword [ebp - 8]
lea eax, [ebp - 0x1d8]
push edi
push dword [ebp + 0x28]
push dword [ebp + 0x3c]
push dword [ebp + 0x4c]
push eax
push dword [ebp - 0x28]
push dword [ebp - 4]
push dword [ebp + 0x44]
push str.EXEC___pid:__ImdMapPid____exe:_s10INDATA___nfb___MyName0____s__w:60000__s__s__s_shm:_s___s__s__s__s__s
push dword [ebp - 0x30]
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x34
add esi, 0x800
push esi
lea ecx, [ebp + 0x5c]
call fcn.004465d3
mov eax, dword [ebp - 8]
mov word [eax], bx
mov word [edi], bx
push dword [ebp + 0x3c]
push dword [ebp - 0x80]
push dword [ebp - 0x10]
push 0x4c6a64
push str.imdisk__a__t_proxy__s__s__s__o_shm__f__s
push dword [ebp + 0x5c]
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x18
push dword [ebp + 0x38]
lea ecx, [ebp + 0x5c]
call fcn.004465fa
push dword [ebp - 0x14]
mov eax, dword [ebp + 0x5c]
push ebx
push ebx
push ebx
mov dword [ebp + 0x60], eax
call dword [sym.imp.KERNEL32.dll_CreateEventW]
mov ecx, dword [ebp + 0x7c]
push ebx
push ebx
push ebx
push dword [ebp - 0x30]
mov esi, eax
call fcn.00434f28
push 0xea60
push esi
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push esi
mov edi, eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp edi, ebx
jne 0x4a2ba4
push 0x32
pop esi
push ebx
call dword [sym.imp.KERNEL32.dll_Sleep]
dec esi
jne 0x4a2409
cmp dword [ebp - 0x78], ebx
jle 0x4a2425
mov ecx, dword [ebp + 0x7c]
push ebx
push ebx
push dword [ebp - 0x78]
call fcn.0041195d
lea ecx, [ebp - 0x30]
call fcn.0043fe25
mov eax, dword [ebp + 0x38]
mov dword [ebp + 0x48], eax
lea ecx, [ebp - 0x2c]
mov word [eax], bx
mov dword [ebp - 0xe0], 1
call fcn.0043fe25
mov esi, 0x4e3d84
mov ax, word [ebp - 0x7c]
mov ecx, dword [ebp - 0xd8]
mov word [ecx], ax
jmp 0x4a28da
push 4
lea eax, [ebp + 0x48]
push eax
push str._exe
call fcn.004485c7
add esp, 0xc
test al, al
je 0x4a247d
mov dword [ebp + 0x24], 1
push 5
lea eax, [ebp + 0x48]
push eax
push str._nexe
call fcn.004485c7
add esp, 0xc
test al, al
je 0x4a249b
mov dword [ebp + 0x24], 0xfff00000
push 6
lea eax, [ebp + 0x48]
push eax
push str._nexe1
call fcn.004485c7
add esp, 0xc
test al, al
je 0x4a24c3
mov dword [ebp + 0x24], 0xfff00000
mov dword [ebp - 0x8c], 1
push 0x2c
pop esi
push esi
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp + 0x60]
push eax
call fcn.004494ac
mov eax, dword [ebp - 0x1c]
mov word [eax], bx
mov eax, dword [ebp + 0x60]
add esp, 0xc
cmp word [eax], bx
je 0x4a2590
add dword [ebp + 0x60], edi
push esi
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp + 0x60]
push eax
call fcn.004494ac
mov eax, dword [ebp + 0x60]
add esp, 0xc
cmp word [eax], bx
je 0x4a2590
add dword [ebp + 0x60], edi
push esi
lea eax, [ebp + 4]
push eax
lea eax, [ebp + 0x60]
push eax
call fcn.004494ac
mov eax, dword [ebp + 0x60]
add esp, 0xc
cmp word [eax], bx
je 0x4a2590
add dword [ebp + 0x60], edi
push esi
lea eax, [ebp + 0x50]
push eax
lea eax, [ebp + 0x60]
push eax
call fcn.004494ac
mov eax, dword [ebp + 0x60]
add esp, 0xc
cmp word [eax], bx
je 0x4a2590
add dword [ebp + 0x60], edi
push esi
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp + 0x60]
push eax
call fcn.004494ac
mov eax, dword [ebp + 0x60]
add esp, 0xc
cmp word [eax], bx
je 0x4a2590
add dword [ebp + 0x60], edi
push esi
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp + 0x60]
push eax
call fcn.004494ac
mov eax, dword [ebp + 0x60]
add esp, 0xc
cmp word [eax], bx
je 0x4a2590
add dword [ebp + 0x60], edi
push esi
lea eax, [ebp - 0xd4]
push eax
lea eax, [ebp + 0x60]
push eax
call fcn.004496a9
add esp, 0xc
push 6
lea ecx, [ebp + 0x50]
mov byte [ebp + 0x66], bl
call fcn.004465d3
mov eax, dword [ebp + 0x50]
mov word [eax + 2], 0x3a
mov eax, dword [ebp + 0x50]
mov word [eax + 4], bx
mov eax, dword [ebp + 0x50]
cmp word [eax], bx
je 0x4a262c
push eax
call fcn.004b3b0b
test eax, eax
pop ecx
je 0x4a2624
mov eax, dword [ebp + 0x50]
lea ecx, [ebp - 0xa4]
mov dword [ebp - 0xfc], str.imdisk
mov dword [ebp - 0xf8], 0x4d3f14
mov dword [ebp - 0xf4], 0x4d3bf4
mov dword [ebp - 0xf0], eax
mov dword [ebp - 0xec], ebx
call fcn.0044658e
lea eax, [ebp - 0xa4]
push eax
lea eax, [ebp - 0xfc]
push eax
push 4
call fcn.00427093
add esp, 0xc
neg eax
sbb al, al
inc al
lea ecx, [ebp - 0xa4]
mov byte [ebp + 0x66], al
call fcn.0043fe25
mov eax, dword [ebp + 0x50]
cmp word [eax], bx
jne 0x4a2645
push 0x4cb6e0
lea ecx, [ebp + 0x50]
call fcn.0045066c
mov eax, dword [ebp + 0x50]
cmp word [eax], bx
je 0x4a2bc5
push 0x3c
lea ecx, [ebp]
call fcn.004465ac
mov eax, dword [ebp - 0x1c]
or esi, 0xffffffff
mov dword [ebp - 0x9c], esi
mov dword [ebp - 0x98], esi
mov dword [ebp - 0x94], esi
mov dword [ebp - 0x90], esi
mov dword [ebp - 0xc8], esi
mov dword [ebp - 0xc4], esi
mov dword [ebp + 0x40], eax
cmp word [eax], bx
mov edi, esi
je 0x4a2bbd
lea eax, [ebp + 0x40]
push eax
call fcn.0043fe57
mov eax, dword [ebp + 0x40]
mov ax, word [eax]
or ax, 0x20
cmp ax, 0x70
pop ecx
jne 0x4a26a9
lea eax, [ebp - 0x9c]
jmp 0x4a26c3
cmp ax, 0x6c
jne 0x4a26b7
lea eax, [ebp - 0x94]
jmp 0x4a26c3
cmp ax, 0x68
jne 0x4a26db
lea eax, [ebp - 0xc8]
add dword [ebp + 0x40], 2
push eax
lea eax, [ebp + 0x40]
push eax
call fcn.00453dde
mov eax, dword [ebp + 0x40]
cmp word [eax], bx
pop ecx
pop ecx
jne 0x4a2687
cmp dword [ebp - 0x98], ebx
jl 0x4a271d
jg 0x4a26ed
cmp dword [ebp - 0x9c], ebx
jbe 0x4a271d
push 1
call fcn.0041578f
pop ecx
push dword [ebp - 0x98]
push dword [ebp - 0x9c]
push edx
push eax
call fcn.004b4630
push ebx
push 0x64
push edx
push eax
call fcn.004b4580
mov cl, 0x14
call fcn.004b4870
mov edi, eax
mov esi, edx
cmp esi, dword [ebp - 0x90]
jg 0x4a273b
jl 0x4a272f
cmp edi, dword [ebp - 0x94]
jae 0x4a273b
mov edi, dword [ebp - 0x94]
mov esi, dword [ebp - 0x90]
mov ecx, dword [ebp - 0xc4]
cmp ecx, ebx
jl 0x4a276d
mov eax, dword [ebp - 0xc8]
jg 0x4a2751
cmp eax, ebx
jbe 0x4a276d
cmp esi, ecx
jl 0x4a275f
jg 0x4a275b
cmp edi, eax
jbe 0x4a275f
mov edi, eax
mov esi, ecx
cmp esi, ebx
jg 0x4a277f
jl 0x4a2769
cmp edi, ebx
ja 0x4a276d
mov edi, eax
mov esi, ecx
cmp esi, ebx
jl 0x4a2bbd
jg 0x4a277f
cmp edi, ebx
jb 0x4a2bbd
mov eax, dword [ebp + 0x50]
cmp word [eax], bx
je 0x4a2bbd
cmp esi, ebx
jg 0x4a279a
jl 0x4a2795
cmp edi, ebx
ja 0x4a279a
xor edi, edi
inc edi
xor esi, esi
push esi
push edi
push dword [ebp]
call fcn.004a12b7
add esp, 0xc
push 0x4d3bec
lea ecx, [ebp]
call fcn.004465fa
cmp byte [ebp + 0x66], bl
mov eax, str.imdisk___e
jne 0x4a27c3
mov eax, str.imdisk___a
push eax
lea ecx, [ebp + 0x5c]
call fcn.0045066c
mov eax, dword [ebp - 0xd4]
and eax, 1
xor ecx, ecx
or eax, ecx
je 0x4a27e8
push str.__o_awe
lea ecx, [ebp + 0x5c]
call fcn.004465fa
mov eax, dword [ebp]
cmp word [eax], bx
je 0x4a2808
push 0x4d3b9c
lea ecx, [ebp + 0x5c]
call fcn.004465fa
push dword [ebp]
lea ecx, [ebp + 0x5c]
call fcn.004465fa
mov eax, dword [ebp + 0x50]
cmp word [eax], bx
je 0x4a2828
push 0x4d3b90
lea ecx, [ebp + 0x5c]
call fcn.004465fa
push dword [ebp + 0x50]
lea ecx, [ebp + 0x5c]
call fcn.004465fa
mov eax, dword [ebp + 4]
cmp word [eax], bx
jne 0x4a283c
mov eax, dword [ebp - 0xc]
cmp word [eax], bx
je 0x4a28c7
push str.___p__
lea ecx, [ebp + 0x5c]
call fcn.004465fa
mov eax, dword [ebp + 4]
cmp word [eax], bx
je 0x4a2869
push str.__FS:
lea ecx, [ebp + 0x5c]
call fcn.004465fa
push dword [ebp + 4]
lea ecx, [ebp + 0x5c]
call fcn.004465fa
mov eax, dword [ebp - 0xc]
cmp word [eax], bx
je 0x4a2889
push str.__V:
lea ecx, [ebp + 0x5c]
call fcn.004465fa
push dword [ebp - 0xc]
lea ecx, [ebp + 0x5c]
call fcn.004465fa
push dword [ebp + 4]
push 0x4cfd8c
call fcn.004412b6
test al, al
pop ecx
pop ecx
je 0x4a28ba
mov eax, dword [ebp - 0x3c]
mov ax, word [eax]
cmp ax, bx
je 0x4a28ba
cmp ax, 0x30
je 0x4a28ba
push 0x4cfd84
lea ecx, [ebp + 0x5c]
call fcn.004465fa
push str.___Q__Y__X__
lea ecx, [ebp + 0x5c]
call fcn.004465fa
mov eax, dword [ebp + 0x5c]
lea ecx, [ebp]
mov dword [ebp + 0x60], eax
call fcn.0043fe25
mov esi, 0x4e3d84
lea eax, [ebp + 0x48]
push eax
call fcn.0043fe57
push 4
push dword [ebp + 0x48]
push str._gui
call fcn.00441220
add esp, 0x10
test al, al
jne 0x4a2bcc
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov edi, eax
mov eax, dword [ebp + 0x60]
mov dword [ebp + 0x44], eax
lea eax, [ebp + 0x44]
push eax
sub edi, 0xc8
call fcn.00405c44
pop ecx
push dword [ebp + 0x44]
lea ecx, [ebp - 0x54]
call fcn.004506c8
mov eax, dword [ebp - 0x54]
mov dword [ebp + 0x44], eax
mov dword [ebp + 0x54], eax
jmp 0x4a2983
push 6
lea eax, [ebp + 0x54]
push eax
push str.__nbrd
call fcn.0044863c
add esp, 0xc
test al, al
jne 0x4a2980
push 6
lea eax, [ebp + 0x54]
push eax
push 0x4c79f4
call fcn.0044863c
add esp, 0xc
test al, al
jne 0x4a2980
push 2
lea eax, [ebp + 0x54]
push eax
push 0x4cbc74
call fcn.0044863c
add esp, 0xc
test al, al
jne 0x4a2980
lea eax, [ebp + 0x54]
push eax
call fcn.00408f31
pop ecx
mov eax, dword [ebp + 0x54]
cmp word [eax], bx
jne 0x4a2931
cmp dword [ebp - 0x18], ebx
jne 0x4a2a95
cmp dword [ebp + 0x24], ebx
jg 0x4a2a95
push ebx
push dword [ebp + 0x60]
lea ecx, [ebp - 0x19c]
call fcn.00453603
cmp dword [ebp - 0x164], 1
jle 0x4a2be3
mov eax, dword [ebp - 0x160]
mov dword [eax], str.imdisk
lea eax, [ebp - 0x24]
push eax
push dword [ebp - 0x160]
push dword [ebp - 0x164]
call fcn.00427093
add esp, 0xc
cmp byte [ebp + 0x37], bl
mov dword [ebp + 0x1c], eax
mov dword [ebp - 0x88], ebx
jle 0x4a2aeb
cmp eax, 3
jne 0x4a2aeb
cmp dword [ebp - 0x8c], ebx
jne 0x4a2aeb
lea ecx, [ebp - 0x14]
mov byte [ebp + 0x5b], 1
call fcn.0043fe25
lea ecx, [ebp - 0x54]
call fcn.0043fe25
lea ecx, [ebp + 0x28]
call fcn.0043fe25
lea ecx, [ebp - 0x28]
call fcn.0043fe25
lea ecx, [ebp + 0x3c]
call fcn.0043fe25
lea ecx, [ebp - 0x3c]
call fcn.0043fe25
lea ecx, [ebp - 0xc]
call fcn.0043fe25
lea ecx, [ebp + 0x50]
call fcn.0043fe25
lea ecx, [ebp + 4]
call fcn.0043fe25
lea ecx, [ebp - 0x1c]
call fcn.0043fe25
lea ecx, [ebp + 0x14]
call fcn.0043fe25
lea ecx, [ebp + 0x5c]
call fcn.0043fe25
lea ecx, [ebp - 0xa8]
call fcn.0043fe25
lea ecx, [ebp + 0x18]
call fcn.0043fe25
lea ecx, [ebp - 0x24]
call fcn.0043fe25
lea ecx, [ebp + 0x78]
call fcn.0049edcb
lea ecx, [ebp - 0x70]
call fcn.0043fe25
jmp 0x4a15d7
cmp dword [ebp - 0x8c], ebx
jne 0x4a2aeb
push dword [ebp + 0x14]
lea ecx, [ebp - 0x50]
call fcn.004505eb
push dword [ebp + 0x44]
lea ecx, [ebp - 0x50]
call fcn.004465fa
mov eax, dword [ebp + 0x18]
cmp word [eax], bx
mov ecx, dword [ebp + 0x7c]
mov dword [ebp - 0x88], 1
je 0x4a2ad8
push ebx
push ebx
push ebx
push ebx
push dword [ebp - 0x50]
push ecx
push ebx
call fcn.0040a949
jmp 0x4a2ae0
push dword [ebp - 0x50]
call fcn.00402f3f
lea ecx, [ebp - 0x50]
mov dword [ebp + 0x1c], eax
call fcn.0043fe25
mov ecx, dword [ebp - 0xe0]
xor eax, eax
or ecx, eax
je 0x4a2bea
cmp dword [ebp + 0x1c], 3
jne 0x4a2bea
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, edi
cmp eax, 0x1388
jae 0x4a2bea
mov ecx, dword [ebp + 0x7c]
push ebx
push ebx
push 0xc8
call fcn.0041195d
mov esi, 0x4e3d84
jmp 0x4a2988
mov edi, dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [0x4e3de0], ebx
jle 0x4a2b57
push esi
call edi
mov ecx, dword [ebp + 0x7c]
push ebx
push ebx
push 1
call fcn.0041195d
jmp 0x4a2b37
push 0xffffffffffffffff
lea ecx, [ebp + 0xf]
call fcn.00413ad5
push esi
call edi
jmp 0x4a2cbe
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, ebx
jne 0x4a2b76
xor eax, eax
inc eax
mov dword [ebp + 0x1c], eax
jmp 0x4a2bb3
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea ecx, [ebp - 0x40]
call fcn.0043fe25
lea ecx, [ebp - 0x30]
call fcn.0043fe25
lea ecx, [ebp - 0x2c]
call fcn.0043fe25
mov ebx, 0xb7
jmp 0x4a2c3b
lea ecx, [ebp - 0x30]
mov dword [ebp + 0x1c], 1
call fcn.0043fe25
lea ecx, [ebp - 0x2c]
call fcn.0043fe25
jmp 0x4a2bea
lea ecx, [ebp]
call fcn.0043fe25
mov ebx, 0x80070057
jmp 0x4a2c3b
mov ecx, dword [ebp + 0x7c]
push 0xffffffffffffff9c
push 0x4c6a64
push ebx
push str.imdisk.cpl_
call fcn.0045d556
jmp 0x4a2c3b
mov dword [ebp + 0x1c], 0x80070057
mov eax, dword [ebp - 0x15c]
cmp eax, ebx
je 0x4a2c05
lea ecx, [ebp + 0x78]
mov dword [ebp + 0x78], eax
mov dword [ebp - 0x15c], ebx
call fcn.0043fe25
mov edx, dword [ebp + 0x18]
cmp word [edx], bx
je 0x4a2c38
cmp dword [ebp - 0x88], ebx
jne 0x4a2c38
mov ecx, dword [ebp - 0x24]
mov word [ebp - 0x218], bx
cmp word [ecx], 0x2a
lea eax, [ebp - 0x218]
jne 0x4a2c2e
lea eax, [ecx + 2]
mov ecx, dword [ebp + 0x7c]
push eax
push edx
call fcn.00445c44
mov ebx, dword [ebp + 0x1c]
lea ecx, [ebp - 0x14]
call fcn.0043fe25
lea ecx, [ebp - 0x54]
call fcn.0043fe25
lea ecx, [ebp + 0x28]
call fcn.0043fe25
lea ecx, [ebp - 0x28]
call fcn.0043fe25
lea ecx, [ebp + 0x3c]
call fcn.0043fe25
lea ecx, [ebp - 0x3c]
call fcn.0043fe25
lea ecx, [ebp - 0xc]
call fcn.0043fe25
lea ecx, [ebp + 0x50]
call fcn.0043fe25
lea ecx, [ebp + 4]
call fcn.0043fe25
lea ecx, [ebp - 0x1c]
call fcn.0043fe25
lea ecx, [ebp + 0x14]
call fcn.0043fe25
lea ecx, [ebp + 0x5c]
call fcn.0043fe25
lea ecx, [ebp - 0xa8]
call fcn.0043fe25
lea ecx, [ebp + 0x18]
call fcn.0043fe25
lea ecx, [ebp - 0x24]
call fcn.0043fe25
lea ecx, [ebp + 0x78]
call fcn.0049edcb
lea ecx, [ebp - 0x70]
call fcn.0043fe25
pop edi
pop esi
mov eax, ebx
pop ebx
add ebp, 0x70
leave
ret