Function at 0x405284
Capabilities:
Open clipboard
Query environment variable
Read clipboard data

Disassembly:
push ebp
lea ebp, [esp - 0x70]
sub esp, 0x950
push ebx
push esi
mov esi, dword [ebp + 0x7c]
cmp byte [esi], 0
mov ebx, eax
mov dword [ebp + 0x6c], ebx
je 0x4058e0
push edi
cmp byte [esi], 0x7e
jne 0x4058b9
mov al, byte [esi + 1]
mov cl, al
mov dl, cl
sub dl, 0x41
cmp dl, 0x19
ja 0x4052be
add cl, 0x20
cmp cl, 0x6e
jne 0x4052d6
inc esi
inc esi
mov byte [ebx], 0xd
mov byte [ebx + 1], 0xa
inc ebx
mov dword [ebp + 0x7c], esi
inc ebx
jmp 0x4058c4
mov cl, al
mov dl, cl
sub dl, 0x41
cmp dl, 0x19
ja 0x4052e5
add cl, 0x20
cmp cl, 0x78
jne 0x405315
mov al, byte [esi + 2]
mov byte [ebp + 0x64], al
mov al, byte [esi + 3]
push 0x10
mov byte [ebp + 0x65], al
lea eax, [ebp + 0x64]
push 0
push eax
mov byte [ebp + 0x66], 0
call sub.msvcrt.dll_strtoul
add esp, 0xc
add esi, 4
mov dword [ebp + 0x7c], esi
jmp 0x4058c1
mov cl, al
mov dl, cl
sub dl, 0x41
cmp dl, 0x19
ja 0x405324
add cl, 0x20
cmp cl, 0x71
jne 0x405336
mov byte [ebx], 0x22
inc esi
inc esi
mov dword [ebp + 0x7c], esi
jmp 0x4058c3
mov cl, al
mov dl, cl
sub dl, 0x41
cmp dl, 0x19
ja 0x405345
add cl, 0x20
cmp cl, 0x74
jne 0x40534f
mov byte [ebx], 9
jmp 0x40532c
cmp al, 0x25
je 0x40536f
cmp al, 0x24
je 0x40536f
mov cl, al
sub cl, 0x41
cmp cl, 0x19
ja 0x405363
add al, 0x20
cmp al, 0x7e
jne 0x4058b9
mov byte [ebx], al
jmp 0x40532c
movsx eax, al
add esi, 2
push eax
mov edx, esi
call fcn.004025dc
mov edi, eax
lea eax, [edi - 1]
cmp eax, 0x7d
pop ecx
ja 0x4058b9
push edi
lea eax, [ebp - 0x54]
push esi
push eax
call sub.msvcrt.dll_memcpy
mov eax, dword [ebp + 0x7c]
lea eax, [eax + edi + 3]
push 7
mov dword [ebp + 0x7c], eax
lea eax, [ebp - 0x54]
push str.folder.
push eax
mov byte [ebp + edi - 0x54], 0
call sub.msvcrt.dll__strnicmp
add esp, 0x18
test eax, eax
jne 0x405422
push 0x104
push eax
mov byte [ebp - 0x3e0], al
lea eax, [ebp - 0x3df]
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
lea eax, [ebp - 0x3e0]
lea ecx, [ebp - 0x4d]
call fcn.00405e89
test eax, eax
je 0x4058c4
lea eax, [ebp - 0x3e0]
push eax
call sub.msvcrt.dll_strlen
mov esi, eax
test esi, esi
pop ecx
jle 0x4058c4
sub eax, dword [ebp + 0x6c]
lea eax, [eax + ebx + 5]
cmp eax, 0x1000
jae 0x4058c4
lea eax, [ebp - 0x3e0]
jmp 0x405694
push 9
lea eax, [ebp - 0x54]
push str.loopcount
push eax
call sub.msvcrt.dll__strnicmp
add esp, 0xc
test eax, eax
jne 0x4054a0
push 0xff
push eax
mov byte [ebp - 0x2d8], al
lea eax, [ebp - 0x2d7]
push eax
call sub.msvcrt.dll_memset
push 0xa
lea eax, [ebp - 0x2d8]
push eax
mov eax, dword [ebp + 0x78]
mov eax, dword [eax + 0x10058]
inc eax
push eax
call sub.msvcrt.dll__itoa
lea eax, [ebp - 0x2d8]
push eax
call sub.msvcrt.dll_strlen
mov esi, eax
add esp, 0x1c
test esi, esi
jle 0x4058c4
sub eax, dword [ebp + 0x6c]
lea eax, [eax + ebx + 5]
cmp eax, 0x1000
jae 0x4058c4
lea eax, [ebp - 0x2d8]
jmp 0x405694
push 8
lea eax, [ebp - 0x54]
push str.currdate.
push eax
call sub.msvcrt.dll__strnicmp
add esp, 0xc
test eax, eax
jne 0x405522
mov esi, 0xff
push esi
mov byte [ebp - 0x4e0], al
xor edi, edi
lea eax, [ebp - 0x4df]
push edi
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
push esi
lea eax, [ebp - 0x4e0]
push eax
lea eax, [ebp - 0x4b]
push eax
push edi
push edi
push 0x400
call dword [sym.imp.KERNEL32.DLL_GetDateFormatA]
lea eax, [ebp - 0x4e0]
push eax
call sub.msvcrt.dll_strlen
mov esi, eax
cmp esi, edi
pop ecx
jle 0x4058c4
sub eax, dword [ebp + 0x6c]
lea eax, [eax + ebx + 5]
cmp eax, 0x1000
jae 0x4058c4
lea eax, [ebp - 0x4e0]
jmp 0x405694
push 8
lea eax, [ebp - 0x54]
push str.currtime.
push eax
call sub.msvcrt.dll__strnicmp
add esp, 0xc
test eax, eax
jne 0x4055a4
mov esi, 0xff
push esi
mov byte [ebp - 0x1d8], al
xor edi, edi
lea eax, [ebp - 0x1d7]
push edi
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
push esi
lea eax, [ebp - 0x1d8]
push eax
lea eax, [ebp - 0x4b]
push eax
push edi
push edi
push 0x400
call dword [sym.imp.KERNEL32.DLL_GetTimeFormatA]
lea eax, [ebp - 0x1d8]
push eax
call sub.msvcrt.dll_strlen
mov esi, eax
cmp esi, edi
pop ecx
jle 0x4058c4
sub eax, dword [ebp + 0x6c]
lea eax, [eax + ebx + 5]
cmp eax, 0x1000
jae 0x4058c4
lea eax, [ebp - 0x1d8]
jmp 0x405694
push 4
lea eax, [ebp - 0x54]
push str.sys.
push eax
call sub.msvcrt.dll__strnicmp
add esp, 0xc
test eax, eax
jne 0x405610
mov esi, 0x80
push esi
push eax
mov byte [ebp - 0xd8], al
lea eax, [ebp - 0xd7]
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
push esi
lea eax, [ebp - 0xd8]
push eax
lea eax, [ebp - 0x50]
push eax
call dword [sym.imp.KERNEL32.DLL_GetEnvironmentVariableA]
mov esi, eax
test esi, esi
jbe 0x4058c4
sub eax, dword [ebp + 0x6c]
lea eax, [eax + ebx + 5]
cmp eax, 0x1000
jae 0x4058c4
lea eax, [ebp - 0xd8]
jmp 0x405694
push 4
lea eax, [ebp - 0x54]
push str.nir.
push eax
call sub.msvcrt.dll__strnicmp
add esp, 0xc
test eax, eax
jne 0x40569b
push 0x3ff
push eax
mov byte [ebp - 0x8e0], al
lea eax, [ebp - 0x8df]
push eax
call sub.msvcrt.dll_memset
lea eax, [ebp - 0x50]
push str.exefile
push eax
call sub.msvcrt.dll__strcmpi
add esp, 0x14
test eax, eax
jne 0x4058c4
lea eax, [ebp - 0x8e0]
push eax
call fcn.00402893
lea eax, [ebp - 0x8e0]
push eax
call sub.msvcrt.dll_strlen
mov esi, eax
test esi, esi
pop ecx
pop ecx
jbe 0x4058c4
sub eax, dword [ebp + 0x6c]
lea eax, [eax + ebx + 5]
cmp eax, 0x1000
jae 0x4058c4
lea eax, [ebp - 0x8e0]
push esi
push eax
jmp 0x405832
push 6
lea eax, [ebp - 0x54]
push str.param.
push eax
call sub.msvcrt.dll__strnicmp
add esp, 0xc
test eax, eax
jne 0x4057cb
mov esi, dword [ebp + 0x78]
lea eax, [ebp - 0x4e]
lea edi, [esi + 0x100a4]
push eax
call fcn.00402ed8
xor edi, edi
cmp eax, edi
jl 0x4056de
lea ecx, [esi + 0x100c4]
call fcn.00402f05
mov dword [ebp + 0x68], eax
jmp 0x4056e1
mov dword [ebp + 0x68], edi
cmp dword [ebp + 0x68], edi
je 0x405714
push dword [ebp + 0x68]
call sub.msvcrt.dll_strlen
mov esi, eax
cmp esi, edi
pop ecx
jbe 0x4058c4
sub eax, dword [ebp + 0x6c]
lea eax, [eax + ebx + 5]
cmp eax, 0x1000
jae 0x4058c4
push esi
push dword [ebp + 0x68]
jmp 0x405832
mov eax, 0x100
mov dword [ebp + 0x4c], eax
mov dword [ebp + 0x60], eax
lea eax, [ebp - 0x4e]
mov dword [ebp + 0x48], edi
mov dword [ebp + 0x3c], edi
mov dword [ebp + 0x40], edi
mov dword [ebp + 0x44], edi
mov dword [ebp + 0x5c], edi
mov dword [ebp + 0x50], edi
mov dword [ebp + 0x54], edi
mov dword [ebp + 0x58], edi
push eax
lea edi, [ebp + 0x3c]
mov dword [ebp + 0x30], 0x412078
mov dword [ebp + 0x38], 0x66
call fcn.00402f66
push 0
lea ecx, [ebp + 0x30]
call fcn.0040143f
test eax, eax
je 0x4057ae
mov edi, dword [ebp + 0x50]
test edi, edi
jne 0x40576b
mov edi, 0x411f27
lea eax, [ebp - 0x4e]
push eax
lea eax, [esi + 0x100a4]
call fcn.00402e3d
push edi
lea eax, [esi + 0x100c4]
call fcn.00402e3d
push edi
call sub.msvcrt.dll_strlen
mov esi, eax
test esi, esi
pop ecx
jbe 0x4057ae
sub eax, dword [ebp + 0x6c]
lea eax, [eax + ebx + 5]
cmp eax, 0x1000
jae 0x4057ae
push esi
push edi
push ebx
call sub.msvcrt.dll_memcpy
add esp, 0xc
add ebx, esi
lea esi, [ebp + 0x50]
call fcn.00402f41
lea esi, [ebp + 0x3c]
call fcn.00402f41
lea edx, [ebp + 0x30]
call fcn.00401328
jmp 0x4058c4
push 7
lea eax, [ebp - 0x54]
push str.fparam.
push eax
call sub.msvcrt.dll__strnicmp
add esp, 0xc
test eax, eax
jne 0x405842
lea eax, [ebp - 0x4d]
push eax
call sub.msvcrt.dll_atoi
test eax, eax
pop ecx
jle 0x4058c4
mov ecx, dword [ebp + 0x78]
dec eax
add ecx, 0x10084
call fcn.00402f05
mov edi, eax
test edi, edi
je 0x4058c4
push edi
call sub.msvcrt.dll_strlen
mov esi, eax
test esi, esi
pop ecx
jbe 0x4058c4
sub eax, dword [ebp + 0x6c]
lea eax, [eax + ebx + 5]
cmp eax, 0x1000
jae 0x4058c4
push esi
push edi
push ebx
call sub.msvcrt.dll_memcpy
add esp, 0xc
add ebx, esi
jmp 0x4058c4
push 9
lea eax, [ebp - 0x54]
push 0x412b30
push eax
call sub.msvcrt.dll__strnicmp
add esp, 0xc
test eax, eax
jne 0x4058c4
push eax
call dword [sym.imp.USER32.dll_OpenClipboard]
test eax, eax
je 0x4058c4
push 1
call dword [sym.imp.USER32.dll_GetClipboardData]
test eax, eax
mov dword [ebp + 0x68], eax
je 0x4058b1
push eax
call dword [sym.imp.KERNEL32.DLL_GlobalLock]
mov edi, eax
test edi, edi
je 0x4058b1
push edi
call sub.msvcrt.dll_strlen
mov esi, eax
test esi, esi
pop ecx
jbe 0x4058a8
sub eax, dword [ebp + 0x6c]
lea eax, [eax + ebx + 5]
cmp eax, 0x1000
jae 0x4058a8
push esi
push edi
push ebx
call sub.msvcrt.dll_memcpy
add esp, 0xc
add ebx, esi
push dword [ebp + 0x68]
call dword [sym.imp.KERNEL32.DLL_GlobalUnlock]
call dword [sym.imp.USER32.dll_CloseClipboard]
jmp 0x4058c4
mov eax, dword [ebp + 0x7c]
mov al, byte [eax]
inc dword [ebp + 0x7c]
mov byte [ebx], al
inc ebx
mov eax, ebx
sub eax, dword [ebp + 0x6c]
add eax, 0x14
cmp eax, 0x1000
jg 0x4058df
mov esi, dword [ebp + 0x7c]
cmp byte [esi], 0
jne 0x4052a3
pop edi
pop esi
mov byte [ebx], 0
mov eax, ebx
pop ebx
add ebp, 0x70
leave
ret 8