Function at 0x1003f14
Capabilities:
Open clipboard
Read clipboard data

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x388
mov eax, dword [0x101767c]
push ebx
xor ebx, ebx
push edi
xor edi, edi
inc edi
cmp dword [0x1017984], ebx
mov dword [ebp - 4], eax
mov dword [ebp - 0x2b0], ebx
mov dword [ebp - 0x2b4], ebx
mov dword [ebp - 0x2d8], ebx
mov dword [ebp - 0x2e0], edi
mov dword [ebp - 0x2e4], ebx
jle 0x1003f67
push dword [0x101825c]
call fcn.0100772d
test eax, eax
je 0x10044ac
cmp dword [ebp + 8], ebx
push esi
je 0x1003ffa
call fcn.01005658
push dword [0x101852c]
call dword [sym.imp.USER32.dll_OpenClipboard]
test eax, eax
je 0x10044ab
push 0x104
lea eax, [ebp - 0x20c]
push eax
push 0x9c
push dword [0x1018534]
call dword [sym.imp.USER32.dll_LoadStringW]
push 0xc
call dword [sym.imp.USER32.dll_GetClipboardData]
mov esi, eax
cmp esi, ebx
je 0x1003ff3
push esi
mov dword [ebp - 0x384], 0x204d454d
mov dword [ebp - 0x380], ebx
call dword [sym.imp.KERNEL32.dll_GlobalLock]
push esi
mov dword [ebp - 0x370], eax
call dword [sym.imp.KERNEL32.dll_GlobalSize]
mov dword [ebp - 0x374], eax
push ebx
lea eax, [ebp - 0x388]
push eax
mov dword [ebp - 0x358], ebx
push ebx
jmp 0x10040d5
xor esi, esi
jmp 0x10040dd
push 0x50
lea eax, [ebp - 0x2ac]
push eax
push 0x77
push dword [0x1018534]
mov word [ebp - 0x20c], bx
call dword [sym.imp.USER32.dll_LoadStringW]
mov eax, dword [0x101852c]
mov dword [ebp - 0x33c], eax
lea eax, [ebp - 0x20c]
mov dword [ebp - 0x324], eax
lea eax, [ebp - 0x2ac]
mov dword [ebp - 0x310], eax
lea eax, [ebp - 0x340]
push eax
mov dword [ebp - 0x340], 0x58
mov dword [ebp - 0x338], ebx
mov dword [ebp - 0x334], 0x1018440
mov dword [ebp - 0x330], ebx
mov dword [ebp - 0x32c], ebx
mov dword [ebp - 0x328], edi
mov dword [ebp - 0x320], 0x104
mov dword [ebp - 0x31c], ebx
mov dword [ebp - 0x318], ebx
mov dword [ebp - 0x314], ebx
mov dword [ebp - 0x30c], 0x1804
mov word [ebp - 0x308], bx
mov word [ebp - 0x306], bx
mov dword [ebp - 0x304], ebx
mov dword [ebp - 0x300], ebx
mov dword [ebp - 0x2fc], ebx
mov dword [ebp - 0x2f8], ebx
call dword [sym.imp.comdlg32.dll_GetOpenFileNameW]
test eax, eax
je 0x10044db
push 0x10000
push ebx
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.WINMM.dll_mmioOpenW]
mov esi, eax
cmp esi, ebx
je 0x10044ba
push 0x7f02
push ebx
call dword [sym.imp.USER32.dll_LoadCursorW]
push eax
call dword [sym.imp.USER32.dll_SetCursor]
mov dword [ebp - 0x2d8], eax
push ebx
lea eax, [ebp - 0x20c]
push eax
lea eax, [ebp - 0x2d4]
push eax
lea eax, [ebp - 0x2b4]
push eax
lea eax, [ebp - 0x2e8]
push eax
lea eax, [ebp - 0x2b0]
push eax
push esi
call fcn.0100607e
push ebx
push esi
mov dword [ebp - 0x2c4], eax
call dword [sym.imp.WINMM.dll_mmioClose]
cmp dword [ebp - 0x2c4], ebx
jne 0x10044db
cmp dword [ebp - 0x2d4], ebx
je 0x1004421
cmp dword [ebp - 0x2b4], ebx
je 0x10044db
cmp dword [0x1017984], ebx
jle 0x100418d
push dword [ebp - 0x2b0]
call fcn.0100772d
test eax, eax
jne 0x100418d
lea eax, [ebp - 0x20c]
push eax
mov eax, dword [ebp + 8]
neg eax
sbb eax, eax
and eax, 0x18
add eax, 0x87
push eax
jmp 0x10044c3
cmp dword [0x1017984], ebx
mov dword [ebp - 0x2e4], edi
jne 0x10041e2
call fcn.010083d4
mov eax, dword [ebp - 0x2b4]
mov dword [0x101797c], eax
mov eax, dword [ebp - 0x2d4]
mov dword [0x1017980], eax
mov dword [0x1017984], eax
mov eax, dword [ebp - 0x2b0]
mov dword [0x101825c], eax
mov eax, dword [ebp - 0x2e8]
mov dword [0x1018260], eax
mov dword [ebp - 0x2b4], ebx
mov dword [ebp - 0x2b0], ebx
jmp 0x1004421
mov ecx, dword [ebp - 0x2b0]
xor eax, eax
cmp word [ecx + 2], di
push dword [ecx + 4]
setne al
xor edx, edx
mov dword [ebp - 0x2d0], eax
mov eax, dword [0x101825c]
cmp word [eax + 2], di
push dword [eax + 4]
setne dl
push dword [ebp - 0x2d4]
mov dword [ebp - 0x2cc], edx
xor edx, edx
cmp word [ecx + 0xe], 8
sete dl
mov dword [ebp - 0x2c8], edx
xor edx, edx
cmp word [eax + 0xe], 8
sete dl
mov dword [ebp - 0x2dc], edx
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov esi, eax
mov eax, dword [0x1017984]
push edi
push edi
add eax, esi
push eax
call fcn.0100776f
test eax, eax
je 0x10044db
mov eax, dword [0x1017984]
add eax, esi
mov dword [0x1017984], eax
sub eax, esi
sub eax, dword [0x1017988]
push eax
push dword [0x101825c]
call fcn.010076bd
push eax
push dword [0x1017988]
push dword [0x101825c]
call fcn.010076bd
add eax, dword [0x101797c]
push eax
mov eax, dword [0x1017988]
add eax, esi
push eax
push dword [0x101825c]
call fcn.010076bd
add eax, dword [0x101797c]
push eax
call fcn.0100e5a0
add esp, 0xc
push dword [0x1017988]
push dword [0x101825c]
call fcn.010076bd
mov edx, dword [ebp - 0x2b4]
mov ebx, eax
mov eax, dword [0x101825c]
add ebx, dword [0x101797c]
mov edi, dword [eax + 4]
mov ecx, edx
neg edi
test esi, esi
mov dword [ebp - 0x2b8], ebx
mov dword [ebp - 0x2bc], edx
mov dword [ebp - 0x2c0], ecx
jle 0x100441f
mov dword [ebp - 0x2c4], esi
mov esi, 0x80
jmp 0x100430f
mov ecx, dword [ebp - 0x2c0]
mov edx, dword [ebp - 0x2bc]
cmp dword [ebp - 0x2c8], 0
je 0x1004378
cmp dword [ebp - 0x2d0], 0
movzx eax, byte [edx]
je 0x100433a
cmp dword [ebp - 0x2cc], 0
movzx ecx, byte [edx + 1]
jne 0x100433c
add eax, ecx
cdq
sub eax, edx
sar eax, 1
jmp 0x100433c
mov ecx, eax
cmp dword [ebp - 0x2dc], 0
jne 0x10043af
add eax, 0xffffff80
add ecx, 0xffffff80
shl eax, 8
shl ecx, 8
mov edx, dword [ebp - 0x2b8]
add dword [ebp - 0x2b8], 2
mov word [edx], ax
xor edx, edx
cmp dword [ebp - 0x2cc], edx
je 0x10043c4
cmp dword [ebp - 0x2dc], edx
je 0x10043b4
mov byte [ebx], cl
inc ebx
jmp 0x10043c4
cmp dword [ebp - 0x2d0], 0
movsx eax, word [ecx]
je 0x100439a
cmp dword [ebp - 0x2cc], 0
movsx ecx, word [ecx + 2]
jne 0x100439c
add eax, ecx
cdq
sub eax, edx
sar eax, 1
jmp 0x100439c
mov ecx, eax
cmp dword [ebp - 0x2dc], 0
je 0x1004351
sar eax, 8
sar ecx, 8
add eax, esi
add ecx, esi
mov byte [ebx], al
inc ebx
jmp 0x1004361
mov eax, dword [ebp - 0x2b8]
add dword [ebp - 0x2b8], 2
mov word [eax], cx
mov eax, dword [ebp - 0x2b0]
add edi, dword [eax + 4]
js 0x1004413
mov eax, dword [0x101825c]
mov eax, dword [eax + 4]
sub edi, eax
cmp dword [ebp - 0x2c8], edx
je 0x10043e9
inc dword [ebp - 0x2bc]
jmp 0x10043f0
add dword [ebp - 0x2c0], 2
cmp dword [ebp - 0x2d0], edx
je 0x100440f
cmp dword [ebp - 0x2c8], edx
je 0x1004408
inc dword [ebp - 0x2bc]
jmp 0x100440f
add dword [ebp - 0x2c0], 2
cmp edi, edx
jge 0x10043d7
dec dword [ebp - 0x2c4]
jne 0x1004303
xor ebx, ebx
cmp dword [ebp + 8], ebx
je 0x100442c
call dword [sym.imp.USER32.dll_CloseClipboard]
cmp dword [ebp - 0x2b4], ebx
mov edi, dword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov esi, dword [sym.imp.KERNEL32.dll_GlobalHandle]
mov ebx, dword [sym.imp.KERNEL32.dll_GlobalFree]
je 0x100445c
push dword [ebp - 0x2b4]
call esi
push eax
call edi
push dword [ebp - 0x2b4]
call esi
push eax
call ebx
cmp dword [ebp - 0x2b0], 0
je 0x100447b
push dword [ebp - 0x2b0]
call esi
push eax
call edi
push dword [ebp - 0x2b0]
call esi
push eax
call ebx
cmp dword [ebp - 0x2d8], 0
je 0x1004490
push dword [ebp - 0x2d8]
call dword [sym.imp.USER32.dll_SetCursor]
cmp dword [ebp - 0x2e4], 1
jne 0x10044a4
push dword [ebp - 0x2e0]
call fcn.0100562b
push 1
call fcn.01007e97
pop esi
mov ecx, dword [ebp - 4]
pop edi
pop ebx
call fcn.0100e270
leave
ret 4
lea eax, [ebp - 0x20c]
push eax
push 0x6a
push 0x65
push 0x30
push dword [0x1018534]
push dword [0x101852c]
call fcn.010054be
add esp, 0x18
mov dword [ebp - 0x2e0], ebx
jmp 0x1004421