Function at 0x10044eb
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 - 0x2d4], ebx
mov dword [ebp - 0x2e0], edi
mov dword [ebp - 0x2e4], ebx
jle 0x100453e
push dword [0x101825c]
call fcn.0100772d
test eax, eax
je 0x1004856
cmp dword [ebp + 8], ebx
push esi
je 0x10045d1
call fcn.01005658
push dword [0x101852c]
call dword [sym.imp.USER32.dll_OpenClipboard]
test eax, eax
je 0x1004855
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 0x10045ca
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 0x10046ac
xor esi, esi
jmp 0x10046b4
push 0x50
lea eax, [ebp - 0x2ac]
push eax
push 0x78
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 0x100476c
push 0x10000
push ebx
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.WINMM.dll_mmioOpenW]
mov esi, eax
cmp esi, ebx
je 0x1004b56
push 0x7f02
push ebx
call dword [sym.imp.USER32.dll_LoadCursorW]
push eax
call dword [sym.imp.USER32.dll_SetCursor]
mov dword [ebp - 0x2d4], eax
push ebx
lea eax, [ebp - 0x20c]
push eax
lea eax, [ebp - 0x2d8]
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 0
push esi
mov ebx, eax
call dword [sym.imp.WINMM.dll_mmioClose]
test ebx, ebx
jne 0x100476a
cmp dword [ebp - 0x2d8], ebx
je 0x10047c8
cmp dword [ebp - 0x2b4], ebx
je 0x100476a
xor esi, esi
cmp dword [0x1017984], esi
jle 0x1004774
push dword [ebp - 0x2b0]
call fcn.0100772d
test eax, eax
jne 0x1004774
lea eax, [ebp - 0x20c]
push eax
mov eax, dword [ebp + 8]
neg eax
sbb eax, eax
and eax, 0x18
add eax, 0x87
push eax
push 0x65
push 0x30
push dword [0x1018534]
push dword [0x101852c]
call fcn.010054be
add esp, 0x18
xor ebx, ebx
mov dword [ebp - 0x2e0], ebx
jmp 0x10047ca
cmp dword [0x1017984], esi
mov dword [ebp - 0x2e4], edi
jne 0x1004864
call fcn.010083d4
mov eax, dword [ebp - 0x2b4]
mov dword [0x101797c], eax
mov eax, dword [ebp - 0x2d8]
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], esi
mov dword [ebp - 0x2b0], esi
xor ebx, ebx
cmp dword [ebp + 8], ebx
je 0x10047d5
call dword [sym.imp.USER32.dll_CloseClipboard]
cmp dword [ebp - 0x2b4], 0
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 0x1004806
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 0x1004825
push dword [ebp - 0x2b0]
call esi
push eax
call edi
push dword [ebp - 0x2b0]
call esi
push eax
call ebx
cmp dword [ebp - 0x2d4], 0
je 0x100483a
push dword [ebp - 0x2d4]
call dword [sym.imp.USER32.dll_SetCursor]
cmp dword [ebp - 0x2e4], 1
jne 0x100484e
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
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 - 0x2dc], eax
mov eax, dword [0x101825c]
cmp word [eax + 2], di
push dword [eax + 4]
setne dl
push dword [ebp - 0x2d8]
mov dword [ebp - 0x2c0], edx
xor edx, edx
cmp word [ecx + 0xe], 8
sete dl
mov dword [ebp - 0x2d0], edx
xor edx, edx
cmp word [eax + 0xe], 8
sete dl
mov dword [ebp - 0x2c8], edx
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov esi, eax
mov eax, dword [0x1017984]
mov dword [ebp - 0x2c4], esi
sub esi, eax
add esi, dword [0x1017988]
jns 0x10048d8
xor esi, esi
test esi, esi
jle 0x1004950
push edi
push edi
add eax, esi
push eax
call fcn.0100776f
test eax, eax
je 0x100476a
cmp dword [ebp - 0x2c0], 0
mov ebx, esi
je 0x10048fc
lea ebx, [esi + esi]
push dword [0x1017984]
push dword [0x101825c]
call fcn.010076bd
mov edi, eax
add edi, dword [0x101797c]
cmp dword [ebp - 0x2c8], 0
je 0x1004939
test ebx, ebx
jle 0x100494a
mov ecx, ebx
mov edx, ecx
shr ecx, 2
mov eax, 0x80808080
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
jmp 0x100494a
test ebx, ebx
jle 0x100494a
xor eax, eax
mov ecx, ebx
shr ecx, 1
rep stosd dword es:[edi], eax
adc ecx, ecx
rep stosw word es:[edi], ax
add dword [0x1017984], esi
push dword [0x1017988]
push dword [0x101825c]
call fcn.010076bd
mov edi, eax
mov eax, dword [ebp - 0x2b4]
add edi, dword [0x101797c]
mov dword [ebp - 0x2b8], eax
mov dword [ebp - 0x2bc], eax
mov eax, dword [0x101825c]
mov ebx, dword [eax + 4]
mov eax, dword [ebp - 0x2c4]
neg ebx
test eax, eax
mov dword [ebp - 0x2cc], edi
jle 0x10047c8
mov dword [ebp - 0x2c4], eax
xor ecx, ecx
cmp dword [ebp - 0x2d0], ecx
je 0x1004a58
cmp dword [ebp - 0x2dc], ecx
mov eax, dword [ebp - 0x2b8]
movzx eax, byte [eax]
je 0x10049da
cmp dword [ebp - 0x2c0], 0
mov ecx, dword [ebp - 0x2b8]
movzx esi, byte [ecx + 1]
jne 0x10049dc
add eax, esi
cdq
sub eax, edx
sar eax, 1
jmp 0x10049dc
mov esi, eax
cmp dword [ebp - 0x2c8], 0
jne 0x1004aa3
add eax, 0xffffff80
add esi, 0xffffff80
shl eax, 8
shl esi, 8
mov edx, dword [ebp - 0x2cc]
movsx ecx, word [edx]
add ecx, eax
mov eax, 0xffff8000
cmp ecx, eax
jl 0x1004a15
mov eax, 0x7fff
cmp ecx, eax
jg 0x1004a15
movsx eax, cx
mov word [edx], ax
inc edx
inc edx
mov dword [ebp - 0x2cc], edx
xor eax, eax
cmp dword [ebp - 0x2c0], eax
je 0x1004af4
cmp dword [ebp - 0x2c8], eax
je 0x1004ac5
movzx ecx, byte [edi]
lea esi, [ecx + esi - 0x80]
cmp esi, eax
jl 0x1004a50
mov eax, 0xff
cmp esi, eax
jg 0x1004a50
mov eax, esi
mov byte [edi], al
inc edi
jmp 0x1004af4
cmp dword [ebp - 0x2dc], ecx
mov eax, dword [ebp - 0x2bc]
movsx eax, word [eax]
je 0x1004a85
cmp dword [ebp - 0x2c0], 0
mov ecx, dword [ebp - 0x2bc]
movsx esi, word [ecx + 2]
jne 0x1004a87
add eax, esi
cdq
sub eax, edx
sar eax, 1
jmp 0x1004a87
mov esi, eax
cmp dword [ebp - 0x2c8], 0
je 0x10049f5
sar eax, 8
mov ecx, 0x80
sar esi, 8
add eax, ecx
add esi, ecx
movzx ecx, byte [edi]
lea eax, [ecx + eax - 0x80]
test eax, eax
jge 0x1004ab2
xor eax, eax
jmp 0x1004abd
mov ecx, 0xff
cmp eax, ecx
jle 0x1004abd
mov eax, ecx
mov byte [edi], al
inc edi
jmp 0x1004a20
mov edx, dword [ebp - 0x2cc]
movsx eax, word [edx]
add eax, esi
mov ecx, 0xffff8000
cmp eax, ecx
jge 0x1004add
mov eax, ecx
jmp 0x1004ae9
mov ecx, 0x7fff
cmp eax, ecx
jg 0x1004ad9
movsx eax, ax
mov word [edx], ax
inc edx
inc edx
mov dword [ebp - 0x2cc], edx
mov eax, dword [ebp - 0x2b0]
add ebx, dword [eax + 4]
js 0x1004b45
mov eax, dword [0x101825c]
mov eax, dword [eax + 4]
xor ecx, ecx
sub ebx, eax
cmp dword [ebp - 0x2d0], ecx
je 0x1004b1b
inc dword [ebp - 0x2b8]
jmp 0x1004b22
add dword [ebp - 0x2bc], 2
cmp dword [ebp - 0x2dc], ecx
je 0x1004b41
cmp dword [ebp - 0x2d0], ecx
je 0x1004b3a
inc dword [ebp - 0x2b8]
jmp 0x1004b41
add dword [ebp - 0x2bc], 2
cmp ebx, ecx
jge 0x1004b09
dec dword [ebp - 0x2c4]
jne 0x100499f
jmp 0x10047c8
lea eax, [ebp - 0x20c]
push eax
push 0x6a
push 0x65
push 0x30
push dword [0x1018534]
push dword [0x101852c]
call fcn.010054be
add esp, 0x18
jmp 0x100476c