Function at 0x423d40
Capabilities:
Extract resource via kernel32 functions
Open clipboard
Read clipboard data
Write clipboard data

Disassembly:
sub esp, 0x4f8
mov eax, dword [esp + 0x4fc]
push eax
call fcn.00582af0
push eax
call fcn.005827d0
add esp, 8
test eax, eax
mov dword [esp + 8], eax
je 0x423d88
mov ecx, dword [eax + 0x8b4]
test ecx, ecx
jne 0x423d88
mov eax, dword [0x609d04]
test eax, eax
je 0x423d88
mov ecx, dword [0x645324]
push ecx
call dword [sym.imp.USER32.dll_OpenClipboard]
test eax, eax
jne 0x423d94
mov eax, 1
add esp, 0x4f8
ret
push ebx
push ebp
push esi
push edi
push 1
call dword [sym.imp.USER32.dll_GetClipboardData]
mov esi, eax
test esi, esi
mov dword [esp + 0x10], esi
je 0x423e98
push esi
call dword [sym.imp.KERNEL32.dll_GlobalLock]
mov ebp, eax
test ebp, ebp
jne 0x423dd8
push esi
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
call dword [sym.imp.USER32.dll_CloseClipboard]
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x4f8
ret
mov al, byte [ebp]
xor ebx, ebx
xor edi, edi
test al, al
mov esi, ebp
jne 0x423e03
mov edx, dword [esp + 0x10]
push edx
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
call dword [sym.imp.USER32.dll_CloseClipboard]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x4f8
ret
cmp byte [esi], 0
je 0x423e42
push 0xa
push esi
call fcn.005cbf10
add esp, 8
test eax, eax
je 0x423e3c
test edi, edi
je 0x423e1c
inc ebx
cmp esi, eax
je 0x423e25
inc ebx
xor edi, edi
jmp 0x423e2a
mov edi, 1
mov cl, byte [eax + 1]
inc eax
cmp cl, 0xd
jne 0x423e34
inc eax
test eax, eax
mov esi, eax
jne 0x423e03
jmp 0x423e42
inc ebx
test edi, edi
je 0x423e42
inc ebx
cmp ebx, dword [0x609d08]
jge 0x423e6b
mov eax, dword [esp + 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
call dword [sym.imp.USER32.dll_CloseClipboard]
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x4f8
ret
mov eax, ebp
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x423e70
sub eax, edx
lea esi, [eax + 0xa]
push esi
call fcn.005cc381
add esp, 4
test eax, eax
mov dword [esp + 0x14], eax
jne 0x423eae
mov ecx, dword [esp + 0x10]
push ecx
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
call dword [sym.imp.USER32.dll_CloseClipboard]
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x4f8
ret
mov edx, dword [esp + 0x14]
mov ecx, esi
shr ecx, 2
xor eax, eax
mov edi, edx
rep stosd dword es:[edi], eax
mov ecx, esi
and ecx, 3
rep stosb byte es:[edi], al
mov eax, ebp
sub edx, ebp
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x423ec8
mov edx, dword [esp + 0x10]
push edx
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov edi, dword [sym.imp.USER32.dll_CloseClipboard]
call edi
push ebx
push 0
push 0x264
call fcn.00421db0
mov ebp, dword [sym.imp.USER32.dll_wsprintfA]
add esp, 8
push eax
lea eax, [esp + 0x128]
push eax
call ebp
mov ebx, dword [esp + 0x20]
add esp, 0xc
mov edx, ebx
nop
mov al, byte [edx]
cmp al, 0xd
je 0x423f1e
cmp al, 0xa
je 0x423f1e
cmp al, 0x20
jne 0x423f21
inc edx
jmp 0x423f10
cmp byte [edx], 0
je 0x424027
xor eax, eax
mov ecx, 0x41
lea edi, [esp + 0x1c]
push 0xfa
rep stosd dword es:[edi], eax
push edx
lea ecx, [esp + 0x24]
push ecx
call fcn.005cc410
mov cl, byte [esp + 0x28]
mov esi, dword [0x5e7854]
add esp, 0xc
xor edx, edx
test cl, cl
lea eax, [esp + 0x1c]
je 0x423f91
mov edi, edi
mov cl, byte [eax]
cmp cl, 0xd
jne 0x423f73
cmp byte [eax + 1], 0xa
jne 0x423f78
inc edx
add eax, 2
jmp 0x423f7a
cmp cl, 0xa
jne 0x423f79
inc edx
inc eax
cmp edx, 9
jge 0x423f86
cmp byte [eax], 0
jne 0x423f60
jmp 0x423f91
mov dl, byte [0x5e7858]
mov dword [eax], esi
mov byte [eax + 4], dl
lea eax, [esp + 0x1c]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x423f98
sub eax, edx
lea eax, [esp + eax + 0x1b]
lea ecx, [esp + 0x1c]
cmp eax, ecx
jbe 0x423fcd
lea ecx, [ecx]
mov cl, byte [eax]
cmp cl, 0xd
je 0x423fc1
cmp cl, 0xa
je 0x423fc1
cmp cl, 0x20
jne 0x423fcd
mov byte [eax], 0
dec eax
lea edx, [esp + 0x1c]
cmp eax, edx
ja 0x423fb0
lea eax, [esp + 0x1c]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x423fd4
sub eax, edx
cmp eax, 0xf0
jle 0x423ff7
mov al, byte [0x5e7858]
mov dword [esp + 0x10c], esi
mov byte [esp + 0x110], al
lea eax, [esp + 0x120]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x424001
lea ecx, [esp + 0x1c]
push ecx
sub eax, edx
lea edx, [esp + eax + 0x124]
push 0x5e7848
push edx
call ebp
mov edi, dword [sym.imp.USER32.dll_CloseClipboard]
add esp, 0xc
push 0
push 0
push 0
push 0
push 2
push 4
push 0
lea eax, [esp + 0x13c]
push eax
push 0
push 0x263
call fcn.00421db0
mov ecx, dword [esp + 0x40]
mov edx, dword [ecx]
add esp, 8
push eax
push edx
call fcn.004cfed0
add esp, 0x28
test eax, eax
jne 0x424076
push ebx
call fcn.005cc393
add esp, 4
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x4f8
ret
mov eax, dword [0x645324]
push eax
call dword [sym.imp.USER32.dll_OpenClipboard]
test eax, eax
jne 0x42414c
push ebx
call fcn.005cc393
mov al, byte [0x609df8]
add esp, 4
test al, 1
je 0x42413f
mov eax, dword [0x6092c8]
test eax, eax
mov eax, dword [0x60f564]
je 0x42411e
test eax, eax
jne 0x424122
mov eax, dword [0x60f5a4]
test eax, eax
jne 0x4240ff
mov ecx, dword [0x645320]
push 0xa
push 0x3c
push ecx
mov dword [0x60f5a0], 0
call dword [sym.imp.KERNEL32.dll_FindResourceA]
test eax, eax
je 0x4240ff
mov edx, dword [0x645320]
push eax
push edx
call dword [sym.imp.KERNEL32.dll_LoadResource]
test eax, eax
mov dword [0x60f5a4], eax
je 0x4240ff
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
mov dword [0x60f5a0], eax
jmp 0x424104
mov eax, dword [0x60f5a0]
test eax, eax
je 0x424137
push 0x17
push eax
call dword [sym.imp.WINMM.dll_sndPlaySoundA]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x4f8
ret
test eax, eax
je 0x424137
push 0xffffffffffffffff
call dword [sym.imp.USER32.dll_MessageBeep]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x4f8
ret
push 0
call dword [sym.imp.USER32.dll_MessageBeep]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x4f8
ret
mov eax, ebx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x424151
sub eax, edx
add eax, 0xa
push eax
push 0x2042
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov esi, eax
xor ebp, ebp
cmp esi, ebp
jne 0x42420c
call edi
push ebx
call fcn.005cc393
mov al, byte [0x609df8]
add esp, 4
test al, 1
je 0x4241ff
cmp dword [0x6092c8], ebp
mov eax, dword [0x60f564]
je 0x4242b8
cmp eax, ebp
jne 0x4242c0
cmp dword [0x60f5a4], ebp
jne 0x424295
mov eax, dword [0x645320]
push 0xa
push 0x3c
push eax
mov dword [0x60f5a0], ebp
call dword [sym.imp.KERNEL32.dll_FindResourceA]
cmp eax, ebp
je 0x424295
mov ecx, dword [0x645320]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_LoadResource]
cmp eax, ebp
mov dword [0x60f5a4], eax
je 0x424295
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
mov dword [0x60f5a0], eax
jmp 0x42429a
push ebp
call dword [sym.imp.USER32.dll_MessageBeep]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x4f8
ret
push esi
call dword [sym.imp.KERNEL32.dll_GlobalLock]
cmp eax, ebp
jne 0x4242d5
push esi
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
push esi
call dword [sym.imp.KERNEL32.dll_GlobalFree]
call edi
push ebx
call fcn.005cc393
mov al, byte [0x609df8]
add esp, 4
test al, 1
je 0x4241ff
cmp dword [0x6092c8], ebp
mov eax, dword [0x60f564]
je 0x4242b8
cmp eax, ebp
jne 0x4242c0
cmp dword [0x60f5a4], ebp
jne 0x424295
mov edx, dword [0x645320]
push 0xa
push 0x3c
push edx
mov dword [0x60f5a0], ebp
call dword [sym.imp.KERNEL32.dll_FindResourceA]
cmp eax, ebp
je 0x424295
push eax
mov eax, dword [0x645320]
push eax
call dword [sym.imp.KERNEL32.dll_LoadResource]
cmp eax, ebp
mov dword [0x60f5a4], eax
je 0x424295
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
mov dword [0x60f5a0], eax
jmp 0x42429a
mov eax, dword [0x60f5a0]
cmp eax, ebp
je 0x4241f8
push 0x17
push eax
call dword [sym.imp.WINMM.dll_sndPlaySoundA]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x4f8
ret
cmp eax, ebp
je 0x4241f8
push 0xffffffffffffffff
call dword [sym.imp.USER32.dll_MessageBeep]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x4f8
ret
mov edx, eax
mov ecx, ebx
sub edx, ebx
jmp 0x4242e0
mov al, byte [ecx]
mov byte [edx + ecx], al
inc ecx
test al, al
jne 0x4242e0
push ebx
call fcn.005cc393
add esp, 4
push esi
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
push esi
push 1
call dword [sym.imp.USER32.dll_SetClipboardData]
call edi
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x4f8
ret