Function at 0x4b8343
Capabilities:
Open clipboard

Disassembly:
mov eax, 0x570efb
call fcn.00524444
sub esp, 0xb4
push ebx
push esi
mov esi, ecx
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x54], esi
mov eax, dword [esi + 0x3c]
mov edi, dword [eax + 0x36c]
lea ecx, [eax + 0x208]
cmp dword [ebp + 0xc], edi
mov dword [ebp - 0x1c], ecx
mov ecx, dword [eax + 0x368]
jl 0x4b838b
jg 0x4b8382
cmp dword [ebp + 8], ecx
jbe 0x4b838b
mov eax, ecx
cdq
mov dword [ebp + 8], eax
mov dword [ebp + 0xc], edx
mov edx, dword [ebp + 0x14]
cmp edx, edi
jl 0x4b83a2
jg 0x4b8399
cmp dword [ebp + 0x10], ecx
jbe 0x4b83a2
mov eax, ecx
cdq
mov dword [ebp + 0x10], eax
mov dword [ebp + 0x14], edx
mov ecx, dword [ebp + 0x10]
mov eax, edx
mov ebx, ecx
mov dword [ebp - 0x50], ecx
sub ebx, dword [ebp + 8]
mov dword [ebp - 0x4c], edx
sbb eax, dword [ebp + 0xc]
xor edi, edi
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x44], eax
xor eax, eax
cmp dword [ebp + 0x18], edi
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x40], edi
jne 0x4b83db
cmp dword [ebp + 0x24], edi
je 0x4b83e6
cmp dword [ebp + 0x18], edi
mov dword [esi + 0x2d0], edi
jne 0x4b83ef
cmp dword [ebp + 0x1c], edi
je 0x4b85d7
cmp dword [ebp + 0x2c], edi
je 0x4b8403
push dword [esi + 0x20c]
call fcn.0046966a
pop ecx
mov dword [ebp - 0x3c], eax
cmp dword [esi + 0x20c], edi
je 0x4b8411
lea eax, [ebx + eax + 0x11]
jmp 0x4b8415
lea eax, [ebx + eax + 0xb]
push eax
push 0x42
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
cmp eax, edi
mov dword [ebp - 0x14], eax
jne 0x4b842c
mov dword [ebp - 0x18], 1
push dword [ebp - 0x14]
call dword [sym.imp.KERNEL32.dll_GlobalLock]
cmp eax, edi
mov dword [ebp - 0x20], eax
jne 0x4b844c
push dword [ebp - 0x14]
call dword [sym.imp.KERNEL32.dll_GlobalFree]
mov dword [ebp - 0x18], 1
cmp dword [ebp - 0x18], edi
jne 0x4b84c9
cmp dword [esi + 0x314], edi
je 0x4b8558
mov edi, dword [esi + 0x154]
lea ecx, [ebx + 0xb]
mov eax, ecx
cdq
idiv edi
mov edx, eax
lea eax, [edi + ecx]
inc edx
imul edx, dword [esi + 0x158]
lea eax, [eax + eax*2]
lea eax, [edx + eax + 0xa0]
push eax
push 2
mov dword [ebp - 0x40], eax
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
test eax, eax
mov dword [ebp - 0x30], eax
je 0x4b84b0
push eax
call dword [sym.imp.KERNEL32.dll_GlobalLock]
test eax, eax
mov dword [ebp - 0x38], eax
jne 0x4b8558
push dword [ebp - 0x30]
call dword [sym.imp.KERNEL32.dll_GlobalFree]
push dword [ebp - 0x14]
mov dword [ebp - 0x18], 1
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
push dword [ebp - 0x14]
call dword [sym.imp.KERNEL32.dll_GlobalFree]
lea eax, [ebp - 0x28]
push 0xe000
push eax
call fcn.00402f3e
pop ecx
pop ecx
mov ecx, dword [esi + 0x3c]
and dword [ebp - 4], 0
mov edi, dword [eax]
call fcn.0046ca72
push eax
lea ecx, [ebp - 0x34]
call fcn.0053e8c4
mov ebx, eax
push 0x5c4c8c
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 1
call fcn.0053ebbd
push ebx
push eax
lea eax, [ebp + 0x2c]
mov byte [ebp - 4], 2
push eax
call fcn.0053ed7e
mov eax, dword [eax]
push 0x30
push edi
push eax
mov ecx, esi
mov byte [ebp - 4], 3
call fcn.0054239a
lea ecx, [ebp + 0x2c]
mov byte [ebp - 4], 2
call fcn.0053eb4f
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 1
call fcn.0053eb4f
and byte [ebp - 4], 0
lea ecx, [ebp - 0x34]
call fcn.0053eb4f
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
call fcn.0053eb4f
mov ebx, dword [ebp - 0x48]
jmp 0x4b85cc
xor edi, edi
cmp dword [ebp + 0x2c], edi
je 0x4b85d7
push dword [esi + 0x1c]
call dword [sym.imp.USER32.dll_OpenClipboard]
cmp dword [esi + 0x20c], edi
mov dword [ebp + 0x2c], eax
je 0x4b8577
push 0xd
jmp 0x4b8597
cmp dword [0x628af0], edi
je 0x4b8595
mov eax, dword [esi + 0x2a4]
imul eax, eax, 0x3c
cmp byte [eax + 0x62a687], 0xff
jne 0x4b8595
push 7
jmp 0x4b8597
push 1
call fcn.0046944c
pop ecx
push eax
call dword [sym.imp.KERNEL32.dll_GlobalLock]
mov edi, dword [ebp - 0x3c]
push edi
push eax
push dword [ebp - 0x20]
call fcn.005244d0
mov eax, dword [ebp - 0x20]
add esp, 0xc
add eax, edi
and byte [eax], 0
and byte [eax + 1], 0
cmp dword [ebp + 0x2c], 0
je 0x4b85d7
call dword [sym.imp.USER32.dll_CloseClipboard]
xor edi, edi
cmp dword [ebp - 0x18], edi
jne 0x4b87c1
xor edi, edi
cmp dword [ebp - 0x24], edi
jne 0x4b878a
lea ecx, [ebp - 0x5c]
call fcn.005459d2
mov ecx, dword [ebp - 0x1c]
push edi
push dword [ebp + 0xc]
mov dword [ebp - 4], 4
mov byte [ebp - 4], 5
mov dword [ebp - 0x24], 1
push dword [ebp + 8]
call fcn.00479f84
cmp dword [ebp + 0x18], edi
jne 0x4b8615
cmp dword [ebp + 0x1c], edi
je 0x4b866d
mov ebx, dword [ebp - 0x48]
mov edi, dword [ebp - 0x3c]
test ebx, ebx
jle 0x4b8646
mov eax, 0xfffe
cmp ebx, eax
jle 0x4b862c
sub ebx, eax
jmp 0x4b8630
mov eax, ebx
xor ebx, ebx
mov ecx, dword [ebp - 0x1c]
movzx eax, ax
mov edx, dword [ecx]
push eax
mov eax, dword [ebp - 0x20]
add eax, edi
push eax
call dword [edx + 0x34]
add edi, eax
jmp 0x4b861b
cmp dword [esi + 0x20c], 0
je 0x4b8658
push 0xf
push 0x5c84cc
jmp 0x4b865f
push 9
push 0x5c84c0
mov eax, dword [ebp - 0x20]
add edi, eax
push edi
call fcn.005244d0
add esp, 0xc
mov eax, dword [ebp - 0x48]
add eax, dword [ebp + 8]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x44]
adc eax, dword [ebp + 0xc]
mov dword [ebp - 0x4c], eax
jmp 0x4b8779
or dword [ebp - 4], 0xffffffff
call fcn.00545a10
mov ebx, dword [ebp - 0x48]
jmp 0x4b85d7
cmp dword [esi + 0x314], edi
je 0x4b87c1
push dword [ebp + 0xc]
mov ecx, esi
push dword [ebp + 8]
push dword [ebp - 0x40]
push dword [ebp - 0x38]
push ebx
push dword [ebp - 0x20]
call fcn.004b4e3d
push dword [ebp - 0x14]
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
push dword [ebp - 0x14]
call dword [sym.imp.KERNEL32.dll_GlobalFree]
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x14], eax
cmp dword [ebp + 0x18], edi
jne 0x4b87d9
cmp dword [ebp + 0x1c], edi
je 0x4b88f1
cmp dword [ebp - 0x18], 0
jne 0x4b88f1
mov edi, dword [ebp - 0x14]
push edi
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
push dword [esi + 0x1c]
call dword [sym.imp.USER32.dll_OpenClipboard]
cmp dword [0x628a50], 0
mov dword [ebp - 0x2c], eax
jne 0x4b87fe
call dword [sym.imp.USER32.dll_EmptyClipboard]
xor eax, eax
cmp dword [esi + 0x20c], eax
je 0x4b8815
cmp dword [esi + 0x314], eax
jne 0x4b8815
push edi
push 0xd
jmp 0x4b8837
cmp dword [0x628af0], eax
je 0x4b8834
mov eax, dword [esi + 0x2a4]
imul eax, eax, 0x3c
cmp byte [eax + 0x62a687], 0xff
jne 0x4b8834
push edi
push 7
jmp 0x4b8837
push edi
push 1
call fcn.00469467
xor edi, edi
pop ecx
cmp eax, edi
pop ecx
jne 0x4b88e1
lea eax, [ebp - 0x34]
push 0xe000
push eax
mov dword [ebp - 0x18], 1
call fcn.00402f3e
pop ecx
pop ecx
mov ecx, dword [esi + 0x3c]
mov edi, dword [eax]
mov dword [ebp - 4], 0xb
call fcn.0046ca72
push eax
lea ecx, [ebp - 0x28]
call fcn.0053e8c4
mov ebx, eax
push 0x5c4c8c
lea ecx, [ebp + 0x2c]
mov byte [ebp - 4], 0xc
call fcn.0053ebbd
push ebx
push eax
lea eax, [ebp + 0x1c]
mov byte [ebp - 4], 0xd
push eax
call fcn.0053ed7e
mov eax, dword [eax]
push 0x30
push edi
push eax
mov ecx, esi
mov byte [ebp - 4], 0xe
call fcn.0054239a
lea ecx, [ebp + 0x1c]
mov byte [ebp - 4], 0xd
call fcn.0053eb4f
lea ecx, [ebp + 0x2c]
mov byte [ebp - 4], 0xc
call fcn.0053eb4f
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0xb
call fcn.0053eb4f
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x34]
call fcn.0053eb4f
mov ebx, dword [ebp - 0x48]
xor edi, edi
cmp dword [ebp - 0x2c], edi
je 0x4b88ec
call dword [sym.imp.USER32.dll_CloseClipboard]
cmp dword [ebp + 0x18], edi
jne 0x4b890a
xor edi, edi
cmp dword [ebp + 0x24], edi
jne 0x4b890a
cmp dword [ebp + 0x20], edi
je 0x4b89ac
cmp dword [ebp - 0x18], edi
jne 0x4b89ac
or ebx, dword [ebp - 0x44]
je 0x4b89a7
mov ecx, dword [ebp - 0x1c]
call fcn.0047a030
push dword [esi + 0x3c]
mov edi, eax
mov ebx, edx
push 0
push 0
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
push dword [ebp - 0x1c]
call fcn.004d3bba
add esp, 0x20
sub edi, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x1c]
sbb ebx, dword [ebp - 0x44]
push ebx
push edi
call fcn.00479fcc
mov eax, dword [esi + 0x3c]
add eax, 0x248
push eax
push dword [ebp - 0x1c]
call fcn.00479ea2
mov eax, dword [esi + 0x3c]
cmp dword [eax + 0x170], 0
je 0x4b8978
add eax, 0x370
push eax
push dword [ebp - 0x1c]
call fcn.00479ea2
mov eax, dword [ebp + 8]
mov ecx, dword [0x62ae3c]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x4c], eax
lea eax, [esi + 0x2c4]
push eax
mov eax, dword [esi + 0x3c]
push dword [eax + 0x36c]
push dword [eax + 0x368]
call fcn.00480669
xor edi, edi
cmp dword [ebp + 0x24], edi
jne 0x4b89b5
cmp dword [ebp + 0x28], edi
je 0x4b8e39
cmp dword [ebp - 0x18], edi
jne 0x4b8e3e
lea ecx, [ebp - 0x90]
call fcn.004eb2ff
cmp dword [ebp + 0x24], edi
mov dword [ebp - 4], 0xf
je 0x4b8b92
push dword [esi + 0x1c]
call dword [sym.imp.USER32.dll_OpenClipboard]
cmp dword [esi + 0x20c], edi
mov dword [ebp - 0x20], eax
je 0x4b89f1
push 0xd
jmp 0x4b8a11
cmp dword [0x628af0], edi
je 0x4b8a0f
mov eax, dword [esi + 0x2a4]
imul eax, eax, 0x3c
cmp byte [eax + 0x62a687], 0xff
jne 0x4b8a0f
push 7
jmp 0x4b8a11
push 1
call fcn.0046944c
pop ecx
mov dword [ebp + 0x2c], eax
push eax
call dword [sym.imp.KERNEL32.dll_GlobalLock]
push dword [ebp + 0x2c]
mov dword [ebp + 0x1c], eax
call dword [sym.imp.KERNEL32.dll_GlobalSize]
mov edi, eax
mov eax, dword [0x62ae3c]
xor ebx, ebx
cmp dword [eax + 0x28f0], ebx
mov dword [ebp + 0x18], ebx
je 0x4b8ac7
mov eax, dword [esi + 0x3c]
lea ecx, [ebp - 0xc0]
push dword [eax + 0x164]
push dword [esi + 0x20c]
push edi
push dword [ebp + 0x1c]
call fcn.004eb35b
push eax
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], 0x10
call fcn.004b8ede
lea ecx, [ebp - 0xb0]
mov byte [ebp - 4], 0x11
call fcn.0044611a
lea ecx, [ebp - 0xc0]
mov byte [ebp - 4], 0xf
call fcn.0044611a
cmp byte [ebp - 0x68], bl
je 0x4b8ac7
cmp dword [ebp - 0x6c], ebx
mov eax, dword [ebp - 0x8c]
jne 0x4b8aa4
mov eax, dword [ebp - 0x7c]
cmp dword [esi + 0x20c], ebx
mov dword [ebp + 0x1c], eax
lea ecx, [ebp - 0x90]
je 0x4b8ac0
call fcn.004b8e86
mov edi, eax
shl edi, 1
jmp 0x4b8ac7
call fcn.004b8e86
mov edi, eax
or ebx, 0xffffffff
cmp dword [esi + 0x20c], 0
mov dword [ebp + 0x28], ebx
je 0x4b8b32
shr edi, 1
test edi, edi
mov dword [ebp + 0x28], edi
jle 0x4b8b28
mov edi, dword [ebp + 0x1c]
cmp word [edi], 0
jne 0x4b8b0f
cmp ebx, 0xffffffff
jne 0x4b8af0
mov ebx, dword [ebp + 0x18]
mov eax, dword [ebp + 0x18]
add eax, 9
cmp eax, dword [ebp + 0x28]
ja 0x4b8b0f
push 0xf
push 0x5c84cc
push edi
call fcn.005252e0
add esp, 0xc
test eax, eax
je 0x4b8b1e
inc dword [ebp + 0x18]
inc edi
mov eax, dword [ebp + 0x18]
inc edi
cmp eax, dword [ebp + 0x28]
jl 0x4b8ae2
jmp 0x4b8b21
or ebx, 0xffffffff
cmp ebx, 0xffffffff
je 0x4b8b28
add ebx, ebx
mov eax, dword [ebp + 0x18]
add eax, eax
mov dword [ebp + 0x18], eax
jmp 0x4b8b83
test edi, edi
jle 0x4b8b8d
mov ebx, dword [ebp + 0x1c]
mov dword [ebp + 0x20], 9
sub dword [ebp + 0x20], ebx
cmp byte [ebx], 0
jne 0x4b8b71
cmp dword [ebp + 0x28], 0xffffffff
jne 0x4b8b54
mov eax, dword [ebp + 0x18]
mov dword [ebp + 0x28], eax
mov eax, dword [ebp + 0x20]
add eax, ebx
cmp eax, edi
ja 0x4b8b71
push 9
push 0x5c84c0
push ebx
call fcn.005252e0
add esp, 0xc
test eax, eax
je 0x4b8b7c
inc dword [ebp + 0x18]
inc ebx
cmp dword [ebp + 0x18], edi
jl 0x4b8b43
jmp 0x4b8b80
or dword [ebp + 0x28], 0xffffffff
mov ebx, dword [ebp + 0x28]
cmp ebx, 0xffffffff
je 0x4b8b8d
mov dword [ebp + 0x20], ebx
jmp 0x4b8b98
mov eax, dword [ebp + 0x18]
jmp 0x4b8b95
mov eax, dword [ebp + 0x28]
mov dword [ebp + 0x20], eax
push 0x4e20
push 2
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
test eax, eax
mov dword [ebp + 0x28], eax
jne 0x4b8bb1
call fcn.0053b6fe
push dword [ebp + 0x28]
call dword [sym.imp.KERNEL32.dll_GlobalLock]
and dword [ebp - 0x24], 0
mov dword [ebp - 0x40], eax
mov ebx, dword [ebp - 0x1c]
xor edi, edi
cmp dword [ebp - 0x24], edi
jne 0x4b8dee
lea ecx, [ebp - 0x5c]
call fcn.005459d2
mov edi, dword [ebp + 0x20]
push dword [esi + 0x3c]
mov eax, edi
mov byte [ebp - 4], 0x13
cdq
push edx
push eax
push dword [ebp + 0xc]
mov dword [ebp - 0x24], 1
push dword [ebp + 8]
push dword [ebp + 0xc]
push dword [ebp + 8]
push ebx
call fcn.004d3bba
add esp, 0x20
mov ecx, ebx
push 0
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00479f84
and dword [ebp + 0x14], 0
cmp dword [ebp + 0x24], 0
mov dword [ebp + 0x18], edi
jne 0x4b8c36
mov edi, 0x4e20
push edi
push 0x20
push dword [ebp - 0x40]
call fcn.00524810
add esp, 0xc
mov dword [ebp - 0x38], edi
jmp 0x4b8c3d
mov dword [ebp - 0x38], 0xfffe
cmp dword [ebp + 0x18], 0
jle 0x4b8c7e
movzx eax, word [ebp - 0x38]
cmp dword [ebp + 0x18], eax
jle 0x4b8c53
sub dword [ebp + 0x18], eax
mov edi, eax
jmp 0x4b8c5a
mov edi, dword [ebp + 0x18]
and dword [ebp + 0x18], 0
cmp dword [ebp + 0x24], 0
mov eax, dword [ebx]
movzx ecx, di
push ecx
je 0x4b8c71
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp + 0x1c]
add ecx, edx
push ecx
jmp 0x4b8c74
push dword [ebp - 0x40]
mov ecx, ebx
call dword [eax + 0x38]
add dword [ebp + 0x14], edi
jmp 0x4b8c3d
mov eax, dword [ebp + 0x20]
cdq
add eax, dword [ebp + 8]
adc edx, dword [ebp + 0xc]
mov dword [ebp - 0x50], eax
mov eax, dword [esi + 0x3c]
add eax, 0x248
mov dword [ebp - 0x4c], edx
push eax
push ebx
call fcn.00479ea2
mov eax, dword [esi + 0x3c]
cmp dword [eax + 0x170], 0
je 0x4b8cb5
add eax, 0x370
push eax
push ebx
call fcn.00479ea2
lea eax, [esi + 0x2c4]
mov ecx, dword [0x62ae3c]
push eax
mov eax, dword [esi + 0x3c]
push dword [eax + 0x36c]
push dword [eax + 0x368]
call fcn.00480669
jmp 0x4b8ddd
mov dword [ebp - 4], 0xf
call fcn.00545a10
jmp 0x4b8bc1
cmp dword [ebp + 0x24], edi
je 0x4b8dfc
push dword [ebp + 0x2c]
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
push dword [ebp + 0x28]
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
push dword [ebp + 0x28]
call dword [sym.imp.KERNEL32.dll_GlobalFree]
cmp dword [ebp - 0x20], edi
je 0x4b8e19
call dword [sym.imp.USER32.dll_CloseClipboard]
lea ecx, [ebp - 0x80]
mov dword [ebp - 4], 0x1a
call fcn.0044611a
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x90]
call fcn.0044611a
xor edi, edi
cmp dword [ebp - 0x18], edi
je 0x4b8e6f
push 0x5c8854
lea ecx, [ebp + 0x24]
call fcn.0053ebbd
mov eax, dword [eax]
push 0x30
push str.UltraEdit__
push eax
mov ecx, esi
mov dword [ebp - 4], 0x1b
call fcn.0054239a
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0x24]
call fcn.0053eb4f
mov eax, dword [ebp - 0x50]
mov edx, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
leave
ret 0x28