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

Disassembly:
push ebp
lea ebp, [esp - 0x70]
sub esp, 0x288
push ebx
fldz
push esi
fstp qword [ebp - 0x19c]
push edi
push 0x26
xor eax, eax
pop ecx
lea edi, [ebp - 0x194]
mov byte [ebp + 0x5b], 1
rep stosd dword es:[edi], eax
xor ebx, ebx
mov esi, 0x4beb4c
push dword [ebp + 0x78]
lea ecx, [ebp - 0x70]
mov byte [ebp + 0x37], bl
call fcn.004457e4
mov eax, dword [ebp - 0x70]
mov dword [ebp + 0x60], eax
add eax, 0xc
mov dword [ebp + 0x68], eax
mov dword [ebp + 0x48], eax
lea eax, [ebp + 0x48]
push eax
call fcn.004050f3
mov eax, dword [ebp + 0x48]
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x20]
push eax
call fcn.004379a9
mov eax, dword [ebp + 0x68]
cmp word [eax], 0x2a
pop ecx
pop ecx
lea ecx, [ebp + 0xf]
sete byte [ebp + 0x67]
call fcn.00411612
push 6
push dword [ebp - 0x20]
push str.__free
call fcn.00438b38
add esp, 0xc
test al, al
jne 0x485b2b
lea ecx, [ebp + 0x78]
call fcn.00482a21
push ebx
lea ecx, [ebp + 0xf]
call fcn.00411615
lea ecx, [ebp + 0xf]
call fcn.00411606
neg eax
sbb eax, eax
inc eax
cmp dword [0x4bc808], ebx
mov dword [ebp - 0x18], eax
mov dword [ebp + 0x24], ebx
mov dword [ebp - 0x88], ebx
mov dword [ebp - 0x8c], ebx
jge 0x484714
mov eax, dword [0x4bdf64]
cmp eax, ebx
mov dword [0x4bc808], ebx
mov dword [ebp + 0x54], ebx
mov dword [ebp + 0x44], ebx
je 0x4846f0
lea ecx, [ebp + 0x44]
push ecx
lea ecx, [ebp + 0x54]
push ecx
call eax
cmp dword [ebp + 0x44], ebx
jbe 0x4846f0
mov eax, dword [ebp + 0x54]
cmp eax, 0x202
jb 0x4846bc
mov dword [0x4bc808], 0x38
jmp 0x4846f0
cmp eax, 0x184
jb 0x4846cf
mov dword [0x4bc808], 8
jmp 0x4846f0
cmp eax, 0x160
jb 0x4846e2
mov dword [0x4bc808], 2
jmp 0x4846f0
cmp eax, ebx
jbe 0x4846f0
mov dword [0x4bc808], 1
push dword [0x4bdf64]
push dword [0x4bc808]
push dword [ebp + 0x44]
push dword [ebp + 0x54]
push str.DBG:_IMD:_0x_X_0x_X_0x_X__0x_p_r_n
push 0x4bdfa0
call fcn.0040f2bd
add esp, 0x18
push 3
push dword [ebp - 0x20]
push 0x4abfd8
call fcn.00438b38
add esp, 0xc
test al, al
je 0x484731
mov dword [ebp + 0x24], 0xfff00000
push 5
lea eax, [ebp - 0x20]
push eax
push str.__ins
mov byte [ebp + 0x6f], bl
call fcn.0043f1bd
add esp, 0xc
test al, al
je 0x484751
mov byte [ebp + 0x6f], 5
jmp 0x48476c
push 6
lea eax, [ebp - 0x20]
push eax
push str.__fins
call fcn.0043f1bd
add esp, 0xc
test al, al
je 0x48476c
mov byte [ebp + 0x6f], 6
push 0x3e8
lea ecx, [ebp - 0x24]
call fcn.0043d49b
lea ecx, [ebp + 0x18]
call fcn.0043d47d
lea ecx, [ebp - 0xa8]
call fcn.0043d47d
lea ecx, [ebp + 0x5c]
call fcn.0043d47d
lea ecx, [ebp - 0x1c]
mov dword [ebp + 0x14], ebx
call fcn.0043d47d
lea ecx, [ebp + 4]
call fcn.0043d47d
lea ecx, [ebp + 0x50]
call fcn.0043d47d
lea ecx, [ebp - 0xc]
call fcn.0043d47d
lea ecx, [ebp - 0x3c]
call fcn.0043d47d
lea ecx, [ebp + 0x3c]
call fcn.0043d47d
lea ecx, [ebp - 0x28]
call fcn.0043d47d
lea ecx, [ebp + 0x28]
call fcn.0043d47d
or eax, 0xffffffff
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x68], eax
mov eax, 0x4a39d4
push 0xc8
lea ecx, [ebp - 0x14]
mov dword [ebp - 0x54], ebx
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0xe0], ebx
mov dword [ebp - 0xd4], ebx
mov dword [ebp - 0xd0], ebx
mov dword [ebp + 0x1c], ebx
mov dword [ebp + 0x44], eax
mov dword [ebp + 0x54], eax
call fcn.0043d49b
cmp byte [ebp + 0x67], bl
mov eax, dword [ebp + 0x48]
mov cx, word [eax]
mov edi, dword [ebp - 0x20]
mov dword [ebp - 0xd8], eax
mov word [ebp - 0x7c], cx
mov dword [ebp + 0x30], eax
je 0x48495f
add dword [ebp + 0x68], 2
mov word [eax], bx
mov eax, dword [ebp + 0x68]
mov edx, eax
jmp 0x484854
cmp cx, 0x2a
je 0x48485c
inc eax
inc eax
mov dword [ebp + 0x68], eax
mov cx, word [eax]
cmp cx, bx
jne 0x484849
sub eax, edx
sar eax, 1
push eax
push edx
lea ecx, [ebp + 0x18]
call fcn.0043d5a1
mov eax, dword [ebp + 0x18]
cmp word [eax], bx
je 0x48487f
push 0x3e8
lea ecx, [ebp - 0x24]
call fcn.0043d4c2
cmp word [ebp - 0x7c], bx
mov eax, dword [ebp + 0x48]
mov dword [ebp + 0x30], eax
je 0x484891
add eax, 2
mov dword [ebp + 0x30], eax
lea eax, [ebp + 0x30]
push eax
call fcn.004379a9
pop ecx
mov edi, 0x4a39d4
push 4
lea eax, [ebp + 0x30]
push eax
push str._mem
call fcn.0043f200
add esp, 0xc
test al, al
jne 0x4848ce
push 2
lea eax, [ebp + 0x30]
push eax
push 0x4a6cb0
call fcn.0043f200
add esp, 0xc
test al, al
je 0x4848d3
mov dword [ebp + 0x44], edi
jmp 0x4848a0
push 3
lea eax, [ebp + 0x30]
push eax
push 0x4ac714
call fcn.0043f200
add esp, 0xc
test al, al
je 0x4848f3
mov dword [ebp + 0x44], 0x4af82c
jmp 0x4848a0
push 4
lea eax, [ebp + 0x30]
push eax
push str._map
call fcn.0043f200
add esp, 0xc
test al, al
je 0x484916
mov dword [ebp - 0xe0], 1
jmp 0x4848a0
push 4
lea eax, [ebp + 0x30]
push eax
push str._exe
call fcn.0043f200
add esp, 0xc
test al, al
je 0x484939
mov dword [ebp + 0x24], 1
jmp 0x4848a0
push 5
lea eax, [ebp + 0x30]
push eax
push str._nexe
call fcn.0043f200
add esp, 0xc
test al, al
je 0x48495c
mov dword [ebp + 0x24], 0xfff00000
jmp 0x4848a0
mov edi, dword [ebp + 0x30]
mov ecx, dword [ebp + 0x7c]
push 0x4af804
push 0x4aee64
call fcn.0043cd78
mov eax, dword [ebp + 0x18]
cmp word [eax], bx
push 0xffffffffffffffff
lea ecx, [ebp + 0x14]
push 0xffffffffffffffff
je 0x4849a4
push 0x4af800
call fcn.0043d538
push dword [ebp + 0x18]
lea ecx, [ebp + 0x14]
call fcn.0043d4e9
push str.Imdisk
lea ecx, [ebp + 0x14]
call fcn.0043d4e9
jmp 0x4849ae
push str._Imdisk
call fcn.0043d538
push 9
push edi
push str.__version
call fcn.00438b38
push 2
push edi
push 0x4af7d0
mov byte [ebp + 0x66], al
call fcn.00438b38
push 2
push edi
push 0x4af7cc
mov byte [ebp + 0xe], al
call fcn.00438b38
push 3
push edi
push 0x4abfd8
mov byte [ebp + 0x13], al
call fcn.00438b38
add esp, 0x30
cmp byte [ebp + 0x66], bl
jne 0x484a05
cmp byte [ebp + 0xe], bl
jne 0x484a05
cmp byte [ebp + 0x13], bl
jne 0x484a05
cmp al, bl
jne 0x484a05
mov cl, 1
jmp 0x484a07
xor cl, cl
cmp dword [ebp - 0x18], ebx
jne 0x484a1e
mov eax, dword [0x4bc808]
cmp eax, ebx
jle 0x484a1e
push 2
pop edi
cmp eax, edi
jge 0x484a2a
jmp 0x484a21
push 2
pop edi
cmp cl, bl
jne 0x484a34
cmp byte [ebp + 0x6f], bl
jne 0x484a34
cmp byte [ebp + 0x6f], 6
jl 0x484bb9
cmp dword [ebp - 0x18], ebx
mov dword [ebp - 0x10], 0x4af7c4
jne 0x484a8a
lea ecx, [ebp - 0x74]
call fcn.0043d47d
mov eax, 0x4af7bc
mov dword [ebp - 0xe8], eax
mov dword [ebp - 0xe4], eax
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0xe8]
push eax
push edi
call fcn.00426bfb
mov eax, dword [ebp - 0x74]
add esp, 0xc
cmp word [eax], bx
je 0x484a82
cmp word [eax + 2], bx
je 0x484a82
mov dword [ebp - 0x10], 0x4af7b4
lea ecx, [ebp - 0x74]
call fcn.00437960
push esi
call dword [sym.imp.KERNEL32.DLL_EnterCriticalSection]
mov edi, dword [sym.imp.KERNEL32.DLL_LeaveCriticalSection]
sub dword [0x4beb9c], 1
push esi
call edi
push esi
call dword [sym.imp.KERNEL32.DLL_EnterCriticalSection]
cmp dword [0x4beb9c], ebx
jle 0x484ac1
push esi
call edi
mov ecx, dword [ebp + 0x7c]
push ebx
push ebx
push 1
call fcn.00413857
jmp 0x484aa1
push 0xffffffffffffffff
lea ecx, [ebp + 0xf]
call fcn.00411615
push esi
call edi
movsx ax, byte [ebp + 0x6f]
push 0xffffffffffffffff
lea ecx, [ebp + 0xf]
mov word [ebp - 0xbe], 0x20
mov word [ebp - 0xbc], bx
add eax, 0x30
mov word [ebp - 0xc0], ax
call fcn.00411615
push str.28:INDATA
lea ecx, [ebp + 8]
call fcn.004457e4
cmp dword [ebp - 0x18], ebx
mov eax, 0x4af7b4
jne 0x484b13
mov eax, 0x4af7c4
push eax
lea ecx, [ebp + 8]
call fcn.0043d4e9
push dword [ebp - 0x10]
lea ecx, [ebp + 8]
call fcn.0043d4e9
lea eax, [ebp - 0xc0]
push eax
lea ecx, [ebp + 8]
call fcn.0043d4e9
push dword [ebp + 0x48]
lea ecx, [ebp + 8]
call fcn.0043d4e9
push dword [ebp + 8]
push str.Install_IMD__s__r_n
push 0x4bdfa0
call fcn.0040f2bd
mov ecx, dword [ebp + 0x7c]
add esp, 0xc
push dword [ebp + 8]
call fcn.0042ee8f
push esi
call dword [sym.imp.KERNEL32.DLL_EnterCriticalSection]
add dword [0x4beb9c], 1
push esi
mov dword [0x4bc808], 0xffffffc0
call edi
push ebx
lea ecx, [ebp + 0xf]
call fcn.00411615
lea ecx, [ebp + 0xf]
call fcn.00411606
neg eax
sbb eax, eax
inc eax
push esi
mov dword [ebp - 0x18], eax
call dword [sym.imp.KERNEL32.DLL_EnterCriticalSection]
cmp dword [ebp - 0x18], ebx
jne 0x484bab
mov dword [0x4bc808], 0x38
push esi
call edi
lea ecx, [ebp + 8]
call fcn.00437960
push 2
pop edi
cmp byte [ebp + 0x67], bl
je 0x48545a
mov eax, dword [ebp + 0x30]
mov dword [ebp - 0x4c], eax
jmp 0x484bed
push edi
lea eax, [ebp - 0x4c]
push eax
push 0x4a6cb0
call fcn.0043f1bd
add esp, 0xc
test al, al
jne 0x484bf4
lea eax, [ebp - 0x4c]
push eax
call fcn.0040507c
mov eax, dword [ebp - 0x4c]
pop ecx
cmp word [eax], bx
jne 0x484bca
jmp 0x484bfa
mov eax, dword [ebp - 0x4c]
mov dword [ebp + 0x54], eax
mov eax, dword [ebp + 0x68]
cmp word [eax], 0x2a
jne 0x485448
add dword [ebp + 0x68], edi
mov eax, dword [ebp + 0x68]
mov dword [ebp - 0x5c], ebx
mov dword [ebp - 0x58], ebx
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x34], ebx
cmp word [eax], 0x40
mov byte [ebp + 0x67], bl
jne 0x484c29
add dword [ebp + 0x68], edi
mov byte [ebp + 0x67], 1
lea eax, [ebp - 0x64]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.00441c9a
mov eax, dword [ebp + 0x68]
cmp word [eax], bx
pop ecx
pop ecx
je 0x484c43
add dword [ebp + 0x68], edi
lea eax, [ebp - 0x6c]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.00441c9a
mov eax, dword [ebp + 0x68]
cmp word [eax], bx
pop ecx
pop ecx
je 0x484c5d
add dword [ebp + 0x68], edi
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.00441c9a
mov edi, dword [ebp + 0x68]
cmp word [edi], bx
pop ecx
pop ecx
je 0x484c79
inc edi
inc edi
mov dword [ebp + 0x68], edi
mov al, byte [ebp - 0x48]
and al, 1
mov byte [ebp + 0x6f], al
push 0x2a
lea eax, [ebp + 0x68]
call fcn.00405093
mov eax, dword [ebp + 0x68]
pop ecx
sub eax, edi
sar eax, 1
push eax
push edi
lea ecx, [ebp + 0x28]
call fcn.0043d5a1
mov eax, dword [ebp + 0x68]
cmp word [eax], bx
je 0x484ca9
add dword [ebp + 0x68], 2
mov edi, dword [ebp + 0x68]
push 0x2a
lea eax, [ebp + 0x68]
call fcn.00405093
mov eax, dword [ebp + 0x68]
pop ecx
sub eax, edi
sar eax, 1
push eax
push edi
lea ecx, [ebp + 0x3c]
call fcn.0043d5a1
mov eax, dword [ebp + 0x68]
cmp word [eax], bx
je 0x484cd4
add dword [ebp + 0x68], 2
lea eax, [ebp - 0x5c]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.00441c9a
mov edi, dword [ebp + 0x68]
cmp word [edi], bx
pop ecx
pop ecx
je 0x484cf0
inc edi
inc edi
mov dword [ebp + 0x68], edi
push 0x2a
lea eax, [ebp + 0x68]
call fcn.00405093
mov eax, dword [ebp + 0x68]
pop ecx
sub eax, edi
sar eax, 1
push eax
push edi
lea ecx, [ebp - 0x28]
call fcn.0043d5a1
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp + 0x68]
push eax
call fcn.00441c9a
mov eax, dword [ebp + 0x68]
cmp word [eax], bx
pop ecx
pop ecx
je 0x484d27
add dword [ebp + 0x68], 2
cmp byte [ebp + 0x67], bl
mov edx, dword [ebp - 0x64]
mov edi, dword [ebp - 0x60]
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x68]
mov dword [ebp - 0xb0], edx
mov dword [ebp - 0xac], edi
mov dword [ebp - 0xb8], eax
mov dword [ebp - 0xb4], ecx
je 0x484d6c
add eax, edx
adc ecx, edi
mov dword [ebp - 0xb0], ebx
mov dword [ebp - 0xac], ebx
mov dword [ebp - 0xb8], eax
mov dword [ebp - 0xb4], ecx
cmp dword [ebp - 0x58], ebx
jl 0x484d8e
jg 0x484d78
cmp dword [ebp - 0x5c], ebx
jbe 0x484d8e
cmp dword [ebp - 0x34], ebx
jg 0x484d8e
jl 0x484d84
cmp dword [ebp - 0x38], ebx
ja 0x484d8e
mov dword [ebp - 0x38], 1
mov dword [ebp - 0x34], ebx
push 0x318
lea ecx, [ebp - 0x2c]
call fcn.0043d49b
mov eax, dword [ebp - 0x2c]
lea esi, [eax + 0x6a]
mov dword [ebp - 8], eax
lea eax, [esi + 0x6a]
lea edi, [eax + 0x6a]
push ebx
mov word [edi], bx
push 0x200
mov word [eax], bx
push dword [ebp - 0x60]
lea ecx, [edi + 0x6a]
push dword [ebp - 0x64]
mov dword [ebp - 0xa0], esi
mov dword [ebp - 0xcc], edi
mov dword [ebp - 4], ecx
call fcn.0048f800
push edx
push eax
push dword [ebp - 8]
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], edx
call fcn.004842fa
add esp, 0xc
push ebx
push 0x200
push dword [ebp - 0x68]
push dword [ebp - 0x6c]
call fcn.0048f800
push edx
push eax
push esi
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x68], edx
call fcn.004842fa
add esp, 0xc
mov word [edi], bx
cmp dword [ebp - 0x58], ebx
jl 0x484e26
jg 0x484e17
cmp dword [ebp - 0x5c], ebx
jbe 0x484e26
push dword [ebp - 0x58]
push dword [ebp - 0x5c]
push edi
call fcn.004842fa
add esp, 0xc
mov ecx, dword [ebp + 0x48]
xor eax, eax
cmp word [ebp - 0x7c], bx
setne al
lea eax, [ecx + eax*2]
mov dword [ebp + 0x38], eax
lea eax, [ebp + 0x38]
push eax
call fcn.004379a9
push 4
push dword [ebp + 0x38]
mov dword [ebp - 0x78], ebx
push str.__w:
call fcn.00438b8f
add esp, 0x10
test al, al
je 0x484e6d
add dword [ebp + 0x38], 8
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp + 0x38]
push eax
call fcn.004488bd
pop ecx
pop ecx
push 0xffffffffffffffff
lea eax, [ebp + 0x38]
push eax
push 0x4af76c
call fcn.0043f1bd
add esp, 0xc
cmp dword [0x4bc808], 1
jl 0x484e95
cmp dword [ebp + 0x24], ebx
jne 0x484e95
mov dword [ebp + 0x24], 0xfff00000
mov eax, dword [ebp + 0x38]
mov edi, 0x4a39d4
mov byte [ebp + 0x66], bl
mov byte [ebp + 0x67], bl
mov dword [ebp - 0x10], edi
mov dword [ebp - 0x80], edi
mov dword [ebp + 0x4c], eax
mov dword [ebp + 0x2c], ebx
jmp 0x484f20
push 2
lea eax, [ebp + 0x4c]
push eax
push 0x4aca74
call fcn.0043f1bd
add esp, 0xc
test al, al
je 0x484ed1
mov dword [ebp + 0x2c], 1
jmp 0x484f1d
cmp dword [ebp + 0x2c], ebx
je 0x484f10
push 2
lea eax, [ebp + 0x4c]
push eax
push 0x4af768
call fcn.0043f1bd
add esp, 0xc
test al, al
je 0x484ef3
mov byte [ebp + 0x66], 1
jmp 0x484f1d
push 3
lea eax, [ebp + 0x4c]
push eax
push 0x4af764
call fcn.0043f1bd
add esp, 0xc
test al, al
je 0x484f10
mov byte [ebp + 0x67], 1
jmp 0x484f1d
lea eax, [ebp + 0x4c]
push eax
call fcn.0040507c
pop ecx
mov dword [ebp + 0x2c], ebx
mov eax, dword [ebp + 0x4c]
cmp word [eax], bx
jne 0x484eb1
mov eax, dword [0x4bc808]
test al, 0x10
je 0x484f3a
cmp byte [ebp + 0x67], bl
jne 0x484f3a
mov dword [ebp - 0x10], str._o_par
mov dword [ebp + 0x4c], eax
and dword [ebp + 0x4c], 0x20
je 0x484f4a
mov dword [ebp - 0x80], str._o_shared
cmp dword [ebp + 0x4c], ebx
je 0x484f52
mov byte [ebp + 0x5b], bl
mov ecx, dword [ebp - 0x48]
mov eax, ecx
and eax, 0x200
or eax, ebx
jne 0x484f7c
cmp dword [ebp + 0x4c], ebx
jne 0x484f7c
cmp byte [ebp + 0x6f], bl
je 0x484f7f
and ecx, 0x100
mov eax, ecx
or eax, ebx
je 0x484f7f
mov byte [ebp + 0x5b], 1
jmp 0x484f7f
mov byte [ebp + 0x5b], bl
cmp dword [0x4bc808], 8
jl 0x485090
cmp byte [ebp + 0x6f], bl
je 0x484f9a
cmp byte [ebp + 0x5b], bl
jne 0x485090
cmp byte [ebp + 0x6f], bl
mov dword [ebp + 0x2c], edi
jne 0x484fb0
cmp byte [ebp + 0x66], bl
jne 0x484fb9
mov dword [ebp + 0x2c], str._o_ro
jmp 0x484fb9
cmp dword [ebp + 0x4c], ebx
jne 0x484fb9
mov byte [ebp + 0x37], 1
push dword [ebp + 0x28]
call dword [sym.imp.KERNEL32.DLL_lstrlenW]
push dword [ebp + 0x48]
mov edi, eax
call dword [sym.imp.KERNEL32.DLL_lstrlenW]
lea eax, [eax + edi + 0x800]
push eax
lea ecx, [ebp + 0x5c]
call fcn.0043d4c2
push dword [ebp + 0x28]
push esi
push dword [ebp - 8]
push dword [ebp - 0x80]
push dword [ebp - 0x10]
push dword [ebp + 0x2c]
push str.imdisk__a___s__s__s___b__sb__s__sb__f__s
push dword [ebp + 0x5c]
call dword [sym.imp.USER32.dll_wsprintfW]
mov eax, dword [ebp + 0x38]
add esp, 0x20
mov dword [ebp + 0x20], eax
cmp word [eax], bx
je 0x48507c
push 2
lea eax, [ebp + 0x20]
push eax
push 0x4aeb2c
call fcn.0043f200
add esp, 0xc
test al, al
jne 0x485042
push 2
lea eax, [ebp + 0x20]
push eax
push 0x4a6ffc
call fcn.0043f200
add esp, 0xc
test al, al
jne 0x485042
lea eax, [ebp + 0x20]
push eax
call fcn.0040507c
jmp 0x485070
mov ecx, dword [ebp + 0x20]
xor eax, eax
jmp 0x48505f
call fcn.00482120
test al, al
jne 0x485067
mov word [ecx], 0x20
mov ecx, dword [ebp + 0x20]
inc ecx
inc ecx
mov dword [ebp + 0x20], ecx
mov ax, word [ecx]
cmp ax, bx
jne 0x485049
lea eax, [ebp + 0x20]
push eax
call fcn.004379a9
mov eax, dword [ebp + 0x20]
cmp word [eax], bx
pop ecx
jne 0x485009
mov eax, dword [ebp + 0x38]
push eax
lea ecx, [ebp + 0x5c]
call fcn.0043d4e9
mov eax, dword [ebp + 0x5c]
mov dword [ebp + 0x60], eax
jmp 0x485428
cmp byte [ebp + 0x6f], bl
je 0x4850c3
push ebx
push 0xa0000080
push 3
push ebx
push 7
push 0xc0000000
push dword [ebp + 0x28]
call dword [sym.imp.KERNEL32.DLL_CreateFileW]
cmp eax, 0xffffffff
je 0x485b63
push eax
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
mov dword [ebp + 0x4c], edi
jmp 0x4850ca
mov dword [ebp + 0x4c], 0x4af6d8
cmp dword [ebp - 0x34], ebx
jl 0x4850e8
jg 0x4850d6
cmp dword [ebp - 0x38], ebx
jbe 0x4850e8
push dword [ebp - 0x34]
lea eax, [esi + 0x6a]
push dword [ebp - 0x38]
push eax
call fcn.004842fa
add esp, 0xc
push 0x5c
push ebx
push dword [ebp + 0x28]
call dword [sym.imp.SHLWAPI.dll_StrRChrW]
mov esi, eax
cmp esi, ebx
jne 0x4850ff
mov esi, dword [ebp + 0x28]
jmp 0x485101
inc esi
inc esi
mov eax, dword [ebp + 0x3c]
cmp word [eax], bx
jne 0x485138
push 0x800
lea ecx, [ebp + 0x3c]
call fcn.0043d4c2
mov edi, dword [ebp + 0x3c]
call fcn.00439c36
push eax
push dword [ebp - 0xa0]
push dword [ebp - 8]
push esi
push str._s_s_s__u
push edi
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x18
push dword [ebp + 0x3c]
call dword [sym.imp.KERNEL32.DLL_lstrlenW]
mov esi, eax
mov eax, 0x400
cmp esi, eax
jle 0x485158
mov esi, eax
mov eax, dword [ebp + 0x3c]
mov word [eax + 0x800], bx
push str.Global_
lea ecx, [ebp - 0x14]
call fcn.004458a8
push dword [ebp + 0x3c]
lea ecx, [ebp - 0x14]
call fcn.0043d4e9
push str._devio_Ack
lea ecx, [ebp - 0x14]
call fcn.0043d4e9
mov eax, dword [ebp - 4]
mov word [eax], bx
mov eax, dword [ebp - 0x48]
and eax, 0x30
or eax, ebx
mov word [ebp - 0x1d8], bx
jne 0x4851ab
cmp byte [ebp + 0x6f], bl
je 0x485263
mov eax, dword [ebp - 0x48]
and eax, 0x40
or eax, ebx
jne 0x485263
mov edi, dword [ebp - 4]
push 0x10
push str.__kill:
push edi
call fcn.004125f9
add esp, 0xc
push 0x104
add edi, 0x27e
push edi
push ebx
call dword [sym.imp.KERNEL32.DLL_GetModuleFileNameW]
mov eax, dword [ebp - 4]
push 0x104
add eax, 0xe
push eax
push edi
call dword [sym.imp.KERNEL32.DLL_GetShortPathNameW]
push dword [ebp - 4]
call dword [sym.imp.KERNEL32.DLL_lstrlenW]
mov edi, dword [ebp + 0x54]
cmp word [edi], 0x22
mov dword [ebp - 0x84], eax
mov dword [ebp + 0x2c], edi
jne 0x485217
add dword [ebp + 0x54], 2
jmp 0x48520d
cmp ax, 0x22
je 0x485224
inc edi
inc edi
mov ax, word [edi]
cmp ax, bx
jne 0x485205
jmp 0x485224
lea eax, [ebp + 0x2c]
push eax
call fcn.004050f3
mov edi, dword [ebp + 0x2c]
pop ecx
mov ax, word [edi]
mov word [ebp + 0x2c], ax
mov word [edi], bx
mov eax, dword [ebp - 0x48]
and eax, 0x20
or eax, ebx
mov eax, str._LOAD_25_poweroff
jne 0x485242
mov eax, str._RAMD_ImdiskV__D__m__s_
push dword [ebp + 0x54]
mov ecx, dword [ebp - 0x84]
push eax
mov eax, dword [ebp - 4]
lea eax, [eax + ecx*2]
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
mov ax, word [ebp + 0x2c]
add esp, 0xc
mov word [edi], ax
mov eax, dword [ebp - 0x48]
mov edx, dword [ebp - 0x44]
mov cl, 1
call fcn.0048faf0
and eax, 3
je 0x48528b
push eax
lea eax, [ebp - 0x1d8]
push str._nrc:_d
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
push ebx
mov edi, 0x200
push edi
push dword [ebp - 0xac]
push dword [ebp - 0xb0]
call fcn.0048f800
push edx
push eax
push dword [ebp - 8]
call fcn.004842fa
add esp, 0xc
push ebx
push edi
push dword [ebp - 0xb4]
push dword [ebp - 0xb8]
call fcn.0048f800
mov edi, dword [ebp - 0xa0]
push edx
push eax
push edi
call fcn.004842fa
mov ecx, dword [ebp + 0x7c]
add esp, 0xc
push 0x4a76a8
push str.__ImdMapPid
call fcn.0043cd78
push dword [ebp - 0x28]
call dword [sym.imp.KERNEL32.DLL_lstrlenW]
push dword [ebp + 0x28]
mov dword [ebp - 0x84], eax
call dword [sym.imp.KERNEL32.DLL_lstrlenW]
add eax, dword [ebp - 0x84]
lea ecx, [ebp - 0x30]
lea eax, [eax + esi + 0x940]
push eax
call fcn.0043d49b
push str.Global_
lea ecx, [ebp - 0x40]
call fcn.004457e4
push dword [ebp + 0x3c]
lea ecx, [ebp - 0x40]
call fcn.0043d4e9
push dword [ebp - 0x40]
push ebx
push 2
call dword [sym.imp.KERNEL32.DLL_OpenFileMappingW]
cmp eax, ebx
jne 0x485b75
lea ecx, [ebp - 0x40]
call fcn.00437960
push dword [ebp - 0xcc]
lea eax, [edi + 0x6a]
push eax
push dword [ebp - 8]
lea eax, [ebp - 0x1d8]
push edi
push dword [ebp + 0x28]
push dword [ebp + 0x3c]
push dword [ebp + 0x4c]
push eax
push dword [ebp - 0x28]
push dword [ebp - 4]
push dword [ebp + 0x44]
push str.EXEC___pid:__ImdMapPid____exe:_s10INDATA___nfb___MyName0____s__w:60000__s__s__s_shm:_s___s__s__s__s__s
push dword [ebp - 0x30]
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x34
add esi, 0x800
push esi
lea ecx, [ebp + 0x5c]
call fcn.0043d4c2
mov eax, dword [ebp - 8]
mov word [eax], bx
mov word [edi], bx
push dword [ebp + 0x3c]
push dword [ebp - 0x80]
push dword [ebp - 0x10]
push 0x4a39d4
push str.imdisk__a__t_proxy__s__s__s__o_shm__f__s
push dword [ebp + 0x5c]
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x18
push dword [ebp + 0x38]
lea ecx, [ebp + 0x5c]
call fcn.0043d4e9
push dword [ebp - 0x14]
mov eax, dword [ebp + 0x5c]
push ebx
push ebx
push ebx
mov dword [ebp + 0x60], eax
call dword [sym.imp.KERNEL32.DLL_CreateEventW]
mov ecx, dword [ebp + 0x7c]
push ebx
push ebx
push ebx
push dword [ebp - 0x30]
mov esi, eax
call fcn.0042cba1
push 0xea60
push esi
call dword [sym.imp.KERNEL32.DLL_WaitForSingleObject]
push esi
mov edi, eax
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
cmp edi, ebx
jne 0x485b9e
push 0x32
pop esi
push ebx
call dword [sym.imp.KERNEL32.DLL_Sleep]
dec esi
jne 0x485404
cmp dword [ebp - 0x78], ebx
jle 0x485420
mov ecx, dword [ebp + 0x7c]
push ebx
push ebx
push dword [ebp - 0x78]
call fcn.00413857
lea ecx, [ebp - 0x30]
call fcn.00437960
mov eax, dword [ebp + 0x38]
mov dword [ebp + 0x48], eax
lea ecx, [ebp - 0x2c]
mov word [eax], bx
mov dword [ebp - 0xe0], 1
call fcn.00437960
mov esi, 0x4beb4c
mov ax, word [ebp - 0x7c]
mov ecx, dword [ebp - 0xd8]
mov word [ecx], ax
jmp 0x4858d5
push 4
lea eax, [ebp + 0x48]
push eax
push str._exe
call fcn.0043f1bd
add esp, 0xc
test al, al
je 0x485478
mov dword [ebp + 0x24], 1
push 5
lea eax, [ebp + 0x48]
push eax
push str._nexe
call fcn.0043f1bd
add esp, 0xc
test al, al
je 0x485496
mov dword [ebp + 0x24], 0xfff00000
push 6
lea eax, [ebp + 0x48]
push eax
push str._nexe1
call fcn.0043f1bd
add esp, 0xc
test al, al
je 0x4854be
mov dword [ebp + 0x24], 0xfff00000
mov dword [ebp - 0x8c], 1
push 0x2c
pop esi
push esi
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp + 0x60]
push eax
call fcn.0043fe29
mov eax, dword [ebp - 0x1c]
mov word [eax], bx
mov eax, dword [ebp + 0x60]
add esp, 0xc
cmp word [eax], bx
je 0x48558b
add dword [ebp + 0x60], edi
push esi
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp + 0x60]
push eax
call fcn.0043fe29
mov eax, dword [ebp + 0x60]
add esp, 0xc
cmp word [eax], bx
je 0x48558b
add dword [ebp + 0x60], edi
push esi
lea eax, [ebp + 4]
push eax
lea eax, [ebp + 0x60]
push eax
call fcn.0043fe29
mov eax, dword [ebp + 0x60]
add esp, 0xc
cmp word [eax], bx
je 0x48558b
add dword [ebp + 0x60], edi
push esi
lea eax, [ebp + 0x50]
push eax
lea eax, [ebp + 0x60]
push eax
call fcn.0043fe29
mov eax, dword [ebp + 0x60]
add esp, 0xc
cmp word [eax], bx
je 0x48558b
add dword [ebp + 0x60], edi
push esi
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp + 0x60]
push eax
call fcn.0043fe29
mov eax, dword [ebp + 0x60]
add esp, 0xc
cmp word [eax], bx
je 0x48558b
add dword [ebp + 0x60], edi
push esi
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp + 0x60]
push eax
call fcn.0043fe29
mov eax, dword [ebp + 0x60]
add esp, 0xc
cmp word [eax], bx
je 0x48558b
add dword [ebp + 0x60], edi
push esi
lea eax, [ebp - 0xd4]
push eax
lea eax, [ebp + 0x60]
push eax
call fcn.0043ffdf
add esp, 0xc
push 6
lea ecx, [ebp + 0x50]
mov byte [ebp + 0x66], bl
call fcn.0043d4c2
mov eax, dword [ebp + 0x50]
mov word [eax + 2], 0x3a
mov eax, dword [ebp + 0x50]
mov word [eax + 4], bx
mov eax, dword [ebp + 0x50]
cmp word [eax], bx
je 0x485627
push eax
call fcn.0048ef50
test eax, eax
pop ecx
je 0x48561f
mov eax, dword [ebp + 0x50]
lea ecx, [ebp - 0xa4]
mov dword [ebp - 0xfc], str.imdisk
mov dword [ebp - 0xf8], 0x4af7bc
mov dword [ebp - 0xf4], 0x4af4b0
mov dword [ebp - 0xf0], eax
mov dword [ebp - 0xec], ebx
call fcn.0043d47d
lea eax, [ebp - 0xa4]
push eax
lea eax, [ebp - 0xfc]
push eax
push 4
call fcn.00426bfb
add esp, 0xc
neg eax
sbb al, al
inc al
lea ecx, [ebp - 0xa4]
mov byte [ebp + 0x66], al
call fcn.00437960
mov eax, dword [ebp + 0x50]
cmp word [eax], bx
jne 0x485640
push 0x4a8bac
lea ecx, [ebp + 0x50]
call fcn.0044584c
mov eax, dword [ebp + 0x50]
cmp word [eax], bx
je 0x485bbf
push 0x3c
lea ecx, [ebp]
call fcn.0043d49b
mov eax, dword [ebp - 0x1c]
or esi, 0xffffffff
mov dword [ebp - 0x9c], esi
mov dword [ebp - 0x98], esi
mov dword [ebp - 0x94], esi
mov dword [ebp - 0x90], esi
mov dword [ebp - 0xc8], esi
mov dword [ebp - 0xc4], esi
mov dword [ebp + 0x40], eax
cmp word [eax], bx
mov edi, esi
je 0x485bb7
lea eax, [ebp + 0x40]
push eax
call fcn.004379a9
mov eax, dword [ebp + 0x40]
mov ax, word [eax]
or ax, 0x20
cmp ax, 0x70
pop ecx
jne 0x4856a4
lea eax, [ebp - 0x9c]
jmp 0x4856be
cmp ax, 0x6c
jne 0x4856b2
lea eax, [ebp - 0x94]
jmp 0x4856be
cmp ax, 0x68
jne 0x4856d6
lea eax, [ebp - 0xc8]
add dword [ebp + 0x40], 2
push eax
lea eax, [ebp + 0x40]
push eax
call fcn.00448818
mov eax, dword [ebp + 0x40]
cmp word [eax], bx
pop ecx
pop ecx
jne 0x485682
cmp dword [ebp - 0x98], ebx
jl 0x485718
jg 0x4856e8
cmp dword [ebp - 0x9c], ebx
jbe 0x485718
push 1
call fcn.00412fa6
pop ecx
push dword [ebp - 0x98]
push dword [ebp - 0x9c]
push edx
push eax
call fcn.0048f8b0
push ebx
push 0x64
push edx
push eax
call fcn.0048f800
mov cl, 0x14
call fcn.0048faf0
mov edi, eax
mov esi, edx
cmp esi, dword [ebp - 0x90]
jg 0x485736
jl 0x48572a
cmp edi, dword [ebp - 0x94]
jae 0x485736
mov edi, dword [ebp - 0x94]
mov esi, dword [ebp - 0x90]
mov ecx, dword [ebp - 0xc4]
cmp ecx, ebx
jl 0x485768
mov eax, dword [ebp - 0xc8]
jg 0x48574c
cmp eax, ebx
jbe 0x485768
cmp esi, ecx
jl 0x48575a
jg 0x485756
cmp edi, eax
jbe 0x48575a
mov edi, eax
mov esi, ecx
cmp esi, ebx
jg 0x48577a
jl 0x485764
cmp edi, ebx
ja 0x485768
mov edi, eax
mov esi, ecx
cmp esi, ebx
jl 0x485bb7
jg 0x48577a
cmp edi, ebx
jb 0x485bb7
mov eax, dword [ebp + 0x50]
cmp word [eax], bx
je 0x485bb7
cmp esi, ebx
jg 0x485795
jl 0x485790
cmp edi, ebx
ja 0x485795
xor edi, edi
inc edi
xor esi, esi
push esi
push edi
push dword [ebp]
call fcn.00484314
add esp, 0xc
push 0x4af4a8
lea ecx, [ebp]
call fcn.0043d4e9
cmp byte [ebp + 0x66], bl
mov eax, str.imdisk___e
jne 0x4857be
mov eax, str.imdisk___a
push eax
lea ecx, [ebp + 0x5c]
call fcn.0044584c
mov eax, dword [ebp - 0xd4]
and eax, 1
xor ecx, ecx
or eax, ecx
je 0x4857e3
push str.__o_awe
lea ecx, [ebp + 0x5c]
call fcn.0043d4e9
mov eax, dword [ebp]
cmp word [eax], bx
je 0x485803
push str.___s
lea ecx, [ebp + 0x5c]
call fcn.0043d4e9
push dword [ebp]
lea ecx, [ebp + 0x5c]
call fcn.0043d4e9
mov eax, dword [ebp + 0x50]
cmp word [eax], bx
je 0x485823
push str.___m
lea ecx, [ebp + 0x5c]
call fcn.0043d4e9
push dword [ebp + 0x50]
lea ecx, [ebp + 0x5c]
call fcn.0043d4e9
mov eax, dword [ebp + 4]
cmp word [eax], bx
jne 0x485837
mov eax, dword [ebp - 0xc]
cmp word [eax], bx
je 0x4858c2
push str.___p__
lea ecx, [ebp + 0x5c]
call fcn.0043d4e9
mov eax, dword [ebp + 4]
cmp word [eax], bx
je 0x485864
push str.__FS:
lea ecx, [ebp + 0x5c]
call fcn.0043d4e9
push dword [ebp + 4]
lea ecx, [ebp + 0x5c]
call fcn.0043d4e9
mov eax, dword [ebp - 0xc]
cmp word [eax], bx
je 0x485884
push str.__V:
lea ecx, [ebp + 0x5c]
call fcn.0043d4e9
push dword [ebp - 0xc]
lea ecx, [ebp + 0x5c]
call fcn.0043d4e9
push dword [ebp + 4]
push str.NTFS
call fcn.00438bce
test al, al
pop ecx
pop ecx
je 0x4858b5
mov eax, dword [ebp - 0x3c]
mov ax, word [eax]
cmp ax, bx
je 0x4858b5
cmp ax, 0x30
je 0x4858b5
push 0x4ac314
lea ecx, [ebp + 0x5c]
call fcn.0043d4e9
push str.___Q__Y__X__
lea ecx, [ebp + 0x5c]
call fcn.0043d4e9
mov eax, dword [ebp + 0x5c]
lea ecx, [ebp]
mov dword [ebp + 0x60], eax
call fcn.00437960
mov esi, 0x4beb4c
lea eax, [ebp + 0x48]
push eax
call fcn.004379a9
push 4
push dword [ebp + 0x48]
push str._gui
call fcn.00438b38
add esp, 0x10
test al, al
jne 0x485bc6
call dword [sym.imp.KERNEL32.DLL_GetTickCount]
mov edi, eax
mov eax, dword [ebp + 0x60]
mov dword [ebp + 0x44], eax
lea eax, [ebp + 0x44]
push eax
sub edi, 0xc8
call fcn.004050f3
pop ecx
push dword [ebp + 0x44]
lea ecx, [ebp - 0x54]
call fcn.004458a8
mov eax, dword [ebp - 0x54]
mov dword [ebp + 0x44], eax
mov dword [ebp + 0x54], eax
jmp 0x48597e
push 6
lea eax, [ebp + 0x54]
push eax
push str.__nbrd
call fcn.0043f200
add esp, 0xc
test al, al
jne 0x48597b
push 6
lea eax, [ebp + 0x54]
push eax
push 0x4a4600
call fcn.0043f200
add esp, 0xc
test al, al
jne 0x48597b
push 2
lea eax, [ebp + 0x54]
push eax
push 0x4a6ca4
call fcn.0043f200
add esp, 0xc
test al, al
jne 0x48597b
lea eax, [ebp + 0x54]
push eax
call fcn.0040507c
pop ecx
mov eax, dword [ebp + 0x54]
cmp word [eax], bx
jne 0x48592c
cmp dword [ebp - 0x18], ebx
jne 0x485a90
cmp dword [ebp + 0x24], ebx
jg 0x485a90
push ebx
push dword [ebp + 0x60]
lea ecx, [ebp - 0x19c]
call fcn.00448207
cmp dword [ebp - 0x164], 1
jle 0x485bdd
mov eax, dword [ebp - 0x160]
mov dword [eax], str.imdisk
lea eax, [ebp - 0x24]
push eax
push dword [ebp - 0x160]
push dword [ebp - 0x164]
call fcn.00426bfb
add esp, 0xc
cmp byte [ebp + 0x37], bl
mov dword [ebp + 0x1c], eax
mov dword [ebp - 0x88], ebx
jle 0x485ae5
cmp eax, 3
jne 0x485ae5
cmp dword [ebp - 0x8c], ebx
jne 0x485ae5
lea ecx, [ebp - 0x14]
mov byte [ebp + 0x5b], 1
call fcn.00437960
lea ecx, [ebp - 0x54]
call fcn.00437960
lea ecx, [ebp + 0x28]
call fcn.00437960
lea ecx, [ebp - 0x28]
call fcn.00437960
lea ecx, [ebp + 0x3c]
call fcn.00437960
lea ecx, [ebp - 0x3c]
call fcn.00437960
lea ecx, [ebp - 0xc]
call fcn.00437960
lea ecx, [ebp + 0x50]
call fcn.00437960
lea ecx, [ebp + 4]
call fcn.00437960
lea ecx, [ebp - 0x1c]
call fcn.00437960
lea ecx, [ebp + 0x14]
call fcn.00437960
lea ecx, [ebp + 0x5c]
call fcn.00437960
lea ecx, [ebp - 0xa8]
call fcn.00437960
lea ecx, [ebp + 0x18]
call fcn.00437960
lea ecx, [ebp - 0x24]
call fcn.00437960
lea ecx, [ebp + 0x78]
call fcn.00482a44
lea ecx, [ebp - 0x70]
call fcn.00437960
jmp 0x4845e2
cmp dword [ebp - 0x8c], ebx
jne 0x485ae5
push dword [ebp + 0x14]
lea ecx, [ebp - 0x50]
call fcn.004457e4
push dword [ebp + 0x44]
lea ecx, [ebp - 0x50]
call fcn.0043d4e9
mov eax, dword [ebp + 0x18]
cmp word [eax], bx
mov ecx, dword [ebp + 0x7c]
mov dword [ebp - 0x88], 1
je 0x485ad2
push ebx
push ebx
push ebx
push dword [ebp - 0x50]
push ecx
push ebx
call fcn.004094d9
jmp 0x485ada
push dword [ebp - 0x50]
call fcn.00402d69
lea ecx, [ebp - 0x50]
mov dword [ebp + 0x1c], eax
call fcn.00437960
mov ecx, dword [ebp - 0xe0]
xor eax, eax
or ecx, eax
je 0x485be4
cmp dword [ebp + 0x1c], 3
jne 0x485be4
call dword [sym.imp.KERNEL32.DLL_GetTickCount]
sub eax, edi
cmp eax, 0x1388
jae 0x485be4
mov ecx, dword [ebp + 0x7c]
push ebx
push ebx
push 0xc8
call fcn.00413857
mov esi, 0x4beb4c
jmp 0x485983
mov edi, dword [sym.imp.KERNEL32.DLL_LeaveCriticalSection]
push esi
call dword [sym.imp.KERNEL32.DLL_EnterCriticalSection]
cmp dword [0x4beb9c], ebx
jle 0x485b51
push esi
call edi
mov ecx, dword [ebp + 0x7c]
push ebx
push ebx
push 1
call fcn.00413857
jmp 0x485b31
push 0xffffffffffffffff
lea ecx, [ebp + 0xf]
call fcn.00411615
push esi
call edi
jmp 0x485cb8
call dword [sym.imp.KERNEL32.DLL_GetLastError]
cmp eax, ebx
jne 0x485b70
xor eax, eax
inc eax
mov dword [ebp + 0x1c], eax
jmp 0x485bad
push eax
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
lea ecx, [ebp - 0x40]
call fcn.00437960
lea ecx, [ebp - 0x30]
call fcn.00437960
lea ecx, [ebp - 0x2c]
call fcn.00437960
mov ebx, 0xb7
jmp 0x485c35
lea ecx, [ebp - 0x30]
mov dword [ebp + 0x1c], 1
call fcn.00437960
lea ecx, [ebp - 0x2c]
call fcn.00437960
jmp 0x485be4
lea ecx, [ebp]
call fcn.00437960
mov ebx, 0x80070057
jmp 0x485c35
mov ecx, dword [ebp + 0x7c]
push 0xffffffffffffff9c
push 0x4a39d4
push ebx
push str.imdisk.cpl_
call fcn.0046eacf
jmp 0x485c35
mov dword [ebp + 0x1c], 0x80070057
mov eax, dword [ebp - 0x15c]
cmp eax, ebx
je 0x485bff
lea ecx, [ebp + 0x78]
mov dword [ebp + 0x78], eax
mov dword [ebp - 0x15c], ebx
call fcn.00437960
mov edx, dword [ebp + 0x18]
cmp word [edx], bx
je 0x485c32
cmp dword [ebp - 0x88], ebx
jne 0x485c32
mov ecx, dword [ebp - 0x24]
mov word [ebp - 0x218], bx
cmp word [ecx], 0x2a
lea eax, [ebp - 0x218]
jne 0x485c28
lea eax, [ecx + 2]
mov ecx, dword [ebp + 0x7c]
push eax
push edx
call fcn.0043cd78
mov ebx, dword [ebp + 0x1c]
lea ecx, [ebp - 0x14]
call fcn.00437960
lea ecx, [ebp - 0x54]
call fcn.00437960
lea ecx, [ebp + 0x28]
call fcn.00437960
lea ecx, [ebp - 0x28]
call fcn.00437960
lea ecx, [ebp + 0x3c]
call fcn.00437960
lea ecx, [ebp - 0x3c]
call fcn.00437960
lea ecx, [ebp - 0xc]
call fcn.00437960
lea ecx, [ebp + 0x50]
call fcn.00437960
lea ecx, [ebp + 4]
call fcn.00437960
lea ecx, [ebp - 0x1c]
call fcn.00437960
lea ecx, [ebp + 0x14]
call fcn.00437960
lea ecx, [ebp + 0x5c]
call fcn.00437960
lea ecx, [ebp - 0xa8]
call fcn.00437960
lea ecx, [ebp + 0x18]
call fcn.00437960
lea ecx, [ebp - 0x24]
call fcn.00437960
lea ecx, [ebp + 0x78]
call fcn.00482a44
lea ecx, [ebp - 0x70]
call fcn.00437960
pop edi
pop esi
mov eax, ebx
pop ebx
add ebp, 0x70
leave
ret