Function at 0x438940
Capabilities:
Check if file exists
Open clipboard

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4fe190
mov eax, dword fs:[0]
push eax
sub esp, 0xc
push ebx
push esi
push edi
mov eax, dword [0x53000c]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
push 0
lea ebx, [esi + 0x54]
push 0x51c79c
mov ecx, ebx
call fcn.0041a5b0
mov byte [esi + 0x6c], 0
xor edi, edi
mov eax, dword [esi + 0xb4]
sub eax, dword [esi + 0xb0]
sar eax, 2
test eax, eax
je 0x438b2c
xor ebx, ebx
nop word [eax + eax]
mov ecx, dword [esi + 0xcc]
mov eax, 0x2aaaaaab
sub ecx, dword [esi + 0xc8]
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, edi
jbe 0x438c0c
mov eax, dword [esi + 0xc8]
sub esp, 0x18
add eax, ebx
mov dword [ebp - 0x10], esp
mov ecx, esp
push eax
call fcn.0041a300
mov dword [ebp - 4], 0
mov eax, 0x2aaaaaab
mov ecx, dword [esi + 0xc0]
sub ecx, dword [esi + 0xbc]
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, edi
jbe 0x438c0c
mov eax, dword [esi + 0xbc]
sub esp, 0x18
add eax, ebx
mov dword [ebp - 0x14], esp
mov ecx, esp
push eax
call fcn.0041a300
mov byte [ebp - 4], 1
mov eax, dword [esi + 0xb4]
mov ecx, dword [esi + 0xb0]
sub eax, ecx
sar eax, 2
cmp eax, edi
jbe 0x438c07
mov dword [ebp - 4], 0xffffffff
lea edx, [esi + 0x54]
mov ecx, dword [ecx + edi*4]
push 0
call fcn.0047d890
add esp, 0x34
test al, al
jne 0x438b29
mov ecx, dword [esi + 0xcc]
mov eax, 0x2aaaaaab
sub ecx, dword [esi + 0xc8]
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, edi
jbe 0x438c0c
mov eax, dword [esi + 0xc8]
sub esp, 0x18
add eax, ebx
mov dword [ebp - 0x14], esp
mov ecx, esp
push eax
call fcn.0041a300
mov dword [ebp - 4], 2
mov eax, 0x2aaaaaab
mov ecx, dword [esi + 0xc0]
sub ecx, dword [esi + 0xbc]
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, edi
jbe 0x438c0c
mov eax, dword [esi + 0xbc]
sub esp, 0x18
add eax, ebx
mov dword [ebp - 0x10], esp
mov ecx, esp
push eax
call fcn.0041a300
mov byte [ebp - 4], 3
mov eax, dword [esi + 0xb4]
mov ecx, dword [esi + 0xb0]
sub eax, ecx
sar eax, 2
cmp eax, edi
jbe 0x438c07
mov dword [ebp - 4], 0xffffffff
lea edx, [esi + 0x54]
mov ecx, dword [ecx + edi*4]
push 1
call fcn.0047d890
add esp, 0x34
test al, al
jne 0x438b29
mov eax, dword [esi + 0xb4]
inc edi
sub eax, dword [esi + 0xb0]
add ebx, 0x18
sar eax, 2
cmp edi, eax
jb 0x4389a0
lea ebx, [esi + 0x54]
cmp dword [esi + 0x64], 0
je 0x438b63
cmp dword [ebx + 0x14], 8
mov eax, ebx
jb 0x438b3c
mov eax, dword [ebx]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x438b5d
mov byte [esi + 0x6c], 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [esi + 0x64], 0
jne 0x438b75
cmp byte [esi + 0x1cc], 0
jne 0x438be3
mov dword [esi + 8], 4
jmp 0x438b85
cmp byte [esi + 0x1cc], 0
jne 0x438be3
mov dword [esi + 8], 5
push 0
mov byte [esi + 0x1cc], 1
call dword [sym.imp.USER32.dll_OpenClipboard]
test eax, eax
je 0x438ba4
call dword [sym.imp.USER32.dll_EmptyClipboard]
call dword [sym.imp.USER32.dll_CloseClipboard]
lea ecx, [ebp - 0x18]
mov dword [ebp - 0x18], 0x64
mov dword [ebp - 0x14], 0
call fcn.0043b1e0
cmp byte [esi + 0x1cd], 0
jne 0x438bdc
push 0
push 0
push 0x403
push dword [esi + 0x74]
mov byte [esi + 0x1cd], 1
call dword [sym.imp.USER32.dll_PostMessageW]
mov ecx, esi
call fcn.00438c30
push 0
push 0x51c79c
mov ecx, ebx
call fcn.0041a5b0
mov byte [esi + 0x6c], 0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.0043ae80
call fcn.0043ae80
int3