Function at 0x4a4a00
Capabilities:
Check for time delay via gettickcount
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x4ecb58
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x270
push ebx
push ebp
push esi
push edi
lea ecx, [esp + 0xf0]
call fcn.004226fe
fld qword [0x4f7808]
mov ecx, 0x26
fstp qword [esp + 0x1a4]
xor eax, eax
lea edi, [esp + 0x1ac]
mov byte [esp + 0x23], 0xff
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x290]
push eax
lea ecx, [esp + 0x80]
xor ebp, ebp
mov esi, 0x4efd50
mov byte [esp + 0x53], 0
call fcn.00456550
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x18], ecx
push 0x3e8
lea ecx, [esp + 0x68]
mov dword [esp + 0x28c], ebp
call fcn.004494b0
mov eax, dword [esp + 0x18]
add eax, 0xc
mov ecx, eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x54], ecx
movzx eax, word [eax]
cmp ax, bp
mov byte [esp + 0x288], 1
mov dword [esp + 0x44], ebp
mov dword [esp + 0xf8], ebp
mov dword [esp + 0xe8], ebp
je 0x4a4ae1
lea ecx, [ecx]
cmp ax, 9
jb 0x4a4acc
cmp ax, 0xd
jbe 0x4a4ae1
cmp ax, 0x20
je 0x4a4ae1
add ecx, 2
mov dword [esp + 0x54], ecx
mov ax, word [ecx]
cmp ax, bp
jne 0x4a4ac0
lea edx, [esp + 0xe4]
push edx
mov dword [esp + 0xe8], ecx
call fcn.00443850
mov eax, dword [esp + 0xe8]
push 6
push eax
push str.__free
call fcn.00444970
add esp, 0x10
test al, al
jne 0x4a65b9
push 0x51d5ec
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, dword [0x51d63c]
inc ecx
push 0x51d5ec
mov dword [0x51d63c], ecx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push ebp
lea ecx, [esp + 0xf4]
mov byte [esp + 0x28c], 3
call fcn.00422701
lea ecx, [esp + 0xf0]
call fcn.004226f2
neg eax
sbb eax, eax
inc eax
lea ecx, [esp + 0x3c]
mov dword [esp + 0xa4], eax
call fcn.00449480
lea ecx, [esp + 0x90]
mov byte [esp + 0x288], 4
call fcn.00449480
lea ecx, [esp + 0x1c]
mov byte [esp + 0x288], 5
call fcn.00449480
mov dword [esp + 0x50], ebp
lea ecx, [esp + 0x68]
mov byte [esp + 0x288], 7
call fcn.00449480
lea ecx, [esp + 0x48]
mov byte [esp + 0x288], 8
call fcn.00449480
lea ecx, [esp + 0x28]
mov byte [esp + 0x288], 9
call fcn.00449480
lea ecx, [esp + 0x74]
mov byte [esp + 0x288], 0xa
call fcn.00449480
lea ecx, [esp + 0x84]
mov byte [esp + 0x288], 0xb
call fcn.00449480
lea ecx, [esp + 0x2c]
mov byte [esp + 0x288], 0xc
call fcn.00449480
lea ecx, [esp + 0x78]
mov byte [esp + 0x288], 0xd
call fcn.00449480
lea ecx, [esp + 0x34]
mov byte [esp + 0x288], 0xe
call fcn.00449480
mov dword [esp + 0x88], ebp
mov edx, dword [esp + 0x14]
or eax, 0xffffffff
mov dword [esp + 0xc0], eax
mov dword [esp + 0xc4], eax
mov dword [esp + 0xc8], eax
mov dword [esp + 0xcc], eax
mov dword [esp + 0xd0], ebp
mov dword [esp + 0xd4], ebp
mov dword [esp + 0x148], ebp
mov dword [esp + 0x14c], ebp
cmp word [edx], 0x2a
mov byte [esp + 0x288], 0x10
sete bl
mov dword [esp + 0x104], ebp
mov byte [esp + 0x58], bl
mov dword [esp + 0x80], ebp
push 0xc8
lea ecx, [esp + 0x70]
mov dword [esp + 0xb4], esi
mov dword [esp + 0xbc], esi
call fcn.004494b0
mov eax, dword [esp + 0x54]
mov esi, dword [esp + 0xe4]
xor edi, edi
test bl, bl
mov di, word [eax]
mov byte [esp + 0x288], 0x11
mov dword [esp + 0xe0], eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x130], edi
je 0x4a4e59
add dword [esp + 0x14], 2
mov word [eax], bp
mov eax, dword [esp + 0x14]
mov cx, word [eax]
cmp cx, bp
mov edx, eax
je 0x4a4d05
lea esp, [esp]
cmp cx, 0x2a
je 0x4a4d05
add eax, 2
mov dword [esp + 0x14], eax
mov cx, word [eax]
cmp cx, bp
jne 0x4a4cf0
sub eax, edx
sar eax, 1
push eax
push edx
lea ecx, [esp + 0x44]
call fcn.00449600
mov eax, dword [esp + 0x3c]
cmp word [eax], bp
je 0x4a4d2b
push 0x3e8
lea ecx, [esp + 0x68]
call fcn.004494e0
cmp di, bp
mov eax, dword [esp + 0x54]
mov dword [esp + 0x38], eax
je 0x4a4d3f
add eax, 2
mov dword [esp + 0x38], eax
lea ecx, [esp + 0x38]
push ecx
call fcn.00443850
add esp, 4
mov edi, 1
mov esi, 0xfff00000
push 4
lea edx, [esp + 0x3c]
push edx
push str._mem
call fcn.0044b9b0
add esp, 0xc
test al, al
je 0x4a4d7b
mov dword [esp + 0xb0], 0x4efd50
jmp 0x4a4d56
push 2
lea eax, [esp + 0x3c]
push eax
push 0x4f6da4
call fcn.0044b9b0
add esp, 0xc
test al, al
je 0x4a4da0
mov dword [esp + 0xb0], 0x4efd50
jmp 0x4a4d56
push 3
lea ecx, [esp + 0x3c]
push ecx
push 0x4fa1c4
call fcn.0044b9b0
add esp, 0xc
test al, al
je 0x4a4dc5
mov dword [esp + 0xb0], 0x4fc1f4
jmp 0x4a4d56
push 4
lea edx, [esp + 0x3c]
push edx
push str._map
call fcn.0044b9b0
add esp, 0xc
test al, al
je 0x4a4de9
mov dword [esp + 0x104], edi
jmp 0x4a4d56
push 4
lea eax, [esp + 0x3c]
push eax
push str._exe
call fcn.0044b9b0
add esp, 0xc
test al, al
je 0x4a4e0a
mov dword [esp + 0x44], edi
jmp 0x4a4d56
push 5
lea ecx, [esp + 0x3c]
push ecx
push str._nexe
call fcn.0044b9b0
add esp, 0xc
test al, al
je 0x4a4e2b
mov dword [esp + 0x44], esi
jmp 0x4a4d56
push 6
lea edx, [esp + 0x3c]
push edx
push str._nexe1
call fcn.0044b9b0
add esp, 0xc
test al, al
je 0x4a4e53
mov dword [esp + 0x44], esi
mov dword [esp + 0xe8], edi
jmp 0x4a4d56
mov esi, dword [esp + 0x38]
jmp 0x4a4e5e
mov edi, 1
mov ecx, dword [esp + 0x294]
push 0x4fc1c4
push 0x4fb960
call fcn.00448be0
mov eax, dword [esp + 0x3c]
cmp word [eax], bp
push 0xffffffffffffffff
lea ecx, [esp + 0x54]
push 0xffffffffffffffff
je 0x4a4ead
push 0x4fc1c0
call fcn.00449560
mov ecx, dword [esp + 0x3c]
push ecx
lea ecx, [esp + 0x54]
call fcn.00449510
push str.Imdisk
lea ecx, [esp + 0x54]
call fcn.00449510
jmp 0x4a4eb7
push str._Imdisk
call fcn.00449560
push 9
push esi
push str.__version
call fcn.00444970
push 2
push esi
push 0x4fc190
call fcn.00444970
add esp, 0x18
test bl, bl
je 0x4a5ba8
mov eax, dword [esp + 0x38]
mov dword [esp + 0x8c], eax
cmp word [eax], bp
mov esi, 2
je 0x4a4f6f
push esi
lea edx, [esp + 0x90]
push edx
push 0x4f6da4
call fcn.0044b960
add esp, 0xc
test al, al
jne 0x4a4f61
mov ecx, dword [esp + 0x8c]
mov ax, word [ecx]
cmp ax, bp
je 0x4a4f43
mov edi, edi
cmp ax, 9
jb 0x4a4f2c
cmp ax, 0xd
jbe 0x4a4f43
cmp ax, 0x20
je 0x4a4f43
add ecx, esi
mov dword [esp + 0x8c], ecx
mov ax, word [ecx]
cmp ax, bp
jne 0x4a4f20
lea eax, [esp + 0x8c]
push eax
call fcn.00443850
mov ecx, dword [esp + 0x90]
add esp, 4
cmp word [ecx], bp
jne 0x4a4ef5
jmp 0x4a4f6f
mov edx, dword [esp + 0x8c]
mov dword [esp + 0xb8], edx
mov eax, dword [esp + 0x14]
cmp word [eax], 0x2a
jne 0x4a5b91
add eax, esi
mov dword [esp + 0xfc], ebp
mov dword [esp + 0x100], ebp
mov dword [esp + 0xd8], ebp
mov dword [esp + 0xdc], ebp
xor bl, bl
mov dword [esp + 0x14], eax
cmp word [eax], 0x40
jne 0x4a4faf
add eax, esi
mov bl, 1
mov dword [esp + 0x14], eax
lea eax, [esp + 0xc0]
push eax
lea ecx, [esp + 0x18]
push ecx
call fcn.0044f5a0
mov edx, dword [esp + 0x1c]
add esp, 8
cmp word [edx], bp
je 0x4a4fd5
mov eax, edx
add eax, esi
mov dword [esp + 0x14], eax
lea eax, [esp + 0xc8]
push eax
lea ecx, [esp + 0x18]
push ecx
call fcn.0044f5a0
mov edx, dword [esp + 0x1c]
add esp, 8
cmp word [edx], bp
je 0x4a4ffb
mov eax, edx
add eax, esi
mov dword [esp + 0x14], eax
lea eax, [esp + 0xd0]
push eax
lea ecx, [esp + 0x18]
push ecx
call fcn.0044f5a0
mov eax, dword [esp + 0x1c]
add esp, 8
cmp word [eax], bp
je 0x4a501f
add eax, esi
mov dword [esp + 0x14], eax
mov cl, byte [esp + 0xd0]
and cl, 1
cmp eax, ebp
mov byte [esp + 0x33], cl
mov edx, eax
je 0x4a5054
mov cx, word [eax]
cmp cx, bp
je 0x4a5054
jmp 0x4a5040
cmp cx, 0x2a
je 0x4a5054
add eax, esi
mov dword [esp + 0x14], eax
mov cx, word [eax]
cmp cx, bp
jne 0x4a5040
sub eax, edx
sar eax, 1
push eax
push edx
lea ecx, [esp + 0x3c]
call fcn.00449600
mov eax, dword [esp + 0x14]
cmp word [eax], bp
je 0x4a5072
add eax, esi
mov dword [esp + 0x14], eax
cmp eax, ebp
mov edx, eax
je 0x4a5094
mov cx, word [eax]
cmp cx, bp
je 0x4a5094
cmp cx, 0x2a
je 0x4a5094
add eax, esi
mov dword [esp + 0x14], eax
mov cx, word [eax]
cmp cx, bp
jne 0x4a5080
sub eax, edx
sar eax, 1
push eax
push edx
lea ecx, [esp + 0x34]
call fcn.00449600
mov edx, dword [esp + 0x14]
cmp word [edx], bp
je 0x4a50b4
mov eax, edx
add eax, esi
mov dword [esp + 0x14], eax
lea eax, [esp + 0xfc]
push eax
lea ecx, [esp + 0x18]
push ecx
call fcn.0044f5a0
mov eax, dword [esp + 0x1c]
add esp, 8
cmp word [eax], bp
je 0x4a50d8
add eax, esi
mov dword [esp + 0x14], eax
cmp eax, ebp
mov edx, eax
je 0x4a50fa
mov cx, word [eax]
cmp cx, bp
je 0x4a50fa
cmp cx, 0x2a
je 0x4a50fa
add eax, esi
mov dword [esp + 0x14], eax
mov cx, word [eax]
cmp cx, bp
jne 0x4a50e6
sub eax, edx
sar eax, 1
push eax
push edx
lea ecx, [esp + 0x80]
call fcn.00449600
lea edx, [esp + 0xd8]
push edx
lea eax, [esp + 0x18]
push eax
call fcn.0044f5a0
mov ecx, dword [esp + 0x1c]
add esp, 8
cmp word [ecx], bp
je 0x4a5132
mov eax, ecx
add eax, esi
mov dword [esp + 0x14], eax
mov esi, dword [esp + 0xc0]
mov ebp, dword [esp + 0xc4]
mov eax, dword [esp + 0xc8]
mov ecx, dword [esp + 0xcc]
xor edx, edx
test bl, bl
mov dword [esp + 0x114], esi
mov dword [esp + 0x118], ebp
mov dword [esp + 0x120], eax
mov dword [esp + 0x124], ecx
je 0x4a5190
add eax, esi
adc ecx, ebp
mov dword [esp + 0x114], edx
mov dword [esp + 0x118], edx
mov dword [esp + 0x120], eax
mov dword [esp + 0x124], ecx
cmp dword [esp + 0x100], edx
jl 0x4a51ca
jg 0x4a51a4
cmp dword [esp + 0xfc], edx
jbe 0x4a51ca
cmp dword [esp + 0xdc], edx
jg 0x4a51ca
jl 0x4a51b8
cmp dword [esp + 0xd8], edx
ja 0x4a51ca
mov dword [esp + 0xd8], 1
mov dword [esp + 0xdc], edx
push 0x318
lea ecx, [esp + 0xa4]
call fcn.004494b0
mov eax, dword [esp + 0xa0]
lea ebp, [eax + 0x6a]
lea esi, [ebp + 0xd4]
push 0
mov word [esi], 0
mov ebx, eax
mov word [ebp + 0x6a], 0
mov eax, dword [esp + 0xc8]
mov ecx, dword [esp + 0xc4]
push 0x200
push eax
lea edx, [esi + 0x6a]
push ecx
mov byte [esp + 0x298], 0x12
mov dword [esp + 0xfc], esi
mov dword [esp + 0xac], edx
call fcn.004b48c0
push edx
push eax
push str._I64d
push 0x28
push ebx
mov dword [esp + 0xd4], eax
mov dword [esp + 0xd8], edx
call fcn.004c60df
mov edi, dword [sym.imp.KERNEL32.dll_lstrlenW]
add esp, 0x14
push ebx
call edi
mov edx, dword [esp + 0xcc]
mov eax, dword [esp + 0xc8]
push 0
push 0x200
push edx
push eax
call fcn.004b48c0
push edx
push eax
push str._I64d
push 0x28
push ebp
mov dword [esp + 0xdc], eax
mov dword [esp + 0xe0], edx
call fcn.004c60df
add esp, 0x14
push ebp
call edi
mov word [esi], 0
mov eax, dword [esp + 0x100]
test eax, eax
jl 0x4a52c7
mov ecx, dword [esp + 0xfc]
jg 0x4a52b2
test ecx, ecx
jbe 0x4a52c7
push eax
push ecx
push str._I64d
push 0x28
push esi
call fcn.004c60df
add esp, 0x14
push esi
call edi
mov edx, dword [esp + 0x54]
xor ecx, ecx
xor edi, edi
cmp word [esp + 0x130], di
setne cl
lea eax, [edx + ecx*2]
lea ecx, [esp + 0x5c]
push ecx
mov dword [esp + 0x60], eax
call fcn.00443850
mov edx, dword [esp + 0x60]
push 4
push edx
push str.__w:
mov dword [esp + 0x13c], edi
call fcn.004449d0
add esp, 0x10
test al, al
je 0x4a5324
add dword [esp + 0x5c], 8
lea eax, [esp + 0x12c]
push eax
lea ecx, [esp + 0x60]
push ecx
call fcn.0044ce90
add esp, 8
push 0xffffffffffffffff
lea edx, [esp + 0x60]
push edx
push 0x4fc184
call fcn.0044b960
mov eax, dword [0x519ae4]
add esp, 0xc
cmp eax, edi
jge 0x4a53a3
mov eax, dword [0x51d290]
cmp eax, edi
mov dword [0x519ae4], edi
mov dword [esp + 0x94], edi
mov dword [esp + 0xac], edi
je 0x4a53b3
lea ecx, [esp + 0xac]
push ecx
lea edx, [esp + 0x98]
push edx
call eax
mov eax, dword [esp + 0x94]
cmp eax, 0x202
jb 0x4a538a
mov dword [0x519ae4], 7
jmp 0x4a53a5
cmp eax, 0x184
jb 0x4a539d
mov dword [0x519ae4], 1
jmp 0x4a53a5
cmp dword [0x519ae4], edi
jle 0x4a53b3
cmp dword [esp + 0x44], edi
jne 0x4a53b3
mov dword [esp + 0x44], 0xfff00000
mov eax, 0x4efd50
mov dword [esp + 0x94], eax
mov dword [esp + 0xf4], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x24], eax
xor esi, esi
cmp word [eax], di
mov byte [esp + 0x22], 0
mov byte [esp + 0x63], 0
je 0x4a5490
push 2
lea eax, [esp + 0x28]
push eax
push 0x4fa384
call fcn.0044b960
add esp, 0xc
test al, al
je 0x4a5405
mov esi, 1
jmp 0x4a5483
cmp esi, edi
je 0x4a5447
push 2
lea ecx, [esp + 0x28]
push ecx
push 0x4fc180
call fcn.0044b960
add esp, 0xc
test al, al
je 0x4a5428
mov byte [esp + 0x22], 1
jmp 0x4a5483
push 3
lea edx, [esp + 0x28]
push edx
push 0x4fc17c
call fcn.0044b960
add esp, 0xc
test al, al
je 0x4a5447
mov byte [esp + 0x63], 1
jmp 0x4a5483
mov ecx, dword [esp + 0x24]
mov ax, word [ecx]
cmp ax, di
je 0x4a5474
cmp ax, 9
jb 0x4a545f
cmp ax, 0xd
jbe 0x4a5474
cmp ax, 0x20
je 0x4a5474
add ecx, 2
mov dword [esp + 0x24], ecx
mov ax, word [ecx]
cmp ax, di
jne 0x4a5453
lea eax, [esp + 0x24]
push eax
call fcn.00443850
add esp, 4
xor esi, esi
mov ecx, dword [esp + 0x24]
cmp word [ecx], di
jne 0x4a53e3
mov eax, dword [0x519ae4]
test al, 2
je 0x4a54ac
mov cl, byte [esp + 0x63]
test cl, cl
jne 0x4a54ac
mov dword [esp + 0x94], str._o_par
mov edi, eax
and edi, 4
je 0x4a54be
mov dword [esp + 0xf4], str._o_shared
test edi, edi
je 0x4a54c7
mov byte [esp + 0x23], 0
mov ecx, dword [esp + 0xd0]
mov eax, ecx
and eax, 0x200
xor esi, esi
or eax, esi
jne 0x4a54fc
test edi, edi
jne 0x4a54fc
mov dl, byte [esp + 0x33]
test dl, dl
je 0x4a5505
and ecx, 0x100
mov eax, ecx
xor ecx, ecx
or eax, ecx
je 0x4a5505
mov byte [esp + 0x23], 1
jmp 0x4a5505
mov dl, byte [esp + 0x33]
mov byte [esp + 0x23], 0
mov eax, dword [0x519ae4]
test eax, eax
jle 0x4a5694
test dl, dl
je 0x4a5522
mov al, byte [esp + 0x23]
test al, al
jne 0x4a5694
test dl, dl
mov dword [esp + 0x9c], 0x4efd50
jne 0x4a5546
mov al, byte [esp + 0x22]
test al, al
jne 0x4a554f
mov dword [esp + 0x9c], str._o_ro
jmp 0x4a554f
test edi, edi
jne 0x4a554f
mov byte [esp + 0x4f], 1
mov edx, dword [esp + 0x54]
mov esi, dword [esp + 0x34]
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
push esi
mov edi, eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
lea eax, [eax + edi + 0x800]
push eax
lea ecx, [esp + 0x20]
call fcn.004494e0
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0xf4]
mov eax, dword [esp + 0x94]
push ecx
mov ecx, dword [esp + 0xa0]
push ebp
push ebx
push edx
mov edx, dword [esp + 0x2c]
push eax
push ecx
push str.imdisk__a___s__s__s___b__sb__s__sb__f__s
push edx
call dword [sym.imp.USER32.dll_wsprintfW]
mov eax, dword [esp + 0x7c]
add esp, 0x20
mov dword [esp + 0x70], eax
cmp word [eax], 0
je 0x4a567d
lea esp, [esp]
push 2
lea eax, [esp + 0x74]
push eax
push 0x4fc0f0
call fcn.0044b9b0
add esp, 0xc
test al, al
jne 0x4a5628
push 2
lea ecx, [esp + 0x74]
push ecx
push 0x4f6ec8
call fcn.0044b9b0
add esp, 0xc
test al, al
jne 0x4a5628
mov ecx, dword [esp + 0x70]
mov ax, word [ecx]
test ax, ax
je 0x4a5621
lea esp, [esp]
cmp ax, 9
jb 0x4a560c
cmp ax, 0xd
jbe 0x4a5621
cmp ax, 0x20
je 0x4a5621
add ecx, 2
mov dword [esp + 0x70], ecx
mov ax, word [ecx]
test ax, ax
jne 0x4a5600
lea edx, [esp + 0x70]
push edx
jmp 0x4a5663
mov ecx, dword [esp + 0x70]
mov ax, word [ecx]
test ax, ax
je 0x4a565e
cmp ax, 9
jb 0x4a5640
cmp ax, 0xd
jbe 0x4a565e
cmp ax, 0x20
je 0x4a565e
mov word [ecx], 0x20
mov ecx, dword [esp + 0x70]
add ecx, 2
mov dword [esp + 0x70], ecx
mov ax, word [ecx]
test ax, ax
jne 0x4a5634
lea eax, [esp + 0x70]
push eax
call fcn.00443850
mov ecx, dword [esp + 0x74]
add esp, 4
cmp word [ecx], 0
jne 0x4a55c0
mov eax, dword [esp + 0x5c]
push eax
lea ecx, [esp + 0x20]
call fcn.00449510
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x18], edx
jmp 0x4a5b63
test dl, dl
je 0x4a56d2
mov eax, dword [esp + 0x34]
push 0
push 0xa0000080
push 3
push 0
push 7
push 0xc0000000
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
cmp eax, 0xffffffff
je 0x4a662d
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [esp + 0xac], 0x4efd50
jmp 0x4a56dd
mov dword [esp + 0xac], 0x4fc0e8
mov ecx, dword [esp + 0xdc]
test ecx, ecx
jl 0x4a5711
mov eax, dword [esp + 0xd8]
jg 0x4a56f5
test eax, eax
jbe 0x4a5711
push ecx
push eax
push str._I64d
push 0x28
lea esi, [ebp + 0x6a]
push esi
call fcn.004c60df
add esp, 0x14
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov ecx, dword [esp + 0x34]
push 0x5c
push 0
push ecx
call dword [sym.imp.SHLWAPI.dll_StrRChrW]
mov esi, eax
test esi, esi
jne 0x4a572c
mov esi, dword [esp + 0x34]
jmp 0x4a572f
add esi, 2
mov edx, dword [esp + 0x2c]
cmp word [edx], 0
jne 0x4a5763
push 0x800
lea ecx, [esp + 0x30]
call fcn.004494e0
mov edi, dword [esp + 0x2c]
call fcn.00445d10
push eax
push ebp
push ebx
push esi
push str._s_s_s__u
push edi
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x18
mov eax, dword [esp + 0x2c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
cmp eax, 0x400
mov dword [esp + 0x24], eax
jle 0x4a578e
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x24], 0x400
mov word [ecx + 0x800], 0
push str.Global_
lea ecx, [esp + 0x70]
call fcn.004566f0
mov edx, dword [esp + 0x2c]
push edx
lea ecx, [esp + 0x70]
call fcn.00449510
push str._devio_Ack
lea ecx, [esp + 0x70]
call fcn.00449510
mov edi, dword [esp + 0x9c]
xor edx, edx
mov word [edi], dx
mov eax, dword [esp + 0xd0]
mov ecx, eax
and ecx, 0x30
or ecx, edx
mov word [esp + 0x244], dx
jne 0x4a57f5
mov cl, byte [esp + 0x33]
test cl, cl
je 0x4a58ef
mov ecx, eax
and ecx, 0x40
or ecx, edx
jne 0x4a58ef
mov ecx, dword [str.__kill:]
mov eax, edi
mov dword [eax], ecx
mov edx, dword [0x4fc09c]
mov dword [eax + 4], edx
mov ecx, dword [0x4fc0a0]
push 0x104
mov dword [eax + 8], ecx
mov edx, dword [0x4fc0a4]
lea esi, [edi + 0x27e]
push esi
push 0
mov dword [eax + 0xc], edx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
push 0x104
lea eax, [edi + 0xe]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_GetShortPathNameW]
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov dword [esp + 0x144], eax
mov eax, dword [esp + 0xb8]
cmp word [eax], 0x22
mov esi, eax
mov dword [esp + 0x128], esi
jne 0x4a5888
add eax, 2
mov dword [esp + 0xb8], eax
mov ax, word [esi]
test ax, ax
je 0x4a589f
cmp ax, 0x22
je 0x4a589f
mov ax, word [esi + 2]
add esi, 2
test ax, ax
jne 0x4a5874
jmp 0x4a589f
lea ecx, [esp + 0x128]
push ecx
call fcn.00417de5
mov esi, dword [esp + 0x12c]
add esp, 4
mov di, word [esi]
mov word [esi], 0
mov eax, dword [esp + 0xd0]
and eax, 0x20
xor ecx, ecx
or eax, ecx
mov eax, str._LOAD_25_poweroff
jne 0x4a58c1
mov eax, str._RAMD_ImdiskV__D__m__s_
mov edx, dword [esp + 0xb8]
mov ecx, dword [esp + 0x144]
push edx
push eax
mov eax, dword [esp + 0xa4]
lea edx, [eax + ecx*2]
push edx
call dword [sym.imp.USER32.dll_wsprintfW]
mov word [esi], di
mov eax, dword [esp + 0xdc]
add esp, 0xc
mov edx, dword [esp + 0xd4]
mov cl, 1
call fcn.004b5110
and eax, 3
je 0x4a5919
push eax
lea eax, [esp + 0x248]
push str._nrc:_d
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
mov ecx, dword [esp + 0x118]
mov edx, dword [esp + 0x114]
push 0
push 0x200
push ecx
push edx
call fcn.004b48c0
push edx
push eax
push str._I64d
push 0x28
push ebx
call fcn.004c60df
mov edi, dword [sym.imp.KERNEL32.dll_lstrlenW]
add esp, 0x14
push ebx
call edi
mov eax, dword [esp + 0x124]
mov ecx, dword [esp + 0x120]
push 0
push 0x200
push eax
push ecx
call fcn.004b48c0
push edx
push eax
push str._I64d
push 0x28
push ebp
call fcn.004c60df
add esp, 0x14
push ebp
call edi
mov ecx, dword [esp + 0x294]
push 0x4f24cc
push str.__ImdMapPid
call fcn.00448be0
mov edx, dword [esp + 0x34]
mov esi, dword [esp + 0x78]
push edx
call edi
push esi
mov edi, eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov ecx, dword [esp + 0x24]
add eax, edi
lea edx, [eax + ecx + 0x940]
push edx
lea ecx, [esp + 0xac]
call fcn.004494b0
push str.Global_
lea ecx, [esp + 0xb8]
mov byte [esp + 0x28c], 0x13
call fcn.00456550
mov eax, dword [esp + 0x2c]
push eax
lea ecx, [esp + 0xb8]
mov byte [esp + 0x28c], 0x14
call fcn.00449510
mov ecx, dword [esp + 0xb4]
push ecx
push 0
push 2
call dword [sym.imp.KERNEL32.dll_OpenFileMappingW]
test eax, eax
jne 0x4a665c
lea ecx, [esp + 0xb4]
mov byte [esp + 0x288], 0x13
call fcn.00443880
mov edx, dword [esp + 0xec]
mov ecx, dword [esp + 0x2c]
push edx
mov edx, dword [esp + 0xb0]
mov esi, dword [sym.imp.USER32.dll_wsprintfW]
lea eax, [ebp + 0x6a]
push eax
mov eax, dword [esp + 0x3c]
push ebx
push ebp
push eax
push ecx
mov ecx, dword [esp + 0x90]
push edx
mov edx, dword [esp + 0xb8]
lea eax, [esp + 0x260]
push eax
mov eax, dword [esp + 0xd0]
push ecx
mov ecx, dword [esp + 0xcc]
push edx
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 ecx
call esi
mov edx, dword [esp + 0x58]
add esp, 0x34
add edx, 0x800
push edx
lea ecx, [esp + 0x20]
call fcn.004494e0
mov ecx, dword [esp + 0xf4]
mov edx, dword [esp + 0x94]
mov word [ebx], 0
mov word [ebp], 0
mov eax, dword [esp + 0x2c]
push eax
mov eax, dword [esp + 0x20]
push ecx
push edx
push 0x4efd50
push str.imdisk__a__t_proxy__s__s__s__o_shm__f__s
push eax
call esi
mov ecx, dword [esp + 0x74]
add esp, 0x18
push ecx
lea ecx, [esp + 0x20]
call fcn.00449510
mov eax, dword [esp + 0x6c]
mov edx, dword [esp + 0x1c]
push eax
push 0
push 0
push 0
mov dword [esp + 0x28], edx
call dword [sym.imp.KERNEL32.dll_CreateEventW]
mov ecx, dword [esp + 0xa8]
push 0
push 0
push 0
push ecx
mov ecx, dword [esp + 0x2a4]
mov esi, eax
call fcn.00437b3d
push 0xea60
push esi
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push esi
mov edi, eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
test edi, edi
jne 0x4a67e6
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
mov esi, 0x32
push 0
call edi
dec esi
jne 0x4a5b30
mov eax, dword [esp + 0x12c]
test eax, eax
jle 0x4a5b4f
mov ecx, dword [esp + 0x294]
push eax
call fcn.0042072b
lea ecx, [esp + 0xa8]
mov byte [esp + 0x288], 0x12
call fcn.00443880
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x54], eax
lea ecx, [esp + 0xa0]
mov word [eax], 0
mov dword [esp + 0x104], 1
mov byte [esp + 0x288], 0x11
call fcn.00443880
xor ebp, ebp
mov dx, word [esp + 0x130]
mov eax, dword [esp + 0xe0]
mov word [eax], dx
jmp 0x4a6117
push 4
lea ecx, [esp + 0x58]
push ecx
push str._exe
call fcn.0044b960
add esp, 0xc
test al, al
je 0x4a5bc4
mov dword [esp + 0x44], edi
push 5
lea edx, [esp + 0x58]
push edx
push str._nexe
call fcn.0044b960
add esp, 0xc
test al, al
je 0x4a5be4
mov dword [esp + 0x44], 0xfff00000
push 0x2c
lea eax, [esp + 0x6c]
push eax
lea ecx, [esp + 0x20]
push ecx
call fcn.0044c770
mov edx, dword [esp + 0x74]
mov word [edx], bp
mov eax, dword [esp + 0x24]
add esp, 0xc
cmp word [eax], bp
je 0x4a5cf8
mov ecx, eax
mov esi, 2
add ecx, esi
mov dword [esp + 0x18], ecx
push 0x2c
lea ecx, [esp + 0x6c]
push ecx
lea edx, [esp + 0x20]
push edx
call fcn.0044c770
mov eax, dword [esp + 0x24]
add esp, 0xc
cmp word [eax], bp
je 0x4a5cf8
mov ecx, eax
add ecx, esi
mov dword [esp + 0x18], ecx
push 0x2c
lea ecx, [esp + 0x4c]
push ecx
lea edx, [esp + 0x20]
push edx
call fcn.0044c770
mov eax, dword [esp + 0x24]
add esp, 0xc
cmp word [eax], bp
je 0x4a5cf8
mov ecx, eax
add ecx, esi
mov dword [esp + 0x18], ecx
push 0x2c
lea ecx, [esp + 0x2c]
push ecx
lea edx, [esp + 0x20]
push edx
call fcn.0044c770
mov eax, dword [esp + 0x24]
add esp, 0xc
cmp word [eax], bp
je 0x4a5cf8
mov ecx, eax
add ecx, esi
mov dword [esp + 0x18], ecx
push 0x2c
lea ecx, [esp + 0x78]
push ecx
lea edx, [esp + 0x20]
push edx
call fcn.0044c770
mov eax, dword [esp + 0x24]
add esp, 0xc
cmp word [eax], bp
je 0x4a5cf8
mov ecx, eax
add ecx, esi
mov dword [esp + 0x18], ecx
push 0x2c
lea ecx, [esp + 0x88]
push ecx
lea edx, [esp + 0x20]
push edx
call fcn.0044c770
mov eax, dword [esp + 0x24]
add esp, 0xc
cmp word [eax], bp
je 0x4a5cf8
push 0x2c
lea ecx, [esp + 0x14c]
mov edi, eax
push ecx
lea edx, [esp + 0x20]
add edi, esi
push edx
mov dword [esp + 0x24], edi
call fcn.0044ca90
add esp, 0xc
push 6
lea ecx, [esp + 0x2c]
mov byte [esp + 0x26], 0
call fcn.004494e0
mov eax, dword [esp + 0x28]
mov word [eax + 2], 0x3a
mov ecx, dword [esp + 0x28]
mov word [ecx + 4], bp
mov eax, dword [esp + 0x28]
cmp word [eax], bp
je 0x4a5dbd
push eax
call fcn.004b0a70
add esp, 4
test eax, eax
je 0x4a5db4
mov edx, dword [esp + 0x28]
lea ecx, [esp + 0x11c]
mov dword [esp + 0x150], str.imdisk
mov dword [esp + 0x154], 0x4fbec8
mov dword [esp + 0x158], 0x4fbec0
mov dword [esp + 0x15c], edx
mov dword [esp + 0x160], ebp
call fcn.00449480
lea eax, [esp + 0x11c]
push eax
lea ecx, [esp + 0x154]
push ecx
push 4
mov byte [esp + 0x294], 0x15
call fcn.0043185a
add esp, 0xc
cmp eax, ebp
lea ecx, [esp + 0x11c]
sete byte [esp + 0x22]
mov byte [esp + 0x288], 0x11
call fcn.00443880
mov edx, dword [esp + 0x28]
cmp word [edx], bp
jne 0x4a5dd8
push 0x4f6a68
lea ecx, [esp + 0x2c]
call fcn.00456630
mov eax, dword [esp + 0x28]
cmp word [eax], bp
je 0x4a681e
push 0x3c
lea ecx, [esp + 0x9c]
call fcn.004494b0
mov eax, dword [esp + 0x68]
or ebx, 0xffffffff
mov dword [esp + 0x10c], ebx
mov dword [esp + 0x110], ebx
mov dword [esp + 0x134], ebx
mov dword [esp + 0x138], ebx
mov dword [esp + 0x13c], ebx
mov dword [esp + 0x140], ebx
mov dword [esp + 0x40], eax
cmp word [eax], bp
mov byte [esp + 0x288], 0x16
mov esi, ebx
mov edi, ebx
je 0x4a6967
lea ecx, [esp + 0x40]
push ecx
call fcn.00443850
mov edx, dword [esp + 0x44]
mov ax, word [edx]
or ax, 0x20
add esp, 4
cmp ax, 0x70
jne 0x4a5e64
lea eax, [esp + 0x10c]
add edx, 2
push eax
lea ecx, [esp + 0x44]
mov dword [esp + 0x44], edx
push ecx
jmp 0x4a5ea2
cmp ax, 0x6c
jne 0x4a5e84
mov ecx, dword [esp + 0x40]
lea edx, [esp + 0x134]
add ecx, 2
push edx
lea eax, [esp + 0x44]
mov dword [esp + 0x44], ecx
push eax
jmp 0x4a5ea2
cmp ax, 0x68
jne 0x4a5eb7
mov eax, dword [esp + 0x40]
lea ecx, [esp + 0x13c]
add eax, 2
push ecx
lea edx, [esp + 0x44]
mov dword [esp + 0x44], eax
push edx
call fcn.0044ce60
mov eax, dword [esp + 0x48]
add esp, 8
cmp word [eax], bp
jne 0x4a5e30
cmp dword [esp + 0x110], ebp
jl 0x4a5f01
jg 0x4a5ecb
cmp dword [esp + 0x10c], ebp
jbe 0x4a5f01
push 1
call fcn.00423f05
mov ecx, dword [esp + 0x114]
add esp, 4
push ecx
mov ecx, dword [esp + 0x110]
push ecx
push edx
push eax
call fcn.004b4970
push ebp
push 0x64
push edx
push eax
call fcn.004b48c0
mov cl, 0x14
call fcn.004b5110
mov esi, eax
mov edi, edx
mov ecx, dword [esp + 0x138]
cmp edi, ecx
jg 0x4a5f1d
mov eax, dword [esp + 0x134]
jl 0x4a5f19
cmp esi, eax
jae 0x4a5f1d
mov esi, eax
mov edi, ecx
mov ecx, dword [esp + 0x140]
cmp ecx, ebp
jl 0x4a5f51
mov eax, dword [esp + 0x13c]
jg 0x4a5f35
cmp eax, ebp
jbe 0x4a5f51
cmp edi, ecx
jl 0x4a5f43
jg 0x4a5f3f
cmp esi, eax
jbe 0x4a5f43
mov esi, eax
mov edi, ecx
cmp edi, ebp
jg 0x4a5f63
jl 0x4a5f4d
cmp esi, ebp
ja 0x4a5f51
mov esi, eax
mov edi, ecx
cmp edi, ebp
jl 0x4a6967
jg 0x4a5f63
cmp esi, ebp
jb 0x4a6967
mov edx, dword [esp + 0x28]
cmp word [edx], bp
je 0x4a6967
cmp edi, ebp
jg 0x4a5f81
jl 0x4a5f7a
cmp esi, ebp
ja 0x4a5f81
mov esi, 1
xor edi, edi
mov eax, dword [esp + 0x98]
push edi
push esi
push str._I64u
push 0x28
push eax
mov ebp, eax
call fcn.004c60df
add esp, 0x14
push ebp
call dword [sym.imp.KERNEL32.dll_lstrlenW]
push 0x4fbeb8
lea ecx, [esp + 0x9c]
call fcn.00449510
mov al, byte [esp + 0x22]
test al, al
mov eax, str.imdisk___e
jne 0x4a5fc6
mov eax, str.imdisk___a
push eax
lea ecx, [esp + 0x20]
call fcn.00456630
mov eax, dword [esp + 0x148]
and eax, 1
xor ecx, ecx
or eax, ecx
je 0x4a5fee
push str.__o_awe
lea ecx, [esp + 0x20]
call fcn.00449510
mov eax, dword [esp + 0x98]
cmp word [eax], 0
je 0x4a601a
push str.___s
lea ecx, [esp + 0x20]
call fcn.00449510
mov ecx, dword [esp + 0x98]
push ecx
lea ecx, [esp + 0x20]
call fcn.00449510
mov edx, dword [esp + 0x28]
cmp word [edx], 0
je 0x4a6040
push str.___m
lea ecx, [esp + 0x20]
call fcn.00449510
mov eax, dword [esp + 0x28]
push eax
lea ecx, [esp + 0x20]
call fcn.00449510
mov ecx, dword [esp + 0x48]
cmp word [ecx], 0
jne 0x4a6058
mov edx, dword [esp + 0x74]
cmp word [edx], 0
je 0x4a60f9
push str.___p__
lea ecx, [esp + 0x20]
call fcn.00449510
mov eax, dword [esp + 0x48]
cmp word [eax], 0
je 0x4a608c
push str.__FS:
lea ecx, [esp + 0x20]
call fcn.00449510
mov ecx, dword [esp + 0x48]
push ecx
lea ecx, [esp + 0x20]
call fcn.00449510
mov edx, dword [esp + 0x74]
cmp word [edx], 0
je 0x4a60b2
push str.__V:
lea ecx, [esp + 0x20]
call fcn.00449510
mov eax, dword [esp + 0x74]
push eax
lea ecx, [esp + 0x20]
call fcn.00449510
mov ecx, dword [esp + 0x48]
push ecx
push str.NTFS
call fcn.00444a10
add esp, 8
test al, al
je 0x4a60eb
mov edx, dword [esp + 0x84]
mov ax, word [edx]
test ax, ax
je 0x4a60eb
cmp ax, 0x30
je 0x4a60eb
push 0x4f9f8c
lea ecx, [esp + 0x20]
call fcn.00449510
push str.___Q__Y__
lea ecx, [esp + 0x20]
call fcn.00449510
mov eax, dword [esp + 0x1c]
lea ecx, [esp + 0x98]
mov dword [esp + 0x18], eax
mov byte [esp + 0x288], 0x11
call fcn.00443880
xor ebp, ebp
lea ecx, [esp + 0x54]
push ecx
call fcn.00443850
mov edx, dword [esp + 0x58]
push 4
push edx
push str._gui
call fcn.00444970
add esp, 0x10
test al, al
jne 0x4a6ac0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, 0xc8
mov dword [esp + 0xec], eax
mov al, byte [esp + 0x58]
xor bl, bl
test al, al
je 0x4a6173
mov eax, dword [esp + 0x54]
push 2
push eax
push 0x4fc184
call fcn.00444970
add esp, 0xc
test al, al
je 0x4a6173
mov bl, 1
mov ecx, dword [esp + 0x104]
xor ebp, ebp
or ecx, ebp
jne 0x4a6188
test bl, bl
je 0x4a61fd
mov eax, dword [esp + 0x44]
test eax, eax
mov ebx, dword [esp + 0x294]
jne 0x4a6204
mov ecx, 9
mov esi, str.imdisk___version
lea edi, [esp + 0x164]
rep movsd dword es:[edi], dword [esi]
push 0
push 0
push 0
lea edx, [esp + 0x64]
push edx
push ebx
lea eax, [esp + 0x178]
push eax
mov ecx, ebx
movsw word es:[edi], word [esi]
mov word [esp + 0x70], 0
call fcn.0041ac41
test eax, eax
jne 0x4a6204
mov ecx, dword [esp + 0x104]
or ecx, ebp
je 0x4a61f3
mov eax, 0x11
mov dword [esp + 0x44], eax
mov dword [esp + 0x104], eax
jmp 0x4a6204
mov dword [esp + 0x44], 0x40
jmp 0x4a6204
mov ebx, dword [esp + 0x294]
mov ecx, dword [esp + 0x18]
xor eax, eax
mov ax, word [ecx]
test ax, ax
je 0x4a6230
cmp ax, 9
jb 0x4a621e
cmp ax, 0xd
jbe 0x4a6230
cmp ax, 0x20
je 0x4a6230
mov ax, word [ecx + 2]
add ecx, 2
test ax, ax
jne 0x4a6212
push ecx
lea ecx, [esp + 0x8c]
call fcn.004566f0
mov eax, dword [esp + 0x88]
mov dword [esp + 0x24], eax
cmp word [eax], 0
mov dword [esp + 0xe0], eax
je 0x4a62f0
lea esp, [esp]
push 6
lea edx, [esp + 0x28]
push edx
push str.__nbrd
call fcn.0044b9b0
add esp, 0xc
test al, al
jne 0x4a62e2
push 6
lea eax, [esp + 0x28]
push eax
push 0x4f3dbc
call fcn.0044b9b0
add esp, 0xc
test al, al
jne 0x4a62e2
push 2
lea ecx, [esp + 0x28]
push ecx
push 0x4f6d98
call fcn.0044b9b0
add esp, 0xc
test al, al
jne 0x4a62e2
mov ecx, dword [esp + 0x24]
mov ax, word [ecx]
test ax, ax
je 0x4a62d5
cmp ax, 9
jb 0x4a62c0
cmp ax, 0xd
jbe 0x4a62d5
cmp ax, 0x20
je 0x4a62d5
add ecx, 2
mov dword [esp + 0x24], ecx
mov ax, word [ecx]
test ax, ax
jne 0x4a62b4
lea edx, [esp + 0x24]
push edx
call fcn.00443850
add esp, 4
mov eax, dword [esp + 0x24]
cmp word [eax], 0
jne 0x4a6260
mov ebp, dword [esp + 0x104]
mov eax, dword [esp + 0xa4]
test eax, eax
mov edi, dword [esp + 0xe8]
mov esi, 1
lea esp, [esp]
jne 0x4a64e4
mov eax, dword [esp + 0x44]
test eax, eax
jg 0x4a64e4
mov ecx, dword [esp + 0x18]
push 0
push ecx
lea ecx, [esp + 0x1ac]
call fcn.0045b8a0
cmp dword [esp + 0x1d8], esi
jle 0x4a6c1d
mov edx, dword [esp + 0x1dc]
mov dword [edx], str.imdisk
mov ecx, dword [esp + 0x1dc]
mov edx, dword [esp + 0x1d8]
lea eax, [esp + 0x64]
push eax
push ecx
push edx
call fcn.0043185a
mov cl, byte [esp + 0x5b]
add esp, 0xc
test cl, cl
mov dword [esp + 0x80], eax
mov dword [esp + 0xf8], 0
jle 0x4a656f
cmp eax, 3
jne 0x4a656f
test edi, edi
jne 0x4a656f
lea ecx, [esp + 0x6c]
mov byte [esp + 0x23], 1
mov byte [esp + 0x288], 0x10
call fcn.00443880
lea ecx, [esp + 0x88]
mov byte [esp + 0x288], 0xf
call fcn.00443880
lea ecx, [esp + 0x34]
mov byte [esp + 0x288], 0xe
call fcn.00443880
lea ecx, [esp + 0x78]
mov byte [esp + 0x288], 0xd
call fcn.00443880
lea ecx, [esp + 0x2c]
mov byte [esp + 0x288], 0xc
call fcn.00443880
lea ecx, [esp + 0x84]
mov byte [esp + 0x288], 0xb
call fcn.00443880
lea ecx, [esp + 0x74]
mov byte [esp + 0x288], 0xa
call fcn.00443880
lea ecx, [esp + 0x28]
mov byte [esp + 0x288], 9
call fcn.00443880
lea ecx, [esp + 0x48]
mov byte [esp + 0x288], 8
call fcn.00443880
lea ecx, [esp + 0x68]
mov byte [esp + 0x288], 7
call fcn.00443880
lea ecx, [esp + 0x50]
mov byte [esp + 0x288], 6
call fcn.00443880
lea ecx, [esp + 0x1c]
mov byte [esp + 0x288], 5
call fcn.00443880
lea ecx, [esp + 0x90]
mov byte [esp + 0x288], 4
call fcn.00443880
lea ecx, [esp + 0x3c]
mov byte [esp + 0x288], 3
call fcn.00443880
push 0x51d5ec
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edx, dword [0x51d63c]
dec edx
push 0x51d5ec
mov dword [0x51d63c], edx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
lea ecx, [esp + 0x64]
mov byte [esp + 0x288], 0
call fcn.00443880
lea ecx, [esp + 0x7c]
mov dword [esp + 0x288], 0xffffffff
call fcn.00443880
jmp 0x4a4a4d
test edi, edi
jne 0x4a656f
mov eax, dword [esp + 0x50]
push eax
lea ecx, [esp + 0xc0]
call fcn.00456550
mov ecx, dword [esp + 0xe0]
push ecx
lea ecx, [esp + 0xc0]
mov byte [esp + 0x28c], 0x17
call fcn.00449510
mov edx, dword [esp + 0x3c]
cmp word [edx], di
push edi
push edi
mov dword [esp + 0x100], esi
push edi
je 0x4a6538
mov eax, dword [esp + 0xc8]
push eax
push ebx
push edi
jmp 0x4a654d
mov edx, dword [esp + 0xc8]
lea ecx, [esp + 0x64]
push ecx
push ebx
mov word [esp + 0x6c], 0
push edx
mov ecx, ebx
call fcn.0041ac41
lea ecx, [esp + 0xbc]
mov dword [esp + 0x80], eax
mov byte [esp + 0x288], 0x11
call fcn.00443880
mov ecx, ebp
xor eax, eax
or ecx, eax
je 0x4a6c28
cmp dword [esp + 0x80], 3
jne 0x4a6c28
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [esp + 0xec]
cmp eax, 0x1388
jae 0x4a6c28
mov ebx, dword [esp + 0x294]
push 0xc8
mov ecx, ebx
call fcn.0042072b
jmp 0x4a62f7
mov edi, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ebx, 0x51d5ec
push ebx
mov dword [esp + 0xa8], ebx
call edi
cmp dword [0x51d63c], ebp
mov esi, dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov byte [esp + 0x288], 2
jle 0x4a6617
push ebx
mov byte [esp + 0x28c], 1
call esi
mov ecx, dword [esp + 0x294]
push 1
call fcn.0042072b
push ebx
mov dword [esp + 0xa8], ebx
call edi
cmp dword [0x51d63c], ebp
mov byte [esp + 0x288], 2
jg 0x4a65e4
push 0xffffffffffffffff
lea ecx, [esp + 0xf4]
call fcn.00422701
push ebx
call esi
jmp 0x4a6bf1
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x4a663c
mov eax, 1
lea ecx, [esp + 0xa0]
mov dword [esp + 0x80], eax
mov byte [esp + 0x288], 0x11
call fcn.00443880
jmp 0x4a6c28
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea ecx, [esp + 0xb4]
mov byte [esp + 0x288], 0x13
call fcn.00443880
lea ecx, [esp + 0xa8]
mov byte [esp + 0x288], 0x12
call fcn.00443880
lea ecx, [esp + 0xa0]
mov byte [esp + 0x288], 0x11
call fcn.00443880
lea ecx, [esp + 0x6c]
mov byte [esp + 0x288], 0x10
call fcn.00443880
lea ecx, [esp + 0x88]
mov byte [esp + 0x288], 0xf
call fcn.00443880
lea ecx, [esp + 0x34]
mov byte [esp + 0x288], 0xe
call fcn.00443880
lea ecx, [esp + 0x78]
mov byte [esp + 0x288], 0xd
call fcn.00443880
lea ecx, [esp + 0x2c]
mov byte [esp + 0x288], 0xc
call fcn.00443880
lea ecx, [esp + 0x84]
mov byte [esp + 0x288], 0xb
call fcn.00443880
lea ecx, [esp + 0x74]
mov byte [esp + 0x288], 0xa
call fcn.00443880
lea ecx, [esp + 0x28]
mov byte [esp + 0x288], 9
call fcn.00443880
lea ecx, [esp + 0x48]
mov byte [esp + 0x288], 8
call fcn.00443880
lea ecx, [esp + 0x68]
mov byte [esp + 0x288], 7
call fcn.00443880
lea ecx, [esp + 0x50]
mov byte [esp + 0x288], 6
call fcn.00443880
lea ecx, [esp + 0x1c]
mov byte [esp + 0x288], 5
call fcn.00443880
lea ecx, [esp + 0x90]
mov byte [esp + 0x288], 4
call fcn.00443880
lea ecx, [esp + 0x3c]
mov byte [esp + 0x288], 3
call fcn.00443880
push 0x51d5ec
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [0x51d63c]
dec eax
push 0x51d5ec
mov dword [0x51d63c], eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
lea ecx, [esp + 0x64]
mov byte [esp + 0x288], 0
call fcn.00443880
lea ecx, [esp + 0x7c]
mov dword [esp + 0x288], 0xffffffff
call fcn.00443880
mov eax, 0xb7
jmp 0x4a6dd1
lea ecx, [esp + 0xa8]
mov dword [esp + 0x80], 1
mov byte [esp + 0x288], 0x12
call fcn.00443880
lea ecx, [esp + 0xa0]
mov byte [esp + 0x288], 0x11
call fcn.00443880
jmp 0x4a6c28
lea ecx, [esp + 0x6c]
mov byte [esp + 0x288], 0x10
call fcn.00443880
lea ecx, [esp + 0x88]
mov byte [esp + 0x288], 0xf
call fcn.00443880
lea ecx, [esp + 0x34]
mov byte [esp + 0x288], 0xe
call fcn.00443880
lea ecx, [esp + 0x78]
mov byte [esp + 0x288], 0xd
call fcn.00443880
lea ecx, [esp + 0x2c]
mov byte [esp + 0x288], 0xc
call fcn.00443880
lea ecx, [esp + 0x84]
mov byte [esp + 0x288], 0xb
call fcn.00443880
lea ecx, [esp + 0x74]
mov byte [esp + 0x288], 0xa
call fcn.00443880
lea ecx, [esp + 0x28]
mov byte [esp + 0x288], 9
call fcn.00443880
lea ecx, [esp + 0x48]
mov byte [esp + 0x288], 8
call fcn.00443880
lea ecx, [esp + 0x68]
mov byte [esp + 0x288], 7
call fcn.00443880
lea ecx, [esp + 0x50]
mov byte [esp + 0x288], 6
call fcn.00443880
lea ecx, [esp + 0x1c]
mov byte [esp + 0x288], 5
call fcn.00443880
lea ecx, [esp + 0x90]
mov byte [esp + 0x288], 4
call fcn.00443880
lea ecx, [esp + 0x3c]
mov byte [esp + 0x288], 3
call fcn.00443880
push 0x51d5ec
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, dword [0x51d63c]
dec ecx
push 0x51d5ec
mov dword [0x51d63c], ecx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
lea ecx, [esp + 0x64]
mov byte [esp + 0x288], 0
call fcn.00443880
lea ecx, [esp + 0x7c]
mov dword [esp + 0x288], 0xffffffff
call fcn.00443880
mov eax, 0x80070057
jmp 0x4a6dd1
lea ecx, [esp + 0x98]
mov byte [esp + 0x288], 0x11
call fcn.00443880
lea ecx, [esp + 0x6c]
mov byte [esp + 0x288], 0x10
call fcn.00443880
lea ecx, [esp + 0x88]
mov byte [esp + 0x288], 0xf
call fcn.00443880
lea ecx, [esp + 0x34]
mov byte [esp + 0x288], 0xe
call fcn.00443880
lea ecx, [esp + 0x78]
mov byte [esp + 0x288], 0xd
call fcn.00443880
lea ecx, [esp + 0x2c]
mov byte [esp + 0x288], 0xc
call fcn.00443880
lea ecx, [esp + 0x84]
mov byte [esp + 0x288], 0xb
call fcn.00443880
lea ecx, [esp + 0x74]
mov byte [esp + 0x288], 0xa
call fcn.00443880
lea ecx, [esp + 0x28]
mov byte [esp + 0x288], 9
call fcn.00443880
lea ecx, [esp + 0x48]
mov byte [esp + 0x288], 8
call fcn.00443880
lea ecx, [esp + 0x68]
mov byte [esp + 0x288], 7
call fcn.00443880
lea ecx, [esp + 0x50]
mov byte [esp + 0x288], 6
call fcn.00443880
lea ecx, [esp + 0x1c]
mov byte [esp + 0x288], 5
call fcn.00443880
lea ecx, [esp + 0x90]
mov byte [esp + 0x288], 4
call fcn.00443880
lea ecx, [esp + 0x3c]
mov byte [esp + 0x288], 3
call fcn.00443880
push 0x51d5ec
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edx, dword [0x51d63c]
dec edx
push 0x51d5ec
mov dword [0x51d63c], edx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
lea ecx, [esp + 0x64]
mov byte [esp + 0x288], 0
call fcn.00443880
lea ecx, [esp + 0x7c]
mov dword [esp + 0x288], ebx
call fcn.00443880
mov eax, 0x80070057
jmp 0x4a6dd1
mov ecx, dword [esp + 0x294]
push 0xffffffffffffff9c
push 0x4efd50
push ebp
push str.imdisk.cpl_
call fcn.0046abb0
lea ecx, [esp + 0x6c]
mov byte [esp + 0x288], 0x10
call fcn.00443880
lea ecx, [esp + 0x88]
mov byte [esp + 0x288], 0xf
call fcn.00443880
lea ecx, [esp + 0x34]
mov byte [esp + 0x288], 0xe
call fcn.00443880
lea ecx, [esp + 0x78]
mov byte [esp + 0x288], 0xd
call fcn.00443880
lea ecx, [esp + 0x2c]
mov byte [esp + 0x288], 0xc
call fcn.00443880
lea ecx, [esp + 0x84]
mov byte [esp + 0x288], 0xb
call fcn.00443880
lea ecx, [esp + 0x74]
mov byte [esp + 0x288], 0xa
call fcn.00443880
lea ecx, [esp + 0x28]
mov byte [esp + 0x288], 9
call fcn.00443880
lea ecx, [esp + 0x48]
mov byte [esp + 0x288], 8
call fcn.00443880
lea ecx, [esp + 0x68]
mov byte [esp + 0x288], 7
call fcn.00443880
lea ecx, [esp + 0x50]
mov byte [esp + 0x288], 6
call fcn.00443880
lea ecx, [esp + 0x1c]
mov byte [esp + 0x288], 5
call fcn.00443880
lea ecx, [esp + 0x90]
mov byte [esp + 0x288], 4
call fcn.00443880
lea ecx, [esp + 0x3c]
mov byte [esp + 0x288], 3
call fcn.00443880
push 0x51d5ec
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [0x51d63c]
dec eax
push 0x51d5ec
mov dword [0x51d63c], eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
lea ecx, [esp + 0x64]
mov byte [esp + 0x288], 0
call fcn.00443880
lea ecx, [esp + 0x7c]
mov dword [esp + 0x288], 0xffffffff
call fcn.00443880
xor eax, eax
jmp 0x4a6dd1
mov dword [esp + 0x80], 0x80070057
mov eax, dword [esp + 0x1e0]
xor esi, esi
cmp eax, esi
je 0x4a6c4f
lea ecx, [esp + 0xa4]
mov dword [esp + 0xa4], eax
mov dword [esp + 0x1e0], esi
call fcn.00443880
mov edx, dword [esp + 0x3c]
cmp word [edx], si
je 0x4a6c8b
cmp dword [esp + 0xf8], esi
jne 0x4a6c8b
mov ecx, dword [esp + 0x64]
mov word [esp + 0x164], si
cmp word [ecx], 0x2a
lea eax, [esp + 0x164]
jne 0x4a6c7d
lea eax, [ecx + 2]
mov ecx, dword [esp + 0x294]
push eax
push edx
call fcn.00448be0
lea ecx, [esp + 0x6c]
mov byte [esp + 0x288], 0x10
call fcn.00443880
lea ecx, [esp + 0x88]
mov byte [esp + 0x288], 0xf
call fcn.00443880
lea ecx, [esp + 0x34]
mov byte [esp + 0x288], 0xe
call fcn.00443880
lea ecx, [esp + 0x78]
mov byte [esp + 0x288], 0xd
call fcn.00443880
lea ecx, [esp + 0x2c]
mov byte [esp + 0x288], 0xc
call fcn.00443880
lea ecx, [esp + 0x84]
mov byte [esp + 0x288], 0xb
call fcn.00443880
lea ecx, [esp + 0x74]
mov byte [esp + 0x288], 0xa
call fcn.00443880
lea ecx, [esp + 0x28]
mov byte [esp + 0x288], 9
call fcn.00443880
lea ecx, [esp + 0x48]
mov byte [esp + 0x288], 8
call fcn.00443880
lea ecx, [esp + 0x68]
mov byte [esp + 0x288], 7
call fcn.00443880
lea ecx, [esp + 0x50]
mov byte [esp + 0x288], 6
call fcn.00443880
lea ecx, [esp + 0x1c]
mov byte [esp + 0x288], 5
call fcn.00443880
lea ecx, [esp + 0x90]
mov byte [esp + 0x288], 4
call fcn.00443880
lea ecx, [esp + 0x3c]
mov byte [esp + 0x288], 3
call fcn.00443880
push 0x51d5ec
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, dword [0x51d63c]
dec ecx
push 0x51d5ec
mov dword [0x51d63c], ecx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
lea ecx, [esp + 0x64]
mov byte [esp + 0x288], 0
call fcn.00443880
lea ecx, [esp + 0x7c]
mov dword [esp + 0x288], 0xffffffff
call fcn.00443880
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x280]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x27c
ret