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

Disassembly:
push ebp
lea ebp, [esp - 0x70]
sub esp, 0x1c4
push ebx
push esi
push edi
lea ecx, [ebp - 0x38]
call fcn.0040e32a
lea ecx, [ebp - 0x38]
call fcn.0040e31e
neg eax
sbb eax, eax
inc eax
push 0x3e8
lea ecx, [ebp + 0x24]
mov dword [ebp - 0x34], eax
call fcn.0042e1e2
mov edi, dword [ebp + 0x78]
lea eax, [ebp + 0x60]
xor ebx, ebx
add edi, 0xc
push eax
mov dword [ebp + 0x28], ebx
mov dword [ebp + 0x60], edi
call fcn.00403ff2
pop ecx
lea ecx, [ebp + 0x20]
call fcn.0042e1c4
lea ecx, [ebp - 0x30]
call fcn.0042e1c4
lea ecx, [ebp + 0x64]
call fcn.0042e1c4
lea ecx, [ebp + 0x18]
call fcn.0042e1c4
lea ecx, [ebp - 0x10]
call fcn.0042e1c4
lea ecx, [ebp + 0x34]
call fcn.0042e1c4
lea ecx, [ebp - 8]
call fcn.0042e1c4
lea ecx, [ebp - 0xc]
call fcn.0042e1c4
lea ecx, [ebp + 0x44]
call fcn.0042e1c4
lea ecx, [ebp + 0xc]
call fcn.0042e1c4
lea ecx, [ebp + 0x1c]
call fcn.0042e1c4
or esi, 0xffffffff
cmp word [edi], 0x2a
mov dword [ebp - 0x18], esi
sete byte [ebp + 0x43]
cmp byte [ebp + 0x43], bl
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x1c], esi
mov dword [ebp + 0x2c], ebx
mov dword [ebp + 0x30], ebx
mov dword [ebp + 0x10], ebx
mov dword [ebp + 4], ebx
mov dword [ebp + 8], ebx
je 0x45aad4
inc edi
mov esi, 0x484964
push 0xc8
lea ecx, [ebp + 0x5c]
inc edi
mov dword [ebp], esi
mov dword [ebp + 0x3c], esi
call fcn.0042e1e2
mov eax, dword [ebp + 0x60]
mov cx, word [eax]
mov word [ebp - 4], cx
mov word [eax], bx
mov dword [ebp + 0x58], edi
jmp 0x45a33d
cmp ax, 0x2a
je 0x45a345
inc edi
inc edi
mov ax, word [edi]
cmp ax, bx
jne 0x45a335
cmp word [ebp - 4], bx
mov eax, dword [ebp + 0x60]
mov dword [ebp + 0x6c], eax
je 0x45a357
add eax, 2
mov dword [ebp + 0x6c], eax
lea eax, [ebp + 0x6c]
push eax
call fcn.00428a5b
pop ecx
push 4
lea eax, [ebp + 0x6c]
push eax
push str._mem
call fcn.0042fca2
add esp, 0xc
test al, al
jne 0x45a38f
push 2
lea eax, [ebp + 0x6c]
push eax
push 0x487fd0
call fcn.0042fca2
add esp, 0xc
test al, al
je 0x45a394
mov dword [ebp], esi
jmp 0x45a361
push 3
lea eax, [ebp + 0x6c]
push eax
push 0x48b654
call fcn.0042fca2
add esp, 0xc
test al, al
je 0x45a3b4
mov dword [ebp], 0x48c93c
jmp 0x45a361
push 4
lea eax, [ebp + 0x6c]
push eax
push str._map
call fcn.0042fca2
add esp, 0xc
test al, al
je 0x45a3d4
mov dword [ebp + 0x10], 1
jmp 0x45a361
push 4
lea eax, [ebp + 0x6c]
push eax
push str._exe
call fcn.0042fca2
add esp, 0xc
test al, al
je 0x45a3f7
mov dword [ebp + 0x28], 1
jmp 0x45a361
push 5
lea eax, [ebp + 0x6c]
push eax
push str._nexe
call fcn.0042fca2
add esp, 0xc
test al, al
je 0x45a41a
mov dword [ebp + 0x28], 0xfff00000
jmp 0x45a361
mov eax, dword [ebp + 0x6c]
mov dword [ebp + 0x68], eax
jmp 0x45a446
push 2
lea eax, [ebp + 0x68]
push eax
push 0x487fd0
call fcn.0042fc5f
add esp, 0xc
test al, al
jne 0x45a44d
lea eax, [ebp + 0x68]
push eax
call fcn.00404037
mov eax, dword [ebp + 0x68]
pop ecx
cmp word [eax], bx
jne 0x45a422
jmp 0x45a453
mov eax, dword [ebp + 0x68]
mov dword [ebp + 0x3c], eax
mov eax, edi
sub eax, dword [ebp + 0x58]
lea ecx, [ebp + 0x20]
sar eax, 1
push eax
push dword [ebp + 0x58]
call fcn.0042e2ea
mov eax, dword [ebp + 0x20]
cmp word [eax], bx
je 0x45a4cc
mov esi, 0x48c920
push esi
lea ecx, [ebp + 0x68]
call fcn.0043a4ba
push dword [ebp + 0x20]
lea ecx, [ebp + 0x68]
call fcn.0042e232
push esi
lea ecx, [ebp + 0x68]
call fcn.0042e232
mov ecx, dword [ebp + 0x7c]
push ebx
push ebx
lea eax, [ebp + 0x24]
push eax
push dword [ebp + 0x68]
call fcn.00436312
mov ecx, dword [ebp + 0x24]
mov ax, word [ecx]
cmp ax, bx
je 0x45a4b7
cmp ax, 0x2a
je 0x45a4b7
mov word [ecx], 0x3f
push 0x3e8
lea ecx, [ebp + 0x24]
call fcn.0042e20b
lea ecx, [ebp + 0x68]
call fcn.00428a48
push 0x2a
pop esi
cmp word [edi], si
jne 0x45aac5
inc edi
inc edi
cmp word [edi], 0x40
mov dword [ebp + 0x50], ebx
mov dword [ebp + 0x54], ebx
mov dword [ebp + 0x48], ebx
mov dword [ebp + 0x4c], ebx
mov byte [ebp + 0x7b], bl
mov dword [ebp + 0x6c], edi
jne 0x45a4fb
inc edi
inc edi
mov byte [ebp + 0x7b], 1
mov dword [ebp + 0x6c], edi
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp + 0x6c]
push eax
call fcn.00432f9a
mov eax, dword [ebp + 0x6c]
cmp word [eax], bx
pop ecx
pop ecx
je 0x45a516
add dword [ebp + 0x6c], 2
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp + 0x6c]
push eax
call fcn.00432f9a
mov eax, dword [ebp + 0x6c]
cmp word [eax], bx
pop ecx
pop ecx
je 0x45a531
add dword [ebp + 0x6c], 2
lea eax, [ebp + 0x2c]
push eax
lea eax, [ebp + 0x6c]
push eax
call fcn.00432f9a
mov edi, dword [ebp + 0x6c]
cmp word [edi], bx
pop ecx
pop ecx
je 0x45a54d
inc edi
inc edi
mov dword [ebp + 0x6c], edi
push esi
lea eax, [ebp + 0x6c]
call fcn.0040404e
mov eax, dword [ebp + 0x6c]
pop ecx
sub eax, edi
sar eax, 1
push eax
push edi
lea ecx, [ebp + 0x1c]
call fcn.0042e2ea
mov eax, dword [ebp + 0x6c]
cmp word [eax], bx
je 0x45a574
add dword [ebp + 0x6c], 2
mov edi, dword [ebp + 0x6c]
push esi
lea eax, [ebp + 0x6c]
call fcn.0040404e
mov eax, dword [ebp + 0x6c]
pop ecx
sub eax, edi
sar eax, 1
push eax
push edi
lea ecx, [ebp + 0x44]
call fcn.0042e2ea
mov eax, dword [ebp + 0x6c]
cmp word [eax], bx
je 0x45a59e
add dword [ebp + 0x6c], 2
lea eax, [ebp + 0x50]
push eax
lea eax, [ebp + 0x6c]
push eax
call fcn.00432f9a
mov edi, dword [ebp + 0x6c]
cmp word [edi], bx
pop ecx
pop ecx
je 0x45a5ba
inc edi
inc edi
mov dword [ebp + 0x6c], edi
push esi
lea eax, [ebp + 0x6c]
call fcn.0040404e
mov eax, dword [ebp + 0x6c]
pop ecx
sub eax, edi
sar eax, 1
push eax
push edi
lea ecx, [ebp + 0xc]
call fcn.0042e2ea
lea eax, [ebp + 0x48]
push eax
lea eax, [ebp + 0x6c]
push eax
call fcn.00432f9a
cmp byte [ebp + 0x7b], bl
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
mov edi, dword [ebp - 0x1c]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x24], edx
mov dword [ebp + 4], eax
mov dword [ebp + 8], edi
je 0x45a613
add eax, ecx
mov dword [ebp + 4], eax
mov eax, edi
adc eax, edx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x24], ebx
mov dword [ebp + 8], eax
cmp dword [ebp + 0x54], ebx
jl 0x45a635
jg 0x45a61f
cmp dword [ebp + 0x50], ebx
jbe 0x45a635
cmp dword [ebp + 0x4c], ebx
jg 0x45a635
jl 0x45a62b
cmp dword [ebp + 0x48], ebx
ja 0x45a635
mov dword [ebp + 0x48], 1
mov dword [ebp + 0x4c], ebx
mov edi, dword [ebp + 0x1c]
push 0x5c
push ebx
push edi
call dword [sym.imp.SHLWAPI.dll_StrRChrW]
cmp eax, ebx
jne 0x45a64b
mov dword [ebp + 0x58], edi
jmp 0x45a650
inc eax
inc eax
mov dword [ebp + 0x58], eax
push 0x318
lea ecx, [ebp + 0x6c]
call fcn.0042e1e2
mov eax, dword [ebp + 0x6c]
push ebx
add eax, 0xd4
mov edi, 0x200
push edi
push dword [ebp - 0x14]
lea esi, [eax + 0x6a]
push dword [ebp - 0x18]
lea ecx, [esi + 0x6a]
mov word [esi], bx
mov dword [ebp - 0x2c], eax
mov dword [ebp + 0x78], ecx
mov word [eax], bx
call fcn.004711e0
push edx
push eax
push dword [ebp + 0x6c]
call fcn.0042dbdb
add esp, 0xc
push ebx
push edi
push dword [ebp - 0x1c]
push dword [ebp - 0x20]
call fcn.004711e0
push edx
push eax
mov eax, dword [ebp + 0x6c]
add eax, 0x6a
push eax
call fcn.0042dbdb
add esp, 0xc
cmp dword [ebp + 0x54], ebx
mov word [esi], bx
jl 0x45a6d2
jg 0x45a6c3
cmp dword [ebp + 0x50], ebx
jbe 0x45a6d2
push dword [ebp + 0x54]
push dword [ebp + 0x50]
push esi
call fcn.0042dbdb
add esp, 0xc
cmp dword [ebp + 0x4c], ebx
jl 0x45a6ef
jg 0x45a6de
cmp dword [ebp + 0x48], ebx
jbe 0x45a6ef
push dword [ebp + 0x4c]
push dword [ebp + 0x48]
push dword [ebp - 0x2c]
call fcn.0042dbdb
add esp, 0xc
mov eax, dword [ebp + 0x44]
cmp word [eax], bx
jne 0x45a726
push 0x800
lea ecx, [ebp + 0x44]
call fcn.0042e20b
call fcn.0042a64d
push eax
mov eax, dword [ebp + 0x6c]
lea ecx, [eax + 0x6a]
push ecx
push eax
push dword [ebp + 0x58]
push str._s_s_s__u
push dword [ebp + 0x44]
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x18
push dword [ebp + 0x44]
mov esi, dword [sym.imp.KERNEL32.dll_lstrlenW]
call esi
mov dword [ebp + 0x58], eax
mov eax, 0x400
cmp dword [ebp + 0x58], eax
jle 0x45a74b
mov dword [ebp + 0x58], eax
mov eax, dword [ebp + 0x44]
mov word [eax + 0x800], bx
push 0xffffffffffffffff
push str.Global_
lea ecx, [ebp + 0x5c]
call fcn.0042e2ea
push dword [ebp + 0x44]
lea ecx, [ebp + 0x5c]
call fcn.0042e232
push str._devio_Ack
lea ecx, [ebp + 0x5c]
call fcn.0042e232
mov eax, dword [ebp + 0x2c]
and eax, 0x30
or eax, ebx
mov word [ebp - 0x154], bx
jne 0x45a799
mov eax, dword [ebp + 0x3c]
cmp word [eax], bx
je 0x45a795
mov eax, dword [ebp + 0x2c]
and eax, 0x40
or eax, ebx
je 0x45a799
xor eax, eax
jmp 0x45a79c
xor eax, eax
inc eax
cmp eax, ebx
mov ecx, dword [ebp + 0x78]
mov word [ecx], bx
je 0x45a862
push 0x10
push str.__kill:
push ecx
call fcn.00470580
mov eax, dword [ebp + 0x78]
add esp, 0xc
push 0x104
add eax, 0x27e
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov eax, dword [ebp + 0x78]
push 0x104
lea ecx, [eax + 0xe]
push ecx
add eax, 0x27e
push eax
call dword [sym.imp.KERNEL32.dll_GetShortPathNameW]
push dword [ebp + 0x78]
call esi
mov dword [ebp + 0x54], eax
mov eax, dword [ebp + 0x3c]
cmp word [eax], 0x22
mov dword [ebp + 0x68], eax
jne 0x45a816
add dword [ebp + 0x3c], 2
jmp 0x45a80c
cmp cx, 0x22
je 0x45a823
inc eax
inc eax
mov dword [ebp + 0x68], eax
mov cx, word [eax]
cmp cx, bx
jne 0x45a801
jmp 0x45a823
lea eax, [ebp + 0x68]
push eax
call fcn.00403ff2
mov eax, dword [ebp + 0x68]
pop ecx
mov cx, word [eax]
mov word [eax], bx
mov eax, dword [ebp + 0x2c]
and eax, 0x20
or eax, ebx
mov word [ebp + 0x4c], cx
mov eax, str._LOAD_25_poweroff
jne 0x45a841
mov eax, str._RAMD_ImdiskV__D__m__s_
push dword [ebp + 0x3c]
mov ecx, dword [ebp + 0x54]
push eax
mov eax, dword [ebp + 0x78]
lea eax, [eax + ecx*2]
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
mov ax, word [ebp + 0x4c]
mov ecx, dword [ebp + 0x68]
add esp, 0xc
mov word [ecx], ax
mov eax, dword [ebp + 0x2c]
mov edx, dword [ebp + 0x30]
mov cl, 1
call fcn.00470cf0
and eax, 3
je 0x45a88a
push eax
lea eax, [ebp - 0x154]
push str._nrc:_d
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
mov eax, dword [ebp + 0x2c]
and eax, 1
or eax, ebx
mov dword [ebp + 0x54], 0x484964
jne 0x45a8a2
mov dword [ebp + 0x54], 0x48c85c
push ebx
push edi
push dword [ebp - 0x24]
push dword [ebp - 0x28]
call fcn.004711e0
push edx
push eax
push dword [ebp + 0x6c]
call fcn.0042dbdb
add esp, 0xc
push ebx
push edi
push dword [ebp + 8]
push dword [ebp + 4]
call fcn.004711e0
push edx
push eax
mov eax, dword [ebp + 0x6c]
add eax, 0x6a
push eax
call fcn.0042dbdb
mov ecx, dword [ebp + 0x7c]
add esp, 0xc
push 0x486260
push str.__ImdMapPid
call fcn.0042cbf7
push dword [ebp + 0x1c]
call esi
push dword [ebp + 0xc]
mov edi, eax
call esi
mov ecx, dword [ebp + 0x58]
add eax, edi
lea eax, [eax + ecx + 0x800]
push eax
lea ecx, [ebp + 0x68]
call fcn.0042e1e2
push str.Global_
lea ecx, [ebp + 0x3c]
call fcn.0043a4ba
push dword [ebp + 0x44]
lea ecx, [ebp + 0x3c]
call fcn.0042e232
push dword [ebp + 0x3c]
push ebx
push 2
call dword [sym.imp.KERNEL32.dll_OpenFileMappingW]
cmp eax, ebx
je 0x45a966
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea ecx, [ebp + 0x3c]
call fcn.00428a48
lea ecx, [ebp + 0x68]
call fcn.00428a48
lea ecx, [ebp + 0x6c]
call fcn.00428a48
lea ecx, [ebp + 0x5c]
call fcn.00428a48
mov ebx, 0xb7
jmp 0x45b0db
lea ecx, [ebp + 0x3c]
call fcn.00428a48
mov eax, dword [ebp - 0x2c]
mov esi, dword [ebp + 0x6c]
lea ecx, [eax + 0x6a]
push ecx
push eax
push esi
lea edi, [esi + 0x6a]
push edi
push dword [ebp + 0x1c]
lea eax, [ebp - 0x154]
push dword [ebp + 0x44]
push dword [ebp + 0x54]
push eax
push dword [ebp + 0xc]
push dword [ebp + 0x78]
push dword [ebp]
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 + 0x68]
call dword [sym.imp.USER32.dll_wsprintfW]
mov eax, dword [ebp + 0x58]
add esp, 0x34
add eax, 0x800
push eax
lea ecx, [ebp + 0x64]
call fcn.0042e20b
push dword [ebp + 0x44]
mov word [esi], bx
push 0x484964
push str.imdisk__a__t_proxy__s__o_shm__f__s
push dword [ebp + 0x64]
mov word [edi], bx
call dword [sym.imp.USER32.dll_wsprintfW]
mov ax, word [ebp - 4]
mov ecx, dword [ebp + 0x60]
mov word [ecx], ax
lea eax, [ebp + 0x60]
push eax
call fcn.00428a5b
push 4
push dword [ebp + 0x60]
mov dword [ebp + 0x58], ebx
push str.__w:
call fcn.0042996a
add esp, 0x20
test al, al
je 0x45aa14
add dword [ebp + 0x60], 8
lea eax, [ebp + 0x58]
push eax
lea eax, [ebp + 0x60]
push eax
call fcn.00430ad7
pop ecx
pop ecx
push 0xffffffffffffffff
lea eax, [ebp + 0x60]
push eax
push 0x48c714
call fcn.0042fc5f
mov esi, dword [ebp + 0x60]
add esp, 0xc
push esi
lea ecx, [ebp + 0x64]
call fcn.0042e232
push dword [ebp + 0x5c]
mov eax, dword [ebp + 0x64]
push ebx
push ebx
push ebx
mov dword [ebp + 0x78], eax
call dword [sym.imp.KERNEL32.dll_CreateEventW]
mov ecx, dword [ebp + 0x7c]
push ebx
push ebx
push ebx
push dword [ebp + 0x68]
mov edi, eax
call fcn.004228ce
push 0xea60
push edi
mov word [esi], bx
mov dword [ebp + 0x10], 1
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push edi
mov esi, eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp esi, ebx
je 0x45aa93
xor edi, edi
lea ecx, [ebp + 0x68]
inc edi
call fcn.00428a48
lea ecx, [ebp + 0x6c]
call fcn.00428a48
lea ecx, [ebp + 0x5c]
jmp 0x45b09f
push 0x32
pop esi
push ebx
call dword [sym.imp.KERNEL32.dll_Sleep]
dec esi
jne 0x45aa96
cmp dword [ebp + 0x58], ebx
jle 0x45aab0
push dword [ebp + 0x58]
mov ecx, dword [ebp + 0x7c]
call fcn.0040c4a3
lea ecx, [ebp + 0x68]
call fcn.00428a48
lea ecx, [ebp + 0x6c]
call fcn.00428a48
jmp 0x45aee9
mov ax, word [ebp - 4]
mov ecx, dword [ebp + 0x60]
mov word [ecx], ax
jmp 0x45aee9
push 4
lea eax, [ebp + 0x60]
push eax
push str._exe
call fcn.0042fc5f
add esp, 0xc
test al, al
je 0x45aaf2
mov dword [ebp + 0x28], 1
push 5
lea eax, [ebp + 0x60]
push eax
push str._nexe
call fcn.0042fc5f
add esp, 0xc
test al, al
je 0x45ab10
mov dword [ebp + 0x28], 0xfff00000
push 0x2c
pop edi
push edi
lea eax, [ebp + 0x18]
push eax
lea eax, [ebp + 0x78]
push eax
call fcn.0043060a
mov eax, dword [ebp + 0x18]
mov word [eax], bx
mov eax, dword [ebp + 0x78]
add esp, 0xc
cmp word [eax], bx
je 0x45abe0
add dword [ebp + 0x78], 2
push edi
lea eax, [ebp + 0x18]
push eax
lea eax, [ebp + 0x78]
push eax
call fcn.0043060a
mov eax, dword [ebp + 0x78]
add esp, 0xc
cmp word [eax], bx
je 0x45abe0
add dword [ebp + 0x78], 2
push edi
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp + 0x78]
push eax
call fcn.0043060a
mov eax, dword [ebp + 0x78]
add esp, 0xc
cmp word [eax], bx
je 0x45abe0
add dword [ebp + 0x78], 2
push edi
lea eax, [ebp + 0x34]
push eax
lea eax, [ebp + 0x78]
push eax
call fcn.0043060a
mov eax, dword [ebp + 0x78]
add esp, 0xc
cmp word [eax], bx
je 0x45abe0
add dword [ebp + 0x78], 2
push edi
lea eax, [ebp - 8]
push eax
lea eax, [ebp + 0x78]
push eax
call fcn.0043060a
mov eax, dword [ebp + 0x78]
add esp, 0xc
cmp word [eax], bx
je 0x45abe0
add dword [ebp + 0x78], 2
push edi
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp + 0x78]
push eax
call fcn.0043060a
mov eax, dword [ebp + 0x78]
add esp, 0xc
cmp word [eax], bx
je 0x45abe0
add dword [ebp + 0x78], 2
push edi
lea eax, [ebp + 4]
push eax
lea eax, [ebp + 0x78]
push eax
call fcn.004307c0
add esp, 0xc
push 6
lea ecx, [ebp + 0x34]
mov byte [ebp + 0x7b], bl
call fcn.0042e20b
mov edi, dword [ebp + 0x34]
mov word [edi + 2], 0x3a
mov word [edi + 4], bx
cmp word [edi], bx
je 0x45ac55
push edi
call fcn.0046fe88
test eax, eax
pop ecx
je 0x45ac50
lea ecx, [ebp + 0x54]
mov dword [ebp - 0x4c], str.imdisk
mov dword [ebp - 0x48], 0x48c6fc
mov dword [ebp - 0x44], 0x48c6f4
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x3c], ebx
call fcn.0042e1c4
lea eax, [ebp + 0x54]
push eax
lea eax, [ebp - 0x4c]
push eax
push 4
call fcn.0041723a
add esp, 0xc
neg eax
sbb al, al
inc al
lea ecx, [ebp + 0x54]
mov byte [ebp + 0x7b], al
call fcn.00428a48
cmp word [edi], bx
jne 0x45ac74
push 0x48776c
lea ecx, [ebp + 0x34]
call fcn.0043a522
mov eax, dword [ebp + 0x34]
cmp word [eax], bx
jne 0x45ac74
mov ebx, 0x80070057
jmp 0x45b0db
push 0x3c
lea ecx, [ebp + 0x5c]
call fcn.0042e1e2
mov eax, dword [ebp + 0x18]
cmp word [eax], bx
mov dword [ebp + 0x48], esi
mov dword [ebp + 0x4c], esi
mov dword [ebp + 0x2c], esi
mov dword [ebp + 0x30], esi
mov dword [ebp + 0x50], esi
mov dword [ebp + 0x54], esi
mov edi, esi
mov dword [ebp + 0x6c], eax
je 0x45af2a
lea eax, [ebp + 0x6c]
push eax
call fcn.00428a5b
mov eax, dword [ebp + 0x6c]
mov ax, word [eax]
or ax, 0x20
cmp ax, 0x70
pop ecx
jne 0x45acc0
lea eax, [ebp + 0x48]
jmp 0x45acd4
cmp ax, 0x6c
jne 0x45accb
lea eax, [ebp + 0x2c]
jmp 0x45acd4
cmp ax, 0x68
jne 0x45acec
lea eax, [ebp + 0x50]
add dword [ebp + 0x6c], 2
push eax
lea eax, [ebp + 0x6c]
push eax
call fcn.00430ab3
mov eax, dword [ebp + 0x6c]
cmp word [eax], bx
pop ecx
pop ecx
jne 0x45aca1
cmp dword [ebp + 0x4c], ebx
jl 0x45ad28
jg 0x45acf8
cmp dword [ebp + 0x48], ebx
jbe 0x45ad28
push ebx
call fcn.004100ee
pop ecx
push dword [ebp + 0x4c]
push dword [ebp + 0x48]
push edx
push eax
call fcn.00471360
push ebx
push 0x64
push edx
push eax
call fcn.004711e0
add eax, 0xfffff
adc edx, ebx
mov cl, 0x14
call fcn.00470cf0
mov esi, eax
mov edi, edx
cmp edi, dword [ebp + 0x30]
jg 0x45ad3a
jl 0x45ad34
cmp esi, dword [ebp + 0x2c]
jae 0x45ad3a
mov esi, dword [ebp + 0x2c]
mov edi, dword [ebp + 0x30]
mov eax, dword [ebp + 0x54]
cmp eax, ebx
jl 0x45ad67
jg 0x45ad48
cmp dword [ebp + 0x50], ebx
jbe 0x45ad67
cmp edi, eax
jl 0x45ad58
jg 0x45ad53
cmp esi, dword [ebp + 0x50]
jbe 0x45ad58
mov esi, dword [ebp + 0x50]
mov edi, eax
cmp edi, ebx
jg 0x45ad79
jl 0x45ad62
cmp esi, ebx
ja 0x45ad67
mov esi, dword [ebp + 0x50]
mov edi, eax
cmp edi, ebx
jl 0x45af2a
jg 0x45ad79
cmp esi, ebx
jb 0x45af2a
mov ecx, dword [ebp + 0x34]
cmp word [ecx], bx
je 0x45af2a
cmp edi, ebx
jg 0x45ad94
jl 0x45ad8f
cmp esi, ebx
ja 0x45ad94
xor esi, esi
inc esi
xor edi, edi
cmp dword [ebp + 0x30], ebx
jg 0x45adcf
jl 0x45ada0
cmp dword [ebp + 0x2c], ebx
ja 0x45adcf
cmp eax, ebx
jg 0x45adcf
jl 0x45adab
cmp dword [ebp + 0x50], ebx
ja 0x45adcf
cmp dword [ebp + 0x4c], ebx
jl 0x45adcf
jg 0x45adb7
cmp dword [ebp + 0x48], ebx
jbe 0x45adcf
push dword [ebp + 0x4c]
push dword [ebp + 0x48]
push dword [ebp + 0x5c]
call fcn.0042dbdb
add esp, 0xc
push 0x48c6ec
jmp 0x45ade1
push edi
push esi
push dword [ebp + 0x5c]
call fcn.0042dbf5
add esp, 0xc
push 0x48c6e4
lea ecx, [ebp + 0x5c]
call fcn.0042e232
cmp byte [ebp + 0x7b], bl
mov eax, str.imdisk___e
jne 0x45adf8
mov eax, str.imdisk___a
push eax
lea ecx, [ebp + 0x64]
call fcn.0043a522
mov eax, dword [ebp + 4]
and eax, 1
or eax, ebx
je 0x45ae18
push str.__o_awe
lea ecx, [ebp + 0x64]
call fcn.0042e232
mov esi, dword [ebp + 0x5c]
cmp word [esi], bx
je 0x45ae36
push str.___s
lea ecx, [ebp + 0x64]
call fcn.0042e232
push esi
lea ecx, [ebp + 0x64]
call fcn.0042e232
mov esi, dword [ebp + 0x34]
cmp word [esi], bx
je 0x45ae54
push str.___m
lea ecx, [ebp + 0x64]
call fcn.0042e232
push esi
lea ecx, [ebp + 0x64]
call fcn.0042e232
mov esi, dword [ebp - 0x10]
cmp word [esi], bx
mov edi, dword [ebp - 8]
jne 0x45ae64
cmp word [edi], bx
je 0x45aee3
push str.___p__
lea ecx, [ebp + 0x64]
call fcn.0042e232
cmp word [esi], bx
je 0x45ae8c
push str.__FS:
lea ecx, [ebp + 0x64]
call fcn.0042e232
push esi
lea ecx, [ebp + 0x64]
call fcn.0042e232
cmp word [edi], bx
je 0x45aea7
push str.__V:
lea ecx, [ebp + 0x64]
call fcn.0042e232
push edi
lea ecx, [ebp + 0x64]
call fcn.0042e232
push esi
push 0x48b114
call fcn.0042999a
test al, al
pop ecx
pop ecx
je 0x45aed6
mov eax, dword [ebp - 0xc]
mov ax, word [eax]
cmp ax, bx
je 0x45aed6
cmp ax, 0x30
je 0x45aed6
push 0x48b10c
lea ecx, [ebp + 0x64]
call fcn.0042e232
push str.___Q__Y__
lea ecx, [ebp + 0x64]
call fcn.0042e232
mov eax, dword [ebp + 0x64]
mov dword [ebp + 0x78], eax
lea ecx, [ebp + 0x5c]
call fcn.00428a48
lea eax, [ebp + 0x60]
push eax
call fcn.00428a5b
push 4
push dword [ebp + 0x60]
push 0x48bba8
call fcn.00429920
add esp, 0x10
test al, al
je 0x45af37
mov ecx, dword [ebp + 0x7c]
push 0xffffffffffffff9c
push 0x484964
push ebx
push str.imdisk.cpl_
call fcn.0044572c
jmp 0x45b0db
lea ecx, [ebp + 0x5c]
call fcn.00428a48
jmp 0x45ac6a
push 0x26
fldz
pop ecx
fstp qword [ebp - 0x118]
xor eax, eax
lea edi, [ebp - 0x110]
rep stosd dword es:[edi], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, 0xc8
cmp byte [ebp + 0x43], bl
mov dword [ebp + 0x4c], eax
mov byte [ebp + 0x3b], bl
je 0x45af7c
push 2
push dword [ebp + 0x60]
push 0x48c714
call fcn.00429920
add esp, 0xc
test al, al
je 0x45af7c
mov byte [ebp + 0x3b], 1
mov eax, dword [ebp + 0x10]
and dword [ebp + 0x14], 0
or eax, dword [ebp + 0x14]
jne 0x45af8d
cmp byte [ebp + 0x3b], bl
je 0x45afce
cmp dword [ebp + 0x28], ebx
jne 0x45afce
push 9
pop ecx
mov esi, str.imdisk___version
lea edi, [ebp - 0x60]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp + 0x7c]
lea eax, [ebp - 0x60]
push eax
movsw word es:[edi], word [esi]
call fcn.00428be4
test eax, eax
jne 0x45afce
mov eax, dword [ebp + 0x10]
or eax, dword [ebp + 0x14]
je 0x45afc7
push 0x11
pop eax
mov dword [ebp + 0x28], eax
mov dword [ebp + 0x10], eax
mov dword [ebp + 0x14], ebx
jmp 0x45afce
mov dword [ebp + 0x28], 0x40
mov esi, dword [ebp + 0x78]
lea eax, [ebp + 0x54]
push eax
mov dword [ebp + 0x54], esi
call fcn.00403ff2
pop ecx
jmp 0x45b06e
cmp dword [ebp - 0x34], ebx
mov eax, dword [ebp - 0xd8]
mov dword [eax], str.imdisk
jne 0x45b015
cmp dword [ebp + 0x28], ebx
jg 0x45b015
lea eax, [ebp + 0x24]
push eax
push dword [ebp - 0xd8]
push dword [ebp - 0xdc]
call fcn.0041723a
add esp, 0xc
mov edi, eax
jmp 0x45b044
push 0xffffffffffffffff
push str._Imdisk
lea ecx, [ebp + 0x78]
call fcn.0043a4f0
push dword [ebp + 0x54]
lea ecx, [ebp + 0x78]
call fcn.0042e232
push dword [ebp + 0x78]
mov ecx, dword [ebp + 0x7c]
call fcn.00428be4
lea ecx, [ebp + 0x78]
mov edi, eax
call fcn.00428a48
mov eax, dword [ebp + 0x10]
or eax, dword [ebp + 0x14]
je 0x45b08d
cmp edi, 3
jne 0x45b08d
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [ebp + 0x4c]
cmp eax, 0x1388
jae 0x45b08d
mov ecx, dword [ebp + 0x7c]
push 0xc8
call fcn.0040c4a3
push ebx
lea ecx, [ebp - 0x118]
push esi
call fcn.0043d9b9
cmp dword [ebp - 0xdc], 1
jg 0x45afe3
jmp 0x45ac6a
mov eax, dword [ebp - 0xd4]
mov dword [ebp + 0x78], eax
mov dword [ebp - 0xd4], ebx
lea ecx, [ebp + 0x78]
call fcn.00428a48
mov eax, dword [ebp + 0x20]
cmp word [eax], bx
je 0x45b0d9
push edi
lea esi, [ebp - 0x78]
mov eax, esi
push 0x4870bc
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
mov eax, dword [ebp + 0x24]
add esp, 0xc
cmp word [eax], 0x2a
jne 0x45b0cd
lea esi, [eax + 2]
mov ecx, dword [ebp + 0x7c]
push esi
push dword [ebp + 0x20]
call fcn.0042cbf7
mov ebx, edi
lea ecx, [ebp + 0x1c]
call fcn.00428a48
lea ecx, [ebp + 0xc]
call fcn.00428a48
lea ecx, [ebp + 0x44]
call fcn.00428a48
lea ecx, [ebp - 0xc]
call fcn.00428a48
lea ecx, [ebp - 8]
call fcn.00428a48
lea ecx, [ebp + 0x34]
call fcn.00428a48
lea ecx, [ebp - 0x10]
call fcn.00428a48
lea ecx, [ebp + 0x18]
call fcn.00428a48
lea ecx, [ebp + 0x64]
call fcn.00428a48
lea ecx, [ebp - 0x30]
call fcn.00428a48
lea ecx, [ebp + 0x20]
call fcn.00428a48
lea ecx, [ebp + 0x24]
call fcn.00428a48
pop edi
pop esi
mov eax, ebx
pop ebx
add ebp, 0x70
leave
ret