Function at 0x4823c1
Capabilities:
Get disk information
Parse credit card information

Disassembly:
push ebp
lea ebp, [esp - 0x70]
sub esp, 0x8f0
push ebx
push esi
mov eax, 0x4c97c0
push edi
push eax
mov dword [ebp + 0x50], eax
call dword [sym.imp.KERNEL32.DLL_EnterCriticalSection]
mov esi, dword [ebp + 0x78]
cmp word [esi], 0x2a
push 2
sete byte [ebp + 0x62]
xor edi, edi
cmp byte [ebp + 0x62], 0
pop ebx
je 0x4823f9
add esi, ebx
mov dword [ebp + 0x78], esi
push ebx
push esi
push 0x4b9cb4
call fcn.0043af58
add esp, 0xc
test al, al
mov byte [ebp + 0x3e], al
jne 0x482426
push ebx
push esi
push 0x4b9cb0
call fcn.0043af58
add esp, 0xc
test al, al
mov byte [ebp + 0x6f], 0
je 0x48242a
mov byte [ebp + 0x6f], 1
push ebx
push esi
push 0x4b9cac
call fcn.0043af58
push 3
push esi
push 0x4b9ca8
mov byte [ebp + 0x6d], al
call fcn.0043af58
push ebx
push esi
push 0x4b9ca4
mov byte [ebp - 0x11], al
call fcn.0043af58
add esp, 0x24
cmp byte [ebp + 0x6f], 0
mov byte [ebp + 0x61], al
jne 0x482474
cmp byte [ebp + 0x6d], 0
jne 0x482474
cmp byte [ebp - 0x11], 0
jne 0x482474
test al, al
mov dword [ebp + 0x10], edi
je 0x48247b
mov dword [ebp + 0x10], 1
lea eax, [ebp + 0x78]
push eax
call fcn.00405444
pop ecx
push 5
lea ecx, [ebp + 0x58]
call fcn.0043fdb8
push 0x14
lea ecx, [ebp + 0x48]
call fcn.0043fdb8
lea ecx, [ebp + 0x24]
call fcn.0043fd9a
or dword [ebp + 0x20], 0xffffffff
mov eax, dword [ebp + 0x10]
cmp byte [ebp + 0x61], 0
mov dword [ebp + 0x14], eax
sete al
dec al
push 0x43
pop edx
mov dword [ebp + 0x30], edi
mov dword [ebp - 0x5c], edi
mov dword [ebp - 8], edi
mov dword [ebp + 0x2c], edi
and eax, 0x55
mov dword [ebp - 0x58], edi
mov dword [ebp + 0x64], edi
mov byte [ebp + 0x6b], al
mov dword [ebp - 0x40], edi
push 6
pop ebx
xor eax, eax
mov byte [ebp - 0xec], 0
mov ecx, ebx
lea edi, [ebp - 0xeb]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
xor eax, eax
mov ecx, ebx
lea edi, [ebp - 0xcf]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea eax, [ebp - 0xec]
push eax
push edx
mov dword [ebp - 0x3c], 0x3e8
mov byte [ebp + 0x42], 0
mov byte [ebp + 0x6e], 0
mov byte [ebp + 0x6c], 0
mov byte [ebp + 0x29], 0
mov dword [ebp - 0x20], edx
mov byte [ebp + 0x43], dl
mov byte [ebp - 0x12], 0
mov byte [ebp + 0x63], 0
mov dword [ebp + 0x1c], eax
mov byte [ebp - 0xd0], 0
call fcn.0043dc32
pop ecx
mov byte [ebp + 0x41], 0
mov byte [ebp + 0x60], 0
mov byte [ebp + 0x57], 0
pop ecx
mov eax, dword [ebp + 0x78]
mov ax, word [eax]
cmp ax, 0x2d
je 0x482558
cmp ax, 0x3d
jne 0x48282b
push 2
lea eax, [ebp + 0x78]
push eax
push 0x4b9ca0
call fcn.00441bc4
add esp, 0xc
test al, al
je 0x482575
mov byte [ebp + 0x42], 1
jmp 0x482542
push ebx
lea eax, [ebp + 0x78]
push eax
push str._cdrom
call fcn.00441bc4
add esp, 0xc
test al, al
je 0x482594
mov dword [ebp - 0x58], 1
jmp 0x482542
push 3
lea eax, [ebp + 0x78]
push eax
push 0x4b6d64
call fcn.00441bc4
add esp, 0xc
test al, al
je 0x4825b1
mov byte [ebp + 0x57], 0x10
jmp 0x482542
push ebx
lea eax, [ebp + 0x78]
push eax
push 0x4b1e6c
call fcn.00441bc4
add esp, 0xc
test al, al
je 0x4825d0
mov byte [ebp + 0x60], 1
jmp 0x482542
push ebx
push dword [ebp + 0x78]
push str._from:
call fcn.0043af58
add esp, 0xc
test al, al
je 0x48262f
mov edi, dword [ebp + 0x78]
add edi, 0xc
xor esi, esi
mov si, word [edi]
lea eax, [ebp + 0x78]
push eax
and esi, 0xffdf
call fcn.00405444
cmp si, 0x41
pop ecx
jb 0x482542
cmp si, 0x5a
ja 0x482542
push dword [ebp + 0x78]
lea eax, [ebp - 0xec]
push edi
push eax
mov dword [ebp - 0x20], esi
call fcn.00444dee
add esp, 0xc
jmp 0x482542
push ebx
push dword [ebp + 0x78]
push str._SKIP
call fcn.0043af58
add esp, 0xc
test al, al
je 0x48267c
add dword [ebp + 0x78], 0xc
lea eax, [ebp + 0x78]
push eax
call fcn.00439c95
lea eax, [ebp + 4]
push eax
lea eax, [ebp + 0x78]
push eax
mov dword [ebp + 4], 0x42
call fcn.0044b46e
mov al, byte [ebp + 4]
mov byte [ebp - 0x12], al
lea eax, [ebp + 0x78]
push eax
call fcn.00439c95
add esp, 0x10
jmp 0x482542
push 8
push dword [ebp + 0x78]
push str._skiptp:
call fcn.0043af58
add esp, 0xc
test al, al
je 0x48275e
add dword [ebp + 0x78], 0x10
lea eax, [ebp + 0x78]
push eax
call fcn.00439c95
cmp word [ebp - 0x40], 0x3c
pop ecx
jge 0x4827e4
xor eax, eax
mov dword [ebp - 0xb4], eax
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0xac], eax
mov dword [ebp - 0xa8], eax
lea edi, [ebp - 0xa4]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
movzx eax, byte [ebp + 0x63]
mov edi, dword [ebp + 0x78]
mov ecx, eax
shl ecx, 4
lea esi, [ebp + ecx - 0x880]
add esi, eax
push 1
lea eax, [ebp - 0xb4]
push eax
lea eax, [ebp + 0x78]
push eax
call fcn.0044caed
add esp, 0xc
test eax, eax
setge al
test al, al
mov byte [esi], al
jne 0x482723
lea eax, [ebp - 0xb4]
push eax
lea eax, [ebp + 0x78]
push eax
mov dword [ebp + 0x78], edi
call fcn.0047c39d
test eax, eax
pop ecx
pop ecx
jle 0x4827e4
push 0x10
lea eax, [ebp - 0xb4]
push eax
inc esi
push esi
call fcn.00413203
mov eax, dword [ebp + 0x78]
movzx eax, word [eax]
add esp, 0xc
inc byte [ebp + 0x63]
test ax, ax
je 0x4827e4
call fcn.0040ea2b
test al, al
jne 0x4827e4
add dword [ebp + 0x78], 2
jmp 0x4826af
push 8
push dword [ebp + 0x78]
push str._skippt:
call fcn.0043af58
add esp, 0xc
test al, al
je 0x4827f2
add dword [ebp + 0x78], 0x10
or eax, 0xffffffff
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x70], eax
jmp 0x4827dd
lea eax, [ebp - 0x88]
push eax
lea eax, [ebp + 0x78]
push eax
call fcn.0047c5f3
test eax, eax
pop ecx
pop ecx
jle 0x4827e4
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp + 0x78]
push eax
call fcn.0047c5f3
test eax, eax
pop ecx
pop ecx
jle 0x4827e4
movsx eax, word [ebp - 0x40]
mov cx, word [ebp - 0x88]
shl eax, 2
inc dword [ebp - 0x40]
mov word [ebp + eax - 0x1dc], cx
mov cx, word [ebp - 0x74]
mov word [ebp + eax - 0x1da], cx
cmp word [ebp - 0x40], 0x3c
jl 0x48278f
lea eax, [ebp + 0x78]
push eax
call fcn.00405444
jmp 0x482541
push ebx
lea eax, [ebp + 0x78]
push eax
push 0x4b9c78
call fcn.00441bc4
add esp, 0xc
test al, al
je 0x482811
mov byte [ebp + 0x41], 1
jmp 0x482542
push ebx
lea eax, [ebp + 0x78]
push eax
push 0x4b9c70
call fcn.00441bc4
add esp, 0xc
test al, al
jne 0x482542
mov edx, dword [ebp + 0x78]
mov ax, word [edx]
test ax, ax
je 0x482892
xor esi, esi
inc esi
cmp ax, 0x2a
jne 0x48285d
lea ecx, [edx + 2]
cmp word [ecx], ax
jne 0x482852
mov edx, ecx
mov dword [ebp + 0x14], esi
mov byte [ebp + 0x57], 0x10
jmp 0x482885
cmp ax, 0x2a
jne 0x48285d
mov dword [ebp + 0x14], esi
jmp 0x482885
cmp ax, 0x26
jne 0x482869
or dword [ebp - 8], 8
jmp 0x482885
cmp ax, 0x2d
jne 0x482892
xor eax, eax
mov ax, word [edx + 2]
push eax
call fcn.0043f865
add esp, 4
test al, al
jne 0x482892
mov dword [ebp + 0x2c], esi
inc edx
inc edx
mov ax, word [edx]
test ax, ax
mov dword [ebp + 0x78], edx
jne 0x482839
lea eax, [ebp + 0x78]
push eax
call fcn.00439c95
pop ecx
call fcn.0043dc5b
mov dword [ebp - 0x9c], eax
mov eax, dword [ebp + 0x78]
mov ax, word [eax]
test ax, ax
jne 0x4828ba
or dword [ebp + 0x64], 0xffffffff
or dword [ebp + 0x20], 0xffffffff
and dword [ebp - 0x78], 0
and dword [ebp + 8], 0
test ax, ax
push 0x2c
pop esi
je 0x482bc5
push esi
lea eax, [ebp + 0x24]
push eax
lea eax, [ebp + 0x78]
push eax
call fcn.004429d8
mov eax, dword [ebp + 0x78]
add esp, 0xc
cmp word [eax], si
jne 0x482936
add dword [ebp + 0x78], 2
mov esi, dword [ebp + 0x78]
push 0x2c
lea eax, [ebp + 0x58]
push eax
lea eax, [ebp + 0x78]
push eax
call fcn.004429d8
xor eax, eax
mov ax, word [esi]
mov edi, 0xffdf
add esp, 0xc
and eax, edi
cmp ax, 0x41
jb 0x482931
cmp ax, 0x5a
ja 0x482931
push dword [ebp + 0x78]
mov byte [ebp + 0x43], al
mov byte [ebp + 0x6b], al
lea eax, [ebp - 0xd0]
push esi
push eax
call fcn.00444dee
add esp, 0xc
push 0x2c
pop esi
jmp 0x48293b
mov edi, 0xffdf
mov eax, dword [ebp + 0x78]
cmp word [eax], si
jne 0x482958
add dword [ebp + 0x78], 2
push esi
lea eax, [ebp - 0x5c]
push eax
lea eax, [ebp + 0x78]
push eax
call fcn.00442c25
add esp, 0xc
mov eax, dword [ebp + 0x78]
cmp word [eax], si
jne 0x4829d7
inc eax
inc eax
mov dword [ebp + 0x78], eax
mov dword [ebp + 4], eax
lea eax, [ebp + 4]
push eax
call fcn.00439c95
push esi
lea eax, [ebp + 0x78]
call fcn.0043f8e8
mov edx, dword [ebp + 4]
pop ecx
pop ecx
xor ecx, ecx
mov cx, word [edx]
mov eax, ecx
and eax, edi
cmp dword [ebp + 0x64], 0
jg 0x482999
push 0x2a
pop ebx
cmp cx, bx
jne 0x482999
mov dword [ebp - 0x78], ebx
cmp ax, 0x41
jb 0x4829c0
cmp ax, 0x5a
ja 0x4829c0
push dword [ebp + 0x78]
mov byte [ebp + 0x43], al
mov byte [ebp + 0x6b], al
push edx
lea eax, [ebp - 0xd0]
push eax
call fcn.00444dee
add esp, 0xc
jmp 0x4829d7
cmp cx, 0x3f
jne 0x4829d7
cmp byte [ebp + 0x6f], 0
jne 0x4829d2
cmp byte [ebp + 0x6d], 0
je 0x4829d7
mov al, byte [edx]
mov byte [ebp + 0x6b], al
mov edx, dword [ebp + 0x78]
cmp word [edx], si
jne 0x482a69
xor eax, eax
lea ecx, [edx + 2]
mov ax, word [ecx]
push eax
call fcn.0043f865
add esp, 4
test al, al
je 0x482a17
push esi
lea eax, [ebp + 0x30]
push eax
lea eax, [ebp + 0x78]
push eax
mov dword [ebp + 0x78], ecx
call fcn.00442c25
mov edx, dword [ebp + 0x78]
add esp, 0xc
cmp word [edx], 0
je 0x482a17
inc edx
inc edx
cmp word [edx], si
jne 0x482a69
inc edx
lea eax, [ebp + 4]
inc edx
push eax
mov dword [ebp + 0x78], edx
mov dword [ebp + 4], edx
call fcn.00439c95
push esi
lea eax, [ebp + 0x78]
call fcn.0043f8e8
pop ecx
pop ecx
mov ecx, dword [ebp + 4]
xor eax, eax
mov ax, word [ecx]
and eax, edi
cmp ax, 0x41
jb 0x482a69
cmp ax, 0x5a
ja 0x482a69
push dword [ebp + 0x78]
movsx ax, al
mov word [ebp - 0x20], ax
push ecx
lea eax, [ebp - 0xec]
push eax
call fcn.00444dee
add esp, 0xc
mov esi, dword [ebp + 0x24]
xor edx, edx
mov dx, word [esi]
mov dword [ebp + 0x78], esi
mov ecx, edx
push edx
and ecx, edi
call fcn.0043f865
add esp, 4
test al, al
jne 0x482af7
cmp dx, 0x2d
jne 0x482a9e
xor eax, eax
mov ax, word [esi + 2]
push eax
call fcn.0043f865
add esp, 4
test al, al
jne 0x482af7
cmp cx, 0x46
jne 0x482ab7
add esi, 2
or dword [ebp + 8], 0xffffffff
mov byte [ebp + 0x6e], 0xc
mov dword [ebp + 0x78], esi
jmp 0x482b38
cmp cx, 0x55
je 0x482ae0
cmp cx, 0x52
je 0x482ae0
cmp dx, 0x3a
je 0x482b38
cmp dx, 0x23
je 0x482b38
xor ebx, ebx
cmp dword [ebp + 0x2c], ebx
jne 0x482b3a
cmp dx, bx
je 0x482b3a
jmp 0x482dfd
add esi, 2
mov byte [ebp + 0x6e], 0xc
mov dword [ebp + 8], 1
mov dword [ebp + 0x78], esi
mov byte [ebp + 0x29], 1
jmp 0x482b38
lea eax, [ebp + 0x20]
push eax
lea eax, [ebp - 0x5c]
push eax
mov dword [ebp - 0x5c], esi
call fcn.0043c486
movzx esi, word [esi]
test si, si
pop ecx
pop ecx
je 0x482b2e
mov eax, esi
cmp ax, 0x3a
je 0x482b2e
cmp ax, 0x23
je 0x482b2e
add dword [ebp + 0x78], 2
mov eax, dword [ebp + 0x78]
mov ax, word [eax]
test ax, ax
jne 0x482b13
lea eax, [ebp + 0x78]
push eax
call fcn.00439c95
pop ecx
xor ebx, ebx
mov eax, dword [ebp + 0x78]
cmp word [eax], bx
jne 0x482b51
mov eax, dword [ebp + 0x58]
cmp word [eax], bx
je 0x482b51
mov dword [ebp + 0x2c], 1
lea eax, [ebp + 0x78]
push eax
call fcn.00439c95
mov eax, dword [ebp + 0x78]
mov ax, word [eax]
cmp ax, 0x3a
pop ecx
je 0x482b71
cmp ax, 0x23
jne 0x482bc7
mov byte [ebp + 0x6c], 1
cmp byte [ebp + 0x6e], 0
jne 0x482b7c
cmp dword [ebp + 0x20], ebx
jge 0x482b80
mov byte [ebp + 0x6c], 0
add dword [ebp + 0x78], 2
lea eax, [ebp + 0x78]
push eax
call fcn.00439c95
mov eax, dword [ebp + 0x78]
cmp word [eax], 0x2d
pop ecx
jne 0x482bb1
movzx eax, word [eax + 2]
push eax
call fcn.0043f865
add esp, 4
test al, al
jne 0x482bb1
mov dword [ebp + 0x2c], 1
jmp 0x482bc7
push 0x2c
lea eax, [ebp + 0x64]
push eax
lea eax, [ebp + 0x78]
push eax
call fcn.00442c25
add esp, 0xc
jmp 0x482bc7
xor ebx, ebx
cmp byte [ebp + 0x6c], 0
mov edi, dword [ebp + 0x64]
push 4
mov dword [ebp - 0x28], 0xfffffff8
mov dword [ebp - 0x24], edi
pop ecx
je 0x482c17
cmp edi, ebx
jg 0x482be9
xor esi, esi
inc esi
jmp 0x482e02
cmp edi, ecx
jg 0x482bf0
dec edi
jmp 0x482bf7
lea edi, [edi*4 - 0x10]
cmp edi, ebx
mov dword [ebp + 0x64], edi
jl 0x482c05
cmp edi, ecx
jge 0x482c09
inc edi
jmp 0x482c14
cmp edi, ecx
jl 0x482c17
mov eax, edi
cdq
mov esi, ecx
idiv esi
add eax, ecx
mov edi, eax
mov dword [ebp + 0x64], edi
push dword [ebp + 0x58]
call dword [sym.imp.KERNEL32.DLL_lstrlenW]
add eax, 5
push eax
lea ecx, [ebp + 0x58]
call fcn.0043fddf
mov esi, dword [ebp + 0x58]
mov ax, word [esi]
cmp ax, 0x61
jb 0x482c43
cmp ax, 0x7a
ja 0x482c43
add word [esi], 0xffe0
cmp byte [ebp + 0x6e], 0
mov byte [ebp - 1], 0
jne 0x482c8d
cmp dword [ebp + 0x2c], ebx
jne 0x482c8d
mov ax, word [esi]
cmp ax, 0x100
jae 0x482c8d
cmp ax, 0x41
jb 0x482c67
cmp ax, 0x5a
jbe 0x482c8d
cmp dword [ebp + 0x20], ebx
mov word [esi], bx
jl 0x482c77
cmp edi, 1
jl 0x482c77
mov dword [ebp - 0x28], edi
cmp byte [ebp + 0x6c], 0
je 0x482c8d
cmp dword [ebp + 0x20], ebx
jl 0x482c8d
cmp edi, ebx
jl 0x482c8d
mov dword [ebp - 0x28], edi
mov byte [ebp - 1], 1
cmp dword [ebp + 0x10], ebx
je 0x482c9c
test byte [ebp + 0x30], 1
mov byte [ebp + 0x40], 1
jne 0x482ca0
mov byte [ebp + 0x40], 0
cmp dword [ebp + 0x10], ebx
je 0x482caf
test byte [ebp + 0x30], 2
je 0x482caf
mov byte [ebp + 0x41], 1
cmp byte [ebp + 0x3e], 0
jne 0x482cc4
cmp dword [ebp + 0x10], ebx
je 0x482cc0
test byte [ebp + 0x30], 4
jne 0x482cc4
xor cl, cl
jmp 0x482cc6
mov cl, 1
mov al, byte [ebp + 0x30]
and al, 0x10
mov byte [ebp - 0x4d], al
mov al, byte [ebp + 0x30]
and al, 0x40
test byte [ebp + 0x30], 0x20
mov byte [ebp - 0x45], al
je 0x482ce3
mov dword [ebp - 0x58], 1
test cl, cl
je 0x482db7
mov bl, byte [ebp + 0x63]
push 0x10
movzx eax, bl
pop edi
shl eax, 2
and word [ebp + eax - 0x1dc], 0
push edi
lea esi, [ebp + eax - 0x1da]
push 0
push esi
call fcn.0049a7e0
inc bl
movzx eax, bl
shl eax, 2
mov word [esi], 0xee
and word [ebp + eax - 0x1dc], 0
push edi
lea esi, [ebp + eax - 0x1da]
push 0
push esi
call fcn.0049a7e0
inc bl
movzx eax, bl
shl eax, 2
mov word [esi], 0xef
push edi
mov word [ebp + eax - 0x1dc], 1
lea eax, [ebp + eax - 0x1da]
push 0x4b9c60
push eax
call fcn.00413203
inc bl
movzx eax, bl
shl eax, 2
push edi
mov word [ebp + eax - 0x1dc], 1
lea eax, [ebp + eax - 0x1da]
push 0x4b9c50
push eax
call fcn.00413203
inc bl
movzx eax, bl
shl eax, 2
push edi
mov word [ebp + eax - 0x1dc], 1
lea eax, [ebp + eax - 0x1da]
push 0x4b9c40
push eax
call fcn.00413203
mov esi, dword [ebp + 0x58]
add esp, 0x3c
inc bl
mov byte [ebp + 0x63], bl
xor ebx, ebx
cmp dword [ebp + 0x20], ebx
mov dword [ebp - 0x4c], ebx
jl 0x482dc8
cmp dword [ebp + 0x64], ebx
jle 0x482dc8
mov al, 1
jmp 0x482dca
xor al, al
xor edi, edi
inc edi
test al, al
mov dword [ebp - 0x2c], ebx
je 0x482dd7
mov dword [ebp - 0x2c], edi
mov ax, word [esi]
push 0x64
lea ecx, [ebp + 0x48]
mov word [ebp], ax
call fcn.0043fddf
call dword [sym.imp.KERNEL32.DLL_GetLogicalDrives]
cmp byte [ebp + 0x61], 0
mov dword [ebp - 0x44], eax
je 0x482e24
cmp byte [ebp + 0x6b], 0
jne 0x482e24
mov esi, 0x80070057
lea ecx, [ebp + 0x24]
call fcn.00439cfd
lea ecx, [ebp + 0x48]
call fcn.00439cfd
lea ecx, [ebp + 0x58]
call fcn.00439cfd
push 0x4c97c0
jmp 0x484247
cmp dword [ebp + 8], ebx
jg 0x482e2f
cmp byte [ebp + 0x61], 0
je 0x482e57
cmp byte [ebp - 0xd0], 0
movsx ax, byte [ebp + 0x6b]
mov word [ebp - 0x20], ax
je 0x482e4a
lea eax, [ebp - 0xd0]
mov dword [ebp + 0x1c], eax
cmp byte [ebp + 0x61], 0
je 0x482e57
mov byte [ebp + 0x6e], 0xc
mov dword [ebp + 8], edi
cmp dword [ebp + 0x10], ebx
jne 0x482e68
cmp dword [ebp + 8], ebx
jle 0x482e68
mov byte [ebp + 0x6e], 0xb
mov dword [ebp + 8], ebx
cmp dword [ebp + 0x2c], ebx
mov dword [ebp - 0x5c], edi
jne 0x483075
cmp dword [ebp - 0x24], ebx
jle 0x482e83
cmp byte [ebp + 0x60], 0
jne 0x483075
cmp dword [ebp + 0x20], ebx
mov byte [ebp + 0x2b], 1
jl 0x483079
cmp dword [ebp + 0x64], ebx
mov byte [ebp + 0x3f], 1
mov byte [ebp + 0x3e], 1
jg 0x482ea1
mov byte [ebp + 0x3e], 0
xor eax, eax
cmp dword [ebp + 8], ebx
push 0x3960
setle al
lea ecx, [ebp + 0x18]
mov dword [ebp + 4], eax
call fcn.0043fc43
cmp dword [ebp - 0x58], ebx
mov byte [ebp - 2], 0
mov dword [ebp - 0x98], edi
jle 0x482ed2
mov dword [ebp - 0x98], 9
cmp byte [ebp + 0x6f], 0
jne 0x482ede
cmp byte [ebp + 0x6d], 0
je 0x482efc
cmp byte [ebp + 0x6b], 0x3f
jne 0x482efc
push 0x1b
lea eax, [ebp - 0xec]
push eax
lea eax, [ebp - 0xd0]
push eax
call fcn.00413203
add esp, 0xc
cmp dword [ebp + 0x10], ebx
mov byte [ebp + 0x60], 0
jg 0x482f0e
cmp dword [ebp - 0x24], ebx
jg 0x482f0e
mov byte [ebp + 0x60], 1
cmp byte [ebp + 0x6c], 0
jne 0x482f2a
cmp byte [ebp + 0x42], 0
je 0x482f2a
cmp dword [ebp + 0x20], ebx
jl 0x482f2a
cmp dword [ebp - 0x24], ebx
jle 0x482f2a
mov eax, dword [ebp + 0x64]
mov dword [ebp - 0x28], eax
cmp byte [ebp + 0x3f], 0
jne 0x482f73
cmp byte [ebp + 0x62], 0
jne 0x482f73
cmp byte [ebp + 0x6e], 0
jne 0x482f73
cmp dword [ebp - 0x28], ebx
jge 0x482f73
cmp byte [ebp + 0x6c], 0
jne 0x482f73
cmp word [esi], bx
jne 0x482f57
cmp dword [ebp - 0x24], ebx
je 0x482f73
cmp dword [ebp - 0x24], 0xffffffff
je 0x482f73
cmp dword [ebp + 0x2c], ebx
je 0x484120
cmp dword [ebp + 0x20], ebx
jl 0x48411b
cmp dword [ebp - 0x24], 1
jl 0x48411b
push 0x10fa28
lea ecx, [ebp + 0x5c]
call fcn.0043fc43
push dword [ebp - 0x98]
mov edi, dword [ebp + 0x5c]
lea esi, [edi + 0x10c000]
push edi
push esi
call fcn.0044c263
add esp, 0xc
cmp byte [ebp + 0x40], 0
je 0x482fa9
cmp byte [ebp - 2], 0
jne 0x48302b
cmp byte [ebp - 0x45], 0
je 0x483013
push 0x1a
add esi, 0x10
pop ebx
mov eax, dword [esi]
test eax, eax
jle 0x483008
cmp byte [ebp - 0xec], 0
lea ecx, [ebp - 0xec]
je 0x482fde
mov dl, byte [ebp - 0xec]
movsx edx, dl
cmp edx, eax
je 0x483008
inc ecx
mov dl, byte [ecx]
test dl, dl
jne 0x482fd0
cmp byte [ebp - 0xd0], 0
lea ecx, [ebp - 0xd0]
je 0x483001
mov dl, byte [ebp - 0xd0]
movsx edx, dl
cmp edx, eax
je 0x483008
inc ecx
mov dl, byte [ecx]
test dl, dl
jne 0x482ff3
or eax, 0xe000
mov dword [esi], eax
add esi, 0x220
dec ebx
jne 0x482fb5
xor ebx, ebx
push 4
lea eax, [edi + 0x10c000]
push eax
push dword [ebp + 0x18]
call fcn.00413203
add esp, 0xc
mov byte [ebp - 2], 1
mov eax, dword [ebp]
mov word [ebp + 0x34], ax
mov word [ebp - 0x10], ax
xor eax, eax
cmp byte [ebp + 0x6e], 5
mov word [ebp + 0x36], 0x3a
sete al
mov word [ebp + 0x38], bx
mov word [ebp - 0xe], 0x3a
mov word [ebp - 0xc], 0x5c
mov word [ebp - 0xa], bx
mov dword [ebp - 0x94], ebx
mov dword [ebp - 0x6c], ebx
mov dword [ebp - 0x38], eax
mov eax, dword [ebp + 0x20]
cmp eax, ebx
jl 0x483082
mov dword [ebp - 0x68], 0x7530
jmp 0x4830a2
mov byte [ebp + 0x2b], 0
mov byte [ebp + 0x3f], 0
jmp 0x482e9d
mov dword [ebp - 0x68], ebx
dec dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], ebx
jle 0x483ea3
cmp word [ebp - 0x68], 0x3e80
jge 0x483ea3
mov eax, dword [ebp - 0x68]
xor ebx, ebx
cmp dword [ebp - 0x38], ebx
mov dword [ebp + 0xc], eax
mov ecx, str..CDROM_d
jne 0x4830b4
mov ecx, str..PhysicalDrive_d
movsx eax, word [ebp + 0xc]
mov esi, dword [ebp + 0x5c]
push eax
push ecx
add esi, 0x10f960
push esi
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
xor ebx, ebx
push ebx
push 0x20000000
push 3
push ebx
push 3
push 0x80000000
push esi
lea ecx, [ebp + 0x4c]
mov dword [ebp + 0x4c], ebx
call fcn.004054c4
mov edi, dword [ebp + 0x4c]
cmp edi, ebx
je 0x483e72
or eax, 0xffffffff
cmp byte [ebp + 0x2b], bl
mov dword [ebp - 0x6c], ebx
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x84], eax
je 0x48312d
lea eax, [ebp - 0x88]
push eax
lea eax, [ebp + 0x78]
push eax
push edi
call fcn.0044cd2e
add esp, 0xc
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x70], edx
cmp byte [ebp + 0x6e], 0
je 0x4831b1
push 0x800
push 1
push dword [ebp + 0x5c]
push edi
call fcn.00444888
add esp, 0x10
cmp byte [ebp + 0x6e], 5
mov esi, eax
je 0x48315c
cmp esi, 0xb
jne 0x48315c
cmp byte [ebp + 0x6e], al
jne 0x483e7c
cmp dword [ebp + 8], ebx
jne 0x483167
cmp byte [ebp + 0x29], 0
jle 0x483197
push edi
push ebx
call fcn.00441ac6
cmp dword [ebp + 8], ebx
pop ecx
pop ecx
jg 0x48317b
cmp byte [ebp + 0x29], 0
jle 0x483184
cmp eax, 7
jne 0x483e7c
cmp dword [ebp + 8], ebx
jge 0x483195
cmp eax, 7
je 0x483e7c
cmp dword [ebp + 8], ebx
jne 0x48319f
cmp esi, 0xc
jne 0x48319f
push 0xb
pop esi
cmp byte [ebp + 0x6e], 5
je 0x4831b1
movsx eax, byte [ebp + 0x6e]
cmp esi, eax
jne 0x483e7c
lea eax, [ebp - 0x34]
push eax
push dword [ebp + 0x5c]
mov dword [ebp - 0x34], ebx
push edi
call fcn.0043d8f8
add esp, 0xc
cmp eax, ebx
je 0x483e7c
cmp dword [eax], 1
mov esi, dword [eax + 0x28]
lea ecx, [eax + 0x30]
push 0x200
push edi
mov dword [ebp - 0x54], ecx
sete byte [ebp + 0x7b]
call fcn.0043d51a
cmp byte [ebp + 0x6c], 0
pop ecx
pop ecx
mov edi, eax
je 0x48326e
cmp byte [ebp + 0x7b], 0
je 0x483253
mov ebx, dword [ebp + 0x5c]
xor eax, eax
push eax
push eax
push eax
push eax
push eax
push edi
push esi
add ebx, 0x100000
lea eax, [ebp + 0x4c]
push ebx
push eax
call fcn.004446f2
add esp, 0x24
cmp dword [ebp - 0x24], esi
jg 0x483e7c
mov eax, dword [ebp - 0x24]
push 1
push edi
push dword [ebp - 0x34]
shl eax, 6
push dword [ebp - 0x54]
add eax, edi
lea eax, [ebx + eax*2 - 0x80]
push eax
call fcn.004445c9
add esp, 0x14
test eax, eax
mov dword [ebp + 0x64], eax
jl 0x483e7c
cmp byte [ebp - 1], 0
je 0x48327a
mov dword [ebp - 0x28], eax
jmp 0x48327a
mov eax, dword [ebp - 0x24]
cmp eax, ebx
jle 0x483271
cmp eax, 4
lea ecx, [eax - 1]
jle 0x483269
lea ecx, [eax*4 - 0x10]
mov dword [ebp + 0x64], ecx
jmp 0x483271
mov eax, dword [ebp - 0x24]
cmp eax, dword [ebp - 0x34]
jg 0x483e7c
push dword [ebp + 0x4c]
xor edi, edi
push edi
call fcn.00441ac6
cmp eax, 7
pop ecx
pop ecx
je 0x4832c3
cmp byte [ebp + 0x7b], 0
jne 0x4832c3
cmp dword [ebp - 0x34], 4
mov esi, dword [ebp - 0x54]
jne 0x4832c6
mov al, byte [ebp - 0x12]
cmp al, byte [esi + 0x20]
jne 0x4832c6
cmp byte [esi + 0xb0], 0
jne 0x4832c6
cmp byte [esi + 0x140], 0
jne 0x4832c6
cmp byte [esi + 0x1d0], 0
jne 0x4832c6
jmp 0x483e7c
mov esi, dword [ebp - 0x54]
dec dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], edi
mov dword [ebp - 0x64], edi
mov dword [ebp + 0x30], edi
jle 0x483e7c
jmp 0x4832dd
mov esi, dword [ebp - 0x54]
mov edi, dword [ebp + 0x30]
mov ebx, dword [ebp - 0x34]
cmp edi, ebx
jge 0x483e7c
lea ecx, [ebp + 0x50]
mov dword [ebp - 0x80], edi
call fcn.00439bd4
cmp dword [ebp - 0x38], 0
je 0x483305
lea eax, [ebx + 0x186a0]
mov dword [ebp + 0x30], eax
cmp byte [ebp + 0x6c], 0
je 0x483328
cmp dword [ebp + 0x64], 0
jl 0x483328
mov edi, dword [ebp + 0x64]
cmp edi, ebx
lea eax, [ebx + 0x186a0]
mov dword [ebp + 0x30], eax
mov dword [ebp - 0x80], edi
jge 0x483e7c
cmp byte [ebp + 0x7b], 0
je 0x483338
mov ebx, 0xff07
mov dword [ebp - 0x18], ebx
jmp 0x483348
lea eax, [edi + edi*8]
shl eax, 4
movzx eax, byte [eax + esi + 0x20]
mov dword [ebp - 0x18], eax
mov ebx, eax
lea eax, [edi + edi*8]
shl eax, 4
add esi, eax
movsx eax, word [ebp - 0x40]
movsx edx, word [esi + 0x18]
xor ecx, ecx
test eax, eax
mov dword [ebp - 0x1c], esi
mov dword [ebp + 0x44], edx
jle 0x483383
mov si, word [ebp + 0xc]
cmp si, word [ebp + ecx*4 - 0x1dc]
jne 0x48337e
movsx esi, word [ebp + ecx*4 - 0x1da]
cmp edx, esi
je 0x483383
inc ecx
cmp ecx, eax
jl 0x483364
cmp ecx, eax
jl 0x483e60
cmp byte [ebp + 0x63], 0
jbe 0x4833e8
cmp byte [ebp + 0x7b], 0
movzx edi, byte [ebp + 0x63]
sete bl
and dword [ebp - 0x30], 0
dec bl
and bl, 0xf
inc bl
test edi, edi
jle 0x4833dc
lea esi, [ebp - 0x87f]
mov al, byte [ebp + 0x7b]
cmp al, byte [esi - 1]
jne 0x4833d1
movzx eax, bl
push eax
mov eax, dword [ebp - 0x1c]
add eax, 0x20
push esi
push eax
call fcn.0044006c
add esp, 0xc
test eax, eax
jne 0x4833dc
inc dword [ebp - 0x30]
add esi, 0x11
cmp dword [ebp - 0x30], edi
jl 0x4833b1
cmp dword [ebp - 0x30], edi
jl 0x483e60
mov ebx, dword [ebp - 0x18]
xor edi, edi
cmp byte [ebp + 0x62], 0
je 0x4833f5
cmp dword [ebp + 0x64], edi
jge 0x483412
cmp byte [ebp + 0x3e], 0
je 0x4834a5
cmp byte [ebp + 0x6c], 0
jne 0x4834a5
cmp dword [ebp + 0x64], edi
jle 0x4834a5
mov eax, dword [ebp + 0x44]
cmp eax, dword [ebp + 0x64]
jne 0x483e60
cmp byte [ebp + 0x62], 0
je 0x483498
test bl, 0x10
jne 0x483fb3
cmp ebx, 0x84
je 0x483fb3
xor edi, edi
cmp byte [ebp + 0x7b], 0
je 0x48349a
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x44]
and ecx, 0xc0000000
xor eax, eax
or eax, ecx
je 0x48349a
lea ecx, [ebp + 0x4c]
call fcn.00402c5b
lea ecx, [ebp + 0x5c]
call fcn.00439cfd
lea ecx, [ebp + 0x18]
call fcn.00439cfd
lea ecx, [ebp + 0x24]
call fcn.00439cfd
lea ecx, [ebp + 0x48]
call fcn.00439cfd
lea ecx, [ebp + 0x58]
call fcn.00439cfd
cmp dword [ebp + 0x50], edi
je 0x483491
push dword [ebp + 0x50]
call dword [sym.imp.KERNEL32.DLL_LeaveCriticalSection]
xor eax, eax
jmp 0x4842ef
xor edi, edi
mov eax, dword [ebp - 0x34]
add eax, 0x186a0
mov dword [ebp + 0x30], eax
cmp byte [ebp + 0x2b], 0
je 0x4834ee
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ecx + 8]
mov ecx, dword [ecx + 0xc]
cmp ecx, edi
jl 0x4834ee
jg 0x4834be
cmp eax, edi
jbe 0x4834ee
cmp dword [ebp - 0x74], eax
jne 0x4834c8
cmp dword [ebp - 0x70], ecx
je 0x4834d8
cmp dword [ebp - 0x88], eax
jne 0x4834ee
cmp dword [ebp - 0x84], ecx
jne 0x4834ee
cmp word [ebp - 0x78], di
je 0x483e60
cmp dword [ebp + 0x44], 0
jle 0x483e60
jmp 0x48353a
cmp dword [ebp - 0x38], edi
jne 0x483519
cmp ebx, edi
je 0x483e60
cmp dword [ebp + 0x44], 0
jle 0x483e60
cmp ebx, 5
je 0x483e60
cmp ebx, 0xf
je 0x483e60
xor edi, edi
cmp dword [ebp + 0x64], edi
jg 0x483567
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 0x14], edi
jg 0x483567
jl 0x483531
cmp dword [eax + 0x10], 0x200
ja 0x483567
test bl, 0x10
je 0x483e60
movzx ecx, byte [ebp + 0x57]
xor eax, eax
push eax
push eax
push 1
or ecx, 1
push ecx
push eax
movsx eax, word [ebp + 0xc]
push dword [ebp + 0x44]
push eax
mov eax, dword [ebp + 0x5c]
add eax, 0x10c000
push eax
call fcn.0043d568
add esp, 0x20
jmp 0x483e60
inc dword [ebp - 0x94]
cmp byte [ebp + 0x6c], 0
jne 0x483586
mov eax, dword [ebp - 0x28]
cmp eax, 1
jl 0x483586
cmp eax, dword [ebp + 0x44]
jne 0x483e60
xor edi, edi
cmp dword [ebp - 0x28], edi
jl 0x483596
mov eax, dword [ebp - 0x34]
add eax, 0x3e8
mov dword [ebp + 0x30], eax
cmp byte [ebp + 0x6c], 0
jne 0x483d1c
cmp dword [ebp + 0x64], edi
jl 0x4835b5
mov eax, dword [ebp + 0x44]
cmp dword [ebp + 0x64], eax
jne 0x4835b5
cmp eax, edi
jg 0x483d1c
cmp word [ebp - 0x78], di
jne 0x483e60
xor edi, edi
cmp dword [ebp + 0x2c], edi
jne 0x4835de
cmp dword [ebp - 0x28], edi
jge 0x4835de
mov eax, dword [ebp + 0x64]
cmp eax, edi
jle 0x4835de
cmp dword [ebp - 0x94], eax
jge 0x483e8e
mov esi, dword [ebp + 0x64]
or dword [ebp - 0x60], 0xffffffff
cmp esi, edi
je 0x4835ef
cmp byte [ebp + 0x62], 0
je 0x483649
cmp byte [ebp + 0x7b], 0
jne 0x483850
test bl, 0x10
jne 0x48360a
cmp ebx, 0x84
jne 0x483866
cmp byte [ebp - 0x4d], 0
je 0x483649
xor edx, edx
movsx eax, dx
mov ecx, eax
shl ecx, 4
add ecx, eax
mov eax, dword [ebp + 0x5c]
shl ecx, 5
add eax, 0x10c000
add eax, ecx
movsx ecx, word [ebp + 0xc]
cmp dword [eax + 4], ecx
jne 0x483642
mov ecx, dword [ebp + 0x44]
cmp dword [eax], ecx
jne 0x483642
cmp dword [eax + 0x10], edi
jg 0x48387a
inc edx
cmp dx, 0x1a
jl 0x483612
cmp byte [ebp + 0x3f], 0
je 0x483654
cmp esi, dword [ebp + 0x44]
je 0x48366d
cmp esi, edi
jl 0x48366d
cmp dword [ebp + 0x2c], edi
je 0x483662
cmp esi, dword [ebp + 0x44]
je 0x48366d
cmp dword [ebp - 0x28], edi
jl 0x483e60
xor edi, edi
mov byte [ebp + 0x2a], 0
mov dword [ebp - 0x7c], edi
xor ebx, ebx
movsx eax, bx
mov ecx, eax
shl ecx, 4
add ecx, eax
mov eax, dword [ebp + 0x5c]
add eax, 0x10c000
shl ecx, 5
lea esi, [ecx + eax]
mov dword [ebp - 0x30], eax
mov eax, dword [esi + 8]
cmp eax, 5
je 0x4836a8
cmp dword [ebp - 0x38], 0
je 0x4836b2
cmp eax, 5
jne 0x483784
cmp dword [ebp - 0x38], 0
je 0x483784
movsx edi, word [ebp + 0xc]
cmp dword [esi + 4], edi
jne 0x483784
mov eax, dword [ebp + 0x44]
cmp dword [esi], eax
jne 0x483784
cmp dword [esi + 0x10], 0
jle 0x483784
cmp dword [ebp + 0x2c], 0
movzx ax, byte [esi + 0x10]
mov byte [ebp + 0x2a], 1
mov word [ebp - 0x7c], ax
je 0x483799
push dword [ebp - 0x30]
push dword [ebp - 0x7c]
call fcn.0043dadf
mov eax, dword [ebp - 0x34]
mov si, word [esi + 0x10]
add eax, 0x3e8
cmp dword [ebp + 0x10], 0
pop ecx
pop ecx
mov dword [ebp + 0x30], eax
mov word [ebp + 0x34], si
mov word [ebp - 0x10], si
je 0x48372f
movzx eax, si
push eax
push dword [ebp + 0x44]
push edi
push str.unshow_pt:__d:_d__c_r_n
push 0x4c9048
call fcn.0041009a
add esp, 0x14
cmp dword [ebp + 0x14], 0
je 0x483749
lea eax, [ebp - 0x10]
push eax
call dword [sym.imp.KERNEL32.DLL_DeleteVolumeMountPointW]
test eax, eax
jne 0x483749
call dword [sym.imp.KERNEL32.DLL_GetLastError]
mov ecx, dword [ebp + 0x48]
mov ax, word [ecx]
neg ax
sbb eax, eax
and eax, ecx
push eax
lea eax, [ebp + 0x34]
push eax
mov eax, dword [ebp - 0x4c]
or eax, dword [ebp - 8]
or eax, 2
push eax
call dword [sym.imp.KERNEL32.DLL_DefineDosDeviceW]
test eax, eax
jne 0x483775
call dword [sym.imp.KERNEL32.DLL_GetLastError]
cmp dword [ebp + 0x14], 0
je 0x483784
push dword [ebp + 0x34]
call fcn.0043d3e8
pop ecx
inc ebx
cmp bx, 0x1a
jl 0x483676
cmp dword [ebp + 0x2c], 0
jne 0x483e60
cmp word [ebp - 0x60], 0
jg 0x4837df
cmp byte [ebp + 0x62], 0
je 0x4837df
cmp byte [ebp + 0x7b], 0
jne 0x4837c9
test byte [ebp - 0x18], 0x10
jne 0x483e60
cmp dword [ebp - 0x18], 0x84
je 0x483e60
cmp byte [ebp + 0x7b], 0
je 0x4837df
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x44]
and ecx, 0xc0000000
xor eax, eax
or eax, ecx
jne 0x483e60
mov eax, dword [ebp + 0x1c]
mov edi, dword [ebp - 0x20]
mov dword [ebp - 0x60], eax
xor eax, eax
cmp dword [ebp + 0x10], eax
mov ebx, edi
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1c], eax
je 0x483ac4
cmp byte [ebp + 0x40], al
jne 0x483809
cmp byte [ebp + 0x41], al
je 0x48389c
xor esi, esi
mov ecx, dword [ebp + 0x18]
movsx eax, si
mov edx, eax
shl edx, 4
add edx, eax
shl edx, 5
lea eax, [edx + ecx]
mov edx, dword [eax + 8]
cmp edx, 5
je 0x483831
cmp dword [ebp - 0x38], 0
je 0x483837
cmp edx, 5
jne 0x483847
cmp dword [ebp - 0x38], 0
je 0x483847
movsx edx, word [ebp + 0xc]
cmp dword [eax + 4], edx
jne 0x483847
mov eax, dword [eax]
cmp eax, dword [ebp + 0x44]
je 0x483886
inc esi
cmp si, 0x1a
jl 0x48380b
jmp 0x48389c
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x44]
and ecx, 0xc0000000
xor eax, eax
or eax, ecx
jne 0x48360a
cmp esi, edi
mov dword [ebp - 0x60], 2
je 0x48366d
jmp 0x483649
mov dword [ebp - 0x60], 1
jmp 0x48366d
movsx eax, si
mov edx, eax
shl edx, 4
add edx, eax
shl edx, 5
mov ax, word [edx + ecx + 0x10]
mov word [ebp - 0x18], ax
inc dword [ebp - 0x64]
xor esi, esi
inc esi
lea ecx, [edi - 0x41]
shl esi, cl
cmp byte [ebp - 0x11], 0
je 0x4838c8
cmp byte [ebp + 0x6d], 0
je 0x4838d9
cmp dword [ebp - 0x80], 4
jle 0x4838d9
inc dword [ebp - 0x64]
cmp byte [ebp + 0x6d], 1
je 0x483e60
jmp 0x4838d9
cmp byte [ebp + 0x6d], 1
jne 0x4838d9
mov eax, dword [ebp - 0x34]
add eax, 0x3e8
mov dword [ebp + 0x30], eax
cmp byte [ebp + 0x6d], 2
mov ebx, dword [ebp - 0x7c]
jne 0x4838f1
test bx, bx
je 0x4838f1
cmp dword [ebp - 0x64], 1
je 0x483e60
cmp byte [ebp + 0x40], 0
je 0x48390c
cmp word [ebp - 0x18], 0
je 0x483e60
test byte [ebp - 0x17], 0x20
jne 0x483e60
cmp word [ebp - 0x9c], bx
je 0x483e60
mov eax, dword [ebp - 0x20]
cmp word [ebp - 0x9c], ax
jne 0x48393b
mov eax, dword [ebp + 0x1c]
cmp byte [eax], 0
je 0x483e60
inc dword [ebp + 0x1c]
mov eax, dword [ebp + 0x1c]
movsx ax, byte [eax]
push dword [ebp - 0x38]
lea ecx, [ebp + 0x1c]
push ecx
push dword [ebp - 0x40]
lea ecx, [ebp - 0x1dc]
push ecx
mov ecx, dword [ebp + 0x5c]
add ecx, 0x10c000
push ecx
push eax
mov dword [ebp - 0x30], ecx
call fcn.0043db68
mov ecx, dword [ebp + 0x1c]
add esp, 0x18
cmp ax, 0x5a
mov word [ebp - 0x10], ax
mov word [ebp + 0x34], ax
mov dword [ebp - 0x20], eax
mov dword [ebp], eax
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x60], ecx
ja 0x483e60
mov eax, ecx
cmp byte [eax], 0
je 0x483998
inc eax
mov dword [ebp + 0x1c], eax
movsx ax, byte [eax]
mov word [ebp - 0x20], ax
jmp 0x48399f
mov dword [ebp - 0x20], 0x5b
mov edi, dword [ebp]
cmp bx, di
jne 0x4839c5
cmp dword [ebp + 4], 0
je 0x483e60
lea eax, [ebp - 0xd0]
push eax
push edi
call fcn.0043db21
pop ecx
pop ecx
jmp 0x483e60
test dword [ebp - 0x44], esi
je 0x483a37
push dword [ebp - 0x30]
push edi
call fcn.0043dadf
movzx eax, di
push eax
push str.unshow_int1__c_r_n
push 0x4c9048
mov word [ebp - 0x10], di
mov word [ebp + 0x34], di
call fcn.0041009a
add esp, 0x14
lea eax, [ebp - 0x10]
push eax
call dword [sym.imp.KERNEL32.DLL_DeleteVolumeMountPointW]
test eax, eax
jne 0x483a05
call dword [sym.imp.KERNEL32.DLL_GetLastError]
push 0
lea eax, [ebp + 0x34]
push eax
mov eax, dword [ebp - 0x4c]
or eax, dword [ebp - 8]
or eax, 2
push eax
call dword [sym.imp.KERNEL32.DLL_DefineDosDeviceW]
test eax, eax
jne 0x483a25
call dword [sym.imp.KERNEL32.DLL_GetLastError]
cmp dword [ebp + 0x14], 0
je 0x483a34
push dword [ebp + 0x34]
call fcn.0043d3e8
pop ecx
mov dword [ebp - 0x1c], edi
test bx, bx
je 0x483abb
push dword [ebp - 0x30]
push ebx
call fcn.0043dadf
movzx esi, bx
push esi
push str.unshow_int2__c_r_n
push 0x4c9048
mov word [ebp - 0x10], bx
mov word [ebp + 0x34], bx
call fcn.0041009a
add esp, 0x14
lea eax, [ebp - 0x10]
push eax
call dword [sym.imp.KERNEL32.DLL_DeleteVolumeMountPointW]
test eax, eax
jne 0x483a77
call dword [sym.imp.KERNEL32.DLL_GetLastError]
push 0
lea eax, [ebp + 0x34]
push eax
mov eax, dword [ebp - 0x4c]
or eax, dword [ebp - 8]
or eax, 2
push eax
call dword [sym.imp.KERNEL32.DLL_DefineDosDeviceW]
test eax, eax
jne 0x483a97
call dword [sym.imp.KERNEL32.DLL_GetLastError]
cmp dword [ebp + 0x14], 0
je 0x483aa6
push dword [ebp + 0x34]
call fcn.0043d3e8
pop ecx
xor eax, eax
inc eax
lea ecx, [esi - 0x41]
shl eax, cl
mov word [ebp - 0x10], di
mov word [ebp + 0x34], di
not eax
and dword [ebp - 0x44], eax
mov ebx, dword [ebp - 0x80]
mov byte [ebp + 0x2a], 0
jmp 0x483ac7
mov edi, dword [ebp]
cmp byte [ebp + 0x2a], 0
je 0x483ae3
test di, di
je 0x483e60
cmp byte [ebp + 0x42], 0
jne 0x483e60
mov edi, dword [ebp]
xor esi, esi
cmp dword [ebp - 0x38], esi
mov eax, str..CDROM_d
jne 0x483af4
mov eax, str.DeviceHarddisk_dPartition_d
movsx ecx, word [ebp + 0x44]
push ecx
movsx ecx, word [ebp + 0xc]
push ecx
push eax
push dword [ebp + 0x48]
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x10
cmp di, si
je 0x483b16
cmp byte [ebp + 0x60], 0
je 0x483b37
push dword [ebp + 0x1c]
xor eax, eax
mov al, byte [ebp + 0x43]
sub al, 0x41
push eax
lea eax, [ebp - 0x44]
push 0xc
push eax
call fcn.0043d443
add esp, 0x10
mov word [ebp - 0x10], ax
mov word [ebp + 0x34], ax
cmp word [ebp + 0x34], 0x41
jb 0x483fec
cmp word [ebp + 0x34], 0x5a
ja 0x483fec
cmp word [ebp - 0x10], si
je 0x483ccb
cmp di, word [ebp - 0x10]
jne 0x483b67
cmp dword [ebp + 0x10], 0
jne 0x483b67
mov byte [ebp + 0x60], 1
push dword [ebp + 0x14]
lea eax, [ebp - 0x10]
push dword [ebp - 8]
push eax
lea eax, [ebp + 0x34]
push eax
push dword [ebp + 0x48]
call fcn.0044bde7
add esp, 0x14
test eax, eax
je 0x483b8a
and dword [ebp - 0x2c], 0
jmp 0x483b93
call dword [sym.imp.KERNEL32.DLL_GetLastError]
mov dword [ebp - 0x2c], eax
xor esi, esi
inc esi
test byte [ebp + 0x57], 0x10
je 0x483bad
movzx eax, word [ebp - 0x10]
push 0x32
push 2
push eax
call fcn.004126d5
add esp, 0xc
xor edi, edi
cmp byte [ebp + 0x41], 0
je 0x483c80
cmp word [ebp - 0x18], di
jne 0x483c80
mov ax, word [ebp - 0x10]
mov word [ebp - 0xac], ax
lea eax, [ebp - 0x42c]
push eax
lea eax, [ebp - 0xac]
push eax
mov word [ebp - 0xaa], 0x3a
mov word [ebp - 0xa8], 0x5c
mov word [ebp - 0xa6], 0x4e
mov word [ebp - 0xa4], 0x55
mov word [ebp - 0xa2], 0x4c
mov word [ebp - 0xa0], di
call dword [sym.imp.KERNEL32.DLL_FindFirstFileW]
cmp eax, 0xffffffff
je 0x483c31
push eax
call dword [sym.imp.KERNEL32.DLL_FindClose]
mov ecx, dword [ebp - 0x10]
add ecx, 0xffffffbf
mov eax, esi
shl eax, cl
or dword [ebp - 0x44], eax
jmp 0x483c80
mov eax, dword [ebp - 0x60]
mov dword [ebp + 0x1c], eax
lea eax, [ebp - 0x10]
push eax
mov dword [ebp - 0x20], ebx
mov dword [ebp], edi
xor esi, esi
call dword [sym.imp.KERNEL32.DLL_DeleteVolumeMountPointW]
test eax, eax
jne 0x483c53
call dword [sym.imp.KERNEL32.DLL_GetLastError]
push edi
lea eax, [ebp + 0x34]
push eax
mov eax, dword [ebp - 0x4c]
or eax, dword [ebp - 8]
or eax, 2
push eax
call dword [sym.imp.KERNEL32.DLL_DefineDosDeviceW]
test eax, eax
jne 0x483c72
call dword [sym.imp.KERNEL32.DLL_GetLastError]
cmp dword [ebp + 0x14], edi
je 0x483c80
push dword [ebp + 0x34]
call fcn.0043d3e8
pop ecx
cmp dword [ebp + 0x10], edi
je 0x483ca5
movzx eax, word [ebp + 0x34]
push esi
push eax
push dword [ebp + 0x44]
movsx eax, word [ebp + 0xc]
push eax
push str.show_pt:__d:_d__c__d_r_n
push 0x4c9048
call fcn.0041009a
add esp, 0x18
cmp esi, edi
je 0x483ccb
cmp byte [ebp + 0x6f], 0
jne 0x483cb5
cmp byte [ebp + 0x6d], 0
je 0x483ccb
cmp dword [ebp + 4], edi
je 0x483ccb
lea eax, [ebp - 0xd0]
push eax
push dword [ebp - 0x10]
call fcn.0043db21
pop ecx
pop ecx
mov eax, dword [ebp - 0x1c]
test ax, ax
je 0x483e60
add eax, 0xffffffbf
cmp word [ebp], 0
je 0x483ce7
movsx ecx, word [ebp + 0xc]
jmp 0x483cea
push 0xfffffffffffffff1
pop ecx
movsx eax, ax
mov edx, eax
shl edx, 4
add edx, eax
mov eax, dword [ebp - 0x30]
shl edx, 5
add eax, edx
cmp word [ebp], 0
mov dword [eax + 4], ecx
je 0x483d0b
mov ecx, dword [ebp + 0x44]
jmp 0x483d0e
push 0xfffffffffffffff1
pop ecx
mov dword [eax], ecx
movzx ecx, word [ebp]
mov dword [eax + 0x10], ecx
jmp 0x483e60
movsx esi, word [ebp + 0xc]
lea eax, [ebp - 0x2c]
push eax
push dword [ebp + 0x48]
mov eax, dword [ebp + 0x10]
push dword [ebp + 0x14]
shl eax, 8
or eax, dword [ebp + 0x2c]
push eax
mov eax, dword [ebp - 0x4c]
or eax, dword [ebp - 8]
push eax
push dword [ebp + 0x44]
mov eax, dword [ebp + 0x5c]
add eax, 0x10c000
push esi
push eax
call fcn.0043d568
add esp, 0x20
cmp word [ebp - 0x78], di
jne 0x483e60
cmp dword [ebp + 0x2c], edi
jne 0x484034
cmp byte [ebp + 0x62], 0
je 0x483d9a
test bl, 0x10
jne 0x483e60
cmp ebx, 0x84
je 0x483e60
cmp byte [ebp + 0x7b], 0
je 0x483d9a
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + 0x44]
and edx, 0xc0000000
xor ecx, ecx
or ecx, edx
jne 0x483e60
cmp eax, edi
je 0x483db2
cmp word [ebp], di
je 0x484034
cmp byte [ebp + 0x42], 0
jne 0x484034
movsx eax, word [ebp + 0x44]
push eax
push esi
push str.DeviceHarddisk_dPartition_d
push dword [ebp + 0x48]
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x10
cmp word [ebp + 0x34], di
jne 0x483df0
push dword [ebp + 0x1c]
xor eax, eax
mov al, byte [ebp + 0x43]
sub al, 0x41
push eax
lea eax, [ebp - 0x44]
push 0xc
push eax
call fcn.0043d443
add esp, 0x10
mov word [ebp - 0x10], ax
mov word [ebp + 0x34], ax
cmp word [ebp + 0x34], 0x41
jb 0x4840a5
cmp word [ebp + 0x34], 0x5a
ja 0x4840a5
cmp word [ebp - 0x10], di
je 0x483e57
cmp dword [ebp + 0x10], edi
je 0x483e2c
movzx eax, word [ebp + 0x34]
push eax
push dword [ebp + 0x44]
push esi
push str.unshow_pt:__d:_d__c_r_n
push 0x4c9048
call fcn.0041009a
add esp, 0x14
push dword [ebp + 0x14]
lea eax, [ebp - 0x10]
push dword [ebp - 8]
push eax
lea eax, [ebp + 0x34]
push eax
push dword [ebp + 0x48]
call fcn.0044bde7
add esp, 0x14
test eax, eax
je 0x483e4e
mov dword [ebp - 0x2c], edi
jmp 0x483e57
call dword [sym.imp.KERNEL32.DLL_GetLastError]
mov dword [ebp - 0x2c], eax
cmp dword [ebp + 0x64], edi
jge 0x48406c
inc dword [ebp + 0x30]
dec dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], 0
jg 0x4832da
jmp 0x483e7c
inc dword [ebp - 0x6c]
cmp word [ebp - 0x6c], 0x20
jge 0x483e9b
lea ecx, [ebp + 0x4c]
call fcn.00402c5b
inc dword [ebp - 0x68]
xor ebx, ebx
jmp 0x483085
movsx eax, word [ebp + 0xc]
mov dword [ebp + 0x20], eax
mov eax, dword [ebp + 0x44]
mov dword [ebp + 0x64], eax
lea ecx, [ebp + 0x4c]
call fcn.00402c5b
mov cl, byte [ebp + 0x6d]
inc dword [ebp - 0x5c]
cmp cl, 1
jne 0x483eb4
mov byte [ebp + 0x6d], 2
jmp 0x483ec2
cmp byte [ebp + 0x61], 1
jne 0x483ed4
mov byte [ebp + 0x61], 2
mov byte [ebp + 0x6e], 0xb
lea ecx, [ebp + 0x5c]
call fcn.00439cfd
mov esi, dword [ebp + 0x58]
xor ebx, ebx
jmp 0x482f0e
cmp byte [ebp + 0x6f], 0
jne 0x483ee2
test cl, cl
je 0x4840dd
cmp byte [ebp + 0x6b], 0
je 0x4840dd
cmp byte [ebp + 0x6f], 1
je 0x483f58
cmp cl, 2
je 0x483f58
cmp byte [ebp + 0x6f], 3
je 0x483f3a
cmp cl, 3
je 0x483f3a
cmp byte [ebp + 0x6f], 4
je 0x483f34
cmp cl, 4
je 0x483f34
cmp byte [ebp + 0x6f], 5
je 0x483f1c
cmp cl, 5
jne 0x4840dd
mov byte [ebp + 0x6e], 0xb
cmp byte [ebp + 0x6f], 0
je 0x483f29
inc byte [ebp + 0x6f]
test cl, cl
je 0x483ec2
inc cl
mov byte [ebp + 0x6d], cl
jmp 0x483ec2
mov byte [ebp + 0x6e], 0xc
jmp 0x483f20
cmp byte [ebp + 0x6f], 0
je 0x483f43
inc byte [ebp + 0x6f]
test cl, cl
je 0x483f4c
inc cl
mov byte [ebp + 0x6d], cl
mov dword [ebp + 8], 1
jmp 0x483ec2
xor eax, eax
xor edx, edx
cmp dword [ebp - 0x58], edx
sete al
cmp byte [ebp + 0x6f], dl
lea eax, [eax + eax + 3]
je 0x483f6e
mov byte [ebp + 0x6f], al
test cl, cl
je 0x483f75
mov byte [ebp + 0x6d], al
cmp byte [ebp + 0x6b], 0x3f
je 0x483f90
lea eax, [ebp - 0xd0]
mov dword [ebp + 0x1c], eax
movsx ax, byte [ebp - 0xd0]
mov word [ebp - 0x20], ax
cmp dword [ebp - 0x58], edx
sete al
dec al
and al, 0xf9
add al, 0xc
cmp dword [ebp - 0x58], edx
mov byte [ebp + 0x6e], al
jne 0x483fab
mov dword [ebp + 8], 1
mov dword [ebp + 4], edx
jmp 0x483ec2
lea ecx, [ebp + 0x4c]
call fcn.00402c5b
lea ecx, [ebp + 0x5c]
call fcn.00439cfd
lea ecx, [ebp + 0x18]
call fcn.00439cfd
lea ecx, [ebp + 0x24]
call fcn.00439cfd
lea ecx, [ebp + 0x48]
call fcn.00439cfd
lea ecx, [ebp + 0x58]
call fcn.00439cfd
cmp dword [ebp + 0x50], 0
jmp 0x483486
lea ecx, [ebp + 0x4c]
call fcn.00402c5b
lea ecx, [ebp + 0x5c]
call fcn.00439cfd
lea ecx, [ebp + 0x18]
call fcn.00439cfd
lea ecx, [ebp + 0x24]
call fcn.00439cfd
lea ecx, [ebp + 0x48]
call fcn.00439cfd
lea ecx, [ebp + 0x58]
call fcn.00439cfd
cmp dword [ebp + 0x50], esi
je 0x48402a
push dword [ebp + 0x50]
call dword [sym.imp.KERNEL32.DLL_LeaveCriticalSection]
mov eax, 0x80070057
jmp 0x4842ef
lea ecx, [ebp + 0x4c]
call fcn.00402c5b
lea ecx, [ebp + 0x5c]
call fcn.00439cfd
lea ecx, [ebp + 0x18]
call fcn.00439cfd
lea ecx, [ebp + 0x24]
call fcn.00439cfd
lea ecx, [ebp + 0x48]
call fcn.00439cfd
lea ecx, [ebp + 0x58]
call fcn.00439cfd
cmp dword [ebp + 0x50], edi
jmp 0x4842e1
lea ecx, [ebp + 0x4c]
call fcn.00402c5b
lea ecx, [ebp + 0x5c]
call fcn.00439cfd
lea ecx, [ebp + 0x18]
call fcn.00439cfd
lea ecx, [ebp + 0x24]
call fcn.00439cfd
lea ecx, [ebp + 0x48]
call fcn.00439cfd
lea ecx, [ebp + 0x58]
call fcn.00439cfd
cmp dword [ebp + 0x50], 0
jmp 0x4842e1
lea ecx, [ebp + 0x4c]
call fcn.00402c5b
lea ecx, [ebp + 0x5c]
call fcn.00439cfd
lea ecx, [ebp + 0x18]
call fcn.00439cfd
lea ecx, [ebp + 0x24]
call fcn.00439cfd
lea ecx, [ebp + 0x48]
call fcn.00439cfd
lea ecx, [ebp + 0x58]
call fcn.00439cfd
cmp dword [ebp + 0x50], edi
jmp 0x48401f
xor esi, esi
cmp dword [ebp + 0x64], esi
jle 0x4842b6
cmp dword [ebp - 0x28], esi
jge 0x4842b6
cmp dword [ebp + 0x2c], esi
jne 0x4842b6
cmp byte [ebp + 0x6c], 0
jne 0x4842b6
cmp byte [ebp + 0x3f], 0
jne 0x4842b6
lea ecx, [ebp + 0x5c]
call fcn.00439cfd
mov esi, dword [ebp + 0x58]
xor ebx, ebx
cmp dword [ebp + 0x2c], ebx
jne 0x484160
cmp dword [ebp + 0x20], ebx
jl 0x48412a
cmp dword [ebp + 0x64], ebx
jg 0x484160
lea ecx, [ebp + 0x18]
call fcn.00439cfd
lea ecx, [ebp + 0x24]
call fcn.00439cfd
lea ecx, [ebp + 0x48]
call fcn.00439cfd
lea ecx, [ebp + 0x58]
call fcn.00439cfd
cmp dword [ebp + 0x50], ebx
je 0x484158
push dword [ebp + 0x50]
call dword [sym.imp.KERNEL32.DLL_LeaveCriticalSection]
xor eax, eax
inc eax
jmp 0x4842ef
cmp dword [ebp + 0x20], ebx
jl 0x484188
cmp dword [ebp + 0x64], ebx
jle 0x484188
movsx eax, word [ebp + 0x64]
mov edi, dword [ebp + 0x48]
push eax
movsx eax, word [ebp + 0x20]
push eax
push str.DeviceHarddisk_dPartition_d
push edi
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x10
jmp 0x48418b
mov edi, dword [ebp + 0x48]
mov word [esi + 2], 0x3a
mov ax, word [esi]
cmp ax, 0x2c
jne 0x4841a1
mov word [esi], 0xff0c
jmp 0x4841c6
cmp ax, 0x3b
jne 0x4841ae
mov word [esi], 0xff1b
jmp 0x4841c6
cmp ax, 0x3a
jne 0x4841bb
mov word [esi], 0xff1a
jmp 0x4841c6
cmp ax, 0x3d
jne 0x4841c6
mov word [esi], 0xff1d
mov word [esi + 4], 0x5c
mov word [esi + 6], bx
mov ax, word [esi]
mov word [ebp - 0x90], ax
mov word [ebp - 0x8e], 0x3a
mov word [ebp - 0x8c], bx
cmp word [edi], bx
je 0x484254
cmp dword [ebp + 0x2c], ebx
jne 0x484254
push dword [ebp + 0x14]
mov eax, dword [ebp - 0x4c]
or eax, dword [ebp - 8]
push eax
push esi
lea eax, [ebp - 0x90]
push eax
push edi
call fcn.0044bde7
add esp, 0x14
cmp eax, ebx
je 0x484217
xor esi, esi
jmp 0x48421f
call dword [sym.imp.KERNEL32.DLL_GetLastError]
mov esi, eax
lea ecx, [ebp + 0x18]
call fcn.00439cfd
lea ecx, [ebp + 0x24]
call fcn.00439cfd
lea ecx, [ebp + 0x48]
call fcn.00439cfd
lea ecx, [ebp + 0x58]
call fcn.00439cfd
cmp dword [ebp + 0x50], ebx
je 0x48424d
push dword [ebp + 0x50]
call dword [sym.imp.KERNEL32.DLL_LeaveCriticalSection]
mov eax, esi
jmp 0x4842ef
cmp dword [ebp + 0x14], ebx
je 0x48426a
push esi
call dword [sym.imp.KERNEL32.DLL_DeleteVolumeMountPointW]
test eax, eax
jne 0x48426a
call dword [sym.imp.KERNEL32.DLL_GetLastError]
mov ax, word [edi]
neg ax
sbb eax, eax
and eax, edi
push eax
lea eax, [ebp - 0x90]
push eax
mov eax, dword [ebp - 0x4c]
or eax, dword [ebp - 8]
or eax, 2
push eax
call dword [sym.imp.KERNEL32.DLL_DefineDosDeviceW]
test eax, eax
je 0x484294
xor esi, esi
jmp 0x48429c
call dword [sym.imp.KERNEL32.DLL_GetLastError]
mov esi, eax
cmp dword [ebp + 0x14], ebx
je 0x48421f
push dword [ebp - 0x90]
call fcn.0043d3e8
pop ecx
jmp 0x48421f
lea ecx, [ebp + 0x5c]
call fcn.00439cfd
lea ecx, [ebp + 0x18]
call fcn.00439cfd
lea ecx, [ebp + 0x24]
call fcn.00439cfd
lea ecx, [ebp + 0x48]
call fcn.00439cfd
lea ecx, [ebp + 0x58]
call fcn.00439cfd
cmp dword [ebp + 0x50], esi
je 0x4842ec
push dword [ebp + 0x50]
call dword [sym.imp.KERNEL32.DLL_LeaveCriticalSection]
mov eax, dword [ebp - 0x2c]
pop edi
pop esi
pop ebx
add ebp, 0x70
leave
ret 8