Function at 0x41b7a3
Capabilities:
Get disk information
Set current directory

Disassembly:
mov eax, 0x45fed7
call fcn.0042c2e0
sub esp, 0x214
push ebx
push esi
mov esi, ecx
push edi
lea ecx, [ebp - 0x28]
call fcn.0043c566
and dword [ebp - 4], 0
lea ecx, [ebp - 0x50]
call fcn.0043c566
push 1
lea ecx, [ebp - 0x20]
pop ebx
mov byte [ebp - 4], bl
call fcn.0043c566
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 2
call fcn.0043c566
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 3
call fcn.0043c566
mov edi, dword [ebp + 8]
and dword [ebp - 0x54], 0
mov byte [ebp - 4], 4
mov dword [ebp - 0x60], ebx
mov eax, dword [edi]
cmp dword [eax - 8], 0
je 0x41bb72
push edi
lea ecx, [ebp - 0x14]
call fcn.0043c576
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 5
call fcn.0043c566
mov eax, dword [ebp - 0x14]
mov byte [ebp - 4], 6
cmp byte [eax], 0x22
jne 0x41b8bb
push 0x47a7c8
lea ecx, [ebp + 8]
call fcn.0043c71f
lea eax, [ebp + 8]
push ebx
push eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x3c]
push eax
mov byte [ebp - 4], 7
call fcn.00428e12
add esp, 0x10
push eax
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 8
call fcn.0043c7aa
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 7
call fcn.0043c6b1
lea ecx, [ebp + 8]
mov byte [ebp - 4], 6
call fcn.0043c6b1
mov ecx, dword [ebp - 0x44]
mov eax, dword [ecx - 8]
test eax, eax
je 0x41b8bb
mov edx, dword [ebp - 0x14]
mov edx, dword [edx - 8]
add edx, 0xfffffffe
cmp edx, eax
jle 0x41b8c4
push eax
lea eax, [ebp + 8]
push eax
lea ecx, [ebp - 0x14]
call fcn.0043a78d
push eax
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 9
call fcn.0043c7aa
lea ecx, [ebp + 8]
mov byte [ebp - 4], 6
call fcn.0043c6b1
jmp 0x41b8c4
push edi
lea ecx, [ebp - 0x44]
call fcn.0043c7aa
lea eax, [ebp - 0x44]
lea ecx, [ebp - 0x14]
push eax
call fcn.0043c7aa
lea ecx, [ebp - 0x10]
call fcn.0043c566
lea eax, [ebp + 8]
push 8
push eax
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0xa
call fcn.0043a8b8
push eax
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 0xb
call fcn.0043c7aa
lea ecx, [ebp + 8]
mov byte [ebp - 4], 0xa
call fcn.0043c6b1
push str._UNC_
push dword [ebp - 0x10]
call fcn.0042c400
pop ecx
mov ebx, 0x47a7b8
test eax, eax
pop ecx
jne 0x41b966
push ebx
lea ecx, [ebp - 0x14]
call fcn.0043c7f9
lea eax, [ebp - 0x3c]
push 8
push eax
lea ecx, [ebp - 0x44]
call fcn.0043a78d
push eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp + 8]
push eax
mov byte [ebp - 4], 0xc
call fcn.0043c8a0
push eax
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0xd
call fcn.0043c7aa
lea ecx, [ebp + 8]
mov byte [ebp - 4], 0xc
call fcn.0043c6b1
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x3c]
jmp 0x41b9c1
push 4
lea ecx, [ebp + 8]
push dword [ebp - 0x44]
call fcn.0043a757
push eax
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 0xe
call fcn.0043c7aa
lea ecx, [ebp + 8]
mov byte [ebp - 4], 0xa
call fcn.0043c6b1
push 0x47a7b0
push dword [ebp - 0x10]
call fcn.0042c300
pop ecx
test eax, eax
pop ecx
jne 0x41b9c6
lea eax, [ebp + 8]
push 4
push eax
lea ecx, [ebp - 0x44]
call fcn.0043a78d
push eax
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0xf
call fcn.0043c7aa
mov byte [ebp - 4], 0xa
lea ecx, [ebp + 8]
call fcn.0043c6b1
push 2
lea eax, [ebp + 8]
push 1
push eax
lea ecx, [ebp - 0x14]
call fcn.0043a7b0
push eax
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 0x10
call fcn.0043c7aa
lea ecx, [ebp + 8]
mov byte [ebp - 4], 0xa
call fcn.0043c6b1
push 0x47a7ac
push dword [ebp - 0x10]
call fcn.0042c300
pop ecx
mov edi, 0x47a7a8
test eax, eax
pop ecx
jne 0x41ba6f
mov eax, dword [ebp - 0x14]
movsx eax, byte [eax]
push eax
call fcn.0042cb50
test eax, eax
pop ecx
je 0x41bb4e
lea eax, [ebp + 8]
push 2
push eax
lea ecx, [ebp - 0x14]
call fcn.0043a8b8
push eax
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x11
call fcn.0043c7aa
lea ecx, [ebp + 8]
mov byte [ebp - 4], 0xa
call fcn.0043c6b1
lea eax, [ebp + 8]
push 2
push eax
lea ecx, [ebp - 0x14]
call fcn.0043a78d
push eax
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x12
call fcn.0043c7aa
lea ecx, [ebp + 8]
mov byte [ebp - 4], 0xa
call fcn.0043c6b1
jmp 0x41bc26
lea eax, [ebp + 8]
push 2
push eax
lea ecx, [ebp - 0x14]
call fcn.0043a8b8
push eax
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 0x13
call fcn.0043c7aa
lea ecx, [ebp + 8]
mov byte [ebp - 4], 0xa
call fcn.0043c6b1
push ebx
push dword [ebp - 0x10]
call fcn.0042c300
pop ecx
test eax, eax
pop ecx
jne 0x41bc13
push ebx
lea ecx, [ebp - 0x28]
call fcn.0043c7f9
lea eax, [ebp + 8]
push 2
push eax
lea ecx, [ebp - 0x14]
call fcn.0043a78d
push eax
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 0x14
call fcn.0043c7aa
lea ecx, [ebp + 8]
mov byte [ebp - 4], 0xa
call fcn.0043c6b1
push edi
lea ecx, [ebp - 0x10]
call fcn.0043cb59
cmp eax, 0xffffffff
je 0x41bb4e
test eax, eax
je 0x41bb4e
lea ebx, [eax + 1]
lea eax, [ebp + 8]
push ebx
push eax
lea ecx, [ebp - 0x10]
call fcn.0043a8b8
push eax
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x15
call fcn.0043ca89
lea ecx, [ebp + 8]
mov byte [ebp - 4], 0xa
call fcn.0043c6b1
lea eax, [ebp + 8]
push ebx
push eax
lea ecx, [ebp - 0x10]
call fcn.0043a78d
push eax
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 0x16
call fcn.0043c7aa
lea ecx, [ebp + 8]
mov byte [ebp - 4], 0xa
call fcn.0043c6b1
push edi
lea ecx, [ebp - 0x10]
call fcn.0043cb59
mov edi, eax
cmp edi, 0xffffffff
je 0x41bb4e
test edi, edi
jne 0x41bbb5
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 6
call fcn.0043c6b1
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 5
call fcn.0043c6b1
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 4
call fcn.0043c6b1
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 3
call fcn.0043c6b1
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 2
call fcn.0043c6b1
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 1
call fcn.0043c6b1
and byte [ebp - 4], 0
lea ecx, [ebp - 0x50]
call fcn.0043c6b1
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
call fcn.0043c6b1
xor eax, eax
jmp 0x41d0c6
lea eax, [ebp + 8]
push edi
push eax
lea ecx, [ebp - 0x10]
call fcn.0043a8b8
push eax
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x17
call fcn.0043ca89
lea ecx, [ebp + 8]
mov byte [ebp - 4], 0xa
call fcn.0043c6b1
lea eax, [ebp + 8]
push edi
push eax
lea ecx, [ebp - 0x10]
call fcn.0043a78d
push eax
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x18
call fcn.0043c7aa
lea ecx, [ebp + 8]
mov byte [ebp - 4], 0xa
call fcn.0043c6b1
and dword [ebp - 0x60], 0
mov dword [ebp - 0x54], 1
mov ebx, 0x47a7b8
jmp 0x41bc2d
mov eax, dword [ebp - 0x14]
cmp dword [eax - 8], 0
je 0x41bc2d
mov al, byte [eax]
cmp al, 0x5c
je 0x41bc26
cmp al, 0x2f
jne 0x41bc2d
mov dword [ebp - 0x54], 1
xor eax, eax
cmp dword [ebp - 0x54], eax
mov dword [ebp - 0x64], eax
je 0x41bd81
mov ecx, dword [ebp - 0x28]
cmp dword [ecx - 8], eax
je 0x41bd81
mov ecx, dword [esi + 4]
push dword [esi + 0xc]
mov eax, dword [ecx]
call dword [eax + 0x20]
mov edi, eax
mov ecx, edi
call fcn.0041e947
mov eax, dword [edi + 4]
test eax, eax
mov dword [ebp - 0x64], eax
je 0x41bcbd
mov ecx, dword [esi + 4]
push eax
mov edx, dword [ecx]
call dword [edx + 0x20]
mov edi, eax
mov ecx, edi
call fcn.0041e947
lea ecx, [ebp + 8]
push ecx
mov ecx, dword [eax + 4]
call fcn.0041e0db
push eax
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 0x19
call fcn.0043c7aa
lea ecx, [ebp + 8]
mov byte [ebp - 4], 0xa
call fcn.0043c6b1
push dword [ebp - 0x10]
push dword [ebp - 0x28]
call fcn.0042c400
pop ecx
test eax, eax
pop ecx
je 0x41bcb2
mov eax, dword [edi + 8]
jmp 0x41bc5e
mov eax, dword [ebp - 0x64]
test eax, eax
jne 0x41bd81
cmp dword [ebp - 0x60], 0
jne 0x41bd81
lea eax, [ebp + 8]
push 2
push eax
lea ecx, [ebp - 0x28]
call fcn.0043a8b8
push eax
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 0x1a
call fcn.0043c7aa
lea ecx, [ebp + 8]
mov byte [ebp - 4], 0xa
call fcn.0043c6b1
push ebx
push dword [ebp - 0x10]
call fcn.0042c300
pop ecx
test eax, eax
pop ecx
jne 0x41bd81
mov ecx, dword [esi + 4]
lea edx, [ebp - 0x64]
push edx
mov eax, dword [ecx]
push dword [esi + 0xc]
call dword [eax + 0x14]
mov ecx, dword [esi + 4]
push dword [ebp - 0x64]
mov eax, dword [ecx]
call dword [eax + 0x20]
mov ecx, eax
call fcn.0041e947
mov edi, eax
push 0xffffffffffffffff
push 2
mov ecx, edi
call fcn.00403825
mov ebx, dword [edi + 4]
lea eax, [ebp - 0x28]
push eax
mov ecx, ebx
call fcn.0041e076
push 0x80a
mov ecx, ebx
call fcn.0041e106
push 0xf02
mov ecx, ebx
call fcn.0041e117
push str.Network_drive
lea ecx, [ebp + 8]
call fcn.0043c71f
mov ecx, dword [edi + 4]
lea eax, [ebp + 8]
push eax
add ecx, 0x18
mov byte [ebp - 4], 0x1b
call fcn.0041e076
lea ecx, [ebp + 8]
mov byte [ebp - 4], 0xa
call fcn.0043c6b1
lea ecx, [ebp - 0x80]
call fcn.0043c566
push str.:____
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0x1c
call fcn.0043c71f
push dword [ebp - 0x68]
lea eax, [ebp + 8]
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x1d
push eax
call fcn.0043a959
push eax
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 0x1e
call fcn.0043c7aa
lea ecx, [ebp + 8]
mov byte [ebp - 4], 0x1d
call fcn.0043c6b1
mov eax, dword [ebp - 0x80]
lea ecx, [ebp - 0x14]
mov edi, dword [eax - 8]
lea eax, [ebp - 0x3c]
push edi
push eax
call fcn.0043a78d
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0x1f
push ecx
push eax
lea eax, [ebp + 8]
push eax
call fcn.0043c8a0
push eax
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0x20
call fcn.0043c7aa
lea ecx, [ebp + 8]
mov byte [ebp - 4], 0x1f
call fcn.0043c6b1
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0x1d
call fcn.0043c6b1
lea eax, [ebp - 0x80]
lea ecx, [ebp - 0x14]
push eax
call fcn.0043c7aa
mov eax, dword [ebp - 0x14]
xor ebx, ebx
mov dword [ebp - 0x18], ebx
cmp dword [eax - 8], ebx
jne 0x41be3d
cmp dword [ebp - 0x54], ebx
je 0x41cf44
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x18], eax
jmp 0x41cf44
cmp dword [ebp - 0x64], ebx
je 0x41c860
lea ecx, [ebp - 0xd0]
call fcn.0043b944
push 0x10
push 0x10
lea ecx, [ebp - 0xd0]
mov byte [ebp - 4], 0x21
call fcn.0043b9dd
push edi
lea ecx, [ebp - 0x14]
call fcn.0043caa1
push 0x47a7a8
lea ecx, [ebp - 0x68]
mov ebx, eax
call fcn.0043c7f9
and dword [ebp + 8], 0
and dword [ebp - 0x40], 0
test edi, edi
jle 0x41bf3e
push dword [ebp - 0x68]
push ebx
call fcn.0042caa0
pop ecx
mov dword [ebp - 0x2c], eax
pop ecx
push eax
lea eax, [ebp - 0x3c]
push dword [ebp + 8]
lea ecx, [ebp - 0x14]
push eax
call fcn.0043a7b0
push dword [eax]
lea ecx, [ebp - 0xd0]
mov byte [ebp - 4], 0x22
push dword [ebp - 0x40]
call fcn.0043bb30
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0x21
call fcn.0043c6b1
mov eax, dword [ebp - 0x2c]
inc dword [ebp - 0x40]
add dword [ebp + 8], eax
push eax
push ebx
call fcn.0042ca80
cmp dword [ebp + 8], edi
pop ecx
pop ecx
mov ebx, eax
jge 0x41bf3e
push dword [ebp - 0x68]
push ebx
call fcn.0042c9d0
pop ecx
mov dword [ebp - 0x2c], eax
pop ecx
push eax
lea eax, [ebp - 0x6c]
push dword [ebp + 8]
lea ecx, [ebp - 0x14]
push eax
call fcn.0043a7b0
push dword [eax]
lea ecx, [ebp - 0xd0]
mov byte [ebp - 4], 0x23
push dword [ebp - 0x40]
call fcn.0043bb30
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 0x21
call fcn.0043c6b1
mov eax, dword [ebp - 0x2c]
inc dword [ebp - 0x40]
add dword [ebp + 8], eax
push eax
push ebx
call fcn.0042ca80
cmp dword [ebp + 8], edi
pop ecx
pop ecx
mov ebx, eax
jl 0x41be8c
mov eax, dword [ebp - 0x40]
inc dword [ebp - 0x40]
push 0x47f4d0
push eax
lea ecx, [ebp - 0xd0]
call fcn.0043bb30
cmp dword [ebp - 0x40], 2
jl 0x41c846
lea ecx, [ebp - 0x30]
call fcn.0043c566
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0x24
call fcn.0043c566
lea eax, [ebp - 0x28]
lea ecx, [ebp - 0x48]
push eax
mov byte [ebp - 4], 0x25
call fcn.0043c576
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0x26
call fcn.0043c566
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0x27
call fcn.0043c566
push 1
lea ecx, [ebp - 0x48]
pop edi
mov byte [ebp - 4], 0x28
push dword [ebp - 0xcc]
mov dword [ebp + 8], edi
call fcn.0043ca89
push str.______________
lea ecx, [ebp - 0x68]
call fcn.0043c7f9
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x70], edi
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x38], eax
xor ebx, ebx
mov eax, dword [ebp + 8]
mov edi, dword [ebp - 0x40]
cmp eax, edi
jge 0x41c7fd
mov ecx, dword [ebp - 0xcc]
lea eax, [ecx + eax*4]
lea ecx, [ebp - 0x58]
push eax
call fcn.0043c7aa
lea eax, [ebp - 0x58]
lea ecx, [ebp - 0x30]
push eax
call fcn.0043c7aa
lea ecx, [ebp - 0x30]
call fcn.0043ad11
lea ecx, [ebp - 0x30]
call fcn.0043acc8
lea eax, [ebp - 0x30]
lea ecx, [ebp - 0x34]
push eax
call fcn.0043c7aa
lea ecx, [ebp - 0x34]
call fcn.0043cb8a
mov eax, dword [ebp - 0x30]
mov eax, dword [eax - 8]
cmp eax, ebx
mov dword [ebp - 0x2c], eax
jle 0x41c7eb
mov ecx, dword [esi + 4]
push dword [ebp - 0x38]
mov eax, dword [ecx]
call dword [eax + 0x20]
mov eax, dword [eax + 4]
mov dword [ebp - 0x3c], eax
jmp 0x41c045
mov eax, dword [ebp - 0x3c]
cmp eax, ebx
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x54], ebx
je 0x41c362
mov ecx, dword [esi + 4]
push dword [ebp - 0x1c]
mov eax, dword [ecx]
call dword [eax + 0x20]
mov ecx, eax
mov dword [ebp - 0x6c], ecx
call fcn.0041e947
mov edi, eax
lea eax, [ebp - 0xdc]
push eax
mov ebx, dword [edi + 4]
mov ecx, ebx
call fcn.0041e0db
push eax
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 0x29
call fcn.0043c7aa
lea ecx, [ebp - 0xdc]
mov byte [ebp - 4], 0x28
call fcn.0043c6b1
push dword [ebp - 0x30]
push dword [ebp - 0x10]
call fcn.0042c400
pop ecx
test eax, eax
pop ecx
je 0x41c1f1
cmp dword [edi + 8], 1
jle 0x41c0ed
mov ecx, dword [edi + 4]
lea eax, [ebp - 0xe0]
push eax
add ecx, 0x18
call fcn.0041e0db
push eax
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 0x2a
call fcn.0043c7aa
lea ecx, [ebp - 0xe0]
mov byte [ebp - 4], 0x28
call fcn.0043c6b1
push dword [ebp - 0x30]
push dword [ebp - 0x10]
call fcn.0042c400
pop ecx
pop ecx
test eax, eax
je 0x41c1f1
cmp dword [ebp + 0x10], 0xf0b
jne 0x41c166
lea eax, [ebp - 0xd4]
mov ecx, ebx
push eax
call fcn.0041e0db
push eax
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 0x2b
call fcn.0043c7aa
lea ecx, [ebp - 0xd4]
mov byte [ebp - 4], 0x28
call fcn.0043c6b1
lea eax, [ebp - 0x30]
push str..EXE
push eax
lea eax, [ebp - 0xd8]
push eax
call fcn.0043c906
push eax
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0x2c
call fcn.0043c7aa
lea ecx, [ebp - 0xd8]
mov byte [ebp - 4], 0x28
call fcn.0043c6b1
push dword [ebp - 0x4c]
push dword [ebp - 0x10]
call fcn.0042c400
pop ecx
pop ecx
test eax, eax
je 0x41c1f1
cmp dword [ebp + 0x10], 0xf0b
jne 0x41c1e9
cmp dword [edi + 8], 1
jle 0x41c1e9
mov ecx, dword [edi + 4]
lea eax, [ebp - 0x9c]
push eax
add ecx, 0x18
call fcn.0041e0db
push eax
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 0x2d
call fcn.0043c7aa
lea ecx, [ebp - 0x9c]
mov byte [ebp - 4], 0x28
call fcn.0043c6b1
lea eax, [ebp - 0x30]
push str..EXE
push eax
lea eax, [ebp - 0xb0]
push eax
call fcn.0043c906
push eax
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0x2e
call fcn.0043c7aa
lea ecx, [ebp - 0xb0]
mov byte [ebp - 4], 0x28
call fcn.0043c6b1
push dword [ebp - 0x4c]
push dword [ebp - 0x10]
call fcn.0042c400
pop ecx
pop ecx
test eax, eax
jne 0x41c34d
mov ecx, ebx
call fcn.0041e123
movzx eax, ax
cmp eax, 0xf06
je 0x41c30a
cmp eax, 0xf07
je 0x41c30a
mov eax, dword [ebp - 0x1c]
push dword [ebp - 0x38]
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0xa8]
push eax
mov ecx, esi
call fcn.0041d670
push eax
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0x2f
call fcn.0043c7aa
lea ecx, [ebp - 0xa8]
mov byte [ebp - 4], 0x28
call fcn.0043c6b1
lea eax, [ebp - 0x10]
lea ecx, [ebp - 0x20]
push eax
call fcn.0043c7aa
lea ecx, [ebp - 0x84]
call fcn.0043c566
push dword [ebp - 0x2c]
lea eax, [ebp - 0xb8]
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0x30
push eax
call fcn.0043a78d
push eax
lea ecx, [ebp - 0x84]
mov byte [ebp - 4], 0x31
call fcn.0043c7aa
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 0x30
call fcn.0043c6b1
inc dword [ebp + 8]
mov edi, dword [ebp - 0x40]
cmp dword [ebp + 8], edi
jge 0x41c2ba
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xcc]
shl eax, 2
inc dword [ebp + 8]
add ecx, eax
push ecx
lea ecx, [ebp - 0x84]
call fcn.0043ca89
jmp 0x41c296
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x84]
push eax
lea eax, [ebp - 0x8c]
push eax
call fcn.0043c8a0
push eax
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0x32
call fcn.0043c7aa
lea ecx, [ebp - 0x8c]
mov byte [ebp - 4], 0x30
call fcn.0043c6b1
and dword [ebp - 0x70], 0
and dword [ebp - 0x1c], 0
or dword [ebp - 0x2c], 0xffffffff
lea ecx, [ebp - 0x84]
mov byte [ebp - 4], 0x28
call fcn.0043c6b1
jmp 0x41c356
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xcc]
inc dword [ebp + 8]
lea eax, [ecx + eax*4]
lea ecx, [ebp - 0x48]
push eax
call fcn.0043ca89
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xcc]
inc dword [ebp + 8]
lea eax, [ecx + eax*4]
lea ecx, [ebp - 0x48]
push eax
call fcn.0043ca89
mov eax, dword [ebp - 0x1c]
and dword [ebp - 0x1c], 0
or dword [ebp - 0x2c], 0xffffffff
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x38], eax
jmp 0x41c356
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax + 8]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jne 0x41c053
xor ebx, ebx
mov eax, dword [ebp - 0x54]
cmp eax, ebx
jne 0x41c7d9
cmp dword [ebp - 0x18], ebx
jne 0x41c7d9
push dword [ebp - 0x48]
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
cmp eax, ebx
jne 0x41c3b9
push dword [ebp - 0x38]
lea eax, [ebp - 0x90]
mov ecx, esi
push eax
call fcn.0041d670
push eax
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0x33
call fcn.0043c7aa
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], 0x28
call fcn.0043c6b1
or dword [ebp - 0x2c], 0xffffffff
jmp 0x41c7cb
mov edi, dword [sym.imp.KERNEL32.dll_FindFirstFileA]
lea eax, [ebp - 0x220]
push eax
push dword [ebp - 0x30]
call edi
cmp eax, 0xffffffff
mov dword [ebp - 0x6c], eax
jne 0x41c425
cmp dword [ebp + 0x10], 0xf0b
jne 0x41c41c
lea eax, [ebp - 0x30]
push str..EXE
push eax
lea eax, [ebp - 0x94]
push eax
call fcn.0043c906
push eax
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0x34
call fcn.0043c7aa
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 0x28
call fcn.0043c6b1
lea eax, [ebp - 0x220]
push eax
push dword [ebp - 0x4c]
call edi
mov dword [ebp - 0x6c], eax
cmp eax, 0xffffffff
je 0x41c6fa
mov ecx, dword [esi + 4]
lea edx, [ebp - 0x60]
push edx
mov eax, dword [ecx]
push dword [ebp - 0x38]
call dword [eax + 0x14]
mov ecx, dword [esi + 4]
push dword [ebp - 0x60]
mov eax, dword [ecx]
call dword [eax + 0x20]
mov ecx, eax
call fcn.0041e947
mov edi, eax
push 0xffffffffffffffff
push 1
mov ecx, edi
call fcn.00403825
mov ebx, dword [edi + 4]
lea eax, [ebp - 0x1f4]
push eax
lea ecx, [ebp - 0x74]
call fcn.0043c71f
lea eax, [ebp - 0x74]
mov ecx, ebx
push eax
mov byte [ebp - 4], 0x35
call fcn.0041e076
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0x28
call fcn.0043c6b1
mov eax, dword [ebp - 0x220]
and eax, 0x10
test al, al
je 0x41c56e
push 0x80b
mov ecx, ebx
call fcn.0041e106
push 0xf06
mov ecx, ebx
call fcn.0041e117
lea eax, [ebp - 0x1f4]
lea ecx, [ebp - 0x20]
push eax
call fcn.0043c7f9
cmp byte [ebp - 0xf0], 0
je 0x41c529
lea eax, [ebp - 0xf0]
push eax
push dword [ebp - 0x20]
call fcn.0042c400
pop ecx
test eax, eax
pop ecx
je 0x41c529
push 0xffffffffffffffff
push 2
mov ecx, edi
call fcn.00403825
mov edi, dword [edi + 4]
lea eax, [ebp - 0xf0]
push eax
lea ecx, [ebp - 0x7c]
add edi, 0x18
call fcn.0043c71f
lea eax, [ebp - 0x7c]
mov ecx, edi
push eax
mov byte [ebp - 4], 0x36
call fcn.0041e076
lea ecx, [ebp - 0x7c]
mov byte [ebp - 4], 0x28
call fcn.0043c6b1
push 0x80b
mov ecx, edi
call fcn.0041e106
push 0xf0a
mov ecx, edi
call fcn.0041e117
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0xcc]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x38], eax
mov eax, dword [ebp + 8]
inc dword [ebp + 8]
lea eax, [ecx + eax*4]
lea ecx, [ebp - 0x48]
push eax
call fcn.0043ca89
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xcc]
inc dword [ebp + 8]
lea eax, [ecx + eax*4]
lea ecx, [ebp - 0x48]
push eax
call fcn.0043ca89
or dword [ebp - 0x2c], 0xffffffff
jmp 0x41c6ea
push 0x80c
mov ecx, ebx
call fcn.0041e106
push 0xf09
mov ecx, ebx
call fcn.0041e117
push dword [ebp - 0x38]
lea eax, [ebp - 0x98]
mov ecx, esi
push eax
call fcn.0041d670
push eax
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0x37
call fcn.0043c7aa
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x28
call fcn.0043c6b1
lea eax, [ebp - 0x30]
lea ecx, [ebp - 0x20]
push eax
call fcn.0043c7aa
cmp byte [ebp - 0xf0], 0
je 0x41c630
lea eax, [ebp - 0xf0]
push eax
push dword [ebp - 0x20]
call fcn.0042c400
pop ecx
test eax, eax
pop ecx
je 0x41c630
push 0xffffffffffffffff
push 2
mov ecx, edi
call fcn.00403825
mov edi, dword [edi + 4]
lea eax, [ebp - 0xf0]
push eax
lea ecx, [ebp - 0x78]
add edi, 0x18
call fcn.0043c71f
lea eax, [ebp - 0x78]
mov ecx, edi
push eax
mov byte [ebp - 4], 0x38
call fcn.0041e076
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0x28
call fcn.0043c6b1
push 0x80c
mov ecx, edi
call fcn.0041e106
push 0xf0a
mov ecx, edi
call fcn.0041e117
lea ecx, [ebp - 0x88]
call fcn.0043c566
push dword [ebp - 0x2c]
lea eax, [ebp - 0xa4]
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0x39
push eax
call fcn.0043a78d
push eax
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 0x3a
call fcn.0043c7aa
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 0x39
call fcn.0043c6b1
inc dword [ebp + 8]
mov edi, dword [ebp - 0x40]
cmp dword [ebp + 8], edi
jge 0x41c69a
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xcc]
shl eax, 2
inc dword [ebp + 8]
add ecx, eax
push ecx
lea ecx, [ebp - 0x88]
call fcn.0043ca89
jmp 0x41c676
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x88]
push eax
lea eax, [ebp - 0xac]
push eax
call fcn.0043c8a0
push eax
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0x3b
call fcn.0043c7aa
lea ecx, [ebp - 0xac]
mov byte [ebp - 4], 0x39
call fcn.0043c6b1
mov eax, dword [ebp - 0x60]
and dword [ebp - 0x70], 0
or dword [ebp - 0x2c], 0xffffffff
lea ecx, [ebp - 0x88]
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0x28
call fcn.0043c6b1
push dword [ebp - 0x6c]
call dword [sym.imp.KERNEL32.dll_FindClose]
xor ebx, ebx
jmp 0x41c7e0
push dword [ebp - 0x68]
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x70], ebx
call fcn.0043cb59
cmp eax, ebx
mov dword [ebp - 0x2c], eax
jl 0x41c79e
mov eax, dword [ebp - 0x30]
inc dword [ebp - 0x2c]
lea ecx, [ebp - 0x30]
mov eax, dword [eax - 8]
sub eax, dword [ebp - 0x2c]
push eax
lea eax, [ebp - 0xb4]
push eax
call fcn.0043a8b8
push eax
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0x3c
call fcn.0043c7aa
lea ecx, [ebp - 0xb4]
mov byte [ebp - 4], 0x28
call fcn.0043c6b1
lea ecx, [ebp - 0x30]
call fcn.0043ad11
lea ecx, [ebp - 0x30]
call fcn.0043acc8
push dword [ebp - 0x2c]
lea eax, [ebp - 0xbc]
lea ecx, [ebp - 0x34]
push eax
call fcn.0043a78d
push eax
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0x3d
call fcn.0043c7aa
lea ecx, [ebp - 0xbc]
mov byte [ebp - 4], 0x28
call fcn.0043c6b1
lea ecx, [ebp - 0x34]
call fcn.0043ad11
lea ecx, [ebp - 0x34]
call fcn.0043acc8
mov eax, dword [ebp - 0x3c]
jmp 0x41c7dd
push dword [ebp - 0x38]
lea eax, [ebp - 0xa0]
mov ecx, esi
push eax
call fcn.0041d670
push eax
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0x3e
call fcn.0043c7aa
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 0x28
call fcn.0043c6b1
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x54], ebx
mov dword [ebp + 8], eax
mov dword [ebp - 0x18], ebx
jmp 0x41c7e0
or dword [ebp - 0x2c], 0xffffffff
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x2c], ebx
jge 0x41c042
jmp 0x41c7f4
mov eax, dword [ebp - 0x1c]
mov dword [ebp + 8], edi
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x70], ebx
jne 0x41bfce
cmp dword [ebp - 0x18], ebx
jne 0x41c808
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x18], eax
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0x27
call fcn.0043c6b1
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0x26
call fcn.0043c6b1
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0x25
call fcn.0043c6b1
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0x24
call fcn.0043c6b1
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0x21
call fcn.0043c6b1
jmp 0x41c84c
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x18], eax
lea ecx, [ebp - 0xd0]
mov byte [ebp - 4], 0x1d
call fcn.0043b977
jmp 0x41cf44
mov eax, dword [esi + 0x18]
push str._______________
lea ecx, [ebp - 0x68]
mov dword [ebp - 0x48], ebx
mov edi, dword [eax]
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x1c], edi
call fcn.0043c7f9
lea ecx, [ebp + 8]
call fcn.0043c566
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0x3f
call fcn.0043c566
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0x40
call fcn.0043c566
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0x41
call fcn.0043c566
cmp edi, ebx
mov byte [ebp - 4], 0x42
je 0x41cea6
mov eax, dword [ebp - 0x48]
cmp eax, dword [esi + 0x28]
jge 0x41cea6
lea eax, [ebp - 0x14]
lea ecx, [ebp - 0x58]
push eax
call fcn.0043c7aa
lea eax, [ebp - 0x58]
lea ecx, [ebp + 8]
push eax
call fcn.0043c7aa
lea ecx, [ebp + 8]
call fcn.0043ad11
lea ecx, [ebp + 8]
call fcn.0043acc8
lea eax, [ebp + 8]
lea ecx, [ebp - 0x38]
push eax
call fcn.0043c7aa
lea ecx, [ebp - 0x38]
call fcn.0043cb8a
mov eax, dword [ebp + 8]
mov eax, dword [eax - 8]
test eax, eax
mov dword [ebp - 0x18], eax
jle 0x41ce9c
mov ecx, dword [esi + 4]
push dword [ebp - 0x1c]
mov eax, dword [ecx]
call dword [eax + 0x20]
mov ebx, dword [eax + 4]
test ebx, ebx
je 0x41cb72
mov ecx, dword [esi + 4]
push ebx
mov eax, dword [ecx]
call dword [eax + 0x20]
mov ecx, eax
call fcn.0041e947
mov edi, eax
mov ecx, dword [edi + 4]
mov dword [ebp - 0x3c], ecx
call fcn.0041e123
movzx eax, ax
cmp eax, 0xf06
je 0x41cada
cmp eax, 0xf07
je 0x41cada
mov ecx, dword [ebp - 0x3c]
lea eax, [ebp - 0xa0]
push eax
call fcn.0041e0db
push eax
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 0x43
call fcn.0043c7aa
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 0x42
call fcn.0043c6b1
push dword [ebp + 8]
push dword [ebp - 0x10]
call fcn.0042c400
pop ecx
test eax, eax
pop ecx
je 0x41caeb
cmp dword [edi + 8], 1
jle 0x41c9d9
mov ecx, dword [edi + 4]
lea eax, [ebp - 0xbc]
push eax
add ecx, 0x18
call fcn.0041e0db
push eax
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 0x44
call fcn.0043c7aa
lea ecx, [ebp - 0xbc]
mov byte [ebp - 4], 0x42
call fcn.0043c6b1
push dword [ebp + 8]
push dword [ebp - 0x10]
call fcn.0042c400
pop ecx
pop ecx
test eax, eax
je 0x41caeb
cmp dword [ebp + 0x10], 0xf0b
jne 0x41ca53
mov ecx, dword [ebp - 0x3c]
lea eax, [ebp - 0xb4]
push eax
call fcn.0041e0db
push eax
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 0x45
call fcn.0043c7aa
lea ecx, [ebp - 0xb4]
mov byte [ebp - 4], 0x42
call fcn.0043c6b1
lea eax, [ebp + 8]
push str..EXE
push eax
lea eax, [ebp - 0xac]
push eax
call fcn.0043c906
push eax
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0x46
call fcn.0043c7aa
lea ecx, [ebp - 0xac]
mov byte [ebp - 4], 0x42
call fcn.0043c6b1
push dword [ebp - 0x4c]
push dword [ebp - 0x10]
call fcn.0042c400
pop ecx
pop ecx
test eax, eax
je 0x41caeb
cmp dword [ebp + 0x10], 0xf0b
jne 0x41cad6
cmp dword [edi + 8], 1
jle 0x41cad6
mov ecx, dword [edi + 4]
lea eax, [ebp - 0xa4]
push eax
add ecx, 0x18
call fcn.0041e0db
push eax
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 0x47
call fcn.0043c7aa
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 0x42
call fcn.0043c6b1
lea eax, [ebp + 8]
push str..EXE
push eax
lea eax, [ebp - 0x98]
push eax
call fcn.0043c906
push eax
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0x48
call fcn.0043c7aa
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x42
call fcn.0043c6b1
push dword [ebp - 0x4c]
push dword [ebp - 0x10]
call fcn.0042c400
pop ecx
pop ecx
test eax, eax
je 0x41caeb
mov ecx, dword [esi + 4]
push ebx
mov eax, dword [ecx]
call dword [eax + 0x20]
mov ebx, dword [eax + 8]
jmp 0x41c91a
lea ecx, [ebp - 0x60]
mov dword [ebp - 0x34], ebx
call fcn.0043c566
push dword [ebp - 0x18]
lea eax, [ebp - 0x94]
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0x49
push eax
call fcn.0043a78d
push eax
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 0x4a
call fcn.0043c7aa
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 0x49
call fcn.0043c6b1
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x60]
push eax
lea eax, [ebp - 0x90]
push eax
call fcn.0043c8a0
push eax
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0x4b
call fcn.0043c7aa
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], 0x49
call fcn.0043c6b1
mov eax, dword [esi + 0x28]
and dword [ebp - 0x1c], 0
or dword [ebp - 0x18], 0xffffffff
lea ecx, [ebp - 0x60]
mov dword [ebp - 0x48], eax
mov byte [ebp - 4], 0x42
call fcn.0043c6b1
xor edi, edi
cmp dword [ebp - 0x34], edi
jne 0x41ce79
push dword [ebp - 0x1c]
lea eax, [ebp - 0x74]
mov ecx, esi
push eax
call fcn.0041d551
push dword [ebp - 0x74]
mov byte [ebp - 4], 0x4c
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
cmp eax, edi
je 0x41ce5f
mov edi, dword [sym.imp.KERNEL32.dll_FindFirstFileA]
lea eax, [ebp - 0x220]
push eax
push dword [ebp + 8]
call edi
cmp eax, 0xffffffff
mov dword [ebp - 0x3c], eax
jne 0x41cc0c
cmp dword [ebp + 0x10], 0xf0b
jne 0x41cc03
lea eax, [ebp + 8]
push str..EXE
push eax
lea eax, [ebp - 0x8c]
push eax
call fcn.0043c906
push eax
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0x4d
call fcn.0043c7aa
lea ecx, [ebp - 0x8c]
mov byte [ebp - 4], 0x4c
call fcn.0043c6b1
lea eax, [ebp - 0x220]
push eax
push dword [ebp - 0x4c]
call edi
mov dword [ebp - 0x3c], eax
cmp eax, 0xffffffff
je 0x41cdbb
mov eax, dword [ebp - 0x220]
and eax, 0x10
test al, al
je 0x41cc30
mov eax, dword [esi + 0x28]
and dword [ebp - 0x34], 0
and dword [ebp - 0x1c], 0
or dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0x48], eax
jmp 0x41cdad
mov ecx, dword [esi + 4]
lea edx, [ebp - 0x7c]
push edx
mov eax, dword [ecx]
push dword [ebp - 0x1c]
call dword [eax + 0x14]
mov ecx, dword [esi + 4]
push dword [ebp - 0x7c]
mov eax, dword [ecx]
call dword [eax + 0x20]
mov ecx, eax
call fcn.0041e947
mov edi, eax
push 0xffffffffffffffff
push 1
mov ecx, edi
call fcn.00403825
mov ebx, dword [edi + 4]
lea eax, [ebp - 0x1f4]
push eax
lea ecx, [ebp - 0x6c]
call fcn.0043c71f
lea eax, [ebp - 0x6c]
mov ecx, ebx
push eax
mov byte [ebp - 4], 0x4e
call fcn.0041e076
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 0x4c
call fcn.0043c6b1
push 0x80c
mov ecx, ebx
call fcn.0041e106
push 0xf09
mov ecx, ebx
call fcn.0041e117
lea eax, [ebp - 0x1f4]
lea ecx, [ebp - 0x20]
push eax
call fcn.0043c7f9
cmp byte [ebp - 0xf0], 0
je 0x41cd23
lea eax, [ebp - 0xf0]
push eax
push dword [ebp - 0x20]
call fcn.0042c400
pop ecx
test eax, eax
pop ecx
je 0x41cd23
push 0xffffffffffffffff
push 2
mov ecx, edi
call fcn.00403825
mov edi, dword [edi + 4]
lea eax, [ebp - 0xf0]
push eax
lea ecx, [ebp - 0x78]
add edi, 0x18
call fcn.0043c71f
lea eax, [ebp - 0x78]
mov ecx, edi
push eax
mov byte [ebp - 4], 0x4f
call fcn.0041e076
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0x4c
call fcn.0043c6b1
push 0x80c
mov ecx, edi
call fcn.0041e106
push 0xf0a
mov ecx, edi
call fcn.0041e117
lea ecx, [ebp - 0x70]
call fcn.0043c566
push dword [ebp - 0x18]
lea eax, [ebp - 0xb8]
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0x50
push eax
call fcn.0043a78d
push eax
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 0x51
call fcn.0043c7aa
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 0x50
call fcn.0043c6b1
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp - 0xa8]
push eax
call fcn.0043c8a0
push eax
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0x52
call fcn.0043c7aa
lea ecx, [ebp - 0xa8]
mov byte [ebp - 4], 0x50
call fcn.0043c6b1
mov eax, dword [ebp - 0x7c]
and dword [ebp - 0x1c], 0
or dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0x34], eax
mov eax, dword [esi + 0x28]
lea ecx, [ebp - 0x70]
mov dword [ebp - 0x48], eax
mov byte [ebp - 4], 0x4c
call fcn.0043c6b1
push dword [ebp - 0x3c]
call dword [sym.imp.KERNEL32.dll_FindClose]
jmp 0x41ce6b
push dword [ebp - 0x68]
lea ecx, [ebp - 0x38]
call fcn.0043cb59
test eax, eax
mov dword [ebp - 0x18], eax
jl 0x41ce59
mov eax, dword [ebp + 8]
inc dword [ebp - 0x18]
lea ecx, [ebp + 8]
mov eax, dword [eax - 8]
sub eax, dword [ebp - 0x18]
push eax
lea eax, [ebp - 0xb0]
push eax
call fcn.0043a8b8
push eax
lea ecx, [ebp + 8]
mov byte [ebp - 4], 0x53
call fcn.0043c7aa
lea ecx, [ebp - 0xb0]
mov byte [ebp - 4], 0x4c
call fcn.0043c6b1
lea ecx, [ebp + 8]
call fcn.0043ad11
lea ecx, [ebp + 8]
call fcn.0043acc8
push dword [ebp - 0x18]
lea eax, [ebp - 0x9c]
lea ecx, [ebp - 0x38]
push eax
call fcn.0043a78d
push eax
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0x54
call fcn.0043c7aa
lea ecx, [ebp - 0x9c]
mov byte [ebp - 4], 0x4c
call fcn.0043c6b1
lea ecx, [ebp - 0x38]
call fcn.0043ad11
lea ecx, [ebp - 0x38]
call fcn.0043acc8
jmp 0x41ce6b
and dword [ebp - 0x34], 0
jmp 0x41ce6b
mov eax, dword [esi + 0x28]
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x48], eax
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0x42
call fcn.0043c6b1
xor edi, edi
cmp dword [ebp - 0x18], edi
jge 0x41c90c
cmp dword [ebp - 0x34], edi
jne 0x41ce9c
mov eax, dword [ebp - 0x48]
cmp eax, dword [esi + 0x28]
jge 0x41ce9c
mov ecx, dword [esi + 0x18]
inc eax
mov dword [ebp - 0x48], eax
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jne 0x41c8b3
mov edi, dword [ebp - 0x34]
test edi, edi
mov dword [ebp - 0x18], edi
je 0x41cf14
mov ecx, dword [esi + 4]
push edi
mov eax, dword [ecx]
call dword [eax + 0x20]
mov eax, dword [eax]
mov ecx, esi
mov dword [ebp - 0x64], eax
push eax
lea eax, [ebp + 0x10]
push eax
call fcn.0041d670
push eax
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0x55
call fcn.0043c7aa
lea ecx, [ebp + 0x10]
mov byte [ebp - 4], 0x42
call fcn.0043c6b1
lea eax, [ebp + 0x10]
push edi
push eax
mov ecx, esi
call fcn.0041d7ef
push eax
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x56
call fcn.0043c7aa
lea ecx, [ebp + 0x10]
mov byte [ebp - 4], 0x42
call fcn.0043c6b1
lea eax, [ebp + 8]
lea ecx, [ebp - 0x20]
push eax
call fcn.0043c7aa
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0x41
call fcn.0043c6b1
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0x40
call fcn.0043c6b1
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0x3f
call fcn.0043c6b1
lea ecx, [ebp + 8]
mov byte [ebp - 4], 0x1d
call fcn.0043c6b1
mov edi, dword [ebp + 0xc]
xor ebx, ebx
cmp edi, ebx
je 0x41d04b
lea eax, [ebp - 0x28]
push 0x47a760
push eax
lea eax, [ebp + 0x10]
push eax
call fcn.0043c906
push dword [ebp + 0x10]
mov byte [ebp - 4], 0x57
call dword [sym.imp.KERNEL32.dll_GetDriveTypeA]
sub eax, ebx
je 0x41cf8a
dec eax
dec eax
je 0x41cf83
dec eax
dec eax
je 0x41d0d7
dec eax
jne 0x41cf8a
mov dword [edi + 0x1c], 1
lea eax, [ebp - 0x28]
mov ecx, edi
push eax
call fcn.0043c7aa
lea eax, [ebp - 0x50]
lea ecx, [edi + 4]
push eax
call fcn.0043c7aa
mov eax, dword [ebp - 0x20]
cmp dword [eax - 8], ebx
je 0x41d00d
mov eax, dword [ebp - 0x5c]
cmp dword [eax - 8], ebx
jne 0x41d00d
push 0x2e
lea ecx, [ebp - 0x20]
call fcn.0043a983
mov ebx, eax
test ebx, ebx
jl 0x41d00d
lea eax, [ebp + 8]
push ebx
push eax
lea ecx, [ebp - 0x20]
call fcn.0043a78d
push eax
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 0x58
call fcn.0043c7aa
lea ecx, [ebp + 8]
mov byte [ebp - 4], 0x57
call fcn.0043c6b1
lea eax, [ebp + 8]
push ebx
push eax
lea ecx, [ebp - 0x20]
call fcn.0043a8b8
push eax
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0x59
call fcn.0043c7aa
lea ecx, [ebp + 8]
mov byte [ebp - 4], 0x57
call fcn.0043c6b1
lea eax, [ebp - 0x20]
lea ecx, [edi + 8]
push eax
call fcn.0043c7aa
lea eax, [ebp - 0x5c]
lea ecx, [edi + 0xc]
push eax
call fcn.0043c7aa
lea eax, [ebp - 0x24]
lea ecx, [edi + 0x10]
push eax
call fcn.0043c7aa
cmp dword [ebp + 0x14], 0
je 0x41d03f
push edi
mov ecx, esi
call fcn.00402356
lea ecx, [ebp + 0x10]
mov byte [ebp - 4], 0x1d
call fcn.0043c6b1
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0x1c
call fcn.0043c6b1
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 0xa
call fcn.0043c6b1
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 6
call fcn.0043c6b1
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 5
call fcn.0043c6b1
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 4
call fcn.0043c6b1
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 3
call fcn.0043c6b1
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 2
call fcn.0043c6b1
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 1
call fcn.0043c6b1
and byte [ebp - 4], 0
lea ecx, [ebp - 0x50]
call fcn.0043c6b1
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
call fcn.0043c6b1
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
leave
ret 0x10
mov dword [edi + 0x20], 1
jmp 0x41cf8a