Function at 0x6e0099f0
Capabilities:
Copy file
Print debug messages

Disassembly:
push 0x180
mov eax, 0x6e04cf5b
call fcn.6e04acac
mov edi, ecx
cmp byte [0x6e07289b], 0
mov esi, dword [ebp + 8]
mov ebx, dword [ebp + 0xc]
mov dword [ebp - 0x168], esi
mov dword [ebp - 0x170], ebx
jne 0x6e009a25
cmp byte [0x6e07289a], 0
je 0x6e009a60
push edi
push str.CAcroAXDocShim__x_::LoadThisLocalFile
push 0x6e070a80
call fcn.6e01daf9
add esp, 0xc
cmp byte [0x6e07289a], 0
je 0x6e009a4c
push 0x6e070a80
call dword [sym.imp.kernel32.dll_OutputDebugStringA]
cmp byte [0x6e07289b], 0
je 0x6e009a60
push 0x6e070a80
call fcn.6e004210
pop ecx
xor eax, eax
mov dword [ebp - 0x118], 0xf
push 0x6e053800
lea ecx, [ebp - 0x12c]
mov dword [ebp - 0x11c], eax
mov byte [ebp - 0x12c], al
call fcn.6e010eae
xor eax, eax
mov dword [ebp - 0x17c], str.Cstring
mov dword [ebp - 4], eax
mov dword [ebp - 0x178], eax
mov eax, dword [edi + 0x16c]
push dword [eax + 0x10]
call fcn.6e01daf9
pop ecx
push 2
pop ecx
cmp eax, ecx
jl 0x6e009aca
mov ecx, 0xfde9
mov dword [ebp - 0x17c], str.CstringUTF8
mov dword [ebp - 0x178], ecx
jmp 0x6e009ad0
mov ecx, dword [ebp - 0x178]
mov eax, dword [edi + 0x174]
test eax, eax
je 0x6e00a0f5
push ecx
push eax
call fcn.6e01daf9
mov dword [ebp - 0x180], eax
pop ecx
pop ecx
test eax, eax
je 0x6e00a0f5
lea eax, [edi + 0x2ab]
cmp byte [eax], 0
jne 0x6e009b35
xor eax, eax
mov word [ebp - 0x16c], ax
lea eax, [ebp - 0x16c]
push eax
push 0x100
lea eax, [edi + 0x1a8]
push eax
push ebx
push esi
call fcn.6e01daf9
add esp, 0x14
test ax, ax
je 0x6e00a0f5
lea eax, [edi + 0x2ab]
xor ecx, ecx
push ecx
push eax
lea eax, [ebp - 0x174]
mov dword [ebp - 0x174], ecx
push eax
push dword [ebp - 0x180]
mov ecx, edi
call fcn.6e00a754
xor ecx, ecx
mov dword [ebp - method.CTempFile.virtual_0], vtable.CTempFile.0
mov dword [ebp - 0x188], ecx
mov dword [ebp - 0x184], ecx
xor edx, edx
mov byte [ebp - 4], 4
mov ebx, ecx
mov byte [ebp - 0x169], cl
inc edx
mov dword [ebp - 0x164], 0xa
cmp byte [edi + 0x2ab], bl
jne 0x6e009ee3
movzx eax, word [edi + 0x1a6]
mov byte [edi + 0x2eb], dl
cmp ax, word [ebp - 0x164]
ja 0x6e009bb9
jne 0x6e009ddf
cmp word [edi + 0x1a4], dx
jb 0x6e009ddf
mov eax, dword [ebp - 0x170]
test eax, eax
je 0x6e009bf6
push eax
lea ecx, [ebp - 0x15c]
call fcn.6e01daf9
lea eax, [ebp - 0x15c]
mov byte [ebp - 4], 5
push eax
call fcn.6e03e462
pop ecx
lea ecx, [ebp - 0x15c]
mov byte [ebp - 4], 4
mov ebx, eax
call fcn.6e010d7a
jmp 0x6e009c9e
mov dword [ebp - 0x134], ecx
mov byte [ebp - 0x144], cl
lea ecx, [ebp - 0x144]
push esi
mov dword [ebp - 0x130], 0xf
call fcn.6e010eae
lea eax, [ebp - 0x144]
mov byte [ebp - 4], 6
push eax
call fcn.6e03e428
mov ebx, eax
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x130]
pop ecx
cmp eax, 0x10
jb 0x6e009c86
mov ecx, dword [ebp - 0x144]
inc eax
mov dword [ebp - 0x164], eax
mov dword [ebp - 0x160], ecx
mov byte [ebp - 4], 7
cmp eax, 0x1000
jb 0x6e009c79
lea eax, [ebp - 0x164]
push eax
lea eax, [ebp - 0x160]
push eax
call fcn.6e01daf9
mov eax, dword [ebp - 0x164]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x160]
push eax
push ecx
call fcn.6e01daf9
pop ecx
pop ecx
mov byte [ebp - 4], 4
xor eax, eax
mov dword [ebp - 0x130], 0xf
mov dword [ebp - 0x134], eax
mov byte [ebp - 0x144], al
test ebx, ebx
je 0x6e009ddb
mov eax, dword [ebx]
mov esi, dword [eax + 0x14]
mov ecx, esi
call dword [0x6e052870]
mov ecx, ebx
call esi
test al, al
je 0x6e009dc1
xor eax, eax
push eax
push 0x6e06e718
push 0x6e06e6f8
push eax
push ebx
call sub.VCRUNTIME140.dll___RTDynamicCast
add esp, 0x14
test eax, eax
jne 0x6e009cf4
mov eax, dword [ebx]
mov esi, dword [eax + 0x18]
mov ecx, esi
call dword [0x6e052870]
mov ecx, ebx
call esi
mov esi, eax
mov eax, str.MMFS
jmp 0x6e009d08
mov esi, dword [ebp - 0x168]
xor eax, eax
inc eax
mov byte [ebp - 0x169], al
mov eax, str.DMMF
push eax
lea ecx, [ebp - 0x12c]
mov dword [ebp - 0x168], esi
call fcn.6e010eae
cmp byte [ebp - 0x169], 0
jne 0x6e009ddf
mov esi, dword [ebp - 0x170]
xor edx, edx
xor ecx, ecx
inc edx
cmp byte [edi + 0x2ab], 0
je 0x6e009d62
test esi, esi
je 0x6e009d62
cmp word [esi], cx
je 0x6e009d62
mov eax, dword [edi + 0x16c]
test eax, eax
je 0x6e009d62
cmp dword [eax + 0x10], 0
je 0x6e009d62
push edx
push edx
push esi
push dword [eax + 0x10]
call fcn.6e01daf9
add esp, 0x10
xor esi, esi
push esi
push SysReAllocString
push dword [ebp - 0x174]
call fcn.6e01daf9
movzx ecx, word [edi + 0x2a8]
add esp, 0xc
mov dword [ebp - 0x164], eax
xor eax, eax
inc eax
cmp cx, ax
je 0x6e009f5f
push 2
pop eax
cmp cx, ax
je 0x6e009f5f
test ebx, ebx
je 0x6e009eee
mov eax, dword [ebx]
mov esi, dword [eax + 0x1c]
mov ecx, esi
call dword [0x6e052870]
mov ecx, ebx
call esi
mov dword [ebp - 0x160], eax
jmp 0x6e009ef4
mov eax, dword [ebx]
xor ecx, ecx
inc ecx
push ecx
mov esi, dword [eax]
mov ecx, esi
call dword [0x6e052870]
mov ecx, ebx
call esi
mov esi, dword [ebp - 0x168]
xor eax, eax
mov ebx, eax
cmp byte [edi + 0x18a], 0
jne 0x6e009e06
push 6
push 0x6e053f68
push dword [ebp - 0x180]
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
add esp, 0xc
test eax, eax
jne 0x6e009d27
xor eax, eax
push 0x104
push eax
lea eax, [ebp - 0x114]
push eax
call sub.VCRUNTIME140.dll_memset
xor eax, eax
push eax
push 0x104
lea eax, [ebp - 0x114]
push eax
mov eax, dword [edi + 0x16c]
push dword [eax + 0x10]
call fcn.6e01daf9
add esp, 0x1c
lea ecx, [ebp - 0x114]
test eax, eax
push 0
pop eax
cmovne ecx, eax
push ecx
lea ecx, [ebp - 0x18c]
call fcn.6e01daf9
mov dword [ebp - 0x16c], eax
test eax, eax
je 0x6e009d27
push 0
push eax
push esi
call dword [sym.imp.kernel32.dll_CopyFileA]
mov esi, dword [ebp - 0x170]
test eax, eax
je 0x6e009e87
mov ecx, dword [ebp - 0x16c]
mov dword [ebp - 0x168], ecx
jmp 0x6e009d2d
test esi, esi
je 0x6e009d2d
mov eax, dword [ebp - 0x178]
push eax
push dword [ebp - 0x16c]
call fcn.6e01daf9
mov dword [ebp - 0x160], eax
pop ecx
pop ecx
test eax, eax
je 0x6e009d2d
push 0
push eax
push esi
call dword [sym.imp.kernel32.dll_CopyFileW]
push dword [ebp - 0x160]
mov esi, eax
call fcn.6e01daf9
mov eax, dword [ebp - 0x168]
test esi, esi
pop ecx
cmovne eax, dword [ebp - 0x16c]
mov dword [ebp - 0x168], eax
jmp 0x6e009d27
mov esi, dword [ebp - 0x170]
jmp 0x6e009d32
mov dword [ebp - 0x160], esi
cmp dword [ebp - 0x118], 0x10
lea esi, [ebp - 0x12c]
cmovae esi, dword [ebp - 0x12c]
xor eax, eax
push eax
push SysReAllocString
push dword [ebp - 0x168]
call fcn.6e01daf9
xor ecx, ecx
push ecx
push ecx
push dword [ebp - 0x160]
push esi
push dword [ebp - 0x17c]
push ecx
push ecx
mov ecx, dword [ebp - 0x164]
inc ecx
inc eax
push ecx
push dword [ebp - 0x174]
push eax
push dword [ebp - 0x168]
mov eax, dword [edi + 0x16c]
push 0x6e053f7c
push dword [eax + 0x10]
call fcn.6e01daf9
add esp, 0x40
jmp 0x6e00a00a
test ebx, ebx
je 0x6e009f7c
mov eax, dword [ebx]
mov esi, dword [eax + 0x1c]
mov ecx, esi
call dword [0x6e052870]
mov ecx, ebx
call esi
mov dword [ebp - 0x160], eax
jmp 0x6e009f82
mov dword [ebp - 0x160], esi
cmp dword [ebp - 0x118], 0x10
lea esi, [ebp - 0x12c]
cmovae esi, dword [ebp - 0x12c]
xor eax, eax
push eax
push SysReAllocString
push dword [ebp - 0x168]
mov dword [ebp - 0x178], esi
call fcn.6e01daf9
mov edx, eax
xor esi, esi
xor eax, eax
xor ecx, ecx
push eax
push eax
push dword [ebp - 0x160]
inc esi
cmp word [edi + 0x2a8], si
mov esi, dword [ebp - 0x178]
push eax
setne cl
inc ecx
push ecx
push esi
push dword [ebp - 0x17c]
push eax
push eax
mov eax, dword [ebp - 0x164]
inc eax
push eax
push dword [ebp - 0x174]
lea eax, [edx + 1]
push eax
push dword [ebp - 0x168]
mov eax, dword [edi + 0x16c]
push str.docstream
push dword [eax + 0x10]
call fcn.6e01daf9
add esp, 0x48
push dword [ebp - 0x174]
mov dword [ebp - 0x160], eax
call fcn.6e01daf9
push dword [ebp - 0x180]
call fcn.6e01daf9
pop ecx
xor edx, edx
pop ecx
mov ecx, dword [edi + 0x10c]
inc edx
mov byte [edi + 0x2cd], dl
mov byte [edi + 0x2ac], dl
test ecx, ecx
je 0x6e00a05d
mov eax, dword [ecx]
push dword [0x6e071b8c]
push ecx
mov esi, dword [eax + 0xb4]
mov ecx, esi
call dword [0x6e052870]
call esi
xor edx, edx
inc edx
test ebx, ebx
je 0x6e00a0b7
cmp word [0x6e0712f8], 0
je 0x6e00a074
cmp byte [edi + 0x2fc], 0
jne 0x6e00a087
cmp word [0x6e0712fa], 0
je 0x6e00a09a
cmp byte [edi + 0x2fc], 0
jne 0x6e00a09a
mov eax, dword [ebx]
push edx
mov esi, dword [eax]
mov ecx, esi
call dword [0x6e052870]
mov ecx, ebx
call esi
jmp 0x6e00a0b7
mov eax, dword [ebx]
mov esi, dword [eax + 0x18]
mov ecx, esi
call dword [0x6e052870]
mov ecx, ebx
call esi
push eax
lea ecx, [edi + 0x18c]
call fcn.6e010eae
cmp dword [ebp - 0x160], 0
push 0xa
pop eax
sete bl
mov byte [ebp - 4], al
cmp dword [ebp - 0x184], 0
je 0x6e00a0dd
push dword [ebp - 0x184]
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
pop ecx
cmp dword [ebp - 0x188], 0
je 0x6e00a0f7
push dword [ebp - 0x188]
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
pop ecx
jmp 0x6e00a0f7
mov bl, 1
or dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x118]
cmp eax, 0x10
jb 0x6e00a151
mov ecx, dword [ebp - 0x12c]
inc eax
mov dword [ebp - 0x160], eax
mov dword [ebp - 0x164], ecx
mov dword [ebp - 4], 0xb
cmp eax, 0x1000
jb 0x6e00a148
lea eax, [ebp - 0x160]
push eax
lea eax, [ebp - 0x164]
push eax
call fcn.6e01daf9
mov eax, dword [ebp - 0x160]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x164]
push eax
push ecx
call fcn.6e01daf9
pop ecx
pop ecx
mov al, bl
call fcn.6e04ac56
ret 8