Function at 0x40109f
Capabilities:
Get file system object information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2c
mov dword [ebp - 4], 0
push 0x14
call fcn.00406afb
add esp, 4
mov dword [ebp - 8], eax
mov ebx, eax
mov edi, eax
xor eax, eax
mov ecx, 5
rep stosd dword es:[edi], eax
add ebx, 0xc
push ebx
push 0x108
call fcn.00406afb
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x40a21c
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
xor eax, eax
mov ecx, 0x40
rep stosd dword es:[edi], eax
add ebx, 4
push ebx
push 0x58
call fcn.00406afb
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x40a224
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
xor eax, eax
mov ecx, 0x14
rep stosd dword es:[edi], eax
push 0x38
call fcn.00406afb
add esp, 4
mov dword [ebp - 0xc], eax
mov ebx, eax
mov edi, eax
xor eax, eax
mov ecx, 0xe
rep stosd dword es:[edi], eax
add ebx, 0x34
push ebx
push 0x48
call fcn.00406afb
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x40a22c
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
xor eax, eax
mov ecx, 0x10
rep stosd dword es:[edi], eax
push 0x80000101
push 0
push 0
push 1
mov ebx, 0x140
call fcn.00407330
add esp, 0x10
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
push eax
mov ebx, dword [0x8a57be]
test ebx, ebx
je 0x401199
push ebx
call fcn.00406af5
add esp, 4
pop eax
mov dword [0x8a57be], eax
mov dword [ebp - 0x10], esp
push dword [0x8a57be]
call dword [0x8a57f2]
nop
nop
nop
nop
cmp dword [ebp - 0x10], esp
je 0x4011c4
push 6
call fcn.00406b01
add esp, 4
mov dword [0x8a57c2], eax
push 0x80000301
push 0
push 0xff
push 1
mov ebx, 0x184
call fcn.00407350
add esp, 0x10
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
push eax
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x4011fe
push ebx
call fcn.00406af5
add esp, 4
pop eax
mov dword [ebp - 4], eax
mov dword [ebp - 0x10], esp
push 0xff
push dword [ebp - 4]
push dword [0x8a57c6]
call dword [0x8a57f6]
nop
nop
nop
nop
cmp dword [ebp - 0x10], esp
je 0x40122f
push 6
call fcn.00406b01
add esp, 4
cmp dword [0x8a57ca], 0
jne 0x4012bb
mov dword [ebp - 0x10], esp
push 0x81
push dword [0x8a57c2]
call dword [0x8a57fa]
nop
nop
nop
nop
cmp dword [ebp - 0x10], esp
je 0x401266
push 6
call fcn.00406b01
add esp, 4
mov dword [0x8a57ca], eax
cmp dword [0x8a57ca], 0
je 0x4012bb
mov dword [ebp - 0x10], esp
push 0
push 0x10
push 0x10
push 1
push 0x81
push dword [0x8a57c2]
call dword [0x8a57fe]
nop
nop
nop
nop
cmp dword [ebp - 0x10], esp
je 0x4012b6
push 6
call fcn.00406b01
add esp, 4
mov dword [0x8a57ce], eax
cmp dword [0x8a57ca], 0
jne 0x401347
mov dword [ebp - 0x10], esp
push 0x80
push dword [0x8a57c2]
call dword [0x8a57fa]
nop
nop
nop
nop
cmp dword [ebp - 0x10], esp
je 0x4012f2
push 6
call fcn.00406b01
add esp, 4
mov dword [0x8a57ca], eax
cmp dword [0x8a57ca], 0
je 0x401347
mov dword [ebp - 0x10], esp
push 0
push 0x10
push 0x10
push 1
push 0x80
push dword [0x8a57c2]
call dword [0x8a57fe]
nop
nop
nop
nop
cmp dword [ebp - 0x10], esp
je 0x401342
push 6
call fcn.00406b01
add esp, 4
mov dword [0x8a57ce], eax
cmp dword [0x8a57ca], 0
jne 0x4013d3
mov dword [ebp - 0x10], esp
push str.DEFAULT_ICON
push dword [0x8a57c2]
call dword [0x8a5802]
nop
nop
nop
nop
cmp dword [ebp - 0x10], esp
je 0x40137e
push 6
call fcn.00406b01
add esp, 4
mov dword [0x8a57ca], eax
cmp dword [0x8a57ca], 0
je 0x4013d3
mov dword [ebp - 0x10], esp
push 0
push 0x10
push 0x10
push 1
push str.DEFAULT_ICON
push dword [0x8a57c2]
call dword [0x8a5806]
nop
nop
nop
nop
cmp dword [ebp - 0x10], esp
je 0x4013ce
push 6
call fcn.00406b01
add esp, 4
mov dword [0x8a57ce], eax
cmp dword [0x8a57ca], 0
jne 0x401998
mov dword [ebp - 0x10], esp
mov eax, dword [ebp - 8]
push eax
push 0x15c
call fcn.00406afb
add esp, 4
mov edi, eax
pop ebx
push eax
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x14], eax
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
push ebx
mov ebx, dword [ebx]
add ebx, 8
mov ecx, 0x100
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
add ebx, 8
mov ecx, 0x50
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop ebx
add ebx, 4
call dword [0x8a580a]
nop
nop
nop
nop
cmp dword [ebp - 0x10], esp
je 0x401464
push 6
call fcn.00406b01
add esp, 4
push eax
mov ebx, dword [ebp - 0x14]
push ebx
mov edi, dword [ebp - 0x18]
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
push ebx
push edi
push 1
mov eax, 2
call fcn.00406fb0
add esp, 4
pop edi
pop ebx
push ebx
push edi
mov edi, dword [edi]
mov ecx, dword [edi]
add edi, 4
test ecx, ecx
je 0x4014b9
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x4014b7
imul eax, dword [edi]
jmp 0x4014ac
mov ecx, eax
cmp ecx, 0x100
jle 0x4014c6
mov ecx, 0x100
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop edi
pop ebx
add edi, 4
add ebx, 0x100
push ebx
push edi
push 1
mov eax, 2
call fcn.00406fb0
add esp, 4
pop edi
pop ebx
push ebx
push edi
mov edi, dword [edi]
mov ecx, dword [edi]
add edi, 4
test ecx, ecx
je 0x401504
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x401502
imul eax, dword [edi]
jmp 0x4014f7
mov ecx, eax
cmp ecx, 0x50
jle 0x40150e
mov ecx, 0x50
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop edi
pop ebx
add edi, 4
add ebx, 0x50
call fcn.00406af5
add esp, 4
pop eax
mov dword [ebp - 0x1c], eax
push 0x80000301
push 0
push 0
push 0x80000301
push 0
push 0x100
push 2
mov ebx, 0xc8
call fcn.00407390
add esp, 0x1c
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x24], esp
push dword [ebp - 0x20]
push dword [ebp - 0x1c]
mov eax, dword [ebp - 8]
push eax
push 0x15c
call fcn.00406afb
add esp, 4
mov edi, eax
pop ebx
push eax
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x28], eax
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
push ebx
mov ebx, dword [ebx]
add ebx, 8
mov ecx, 0x100
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
add ebx, 8
mov ecx, 0x50
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop ebx
add ebx, 4
push 0x80
push dword [ebp - 4]
call dword [sym.imp.SHELL32.dll_SHGetFileInfo]
nop
nop
nop
nop
cmp dword [ebp - 0x24], esp
je 0x4015e5
push 6
call fcn.00406b01
add esp, 4
push eax
mov ebx, dword [ebp - 0x28]
push ebx
mov edi, dword [ebp - 0x2c]
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
push ebx
push edi
push 1
mov eax, 2
call fcn.00406fb0
add esp, 4
pop edi
pop ebx
push ebx
push edi
mov edi, dword [edi]
mov ecx, dword [edi]
add edi, 4
test ecx, ecx
je 0x40163a
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x401638
imul eax, dword [edi]
jmp 0x40162d
mov ecx, eax
cmp ecx, 0x100
jle 0x401647
mov ecx, 0x100
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop edi
pop ebx
add edi, 4
add ebx, 0x100
push ebx
push edi
push 1
mov eax, 2
call fcn.00406fb0
add esp, 4
pop edi
pop ebx
push ebx
push edi
mov edi, dword [edi]
mov ecx, dword [edi]
add edi, 4
test ecx, ecx
je 0x401685
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x401683
imul eax, dword [edi]
jmp 0x401678
mov ecx, eax
cmp ecx, 0x50
jle 0x40168f
mov ecx, 0x50
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop edi
pop ebx
add edi, 4
add ebx, 0x50
call fcn.00406af5
add esp, 4
pop eax
mov ebx, dword [ebp - 8]
mov dword [ebp - 0x10], ebx
mov ebx, dword [ebp - 0x10]
cmp dword [ebx], 0
jne 0x401988
mov dword [ebp - 0x10], esp
mov eax, dword [ebp - 8]
push eax
push 0x15c
call fcn.00406afb
add esp, 4
mov edi, eax
pop ebx
push eax
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x14], eax
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
push ebx
mov ebx, dword [ebx]
add ebx, 8
mov ecx, 0x100
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
add ebx, 8
mov ecx, 0x50
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop ebx
add ebx, 4
call dword [0x8a580a]
nop
nop
nop
nop
cmp dword [ebp - 0x10], esp
je 0x40173a
push 6
call fcn.00406b01
add esp, 4
push eax
mov ebx, dword [ebp - 0x14]
push ebx
mov edi, dword [ebp - 0x18]
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
push ebx
push edi
push 1
mov eax, 2
call fcn.00406fb0
add esp, 4
pop edi
pop ebx
push ebx
push edi
mov edi, dword [edi]
mov ecx, dword [edi]
add edi, 4
test ecx, ecx
je 0x40178f
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x40178d
imul eax, dword [edi]
jmp 0x401782
mov ecx, eax
cmp ecx, 0x100
jle 0x40179c
mov ecx, 0x100
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop edi
pop ebx
add edi, 4
add ebx, 0x100
push ebx
push edi
push 1
mov eax, 2
call fcn.00406fb0
add esp, 4
pop edi
pop ebx
push ebx
push edi
mov edi, dword [edi]
mov ecx, dword [edi]
add edi, 4
test ecx, ecx
je 0x4017da
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x4017d8
imul eax, dword [edi]
jmp 0x4017cd
mov ecx, eax
cmp ecx, 0x50
jle 0x4017e4
mov ecx, 0x50
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop edi
pop ebx
add edi, 4
add ebx, 0x50
call fcn.00406af5
add esp, 4
pop eax
mov dword [ebp - 0x1c], eax
push 0x80000301
push 0
push 0
push 0x80000301
push 0
push 0x10
push 0x80000301
push 0
push 0x100
push 3
mov ebx, 0xc8
call fcn.00407390
add esp, 0x28
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x24], esp
push dword [ebp - 0x20]
push dword [ebp - 0x1c]
mov eax, dword [ebp - 8]
push eax
push 0x15c
call fcn.00406afb
add esp, 4
mov edi, eax
pop ebx
push eax
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x28], eax
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
push ebx
mov ebx, dword [ebx]
add ebx, 8
mov ecx, 0x100
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
add ebx, 8
mov ecx, 0x50
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop ebx
add ebx, 4
push 0x80
push str..exe
call dword [sym.imp.SHELL32.dll_SHGetFileInfo]
nop
nop
nop
nop
cmp dword [ebp - 0x24], esp
je 0x4018c9
push 6
call fcn.00406b01
add esp, 4
push eax
mov ebx, dword [ebp - 0x28]
push ebx
mov edi, dword [ebp - 0x2c]
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
push ebx
push edi
push 1
mov eax, 2
call fcn.00406fb0
add esp, 4
pop edi
pop ebx
push ebx
push edi
mov edi, dword [edi]
mov ecx, dword [edi]
add edi, 4
test ecx, ecx
je 0x40191e
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x40191c
imul eax, dword [edi]
jmp 0x401911
mov ecx, eax
cmp ecx, 0x100
jle 0x40192b
mov ecx, 0x100
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop edi
pop ebx
add edi, 4
add ebx, 0x100
push ebx
push edi
push 1
mov eax, 2
call fcn.00406fb0
add esp, 4
pop edi
pop ebx
push ebx
push edi
mov edi, dword [edi]
mov ecx, dword [edi]
add edi, 4
test ecx, ecx
je 0x401969
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x401967
imul eax, dword [edi]
jmp 0x40195c
mov ecx, eax
cmp ecx, 0x50
jle 0x401973
mov ecx, 0x50
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop edi
pop ebx
add edi, 4
add ebx, 0x50
call fcn.00406af5
add esp, 4
pop eax
mov ebx, dword [ebp - 8]
mov dword [ebp - 0x10], ebx
mov ebx, dword [ebp - 0x10]
mov eax, dword [ebx]
mov dword [0x8a57ca], eax
cmp dword [0x8a57ce], 0
jne 0x401f5d
mov dword [ebp - 0x10], esp
mov eax, dword [ebp - 8]
push eax
push 0x15c
call fcn.00406afb
add esp, 4
mov edi, eax
pop ebx
push eax
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x14], eax
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
push ebx
mov ebx, dword [ebx]
add ebx, 8
mov ecx, 0x100
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
add ebx, 8
mov ecx, 0x50
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop ebx
add ebx, 4
call dword [0x8a580a]
nop
nop
nop
nop
cmp dword [ebp - 0x10], esp
je 0x401a29
push 6
call fcn.00406b01
add esp, 4
push eax
mov ebx, dword [ebp - 0x14]
push ebx
mov edi, dword [ebp - 0x18]
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
push ebx
push edi
push 1
mov eax, 2
call fcn.00406fb0
add esp, 4
pop edi
pop ebx
push ebx
push edi
mov edi, dword [edi]
mov ecx, dword [edi]
add edi, 4
test ecx, ecx
je 0x401a7e
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x401a7c
imul eax, dword [edi]
jmp 0x401a71
mov ecx, eax
cmp ecx, 0x100
jle 0x401a8b
mov ecx, 0x100
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop edi
pop ebx
add edi, 4
add ebx, 0x100
push ebx
push edi
push 1
mov eax, 2
call fcn.00406fb0
add esp, 4
pop edi
pop ebx
push ebx
push edi
mov edi, dword [edi]
mov ecx, dword [edi]
add edi, 4
test ecx, ecx
je 0x401ac9
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x401ac7
imul eax, dword [edi]
jmp 0x401abc
mov ecx, eax
cmp ecx, 0x50
jle 0x401ad3
mov ecx, 0x50
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop edi
pop ebx
add edi, 4
add ebx, 0x50
call fcn.00406af5
add esp, 4
pop eax
mov dword [ebp - 0x1c], eax
push 0x80000301
push 0
push 1
push 0x80000301
push 0
push 0x100
push 2
mov ebx, 0xc8
call fcn.00407390
add esp, 0x1c
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x24], esp
push dword [ebp - 0x20]
push dword [ebp - 0x1c]
mov eax, dword [ebp - 8]
push eax
push 0x15c
call fcn.00406afb
add esp, 4
mov edi, eax
pop ebx
push eax
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x28], eax
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
push ebx
mov ebx, dword [ebx]
add ebx, 8
mov ecx, 0x100
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
add ebx, 8
mov ecx, 0x50
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop ebx
add ebx, 4
push 0x80
push dword [ebp - 4]
call dword [sym.imp.SHELL32.dll_SHGetFileInfo]
nop
nop
nop
nop
cmp dword [ebp - 0x24], esp
je 0x401baa
push 6
call fcn.00406b01
add esp, 4
push eax
mov ebx, dword [ebp - 0x28]
push ebx
mov edi, dword [ebp - 0x2c]
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
push ebx
push edi
push 1
mov eax, 2
call fcn.00406fb0
add esp, 4
pop edi
pop ebx
push ebx
push edi
mov edi, dword [edi]
mov ecx, dword [edi]
add edi, 4
test ecx, ecx
je 0x401bff
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x401bfd
imul eax, dword [edi]
jmp 0x401bf2
mov ecx, eax
cmp ecx, 0x100
jle 0x401c0c
mov ecx, 0x100
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop edi
pop ebx
add edi, 4
add ebx, 0x100
push ebx
push edi
push 1
mov eax, 2
call fcn.00406fb0
add esp, 4
pop edi
pop ebx
push ebx
push edi
mov edi, dword [edi]
mov ecx, dword [edi]
add edi, 4
test ecx, ecx
je 0x401c4a
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x401c48
imul eax, dword [edi]
jmp 0x401c3d
mov ecx, eax
cmp ecx, 0x50
jle 0x401c54
mov ecx, 0x50
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop edi
pop ebx
add edi, 4
add ebx, 0x50
call fcn.00406af5
add esp, 4
pop eax
mov ebx, dword [ebp - 8]
mov dword [ebp - 0x10], ebx
mov ebx, dword [ebp - 0x10]
cmp dword [ebx], 0
jne 0x401f4d
mov dword [ebp - 0x10], esp
mov eax, dword [ebp - 8]
push eax
push 0x15c
call fcn.00406afb
add esp, 4
mov edi, eax
pop ebx
push eax
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x14], eax
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
push ebx
mov ebx, dword [ebx]
add ebx, 8
mov ecx, 0x100
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
add ebx, 8
mov ecx, 0x50
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop ebx
add ebx, 4
call dword [0x8a580a]
nop
nop
nop
nop
cmp dword [ebp - 0x10], esp
je 0x401cff
push 6
call fcn.00406b01
add esp, 4
push eax
mov ebx, dword [ebp - 0x14]
push ebx
mov edi, dword [ebp - 0x18]
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
push ebx
push edi
push 1
mov eax, 2
call fcn.00406fb0
add esp, 4
pop edi
pop ebx
push ebx
push edi
mov edi, dword [edi]
mov ecx, dword [edi]
add edi, 4
test ecx, ecx
je 0x401d54
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x401d52
imul eax, dword [edi]
jmp 0x401d47
mov ecx, eax
cmp ecx, 0x100
jle 0x401d61
mov ecx, 0x100
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop edi
pop ebx
add edi, 4
add ebx, 0x100
push ebx
push edi
push 1
mov eax, 2
call fcn.00406fb0
add esp, 4
pop edi
pop ebx
push ebx
push edi
mov edi, dword [edi]
mov ecx, dword [edi]
add edi, 4
test ecx, ecx
je 0x401d9f
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x401d9d
imul eax, dword [edi]
jmp 0x401d92
mov ecx, eax
cmp ecx, 0x50
jle 0x401da9
mov ecx, 0x50
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop edi
pop ebx
add edi, 4
add ebx, 0x50
call fcn.00406af5
add esp, 4
pop eax
mov dword [ebp - 0x1c], eax
push 0x80000301
push 0
push 1
push 0x80000301
push 0
push 0x10
push 0x80000301
push 0
push 0x100
push 3
mov ebx, 0xc8
call fcn.00407390
add esp, 0x28
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x24], esp
push dword [ebp - 0x20]
push dword [ebp - 0x1c]
mov eax, dword [ebp - 8]
push eax
push 0x15c
call fcn.00406afb
add esp, 4
mov edi, eax
pop ebx
push eax
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x28], eax
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
push ebx
mov ebx, dword [ebx]
add ebx, 8
mov ecx, 0x100
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
add ebx, 8
mov ecx, 0x50
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop ebx
add ebx, 4
push 0x80
push str..exe
call dword [sym.imp.SHELL32.dll_SHGetFileInfo]
nop
nop
nop
nop
cmp dword [ebp - 0x24], esp
je 0x401e8e
push 6
call fcn.00406b01
add esp, 4
push eax
mov ebx, dword [ebp - 0x28]
push ebx
mov edi, dword [ebp - 0x2c]
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
push ebx
push edi
push 1
mov eax, 2
call fcn.00406fb0
add esp, 4
pop edi
pop ebx
push ebx
push edi
mov edi, dword [edi]
mov ecx, dword [edi]
add edi, 4
test ecx, ecx
je 0x401ee3
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x401ee1
imul eax, dword [edi]
jmp 0x401ed6
mov ecx, eax
cmp ecx, 0x100
jle 0x401ef0
mov ecx, 0x100
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop edi
pop ebx
add edi, 4
add ebx, 0x100
push ebx
push edi
push 1
mov eax, 2
call fcn.00406fb0
add esp, 4
pop edi
pop ebx
push ebx
push edi
mov edi, dword [edi]
mov ecx, dword [edi]
add edi, 4
test ecx, ecx
je 0x401f2e
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x401f2c
imul eax, dword [edi]
jmp 0x401f21
mov ecx, eax
cmp ecx, 0x50
jle 0x401f38
mov ecx, 0x50
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop edi
pop ebx
add edi, 4
add ebx, 0x50
call fcn.00406af5
add esp, 4
pop eax
mov ebx, dword [ebp - 8]
mov dword [ebp - 0x10], ebx
mov ebx, dword [ebp - 0x10]
mov eax, dword [ebx]
mov dword [0x8a57ce], eax
mov dword [ebp - 0x10], esp
push 0x7f00
push 0
call dword [0x8a580e]
nop
nop
nop
nop
cmp dword [ebp - 0x10], esp
je 0x401f86
push 6
call fcn.00406b01
add esp, 4
mov dword [0x8a57d2], eax
mov dword [ebp - 0x10], esp
push 0x7f89
push 0
call dword [0x8a580e]
nop
nop
nop
nop
cmp dword [ebp - 0x10], esp
je 0x401fb4
push 6
call fcn.00406b01
add esp, 4
mov dword [0x8a57d6], eax
mov dword [ebp - 0x10], esp
push 0x7f86
push 0
call dword [0x8a580e]
nop
nop
nop
nop
cmp dword [ebp - 0x10], esp
je 0x401fe2
push 6
call fcn.00406b01
add esp, 4
mov dword [0x8a57da], eax
mov dword [ebp - 0x10], esp
push 0x11
call dword [0x8a5812]
nop
nop
nop
nop
cmp dword [ebp - 0x10], esp
je 0x40200b
push 6
call fcn.00406b01
add esp, 4
mov dword [0x8a57de], eax
mov dword [ebp - 0x10], esp
mov eax, dword [ebp - 0xc]
push eax
push 0x5c
call fcn.00406afb
add esp, 4
mov edi, eax
pop ebx
push eax
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x14], eax
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
push ebx
mov ebx, dword [ebx]
add ebx, 8
mov ecx, 0x40
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop ebx
add ebx, 4
call dword [0x8a5816]
nop
nop
nop
nop
cmp dword [ebp - 0x10], esp
je 0x4020d2
push 6
call fcn.00406b01
add esp, 4
push eax
mov ebx, dword [ebp - 0x14]
push ebx
mov edi, dword [ebp - 0x18]
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
push ebx
push edi
push 1
mov eax, 2
call fcn.00406fb0
add esp, 4
pop edi
pop ebx
push ebx
push edi
mov edi, dword [edi]
mov ecx, dword [edi]
add edi, 4
test ecx, ecx
je 0x40217b
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x402179
imul eax, dword [edi]
jmp 0x40216e
mov ecx, eax
cmp ecx, 0x40
jle 0x402185
mov ecx, 0x40
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop edi
pop ebx
add edi, 4
add ebx, 0x40
call fcn.00406af5
add esp, 4
pop eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x20], esp
mov eax, dword [ebp - 0xc]
push eax
push 0x5c
call fcn.00406afb
add esp, 4
mov edi, eax
pop ebx
push eax
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x24], eax
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
push ebx
mov ebx, dword [ebx]
add ebx, 8
mov ecx, 0x40
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop ebx
add ebx, 4
push dword [ebp - 0x1c]
push dword [0x8a57de]
call dword [0x8a581a]
nop
nop
nop
nop
cmp dword [ebp - 0x20], esp
je 0x402268
push 6
call fcn.00406b01
add esp, 4
push eax
mov ebx, dword [ebp - 0x24]
push ebx
mov edi, dword [ebp - 0x28]
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
push ebx
push edi
push 1
mov eax, 2
call fcn.00406fb0
add esp, 4
pop edi
pop ebx
push ebx
push edi
mov edi, dword [edi]
mov ecx, dword [edi]
add edi, 4
test ecx, ecx
je 0x402311
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x40230f
imul eax, dword [edi]
jmp 0x402304
mov ecx, eax
cmp ecx, 0x40
jle 0x40231b
mov ecx, 0x40
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop edi
pop ebx
add edi, 4
add ebx, 0x40
call fcn.00406af5
add esp, 4
pop eax
mov ebx, dword [ebp - 0xc]
add ebx, 0x10
mov dword [ebp - 0x10], ebx
mov ebx, dword [ebp - 0x10]
mov dword [ebx], 0x2bc
mov ebx, dword [ebp - 0xc]
add ebx, 0x18
mov dword [ebp - 0x10], ebx
mov ebx, dword [ebp - 0x10]
mov byte [ebx], 0
mov dword [ebp - 0x10], esp
mov eax, dword [ebp - 0xc]
push eax
push 0x5c
call fcn.00406afb
add esp, 4
mov edi, eax
pop ebx
push eax
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x14], eax
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
push ebx
mov ebx, dword [ebx]
add ebx, 8
mov ecx, 0x40
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop ebx
add ebx, 4
call dword [0x8a581e]
nop
nop
nop
nop
cmp dword [ebp - 0x10], esp
je 0x402413
push 6
call fcn.00406b01
add esp, 4
push eax
mov ebx, dword [ebp - 0x14]
push ebx
mov edi, dword [ebp - 0x18]
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
push ebx
push edi
push 1
mov eax, 2
call fcn.00406fb0
add esp, 4
pop edi
pop ebx
push ebx
push edi
mov edi, dword [edi]
mov ecx, dword [edi]
add edi, 4
test ecx, ecx
je 0x4024bc
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x4024ba
imul eax, dword [edi]
jmp 0x4024af
mov ecx, eax
cmp ecx, 0x40
jle 0x4024c6
mov ecx, 0x40
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop edi
pop ebx
add edi, 4
add ebx, 0x40
call fcn.00406af5
add esp, 4
pop eax
mov dword [0x8a57e2], eax
mov ebx, dword [ebp - 0xc]
add ebx, 0x10
mov dword [ebp - 0x10], ebx
mov ebx, dword [ebp - 0x10]
mov dword [ebx], 0x190
mov ebx, dword [ebp - 0xc]
add ebx, 0x18
mov dword [ebp - 0x10], ebx
mov ebx, dword [ebp - 0x10]
mov byte [ebx], 1
mov dword [ebp - 0x10], esp
mov eax, dword [ebp - 0xc]
push eax
push 0x5c
call fcn.00406afb
add esp, 4
mov edi, eax
pop ebx
push eax
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x14], eax
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
push ebx
mov ebx, dword [ebx]
add ebx, 8
mov ecx, 0x40
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop ebx
add ebx, 4
call dword [0x8a581e]
nop
nop
nop
nop
cmp dword [ebp - 0x10], esp
je 0x4025c3
push 6
call fcn.00406b01
add esp, 4
push eax
mov ebx, dword [ebp - 0x14]
push ebx
mov edi, dword [ebp - 0x18]
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
push ebx
push edi
push 1
mov eax, 2
call fcn.00406fb0
add esp, 4
pop edi
pop ebx
push ebx
push edi
mov edi, dword [edi]
mov ecx, dword [edi]
add edi, 4
test ecx, ecx
je 0x40266c
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x40266a
imul eax, dword [edi]
jmp 0x40265f
mov ecx, eax
cmp ecx, 0x40
jle 0x402676
mov ecx, 0x40
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop edi
pop ebx
add edi, 4
add ebx, 0x40
call fcn.00406af5
add esp, 4
pop eax
mov dword [0x8a57e6], eax
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x4026a0
push ebx
call fcn.00406af5
add esp, 4
mov ebx, dword [ebp - 8]
push ebx
add ebx, 0xc
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.00406af5
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.00406af5
add esp, 4
pop ebx
call fcn.00406af5
add esp, 4
mov ebx, dword [ebp - 0xc]
push ebx
add ebx, 0x34
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.00406af5
add esp, 4
pop ebx
call fcn.00406af5
add esp, 4
mov esp, ebp
pop ebp
ret