Function at 0x487bee
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, 0x4c1b94
push dword [ebp + 0x78]
lea ecx, [ebp - 0x70]
mov byte [ebp + 0x37], bl
call fcn.00446497
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.00405172
mov eax, dword [ebp + 0x48]
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x20]
push eax
call fcn.00437e65
mov eax, dword [ebp + 0x68]
cmp word [eax], 0x2a
pop ecx
pop ecx
lea ecx, [ebp + 0xf]
sete byte [ebp + 0x67]
call fcn.00411af2
push 6
push dword [ebp - 0x20]
push str.__free
call fcn.00439124
add esp, 0xc
test al, al
jne 0x489166
lea ecx, [ebp + 0x78]
call fcn.00486009
push ebx
lea ecx, [ebp + 0xf]
call fcn.00411af5
lea ecx, [ebp + 0xf]
call fcn.00411ae6
neg eax
sbb eax, eax
inc eax
cmp dword [0x4bf80c], ebx
mov dword [ebp - 0x18], eax
mov dword [ebp + 0x24], ebx
mov dword [ebp - 0x88], ebx
mov dword [ebp - 0x8c], ebx
jge 0x487d4e
mov eax, dword [0x4c0f80]
cmp eax, ebx
mov dword [0x4bf80c], ebx
mov dword [ebp + 0x54], ebx
mov dword [ebp + 0x44], ebx
je 0x487d2a
lea ecx, [ebp + 0x44]
push ecx
lea ecx, [ebp + 0x54]
push ecx
call eax
cmp dword [ebp + 0x44], ebx
jbe 0x487d2a
mov eax, dword [ebp + 0x54]
cmp eax, 0x202
jb 0x487cf6
mov dword [0x4bf80c], 0x38
jmp 0x487d2a
cmp eax, 0x184
jb 0x487d09
mov dword [0x4bf80c], 8
jmp 0x487d2a
cmp eax, 0x160
jb 0x487d1c
mov dword [0x4bf80c], 2
jmp 0x487d2a
cmp eax, ebx
jbe 0x487d2a
mov dword [0x4bf80c], 1
push dword [0x4c0f80]
push dword [0x4bf80c]
push dword [ebp + 0x44]
push dword [ebp + 0x54]
push str.DBG:_IMD:_0x_X_0x_X_0x_X__0x_p_r_n
push 0x4c0fb8
call fcn.0040f70e
add esp, 0x18
push 3
push dword [ebp - 0x20]
push 0x4aea78
call fcn.00439124
add esp, 0xc
test al, al
je 0x487d6b
mov dword [ebp + 0x24], 0xfff00000
push 5
lea eax, [ebp - 0x20]
push eax
push str.__ins
mov byte [ebp + 0x6f], bl
call fcn.0043fbfd
add esp, 0xc
test al, al
je 0x487d8b
mov byte [ebp + 0x6f], 5
jmp 0x487da6
push 6
lea eax, [ebp - 0x20]
push eax
push str.__fins
call fcn.0043fbfd
add esp, 0xc
test al, al
je 0x487da6
mov byte [ebp + 0x6f], 6
push 0x3e8
lea ecx, [ebp - 0x24]
call fcn.0043dd9c
lea ecx, [ebp + 0x18]
call fcn.0043dd7e
lea ecx, [ebp - 0xa8]
call fcn.0043dd7e
lea ecx, [ebp + 0x5c]
call fcn.0043dd7e
lea ecx, [ebp - 0x1c]
mov dword [ebp + 0x14], ebx
call fcn.0043dd7e
lea ecx, [ebp + 4]
call fcn.0043dd7e
lea ecx, [ebp + 0x50]
call fcn.0043dd7e
lea ecx, [ebp - 0xc]
call fcn.0043dd7e
lea ecx, [ebp - 0x3c]
call fcn.0043dd7e
lea ecx, [ebp + 0x3c]
call fcn.0043dd7e
lea ecx, [ebp - 0x28]
call fcn.0043dd7e
lea ecx, [ebp + 0x28]
call fcn.0043dd7e
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, 0x4a69d4
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.0043dd9c
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 0x487f99
add dword [ebp + 0x68], 2
mov word [eax], bx
mov eax, dword [ebp + 0x68]
mov edx, eax
jmp 0x487e8e
cmp cx, 0x2a
je 0x487e96
inc eax
inc eax
mov dword [ebp + 0x68], eax
mov cx, word [eax]
cmp cx, bx
jne 0x487e83
sub eax, edx
sar eax, 1
push eax
push edx
lea ecx, [ebp + 0x18]
call fcn.0043dea2
mov eax, dword [ebp + 0x18]
cmp word [eax], bx
je 0x487eb9
push 0x3e8
lea ecx, [ebp - 0x24]
call fcn.0043ddc3
cmp word [ebp - 0x7c], bx
mov eax, dword [ebp + 0x48]
mov dword [ebp + 0x30], eax
je 0x487ecb
add eax, 2
mov dword [ebp + 0x30], eax
lea eax, [ebp + 0x30]
push eax
call fcn.00437e65
pop ecx
mov edi, 0x4a69d4
push 4
lea eax, [ebp + 0x30]
push eax
push str._mem
call fcn.0043fc72
add esp, 0xc
test al, al
jne 0x487f08
push 2
lea eax, [ebp + 0x30]
push eax
push 0x4a9bac
call fcn.0043fc72
add esp, 0xc
test al, al
je 0x487f0d
mov dword [ebp + 0x44], edi
jmp 0x487eda
push 3
lea eax, [ebp + 0x30]
push eax
push 0x4aef74
call fcn.0043fc72
add esp, 0xc
test al, al
je 0x487f2d
mov dword [ebp + 0x44], 0x4b25e4
jmp 0x487eda
push 4
lea eax, [ebp + 0x30]
push eax
push str._map
call fcn.0043fc72
add esp, 0xc
test al, al
je 0x487f50
mov dword [ebp - 0xe0], 1
jmp 0x487eda
push 4
lea eax, [ebp + 0x30]
push eax
push str._exe
call fcn.0043fc72
add esp, 0xc
test al, al
je 0x487f73
mov dword [ebp + 0x24], 1
jmp 0x487eda
push 5
lea eax, [ebp + 0x30]
push eax
push str._nexe
call fcn.0043fc72
add esp, 0xc
test al, al
je 0x487f96
mov dword [ebp + 0x24], 0xfff00000
jmp 0x487eda
mov edi, dword [ebp + 0x30]
mov ecx, dword [ebp + 0x7c]
push 0x4b25bc
push 0x4b1c10
call fcn.0043d658
mov eax, dword [ebp + 0x18]
cmp word [eax], bx
push 0xffffffffffffffff
lea ecx, [ebp + 0x14]
push 0xffffffffffffffff
je 0x487fde
push 0x4b25b8
call fcn.0043de39
push dword [ebp + 0x18]
lea ecx, [ebp + 0x14]
call fcn.0043ddea
push str.Imdisk
lea ecx, [ebp + 0x14]
call fcn.0043ddea
jmp 0x487fe8
push str._Imdisk
call fcn.0043de39
push 9
push edi
push str.__version
call fcn.00439124
push 2
push edi
push 0x4b2588
mov byte [ebp + 0x66], al
call fcn.00439124
push 2
push edi
push 0x4b2584
mov byte [ebp + 0xe], al
call fcn.00439124
push 3
push edi
push 0x4aea78
mov byte [ebp + 0x13], al
call fcn.00439124
add esp, 0x30
cmp byte [ebp + 0x66], bl
jne 0x48803f
cmp byte [ebp + 0xe], bl
jne 0x48803f
cmp byte [ebp + 0x13], bl
jne 0x48803f
cmp al, bl
jne 0x48803f
mov cl, 1
jmp 0x488041
xor cl, cl
cmp dword [ebp - 0x18], ebx
jne 0x488058
mov eax, dword [0x4bf80c]
cmp eax, ebx
jle 0x488058
push 2
pop edi
cmp eax, edi
jge 0x488064
jmp 0x48805b
push 2
pop edi
cmp cl, bl
jne 0x48806e
cmp byte [ebp + 0x6f], bl
jne 0x48806e
cmp byte [ebp + 0x6f], 6
jl 0x4881f3
cmp dword [ebp - 0x18], ebx
mov dword [ebp - 0x10], 0x4b257c
jne 0x4880c4
lea ecx, [ebp - 0x74]
call fcn.0043dd7e
mov eax, 0x4b2574
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.0042716b
mov eax, dword [ebp - 0x74]
add esp, 0xc
cmp word [eax], bx
je 0x4880bc
cmp word [eax + 2], bx
je 0x4880bc
mov dword [ebp - 0x10], 0x4b256c
lea ecx, [ebp - 0x74]
call fcn.00437e1a
push esi
call dword [sym.imp.KERNEL32.DLL_EnterCriticalSection]
mov edi, dword [sym.imp.KERNEL32.DLL_LeaveCriticalSection]
sub dword [0x4c1bf4], 1
push esi
call edi
push esi
call dword [sym.imp.KERNEL32.DLL_EnterCriticalSection]
cmp dword [0x4c1bf4], ebx
jle 0x4880fb
push esi
call edi
mov ecx, dword [ebp + 0x7c]
push ebx
push ebx
push 1
call fcn.00413b53
jmp 0x4880db
push 0xffffffffffffffff
lea ecx, [ebp + 0xf]
call fcn.00411af5
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.00411af5
push str.28:INDATA
lea ecx, [ebp + 8]
call fcn.00446497
cmp dword [ebp - 0x18], ebx
mov eax, 0x4b256c
jne 0x48814d
mov eax, 0x4b257c
push eax
lea ecx, [ebp + 8]
call fcn.0043ddea
push dword [ebp - 0x10]
lea ecx, [ebp + 8]
call fcn.0043ddea
lea eax, [ebp - 0xc0]
push eax
lea ecx, [ebp + 8]
call fcn.0043ddea
push dword [ebp + 0x48]
lea ecx, [ebp + 8]
call fcn.0043ddea
push dword [ebp + 8]
push str.Install_IMD__s__r_n
push 0x4c0fb8
call fcn.0040f70e
mov ecx, dword [ebp + 0x7c]
add esp, 0xc
push dword [ebp + 8]
call fcn.0042f370
push esi
call dword [sym.imp.KERNEL32.DLL_EnterCriticalSection]
add dword [0x4c1bf4], 1
push esi
mov dword [0x4bf80c], 0xffffffc0
call edi
push ebx
lea ecx, [ebp + 0xf]
call fcn.00411af5
lea ecx, [ebp + 0xf]
call fcn.00411ae6
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 0x4881e5
mov dword [0x4bf80c], 0x38
push esi
call edi
lea ecx, [ebp + 8]
call fcn.00437e1a
push 2
pop edi
cmp byte [ebp + 0x67], bl
je 0x488a94
mov eax, dword [ebp + 0x30]
mov dword [ebp - 0x4c], eax
jmp 0x488227
push edi
lea eax, [ebp - 0x4c]
push eax
push 0x4a9bac
call fcn.0043fbfd
add esp, 0xc
test al, al
jne 0x48822e
lea eax, [ebp - 0x4c]
push eax
call fcn.00405196
mov eax, dword [ebp - 0x4c]
pop ecx
cmp word [eax], bx
jne 0x488204
jmp 0x488234
mov eax, dword [ebp - 0x4c]
mov dword [ebp + 0x54], eax
mov eax, dword [ebp + 0x68]
cmp word [eax], 0x2a
jne 0x488a82
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 0x488263
add dword [ebp + 0x68], edi
mov byte [ebp + 0x67], 1
lea eax, [ebp - 0x64]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.004428d3
mov eax, dword [ebp + 0x68]
cmp word [eax], bx
pop ecx
pop ecx
je 0x48827d
add dword [ebp + 0x68], edi
lea eax, [ebp - 0x6c]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.004428d3
mov eax, dword [ebp + 0x68]
cmp word [eax], bx
pop ecx
pop ecx
je 0x488297
add dword [ebp + 0x68], edi
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.004428d3
mov edi, dword [ebp + 0x68]
cmp word [edi], bx
pop ecx
pop ecx
je 0x4882b3
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.004128fe
mov eax, dword [ebp + 0x68]
pop ecx
sub eax, edi
sar eax, 1
push eax
push edi
lea ecx, [ebp + 0x28]
call fcn.0043dea2
mov eax, dword [ebp + 0x68]
cmp word [eax], bx
je 0x4882e3
add dword [ebp + 0x68], 2
mov edi, dword [ebp + 0x68]
push 0x2a
lea eax, [ebp + 0x68]
call fcn.004128fe
mov eax, dword [ebp + 0x68]
pop ecx
sub eax, edi
sar eax, 1
push eax
push edi
lea ecx, [ebp + 0x3c]
call fcn.0043dea2
mov eax, dword [ebp + 0x68]
cmp word [eax], bx
je 0x48830e
add dword [ebp + 0x68], 2
lea eax, [ebp - 0x5c]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.004428d3
mov edi, dword [ebp + 0x68]
cmp word [edi], bx
pop ecx
pop ecx
je 0x48832a
inc edi
inc edi
mov dword [ebp + 0x68], edi
push 0x2a
lea eax, [ebp + 0x68]
call fcn.004128fe
mov eax, dword [ebp + 0x68]
pop ecx
sub eax, edi
sar eax, 1
push eax
push edi
lea ecx, [ebp - 0x28]
call fcn.0043dea2
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.004428d3
mov eax, dword [ebp + 0x68]
cmp word [eax], bx
pop ecx
pop ecx
je 0x488361
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 0x4883a6
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 0x4883c8
jg 0x4883b2
cmp dword [ebp - 0x5c], ebx
jbe 0x4883c8
cmp dword [ebp - 0x34], ebx
jg 0x4883c8
jl 0x4883be
cmp dword [ebp - 0x38], ebx
ja 0x4883c8
mov dword [ebp - 0x38], 1
mov dword [ebp - 0x34], ebx
push 0x318
lea ecx, [ebp - 0x2c]
call fcn.0043dd9c
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.00492e60
push edx
push eax
push dword [ebp - 8]
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], edx
call fcn.004878e2
add esp, 0xc
push ebx
push 0x200
push dword [ebp - 0x68]
push dword [ebp - 0x6c]
call fcn.00492e60
push edx
push eax
push esi
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x68], edx
call fcn.004878e2
add esp, 0xc
mov word [edi], bx
cmp dword [ebp - 0x58], ebx
jl 0x488460
jg 0x488451
cmp dword [ebp - 0x5c], ebx
jbe 0x488460
push dword [ebp - 0x58]
push dword [ebp - 0x5c]
push edi
call fcn.004878e2
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.00437e65
push 4
push dword [ebp + 0x38]
mov dword [ebp - 0x78], ebx
push str.__w:
call fcn.0043917b
add esp, 0x10
test al, al
je 0x4884a7
add dword [ebp + 0x38], 8
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp + 0x38]
push eax
call fcn.0044957c
pop ecx
pop ecx
push 0xffffffffffffffff
lea eax, [ebp + 0x38]
push eax
push 0x4b2524
call fcn.0043fbfd
add esp, 0xc
cmp dword [0x4bf80c], 1
jl 0x4884cf
cmp dword [ebp + 0x24], ebx
jne 0x4884cf
mov dword [ebp + 0x24], 0xfff00000
mov eax, dword [ebp + 0x38]
mov edi, 0x4a69d4
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 0x48855a
push 2
lea eax, [ebp + 0x4c]
push eax
push 0x4af2e4
call fcn.0043fbfd
add esp, 0xc
test al, al
je 0x48850b
mov dword [ebp + 0x2c], 1
jmp 0x488557
cmp dword [ebp + 0x2c], ebx
je 0x48854a
push 2
lea eax, [ebp + 0x4c]
push eax
push 0x4b2520
call fcn.0043fbfd
add esp, 0xc
test al, al
je 0x48852d
mov byte [ebp + 0x66], 1
jmp 0x488557
push 3
lea eax, [ebp + 0x4c]
push eax
push 0x4b251c
call fcn.0043fbfd
add esp, 0xc
test al, al
je 0x48854a
mov byte [ebp + 0x67], 1
jmp 0x488557
lea eax, [ebp + 0x4c]
push eax
call fcn.00405196
pop ecx
mov dword [ebp + 0x2c], ebx
mov eax, dword [ebp + 0x4c]
cmp word [eax], bx
jne 0x4884eb
mov eax, dword [0x4bf80c]
test al, 0x10
je 0x488574
cmp byte [ebp + 0x67], bl
jne 0x488574
mov dword [ebp - 0x10], str._o_par
mov dword [ebp + 0x4c], eax
and dword [ebp + 0x4c], 0x20
je 0x488584
mov dword [ebp - 0x80], str._o_shared
cmp dword [ebp + 0x4c], ebx
je 0x48858c
mov byte [ebp + 0x5b], bl
mov ecx, dword [ebp - 0x48]
mov eax, ecx
and eax, 0x200
or eax, ebx
jne 0x4885b6
cmp dword [ebp + 0x4c], ebx
jne 0x4885b6
cmp byte [ebp + 0x6f], bl
je 0x4885b9
and ecx, 0x100
mov eax, ecx
or eax, ebx
je 0x4885b9
mov byte [ebp + 0x5b], 1
jmp 0x4885b9
mov byte [ebp + 0x5b], bl
cmp dword [0x4bf80c], 8
jl 0x4886ca
cmp byte [ebp + 0x6f], bl
je 0x4885d4
cmp byte [ebp + 0x5b], bl
jne 0x4886ca
cmp byte [ebp + 0x6f], bl
mov dword [ebp + 0x2c], edi
jne 0x4885ea
cmp byte [ebp + 0x66], bl
jne 0x4885f3
mov dword [ebp + 0x2c], str._o_ro
jmp 0x4885f3
cmp dword [ebp + 0x4c], ebx
jne 0x4885f3
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.0043ddc3
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 0x4886b6
push 2
lea eax, [ebp + 0x20]
push eax
push 0x4b2490
call fcn.004390d7
add esp, 0xc
test al, al
jne 0x48867c
push 2
lea eax, [ebp + 0x20]
push eax
push 0x4b2488
call fcn.004390d7
add esp, 0xc
test al, al
jne 0x48867c
lea eax, [ebp + 0x20]
push eax
call fcn.00405196
jmp 0x4886aa
mov ecx, dword [ebp + 0x20]
xor eax, eax
jmp 0x488699
call fcn.00437e2d
test al, al
jne 0x4886a1
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 0x488683
lea eax, [ebp + 0x20]
push eax
call fcn.00437e65
mov eax, dword [ebp + 0x20]
cmp word [eax], bx
pop ecx
jne 0x488643
mov eax, dword [ebp + 0x38]
push eax
lea ecx, [ebp + 0x5c]
call fcn.0043ddea
mov eax, dword [ebp + 0x5c]
mov dword [ebp + 0x60], eax
jmp 0x488a62
cmp byte [ebp + 0x6f], bl
je 0x4886fd
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 0x48919e
push eax
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
mov dword [ebp + 0x4c], edi
jmp 0x488704
mov dword [ebp + 0x4c], 0x4b2480
cmp dword [ebp - 0x34], ebx
jl 0x488722
jg 0x488710
cmp dword [ebp - 0x38], ebx
jbe 0x488722
push dword [ebp - 0x34]
lea eax, [esi + 0x6a]
push dword [ebp - 0x38]
push eax
call fcn.004878e2
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 0x488739
mov esi, dword [ebp + 0x28]
jmp 0x48873b
inc esi
inc esi
mov eax, dword [ebp + 0x3c]
cmp word [eax], bx
jne 0x488772
push 0x800
lea ecx, [ebp + 0x3c]
call fcn.0043ddc3
mov edi, dword [ebp + 0x3c]
call fcn.0043a2d5
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 0x488792
mov esi, eax
mov eax, dword [ebp + 0x3c]
mov word [eax + 0x800], bx
push str.Global_
lea ecx, [ebp - 0x14]
call fcn.0044655b
push dword [ebp + 0x3c]
lea ecx, [ebp - 0x14]
call fcn.0043ddea
push str._devio_Ack
lea ecx, [ebp - 0x14]
call fcn.0043ddea
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 0x4887e5
cmp byte [ebp + 0x6f], bl
je 0x48889d
mov eax, dword [ebp - 0x48]
and eax, 0x40
or eax, ebx
jne 0x48889d
mov edi, dword [ebp - 4]
push 0x10
push str.__kill:
push edi
call fcn.004128b6
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 0x488851
add dword [ebp + 0x54], 2
jmp 0x488847
cmp ax, 0x22
je 0x48885e
inc edi
inc edi
mov ax, word [edi]
cmp ax, bx
jne 0x48883f
jmp 0x48885e
lea eax, [ebp + 0x2c]
push eax
call fcn.00405172
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 0x48887c
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.00493150
and eax, 3
je 0x4888c5
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.00492e60
push edx
push eax
push dword [ebp - 8]
call fcn.004878e2
add esp, 0xc
push ebx
push edi
push dword [ebp - 0xb4]
push dword [ebp - 0xb8]
call fcn.00492e60
mov edi, dword [ebp - 0xa0]
push edx
push eax
push edi
call fcn.004878e2
mov ecx, dword [ebp + 0x7c]
add esp, 0xc
push 0x4aa5a0
push str.__ImdMapPid
call fcn.0043d658
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.0043dd9c
push str.Global_
lea ecx, [ebp - 0x40]
call fcn.00446497
push dword [ebp + 0x3c]
lea ecx, [ebp - 0x40]
call fcn.0043ddea
push dword [ebp - 0x40]
push ebx
push 2
call dword [sym.imp.KERNEL32.DLL_OpenFileMappingW]
cmp eax, ebx
jne 0x4891b0
lea ecx, [ebp - 0x40]
call fcn.00437e1a
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.0043ddc3
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 0x4a69d4
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.0043ddea
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.0042d06c
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 0x4891d9
push 0x32
pop esi
push ebx
call dword [sym.imp.KERNEL32.DLL_Sleep]
dec esi
jne 0x488a3e
cmp dword [ebp - 0x78], ebx
jle 0x488a5a
mov ecx, dword [ebp + 0x7c]
push ebx
push ebx
push dword [ebp - 0x78]
call fcn.00413b53
lea ecx, [ebp - 0x30]
call fcn.00437e1a
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.00437e1a
mov esi, 0x4c1b94
mov ax, word [ebp - 0x7c]
mov ecx, dword [ebp - 0xd8]
mov word [ecx], ax
jmp 0x488f0f
push 4
lea eax, [ebp + 0x48]
push eax
push str._exe
call fcn.0043fbfd
add esp, 0xc
test al, al
je 0x488ab2
mov dword [ebp + 0x24], 1
push 5
lea eax, [ebp + 0x48]
push eax
push str._nexe
call fcn.0043fbfd
add esp, 0xc
test al, al
je 0x488ad0
mov dword [ebp + 0x24], 0xfff00000
push 6
lea eax, [ebp + 0x48]
push eax
push str._nexe1
call fcn.0043fbfd
add esp, 0xc
test al, al
je 0x488af8
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.004408ab
mov eax, dword [ebp - 0x1c]
mov word [eax], bx
mov eax, dword [ebp + 0x60]
add esp, 0xc
cmp word [eax], bx
je 0x488bc5
add dword [ebp + 0x60], edi
push esi
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp + 0x60]
push eax
call fcn.004408ab
mov eax, dword [ebp + 0x60]
add esp, 0xc
cmp word [eax], bx
je 0x488bc5
add dword [ebp + 0x60], edi
push esi
lea eax, [ebp + 4]
push eax
lea eax, [ebp + 0x60]
push eax
call fcn.004408ab
mov eax, dword [ebp + 0x60]
add esp, 0xc
cmp word [eax], bx
je 0x488bc5
add dword [ebp + 0x60], edi
push esi
lea eax, [ebp + 0x50]
push eax
lea eax, [ebp + 0x60]
push eax
call fcn.004408ab
mov eax, dword [ebp + 0x60]
add esp, 0xc
cmp word [eax], bx
je 0x488bc5
add dword [ebp + 0x60], edi
push esi
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp + 0x60]
push eax
call fcn.004408ab
mov eax, dword [ebp + 0x60]
add esp, 0xc
cmp word [eax], bx
je 0x488bc5
add dword [ebp + 0x60], edi
push esi
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp + 0x60]
push eax
call fcn.004408ab
mov eax, dword [ebp + 0x60]
add esp, 0xc
cmp word [eax], bx
je 0x488bc5
add dword [ebp + 0x60], edi
push esi
lea eax, [ebp - 0xd4]
push eax
lea eax, [ebp + 0x60]
push eax
call fcn.00440a61
add esp, 0xc
push 6
lea ecx, [ebp + 0x50]
mov byte [ebp + 0x66], bl
call fcn.0043ddc3
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 0x488c61
push eax
call fcn.004925aa
test eax, eax
pop ecx
je 0x488c59
mov eax, dword [ebp + 0x50]
lea ecx, [ebp - 0xa4]
mov dword [ebp - 0xfc], str.imdisk
mov dword [ebp - 0xf8], 0x4b2574
mov dword [ebp - 0xf4], 0x4b2258
mov dword [ebp - 0xf0], eax
mov dword [ebp - 0xec], ebx
call fcn.0043dd7e
lea eax, [ebp - 0xa4]
push eax
lea eax, [ebp - 0xfc]
push eax
push 4
call fcn.0042716b
add esp, 0xc
neg eax
sbb al, al
inc al
lea ecx, [ebp - 0xa4]
mov byte [ebp + 0x66], al
call fcn.00437e1a
mov eax, dword [ebp + 0x50]
cmp word [eax], bx
jne 0x488c7a
push 0x4ab6bc
lea ecx, [ebp + 0x50]
call fcn.004464ff
mov eax, dword [ebp + 0x50]
cmp word [eax], bx
je 0x4891fa
push 0x3c
lea ecx, [ebp]
call fcn.0043dd9c
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 0x4891f2
lea eax, [ebp + 0x40]
push eax
call fcn.00437e65
mov eax, dword [ebp + 0x40]
mov ax, word [eax]
or ax, 0x20
cmp ax, 0x70
pop ecx
jne 0x488cde
lea eax, [ebp - 0x9c]
jmp 0x488cf8
cmp ax, 0x6c
jne 0x488cec
lea eax, [ebp - 0x94]
jmp 0x488cf8
cmp ax, 0x68
jne 0x488d10
lea eax, [ebp - 0xc8]
add dword [ebp + 0x40], 2
push eax
lea eax, [ebp + 0x40]
push eax
call fcn.004494d1
mov eax, dword [ebp + 0x40]
cmp word [eax], bx
pop ecx
pop ecx
jne 0x488cbc
cmp dword [ebp - 0x98], ebx
jl 0x488d52
jg 0x488d22
cmp dword [ebp - 0x9c], ebx
jbe 0x488d52
push 1
call fcn.0041329d
pop ecx
push dword [ebp - 0x98]
push dword [ebp - 0x9c]
push edx
push eax
call fcn.00492f10
push ebx
push 0x64
push edx
push eax
call fcn.00492e60
mov cl, 0x14
call fcn.00493150
mov edi, eax
mov esi, edx
cmp esi, dword [ebp - 0x90]
jg 0x488d70
jl 0x488d64
cmp edi, dword [ebp - 0x94]
jae 0x488d70
mov edi, dword [ebp - 0x94]
mov esi, dword [ebp - 0x90]
mov ecx, dword [ebp - 0xc4]
cmp ecx, ebx
jl 0x488da2
mov eax, dword [ebp - 0xc8]
jg 0x488d86
cmp eax, ebx
jbe 0x488da2
cmp esi, ecx
jl 0x488d94
jg 0x488d90
cmp edi, eax
jbe 0x488d94
mov edi, eax
mov esi, ecx
cmp esi, ebx
jg 0x488db4
jl 0x488d9e
cmp edi, ebx
ja 0x488da2
mov edi, eax
mov esi, ecx
cmp esi, ebx
jl 0x4891f2
jg 0x488db4
cmp edi, ebx
jb 0x4891f2
mov eax, dword [ebp + 0x50]
cmp word [eax], bx
je 0x4891f2
cmp esi, ebx
jg 0x488dcf
jl 0x488dca
cmp edi, ebx
ja 0x488dcf
xor edi, edi
inc edi
xor esi, esi
push esi
push edi
push dword [ebp]
call fcn.004878fc
add esp, 0xc
push 0x4b2250
lea ecx, [ebp]
call fcn.0043ddea
cmp byte [ebp + 0x66], bl
mov eax, str.imdisk___e
jne 0x488df8
mov eax, str.imdisk___a
push eax
lea ecx, [ebp + 0x5c]
call fcn.004464ff
mov eax, dword [ebp - 0xd4]
and eax, 1
xor ecx, ecx
or eax, ecx
je 0x488e1d
push str.__o_awe
lea ecx, [ebp + 0x5c]
call fcn.0043ddea
mov eax, dword [ebp]
cmp word [eax], bx
je 0x488e3d
push str.___s
lea ecx, [ebp + 0x5c]
call fcn.0043ddea
push dword [ebp]
lea ecx, [ebp + 0x5c]
call fcn.0043ddea
mov eax, dword [ebp + 0x50]
cmp word [eax], bx
je 0x488e5d
push str.___m
lea ecx, [ebp + 0x5c]
call fcn.0043ddea
push dword [ebp + 0x50]
lea ecx, [ebp + 0x5c]
call fcn.0043ddea
mov eax, dword [ebp + 4]
cmp word [eax], bx
jne 0x488e71
mov eax, dword [ebp - 0xc]
cmp word [eax], bx
je 0x488efc
push str.___p__
lea ecx, [ebp + 0x5c]
call fcn.0043ddea
mov eax, dword [ebp + 4]
cmp word [eax], bx
je 0x488e9e
push str.__FS:
lea ecx, [ebp + 0x5c]
call fcn.0043ddea
push dword [ebp + 4]
lea ecx, [ebp + 0x5c]
call fcn.0043ddea
mov eax, dword [ebp - 0xc]
cmp word [eax], bx
je 0x488ebe
push str.__V:
lea ecx, [ebp + 0x5c]
call fcn.0043ddea
push dword [ebp - 0xc]
lea ecx, [ebp + 0x5c]
call fcn.0043ddea
push dword [ebp + 4]
push str.NTFS
call fcn.004391ba
test al, al
pop ecx
pop ecx
je 0x488eef
mov eax, dword [ebp - 0x3c]
mov ax, word [eax]
cmp ax, bx
je 0x488eef
cmp ax, 0x30
je 0x488eef
push 0x4aeb78
lea ecx, [ebp + 0x5c]
call fcn.0043ddea
push str.___Q__Y__X__
lea ecx, [ebp + 0x5c]
call fcn.0043ddea
mov eax, dword [ebp + 0x5c]
lea ecx, [ebp]
mov dword [ebp + 0x60], eax
call fcn.00437e1a
mov esi, 0x4c1b94
lea eax, [ebp + 0x48]
push eax
call fcn.00437e65
push 4
push dword [ebp + 0x48]
push str._gui
call fcn.00439124
add esp, 0x10
test al, al
jne 0x489201
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.00405172
pop ecx
push dword [ebp + 0x44]
lea ecx, [ebp - 0x54]
call fcn.0044655b
mov eax, dword [ebp - 0x54]
mov dword [ebp + 0x44], eax
mov dword [ebp + 0x54], eax
jmp 0x488fb8
push 6
lea eax, [ebp + 0x54]
push eax
push str.__nbrd
call fcn.0043fc72
add esp, 0xc
test al, al
jne 0x488fb5
push 6
lea eax, [ebp + 0x54]
push eax
push 0x4a76a8
call fcn.0043fc72
add esp, 0xc
test al, al
jne 0x488fb5
push 2
lea eax, [ebp + 0x54]
push eax
push 0x4a9b9c
call fcn.0043fc72
add esp, 0xc
test al, al
jne 0x488fb5
lea eax, [ebp + 0x54]
push eax
call fcn.00405196
pop ecx
mov eax, dword [ebp + 0x54]
cmp word [eax], bx
jne 0x488f66
cmp dword [ebp - 0x18], ebx
jne 0x4890ca
cmp dword [ebp + 0x24], ebx
jg 0x4890ca
push ebx
push dword [ebp + 0x60]
lea ecx, [ebp - 0x19c]
call fcn.00448eba
cmp dword [ebp - 0x164], 1
jle 0x489218
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.0042716b
add esp, 0xc
cmp byte [ebp + 0x37], bl
mov dword [ebp + 0x1c], eax
mov dword [ebp - 0x88], ebx
jle 0x489120
cmp eax, 3
jne 0x489120
cmp dword [ebp - 0x8c], ebx
jne 0x489120
lea ecx, [ebp - 0x14]
mov byte [ebp + 0x5b], 1
call fcn.00437e1a
lea ecx, [ebp - 0x54]
call fcn.00437e1a
lea ecx, [ebp + 0x28]
call fcn.00437e1a
lea ecx, [ebp - 0x28]
call fcn.00437e1a
lea ecx, [ebp + 0x3c]
call fcn.00437e1a
lea ecx, [ebp - 0x3c]
call fcn.00437e1a
lea ecx, [ebp - 0xc]
call fcn.00437e1a
lea ecx, [ebp + 0x50]
call fcn.00437e1a
lea ecx, [ebp + 4]
call fcn.00437e1a
lea ecx, [ebp - 0x1c]
call fcn.00437e1a
lea ecx, [ebp + 0x14]
call fcn.00437e1a
lea ecx, [ebp + 0x5c]
call fcn.00437e1a
lea ecx, [ebp - 0xa8]
call fcn.00437e1a
lea ecx, [ebp + 0x18]
call fcn.00437e1a
lea ecx, [ebp - 0x24]
call fcn.00437e1a
lea ecx, [ebp + 0x78]
call fcn.0048602c
lea ecx, [ebp - 0x70]
call fcn.00437e1a
jmp 0x487c1c
cmp dword [ebp - 0x8c], ebx
jne 0x489120
push dword [ebp + 0x14]
lea ecx, [ebp - 0x50]
call fcn.00446497
push dword [ebp + 0x44]
lea ecx, [ebp - 0x50]
call fcn.0043ddea
mov eax, dword [ebp + 0x18]
cmp word [eax], bx
mov ecx, dword [ebp + 0x7c]
mov dword [ebp - 0x88], 1
je 0x48910d
push ebx
push ebx
push ebx
push ebx
push dword [ebp - 0x50]
push ecx
push ebx
call fcn.00409677
jmp 0x489115
push dword [ebp - 0x50]
call fcn.00402d14
lea ecx, [ebp - 0x50]
mov dword [ebp + 0x1c], eax
call fcn.00437e1a
mov ecx, dword [ebp - 0xe0]
xor eax, eax
or ecx, eax
je 0x48921f
cmp dword [ebp + 0x1c], 3
jne 0x48921f
call dword [sym.imp.KERNEL32.DLL_GetTickCount]
sub eax, edi
cmp eax, 0x1388
jae 0x48921f
mov ecx, dword [ebp + 0x7c]
push ebx
push ebx
push 0xc8
call fcn.00413b53
mov esi, 0x4c1b94
jmp 0x488fbd
mov edi, dword [sym.imp.KERNEL32.DLL_LeaveCriticalSection]
push esi
call dword [sym.imp.KERNEL32.DLL_EnterCriticalSection]
cmp dword [0x4c1bf4], ebx
jle 0x48918c
push esi
call edi
mov ecx, dword [ebp + 0x7c]
push ebx
push ebx
push 1
call fcn.00413b53
jmp 0x48916c
push 0xffffffffffffffff
lea ecx, [ebp + 0xf]
call fcn.00411af5
push esi
call edi
jmp 0x4892f3
call dword [sym.imp.KERNEL32.DLL_GetLastError]
cmp eax, ebx
jne 0x4891ab
xor eax, eax
inc eax
mov dword [ebp + 0x1c], eax
jmp 0x4891e8
push eax
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
lea ecx, [ebp - 0x40]
call fcn.00437e1a
lea ecx, [ebp - 0x30]
call fcn.00437e1a
lea ecx, [ebp - 0x2c]
call fcn.00437e1a
mov ebx, 0xb7
jmp 0x489270
lea ecx, [ebp - 0x30]
mov dword [ebp + 0x1c], 1
call fcn.00437e1a
lea ecx, [ebp - 0x2c]
call fcn.00437e1a
jmp 0x48921f
lea ecx, [ebp]
call fcn.00437e1a
mov ebx, 0x80070057
jmp 0x489270
mov ecx, dword [ebp + 0x7c]
push 0xffffffffffffff9c
push 0x4a69d4
push ebx
push str.imdisk.cpl_
call fcn.00471be9
jmp 0x489270
mov dword [ebp + 0x1c], 0x80070057
mov eax, dword [ebp - 0x15c]
cmp eax, ebx
je 0x48923a
lea ecx, [ebp + 0x78]
mov dword [ebp + 0x78], eax
mov dword [ebp - 0x15c], ebx
call fcn.00437e1a
mov edx, dword [ebp + 0x18]
cmp word [edx], bx
je 0x48926d
cmp dword [ebp - 0x88], ebx
jne 0x48926d
mov ecx, dword [ebp - 0x24]
mov word [ebp - 0x218], bx
cmp word [ecx], 0x2a
lea eax, [ebp - 0x218]
jne 0x489263
lea eax, [ecx + 2]
mov ecx, dword [ebp + 0x7c]
push eax
push edx
call fcn.0043d658
mov ebx, dword [ebp + 0x1c]
lea ecx, [ebp - 0x14]
call fcn.00437e1a
lea ecx, [ebp - 0x54]
call fcn.00437e1a
lea ecx, [ebp + 0x28]
call fcn.00437e1a
lea ecx, [ebp - 0x28]
call fcn.00437e1a
lea ecx, [ebp + 0x3c]
call fcn.00437e1a
lea ecx, [ebp - 0x3c]
call fcn.00437e1a
lea ecx, [ebp - 0xc]
call fcn.00437e1a
lea ecx, [ebp + 0x50]
call fcn.00437e1a
lea ecx, [ebp + 4]
call fcn.00437e1a
lea ecx, [ebp - 0x1c]
call fcn.00437e1a
lea ecx, [ebp + 0x14]
call fcn.00437e1a
lea ecx, [ebp + 0x5c]
call fcn.00437e1a
lea ecx, [ebp - 0xa8]
call fcn.00437e1a
lea ecx, [ebp + 0x18]
call fcn.00437e1a
lea ecx, [ebp - 0x24]
call fcn.00437e1a
lea ecx, [ebp + 0x78]
call fcn.0048602c
lea ecx, [ebp - 0x70]
call fcn.00437e1a
pop edi
pop esi
mov eax, ebx
pop ebx
add ebp, 0x70
leave
ret