Function at 0x83a16c
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffec
push ebx
push esi
push edi
mov ebx, ecx
mov edi, edx
mov dword [ebp - 4], eax
mov esi, dword [ebp + 8]
xor eax, eax
push ebp
push 0x83a4e5
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
push ebp
push 0x83a4d4
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
mov dword [eax + 0xe60], 0
mov dword [eax + 0xe64], 0
mov eax, dword [ebp - 4]
cmp dword [eax + 0xe5c], 0
je 0x83a1cb
mov eax, dword [ebp - 4]
add eax, 0xe5c
call fcn.00411378
xor ecx, ecx
mov dl, 1
mov eax, dword [0x629c30]
call fcn.0062ad18
mov dword [ebp - 8], eax
xor edx, edx
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
call dword [ecx + 0x12c]
mov eax, dword [ebp - 8]
call fcn.00637aa0
mov byte [eax + 0x30], 0
mov eax, dword [ebp - 8]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, edi
mov ecx, dword [eax]
call dword [ecx + 0x28]
mov eax, dword [ebp - 8]
mov edx, dword [eax]
call dword [edx + 0xd8]
test al, al
je 0x83a22a
mov eax, dword [ebp - 8]
mov edx, dword [eax]
call dword [edx + 0xd0]
call fcn.0063df58
test al, al
jne 0x83a22e
xor eax, eax
jmp 0x83a230
mov al, 1
mov byte [ebp - 9], al
test ebx, ebx
jle 0x83a3ee
test esi, esi
jle 0x83a3ee
mov eax, dword [ebp - 8]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, dword [eax]
call dword [edx + 0xc]
cmp ebx, eax
jne 0x83a26f
mov eax, dword [ebp - 8]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, dword [eax]
call dword [edx + 8]
cmp esi, eax
je 0x83a3ee
cmp byte [ebp - 9], 0
je 0x83a39e
xor eax, eax
push ebp
push 0x83a397
push dword fs:[eax]
mov dword fs:[eax], esp
xor ecx, ecx
mov dl, 1
mov eax, dword [0x5ea8e0]
call fcn.005ec758
mov dword [ebp - 0x10], eax
mov dl, 1
mov eax, dword [0x63d47c]
call fcn.006459ec
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 8]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, eax
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax]
call dword [ecx + 0x28]
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x10]
call fcn.00603674
mov eax, dword [ebp - 0x10]
mov byte [eax + 0x30], 0
mov eax, dword [ebp - 0x14]
mov edx, dword [eax]
call dword [edx + 0xc]
cmp ebx, eax
jge 0x83a2e6
mov eax, dword [ebp - 0x14]
mov edx, dword [eax]
call dword [edx + 8]
cmp esi, eax
jl 0x83a309
push 9
mov ecx, esi
mov edx, ebx
mov eax, dword [ebp - 0x10]
call fcn.005ef10c
push 9
mov eax, dword [ebp - 8]
call fcn.00637aa0
mov ecx, esi
mov edx, ebx
call fcn.005ef10c
jmp 0x83a32a
push 5
mov ecx, esi
mov edx, ebx
mov eax, dword [ebp - 0x10]
call fcn.005ef10c
push 5
mov eax, dword [ebp - 8]
call fcn.00637aa0
mov ecx, esi
mov edx, ebx
call fcn.005ef10c
mov eax, dword [ebp - 8]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, dword [eax]
call dword [edx + 0xc]
mov ebx, eax
mov eax, dword [ebp - 0x14]
mov edx, dword [eax]
call dword [edx + 0xc]
cmp ebx, eax
jne 0x83a379
mov eax, dword [ebp - 8]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, dword [eax]
call dword [edx + 8]
mov ebx, eax
mov eax, dword [ebp - 0x14]
mov edx, dword [eax]
call dword [edx + 8]
cmp ebx, eax
jne 0x83a379
mov eax, dword [ebp - 8]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, dword [ebp - 0x14]
mov ecx, dword [eax]
call dword [ecx + 0x28]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x83a3ee
lea eax, [ebp - 0x10]
call fcn.00411378
lea eax, [ebp - 0x14]
call fcn.00411378
ret
mov eax, dword [ebp - 8]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, dword [eax]
call dword [edx + 0xc]
cmp ebx, eax
jge 0x83a3c6
mov eax, dword [ebp - 8]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, dword [eax]
call dword [edx + 8]
cmp esi, eax
jl 0x83a3db
push 9
mov eax, dword [ebp - 8]
call fcn.00637aa0
mov ecx, esi
mov edx, ebx
call fcn.005ef10c
jmp 0x83a3ee
push 5
mov eax, dword [ebp - 8]
call fcn.00637aa0
mov ecx, esi
mov edx, ebx
call fcn.005ef10c
cmp byte [ebp - 9], 0
je 0x83a434
mov dl, 1
mov eax, dword [0x63d47c]
call fcn.006459ec
mov ebx, eax
mov eax, dword [ebp - 4]
mov dword [eax + 0xe5c], ebx
mov eax, dword [ebp - 8]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, eax
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x28]
mov eax, dword [ebp - 8]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, 0xffffff
call fcn.0087800c
mov eax, dword [ebp - 8]
call fcn.00637aa0
call fcn.005f0094
mov eax, dword [0x8a9588]
mov eax, dword [eax]
mov eax, dword [eax + 0x800]
cmp byte [eax + 0x424], 0
je 0x83a45f
mov eax, dword [ebp - 4]
call fcn.008397ac
cmp byte [ebp - 9], 0
je 0x83a4be
call fcn.0044773c
mov dx, 2
call fcn.00447704
test al, al
jne 0x83a48d
push 8
call sub.user32.dll_IsClipboardFormatAvailable
test eax, eax
jne 0x83a48d
push 0x11
call sub.user32.dll_IsClipboardFormatAvailable
test eax, eax
je 0x83a4be
mov eax, dword [ebp - 8]
call fcn.00637aa0
call fcn.005f0104
mov eax, dword [ebp - 8]
mov edx, dword [eax]
call dword [edx + 0xd0]
mov edx, eax
mov eax, dword [ebp - 4]
call fcn.00839948
mov ecx, dword [ebp - 4]
mov dword [ecx + 0xe60], eax
mov dword [ecx + 0xe64], edx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x83a4db
lea eax, [ebp - 8]
call fcn.00411378
ret