Function at 0x48b790
Capabilities:
Check for time delay via gettickcount
Get number of processors
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x4e7a61
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x17c
push ebx
push ebp
push esi
push edi
lea ecx, [esp + 0xac]
call fcn.00420c77
lea ecx, [esp + 0xac]
call fcn.00420c6b
neg eax
sbb eax, eax
inc eax
xor esi, esi
push 0x7d2
mov dword [esp + 0xb4], eax
mov dword [esp + 0x30], esi
call fcn.00445f00
add esp, 4
cmp eax, esi
mov dword [esp + 0x2c], eax
je 0x48b7f1
mov word [eax], si
mov edi, dword [esp + 0x19c]
lea eax, [esp + 0x20]
add edi, 0xc
push eax
mov dword [esp + 0x198], esi
mov dword [esp + 0x60], esi
mov dword [esp + 0x24], edi
call fcn.0041676d
push 2
call fcn.00445f00
add esp, 8
cmp eax, esi
mov dword [esp + 0x60], eax
je 0x48b829
mov word [eax], si
push 2
call fcn.00445f00
add esp, 4
cmp eax, esi
mov dword [esp + 0x78], eax
je 0x48b83e
mov word [eax], si
push 2
call fcn.00445f00
add esp, 4
cmp eax, esi
mov dword [esp + 0x18], eax
je 0x48b853
mov word [eax], si
push 2
call fcn.00445f00
add esp, 4
cmp eax, esi
mov dword [esp + 0x40], eax
je 0x48b868
mov word [eax], si
push 2
call fcn.00445f00
add esp, 4
cmp eax, esi
mov dword [esp + 0x58], eax
je 0x48b87d
mov word [eax], si
push 2
call fcn.00445f00
add esp, 4
cmp eax, esi
mov dword [esp + 0x30], eax
je 0x48b892
mov word [eax], si
push 2
call fcn.00445f00
add esp, 4
cmp eax, esi
mov dword [esp + 0x44], eax
je 0x48b8a7
mov word [eax], si
push 2
call fcn.00445f00
add esp, 4
cmp eax, esi
mov dword [esp + 0x54], eax
je 0x48b8bc
mov word [eax], si
push 2
call fcn.00445f00
add esp, 4
cmp eax, esi
mov dword [esp + 0x28], eax
je 0x48b8d1
mov word [eax], si
push 2
call fcn.00445f00
add esp, 4
cmp eax, esi
mov dword [esp + 0x3c], eax
je 0x48b8e6
mov word [eax], si
push 2
call fcn.00445f00
mov ebx, eax
add esp, 4
cmp ebx, esi
mov dword [esp + 0x48], ebx
je 0x48b8fd
mov word [ebx], si
xor eax, eax
or esi, 0xffffffff
cmp word [edi], 0x2a
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], eax
mov dword [esp + 0xa4], eax
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], eax
sete al
test al, al
mov byte [esp + 0x194], 0xb
mov dword [esp + 0x88], esi
mov dword [esp + 0x8c], esi
mov dword [esp + 0x9c], esi
mov dword [esp + 0xa0], esi
mov byte [esp + 0x38], al
mov ebp, 0x4ebd38
je 0x48c7dc
add edi, 2
push 0x192
mov dword [esp + 0x14], edi
mov dword [esp + 0x94], ebp
mov dword [esp + 0x38], ebp
call fcn.00445f00
add esp, 4
test eax, eax
mov dword [esp + 0x74], eax
je 0x48b98d
mov word [eax], 0
mov ebx, dword [esp + 0x20]
xor ecx, ecx
mov cx, word [ebx]
mov word [ebx], 0
mov ax, word [edi]
test ax, ax
mov byte [esp + 0x194], 0xc
mov dword [esp + 0x7c], edi
mov dword [esp + 0x6c], ecx
je 0x48b9c9
cmp ax, 0x2a
je 0x48b9c5
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x48b9b3
mov dword [esp + 0x10], edi
test cx, cx
mov dword [esp + 0x14], ebx
je 0x48b9d9
lea ecx, [ebx + 2]
mov dword [esp + 0x14], ecx
lea edx, [esp + 0x14]
push edx
call fcn.0043f2e0
add esp, 4
mov edi, 1
mov esi, dword [esp + 0x14]
nop
push 4
push esi
push str._mem
call fcn.004403f0
add esp, 0xc
test al, al
je 0x48ba5a
mov ecx, esi
mov eax, 0x200020
mov dword [ecx], eax
add esi, 8
mov dword [ecx + 4], eax
mov dword [esp + 0x14], esi
je 0x48babe
lea ecx, [ecx]
mov ax, word [esi]
cmp ax, 9
jb 0x48ba2f
cmp ax, 0xd
jbe 0x48ba35
cmp ax, 0x20
jne 0x48ba3a
add esi, 2
jmp 0x48ba20
mov dword [esp + 0x14], esi
mov edi, edi
mov ax, word [esi]
cmp ax, 9
jb 0x48ba4f
cmp ax, 0xd
jbe 0x48ba55
cmp ax, 0x20
jne 0x48baba
add esi, 2
jmp 0x48ba40
push 2
push esi
push 0x4f26f4
call fcn.004403f0
add esp, 0xc
test al, al
je 0x48baca
mov dword [esi], 0x200020
add esi, 4
mov dword [esp + 0x14], esi
je 0x48babe
lea ecx, [ecx]
mov ax, word [esi]
cmp ax, 9
jb 0x48ba8f
cmp ax, 0xd
jbe 0x48ba95
cmp ax, 0x20
jne 0x48ba9a
add esi, 2
jmp 0x48ba80
mov dword [esp + 0x14], esi
mov edi, edi
mov ax, word [esi]
cmp ax, 9
jb 0x48baaf
cmp ax, 0xd
jbe 0x48bab5
cmp ax, 0x20
jne 0x48baba
add esi, 2
jmp 0x48baa0
mov dword [esp + 0x14], esi
mov dword [esp + 0x90], ebp
jmp 0x48b9f0
push 3
lea edx, [esp + 0x18]
push edx
push 0x4f5d4c
call fcn.004485c0
add esp, 0xc
test al, al
je 0x48baf2
mov dword [esp + 0x90], 0x4f7034
jmp 0x48b9eb
push 4
lea eax, [esp + 0x18]
push eax
push str._map
call fcn.004485c0
add esp, 0xc
test al, al
je 0x48bb16
mov dword [esp + 0xa4], edi
jmp 0x48b9eb
push 4
lea ecx, [esp + 0x18]
push ecx
push str._exe
call fcn.004485c0
add esp, 0xc
test al, al
je 0x48bb37
mov dword [esp + 0x5c], edi
jmp 0x48b9eb
push 5
lea edx, [esp + 0x18]
push edx
push str._nexe
call fcn.004485c0
add esp, 0xc
test al, al
je 0x48bb5c
mov dword [esp + 0x5c], 0xfff00000
jmp 0x48b9eb
mov edi, dword [esp + 0x14]
mov si, word [edi]
xor ebp, ebp
cmp si, bp
je 0x48bbee
mov edi, edi
push 2
push edi
push 0x4f26f4
call fcn.004403f0
add esp, 0xc
test al, al
jne 0x48bbc6
cmp si, 9
jb 0x48bb90
cmp si, 0xd
jbe 0x48bba2
cmp si, 0x20
je 0x48bba2
mov si, word [edi + 2]
add edi, 2
cmp si, bp
jne 0x48bb84
mov ax, word [edi]
cmp ax, 9
jb 0x48bbb1
cmp ax, 0xd
jbe 0x48bbb7
cmp ax, 0x20
jne 0x48bbbc
add edi, 2
jmp 0x48bba2
mov si, word [edi]
cmp si, bp
jne 0x48bb70
jmp 0x48bbee
add edi, 4
je 0x48bbea
jmp 0x48bbd0
mov ax, word [edi]
cmp ax, 9
jb 0x48bbdf
cmp ax, 0xd
jbe 0x48bbe5
cmp ax, 0x20
jne 0x48bbea
add edi, 2
jmp 0x48bbd0
mov dword [esp + 0x34], edi
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0x7c]
mov ecx, edi
sub ecx, eax
sar ecx, 1
push ecx
push eax
lea ecx, [esp + 0x68]
call fcn.004463d0
mov esi, dword [esp + 0x60]
cmp word [esi], bp
je 0x48bca7
push 0x4f7018
lea ecx, [esp + 0x18]
call fcn.004127a5
push esi
lea ecx, [esp + 0x18]
mov byte [esp + 0x198], 0xd
call fcn.004462e0
push 0x4f7018
lea ecx, [esp + 0x18]
call fcn.004462e0
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x1a0]
push ebp
push ebp
lea edx, [esp + 0x34]
push edx
push esi
call fcn.00451c30
mov ecx, dword [esp + 0x2c]
mov ax, word [ecx]
cmp ax, bp
je 0x48bc75
cmp ax, 0x2a
je 0x48bc75
mov word [ecx], 0x3f
mov ecx, dword [esp + 0x2c]
push ecx
mov eax, 0x7d2
call fcn.00445f60
add esp, 4
cmp eax, ebp
mov dword [esp + 0x2c], eax
je 0x48bc92
mov word [eax + 0x7d0], bp
cmp esi, ebp
je 0x48bca7
mov eax, dword [0x51927c]
add esi, 0xfffffff8
push esi
push ebp
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
cmp word [edi], 0x2a
jne 0x48c657
mov esi, 2
add edi, esi
cmp word [edi], 0x40
mov dword [esp + 0x64], ebp
mov dword [esp + 0x68], ebp
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x50], ebp
mov byte [esp + 0x1f], 0
mov dword [esp + 0x10], edi
jne 0x48bce2
add edi, esi
mov byte [esp + 0x1f], 1
mov dword [esp + 0x10], edi
lea ecx, [esp + 0x88]
push ecx
lea edx, [esp + 0x14]
push edx
call fcn.0044d230
mov eax, dword [esp + 0x18]
add esp, 8
cmp word [eax], bp
je 0x48bd06
add eax, esi
mov dword [esp + 0x10], eax
lea ecx, [esp + 0x9c]
push ecx
lea edx, [esp + 0x14]
push edx
call fcn.0044d230
mov eax, dword [esp + 0x18]
add esp, 8
cmp word [eax], bp
je 0x48bd2a
add eax, esi
mov dword [esp + 0x10], eax
lea ecx, [esp + 0x80]
push ecx
lea edx, [esp + 0x14]
push edx
call fcn.0044d230
mov esi, dword [esp + 0x18]
add esp, 8
cmp word [esi], bp
je 0x48bd4f
add esi, 2
mov dword [esp + 0x10], esi
cmp esi, ebp
mov ecx, esi
je 0x48bd76
mov ax, word [esi]
cmp ax, bp
je 0x48bd76
lea ecx, [ecx]
cmp ax, 0x2a
je 0x48bd72
mov ax, word [esi + 2]
add esi, 2
cmp ax, bp
jne 0x48bd60
mov dword [esp + 0x10], esi
mov eax, esi
sub eax, ecx
sar eax, 1
push eax
push ecx
lea ecx, [esp + 0x50]
call fcn.004463d0
cmp word [esi], bp
je 0x48bd93
add esi, 2
mov dword [esp + 0x10], esi
cmp esi, ebp
mov ecx, esi
je 0x48bdb7
mov ax, word [esi]
cmp ax, bp
je 0x48bdb7
cmp ax, 0x2a
je 0x48bdb3
mov ax, word [esi + 2]
add esi, 2
cmp ax, bp
jne 0x48bda1
mov dword [esp + 0x10], esi
mov edx, esi
sub edx, ecx
sar edx, 1
push edx
push ecx
lea ecx, [esp + 0x30]
call fcn.004463d0
cmp word [esi], bp
je 0x48bdd4
add esi, 2
mov dword [esp + 0x10], esi
lea eax, [esp + 0x64]
push eax
lea ecx, [esp + 0x14]
push ecx
call fcn.0044d230
mov eax, dword [esp + 0x18]
add esp, 8
cmp word [eax], bp
je 0x48bdf6
add eax, 2
mov dword [esp + 0x10], eax
cmp eax, ebp
mov edx, eax
je 0x48be1a
mov cx, word [eax]
cmp cx, bp
je 0x48be1a
cmp cx, 0x2a
je 0x48be16
mov cx, word [eax + 2]
add eax, 2
cmp cx, bp
jne 0x48be04
mov dword [esp + 0x10], eax
sub eax, edx
sar eax, 1
push eax
push edx
lea ecx, [esp + 0x44]
call fcn.004463d0
lea edx, [esp + 0x4c]
push edx
lea eax, [esp + 0x14]
push eax
call fcn.0044d230
mov ebp, dword [esp + 0x90]
mov ebx, dword [esp + 0x94]
mov dl, byte [esp + 0x27]
mov eax, dword [esp + 0xa4]
mov ecx, dword [esp + 0xa8]
add esp, 8
xor esi, esi
test dl, dl
mov dword [esp + 0x94], ebp
mov dword [esp + 0x98], ebx
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], ecx
je 0x48be9f
add eax, ebp
mov dword [esp + 0x88], eax
mov eax, ecx
adc eax, ebx
mov dword [esp + 0x94], esi
mov dword [esp + 0x98], esi
mov dword [esp + 0x8c], eax
cmp dword [esp + 0x68], esi
jl 0x48bec7
jg 0x48bead
cmp dword [esp + 0x64], esi
jbe 0x48bec7
cmp dword [esp + 0x50], esi
jg 0x48bec7
jl 0x48bebb
cmp dword [esp + 0x4c], esi
ja 0x48bec7
mov dword [esp + 0x4c], 1
mov dword [esp + 0x50], esi
mov edi, dword [esp + 0x48]
push 0x5c
push esi
push edi
call dword [sym.imp.SHLWAPI.dll_StrRChrW]
cmp eax, esi
jne 0x48bedf
mov dword [esp + 0x24], edi
jmp 0x48bee6
add eax, 2
mov dword [esp + 0x24], eax
push 0x632
call fcn.00445f00
mov edi, eax
add esp, 4
cmp edi, esi
mov dword [esp + 0x7c], edi
je 0x48bf00
mov word [edi], si
push 0
push 0x200
lea esi, [edi + 0x6a]
lea eax, [esi + 0xd4]
push ebx
mov word [eax], 0
push ebp
mov byte [esp + 0x1a4], 0xe
mov dword [esp + 0x24], eax
mov word [esi + 0x6a], 0
call fcn.004b0800
push edx
push eax
push 0x4f49a8
push 0x28
push edi
call fcn.004c1f3f
mov ebx, dword [sym.imp.KERNEL32.dll_lstrlenW]
add esp, 0x14
push edi
call ebx
mov ecx, dword [esp + 0xa0]
mov edx, dword [esp + 0x9c]
push 0
push 0x200
push ecx
push edx
call fcn.004b0800
push edx
push eax
push 0x4f49a8
push 0x28
push esi
call fcn.004c1f3f
add esp, 0x14
push esi
call ebx
mov eax, dword [esp + 0x14]
mov word [eax], 0
mov eax, dword [esp + 0x68]
test eax, eax
jl 0x48bfac
jg 0x48bf95
mov eax, dword [esp + 0x64]
test eax, eax
jbe 0x48bfac
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x64]
mov eax, dword [esp + 0x14]
push ecx
push edx
push eax
call fcn.004458f0
add esp, 0xc
mov eax, dword [esp + 0x50]
xor ebp, ebp
cmp eax, ebp
jl 0x48bfd0
jg 0x48bfbe
cmp dword [esp + 0x4c], ebp
jbe 0x48bfd0
mov ecx, dword [esp + 0x4c]
push eax
push ecx
lea eax, [esi + 0x6a]
push eax
call fcn.004458f0
add esp, 0xc
mov ebx, dword [esp + 0x28]
cmp word [ebx], bp
jne 0x48c014
push ebx
mov eax, 0x1002
call fcn.00445f60
mov ebx, eax
add esp, 4
cmp ebx, ebp
mov dword [esp + 0x28], ebx
je 0x48bff8
mov word [ebx + 0x1000], bp
call fcn.00441790
mov edx, dword [esp + 0x24]
push eax
push esi
push edi
push edx
push str._s_s_s__u
push ebx
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x18
push ebx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
cmp eax, 0x400
mov dword [esp + 0x10], eax
jle 0x48c035
mov dword [esp + 0x10], 0x400
mov word [ebx + 0x800], bp
push str.Global_
lea ecx, [esp + 0x78]
call fcn.004575a0
push ebx
lea ecx, [esp + 0x78]
call fcn.004462e0
push str._devio_Ack
lea ecx, [esp + 0x78]
call fcn.004462e0
mov ebp, dword [esp + 0x80]
mov eax, ebp
and eax, 0x30
xor ecx, ecx
or eax, ecx
mov word [esp + 0xb4], 0
jne 0x48c08d
mov eax, dword [esp + 0x34]
cmp word [eax], cx
je 0x48c089
mov eax, ebp
and eax, 0x40
or eax, ecx
je 0x48c08d
xor eax, eax
jmp 0x48c092
mov eax, 1
mov ebx, dword [esp + 0x14]
add ebx, 0x6a
test eax, eax
mov word [ebx], 0
je 0x48c19c
mov edx, dword [str.__kill:]
mov ecx, ebx
mov dword [ecx], edx
mov eax, dword [0x4f6fcc]
mov dword [ecx + 4], eax
mov edx, dword [0x4f6fd0]
push 0x104
mov dword [ecx + 8], edx
mov eax, dword [0x4f6fd4]
lea ebp, [ebx + 0x27e]
push ebp
push 0
mov dword [ecx + 0xc], eax
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
push 0x104
lea ecx, [ebx + 0xe]
push ecx
push ebp
call dword [sym.imp.KERNEL32.dll_GetShortPathNameW]
push ebx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov ebp, dword [esp + 0x34]
cmp word [ebp], 0x22
mov dword [esp + 0x4c], eax
mov dword [esp + 0x24], ebp
jne 0x48c134
mov ax, word [ebp]
mov edx, ebp
add edx, 2
test ax, ax
mov dword [esp + 0x34], edx
je 0x48c145
lea esp, [esp]
cmp ax, 0x22
je 0x48c145
mov ax, word [ebp + 2]
add ebp, 2
test ax, ax
jne 0x48c120
jmp 0x48c145
lea edx, [esp + 0x24]
push edx
call fcn.0041676d
mov ebp, dword [esp + 0x28]
add esp, 4
mov ax, word [ebp]
mov word [esp + 0x24], ax
mov eax, dword [esp + 0x80]
and eax, 0x20
xor ecx, ecx
or eax, ecx
mov word [ebp], 0
mov eax, str._LOAD_25_poweroff
jne 0x48c16e
mov eax, str._RAMD_ImdiskV__D__m__s_
mov ecx, dword [esp + 0x34]
mov ebx, dword [esp + 0x14]
mov edx, dword [esp + 0x4c]
push ecx
push eax
add ebx, 0x6a
lea eax, [ebx + edx*2]
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
mov cx, word [esp + 0x30]
mov word [ebp], cx
mov ebp, dword [esp + 0x8c]
add esp, 0xc
mov edx, dword [esp + 0x84]
mov eax, ebp
mov cl, 1
call fcn.004b0380
and eax, 3
je 0x48c1c8
push eax
lea edx, [esp + 0xb8]
push str._nrc:_d
push edx
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
and ebp, 1
xor eax, eax
or ebp, eax
mov dword [esp + 0x4c], 0x4ebd38
jne 0x48c1e1
mov dword [esp + 0x4c], 0x4f6f54
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0x94]
push 0
push 0x200
push eax
push ecx
call fcn.004b0800
push edx
push eax
push 0x4f49a8
push 0x28
push edi
call fcn.004c1f3f
mov ebp, dword [sym.imp.KERNEL32.dll_lstrlenW]
add esp, 0x14
push edi
call ebp
mov edx, dword [esp + 0x8c]
mov eax, dword [esp + 0x88]
push 0
push 0x200
push edx
push eax
call fcn.004b0800
push edx
push eax
push 0x4f49a8
push 0x28
push esi
call fcn.004c1f3f
add esp, 0x14
push esi
call ebp
mov ecx, dword [esp + 0x1a0]
push 0x4ee160
push str.__ImdMapPid
call fcn.00444550
mov ecx, dword [esp + 0x48]
push ecx
call ebp
mov edx, dword [esp + 0x3c]
push edx
mov ebp, eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov ecx, dword [esp + 0x10]
add eax, ebp
lea eax, [eax + ecx + 0x940]
xor ebp, ebp
test eax, eax
mov dword [esp + 0x24], ebp
jl 0x48c2a7
lea edx, [eax + eax + 2]
push edx
call fcn.00445f00
mov ebp, eax
add esp, 4
test ebp, ebp
mov dword [esp + 0x24], ebp
je 0x48c2a7
mov word [ebp], 0
push str.Global_
lea ecx, [esp + 0x38]
mov byte [esp + 0x198], 0xf
call fcn.004127a5
mov eax, dword [esp + 0x28]
push eax
lea ecx, [esp + 0x38]
call fcn.004462e0
mov ecx, dword [esp + 0x34]
push ecx
push 0
push 2
call dword [sym.imp.KERNEL32.dll_OpenFileMappingW]
test eax, eax
je 0x48c457
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [esp + 0x34]
test eax, eax
mov esi, dword [sym.imp.KERNEL32.dll_HeapFree]
je 0x48c306
mov edx, dword [0x51927c]
add eax, 0xfffffff8
push eax
push 0
push edx
call esi
test ebp, ebp
je 0x48c318
mov eax, dword [0x51927c]
add ebp, 0xfffffff8
push ebp
push 0
push eax
call esi
test edi, edi
je 0x48c32b
mov ecx, dword [0x51927c]
add edi, 0xfffffff8
push edi
push 0
push ecx
call esi
mov eax, dword [esp + 0x74]
test eax, eax
je 0x48c342
mov edx, dword [0x51927c]
add eax, 0xfffffff8
push eax
push 0
push edx
call esi
mov eax, dword [esp + 0x48]
test eax, eax
je 0x48c358
add eax, 0xfffffff8
push eax
mov eax, dword [0x51927c]
push 0
push eax
call esi
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x48c36f
mov ecx, dword [0x51927c]
add eax, 0xfffffff8
push eax
push 0
push ecx
call esi
mov eax, dword [esp + 0x28]
test eax, eax
je 0x48c386
mov edx, dword [0x51927c]
add eax, 0xfffffff8
push eax
push 0
push edx
call esi
mov eax, dword [esp + 0x54]
test eax, eax
je 0x48c39c
add eax, 0xfffffff8
push eax
mov eax, dword [0x51927c]
push 0
push eax
call esi
mov eax, dword [esp + 0x44]
test eax, eax
je 0x48c3b3
mov ecx, dword [0x51927c]
add eax, 0xfffffff8
push eax
push 0
push ecx
call esi
mov eax, dword [esp + 0x30]
test eax, eax
je 0x48c3ca
mov edx, dword [0x51927c]
add eax, 0xfffffff8
push eax
push 0
push edx
call esi
mov eax, dword [esp + 0x58]
test eax, eax
je 0x48c3e0
add eax, 0xfffffff8
push eax
mov eax, dword [0x51927c]
push 0
push eax
call esi
mov eax, dword [esp + 0x40]
test eax, eax
je 0x48c3f7
mov ecx, dword [0x51927c]
add eax, 0xfffffff8
push eax
push 0
push ecx
call esi
mov eax, dword [esp + 0x18]
test eax, eax
je 0x48c40e
mov edx, dword [0x51927c]
add eax, 0xfffffff8
push eax
push 0
push edx
call esi
mov eax, dword [esp + 0x78]
test eax, eax
je 0x48c424
add eax, 0xfffffff8
push eax
mov eax, dword [0x51927c]
push 0
push eax
call esi
mov ecx, dword [esp + 0x60]
mov edx, dword [0x51927c]
add ecx, 0xfffffff8
push ecx
push 0
push edx
call esi
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x48c44d
add eax, 0xfffffff8
push eax
mov eax, dword [0x51927c]
push 0
push eax
call esi
mov eax, 0xb7
jmp 0x48d4f2
mov eax, dword [esp + 0x34]
test eax, eax
je 0x48c474
mov edx, dword [0x51927c]
mov ecx, eax
add ecx, 0xfffffff8
push ecx
push 0
push edx
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x28]
push eax
lea eax, [esi + 0x6a]
push eax
mov eax, dword [esp + 0x54]
push edi
push esi
push ecx
push edx
mov edx, dword [esp + 0x54]
push eax
mov eax, dword [esp + 0xac]
lea ecx, [esp + 0xd0]
push ecx
push edx
push ebx
push eax
push str.EXEC___pid:__ImdMapPid____exe:_s10INDATA___nfb___MyName0____s__w:60000__s__s__s_shm:_s___s__s__s__s__s
push ebp
call dword [sym.imp.USER32.dll_wsprintfW]
mov ecx, dword [esp + 0x4c]
mov eax, dword [esp + 0x44]
lea eax, [eax + eax + 0x1002]
push ecx
call fcn.00445f60
add esp, 0x38
test eax, eax
mov dword [esp + 0x18], eax
je 0x48c4de
mov edx, dword [esp + 0x10]
mov word [eax + edx*2 + 0x1000], 0
mov ecx, dword [esp + 0x28]
push ecx
push 0x4ebd38
push str.imdisk__a__t_proxy__s__o_shm__f__s
mov word [edi], 0
push eax
mov word [esi], 0
call dword [sym.imp.USER32.dll_wsprintfW]
mov dx, word [esp + 0x7c]
mov eax, dword [esp + 0x30]
lea ecx, [esp + 0x30]
push ecx
mov word [eax], dx
call fcn.0043f2e0
mov esi, dword [esp + 0x34]
push 4
push esi
xor ebx, ebx
push str.__w:
mov dword [esp + 0x6c], ebx
call fcn.00440450
add esp, 0x20
test al, al
je 0x48c553
lea edx, [esp + 0x4c]
push edx
lea eax, [esp + 0x24]
add esi, 8
push eax
mov dword [esp + 0x28], esi
call fcn.00449a90
mov esi, dword [esp + 0x28]
mov ebx, dword [esp + 0x54]
add esp, 8
push 0x4f6e08
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov edi, eax
push edi
push esi
push 0x4f6e08
call fcn.004403f0
add esp, 0xc
test al, al
je 0x48c58b
lea edx, [esp + 0x20]
lea ecx, [esi + edi*2]
push edx
mov dword [esp + 0x24], ecx
call fcn.0043f2e0
mov esi, dword [esp + 0x24]
add esp, 4
push esi
lea ecx, [esp + 0x1c]
call fcn.004462e0
mov ecx, dword [esp + 0x74]
mov eax, dword [esp + 0x18]
push ecx
push 0
push 0
push 0
mov dword [esp + 0x1ac], eax
call dword [sym.imp.KERNEL32.dll_CreateEventW]
push 0
push 0
push 0
push ebp
mov ebp, dword [esp + 0x1b0]
mov ecx, ebp
mov edi, eax
call fcn.00435957
push 0xea60
push edi
mov word [esi], 0
mov dword [esp + 0xac], 1
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push edi
mov esi, eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
test esi, esi
je 0x48c61e
lea ecx, [esp + 0x24]
mov ebx, 1
call fcn.0043f290
lea ecx, [esp + 0x7c]
call fcn.0043f290
lea ecx, [esp + 0x74]
mov byte [esp + 0x194], 0xb
call fcn.0043f290
jmp 0x48d3a4
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
mov esi, 0x32
lea esp, [esp]
push 0
call edi
dec esi
jne 0x48c630
test ebx, ebx
jle 0x48c643
push ebx
mov ecx, ebp
call fcn.0041ecf1
lea ecx, [esp + 0x24]
call fcn.0043f290
lea ecx, [esp + 0x7c]
call fcn.0043f290
jmp 0x48c666
mov dx, word [esp + 0x6c]
mov ebp, dword [esp + 0x1a0]
mov word [ebx], dx
mov eax, dword [esp + 0x74]
test eax, eax
mov esi, dword [sym.imp.KERNEL32.dll_HeapFree]
mov byte [esp + 0x194], 0xb
je 0x48c68a
add eax, 0xfffffff8
push eax
mov eax, dword [0x51927c]
push 0
push eax
call esi
lea edx, [esp + 0x20]
push edx
call fcn.0043f2e0
mov eax, dword [esp + 0x24]
push 4
push eax
push str._gui
call fcn.004403f0
add esp, 0x10
test al, al
je 0x48d05c
push 0xffffffffffffff9c
push 0x4ebd38
push 0
push str.imdisk.cpl_
mov ecx, ebp
call fcn.00469190
mov eax, dword [esp + 0x48]
test eax, eax
je 0x48c6dc
mov ecx, dword [0x51927c]
add eax, 0xfffffff8
push eax
push 0
push ecx
call esi
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x48c6f3
mov edx, dword [0x51927c]
add eax, 0xfffffff8
push eax
push 0
push edx
call esi
mov eax, dword [esp + 0x28]
test eax, eax
je 0x48c709
add eax, 0xfffffff8
push eax
mov eax, dword [0x51927c]
push 0
push eax
call esi
mov eax, dword [esp + 0x54]
test eax, eax
je 0x48c720
mov ecx, dword [0x51927c]
add eax, 0xfffffff8
push eax
push 0
push ecx
call esi
mov eax, dword [esp + 0x44]
test eax, eax
je 0x48c737
mov edx, dword [0x51927c]
add eax, 0xfffffff8
push eax
push 0
push edx
call esi
mov eax, dword [esp + 0x30]
test eax, eax
je 0x48c74d
add eax, 0xfffffff8
push eax
mov eax, dword [0x51927c]
push 0
push eax
call esi
mov eax, dword [esp + 0x58]
test eax, eax
je 0x48c764
mov ecx, dword [0x51927c]
add eax, 0xfffffff8
push eax
push 0
push ecx
call esi
mov eax, dword [esp + 0x40]
test eax, eax
je 0x48c77b
mov edx, dword [0x51927c]
add eax, 0xfffffff8
push eax
push 0
push edx
call esi
mov eax, dword [esp + 0x18]
test eax, eax
je 0x48c791
add eax, 0xfffffff8
push eax
mov eax, dword [0x51927c]
push 0
push eax
call esi
mov eax, dword [esp + 0x78]
test eax, eax
je 0x48c7a8
mov ecx, dword [0x51927c]
add eax, 0xfffffff8
push eax
push 0
push ecx
call esi
mov eax, dword [esp + 0x60]
test eax, eax
je 0x48c7bf
mov edx, dword [0x51927c]
add eax, 0xfffffff8
push eax
push 0
push edx
call esi
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x48c7d5
add eax, 0xfffffff8
push eax
mov eax, dword [0x51927c]
push 0
push eax
call esi
xor eax, eax
jmp 0x48d4f2
mov ecx, dword [esp + 0x20]
push 4
push ecx
push str._exe
call fcn.004403f0
add esp, 0xc
test al, al
je 0x48c80e
add dword [esp + 0x20], 8
lea edx, [esp + 0x20]
push edx
call fcn.0043f2e0
add esp, 4
mov dword [esp + 0x5c], 1
mov eax, dword [esp + 0x20]
push 5
push eax
push str._nexe
call fcn.004403f0
add esp, 0xc
test al, al
je 0x48c846
mov edi, dword [esp + 0x20]
lea ecx, [esp + 0x20]
add edi, 0xa
push ecx
mov dword [esp + 0x24], edi
call fcn.0043f2e0
add esp, 4
mov dword [esp + 0x5c], 0xfff00000
push 0x2c
lea edx, [esp + 0x44]
push edx
lea eax, [esp + 0x1a4]
push eax
call fcn.00449370
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x1a8]
add esp, 0xc
mov word [ecx], 0
cmp word [edx], 0
je 0x48c998
mov ecx, edx
mov edi, 2
add ecx, edi
push 0x2c
lea eax, [esp + 0x44]
mov dword [esp + 0x1a0], ecx
push eax
lea ecx, [esp + 0x1a4]
push ecx
call fcn.00449370
mov edx, dword [esp + 0x1a8]
add esp, 0xc
cmp word [edx], 0
je 0x48c998
mov ecx, edx
add ecx, edi
push 0x2c
lea eax, [esp + 0x5c]
mov dword [esp + 0x1a0], ecx
push eax
lea ecx, [esp + 0x1a4]
push ecx
call fcn.00449370
mov edx, dword [esp + 0x1a8]
add esp, 0xc
cmp word [edx], 0
je 0x48c998
mov ecx, edx
add ecx, edi
push 0x2c
lea eax, [esp + 0x34]
mov dword [esp + 0x1a0], ecx
push eax
lea ecx, [esp + 0x1a4]
push ecx
call fcn.00449370
mov edx, dword [esp + 0x1a8]
add esp, 0xc
cmp word [edx], 0
je 0x48c998
mov ecx, edx
add ecx, edi
push 0x2c
lea eax, [esp + 0x48]
mov dword [esp + 0x1a0], ecx
push eax
lea ecx, [esp + 0x1a4]
push ecx
call fcn.00449370
mov edx, dword [esp + 0x1a8]
add esp, 0xc
cmp word [edx], 0
je 0x48c998
mov ecx, edx
add ecx, edi
push 0x2c
lea eax, [esp + 0x58]
mov dword [esp + 0x1a0], ecx
push eax
lea ecx, [esp + 0x1a4]
push ecx
call fcn.00449370
mov edx, dword [esp + 0x1a8]
add esp, 0xc
cmp word [edx], 0
je 0x48c998
mov eax, edx
add eax, edi
mov dword [esp + 0x19c], eax
push 0x2c
lea eax, [esp + 0x98]
push eax
lea ecx, [esp + 0x1a4]
push ecx
call fcn.00449690
add esp, 0xc
mov edx, dword [esp + 0x30]
push edx
mov eax, 0xe
mov byte [esp + 0x23], 0
call fcn.00445f60
mov edi, eax
add esp, 4
test edi, edi
mov dword [esp + 0x30], edi
je 0x48c9bf
mov word [edi + 0xc], 0
mov ebp, dword [sym.imp.KERNEL32.dll_HeapFree]
mov word [edi + 2], 0x3a
mov word [edi + 4], 0
cmp word [edi], 0
je 0x48ca87
push edi
call fcn.004abc80
add esp, 4
test eax, eax
je 0x48ca7d
xor eax, eax
push 2
mov dword [esp + 0xb8], str.imdisk
mov dword [esp + 0xbc], 0x4f6dd8
mov dword [esp + 0xc0], 0x4f6dd0
mov dword [esp + 0xc4], edi
mov dword [esp + 0xc8], eax
mov dword [esp + 0x28], eax
call fcn.00445f00
add esp, 4
test eax, eax
mov dword [esp + 0x24], eax
je 0x48ca38
mov word [eax], 0
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0xb8]
push ecx
push 4
mov byte [esp + 0x1a0], 0x10
call fcn.00429c28
add esp, 0xc
test eax, eax
mov eax, dword [esp + 0x24]
sete byte [esp + 0x1f]
test eax, eax
mov byte [esp + 0x194], 0xb
je 0x48ca7d
mov edx, dword [0x51927c]
add eax, 0xfffffff8
push eax
push 0
push edx
call ebp
cmp word [edi], 0
jne 0x48cbb1
push 0x4f1dd4
lea ecx, [esp + 0x34]
call fcn.004574e0
mov edi, dword [esp + 0x30]
cmp word [edi], 0
jne 0x48cbb1
test ebx, ebx
je 0x48cab5
mov eax, dword [0x51927c]
add ebx, 0xfffffff8
push ebx
push 0
push eax
call ebp
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x48cacc
mov ecx, dword [0x51927c]
add eax, 0xfffffff8
push eax
push 0
push ecx
call ebp
mov eax, dword [esp + 0x28]
test eax, eax
je 0x48cae3
mov edx, dword [0x51927c]
add eax, 0xfffffff8
push eax
push 0
push edx
call ebp
mov eax, dword [esp + 0x54]
test eax, eax
je 0x48caf9
add eax, 0xfffffff8
push eax
mov eax, dword [0x51927c]
push 0
push eax
call ebp
mov eax, dword [esp + 0x44]
test eax, eax
je 0x48cb10
mov ecx, dword [0x51927c]
add eax, 0xfffffff8
push eax
push 0
push ecx
call ebp
mov edx, dword [0x51927c]
add edi, 0xfffffff8
push edi
push 0
push edx
call ebp
mov eax, dword [esp + 0x58]
test eax, eax
je 0x48cb35
add eax, 0xfffffff8
push eax
mov eax, dword [0x51927c]
push 0
push eax
call ebp
mov eax, dword [esp + 0x40]
test eax, eax
je 0x48cb4c
mov ecx, dword [0x51927c]
add eax, 0xfffffff8
push eax
push 0
push ecx
call ebp
mov eax, dword [esp + 0x18]
test eax, eax
je 0x48cb63
mov edx, dword [0x51927c]
add eax, 0xfffffff8
push eax
push 0
push edx
call ebp
mov eax, dword [esp + 0x78]
test eax, eax
je 0x48cb79
add eax, 0xfffffff8
push eax
mov eax, dword [0x51927c]
push 0
push eax
call ebp
mov eax, dword [esp + 0x60]
test eax, eax
je 0x48cb90
mov ecx, dword [0x51927c]
add eax, 0xfffffff8
push eax
push 0
push ecx
call ebp
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x48cba7
mov edx, dword [0x51927c]
add eax, 0xfffffff8
push eax
push 0
push edx
call ebp
mov eax, 0x80070057
jmp 0x48d4f2
push 0x7a
call fcn.00445f00
add esp, 4
test eax, eax
mov dword [esp + 0x10], eax
je 0x48cbc8
mov word [eax], 0
mov eax, dword [esp + 0x40]
cmp word [eax], 0
mov edx, esi
mov ebx, esi
mov byte [esp + 0x194], 0x11
mov dword [esp + 0x6c], esi
mov dword [esp + 0x70], esi
mov dword [esp + 0x80], esi
mov dword [esp + 0x84], esi
mov dword [esp + 0x64], edx
mov dword [esp + 0x68], ebx
mov edi, esi
je 0x48cf2c
mov cx, word [eax]
cmp cx, 9
jb 0x48cc11
cmp cx, 0xd
jbe 0x48cc17
cmp cx, 0x20
jne 0x48cc1c
add eax, 2
jmp 0x48cc02
mov cx, word [eax]
or cx, 0x20
cmp cx, 0x70
jne 0x48cc36
add eax, 2
mov dword [esp + 0x14], eax
lea eax, [esp + 0x6c]
jmp 0x48cc4a
cmp cx, 0x6c
jne 0x48cc6b
add eax, 2
mov dword [esp + 0x14], eax
lea eax, [esp + 0x80]
push eax
lea ecx, [esp + 0x18]
push ecx
call fcn.00449970
add esp, 8
test eax, eax
jle 0x48cc9f
lea edx, [esp + 0x14]
push edx
call fcn.0043f2e0
add esp, 4
jmp 0x48cc9f
cmp cx, 0x68
jne 0x48ccb1
add eax, 2
mov dword [esp + 0x14], eax
lea eax, [esp + 0x64]
push eax
lea ecx, [esp + 0x18]
push ecx
call fcn.00449970
add esp, 8
test eax, eax
jle 0x48cc9b
lea edx, [esp + 0x14]
push edx
call fcn.0043f2e0
add esp, 4
mov ebx, dword [esp + 0x68]
mov eax, dword [esp + 0x14]
cmp word [eax], 0
mov edx, dword [esp + 0x64]
jne 0x48cc02
mov eax, dword [esp + 0x70]
test eax, eax
jl 0x48cd00
jg 0x48ccc3
mov eax, dword [esp + 0x6c]
test eax, eax
jbe 0x48cd00
push 0
call fcn.00422aab
mov ecx, dword [esp + 0x74]
add esp, 4
push ecx
mov ecx, dword [esp + 0x70]
push ecx
push edx
push eax
call fcn.004b08b0
push 0
push 0x64
push edx
push eax
call fcn.004b0800
add eax, 0xfffff
adc edx, 0
mov cl, 0x14
call fcn.004b0380
mov esi, edx
mov edx, dword [esp + 0x64]
mov edi, eax
mov eax, dword [esp + 0x84]
cmp esi, eax
jg 0x48cd1f
jl 0x48cd16
cmp edi, dword [esp + 0x80]
jae 0x48cd1f
mov edi, dword [esp + 0x80]
mov esi, eax
test ebx, ebx
jl 0x48cd45
jg 0x48cd29
test edx, edx
jbe 0x48cd45
cmp esi, ebx
jl 0x48cd37
jg 0x48cd33
cmp edi, edx
jbe 0x48cd37
mov edi, edx
mov esi, ebx
test esi, esi
jg 0x48cd57
jl 0x48cd41
test edi, edi
ja 0x48cd45
mov edi, edx
mov esi, ebx
test esi, esi
jl 0x48cf2c
jg 0x48cd57
test edi, edi
jb 0x48cf2c
mov ecx, dword [esp + 0x30]
cmp word [ecx], 0
je 0x48cf2c
test esi, esi
jg 0x48cd76
jl 0x48cd6f
test edi, edi
ja 0x48cd76
mov edi, 1
xor esi, esi
test eax, eax
jg 0x48cdc1
jl 0x48cd87
mov eax, dword [esp + 0x80]
test eax, eax
ja 0x48cdc1
test ebx, ebx
jg 0x48cdc1
jl 0x48cd91
test edx, edx
ja 0x48cdc1
mov eax, dword [esp + 0x70]
test eax, eax
jl 0x48cdc1
jg 0x48cda3
mov eax, dword [esp + 0x6c]
test eax, eax
jbe 0x48cdc1
mov edx, dword [esp + 0x70]
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x10]
push edx
push eax
push ecx
call fcn.004458f0
add esp, 0xc
push 0x4f6dc8
jmp 0x48cdd5
mov edx, dword [esp + 0x10]
push esi
push edi
push edx
call fcn.00445920
add esp, 0xc
push 0x4f6dc0
lea ecx, [esp + 0x14]
call fcn.004462e0
mov al, byte [esp + 0x1f]
test al, al
mov eax, str.imdisk___e
jne 0x48cdf0
mov eax, str.imdisk___a
push eax
lea ecx, [esp + 0x1c]
call fcn.004574e0
mov eax, dword [esp + 0x94]
and eax, 1
xor ecx, ecx
or eax, ecx
je 0x48ce18
push str.__o_awe
lea ecx, [esp + 0x1c]
call fcn.004462e0
mov esi, dword [esp + 0x10]
cmp word [esi], 0
je 0x48ce3a
push str.___s
lea ecx, [esp + 0x1c]
call fcn.004462e0
push esi
lea ecx, [esp + 0x1c]
call fcn.004462e0
mov esi, dword [esp + 0x30]
cmp word [esi], 0
je 0x48ce5c
push str.___m
lea ecx, [esp + 0x1c]
call fcn.004462e0
push esi
lea ecx, [esp + 0x1c]
call fcn.004462e0
mov edi, dword [esp + 0x58]
cmp word [edi], 0
mov esi, dword [esp + 0x44]
jne 0x48ce74
cmp word [esi], 0
je 0x48cefe
push str.___p__
lea ecx, [esp + 0x1c]
call fcn.004462e0
cmp word [edi], 0
je 0x48cea0
push str.__FS:
lea ecx, [esp + 0x1c]
call fcn.004462e0
push edi
lea ecx, [esp + 0x1c]
call fcn.004462e0
cmp word [esi], 0
je 0x48cebe
push str.__V:
lea ecx, [esp + 0x1c]
call fcn.004462e0
push esi
lea ecx, [esp + 0x1c]
call fcn.004462e0
push edi
push str.NTFS
call fcn.00440490
add esp, 8
test al, al
je 0x48cef0
mov eax, dword [esp + 0x54]
mov ax, word [eax]
test ax, ax
je 0x48cef0
cmp ax, 0x30
je 0x48cef0
push 0x4f5804
lea ecx, [esp + 0x1c]
call fcn.004462e0
push str.___Q__Y__
lea ecx, [esp + 0x1c]
call fcn.004462e0
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x19c], ecx
lea ecx, [esp + 0x10]
mov byte [esp + 0x194], 0xb
call fcn.0043f290
mov esi, dword [sym.imp.KERNEL32.dll_HeapFree]
mov ebp, dword [esp + 0x1a0]
jmp 0x48c68a
mov eax, dword [esp + 0x10]
test eax, eax
je 0x48cf44
mov edx, eax
mov eax, dword [0x51927c]
add edx, 0xfffffff8
push edx
push 0
push eax
call ebp
mov eax, dword [esp + 0x48]
test eax, eax
je 0x48cf5d
mov edx, dword [0x51927c]
mov ecx, eax
add ecx, 0xfffffff8
push ecx
push 0
push edx
call ebp
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x48cf74
mov ecx, dword [0x51927c]
add eax, 0xfffffff8
push eax
push 0
push ecx
call ebp
mov eax, dword [esp + 0x28]
test eax, eax
je 0x48cf8c
mov edx, eax
mov eax, dword [0x51927c]
add edx, 0xfffffff8
push edx
push 0
push eax
call ebp
mov eax, dword [esp + 0x54]
test eax, eax
je 0x48cfa5
mov edx, dword [0x51927c]
mov ecx, eax
add ecx, 0xfffffff8
push ecx
push 0
push edx
call ebp
mov eax, dword [esp + 0x44]
test eax, eax
je 0x48cfbc
mov ecx, dword [0x51927c]
add eax, 0xfffffff8
push eax
push 0
push ecx
call ebp
mov edx, dword [esp + 0x30]
mov eax, dword [0x51927c]
add edx, 0xfffffff8
push edx
push 0
push eax
call ebp
mov eax, dword [esp + 0x58]
test eax, eax
je 0x48cfe5
mov ecx, dword [0x51927c]
add eax, 0xfffffff8
push eax
push 0
push ecx
call ebp
mov edx, dword [esp + 0x40]
mov eax, dword [0x51927c]
add edx, 0xfffffff8
push edx
push 0
push eax
call ebp
mov eax, dword [esp + 0x18]
test eax, eax
je 0x48d00e
mov ecx, dword [0x51927c]
add eax, 0xfffffff8
push eax
push 0
push ecx
call ebp
mov eax, dword [esp + 0x78]
test eax, eax
je 0x48d025
mov edx, dword [0x51927c]
add eax, 0xfffffff8
push eax
push 0
push edx
call ebp
mov eax, dword [esp + 0x60]
test eax, eax
je 0x48d03b
add eax, 0xfffffff8
push eax
mov eax, dword [0x51927c]
push 0
push eax
call ebp
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x48d052
mov ecx, dword [0x51927c]
add eax, 0xfffffff8
push eax
push 0
push ecx
call ebp
mov eax, 0x80070057
jmp 0x48d4f2
fld qword [0x4f30b8]
xor eax, eax
fstp qword [esp + 0xf4]
mov ecx, 0x24
lea edi, [esp + 0xfc]
rep stosd dword es:[edi], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, 0xc8
mov dword [esp + 0x4c], eax
mov al, byte [esp + 0x38]
xor bl, bl
test al, al
je 0x48d0ac
mov ecx, dword [esp + 0x20]
push 2
push ecx
push 0x4f6e08
call fcn.004403f0
add esp, 0xc
test al, al
je 0x48d0ac
mov bl, 1
mov edx, dword [esp + 0xa4]
xor eax, eax
or edx, eax
jne 0x48d0bd
test bl, bl
je 0x48d125
mov eax, dword [esp + 0x5c]
test eax, eax
jne 0x48d125
push 0
mov ecx, 9
mov esi, str.imdisk___version
lea edi, [esp + 0xb8]
rep movsd dword es:[edi], dword [esi]
push 0
push 0
lea eax, [esp + 0x44]
push eax
push ebp
lea ecx, [esp + 0xc8]
push ecx
mov ecx, ebp
movsw word es:[edi], word [esi]
mov word [esp + 0x50], 0
call fcn.004195a0
test eax, eax
jne 0x48d125
mov edx, dword [esp + 0xa4]
or edx, eax
je 0x48d11d
mov eax, 0x11
mov dword [esp + 0x5c], eax
mov dword [esp + 0xa4], eax
jmp 0x48d125
mov dword [esp + 0x5c], 0x40
mov esi, dword [esp + 0x19c]
lea eax, [esp + 0x6c]
push eax
mov dword [esp + 0x70], esi
call fcn.0041676d
add esp, 4
push 0
push esi
lea ecx, [esp + 0xfc]
call fcn.0045c8b0
cmp dword [esp + 0x128], 1
jle 0x48d306
lea ebx, [ebx]
mov eax, dword [esp + 0xb0]
test eax, eax
mov ecx, dword [esp + 0x12c]
mov dword [ecx], str.imdisk
jne 0x48d1ab
mov eax, dword [esp + 0x5c]
test eax, eax
jg 0x48d1ab
mov eax, dword [esp + 0x12c]
mov ecx, dword [esp + 0x128]
lea edx, [esp + 0x2c]
push edx
push eax
push ecx
call fcn.00429c28
mov edi, dword [esp + 0x1ac]
add esp, 0xc
mov ebx, eax
jmp 0x48d2a7
movzx ebx, word [0x51e010]
push str._Imdisk
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov ebp, eax
lea edi, [ebp + 2]
lea eax, [edi + edi + 4]
push 0
call fcn.00445f60
mov esi, eax
add esp, 4
test esi, esi
je 0x48d1dd
mov word [esi + edi*2 + 2], 0
push edi
push esi
push ebp
push str._Imdisk
push 0
push ebx
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov edi, eax
test edi, edi
jge 0x48d1f6
xor edi, edi
xor ebp, ebp
lea eax, [edi + edi + 4]
push esi
mov word [esi + edi*2], bp
call fcn.00445f60
mov esi, eax
add esp, 4
cmp esi, ebp
mov dword [esp + 0x7c], esi
je 0x48d218
mov word [esi + edi*2 + 2], bp
mov ebx, dword [esp + 0x6c]
cmp ebx, ebp
mov byte [esp + 0x194], 0x12
je 0x48d264
test esi, esi
je 0x48d235
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov ebp, eax
push ebx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov edi, eax
inc edi
lea eax, [edi + ebp]
shl eax, 1
push esi
call fcn.00445f60
lea edx, [edi + edi]
mov esi, eax
push edx
lea eax, [esi + ebp*2]
push ebx
push eax
mov dword [esp + 0x8c], esi
call fcn.004aee50
add esp, 0x10
mov edi, dword [esp + 0x1a0]
push 0
push 0
push 0
lea ecx, [esp + 0x44]
push ecx
push edi
push esi
mov ecx, edi
mov word [esp + 0x50], 0
call fcn.004195a0
test esi, esi
mov ebx, eax
mov byte [esp + 0x194], 0xb
je 0x48d2a7
mov edx, dword [0x51927c]
add esi, 0xfffffff8
push esi
push 0
push edx
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov ecx, dword [esp + 0xa4]
xor eax, eax
or ecx, eax
je 0x48d37c
cmp ebx, 3
jne 0x48d37c
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [esp + 0x4c]
cmp eax, 0x1388
jae 0x48d37c
push 0xc8
mov ecx, edi
call fcn.0041ecf1
mov edx, dword [esp + 0x19c]
push 0
push edx
lea ecx, [esp + 0xfc]
call fcn.0045c8b0
cmp dword [esp + 0x128], 1
jg 0x48d160
lea ecx, [esp + 0x48]
call fcn.0043f290
lea ecx, [esp + 0x3c]
call fcn.0043f290
lea ecx, [esp + 0x28]
call fcn.0043f290
lea ecx, [esp + 0x54]
call fcn.0043f290
lea ecx, [esp + 0x44]
call fcn.0043f290
lea ecx, [esp + 0x30]
call fcn.0043f290
lea ecx, [esp + 0x58]
call fcn.0043f290
lea ecx, [esp + 0x40]
call fcn.0043f290
lea ecx, [esp + 0x18]
call fcn.0043f290
lea ecx, [esp + 0x78]
call fcn.0043f290
lea ecx, [esp + 0x60]
call fcn.0043f290
lea ecx, [esp + 0x2c]
call fcn.0043f290
mov eax, 0x80070057
jmp 0x48d4f2
mov eax, dword [esp + 0x130]
test eax, eax
mov dword [esp + 0x130], 0
je 0x48d3a4
add eax, 0xfffffff8
push eax
mov eax, dword [0x51927c]
push 0
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov edi, dword [esp + 0x60]
cmp word [edi], 0
je 0x48d3e2
push ebx
lea esi, [esp + 0xb8]
mov ecx, esi
push 0x4edd14
push ecx
call dword [sym.imp.USER32.dll_wsprintfW]
mov eax, dword [esp + 0x38]
add esp, 0xc
cmp word [eax], 0x2a
jne 0x48d3d4
lea esi, [eax + 2]
mov ecx, dword [esp + 0x1a0]
push esi
push edi
call fcn.00444550
mov eax, dword [esp + 0x48]
test eax, eax
mov esi, dword [sym.imp.KERNEL32.dll_HeapFree]
je 0x48d3ff
mov edx, dword [0x51927c]
add eax, 0xfffffff8
push eax
push 0
push edx
call esi
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x48d415
add eax, 0xfffffff8
push eax
mov eax, dword [0x51927c]
push 0
push eax
call esi
mov eax, dword [esp + 0x28]
test eax, eax
je 0x48d42c
mov ecx, dword [0x51927c]
add eax, 0xfffffff8
push eax
push 0
push ecx
call esi
mov eax, dword [esp + 0x54]
test eax, eax
je 0x48d443
mov edx, dword [0x51927c]
add eax, 0xfffffff8
push eax
push 0
push edx
call esi
mov eax, dword [esp + 0x44]
test eax, eax
je 0x48d459
add eax, 0xfffffff8
push eax
mov eax, dword [0x51927c]
push 0
push eax
call esi
mov eax, dword [esp + 0x30]
test eax, eax
je 0x48d470
mov ecx, dword [0x51927c]
add eax, 0xfffffff8
push eax
push 0
push ecx
call esi
mov eax, dword [esp + 0x58]
test eax, eax
je 0x48d487
mov edx, dword [0x51927c]
add eax, 0xfffffff8
push eax
push 0
push edx
call esi
mov eax, dword [esp + 0x40]
test eax, eax
je 0x48d49d
add eax, 0xfffffff8
push eax
mov eax, dword [0x51927c]
push 0
push eax
call esi
mov eax, dword [esp + 0x18]
test eax, eax
je 0x48d4b4
mov ecx, dword [0x51927c]
add eax, 0xfffffff8
push eax
push 0
push ecx
call esi
mov eax, dword [esp + 0x78]
test eax, eax
je 0x48d4cb
mov edx, dword [0x51927c]
add eax, 0xfffffff8
push eax
push 0
push edx
call esi
mov eax, dword [0x51927c]
add edi, 0xfffffff8
push edi
push 0
push eax
call esi
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x48d4f0
mov ecx, dword [0x51927c]
add eax, 0xfffffff8
push eax
push 0
push ecx
call esi
mov eax, ebx
mov ecx, dword [esp + 0x18c]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x188
ret