Function at 0x42e1b0
Capabilities:
Print debug messages
Write file on windows

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x54d8
call fcn.004b0790
push ebx
push esi
push edi
xor edi, edi
push 0x190
lea eax, [ebp - 0x398]
push edi
push eax
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x14], 0x14
call fcn.004b03e0
push pe_nt_image_headers32
lea ecx, [ebp - 0x1b8]
push edi
push ecx
call fcn.004b03e0
push 0x50
lea edx, [ebp - 0xc8]
push edi
push edx
call fcn.004b03e0
push 0x50
lea eax, [ebp - 0x78]
push edi
push eax
call fcn.004b03e0
mov esi, dword [ebp + 0xc]
mov ebx, dword [sym.imp.KERNEL32.dll_WriteFile]
add esp, 0x30
cmp esi, edi
je 0x42e22a
push edi
lea ecx, [ebp - 0x18]
push ecx
push 2
push 0x4d0fc4
push esi
call ebx
mov eax, dword [ebp + 8]
mov edx, dword [eax]
mov edx, dword [edx + 0x20]
lea ecx, [ebp - 0x20]
push ecx
push 1
push eax
call edx
test eax, eax
jne 0x42e91d
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax]
lea edx, [ebp - 0x14]
push edx
lea edx, [ebp - 0x398]
push edx
mov edx, dword [ebp - 0x14]
push edx
push eax
mov eax, dword [ecx + 0xc]
call eax
cmp esi, edi
je 0x42e2a5
mov ecx, dword [ebp - 0x14]
push ecx
lea edx, [ebp - 0x54d8]
push str.Drag_object_contains__i_formats_n_n
push edx
call dword [sym.imp.USER32.dll_wsprintfW]
lea eax, [ebp - 0x54d8]
add esp, 0xc
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, di
jne 0x42e283
sub eax, edx
push edi
sar eax, 1
lea ecx, [ebp - 0x18]
push ecx
lea edx, [eax + eax]
push edx
lea eax, [ebp - 0x54d8]
push eax
push esi
call ebx
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
push str.Shell_IDList_Array
call dword [sym.imp.USER32.dll_RegisterClipboardFormatW]
mov ecx, dword [ebp - 0x14]
movzx eax, ax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0xc], edi
cmp ecx, edi
jbe 0x42e8d4
lea ecx, [ebp - 0x398]
lea edx, [ebp - 0x1b8]
mov dword [ebp - 8], edi
mov dword [ebp - 0x10], ecx
lea edi, [ebp - 0x54d8]
mov dword [ebp - 0x1c], edx
lea ebx, [ebx]
mov esi, dword [ebp - 0x10]
movzx ecx, word [esi]
push 0x104
push edi
xor eax, eax
push ecx
mov word [edi], ax
call dword [sym.imp.USER32.dll_GetClipboardFormatNameW]
test eax, eax
jne 0x42e4cd
movzx eax, word [esi]
lea ecx, [eax - 1]
cmp ecx, 0x8d
ja case.0x42e329.18
movzx edx, byte [ecx + 0x42e984]
jmp dword [edx*4 + 0x42e928]
push str.CF_TEXT
push edi
call fcn.0040f030
add esp, 8
jmp 0x42e4cd
push str.CF_BITMAP
push edi
call fcn.0040f030
add esp, 8
jmp 0x42e4cd
push str.CF_METAFILEPICT
push edi
call fcn.0040f030
add esp, 8
jmp 0x42e4cd
push str.CF_SYLK
push edi
call fcn.0040f030
add esp, 8
jmp 0x42e4cd
push str.CF_DIF
push edi
call fcn.0040f030
add esp, 8
jmp 0x42e4cd
push str.CF_TIFF
push edi
call fcn.0040f030
add esp, 8
jmp 0x42e4cd
push str.CF_OEMTEXT
push edi
call fcn.0040f030
add esp, 8
jmp 0x42e4cd
push str.CF_DIB
push edi
call fcn.0040f030
add esp, 8
jmp 0x42e4cd
push str.CF_PALETTE
push edi
call fcn.0040f030
add esp, 8
jmp 0x42e4cd
push str.CF_PENDATA
push edi
call fcn.0040f030
add esp, 8
jmp 0x42e4cd
push str.CF_RIFF
push edi
call fcn.0040f030
add esp, 8
jmp 0x42e4cd
push str.CF_WAVE
push edi
call fcn.0040f030
add esp, 8
jmp 0x42e4cd
push str.CF_UNICODETEXT
push edi
call fcn.0040f030
add esp, 8
jmp 0x42e4cd
push str.CF_ENHMETAFILE
push edi
call fcn.0040f030
add esp, 8
jmp 0x42e4cd
push str.CF_HDROP
push edi
call fcn.0040f030
add esp, 8
jmp 0x42e4cd
push str.CF_LOCALE
push edi
call fcn.0040f030
add esp, 8
jmp 0x42e4cd
push str.CF_DIBV5
push edi
call fcn.0040f030
add esp, 8
jmp 0x42e4cd
push str.CF_OWNERDISPLAY
push edi
call fcn.0040f030
add esp, 8
jmp 0x42e4cd
push str.CF_DSPTEXT
push edi
call fcn.0040f030
add esp, 8
jmp 0x42e4cd
push str.CF_DSPBITMAP
push edi
call fcn.0040f030
add esp, 8
jmp 0x42e4cd
push str.CF_DSPMETAFILEPICT
push edi
call fcn.0040f030
add esp, 8
jmp 0x42e4cd
push str.CF_DSPENHMETAFILE
push edi
call fcn.0040f030
add esp, 8
jmp 0x42e4cd
push eax
push str.ClipFormatID_i
push edi
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
mov eax, edi
lea edx, [eax + 2]
xor ebx, ebx
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x42e4d4
mov esi, dword [ebp - 0x10]
mov ecx, dword [esi + 0x10]
sub eax, edx
mov edx, dword [ebp - 8]
sar eax, 1
push ecx
add edx, eax
lea eax, [ebp + edx*2 - 0x54d8]
push str.__tymed0x_02X
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
mov eax, dword [ebp + 8]
mov edx, dword [ebp - 0x10]
mov ecx, dword [eax]
add esp, 0xc
mov dword [esi + 0x10], 1
mov esi, dword [ebp - 0x1c]
push esi
push edx
push eax
mov eax, dword [ecx + 0xc]
mov dword [esi], ebx
mov dword [ebp - 4], ebx
call eax
cmp eax, ebx
jne 0x42e775
mov ecx, dword [esi]
cmp ecx, 1
jne 0x42e6ae
mov eax, dword [esi + 4]
cmp eax, ebx
je 0x42e7b6
push eax
call dword [sym.imp.KERNEL32.dll_GlobalLock]
mov ecx, dword [ebp - 0xc]
mov ebx, eax
mov dword [ebp + ecx*4 - 0xc8], ebx
test ebx, ebx
je 0x42e692
mov edx, esi
mov eax, dword [edx + 4]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalSize]
mov esi, eax
mov eax, edi
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x42e570
sub eax, edx
mov edx, dword [ebp - 8]
sar eax, 1
push esi
add edx, eax
lea eax, [ebp + edx*2 - 0x54d8]
push str.__DataSize_i
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
cmp esi, 1
jne 0x42e5bb
mov eax, edi
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x42e5a5
movzx ecx, byte [ebx]
push ecx
push str.__Data0x_02X
jmp 0x42e5d8
cmp esi, 4
jne 0x42e5f7
mov eax, edi
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x42e5c5
mov ecx, dword [ebx]
push ecx
push str.__Data0x_08X
sub eax, edx
mov edx, dword [ebp - 8]
sar eax, 1
add edx, eax
lea eax, [ebp + edx*2 - 0x54d8]
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
jmp 0x42e7b6
cmp esi, 8
jne 0x42e637
mov eax, edi
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x42e601
mov ecx, dword [ebx + 4]
push ecx
mov ecx, dword [ebp - 8]
sub eax, edx
mov edx, dword [ebx]
sar eax, 1
push edx
add ecx, eax
lea edx, [ebp + ecx*2 - 0x54d8]
push str.__Data0x_08X_08X
push edx
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x10
jmp 0x42e7b6
push 0x4c9858
push edi
call fcn.0040f090
lea eax, [esi + esi + 2]
push 1
push eax
mov dword [ebp - 4], eax
call fcn.004412c0
mov ecx, dword [ebp - 0xc]
add esp, 0x10
cmp byte [ebx], 0
mov dword [ebp + ecx*4 - 0x78], eax
je 0x42e679
cmp byte [ebx + 1], 0
je 0x42e679
push esi
push eax
push esi
push ebx
push 0
push 0
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
jmp 0x42e7b6
mov edx, dword [ebp - 4]
push ebx
push edx
push eax
call fcn.0042d8c0
and esi, 0xfffffffe
add esi, 2
mov dword [ebp - 4], esi
jmp 0x42e7b6
push str.__hGlobal_not_available
push 0x208
push edi
call fcn.00401880
mov dword [esi + 4], 0
jmp 0x42e7b6
cmp ecx, 2
jne 0x42e6c8
push str.__Error_in_source__TYMED_HGLOBAL_was_requested__but_got_TYMED_FILE
push 0x208
push edi
call fcn.00401880
jmp 0x42e7ac
cmp ecx, 4
jne 0x42e6e2
push str.__Error_in_source__TYMED_HGLOBAL_was_requested__but_got_TYMED_ISTREAM
push 0x208
push edi
call fcn.00401880
jmp 0x42e7ac
cmp ecx, 8
jne 0x42e6fc
push str.__Error_in_source__TYMED_HGLOBAL_was_requested__but_got_TYMED_ISTORAGE
push 0x208
push edi
call fcn.00401880
jmp 0x42e7ac
cmp ecx, 0x10
jne 0x42e716
push str.__Error_in_source__TYMED_HGLOBAL_was_requested__but_got_TYMED_GDI
push 0x208
push edi
call fcn.00401880
jmp 0x42e7ac
cmp ecx, 0x20
jne 0x42e72e
push str.__Error_in_source__TYMED_HGLOBAL_was_requested__but_got_TYMED_MFPICT
push edi
call fcn.0040f090
add esp, 8
jmp 0x42e7ac
cmp ecx, 0x40
jne 0x42e743
push str.__Error_in_source__TYMED_HGLOBAL_was_requested__but_got_TYMED_ENHMF
push edi
call fcn.0040f090
add esp, 8
jmp 0x42e7ac
mov eax, edi
lea edx, [eax + 2]
mov dword [ebp - 0x24], edx
jmp 0x42e750
mov dx, word [eax]
add eax, 2
cmp dx, bx
jne 0x42e750
sub eax, dword [ebp - 0x24]
push ecx
mov ecx, dword [ebp - 8]
sar eax, 1
add ecx, eax
push str.__Error_in_source__TYMED_HGLOBAL_was_requested__but_got___i_
lea edx, [ebp + ecx*2 - 0x54d8]
push edx
jmp 0x42e7a3
mov ecx, edi
lea edx, [ecx + 2]
mov dword [ebp - 0x24], edx
lea ecx, [ecx]
mov dx, word [ecx]
add ecx, 2
cmp dx, bx
jne 0x42e780
sub ecx, dword [ebp - 0x24]
push eax
mov eax, dword [ebp - 8]
sar ecx, 1
add eax, ecx
push str.__Cant_get_TYMED_HGLOBAL__rc0x_08X
lea ecx, [ebp + eax*2 - 0x54d8]
push ecx
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
push esi
call dword [sym.imp.ole32.dll_ReleaseStgMedium]
mov dword [esi + 4], ebx
push 0x4c976c
push 0x208
push edi
call fcn.00401880
mov ebx, dword [ebp + 0xc]
test ebx, ebx
je 0x42e835
mov eax, edi
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x42e7d2
mov esi, dword [sym.imp.KERNEL32.dll_WriteFile]
sub eax, edx
push 0
sar eax, 1
lea edx, [ebp - 0x18]
push edx
add eax, eax
push eax
push edi
push ebx
call esi
cmp dword [ebp - 4], 0
je 0x42e823
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp + ecx*4 - 0x78]
test eax, eax
je 0x42e823
mov ecx, dword [ebp - 4]
push 0
lea edx, [ebp - 0x18]
push edx
push ecx
push eax
push ebx
call esi
push 0
lea edx, [ebp - 0x18]
push edx
push 2
push 0x4c976c
push ebx
call esi
push 0
lea eax, [ebp - 0x18]
push eax
push 2
push 0x4c976c
push ebx
call esi
jmp 0x42e859
mov esi, dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
push edi
call esi
cmp dword [ebp - 4], 0
je 0x42e859
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp + ecx*4 - 0x78]
test eax, eax
je 0x42e859
push eax
call esi
push 0x4c976c
call esi
mov dx, word [ebp - 0x28]
mov eax, dword [ebp - 0x10]
cmp word [eax], dx
jne 0x42e8ad
mov ecx, dword [ebp - 0xc]
mov esi, dword [ebp + ecx*4 - 0xc8]
test esi, esi
je 0x42e8ad
mov eax, dword [esi + 4]
mov edx, ebx
push edx
add eax, esi
push eax
call fcn.0042d6b0
xor ebx, ebx
add esp, 8
cmp dword [esi], ebx
jbe 0x42e8ad
lea ecx, [esi + 8]
mov dword [ebp - 4], ecx
mov eax, dword [ebp - 4]
mov edx, dword [ebp + 0xc]
mov ecx, dword [eax]
push edx
add ecx, esi
push ecx
call fcn.0042d6b0
add dword [ebp - 4], 4
inc ebx
add esp, 8
cmp ebx, dword [esi]
jb 0x42e890
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x14]
add dword [ebp - 8], 0x208
add dword [ebp - 0x1c], 0xc
add dword [ebp - 0x10], 0x14
inc eax
add edi, 0x410
mov dword [ebp - 0xc], eax
cmp eax, ecx
jb 0x42e2f0
xor esi, esi
test ecx, ecx
jbe 0x42e91d
mov ebx, dword [sym.imp.KERNEL32.dll_GlobalUnlock]
lea edi, [ebp - 0x1b4]
cmp dword [ebp + esi*4 - 0xc8], 0
je 0x42e903
mov eax, dword [edi]
test eax, eax
je 0x42e903
push eax
call ebx
lea edx, [edi - 4]
push edx
call dword [sym.imp.ole32.dll_ReleaseStgMedium]
mov eax, dword [ebp + esi*4 - 0x78]
test eax, eax
je 0x42e914
push eax
call fcn.00441300
add esp, 4
inc esi
add edi, 0xc
cmp esi, dword [ebp - 0x14]
jb 0x42e8e6
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8