Function at 0x401f00
Capabilities:
Accept command line arguments
Get file system object information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x290
push 0
push 0
push 0
lea ecx, [ebp - 0x10]
call fcn.00403fe0
mov eax, dword [section..data]
add eax, 0x409a
mov dword [section..data], eax
mov ecx, dword [section..data]
mov dword [ebp - 0x98], ecx
mov byte [ebp - 0xd9], 0x1e
mov edx, dword [section..data]
sub edx, 0x5c28
cmp edx, dword [ebp - 0x98]
jle 0x401f5d
mov edx, 0xa8
mov cl, byte [ebp - 0xd9]
call fcn.00403990
mov dword [ebp - 0xfc], 0xe15c
lea eax, [ebp - 0x98]
mov dword [ebp - 0x4c], eax
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x98]
imul edx, dword [ecx]
cmp edx, dword [section..data]
jle 0x401fa5
mov byte [ebp - 0x99], 0x69
mov eax, 0xff3
mov word [ebp - 0xd4], ax
mov cx, word [ebp - 0xd4]
mov word [ebp - 0x108], cx
mov dword [ebp - 0xf4], 0x9e31
mov edx, dword [ebp - 0xfc]
mov dword [ebp - 0x58], edx
mov eax, dword [ebp - 0xfc]
mov dword [ebp - 0x94], eax
mov dword [ebp - 0xc8], 0xcd28
mov cl, byte [ebp - 0xd9]
mov byte [ebp - 0xcd], cl
mov dx, word [ebp - 0xd4]
mov word [ebp - 0xa4], dx
mov dword [ebp - 0xf4], 0x7491
jmp 0x402003
mov eax, dword [ebp - 0xf4]
add eax, 0x6f
mov dword [ebp - 0xf4], eax
cmp dword [ebp - 0xf4], 0x9ea0
jae 0x402144
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ecx]
and edx, dword [ebp - 0x98]
mov eax, dword [ebp - 0x4c]
mov dword [eax], edx
mov edx, dword [ebp - 0x98]
mov ecx, dword [section..data]
sar edx, cl
mov eax, dword [ebp - 0x4c]
mov dword [eax], edx
mov ecx, dword [ebp - 0x4c]
mov edx, dword [section..data]
mov ecx, dword [ecx]
shl edx, cl
mov dword [ebp - 0x98], edx
mov eax, dword [ebp - 0xf4]
sub eax, 0x6f
mov dword [ebp - 0xf4], eax
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ecx]
xor edx, dword [ebp - 0x98]
mov eax, dword [ebp - 0x4c]
mov dword [eax], edx
movzx ecx, byte [ebp - 0xcd]
or ecx, 0xa6
mov byte [ebp - 0xd9], cl
mov edx, dword [ebp - 0x4c]
mov eax, dword [edx]
sub eax, dword [ebp - 0x98]
mov ecx, dword [ebp - 0x4c]
mov dword [ecx], eax
mov edx, dword [ebp - 0x4c]
mov eax, dword [section..data]
add eax, dword [edx]
mov dword [ebp - 0x98], eax
mov ecx, dword [ebp - 0x94]
and ecx, dword [ebp - 0xfc]
mov dword [ebp - 0x58], ecx
mov edx, dword [ebp - 0x4c]
mov eax, dword [edx]
add eax, dword [section..data]
mov dword [ebp - 0x98], eax
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ecx]
mov dword [ebp - 0x274], edx
cmp dword [ebp - 0x274], 0x95b
je 0x4020e0
cmp dword [ebp - 0x274], 0x32ab
je 0x40212e
jmp 0x40213f
mov eax, dword [ebp - 0x98]
sub eax, dword [section..data]
mov ecx, dword [ebp - 0x4c]
mov dword [ecx], eax
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x98]
add eax, dword [edx]
mov dword [section..data], eax
mov ecx, dword [ebp - 0x58]
sub ecx, dword [ebp - 0x94]
mov dword [ebp - 0xfc], ecx
push 0
lea edx, [ebp - 0x108]
push edx
lea eax, [ebp - 0xa4]
push eax
call dword [sym.imp.SHELL32.dll_ILAppendID]
mov dword [ebp - 0x90], eax
jmp 0x40213f
mov ecx, dword [ebp - 0x98]
or ecx, dword [section..data]
mov edx, dword [ebp - 0x4c]
mov dword [edx], ecx
jmp 0x401ff4
mov al, byte [ebp - 0x99]
mov byte [ebp - 0xa5], al
movzx edx, word [ebp - 0xd4]
movzx ecx, word [ebp - 0x108]
sar edx, cl
mov word [ebp - 0xa4], dx
mov dword [ebp - 0x80], 0x2ba8
movzx eax, word [ebp - 0x108]
movzx ecx, word [ebp - 0xa4]
shl eax, cl
movzx ecx, word [ebp - 0xd4]
cmp eax, ecx
je 0x4021a6
movzx edx, byte [ebp - 0xcd]
xor edx, 0x4f
mov byte [ebp - 0xd9], dl
movzx eax, byte [ebp - 0xcd]
push eax
call fcn.00402d60
mov ecx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x98]
cdq
idiv dword [ecx]
cmp eax, dword [section..data]
jl 0x4021e5
mov edx, dword [ebp - 0x98]
and edx, dword [section..data]
mov eax, dword [ebp - 0x4c]
mov dword [eax], edx
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ecx]
add edx, dword [ebp - 0x98]
mov eax, dword [ebp - 0x4c]
mov dword [eax], edx
call fcn.00401ad0
jmp 0x402b54
mov ecx, dword [ebp - 0x94]
mov dword [ebp - 0x278], ecx
cmp dword [ebp - 0x278], 0x1e0b
je 0x402b05
cmp dword [ebp - 0x278], 0xe15c
je 0x402212
jmp 0x402b34
mov edx, dword [ebp - 0xb4]
mov dword [ebp - 0xf0], edx
mov dword [ebp - 0xc8], 0x9fbf
jmp 0x402239
mov eax, dword [ebp - 0xc8]
add eax, 0x7d
mov dword [ebp - 0xc8], eax
cmp dword [ebp - 0xc8], 0xcda5
jae 0x40235b
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0xf0]
shl edx, cl
mov dword [ebp - 0x98], edx
mov eax, dword [ebp - 0x4c]
mov ecx, dword [eax]
or ecx, dword [ebp - 0xf0]
mov edx, dword [ebp - 0x4c]
mov dword [edx], ecx
mov eax, dword [ebp - 0xf0]
mov ecx, dword [ebp - 0xb4]
sar eax, cl
mov ecx, dword [ebp - 0x4c]
mov dword [ecx], eax
mov edx, dword [ebp - 0x4c]
mov eax, dword [edx]
mov dword [ebp - 0xb4], eax
movsx ecx, byte [ebp - 0xa5]
xor ecx, 0x7a
mov byte [ebp - 0x99], cl
mov edx, dword [ebp - 0x58]
and edx, dword [ebp - 0xfc]
mov dword [ebp - 0x94], edx
mov eax, dword [ebp - 0xc8]
sub eax, 0x7d
mov dword [ebp - 0xc8], eax
mov ecx, dword [ebp - 0xfc]
sub ecx, dword [ebp - 0x94]
cmp ecx, dword [ebp - 0x58]
jb 0x402311
mov edx, dword [ebp - 0x4c]
mov eax, dword [edx]
add eax, dword [ebp - 0xf0]
mov dword [ebp - 0x98], eax
push 5
lea ecx, [ebp - 0x268]
push ecx
mov edx, dword [ebp - 0x3c]
push edx
mov eax, dword [ebp - 0x26c]
push eax
mov ecx, dword [ebp - 0xac]
push ecx
call dword [sym.imp.SHELL32.dll_SHGetNewLinkInfoA]
mov dword [ebp - 0x40], eax
mov edx, dword [ebp - 0x98]
sub edx, dword [ebp - 0xf0]
mov eax, dword [ebp - 0x4c]
mov dword [eax], edx
jmp 0x402356
movzx ecx, byte [ebp - 0xd9]
add ecx, 0xd5
mov byte [ebp - 0xcd], cl
mov edx, dword [ebp - 0xfc]
and edx, dword [ebp - 0x58]
mov dword [ebp - 0x94], edx
mov eax, dword [ebp - 0xf0]
sub eax, dword [ebp - 0xb4]
mov dword [section..data], eax
mov ecx, dword [ebp - 0x98]
sub ecx, dword [ebp - 0xb4]
mov dword [ebp - 0xf0], ecx
jmp 0x40222a
lea edx, [ebp - 0x94]
mov dword [ebp - 0x88], edx
lea eax, [ebp - 0x108]
mov dword [ebp - 0xe0], eax
lea ecx, [ebp - 0xd9]
mov dword [ebp - 0x60], ecx
mov edx, dword [ebp - 0x4c]
mov eax, dword [edx]
mov dword [ebp - 0x8c], eax
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ecx]
add edx, dword [ebp - 0x8c]
mov dword [ebp - 0xf0], edx
mov eax, dword [ebp - 0x88]
mov ecx, dword [eax]
mov dword [ebp - 0xc4], ecx
mov edx, dword [ebp - 0x4c]
mov eax, dword [edx]
mov ecx, dword [ebp - 0xb4]
shl eax, cl
mov dword [ebp - 0x98], eax
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ecx]
mov dword [0x416c60], edx
mov eax, dword [ebp - 0x8c]
mov ecx, dword [0x416c60]
sar eax, cl
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ecx]
xor edx, dword [ebp - 0xb4]
cmp eax, edx
jl 0x4029fb
mov eax, dword [ebp - 0xe0]
mov cx, word [eax]
mov word [ebp - 0xa0], cx
mov dword [ebp - 0x80], 0x24d2
jmp 0x402407
mov edx, dword [ebp - 0x80]
add edx, 0x46
mov dword [ebp - 0x80], edx
cmp dword [ebp - 0x80], 0x2ba8
jae 0x4024a0
mov eax, dword [ebp - 0x80]
sub eax, 0x46
mov dword [ebp - 0x80], eax
mov cl, byte [ebp - 0x99]
mov byte [ebp - 0x27c], cl
cmp byte [ebp - 0x27c], 0x13
je 0x402434
jmp 0x402481
mov edx, dword [ebp - 0x60]
movzx eax, byte [edx]
movzx ecx, byte [ebp - 0xcd]
or eax, ecx
mov edx, dword [ebp - 0x60]
mov byte [edx], al
mov eax, dword [ebp - 0xfc]
xor eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x88]
mov dword [ecx], eax
mov edx, dword [ebp - 0x4c]
mov eax, dword [edx]
mov ecx, dword [ebp - 0xb4]
sar eax, cl
mov dword [ebp - 0x98], eax
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x8c]
shl edx, cl
mov dword [ebp - 0xf0], edx
jmp 0x40249b
lea eax, [ebp - 0x54]
push eax
lea ecx, [ebp - 0x10]
push ecx
lea edx, [ebp - 0x88]
push edx
call sub.gdiplus.dll_GdiplusStartup
mov dword [ebp - 0x94], eax
jmp 0x4023fe
lea eax, [ebp - 0x94]
mov dword [ebp - 0x74], eax
mov cl, byte [ebp - 0xd9]
mov byte [ebp - 0x41], cl
movzx edx, word [ebp - 0xa0]
movzx eax, word [ebp - 0xa4]
add edx, eax
mov word [ebp - 0x108], dx
mov ecx, dword [ebp - 0xf0]
and ecx, dword [ebp - 0x98]
mov dword [ebp - 0x8c], ecx
mov edx, dword [ebp - 0xe0]
movzx eax, word [edx]
mov dword [ebp - 0x280], eax
cmp dword [ebp - 0x280], 0xff3
je 0x4024fb
jmp 0x4029a1
lea ecx, [ebp - 0xd9]
mov dword [ebp - 0xcc], ecx
mov dx, word [ebp - 0x108]
mov word [ebp - 0xb8], dx
mov eax, dword [ebp - 0x74]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x88]
add ecx, dword [edx]
mov dword [ebp - 0x94], ecx
movsx eax, byte [ebp - 0x99]
add eax, 0x65
movsx ecx, byte [ebp - 0xa5]
cmp eax, ecx
je 0x4025a7
movsx edx, byte [ebp - 0x99]
sub edx, 0x32
movsx eax, byte [ebp - 0xa5]
cmp edx, eax
je 0x402592
mov ecx, dword [ebp - 0xc4]
mov dword [ebp - 0xe4], ecx
mov edx, dword [ebp - 0x4c]
mov eax, dword [edx]
xor eax, dword [ebp - 0x8c]
mov dword [ebp - 0xf0], eax
mov dword [ebp - 0x38], 0xdc29
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x98]
or edx, dword [ecx]
mov dword [ebp - 0xb4], edx
mov eax, dword [ebp - 0xb4]
mov dword [ebp - 0x68], eax
jmp 0x4025a7
movzx edx, byte [ebp - 0xd9]
movzx ecx, byte [ebp - 0xcd]
shl edx, cl
mov eax, dword [ebp - 0x60]
mov byte [eax], dl
mov ecx, dword [ebp - 0xe0]
movzx edx, word [ecx]
movzx ecx, word [ebp - 0xd4]
sar edx, cl
mov word [ebp - 0x108], dx
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0x284], eax
cmp dword [ebp - 0x284], 0
je 0x4025d7
jmp 0x402605
mov ecx, dword [ebp - 0x88]
mov edx, dword [ecx]
mov dword [ebp - 0x84], edx
lea eax, [ebp - 0x98]
mov dword [ebp - 0xc0], eax
mov ecx, dword [ebp - 0x98]
sub ecx, dword [ebp - 0xf0]
mov dword [ebp - 0x8c], ecx
jmp 0x402662
mov edx, dword [ebp - 0x74]
mov eax, dword [ebp - 0xc4]
add eax, dword [edx]
mov dword [ebp - 0x58], eax
lea ecx, [ebp - 0x40]
push ecx
lea edx, [ebp - 0x14]
push edx
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
mov dword [ebp - 0x64], eax
movzx eax, word [ebp - 0x108]
mov ecx, dword [ebp - 0xe0]
movzx edx, word [ecx]
and eax, edx
mov word [ebp - 0xd4], ax
movzx eax, byte [ebp - 0xcd]
movzx ecx, byte [ebp - 0x41]
sub eax, ecx
mov byte [ebp - 0xd9], al
mov edx, dword [ebp - 0xc0]
mov eax, dword [section..data]
add eax, dword [edx]
mov ecx, dword [ebp - 0x4c]
mov dword [ecx], eax
mov edx, 0xa
mov word [ebp - 0x48], dx
mov eax, dword [ebp - 0x38]
sub eax, 0x7c
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ecx]
sub edx, dword [ebp - 0x68]
mov dword [0x416c60], edx
mov eax, dword [ebp - 0x8c]
add eax, dword [ebp - 0xb4]
mov dword [ebp - 0x98], eax
mov cl, byte [ebp - 0xa5]
mov byte [ebp - 0x288], cl
cmp byte [ebp - 0x288], 0x69
je 0x4026ab
jmp 0x4026ad
jmp 0x4026cc
push 0x6c
lea edx, [ebp - 0xa5]
push edx
push 0x39
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebp - 0xa4]
push ecx
call dword [sym.imp.SHELL32.dll_SHGetDataFromIDListA]
mov dword [ebp - 0x78], eax
mov edx, dword [ebp - 0x48]
mov eax, dword [ebp - 0xcc]
mov cl, byte [eax]
call fcn.00403990
cmp dword [ebp - 0x38], 0xb205
ja 0x40266b
movzx ecx, byte [ebp - 0xd9]
mov edx, dword [ebp - 0x60]
movzx eax, byte [edx]
sub ecx, eax
mov byte [ebp - 0x41], cl
mov ecx, dword [ebp - 0x74]
mov edx, dword [ecx]
mov dword [ebp - 0x28c], edx
cmp dword [ebp - 0x28c], 0x2aa4
je 0x40271c
cmp dword [ebp - 0x28c], 0xc3f6
je 0x402739
jmp 0x402768
mov eax, dword [ebp - 0xe0]
movzx ecx, word [eax]
movzx edx, word [ebp - 0xb8]
sub ecx, edx
mov eax, dword [ebp - 0xe0]
mov word [eax], cx
jmp 0x402768
mov ecx, dword [ebp - 0x68]
add ecx, dword [0x416c60]
mov dword [ebp - 0xf0], ecx
mov edx, dword [ebp - 0xc4]
add edx, dword [ebp - 0x84]
mov dword [ebp - 0xfc], edx
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0xf0]
xor ecx, dword [eax]
mov dword [ebp - 0x68], ecx
movsx edx, word [ebp - 0x48]
cmp edx, 0x62
jle 0x40277e
mov edx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x60]
mov cl, byte [eax]
call fcn.00403990
lea ecx, [ebp - 0x8c]
mov dword [ebp - 0xb0], ecx
mov dword [ebp - 0xec], 0x226a
movsx edx, word [ebp - 0x48]
or edx, 0x65d
cmp edx, 0x110
jne 0x402814
mov eax, dword [ebp - 0xcc]
movzx edx, byte [eax]
mov eax, dword [ebp - 0x60]
movzx ecx, byte [eax]
sar edx, cl
mov ecx, dword [ebp - 0xcc]
mov byte [ecx], dl
lea edx, [ebp - 0x8c]
push edx
lea eax, [ebp - 0x14]
push eax
call dword [sym.imp.SHELL32.dll_ILFindChild]
mov dword [ebp - 0x100], eax
movsx ecx, byte [ebp - 0xa5]
shl ecx, 0xa
movsx edx, byte [ebp - 0x99]
cmp ecx, edx
jle 0x402814
mov eax, dword [ebp - 0xf0]
and eax, dword [ebp - 0xb4]
mov dword [0x416c60], eax
mov ecx, dword [ebp - 0x88]
mov edx, dword [ebp - 0x94]
sub edx, dword [ecx]
mov eax, dword [ebp - 0x74]
mov dword [eax], edx
call fcn.00401ad0
lea ecx, [ebp - 0xb4]
mov dword [ebp - 0xf8], ecx
mov dword [ebp - 0xec], 0x226a
jmp 0x40283e
mov edx, dword [ebp - 0xec]
add edx, 0xd8
mov dword [ebp - 0xec], edx
cmp dword [ebp - 0xec], 0x6a22
jae 0x402925
mov eax, dword [ebp - 0xec]
add eax, 0xd8
mov dword [ebp - 0xec], eax
mov ecx, dword [ebp - 0x68]
sub ecx, dword [section..data]
mov edx, dword [ebp - 0xf8]
mov dword [edx], ecx
mov al, byte [ebp - 0xa5]
mov byte [ebp - 0x290], al
cmp byte [ebp - 0x290], 0x60
je 0x402887
jmp 0x402892
movsx ecx, word [ebp - 0x48]
shl ecx, 0xe
mov word [ebp - 0x48], cx
mov edx, dword [ebp - 0xb0]
mov eax, dword [edx]
and eax, dword [ebp - 0x68]
mov dword [ebp - 0x8c], eax
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x98]
add edx, dword [ecx]
mov eax, dword [ebp - 0xb4]
sub eax, dword [ebp - 0xf0]
cmp edx, eax
je 0x4028ef
mov ecx, dword [ebp - 0x270]
push ecx
mov edx, dword [ebp - 0x270]
push edx
mov eax, dword [ebp - 0x26c]
push eax
call dword [sym.imp.SHELL32.dll_FindExecutableA]
mov dword [ebp - 0x7c], eax
mov ecx, dword [ebp - 0xb0]
mov edx, dword [ecx]
add edx, dword [ebp - 0xf0]
mov dword [ebp - 0x68], edx
jmp 0x402920
mov eax, dword [ebp - 0x94]
add eax, dword [ebp - 0x84]
mov ecx, dword [ebp - 0x88]
mov edx, dword [ebp - 0x58]
sub edx, dword [ecx]
cmp eax, edx
jne 0x402920
mov eax, dword [ebp - 0xb0]
mov ecx, dword [ebp - 0xb4]
or ecx, dword [eax]
mov edx, dword [ebp - 0xf8]
mov dword [edx], ecx
jmp 0x40282c
mov dword [ebp - 0xbc], 0x411c60
movzx eax, byte [ebp - 0x41]
movzx ecx, byte [ebp - 0xcd]
sar eax, cl
mov byte [ebp - 0xd9], al
movsx ecx, byte [ebp - 0xa5]
movsx edx, byte [ebp - 0x99]
xor ecx, edx
mov byte [0x411004], cl
lea eax, [ebp - 0xb8]
mov dword [ebp - 0x5c], eax
lea ecx, [ebp - 0xe4]
mov dword [ebp - 0xd8], ecx
mov dword [ebp - 0x104], 0x40b1b0
mov edx, dword [ebp - 0xd8]
mov eax, dword [edx]
mov dword [ebp - 0x6c], eax
mov ecx, dword [ebp - 0x60]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0xcc]
movzx ecx, byte [eax]
and edx, ecx
mov byte [ebp - 0x41], dl
lea edx, [ebp - 0xb8]
mov dword [ebp - 0x70], edx
jmp 0x4029d9
mov eax, dword [ebp - 0x4c]
mov ecx, dword [eax]
add ecx, dword [ebp - 0x8c]
mov dword [0x416c60], ecx
mov edx, dword [ebp - 0xfc]
sub edx, dword [ebp - 0x94]
mov dword [ebp - 0xc4], edx
push 0x45
mov dl, byte [ebp - 0xd9]
mov eax, dword [ebp - 0x88]
mov ecx, dword [eax]
call fcn.00402bd0
mov ecx, dword [ebp - 0x98]
sub ecx, dword [ebp - 0xb4]
mov edx, dword [ebp - 0x4c]
mov dword [edx], ecx
mov eax, dword [ebp - 0x60]
movzx ecx, byte [eax]
push ecx
call fcn.00402d60
jmp 0x402ad6
mov edx, dword [ebp - 0x60]
movzx eax, byte [edx]
movzx ecx, byte [ebp - 0xcd]
or eax, ecx
movzx edx, byte [ebp - 0xd9]
cmp eax, edx
jge 0x402ad6
mov eax, dword [ebp - 0x4c]
mov ecx, dword [eax]
sub ecx, dword [ebp - 0x98]
mov dword [ebp - 0xb4], ecx
mov edx, dword [ebp - 0x4c]
mov eax, dword [edx]
add eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0x4c]
mov dword [ecx], eax
movzx edx, byte [ebp - 0xd9]
mov eax, dword [ebp - 0x60]
movzx ecx, byte [eax]
sub edx, ecx
mov byte [ebp - 0xcd], dl
lea edx, [ebp - 0x14]
push edx
mov eax, dword [ebp - 0x14]
push eax
call dword [sym.imp.SHELL32.dll_DragQueryPoint]
mov dword [ebp - 0xe8], eax
mov ecx, dword [ebp - 0xe0]
movzx edx, word [ecx]
movzx eax, word [ebp - 0xd4]
add edx, eax
movzx ecx, word [ebp - 0x108]
movzx eax, word [ebp - 0xa4]
sub ecx, eax
cmp edx, ecx
jl 0x402abd
mov ecx, dword [ebp - 0x88]
mov edx, dword [ecx]
and edx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x88]
mov dword [eax], edx
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ecx]
sub edx, dword [ebp - 0xf0]
mov dword [ebp - 0x98], edx
mov edx, 0x30
mov cl, byte [ebp - 0xcd]
call fcn.00403990
mov eax, dword [ebp - 0xe0]
movzx ecx, word [eax]
movzx edx, word [ebp - 0xa4]
add ecx, edx
mov word [ebp - 0x108], cx
mov eax, dword [ebp - 0x4c]
mov ecx, dword [eax]
and ecx, dword [ebp - 0xf0]
mov dword [ebp - 0x8c], ecx
movzx edx, byte [ebp - 0x99]
push edx
movzx eax, byte [ebp - 0xa5]
push eax
mov ecx, dword [ebp - 0x98]
push ecx
call fcn.004017a0
jmp 0x402b34
mov edx, dword [ebp - 0x98]
sub edx, dword [ebp - 0xb4]
mov eax, dword [ebp - 0x4c]
mov dword [eax], edx
mov ecx, dword [ebp - 0x94]
add ecx, dword [ebp - 0xfc]
mov dword [ebp - 0x58], ecx
mov edx, dword [ebp - 0x98]
push edx
call fcn.004031f0
add esp, 4
movzx eax, byte [ebp - 0xd9]
sub eax, 0x39
mov byte [ebp - 0xcd], al
lea ecx, [ebp - 0x34]
push ecx
call dword [sym.imp.SHELL32.dll_SHFileOperationA]
mov dword [ebp - 0xb4], eax
mov edx, dword [ebp - 0x94]
sub edx, dword [ebp - 0xfc]
mov dword [ebp - 0x58], edx
mov eax, dword [ebp - 0x4c]
mov ecx, dword [eax]
add ecx, dword [section..data]
mov dword [ebp - 0x98], ecx
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x98]
sub eax, dword [edx]
mov dword [section..data], eax
mov ecx, dword [ebp - 0x94]
add ecx, dword [ebp - 0xfc]
mov dword [ebp - 0x58], ecx
push 0xf4
push 0x60
lea edx, [ebp - 0x268]
push edx
push pe_nt_image_headers32
mov eax, dword [ebp - 0x270]
push eax
call dword [sym.imp.SHELL32.dll_SHGetFileInfoA]
mov dword [ebp - 0x94], eax
mov eax, dword [ebp - 0xb4]
mov esp, ebp
pop ebp
ret 0x10