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

Disassembly:
push ebp
lea ebp, [esp - 0x70]
sub esp, 0x30c
push ebx
push esi
push edi
lea ecx, [ebp - 0x24]
call fcn.0040d3fe
lea ecx, [ebp - 0x24]
call fcn.0040d3f2
neg eax
sbb eax, eax
inc eax
push 0x3e8
lea ecx, [ebp + 0x2c]
mov dword [ebp - 0x1c], eax
call fcn.0042c415
mov edi, dword [ebp + 0x78]
lea eax, [ebp + 0x64]
xor ebx, ebx
add edi, 0xc
push eax
mov dword [ebp + 0x44], ebx
mov dword [ebp + 0x64], edi
call fcn.00403c2d
pop ecx
lea ecx, [ebp + 0x24]
call fcn.0042c3f7
lea ecx, [ebp - 0x20]
call fcn.0042c3f7
lea ecx, [ebp + 0x60]
call fcn.0042c3f7
lea ecx, [ebp + 0x28]
call fcn.0042c3f7
lea ecx, [ebp + 4]
call fcn.0042c3f7
lea ecx, [ebp + 0x38]
call fcn.0042c3f7
lea ecx, [ebp + 8]
call fcn.0042c3f7
lea ecx, [ebp]
call fcn.0042c3f7
lea ecx, [ebp + 0x4c]
call fcn.0042c3f7
lea ecx, [ebp + 0xc]
call fcn.0042c3f7
lea ecx, [ebp + 0x20]
call fcn.0042c3f7
or esi, 0xffffffff
cmp word [edi], 0x2a
mov dword [ebp - 0x18], esi
sete byte [ebp + 0x52]
cmp byte [ebp + 0x52], bl
mov dword [ebp - 0x14], esi
mov dword [ebp - 8], esi
mov dword [ebp - 4], esi
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0xc], ebx
mov dword [ebp + 0x18], ebx
mov dword [ebp + 0x10], ebx
mov dword [ebp + 0x14], ebx
je 0x4558d0
inc edi
push 0xc8
lea ecx, [ebp + 0x54]
inc edi
mov dword [ebp + 0x48], 0x480934
call fcn.0042c415
mov esi, dword [ebp + 0x64]
mov ax, word [esi]
mov word [ebp + 0x34], ax
mov word [esi], bx
mov dword [ebp + 0x5c], edi
jmp 0x455223
cmp ax, 0x2a
je 0x45522b
inc edi
inc edi
mov ax, word [edi]
cmp ax, bx
jne 0x45521b
cmp word [ebp + 0x34], bx
mov dword [ebp + 0x6c], esi
je 0x45523a
lea eax, [esi + 2]
mov dword [ebp + 0x6c], eax
lea eax, [ebp + 0x6c]
push eax
call fcn.00426ff7
pop ecx
push 2
lea eax, [ebp + 0x6c]
push eax
push 0x483ee0
call fcn.0042dfa9
add esp, 0xc
test al, al
je 0x455264
mov dword [ebp + 0x48], 0x480934
jmp 0x455244
push 3
lea eax, [ebp + 0x6c]
push eax
push 0x487248
call fcn.0042dfa9
add esp, 0xc
test al, al
je 0x455284
mov dword [ebp + 0x48], 0x4884bc
jmp 0x455244
push 4
lea eax, [ebp + 0x6c]
push eax
push str._map
call fcn.0042dfa9
add esp, 0xc
test al, al
je 0x4552a4
mov dword [ebp + 0x18], 1
jmp 0x455244
push 4
lea eax, [ebp + 0x6c]
push eax
push str._exe
call fcn.0042dfa9
add esp, 0xc
test al, al
je 0x4552c4
mov dword [ebp + 0x44], 1
jmp 0x455244
push 5
lea eax, [ebp + 0x6c]
push eax
push str._nexe
call fcn.0042dfa9
add esp, 0xc
test al, al
je 0x4552e7
mov dword [ebp + 0x44], 0xfff00000
jmp 0x455244
mov eax, edi
sub eax, dword [ebp + 0x5c]
lea ecx, [ebp + 0x24]
sar eax, 1
push eax
push dword [ebp + 0x5c]
call fcn.0042c51d
mov eax, dword [ebp + 0x24]
cmp word [eax], bx
je 0x455363
mov esi, 0x4884a0
push esi
lea ecx, [ebp + 0x6c]
call fcn.004361de
push dword [ebp + 0x24]
lea ecx, [ebp + 0x6c]
call fcn.0042c465
push esi
lea ecx, [ebp + 0x6c]
call fcn.0042c465
mov ecx, dword [ebp + 0x7c]
push ebx
push ebx
lea eax, [ebp + 0x2c]
push eax
push dword [ebp + 0x6c]
call fcn.0043c12f
mov ecx, dword [ebp + 0x2c]
mov ax, word [ecx]
cmp ax, bx
je 0x45534b
cmp ax, 0x2a
je 0x45534b
mov word [ecx], 0x3f
push 0x3e8
lea ecx, [ebp + 0x2c]
call fcn.0042c43e
lea ecx, [ebp + 0x6c]
call fcn.0042704a
mov esi, dword [ebp + 0x64]
cmp word [edi], 0x2a
jne 0x4558c4
inc edi
inc edi
cmp word [edi], 0x40
mov dword [ebp + 0x3c], ebx
mov dword [ebp + 0x40], ebx
mov dword [ebp + 0x58], ebx
mov dword [ebp + 0x5c], ebx
mov byte [ebp + 0x7b], bl
mov dword [ebp + 0x6c], edi
jne 0x455390
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.0043066d
mov eax, dword [ebp + 0x6c]
cmp word [eax], bx
pop ecx
pop ecx
je 0x4553ab
add dword [ebp + 0x6c], 2
lea eax, [ebp - 8]
push eax
lea eax, [ebp + 0x6c]
push eax
call fcn.0043066d
mov eax, dword [ebp + 0x6c]
cmp word [eax], bx
pop ecx
pop ecx
je 0x4553c6
add dword [ebp + 0x6c], 2
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp + 0x6c]
push eax
call fcn.0043066d
mov esi, dword [ebp + 0x6c]
cmp word [esi], bx
pop ecx
pop ecx
je 0x4553e2
inc esi
inc esi
mov dword [ebp + 0x6c], esi
push 0x2a
lea eax, [ebp + 0x6c]
call fcn.0040ed85
mov edi, dword [ebp + 0x6c]
mov eax, edi
pop ecx
sub eax, esi
sar eax, 1
push eax
push esi
lea ecx, [ebp + 0x20]
call fcn.0042c51d
cmp word [edi], bx
je 0x455409
add dword [ebp + 0x6c], 2
mov esi, dword [ebp + 0x6c]
push 0x2a
lea eax, [ebp + 0x6c]
call fcn.0040ed85
mov edi, dword [ebp + 0x6c]
mov eax, edi
pop ecx
sub eax, esi
sar eax, 1
push eax
push esi
lea ecx, [ebp + 0x4c]
call fcn.0042c51d
cmp word [edi], bx
je 0x455433
add dword [ebp + 0x6c], 2
lea eax, [ebp + 0x3c]
push eax
lea eax, [ebp + 0x6c]
push eax
call fcn.0043066d
mov esi, dword [ebp + 0x6c]
cmp word [esi], bx
pop ecx
pop ecx
je 0x45544f
inc esi
inc esi
mov dword [ebp + 0x6c], esi
push 0x2a
lea eax, [ebp + 0x6c]
call fcn.0040ed85
mov eax, dword [ebp + 0x6c]
pop ecx
sub eax, esi
sar eax, 1
push eax
push esi
lea ecx, [ebp + 0xc]
call fcn.0042c51d
lea eax, [ebp + 0x58]
push eax
lea eax, [ebp + 0x6c]
push eax
call fcn.0043066d
cmp byte [ebp + 0x7b], bl
mov esi, dword [ebp - 0x18]
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 4]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x14]
mov dword [ebp + 0x68], esi
mov dword [ebp + 0x6c], ecx
mov dword [ebp + 0x10], eax
mov dword [ebp + 0x14], edx
je 0x4554a9
add eax, esi
mov dword [ebp + 0x10], eax
mov eax, edx
adc eax, ecx
mov dword [ebp + 0x68], ebx
mov dword [ebp + 0x6c], ebx
mov dword [ebp + 0x14], eax
cmp dword [ebp + 0x40], ebx
jl 0x4554cb
jg 0x4554b5
cmp dword [ebp + 0x3c], ebx
jbe 0x4554cb
cmp dword [ebp + 0x5c], ebx
jg 0x4554cb
jl 0x4554c1
cmp dword [ebp + 0x58], ebx
ja 0x4554cb
mov dword [ebp + 0x58], 1
mov dword [ebp + 0x5c], ebx
mov edi, dword [ebp + 0x20]
push 0x5c
push ebx
push edi
call dword [sym.imp.SHLWAPI.dll_StrRChrW]
cmp eax, ebx
jne 0x4554e1
mov dword [ebp + 0x78], edi
jmp 0x4554e6
inc eax
inc eax
mov dword [ebp + 0x78], eax
push ebx
mov edi, 0x200
push edi
push dword [ebp - 0x14]
mov word [ebp - 0x238], bx
push esi
mov word [ebp - 0x29c], bx
call fcn.0046d380
push edx
push eax
lea eax, [ebp - 0x168]
push eax
call fcn.00435e84
add esp, 0xc
push ebx
push edi
push dword [ebp - 4]
push dword [ebp - 8]
call fcn.0046d380
push edx
push eax
lea eax, [ebp - 0x1d4]
push eax
call fcn.00435e84
add esp, 0xc
cmp dword [ebp + 0x40], ebx
mov word [ebp - 0x238], bx
jl 0x45555b
jg 0x455546
cmp dword [ebp + 0x3c], ebx
jbe 0x45555b
push dword [ebp + 0x40]
lea eax, [ebp - 0x238]
push dword [ebp + 0x3c]
push eax
call fcn.00435e84
add esp, 0xc
cmp dword [ebp + 0x5c], ebx
jl 0x45557c
jg 0x455567
cmp dword [ebp + 0x58], ebx
jbe 0x45557c
push dword [ebp + 0x5c]
lea eax, [ebp - 0x29c]
push dword [ebp + 0x58]
push eax
call fcn.00435e84
add esp, 0xc
mov eax, dword [ebp + 0x4c]
cmp word [eax], bx
jne 0x4555b9
push 0x800
lea ecx, [ebp + 0x4c]
call fcn.0042c43e
call fcn.00428bd8
push eax
lea eax, [ebp - 0x1d4]
push eax
lea eax, [ebp - 0x168]
push eax
push dword [ebp + 0x78]
push str._s_s_s__u
push dword [ebp + 0x4c]
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x18
push dword [ebp + 0x4c]
mov esi, dword [sym.imp.KERNEL32.dll_lstrlenW]
call esi
mov dword [ebp + 0x78], eax
mov eax, 0x400
cmp dword [ebp + 0x78], eax
jle 0x4555de
mov dword [ebp + 0x78], eax
mov eax, dword [ebp + 0x4c]
mov word [eax + 0x800], bx
push 0xffffffffffffffff
push str.Global_
lea ecx, [ebp + 0x54]
call fcn.0042c51d
push dword [ebp + 0x4c]
lea ecx, [ebp + 0x54]
call fcn.0042c465
push str._devio_Ack
lea ecx, [ebp + 0x54]
call fcn.0042c465
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0xc]
mov cl, 1
mov word [ebp - 0x60], bx
call fcn.0046ce90
and eax, 3
je 0x45562e
push eax
lea eax, [ebp - 0x60]
push str._nrc:_d
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
mov eax, dword [ebp - 0x10]
and eax, 1
or eax, ebx
mov dword [ebp + 0x5c], 0x480934
jne 0x455646
mov dword [ebp + 0x5c], 0x488448
push ebx
push edi
push dword [ebp + 0x6c]
push dword [ebp + 0x68]
call fcn.0046d380
push edx
push eax
lea eax, [ebp - 0x168]
push eax
call fcn.00435e84
add esp, 0xc
push ebx
push edi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
call fcn.0046d380
push edx
push eax
lea eax, [ebp - 0x1d4]
push eax
call fcn.00435e84
mov ecx, dword [ebp + 0x7c]
add esp, 0xc
push 0x482188
push str.__ImdMapPid
call fcn.0042af0d
push dword [ebp + 0x20]
call esi
push dword [ebp + 0xc]
mov edi, eax
call esi
add eax, edi
mov edi, dword [ebp + 0x78]
lea eax, [eax + edi + 0x800]
push eax
lea ecx, [ebp + 0x6c]
call fcn.0042c415
lea eax, [ebp - 0x238]
push eax
mov esi, dword [sym.imp.USER32.dll_wsprintfW]
lea eax, [ebp - 0x29c]
push eax
lea eax, [ebp - 0x168]
push eax
lea eax, [ebp - 0x1d4]
push eax
push dword [ebp + 0x20]
lea eax, [ebp - 0x60]
push dword [ebp + 0x4c]
push dword [ebp + 0x5c]
push eax
push dword [ebp + 0xc]
push dword [ebp + 0x48]
push str.EXEC___pid:__ImdMapPid____exe:_s10INDATA___nfb___MyName0____w:60000__s__s__s_shm:_s___s__s__s__s__s
push dword [ebp + 0x6c]
call esi
add esp, 0x30
add edi, 0x800
push edi
lea ecx, [ebp + 0x60]
call fcn.0042c43e
push dword [ebp + 0x4c]
mov word [ebp - 0x168], bx
push 0x480934
push str.imdisk__a__t_proxy__s__o_shm__f__s
push dword [ebp + 0x60]
mov word [ebp - 0x1d4], bx
call esi
mov ax, word [ebp + 0x34]
mov ecx, dword [ebp + 0x64]
mov word [ecx], ax
lea eax, [ebp + 0x64]
push eax
call fcn.00426ff7
push 4
push dword [ebp + 0x64]
mov dword [ebp + 0x48], ebx
push str.__w:
call fcn.00427f14
add esp, 0x20
test al, al
je 0x455765
add dword [ebp + 0x64], 8
lea eax, [ebp + 0x48]
push eax
lea eax, [ebp + 0x64]
push eax
call fcn.0042ed5c
pop ecx
pop ecx
push 0xffffffffffffffff
lea eax, [ebp + 0x64]
push eax
push 0x488304
call fcn.0042df66
mov esi, dword [ebp + 0x64]
add esp, 0xc
push esi
lea ecx, [ebp + 0x60]
call fcn.0042c465
push dword [ebp + 0x54]
mov eax, dword [ebp + 0x60]
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 + 0x6c]
mov edi, eax
call fcn.00420c52
push 0xea60
push edi
mov word [esi], bx
mov dword [ebp + 0x18], 1
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push edi
mov esi, eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp esi, ebx
je 0x45589a
lea ecx, [ebp + 0x6c]
mov dword [ebp + 0x64], 1
call fcn.0042704a
lea ecx, [ebp + 0x54]
call fcn.0042704a
mov eax, dword [ebp + 0x54]
mov ecx, dword [eax + 0x3c]
mov edi, dword [ebp + 0x24]
mov dword [eax + 0x3c], ebx
cmp word [edi], bx
mov dword [ebp + 0x78], ecx
je 0x455825
push dword [ebp + 0x64]
lea esi, [ebp - 0x64]
mov eax, esi
push 0x482fd4
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
mov eax, dword [ebp + 0x2c]
add esp, 0xc
cmp word [eax], 0x2a
jne 0x45581b
lea esi, [eax + 2]
mov ecx, dword [ebp + 0x7c]
push esi
push edi
call fcn.0042af0d
lea ecx, [ebp + 0x78]
call fcn.0042704a
mov ebx, dword [ebp + 0x64]
lea ecx, [ebp + 0x20]
call fcn.0042704a
lea ecx, [ebp + 0xc]
call fcn.0042704a
lea ecx, [ebp + 0x4c]
call fcn.0042704a
lea ecx, [ebp]
call fcn.0042704a
lea ecx, [ebp + 8]
call fcn.0042704a
lea ecx, [ebp + 0x38]
call fcn.0042704a
lea ecx, [ebp + 4]
call fcn.0042704a
lea ecx, [ebp + 0x28]
call fcn.0042704a
lea ecx, [ebp + 0x60]
call fcn.0042704a
lea ecx, [ebp - 0x20]
call fcn.0042704a
lea ecx, [ebp + 0x24]
call fcn.0042704a
lea ecx, [ebp + 0x2c]
call fcn.0042704a
pop edi
pop esi
mov eax, ebx
pop ebx
add ebp, 0x70
leave
ret
push 0x32
pop esi
push ebx
call dword [sym.imp.KERNEL32.dll_Sleep]
dec esi
jne 0x45589d
cmp dword [ebp + 0x48], ebx
jle 0x4558b7
push dword [ebp + 0x48]
mov ecx, dword [ebp + 0x7c]
call fcn.0040b65c
lea ecx, [ebp + 0x6c]
call fcn.0042704a
jmp 0x455ce5
mov ax, word [ebp + 0x34]
mov word [esi], ax
jmp 0x455ce5
push 4
lea eax, [ebp + 0x64]
push eax
push str._exe
call fcn.0042df66
add esp, 0xc
test al, al
je 0x4558ee
mov dword [ebp + 0x44], 1
push 5
lea eax, [ebp + 0x64]
push eax
push str._nexe
call fcn.0042df66
add esp, 0xc
test al, al
je 0x45590c
mov dword [ebp + 0x44], 0xfff00000
push 0x2c
pop edi
push edi
lea eax, [ebp + 0x28]
push eax
lea eax, [ebp + 0x78]
push eax
call fcn.0042e8ac
mov eax, dword [ebp + 0x28]
mov word [eax], bx
mov eax, dword [ebp + 0x78]
add esp, 0xc
cmp word [eax], bx
je 0x4559dc
add dword [ebp + 0x78], 2
push edi
lea eax, [ebp + 0x28]
push eax
lea eax, [ebp + 0x78]
push eax
call fcn.0042e8ac
mov eax, dword [ebp + 0x78]
add esp, 0xc
cmp word [eax], bx
je 0x4559dc
add dword [ebp + 0x78], 2
push edi
lea eax, [ebp + 4]
push eax
lea eax, [ebp + 0x78]
push eax
call fcn.0042e8ac
mov eax, dword [ebp + 0x78]
add esp, 0xc
cmp word [eax], bx
je 0x4559dc
add dword [ebp + 0x78], 2
push edi
lea eax, [ebp + 0x38]
push eax
lea eax, [ebp + 0x78]
push eax
call fcn.0042e8ac
mov eax, dword [ebp + 0x78]
add esp, 0xc
cmp word [eax], bx
je 0x4559dc
add dword [ebp + 0x78], 2
push edi
lea eax, [ebp + 8]
push eax
lea eax, [ebp + 0x78]
push eax
call fcn.0042e8ac
mov eax, dword [ebp + 0x78]
add esp, 0xc
cmp word [eax], bx
je 0x4559dc
add dword [ebp + 0x78], 2
push edi
lea eax, [ebp]
push eax
lea eax, [ebp + 0x78]
push eax
call fcn.0042e8ac
mov eax, dword [ebp + 0x78]
add esp, 0xc
cmp word [eax], bx
je 0x4559dc
add dword [ebp + 0x78], 2
push edi
lea eax, [ebp + 0x10]
push eax
lea eax, [ebp + 0x78]
push eax
call fcn.0042ea62
add esp, 0xc
push 6
lea ecx, [ebp + 0x38]
mov byte [ebp + 0x7b], bl
call fcn.0042c43e
mov edi, dword [ebp + 0x38]
mov word [edi + 2], 0x3a
mov word [edi + 4], bx
cmp word [edi], bx
je 0x455a51
push edi
call fcn.0046c02a
test eax, eax
pop ecx
je 0x455a4c
lea ecx, [ebp + 0x5c]
mov dword [ebp - 0x38], str.imdisk
mov dword [ebp - 0x34], 0x4882ec
mov dword [ebp - 0x30], 0x4882e4
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x28], ebx
call fcn.0042c3f7
lea eax, [ebp + 0x5c]
push eax
lea eax, [ebp - 0x38]
push eax
push 4
call fcn.00415ccf
add esp, 0xc
neg eax
sbb al, al
inc al
lea ecx, [ebp + 0x5c]
mov byte [ebp + 0x7b], al
call fcn.0042704a
cmp word [edi], bx
jne 0x455a70
push 0x4835b8
lea ecx, [ebp + 0x38]
call fcn.00436246
mov eax, dword [ebp + 0x38]
cmp word [eax], bx
jne 0x455a70
mov ebx, 0x80070057
jmp 0x455830
push 0x3c
lea ecx, [ebp + 0x54]
call fcn.0042c415
mov eax, dword [ebp + 0x28]
cmp word [eax], bx
mov dword [ebp + 0x58], esi
mov dword [ebp + 0x5c], esi
mov dword [ebp + 0x3c], esi
mov dword [ebp + 0x40], esi
mov dword [ebp + 0x30], esi
mov dword [ebp + 0x34], esi
mov edi, esi
mov dword [ebp + 0x6c], eax
je 0x455d26
lea eax, [ebp + 0x6c]
push eax
call fcn.00426ff7
mov eax, dword [ebp + 0x6c]
mov ax, word [eax]
or ax, 0x20
cmp ax, 0x70
pop ecx
jne 0x455abc
lea eax, [ebp + 0x58]
jmp 0x455ad0
cmp ax, 0x6c
jne 0x455ac7
lea eax, [ebp + 0x3c]
jmp 0x455ad0
cmp ax, 0x68
jne 0x455ae8
lea eax, [ebp + 0x30]
add dword [ebp + 0x6c], 2
push eax
lea eax, [ebp + 0x6c]
push eax
call fcn.0042ec7e
mov eax, dword [ebp + 0x6c]
cmp word [eax], bx
pop ecx
pop ecx
jne 0x455a9d
cmp dword [ebp + 0x5c], ebx
jl 0x455b24
jg 0x455af4
cmp dword [ebp + 0x58], ebx
jbe 0x455b24
push ebx
call fcn.0040f145
pop ecx
push dword [ebp + 0x5c]
push dword [ebp + 0x58]
push edx
push eax
call fcn.0046d500
push ebx
push 0x64
push edx
push eax
call fcn.0046d380
add eax, 0xfffff
adc edx, ebx
mov cl, 0x14
call fcn.0046ce90
mov esi, eax
mov edi, edx
cmp edi, dword [ebp + 0x40]
jg 0x455b36
jl 0x455b30
cmp esi, dword [ebp + 0x3c]
jae 0x455b36
mov esi, dword [ebp + 0x3c]
mov edi, dword [ebp + 0x40]
mov eax, dword [ebp + 0x34]
cmp eax, ebx
jl 0x455b63
jg 0x455b44
cmp dword [ebp + 0x30], ebx
jbe 0x455b63
cmp edi, eax
jl 0x455b54
jg 0x455b4f
cmp esi, dword [ebp + 0x30]
jbe 0x455b54
mov esi, dword [ebp + 0x30]
mov edi, eax
cmp edi, ebx
jg 0x455b75
jl 0x455b5e
cmp esi, ebx
ja 0x455b63
mov esi, dword [ebp + 0x30]
mov edi, eax
cmp edi, ebx
jl 0x455d26
jg 0x455b75
cmp esi, ebx
jb 0x455d26
mov ecx, dword [ebp + 0x38]
cmp word [ecx], bx
je 0x455d26
cmp edi, ebx
jg 0x455b90
jl 0x455b8b
cmp esi, ebx
ja 0x455b90
xor esi, esi
inc esi
xor edi, edi
cmp dword [ebp + 0x40], ebx
jg 0x455bcb
jl 0x455b9c
cmp dword [ebp + 0x3c], ebx
ja 0x455bcb
cmp eax, ebx
jg 0x455bcb
jl 0x455ba7
cmp dword [ebp + 0x30], ebx
ja 0x455bcb
cmp dword [ebp + 0x5c], ebx
jl 0x455bcb
jg 0x455bb3
cmp dword [ebp + 0x58], ebx
jbe 0x455bcb
push dword [ebp + 0x5c]
push dword [ebp + 0x58]
push dword [ebp + 0x54]
call fcn.00435e84
add esp, 0xc
push 0x4882dc
jmp 0x455bdd
push edi
push esi
push dword [ebp + 0x54]
call fcn.00435e9e
add esp, 0xc
push 0x4882d4
lea ecx, [ebp + 0x54]
call fcn.0042c465
cmp byte [ebp + 0x7b], bl
mov eax, str.imdisk___e
jne 0x455bf4
mov eax, str.imdisk___a
push eax
lea ecx, [ebp + 0x60]
call fcn.00436246
mov eax, dword [ebp + 0x10]
and eax, 1
or eax, ebx
je 0x455c14
push str.__o_awe
lea ecx, [ebp + 0x60]
call fcn.0042c465
mov esi, dword [ebp + 0x54]
cmp word [esi], bx
je 0x455c32
push str.___s
lea ecx, [ebp + 0x60]
call fcn.0042c465
push esi
lea ecx, [ebp + 0x60]
call fcn.0042c465
mov esi, dword [ebp + 0x38]
cmp word [esi], bx
je 0x455c50
push str.___m
lea ecx, [ebp + 0x60]
call fcn.0042c465
push esi
lea ecx, [ebp + 0x60]
call fcn.0042c465
mov esi, dword [ebp + 4]
cmp word [esi], bx
mov edi, dword [ebp + 8]
jne 0x455c60
cmp word [edi], bx
je 0x455cdf
push str.___p__
lea ecx, [ebp + 0x60]
call fcn.0042c465
cmp word [esi], bx
je 0x455c88
push str.__FS:
lea ecx, [ebp + 0x60]
call fcn.0042c465
push esi
lea ecx, [ebp + 0x60]
call fcn.0042c465
cmp word [edi], bx
je 0x455ca3
push str.__V:
lea ecx, [ebp + 0x60]
call fcn.0042c465
push edi
lea ecx, [ebp + 0x60]
call fcn.0042c465
push esi
push str.NTFS
call fcn.00427f44
test al, al
pop ecx
pop ecx
je 0x455cd2
mov eax, dword [ebp]
mov ax, word [eax]
cmp ax, bx
je 0x455cd2
cmp ax, 0x30
je 0x455cd2
push 0x486d94
lea ecx, [ebp + 0x60]
call fcn.0042c465
push str.___Q__Y__
lea ecx, [ebp + 0x60]
call fcn.0042c465
mov eax, dword [ebp + 0x60]
mov dword [ebp + 0x78], eax
lea ecx, [ebp + 0x54]
call fcn.0042704a
lea eax, [ebp + 0x64]
push eax
call fcn.00426ff7
push 4
push dword [ebp + 0x64]
push str._gui
call fcn.00427eca
add esp, 0x10
test al, al
je 0x455d33
mov ecx, dword [ebp + 0x7c]
push 0xffffffffffffff9c
push 0x480934
push ebx
push str.imdisk.cpl_
call fcn.00441969
jmp 0x455830
lea ecx, [ebp + 0x54]
call fcn.0042704a
jmp 0x455a66
push 0x24
fldz
xor eax, eax
fstp qword [ebp - 0xfc]
pop ecx
lea edi, [ebp - 0xf4]
rep stosd dword es:[edi], eax
lea eax, [ebp - 0xfc]
mov dword [ebp + 0x54], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, 0xc8
cmp byte [ebp + 0x52], bl
mov dword [ebp + 0x48], eax
mov byte [ebp + 0x53], bl
je 0x455d81
push 2
push dword [ebp + 0x64]
push 0x488304
call fcn.00427eca
add esp, 0xc
test al, al
je 0x455d81
mov byte [ebp + 0x53], 1
mov eax, dword [ebp + 0x18]
and dword [ebp + 0x1c], 0
or eax, dword [ebp + 0x1c]
jne 0x455d92
cmp byte [ebp + 0x53], bl
je 0x455dd3
cmp dword [ebp + 0x44], ebx
jne 0x455dd3
push 9
pop ecx
mov esi, str.imdisk___version
lea edi, [ebp - 0x4c]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp + 0x7c]
lea eax, [ebp - 0x4c]
push eax
movsw word es:[edi], word [esi]
call fcn.00427187
test eax, eax
jne 0x455dd3
mov eax, dword [ebp + 0x18]
or eax, dword [ebp + 0x1c]
je 0x455dcc
push 0x11
pop eax
mov dword [ebp + 0x44], eax
mov dword [ebp + 0x18], eax
mov dword [ebp + 0x1c], ebx
jmp 0x455dd3
mov dword [ebp + 0x44], 0x40
mov esi, dword [ebp + 0x78]
lea eax, [ebp + 0x5c]
push eax
mov dword [ebp + 0x5c], esi
call fcn.00403c2d
pop ecx
push ebx
push esi
jmp 0x455e88
cmp dword [ebp - 0x1c], ebx
mov eax, dword [ebp - 0xc4]
mov dword [eax], str.imdisk
jne 0x455e1d
cmp dword [ebp + 0x44], ebx
jg 0x455e1d
lea eax, [ebp + 0x2c]
push eax
push dword [ebp - 0xc4]
push dword [ebp - 0xc8]
call fcn.00415ccf
add esp, 0xc
mov dword [ebp + 0x64], eax
jmp 0x455e4d
push 0xffffffffffffffff
push str._Imdisk
lea ecx, [ebp + 0x34]
call fcn.00436214
push dword [ebp + 0x5c]
lea ecx, [ebp + 0x34]
call fcn.0042c465
push dword [ebp + 0x34]
mov ecx, dword [ebp + 0x7c]
call fcn.00427187
lea ecx, [ebp + 0x34]
mov dword [ebp + 0x64], eax
call fcn.0042704a
mov eax, dword [ebp + 0x18]
or eax, dword [ebp + 0x1c]
je 0x4557e4
cmp dword [ebp + 0x64], 3
jne 0x4557e4
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [ebp + 0x48]
cmp eax, 0x1388
jae 0x4557e4
mov ecx, dword [ebp + 0x7c]
push 0xc8
call fcn.0040b65c
push ebx
push dword [ebp + 0x78]
lea ecx, [ebp - 0xfc]
call fcn.0043969f
cmp dword [ebp - 0xc8], 1
jg 0x455dea
jmp 0x455a66