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

Disassembly:
push ebp
lea ebp, [esp - 0x70]
sub esp, 0x8f0
push ebx
push esi
mov eax, 0x4d88b0
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 0x490c3e
add esi, ebx
mov dword [ebp + 0x78], esi
push ebx
push esi
push 0x4c8808
call fcn.0043eeea
add esp, 0xc
test al, al
mov byte [ebp + 0x3e], al
jne 0x490c6b
push ebx
push esi
push 0x4c8804
call fcn.0043eeea
add esp, 0xc
test al, al
mov byte [ebp + 0x6f], 0
je 0x490c6f
mov byte [ebp + 0x6f], 1
push ebx
push esi
push 0x4c443c
call fcn.0043eeea
push 3
push esi
push 0x4c8800
mov byte [ebp + 0x6d], al
call fcn.0043eeea
push ebx
push esi
push 0x4c4430
mov byte [ebp - 0x19], al
call fcn.0043eeea
add esp, 0x24
cmp byte [ebp + 0x6f], 0
mov byte [ebp + 0x61], al
jne 0x490cb9
cmp byte [ebp + 0x6d], 0
jne 0x490cb9
cmp byte [ebp - 0x19], 0
jne 0x490cb9
test al, al
mov dword [ebp + 0x10], edi
je 0x490cc0
mov dword [ebp + 0x10], 1
lea eax, [ebp + 0x78]
push eax
call fcn.00408ddd
pop ecx
push 5
lea ecx, [ebp + 0x58]
call fcn.00443f79
push 0x14
lea ecx, [ebp + 0x48]
call fcn.00443f79
lea ecx, [ebp + 0x24]
call fcn.00443f5b
or dword [ebp + 0x20], 0xffffffff
mov eax, dword [ebp + 0x10]
cmp byte [ebp + 0x61], 0
mov dword [ebp + 0xc], eax
sete al
dec al
push 0x43
pop edx
mov dword [ebp + 0x30], edi
mov dword [ebp - 0x60], edi
mov dword [ebp - 0x18], edi
mov dword [ebp + 0x2c], edi
and eax, 0x55
mov dword [ebp - 0x54], edi
mov dword [ebp + 0x64], edi
mov byte [ebp + 0x6b], al
mov dword [ebp - 0x44], 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 - 0x40], 0x3e8
mov byte [ebp + 0x42], 0
mov byte [ebp + 0x6e], 0
mov byte [ebp + 0x6c], 0
mov byte [ebp + 0x29], 0
mov dword [ebp - 0x34], edx
mov byte [ebp + 0x43], dl
mov byte [ebp - 2], 0
mov byte [ebp + 0x63], 0
mov dword [ebp + 0x1c], eax
mov byte [ebp - 0xd0], 0
call fcn.00441afb
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 0x490d9d
cmp ax, 0x3d
jne 0x491070
push 2
lea eax, [ebp + 0x78]
push eax
push 0x4c87fc
call fcn.00445f31
add esp, 0xc
test al, al
je 0x490dba
mov byte [ebp + 0x42], 1
jmp 0x490d87
push ebx
lea eax, [ebp + 0x78]
push eax
push 0x4c6404
call fcn.00445f31
add esp, 0xc
test al, al
je 0x490dd9
mov dword [ebp - 0x54], 1
jmp 0x490d87
push 3
lea eax, [ebp + 0x78]
push eax
push 0x4c56cc
call fcn.00445f31
add esp, 0xc
test al, al
je 0x490df6
mov byte [ebp + 0x57], 0x10
jmp 0x490d87
push ebx
lea eax, [ebp + 0x78]
push eax
push 0x4c1a94
call fcn.00445f31
add esp, 0xc
test al, al
je 0x490e15
mov byte [ebp + 0x60], 1
jmp 0x490d87
push ebx
push dword [ebp + 0x78]
push 0x4c87f4
call fcn.0043eeea
add esp, 0xc
test al, al
je 0x490e74
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.00408ddd
cmp si, 0x41
pop ecx
jb 0x490d87
cmp si, 0x5a
ja 0x490d87
push dword [ebp + 0x78]
lea eax, [ebp - 0xec]
push edi
push eax
mov dword [ebp - 0x34], esi
call fcn.00449282
add esp, 0xc
jmp 0x490d87
push ebx
push dword [ebp + 0x78]
push 0x4c6414
call fcn.0043eeea
add esp, 0xc
test al, al
je 0x490ec1
add dword [ebp + 0x78], 0xc
lea eax, [ebp + 0x78]
push eax
call fcn.0043dae7
lea eax, [ebp + 4]
push eax
lea eax, [ebp + 0x78]
push eax
mov dword [ebp + 4], 0x42
call fcn.004503bc
mov al, byte [ebp + 4]
mov byte [ebp - 2], al
lea eax, [ebp + 0x78]
push eax
call fcn.0043dae7
add esp, 0x10
jmp 0x490d87
push 8
push dword [ebp + 0x78]
push 0x4c87e8
call fcn.0043eeea
add esp, 0xc
test al, al
je 0x490fa3
add dword [ebp + 0x78], 0x10
lea eax, [ebp + 0x78]
push eax
call fcn.0043dae7
cmp word [ebp - 0x44], 0x3c
pop ecx
jge 0x491029
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.0045247f
add esp, 0xc
test eax, eax
setge al
test al, al
mov byte [esi], al
jne 0x490f68
lea eax, [ebp - 0xb4]
push eax
lea eax, [ebp + 0x78]
push eax
mov dword [ebp + 0x78], edi
call fcn.0048b900
test eax, eax
pop ecx
pop ecx
jle 0x491029
push 0x10
lea eax, [ebp - 0xb4]
push eax
inc esi
push esi
call fcn.00413de4
mov eax, dword [ebp + 0x78]
movzx eax, word [eax]
add esp, 0xc
inc byte [ebp + 0x63]
test ax, ax
je 0x491029
call fcn.0043daaf
test al, al
jne 0x491029
add dword [ebp + 0x78], 2
jmp 0x490ef4
push 8
push dword [ebp + 0x78]
push 0x4c87dc
call fcn.0043eeea
add esp, 0xc
test al, al
je 0x491037
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 0x491022
lea eax, [ebp - 0x88]
push eax
lea eax, [ebp + 0x78]
push eax
call fcn.0048bab3
test eax, eax
pop ecx
pop ecx
jle 0x491029
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp + 0x78]
push eax
call fcn.0048bab3
test eax, eax
pop ecx
pop ecx
jle 0x491029
movsx eax, word [ebp - 0x44]
mov cx, word [ebp - 0x88]
shl eax, 2
inc dword [ebp - 0x44]
mov word [ebp + eax - 0x1dc], cx
mov cx, word [ebp - 0x74]
mov word [ebp + eax - 0x1da], cx
cmp word [ebp - 0x44], 0x3c
jl 0x490fd4
lea eax, [ebp + 0x78]
push eax
call fcn.00408ddd
jmp 0x490d86
push ebx
lea eax, [ebp + 0x78]
push eax
push 0x4c87d4
call fcn.00445f31
add esp, 0xc
test al, al
je 0x491056
mov byte [ebp + 0x41], 1
jmp 0x490d87
push ebx
lea eax, [ebp + 0x78]
push eax
push 0x4c87cc
call fcn.00445f31
add esp, 0xc
test al, al
jne 0x490d87
mov edx, dword [ebp + 0x78]
mov ax, word [edx]
test ax, ax
je 0x4910d7
xor esi, esi
inc esi
cmp ax, 0x2a
jne 0x4910a2
lea ecx, [edx + 2]
cmp word [ecx], ax
jne 0x491097
mov edx, ecx
mov dword [ebp + 0xc], esi
mov byte [ebp + 0x57], 0x10
jmp 0x4910ca
cmp ax, 0x2a
jne 0x4910a2
mov dword [ebp + 0xc], esi
jmp 0x4910ca
cmp ax, 0x26
jne 0x4910ae
or dword [ebp - 0x18], 8
jmp 0x4910ca
cmp ax, 0x2d
jne 0x4910d7
xor eax, eax
mov ax, word [edx + 2]
push eax
call fcn.004439f7
add esp, 4
test al, al
jne 0x4910d7
mov dword [ebp + 0x2c], esi
inc edx
inc edx
mov ax, word [edx]
test ax, ax
mov dword [ebp + 0x78], edx
jne 0x49107e
lea eax, [ebp + 0x78]
push eax
call fcn.0043dae7
pop ecx
call fcn.00441b24
mov dword [ebp - 0x9c], eax
mov eax, dword [ebp + 0x78]
mov ax, word [eax]
test ax, ax
jne 0x4910ff
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 0x49140a
push esi
lea eax, [ebp + 0x24]
push eax
lea eax, [ebp + 0x78]
push eax
call fcn.00446d58
mov eax, dword [ebp + 0x78]
add esp, 0xc
cmp word [eax], si
jne 0x49117b
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.00446d58
xor eax, eax
mov ax, word [esi]
mov edi, 0xffdf
add esp, 0xc
and eax, edi
cmp ax, 0x41
jb 0x491176
cmp ax, 0x5a
ja 0x491176
push dword [ebp + 0x78]
mov byte [ebp + 0x43], al
mov byte [ebp + 0x6b], al
lea eax, [ebp - 0xd0]
push esi
push eax
call fcn.00449282
add esp, 0xc
push 0x2c
pop esi
jmp 0x491180
mov edi, 0xffdf
mov eax, dword [ebp + 0x78]
cmp word [eax], si
jne 0x49119d
add dword [ebp + 0x78], 2
push esi
lea eax, [ebp - 0x60]
push eax
lea eax, [ebp + 0x78]
push eax
call fcn.00446fa5
add esp, 0xc
mov eax, dword [ebp + 0x78]
cmp word [eax], si
jne 0x49121c
inc eax
inc eax
mov dword [ebp + 0x78], eax
mov dword [ebp + 4], eax
lea eax, [ebp + 4]
push eax
call fcn.0043dae7
push esi
lea eax, [ebp + 0x78]
call fcn.004a7e7b
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 0x4911de
push 0x2a
pop ebx
cmp cx, bx
jne 0x4911de
mov dword [ebp - 0x78], ebx
cmp ax, 0x41
jb 0x491205
cmp ax, 0x5a
ja 0x491205
push dword [ebp + 0x78]
mov byte [ebp + 0x43], al
mov byte [ebp + 0x6b], al
push edx
lea eax, [ebp - 0xd0]
push eax
call fcn.00449282
add esp, 0xc
jmp 0x49121c
cmp cx, 0x3f
jne 0x49121c
cmp byte [ebp + 0x6f], 0
jne 0x491217
cmp byte [ebp + 0x6d], 0
je 0x49121c
mov al, byte [edx]
mov byte [ebp + 0x6b], al
mov edx, dword [ebp + 0x78]
cmp word [edx], si
jne 0x4912ae
xor eax, eax
lea ecx, [edx + 2]
mov ax, word [ecx]
push eax
call fcn.004439f7
add esp, 4
test al, al
je 0x49125c
push esi
lea eax, [ebp + 0x30]
push eax
lea eax, [ebp + 0x78]
push eax
mov dword [ebp + 0x78], ecx
call fcn.00446fa5
mov edx, dword [ebp + 0x78]
add esp, 0xc
cmp word [edx], 0
je 0x49125c
inc edx
inc edx
cmp word [edx], si
jne 0x4912ae
inc edx
lea eax, [ebp + 4]
inc edx
push eax
mov dword [ebp + 0x78], edx
mov dword [ebp + 4], edx
call fcn.0043dae7
push esi
lea eax, [ebp + 0x78]
call fcn.004a7e7b
pop ecx
pop ecx
mov ecx, dword [ebp + 4]
xor eax, eax
mov ax, word [ecx]
and eax, edi
cmp ax, 0x41
jb 0x4912ae
cmp ax, 0x5a
ja 0x4912ae
push dword [ebp + 0x78]
movsx ax, al
mov word [ebp - 0x34], ax
push ecx
lea eax, [ebp - 0xec]
push eax
call fcn.00449282
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.004439f7
add esp, 4
test al, al
jne 0x49133c
cmp dx, 0x2d
jne 0x4912e3
xor eax, eax
mov ax, word [esi + 2]
push eax
call fcn.004439f7
add esp, 4
test al, al
jne 0x49133c
cmp cx, 0x46
jne 0x4912fc
add esi, 2
or dword [ebp + 8], 0xffffffff
mov byte [ebp + 0x6e], 0xc
mov dword [ebp + 0x78], esi
jmp 0x49137d
cmp cx, 0x55
je 0x491325
cmp cx, 0x52
je 0x491325
cmp dx, 0x3a
je 0x49137d
cmp dx, 0x23
je 0x49137d
xor ebx, ebx
cmp dword [ebp + 0x2c], ebx
jne 0x49137f
cmp dx, bx
je 0x49137f
jmp 0x491642
add esi, 2
mov byte [ebp + 0x6e], 0xc
mov dword [ebp + 8], 1
mov dword [ebp + 0x78], esi
mov byte [ebp + 0x29], 1
jmp 0x49137d
lea eax, [ebp + 0x20]
push eax
lea eax, [ebp - 0x60]
push eax
mov dword [ebp - 0x60], esi
call fcn.004404ef
movzx esi, word [esi]
test si, si
pop ecx
pop ecx
je 0x491373
mov eax, esi
cmp ax, 0x3a
je 0x491373
cmp ax, 0x23
je 0x491373
add dword [ebp + 0x78], 2
mov eax, dword [ebp + 0x78]
mov ax, word [eax]
test ax, ax
jne 0x491358
lea eax, [ebp + 0x78]
push eax
call fcn.0043dae7
pop ecx
xor ebx, ebx
mov eax, dword [ebp + 0x78]
cmp word [eax], bx
jne 0x491396
mov eax, dword [ebp + 0x58]
cmp word [eax], bx
je 0x491396
mov dword [ebp + 0x2c], 1
lea eax, [ebp + 0x78]
push eax
call fcn.0043dae7
mov eax, dword [ebp + 0x78]
mov ax, word [eax]
cmp ax, 0x3a
pop ecx
je 0x4913b6
cmp ax, 0x23
jne 0x49140c
mov byte [ebp + 0x6c], 1
cmp byte [ebp + 0x6e], 0
jne 0x4913c1
cmp dword [ebp + 0x20], ebx
jge 0x4913c5
mov byte [ebp + 0x6c], 0
add dword [ebp + 0x78], 2
lea eax, [ebp + 0x78]
push eax
call fcn.0043dae7
mov eax, dword [ebp + 0x78]
cmp word [eax], 0x2d
pop ecx
jne 0x4913f6
movzx eax, word [eax + 2]
push eax
call fcn.004439f7
add esp, 4
test al, al
jne 0x4913f6
mov dword [ebp + 0x2c], 1
jmp 0x49140c
push 0x2c
lea eax, [ebp + 0x64]
push eax
lea eax, [ebp + 0x78]
push eax
call fcn.00446fa5
add esp, 0xc
jmp 0x49140c
xor ebx, ebx
cmp byte [ebp + 0x6c], 0
mov edi, dword [ebp + 0x64]
push 4
mov dword [ebp - 0x28], 0xfffffff8
mov dword [ebp - 0x2c], edi
pop ecx
je 0x49145c
cmp edi, ebx
jg 0x49142e
xor esi, esi
inc esi
jmp 0x491647
cmp edi, ecx
jg 0x491435
dec edi
jmp 0x49143c
lea edi, [edi*4 - 0x10]
cmp edi, ebx
mov dword [ebp + 0x64], edi
jl 0x49144a
cmp edi, ecx
jge 0x49144e
inc edi
jmp 0x491459
cmp edi, ecx
jl 0x49145c
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.00443fa0
mov esi, dword [ebp + 0x58]
mov ax, word [esi]
cmp ax, 0x61
jb 0x491488
cmp ax, 0x7a
ja 0x491488
add word [esi], 0xffe0
cmp byte [ebp + 0x6e], 0
mov byte [ebp - 1], 0
jne 0x4914d2
cmp dword [ebp + 0x2c], ebx
jne 0x4914d2
mov ax, word [esi]
cmp ax, 0x100
jae 0x4914d2
cmp ax, 0x41
jb 0x4914ac
cmp ax, 0x5a
jbe 0x4914d2
cmp dword [ebp + 0x20], ebx
mov word [esi], bx
jl 0x4914bc
cmp edi, 1
jl 0x4914bc
mov dword [ebp - 0x28], edi
cmp byte [ebp + 0x6c], 0
je 0x4914d2
cmp dword [ebp + 0x20], ebx
jl 0x4914d2
cmp edi, ebx
jl 0x4914d2
mov dword [ebp - 0x28], edi
mov byte [ebp - 1], 1
cmp dword [ebp + 0x10], ebx
je 0x4914e1
test byte [ebp + 0x30], 1
mov byte [ebp + 0x40], 1
jne 0x4914e5
mov byte [ebp + 0x40], 0
cmp dword [ebp + 0x10], ebx
je 0x4914f4
test byte [ebp + 0x30], 2
je 0x4914f4
mov byte [ebp + 0x41], 1
cmp byte [ebp + 0x3e], 0
jne 0x491509
cmp dword [ebp + 0x10], ebx
je 0x491505
test byte [ebp + 0x30], 4
jne 0x491509
xor cl, cl
jmp 0x49150b
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 - 0x4e], al
je 0x491528
mov dword [ebp - 0x54], 1
test cl, cl
je 0x4915fc
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.004aa020
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.004aa020
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 0x4c87bc
push eax
call fcn.00413de4
inc bl
movzx eax, bl
shl eax, 2
push edi
mov word [ebp + eax - 0x1dc], 1
lea eax, [ebp + eax - 0x1da]
push 0x4c87ac
push eax
call fcn.00413de4
inc bl
movzx eax, bl
shl eax, 2
push edi
mov word [ebp + eax - 0x1dc], 1
lea eax, [ebp + eax - 0x1da]
push 0x4c879c
push eax
call fcn.00413de4
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 0x49160d
cmp dword [ebp + 0x64], ebx
jle 0x49160d
mov al, 1
jmp 0x49160f
xor al, al
xor edi, edi
inc edi
test al, al
mov dword [ebp - 0x20], ebx
je 0x49161c
mov dword [ebp - 0x20], edi
mov ax, word [esi]
push 0x64
lea ecx, [ebp + 0x48]
mov word [ebp], ax
call fcn.00443fa0
call dword [sym.imp.KERNEL32.DLL_GetLogicalDrives]
cmp byte [ebp + 0x61], 0
mov dword [ebp - 0x48], eax
je 0x491669
cmp byte [ebp + 0x6b], 0
jne 0x491669
mov esi, 0x80070057
lea ecx, [ebp + 0x24]
call fcn.0043db4f
lea ecx, [ebp + 0x48]
call fcn.0043db4f
lea ecx, [ebp + 0x58]
call fcn.0043db4f
push 0x4d88b0
jmp 0x492ac0
cmp dword [ebp + 8], ebx
jg 0x491674
cmp byte [ebp + 0x61], 0
je 0x49169c
cmp byte [ebp - 0xd0], 0
movsx ax, byte [ebp + 0x6b]
mov word [ebp - 0x34], ax
je 0x49168f
lea eax, [ebp - 0xd0]
mov dword [ebp + 0x1c], eax
cmp byte [ebp + 0x61], 0
je 0x49169c
mov byte [ebp + 0x6e], 0xc
mov dword [ebp + 8], edi
cmp dword [ebp + 0x10], ebx
jne 0x4916ad
cmp dword [ebp + 8], ebx
jle 0x4916ad
mov byte [ebp + 0x6e], 0xb
mov dword [ebp + 8], ebx
cmp dword [ebp + 0x2c], ebx
mov dword [ebp - 0x60], edi
jne 0x4918bd
cmp dword [ebp - 0x2c], ebx
jle 0x4916c8
cmp byte [ebp + 0x60], 0
jne 0x4918bd
cmp dword [ebp + 0x20], ebx
mov byte [ebp + 0x2b], 1
jl 0x4918c1
cmp dword [ebp + 0x64], ebx
mov byte [ebp + 0x3f], 1
mov byte [ebp + 0x3e], 1
jg 0x4916e6
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.00443e04
cmp dword [ebp - 0x54], ebx
mov byte [ebp - 0x11], 0
mov dword [ebp - 0x98], edi
jle 0x491717
mov dword [ebp - 0x98], 9
cmp byte [ebp + 0x6f], 0
jne 0x491723
cmp byte [ebp + 0x6d], 0
je 0x491741
cmp byte [ebp + 0x6b], 0x3f
jne 0x491741
push 0x1b
lea eax, [ebp - 0xec]
push eax
lea eax, [ebp - 0xd0]
push eax
call fcn.00413de4
add esp, 0xc
cmp dword [ebp + 0x10], ebx
mov byte [ebp + 0x60], 0
jg 0x491753
cmp dword [ebp - 0x2c], ebx
jg 0x491753
mov byte [ebp + 0x60], 1
cmp byte [ebp + 0x6c], 0
jne 0x49176f
cmp byte [ebp + 0x42], 0
je 0x49176f
cmp dword [ebp + 0x20], ebx
jl 0x49176f
cmp dword [ebp - 0x2c], ebx
jle 0x49176f
mov eax, dword [ebp + 0x64]
mov dword [ebp - 0x28], eax
cmp byte [ebp + 0x3f], 0
jne 0x4917b8
cmp byte [ebp + 0x62], 0
jne 0x4917b8
cmp byte [ebp + 0x6e], 0
jne 0x4917b8
cmp dword [ebp - 0x28], ebx
jge 0x4917b8
cmp byte [ebp + 0x6c], 0
jne 0x4917b8
cmp word [esi], bx
jne 0x49179c
cmp dword [ebp - 0x2c], ebx
je 0x4917b8
cmp dword [ebp - 0x2c], 0xffffffff
je 0x4917b8
cmp dword [ebp + 0x2c], ebx
je 0x492999
cmp dword [ebp + 0x20], ebx
jl 0x492994
cmp dword [ebp - 0x2c], 1
jl 0x492994
push 0x10fa28
lea ecx, [ebp + 0x5c]
call fcn.00443e04
push dword [ebp - 0x98]
mov edi, dword [ebp + 0x5c]
lea esi, [edi + 0x10c000]
push edi
push esi
call fcn.00451b41
add esp, 0xc
cmp byte [ebp + 0x40], 0
je 0x4917ee
cmp byte [ebp - 0x11], 0
jne 0x491873
cmp byte [ebp - 0x4e], 0
je 0x491858
push 0x1a
add esi, 0x10
pop ebx
mov eax, dword [esi]
test eax, eax
jle 0x49184d
cmp byte [ebp - 0xec], 0
lea ecx, [ebp - 0xec]
je 0x491823
mov dl, byte [ebp - 0xec]
movsx edx, dl
cmp edx, eax
je 0x49184d
inc ecx
mov dl, byte [ecx]
test dl, dl
jne 0x491815
cmp byte [ebp - 0xd0], 0
lea ecx, [ebp - 0xd0]
je 0x491846
mov dl, byte [ebp - 0xd0]
movsx edx, dl
cmp edx, eax
je 0x49184d
inc ecx
mov dl, byte [ecx]
test dl, dl
jne 0x491838
or eax, 0xe000
mov dword [esi], eax
add esi, 0x220
dec ebx
jne 0x4917fa
xor ebx, ebx
push 0x3960
lea eax, [edi + 0x10c000]
push eax
push dword [ebp + 0x18]
call fcn.00413de4
add esp, 0xc
mov byte [ebp - 0x11], 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 - 0x7c], ebx
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp + 0x20]
cmp eax, ebx
jl 0x4918ca
mov dword [ebp - 0x68], 0x7530
jmp 0x4918ea
mov byte [ebp + 0x2b], 0
mov byte [ebp + 0x3f], 0
jmp 0x4916e2
mov dword [ebp - 0x68], ebx
dec dword [ebp - 0x40]
cmp dword [ebp - 0x40], ebx
jle 0x49271c
cmp word [ebp - 0x68], 0x3e80
jge 0x49271c
mov eax, dword [ebp - 0x68]
xor ebx, ebx
cmp dword [ebp - 0x3c], ebx
mov dword [ebp + 0x14], eax
mov ecx, 0x4c57f0
jne 0x4918fc
mov ecx, 0x4c57c8
movsx eax, word [ebp + 0x14]
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.0040569f
mov edi, dword [ebp + 0x4c]
cmp edi, ebx
je 0x4926eb
or eax, 0xffffffff
cmp byte [ebp + 0x2b], bl
mov dword [ebp - 0x7c], ebx
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x84], eax
je 0x491975
lea eax, [ebp - 0x88]
push eax
lea eax, [ebp + 0x78]
push eax
push edi
call fcn.004526e8
add esp, 0xc
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x70], edx
cmp byte [ebp + 0x6e], 0
je 0x4919f9
push 0x800
push 1
push dword [ebp + 0x5c]
push edi
call fcn.00448d1c
add esp, 0x10
cmp byte [ebp + 0x6e], 5
mov esi, eax
je 0x4919a4
cmp esi, 0xb
jne 0x4919a4
cmp byte [ebp + 0x6e], al
jne 0x4926f5
cmp dword [ebp + 8], ebx
jne 0x4919af
cmp byte [ebp + 0x29], 0
jle 0x4919df
push edi
push ebx
call fcn.00445e46
cmp dword [ebp + 8], ebx
pop ecx
pop ecx
jg 0x4919c3
cmp byte [ebp + 0x29], 0
jle 0x4919cc
cmp eax, 7
jne 0x4926f5
cmp dword [ebp + 8], ebx
jge 0x4919dd
cmp eax, 7
je 0x4926f5
cmp dword [ebp + 8], ebx
jne 0x4919e7
cmp esi, 0xc
jne 0x4919e7
push 0xb
pop esi
cmp byte [ebp + 0x6e], 5
je 0x4919f9
movsx eax, byte [ebp + 0x6e]
cmp esi, eax
jne 0x4926f5
lea eax, [ebp - 0x38]
push eax
push dword [ebp + 0x5c]
mov dword [ebp - 0x38], ebx
push edi
call fcn.0044170d
add esp, 0xc
cmp eax, ebx
je 0x4926f5
cmp dword [eax], 1
mov esi, dword [eax + 0x28]
lea ecx, [eax + 0x30]
push 0x200
push edi
mov dword [ebp - 0x58], ecx
sete byte [ebp + 0x7b]
call fcn.0044132f
cmp byte [ebp + 0x6c], 0
pop ecx
pop ecx
mov edi, eax
je 0x491ab6
cmp byte [ebp + 0x7b], 0
je 0x491a9b
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.00448b86
add esp, 0x24
cmp dword [ebp - 0x2c], esi
jg 0x4926f5
mov eax, dword [ebp - 0x2c]
push 1
push edi
push dword [ebp - 0x38]
shl eax, 6
push dword [ebp - 0x58]
add eax, edi
lea eax, [ebx + eax*2 - 0x80]
push eax
call fcn.00448a5d
add esp, 0x14
test eax, eax
mov dword [ebp + 0x64], eax
jl 0x4926f5
cmp byte [ebp - 1], 0
je 0x491ac2
mov dword [ebp - 0x28], eax
jmp 0x491ac2
mov eax, dword [ebp - 0x2c]
cmp eax, ebx
jle 0x491ab9
cmp eax, 4
lea ecx, [eax - 1]
jle 0x491ab1
lea ecx, [eax*4 - 0x10]
mov dword [ebp + 0x64], ecx
jmp 0x491ab9
mov eax, dword [ebp - 0x2c]
cmp eax, dword [ebp - 0x38]
jg 0x4926f5
push dword [ebp + 0x4c]
xor edi, edi
push edi
call fcn.00445e46
cmp eax, 7
pop ecx
pop ecx
je 0x491b0b
cmp byte [ebp + 0x7b], 0
jne 0x491b0b
cmp dword [ebp - 0x38], 4
mov esi, dword [ebp - 0x58]
jne 0x491b0e
mov al, byte [ebp - 2]
cmp al, byte [esi + 0x20]
jne 0x491b0e
cmp byte [esi + 0xb0], 0
jne 0x491b0e
cmp byte [esi + 0x140], 0
jne 0x491b0e
cmp byte [esi + 0x1d0], 0
jne 0x491b0e
jmp 0x4926f5
mov esi, dword [ebp - 0x58]
dec dword [ebp - 0x40]
cmp dword [ebp - 0x40], edi
mov dword [ebp - 0x64], edi
mov dword [ebp + 0x30], edi
jle 0x4926f5
jmp 0x491b25
mov esi, dword [ebp - 0x58]
mov edi, dword [ebp + 0x30]
mov ebx, dword [ebp - 0x38]
cmp edi, ebx
jge 0x4926f5
lea ecx, [ebp + 0x50]
mov dword [ebp - 0x80], edi
call fcn.0043d93a
cmp dword [ebp - 0x3c], 0
je 0x491b4d
lea eax, [ebx + 0x186a0]
mov dword [ebp + 0x30], eax
cmp byte [ebp + 0x6c], 0
je 0x491b70
cmp dword [ebp + 0x64], 0
jl 0x491b70
mov edi, dword [ebp + 0x64]
cmp edi, ebx
lea eax, [ebx + 0x186a0]
mov dword [ebp + 0x30], eax
mov dword [ebp - 0x80], edi
jge 0x4926f5
cmp byte [ebp + 0x7b], 0
je 0x491b80
mov ebx, 0xff07
mov dword [ebp - 8], ebx
jmp 0x491b90
lea eax, [edi + edi*8]
shl eax, 4
movzx eax, byte [eax + esi + 0x20]
mov dword [ebp - 8], eax
mov ebx, eax
lea eax, [edi + edi*8]
shl eax, 4
add esi, eax
movsx eax, word [ebp - 0x44]
movsx edx, word [esi + 0x18]
xor ecx, ecx
test eax, eax
mov dword [ebp - 0x24], esi
mov dword [ebp + 0x44], edx
jle 0x491bcb
mov si, word [ebp + 0x14]
cmp si, word [ebp + ecx*4 - 0x1dc]
jne 0x491bc6
movsx esi, word [ebp + ecx*4 - 0x1da]
cmp edx, esi
je 0x491bcb
inc ecx
cmp ecx, eax
jl 0x491bac
cmp ecx, eax
jl 0x4926d9
cmp byte [ebp + 0x63], 0
jbe 0x491c30
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 0x491c24
lea esi, [ebp - 0x87f]
mov al, byte [ebp + 0x7b]
cmp al, byte [esi - 1]
jne 0x491c19
movzx eax, bl
push eax
mov eax, dword [ebp - 0x24]
add eax, 0x20
push esi
push eax
call fcn.0044422d
add esp, 0xc
test eax, eax
jne 0x491c24
inc dword [ebp - 0x30]
add esi, 0x11
cmp dword [ebp - 0x30], edi
jl 0x491bf9
cmp dword [ebp - 0x30], edi
jl 0x4926d9
mov ebx, dword [ebp - 8]
xor edi, edi
cmp byte [ebp + 0x62], 0
je 0x491c3d
cmp dword [ebp + 0x64], edi
jge 0x491c5a
cmp byte [ebp + 0x3e], 0
je 0x491cfd
cmp byte [ebp + 0x6c], 0
jne 0x491cfd
cmp dword [ebp + 0x64], edi
jle 0x491cfd
mov eax, dword [ebp + 0x44]
cmp eax, dword [ebp + 0x64]
jne 0x4926d9
cmp byte [ebp + 0x62], 0
je 0x491cf0
test bl, 0x10
jne 0x49282c
cmp ebx, 0x84
je 0x49282c
cmp ebx, 0xef
je 0x49282c
xor edi, edi
cmp byte [ebp + 0x7b], 0
je 0x491cf2
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0x44]
and ecx, 0xc0000000
xor eax, eax
or eax, ecx
je 0x491cf2
lea ecx, [ebp + 0x4c]
call fcn.00402cb5
lea ecx, [ebp + 0x5c]
call fcn.0043db4f
lea ecx, [ebp + 0x18]
call fcn.0043db4f
lea ecx, [ebp + 0x24]
call fcn.0043db4f
lea ecx, [ebp + 0x48]
call fcn.0043db4f
lea ecx, [ebp + 0x58]
call fcn.0043db4f
cmp dword [ebp + 0x50], edi
je 0x491ce9
push dword [ebp + 0x50]
call dword [sym.imp.KERNEL32.DLL_LeaveCriticalSection]
xor eax, eax
jmp 0x492b68
xor edi, edi
mov eax, dword [ebp - 0x38]
add eax, 0x186a0
mov dword [ebp + 0x30], eax
cmp byte [ebp + 0x2b], 0
je 0x491d46
mov ecx, dword [ebp - 0x24]
mov eax, dword [ecx + 8]
mov ecx, dword [ecx + 0xc]
cmp ecx, edi
jl 0x491d46
jg 0x491d16
cmp eax, edi
jbe 0x491d46
cmp dword [ebp - 0x74], eax
jne 0x491d20
cmp dword [ebp - 0x70], ecx
je 0x491d30
cmp dword [ebp - 0x88], eax
jne 0x491d46
cmp dword [ebp - 0x84], ecx
jne 0x491d46
cmp word [ebp - 0x78], di
je 0x4926d9
cmp dword [ebp + 0x44], 0
jle 0x4926d9
jmp 0x491d92
cmp dword [ebp - 0x3c], edi
jne 0x491d71
cmp ebx, edi
je 0x4926d9
cmp dword [ebp + 0x44], 0
jle 0x4926d9
cmp ebx, 5
je 0x4926d9
cmp ebx, 0xf
je 0x4926d9
xor edi, edi
cmp dword [ebp + 0x64], edi
jg 0x491dbf
mov eax, dword [ebp - 0x24]
cmp dword [eax + 0x14], edi
jg 0x491dbf
jl 0x491d89
cmp dword [eax + 0x10], 0x200
ja 0x491dbf
test bl, 0x10
je 0x4926d9
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 + 0x14]
push dword [ebp + 0x44]
push eax
mov eax, dword [ebp + 0x5c]
add eax, 0x10c000
push eax
call fcn.0044137d
add esp, 0x20
jmp 0x4926d9
inc dword [ebp - 0x94]
cmp byte [ebp + 0x6c], 0
jne 0x491dde
mov eax, dword [ebp - 0x28]
cmp eax, 1
jl 0x491dde
cmp eax, dword [ebp + 0x44]
jne 0x4926d9
xor edi, edi
cmp dword [ebp - 0x28], edi
jl 0x491dee
mov eax, dword [ebp - 0x38]
add eax, 0x3e8
mov dword [ebp + 0x30], eax
cmp byte [ebp + 0x6c], 0
jne 0x492589
cmp dword [ebp + 0x64], edi
jl 0x491e0d
mov eax, dword [ebp + 0x44]
cmp dword [ebp + 0x64], eax
jne 0x491e0d
cmp eax, edi
jg 0x492589
cmp word [ebp - 0x78], di
jne 0x4926d9
xor edi, edi
cmp dword [ebp + 0x2c], edi
jne 0x491e36
cmp dword [ebp - 0x28], edi
jge 0x491e36
mov eax, dword [ebp + 0x64]
cmp eax, edi
jle 0x491e36
cmp dword [ebp - 0x94], eax
jge 0x492707
mov esi, dword [ebp + 0x64]
or dword [ebp - 0x5c], 0xffffffff
cmp esi, edi
je 0x491e47
cmp byte [ebp + 0x62], 0
je 0x491ea9
cmp byte [ebp + 0x7b], 0
jne 0x4920bd
test bl, 0x10
jne 0x491e6a
cmp ebx, 0x84
je 0x491e6a
cmp ebx, 0xef
jne 0x4920d3
cmp byte [ebp - 0x4d], 0
je 0x491ea9
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 + 0x14]
cmp dword [eax + 4], ecx
jne 0x491ea2
mov ecx, dword [ebp + 0x44]
cmp dword [eax], ecx
jne 0x491ea2
cmp dword [eax + 0x10], edi
jg 0x4920e7
inc edx
cmp dx, 0x1a
jl 0x491e72
cmp byte [ebp + 0x3f], 0
je 0x491eb4
cmp esi, dword [ebp + 0x44]
je 0x491ecd
cmp esi, edi
jl 0x491ecd
cmp dword [ebp + 0x2c], edi
je 0x491ec2
cmp esi, dword [ebp + 0x44]
je 0x491ecd
cmp dword [ebp - 0x28], edi
jl 0x4926d9
xor edi, edi
mov byte [ebp + 0x2a], 0
mov dword [ebp - 0x6c], 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 0x491f08
cmp dword [ebp - 0x3c], 0
je 0x491f12
cmp eax, 5
jne 0x491fe4
cmp dword [ebp - 0x3c], 0
je 0x491fe4
movsx edi, word [ebp + 0x14]
cmp dword [esi + 4], edi
jne 0x491fe4
mov eax, dword [ebp + 0x44]
cmp dword [esi], eax
jne 0x491fe4
cmp dword [esi + 0x10], 0
jle 0x491fe4
cmp dword [ebp + 0x2c], 0
movzx ax, byte [esi + 0x10]
mov byte [ebp + 0x2a], 1
mov word [ebp - 0x6c], ax
je 0x491ff9
push dword [ebp - 0x30]
push dword [ebp - 0x6c]
call fcn.004419a8
mov eax, dword [ebp - 0x38]
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 0x491f8f
movzx eax, si
push eax
push dword [ebp + 0x44]
push edi
push 0x4c47f4
push 0x4d80e8
call fcn.00410a74
add esp, 0x14
cmp dword [ebp + 0xc], 0
je 0x491fa9
lea eax, [ebp - 0x10]
push eax
call dword [sym.imp.KERNEL32.DLL_DeleteVolumeMountPointW]
test eax, eax
jne 0x491fa9
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 - 0x18]
or eax, 2
push eax
call dword [sym.imp.KERNEL32.DLL_DefineDosDeviceW]
test eax, eax
jne 0x491fd5
call dword [sym.imp.KERNEL32.DLL_GetLastError]
cmp dword [ebp + 0xc], 0
je 0x491fe4
push dword [ebp + 0x34]
call fcn.004411fd
pop ecx
inc ebx
cmp bx, 0x1a
jl 0x491ed6
cmp dword [ebp + 0x2c], 0
jne 0x4926d9
cmp word [ebp - 0x5c], 0
jg 0x49204c
cmp byte [ebp + 0x62], 0
je 0x49204c
cmp byte [ebp + 0x7b], 0
jne 0x492036
test byte [ebp - 8], 0x10
jne 0x4926d9
cmp dword [ebp - 8], 0x84
je 0x4926d9
cmp dword [ebp - 8], 0xef
je 0x4926d9
cmp byte [ebp + 0x7b], 0
je 0x49204c
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0x44]
and ecx, 0xc0000000
xor eax, eax
or eax, ecx
jne 0x4926d9
mov eax, dword [ebp + 0x1c]
mov edi, dword [ebp - 0x34]
mov dword [ebp - 0x5c], eax
xor eax, eax
cmp dword [ebp + 0x10], eax
mov ebx, edi
mov dword [ebp - 8], eax
mov dword [ebp - 0x24], eax
je 0x492331
cmp byte [ebp + 0x40], al
jne 0x492076
cmp byte [ebp + 0x41], al
je 0x492109
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 0x49209e
cmp dword [ebp - 0x3c], 0
je 0x4920a4
cmp edx, 5
jne 0x4920b4
cmp dword [ebp - 0x3c], 0
je 0x4920b4
movsx edx, word [ebp + 0x14]
cmp dword [eax + 4], edx
jne 0x4920b4
mov eax, dword [eax]
cmp eax, dword [ebp + 0x44]
je 0x4920f3
inc esi
cmp si, 0x1a
jl 0x492078
jmp 0x492109
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0x44]
and ecx, 0xc0000000
xor eax, eax
or eax, ecx
jne 0x491e6a
cmp esi, edi
mov dword [ebp - 0x5c], 2
je 0x491ecd
jmp 0x491ea9
mov dword [ebp - 0x5c], 1
jmp 0x491ecd
movsx eax, si
mov edx, eax
shl edx, 4
add edx, eax
shl edx, 5
mov ax, word [edx + ecx + 0x10]
mov word [ebp - 8], ax
inc dword [ebp - 0x64]
xor esi, esi
inc esi
lea ecx, [edi - 0x41]
shl esi, cl
cmp byte [ebp - 0x19], 0
je 0x492135
cmp byte [ebp + 0x6d], 0
je 0x492146
cmp dword [ebp - 0x80], 4
jle 0x492146
inc dword [ebp - 0x64]
cmp byte [ebp + 0x6d], 1
je 0x4926d9
jmp 0x492146
cmp byte [ebp + 0x6d], 1
jne 0x492146
mov eax, dword [ebp - 0x38]
add eax, 0x3e8
mov dword [ebp + 0x30], eax
cmp byte [ebp + 0x6d], 2
mov ebx, dword [ebp - 0x6c]
jne 0x49215e
test bx, bx
je 0x49215e
cmp dword [ebp - 0x64], 1
je 0x4926d9
cmp byte [ebp + 0x40], 0
je 0x492179
cmp word [ebp - 8], 0
je 0x4926d9
test byte [ebp - 7], 0x20
jne 0x4926d9
cmp word [ebp - 0x9c], bx
je 0x4926d9
mov eax, dword [ebp - 0x34]
cmp word [ebp - 0x9c], ax
jne 0x4921a8
mov eax, dword [ebp + 0x1c]
cmp byte [eax], 0
je 0x4926d9
inc dword [ebp + 0x1c]
mov eax, dword [ebp + 0x1c]
movsx ax, byte [eax]
push dword [ebp - 0x3c]
lea ecx, [ebp + 0x1c]
push ecx
push dword [ebp - 0x44]
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.00441a31
mov ecx, dword [ebp + 0x1c]
add esp, 0x18
cmp ax, 0x5a
mov word [ebp - 0x10], ax
mov word [ebp + 0x34], ax
mov dword [ebp - 0x34], eax
mov dword [ebp], eax
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x5c], ecx
ja 0x4926d9
mov eax, ecx
cmp byte [eax], 0
je 0x492205
inc eax
mov dword [ebp + 0x1c], eax
movsx ax, byte [eax]
mov word [ebp - 0x34], ax
jmp 0x49220c
mov dword [ebp - 0x34], 0x5b
mov edi, dword [ebp]
cmp bx, di
jne 0x492232
cmp dword [ebp + 4], 0
je 0x4926d9
lea eax, [ebp - 0xd0]
push eax
push edi
call fcn.004419ea
pop ecx
pop ecx
jmp 0x4926d9
test dword [ebp - 0x48], esi
je 0x4922a4
push dword [ebp - 0x30]
push edi
call fcn.004419a8
movzx eax, di
push eax
push 0x4c8778
push 0x4d80e8
mov word [ebp - 0x10], di
mov word [ebp + 0x34], di
call fcn.00410a74
add esp, 0x14
lea eax, [ebp - 0x10]
push eax
call dword [sym.imp.KERNEL32.DLL_DeleteVolumeMountPointW]
test eax, eax
jne 0x492272
call dword [sym.imp.KERNEL32.DLL_GetLastError]
push 0
lea eax, [ebp + 0x34]
push eax
mov eax, dword [ebp - 0x4c]
or eax, dword [ebp - 0x18]
or eax, 2
push eax
call dword [sym.imp.KERNEL32.DLL_DefineDosDeviceW]
test eax, eax
jne 0x492292
call dword [sym.imp.KERNEL32.DLL_GetLastError]
cmp dword [ebp + 0xc], 0
je 0x4922a1
push dword [ebp + 0x34]
call fcn.004411fd
pop ecx
mov dword [ebp - 0x24], edi
test bx, bx
je 0x492328
push dword [ebp - 0x30]
push ebx
call fcn.004419a8
movzx esi, bx
push esi
push 0x4c8754
push 0x4d80e8
mov word [ebp - 0x10], bx
mov word [ebp + 0x34], bx
call fcn.00410a74
add esp, 0x14
lea eax, [ebp - 0x10]
push eax
call dword [sym.imp.KERNEL32.DLL_DeleteVolumeMountPointW]
test eax, eax
jne 0x4922e4
call dword [sym.imp.KERNEL32.DLL_GetLastError]
push 0
lea eax, [ebp + 0x34]
push eax
mov eax, dword [ebp - 0x4c]
or eax, dword [ebp - 0x18]
or eax, 2
push eax
call dword [sym.imp.KERNEL32.DLL_DefineDosDeviceW]
test eax, eax
jne 0x492304
call dword [sym.imp.KERNEL32.DLL_GetLastError]
cmp dword [ebp + 0xc], 0
je 0x492313
push dword [ebp + 0x34]
call fcn.004411fd
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 - 0x48], eax
mov ebx, dword [ebp - 0x80]
mov byte [ebp + 0x2a], 0
jmp 0x492334
mov edi, dword [ebp]
cmp byte [ebp + 0x2a], 0
je 0x492350
test di, di
je 0x4926d9
cmp byte [ebp + 0x42], 0
jne 0x4926d9
mov edi, dword [ebp]
xor esi, esi
cmp dword [ebp - 0x3c], esi
mov eax, 0x4c57f0
jne 0x492361
mov eax, 0x4c7c7c
movsx ecx, word [ebp + 0x44]
push ecx
movsx ecx, word [ebp + 0x14]
push ecx
push eax
push dword [ebp + 0x48]
call dword [sym.imp.USER32.DLL_wsprintfW]
add esp, 0x10
cmp di, si
je 0x492383
cmp byte [ebp + 0x60], 0
je 0x4923a4
push dword [ebp + 0x1c]
xor eax, eax
mov al, byte [ebp + 0x43]
sub al, 0x41
push eax
lea eax, [ebp - 0x48]
push 0xc
push eax
call fcn.00441258
add esp, 0x10
mov word [ebp - 0x10], ax
mov word [ebp + 0x34], ax
cmp word [ebp + 0x34], 0x41
jb 0x492865
cmp word [ebp + 0x34], 0x5a
ja 0x492865
cmp word [ebp - 0x10], si
je 0x492538
cmp di, word [ebp - 0x10]
jne 0x4923d4
cmp dword [ebp + 0x10], 0
jne 0x4923d4
mov byte [ebp + 0x60], 1
push dword [ebp + 0xc]
lea eax, [ebp - 0x10]
push dword [ebp - 0x18]
push eax
lea eax, [ebp + 0x34]
push eax
push dword [ebp + 0x48]
call fcn.00451310
add esp, 0x14
test eax, eax
je 0x4923f7
and dword [ebp - 0x20], 0
jmp 0x492400
call dword [sym.imp.KERNEL32.DLL_GetLastError]
mov dword [ebp - 0x20], eax
xor esi, esi
inc esi
test byte [ebp + 0x57], 0x10
je 0x49241a
movzx eax, word [ebp - 0x10]
push 0x32
push 2
push eax
call fcn.00413293
add esp, 0xc
xor edi, edi
cmp byte [ebp + 0x41], 0
je 0x4924ed
cmp word [ebp - 8], di
jne 0x4924ed
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 0x49249e
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 - 0x48], eax
jmp 0x4924ed
mov eax, dword [ebp - 0x5c]
mov dword [ebp + 0x1c], eax
lea eax, [ebp - 0x10]
push eax
mov dword [ebp - 0x34], ebx
mov dword [ebp], edi
xor esi, esi
call dword [sym.imp.KERNEL32.DLL_DeleteVolumeMountPointW]
test eax, eax
jne 0x4924c0
call dword [sym.imp.KERNEL32.DLL_GetLastError]
push edi
lea eax, [ebp + 0x34]
push eax
mov eax, dword [ebp - 0x4c]
or eax, dword [ebp - 0x18]
or eax, 2
push eax
call dword [sym.imp.KERNEL32.DLL_DefineDosDeviceW]
test eax, eax
jne 0x4924df
call dword [sym.imp.KERNEL32.DLL_GetLastError]
cmp dword [ebp + 0xc], edi
je 0x4924ed
push dword [ebp + 0x34]
call fcn.004411fd
pop ecx
cmp dword [ebp + 0x10], edi
je 0x492512
movzx eax, word [ebp + 0x34]
push esi
push eax
push dword [ebp + 0x44]
movsx eax, word [ebp + 0x14]
push eax
push 0x4c8724
push 0x4d80e8
call fcn.00410a74
add esp, 0x18
cmp esi, edi
je 0x492538
cmp byte [ebp + 0x6f], 0
jne 0x492522
cmp byte [ebp + 0x6d], 0
je 0x492538
cmp dword [ebp + 4], edi
je 0x492538
lea eax, [ebp - 0xd0]
push eax
push dword [ebp - 0x10]
call fcn.004419ea
pop ecx
pop ecx
mov eax, dword [ebp - 0x24]
test ax, ax
je 0x4926d9
add eax, 0xffffffbf
cmp word [ebp], 0
je 0x492554
movsx ecx, word [ebp + 0x14]
jmp 0x492557
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 0x492578
mov ecx, dword [ebp + 0x44]
jmp 0x49257b
push 0xfffffffffffffff1
pop ecx
mov dword [eax], ecx
movzx ecx, word [ebp]
mov dword [eax + 0x10], ecx
jmp 0x4926d9
movsx esi, word [ebp + 0x14]
lea eax, [ebp - 0x20]
push eax
push dword [ebp + 0x48]
mov eax, dword [ebp + 0x10]
push dword [ebp + 0xc]
shl eax, 8
or eax, dword [ebp + 0x2c]
push eax
mov eax, dword [ebp - 0x4c]
or eax, dword [ebp - 0x18]
push eax
push dword [ebp + 0x44]
mov eax, dword [ebp + 0x5c]
add eax, 0x10c000
push esi
push eax
call fcn.0044137d
add esp, 0x20
cmp word [ebp - 0x78], di
jne 0x4926d9
cmp dword [ebp + 0x2c], edi
jne 0x4928ad
cmp byte [ebp + 0x62], 0
je 0x492613
test bl, 0x10
jne 0x4926d9
cmp ebx, 0x84
je 0x4926d9
cmp ebx, 0xef
je 0x4926d9
cmp byte [ebp + 0x7b], 0
je 0x492613
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 0x44]
and edx, 0xc0000000
xor ecx, ecx
or ecx, edx
jne 0x4926d9
cmp eax, edi
je 0x49262b
cmp word [ebp], di
je 0x4928ad
cmp byte [ebp + 0x42], 0
jne 0x4928ad
movsx eax, word [ebp + 0x44]
push eax
push esi
push 0x4c7c7c
push dword [ebp + 0x48]
call dword [sym.imp.USER32.DLL_wsprintfW]
add esp, 0x10
cmp word [ebp + 0x34], di
jne 0x492669
push dword [ebp + 0x1c]
xor eax, eax
mov al, byte [ebp + 0x43]
sub al, 0x41
push eax
lea eax, [ebp - 0x48]
push 0xc
push eax
call fcn.00441258
add esp, 0x10
mov word [ebp - 0x10], ax
mov word [ebp + 0x34], ax
cmp word [ebp + 0x34], 0x41
jb 0x49291e
cmp word [ebp + 0x34], 0x5a
ja 0x49291e
cmp word [ebp - 0x10], di
je 0x4926d0
cmp dword [ebp + 0x10], edi
je 0x4926a5
movzx eax, word [ebp + 0x34]
push eax
push dword [ebp + 0x44]
push esi
push 0x4c47f4
push 0x4d80e8
call fcn.00410a74
add esp, 0x14
push dword [ebp + 0xc]
lea eax, [ebp - 0x10]
push dword [ebp - 0x18]
push eax
lea eax, [ebp + 0x34]
push eax
push dword [ebp + 0x48]
call fcn.00451310
add esp, 0x14
test eax, eax
je 0x4926c7
mov dword [ebp - 0x20], edi
jmp 0x4926d0
call dword [sym.imp.KERNEL32.DLL_GetLastError]
mov dword [ebp - 0x20], eax
cmp dword [ebp + 0x64], edi
jge 0x4928e5
inc dword [ebp + 0x30]
dec dword [ebp - 0x40]
cmp dword [ebp - 0x40], 0
jg 0x491b22
jmp 0x4926f5
inc dword [ebp - 0x7c]
cmp word [ebp - 0x7c], 0x20
jge 0x492714
lea ecx, [ebp + 0x4c]
call fcn.00402cb5
inc dword [ebp - 0x68]
xor ebx, ebx
jmp 0x4918cd
movsx eax, word [ebp + 0x14]
mov dword [ebp + 0x20], eax
mov eax, dword [ebp + 0x44]
mov dword [ebp + 0x64], eax
lea ecx, [ebp + 0x4c]
call fcn.00402cb5
mov cl, byte [ebp + 0x6d]
inc dword [ebp - 0x60]
cmp cl, 1
jne 0x49272d
mov byte [ebp + 0x6d], 2
jmp 0x49273b
cmp byte [ebp + 0x61], 1
jne 0x49274d
mov byte [ebp + 0x61], 2
mov byte [ebp + 0x6e], 0xb
lea ecx, [ebp + 0x5c]
call fcn.0043db4f
mov esi, dword [ebp + 0x58]
xor ebx, ebx
jmp 0x491753
cmp byte [ebp + 0x6f], 0
jne 0x49275b
test cl, cl
je 0x492956
cmp byte [ebp + 0x6b], 0
je 0x492956
cmp byte [ebp + 0x6f], 1
je 0x4927d1
cmp cl, 2
je 0x4927d1
cmp byte [ebp + 0x6f], 3
je 0x4927b3
cmp cl, 3
je 0x4927b3
cmp byte [ebp + 0x6f], 4
je 0x4927ad
cmp cl, 4
je 0x4927ad
cmp byte [ebp + 0x6f], 5
je 0x492795
cmp cl, 5
jne 0x492956
mov byte [ebp + 0x6e], 0xb
cmp byte [ebp + 0x6f], 0
je 0x4927a2
inc byte [ebp + 0x6f]
test cl, cl
je 0x49273b
inc cl
mov byte [ebp + 0x6d], cl
jmp 0x49273b
mov byte [ebp + 0x6e], 0xc
jmp 0x492799
cmp byte [ebp + 0x6f], 0
je 0x4927bc
inc byte [ebp + 0x6f]
test cl, cl
je 0x4927c5
inc cl
mov byte [ebp + 0x6d], cl
mov dword [ebp + 8], 1
jmp 0x49273b
xor eax, eax
xor edx, edx
cmp dword [ebp - 0x54], edx
sete al
cmp byte [ebp + 0x6f], dl
lea eax, [eax + eax + 3]
je 0x4927e7
mov byte [ebp + 0x6f], al
test cl, cl
je 0x4927ee
mov byte [ebp + 0x6d], al
cmp byte [ebp + 0x6b], 0x3f
je 0x492809
lea eax, [ebp - 0xd0]
mov dword [ebp + 0x1c], eax
movsx ax, byte [ebp - 0xd0]
mov word [ebp - 0x34], ax
cmp dword [ebp - 0x54], edx
sete al
dec al
and al, 0xf9
add al, 0xc
cmp dword [ebp - 0x54], edx
mov byte [ebp + 0x6e], al
jne 0x492824
mov dword [ebp + 8], 1
mov dword [ebp + 4], edx
jmp 0x49273b
lea ecx, [ebp + 0x4c]
call fcn.00402cb5
lea ecx, [ebp + 0x5c]
call fcn.0043db4f
lea ecx, [ebp + 0x18]
call fcn.0043db4f
lea ecx, [ebp + 0x24]
call fcn.0043db4f
lea ecx, [ebp + 0x48]
call fcn.0043db4f
lea ecx, [ebp + 0x58]
call fcn.0043db4f
cmp dword [ebp + 0x50], 0
jmp 0x491cde
lea ecx, [ebp + 0x4c]
call fcn.00402cb5
lea ecx, [ebp + 0x5c]
call fcn.0043db4f
lea ecx, [ebp + 0x18]
call fcn.0043db4f
lea ecx, [ebp + 0x24]
call fcn.0043db4f
lea ecx, [ebp + 0x48]
call fcn.0043db4f
lea ecx, [ebp + 0x58]
call fcn.0043db4f
cmp dword [ebp + 0x50], esi
je 0x4928a3
push dword [ebp + 0x50]
call dword [sym.imp.KERNEL32.DLL_LeaveCriticalSection]
mov eax, 0x80070057
jmp 0x492b68
lea ecx, [ebp + 0x4c]
call fcn.00402cb5
lea ecx, [ebp + 0x5c]
call fcn.0043db4f
lea ecx, [ebp + 0x18]
call fcn.0043db4f
lea ecx, [ebp + 0x24]
call fcn.0043db4f
lea ecx, [ebp + 0x48]
call fcn.0043db4f
lea ecx, [ebp + 0x58]
call fcn.0043db4f
cmp dword [ebp + 0x50], edi
jmp 0x492b5a
lea ecx, [ebp + 0x4c]
call fcn.00402cb5
lea ecx, [ebp + 0x5c]
call fcn.0043db4f
lea ecx, [ebp + 0x18]
call fcn.0043db4f
lea ecx, [ebp + 0x24]
call fcn.0043db4f
lea ecx, [ebp + 0x48]
call fcn.0043db4f
lea ecx, [ebp + 0x58]
call fcn.0043db4f
cmp dword [ebp + 0x50], 0
jmp 0x492b5a
lea ecx, [ebp + 0x4c]
call fcn.00402cb5
lea ecx, [ebp + 0x5c]
call fcn.0043db4f
lea ecx, [ebp + 0x18]
call fcn.0043db4f
lea ecx, [ebp + 0x24]
call fcn.0043db4f
lea ecx, [ebp + 0x48]
call fcn.0043db4f
lea ecx, [ebp + 0x58]
call fcn.0043db4f
cmp dword [ebp + 0x50], edi
jmp 0x492898
xor esi, esi
cmp dword [ebp + 0x64], esi
jle 0x492b2f
cmp dword [ebp - 0x28], esi
jge 0x492b2f
cmp dword [ebp + 0x2c], esi
jne 0x492b2f
cmp byte [ebp + 0x6c], 0
jne 0x492b2f
cmp byte [ebp + 0x3f], 0
jne 0x492b2f
lea ecx, [ebp + 0x5c]
call fcn.0043db4f
mov esi, dword [ebp + 0x58]
xor ebx, ebx
cmp dword [ebp + 0x2c], ebx
jne 0x4929d9
cmp dword [ebp + 0x20], ebx
jl 0x4929a3
cmp dword [ebp + 0x64], ebx
jg 0x4929d9
lea ecx, [ebp + 0x18]
call fcn.0043db4f
lea ecx, [ebp + 0x24]
call fcn.0043db4f
lea ecx, [ebp + 0x48]
call fcn.0043db4f
lea ecx, [ebp + 0x58]
call fcn.0043db4f
cmp dword [ebp + 0x50], ebx
je 0x4929d1
push dword [ebp + 0x50]
call dword [sym.imp.KERNEL32.DLL_LeaveCriticalSection]
xor eax, eax
inc eax
jmp 0x492b68
cmp dword [ebp + 0x20], ebx
jl 0x492a01
cmp dword [ebp + 0x64], ebx
jle 0x492a01
movsx eax, word [ebp + 0x64]
mov edi, dword [ebp + 0x48]
push eax
movsx eax, word [ebp + 0x20]
push eax
push 0x4c7c7c
push edi
call dword [sym.imp.USER32.DLL_wsprintfW]
add esp, 0x10
jmp 0x492a04
mov edi, dword [ebp + 0x48]
mov word [esi + 2], 0x3a
mov ax, word [esi]
cmp ax, 0x2c
jne 0x492a1a
mov word [esi], 0xff0c
jmp 0x492a3f
cmp ax, 0x3b
jne 0x492a27
mov word [esi], 0xff1b
jmp 0x492a3f
cmp ax, 0x3a
jne 0x492a34
mov word [esi], 0xff1a
jmp 0x492a3f
cmp ax, 0x3d
jne 0x492a3f
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 0x492acd
cmp dword [ebp + 0x2c], ebx
jne 0x492acd
push dword [ebp + 0xc]
mov eax, dword [ebp - 0x4c]
or eax, dword [ebp - 0x18]
push eax
push esi
lea eax, [ebp - 0x90]
push eax
push edi
call fcn.00451310
add esp, 0x14
cmp eax, ebx
je 0x492a90
xor esi, esi
jmp 0x492a98
call dword [sym.imp.KERNEL32.DLL_GetLastError]
mov esi, eax
lea ecx, [ebp + 0x18]
call fcn.0043db4f
lea ecx, [ebp + 0x24]
call fcn.0043db4f
lea ecx, [ebp + 0x48]
call fcn.0043db4f
lea ecx, [ebp + 0x58]
call fcn.0043db4f
cmp dword [ebp + 0x50], ebx
je 0x492ac6
push dword [ebp + 0x50]
call dword [sym.imp.KERNEL32.DLL_LeaveCriticalSection]
mov eax, esi
jmp 0x492b68
cmp dword [ebp + 0xc], ebx
je 0x492ae3
push esi
call dword [sym.imp.KERNEL32.DLL_DeleteVolumeMountPointW]
test eax, eax
jne 0x492ae3
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 - 0x18]
or eax, 2
push eax
call dword [sym.imp.KERNEL32.DLL_DefineDosDeviceW]
test eax, eax
je 0x492b0d
xor esi, esi
jmp 0x492b15
call dword [sym.imp.KERNEL32.DLL_GetLastError]
mov esi, eax
cmp dword [ebp + 0xc], ebx
je 0x492a98
push dword [ebp - 0x90]
call fcn.004411fd
pop ecx
jmp 0x492a98
lea ecx, [ebp + 0x5c]
call fcn.0043db4f
lea ecx, [ebp + 0x18]
call fcn.0043db4f
lea ecx, [ebp + 0x24]
call fcn.0043db4f
lea ecx, [ebp + 0x48]
call fcn.0043db4f
lea ecx, [ebp + 0x58]
call fcn.0043db4f
cmp dword [ebp + 0x50], esi
je 0x492b65
push dword [ebp + 0x50]
call dword [sym.imp.KERNEL32.DLL_LeaveCriticalSection]
mov eax, dword [ebp - 0x20]
pop edi
pop esi
pop ebx
add ebp, 0x70
leave
ret 8