Function at 0x6e00965e
Capabilities:
Copy file
Print debug messages

Disassembly:
push 0x180
mov eax, 0x6e04b7b3
call fcn.6e04936c
mov edi, ecx
cmp byte [0x6e07047b], 0
mov ebx, dword [ebp + 8]
mov esi, dword [ebp + 0xc]
mov dword [ebp - 0x168], ebx
mov dword [ebp - 0x174], esi
jne 0x6e009693
cmp byte [0x6e07047a], 0
je 0x6e0096ce
push edi
push str.CAcroAXDocShim__x_::LoadThisLocalFile
push 0x6e06ea68
call fcn.6e00d071
add esp, 0xc
cmp byte [0x6e07047a], 0
je 0x6e0096ba
push 0x6e06ea68
call dword [sym.imp.kernel32.dll_OutputDebugStringA]
cmp byte [0x6e07047b], 0
je 0x6e0096ce
push 0x6e06ea68
call fcn.6e003fc0
pop ecx
xor eax, eax
mov dword [ebp - 0x118], 0xf
push 0x6e051790
lea ecx, [ebp - 0x12c]
mov dword [ebp - 0x11c], eax
mov byte [ebp - 0x12c], al
call fcn.6e010a4f
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.6e00d071
pop ecx
push 2
pop ecx
cmp eax, ecx
jl 0x6e009738
mov ecx, 0xfde9
mov dword [ebp - 0x17c], str.CstringUTF8
mov dword [ebp - 0x178], ecx
jmp 0x6e00973e
mov ecx, dword [ebp - 0x178]
mov eax, dword [edi + 0x174]
test eax, eax
je 0x6e009d37
push ecx
push eax
call fcn.6e00d071
mov dword [ebp - 0x180], eax
pop ecx
pop ecx
test eax, eax
je 0x6e009d37
lea eax, [edi + 0x2ab]
cmp byte [eax], 0
jne 0x6e0097a3
xor eax, eax
mov word [ebp - 0x16c], ax
lea eax, [ebp - 0x16c]
push eax
push 0x100
lea eax, [edi + 0x1a8]
push eax
push esi
push ebx
call fcn.6e00d071
add esp, 0x14
test ax, ax
je 0x6e009d37
lea eax, [edi + 0x2ab]
xor ecx, ecx
push ecx
push eax
lea eax, [ebp - 0x170]
mov dword [ebp - 0x170], ecx
push eax
push dword [ebp - 0x180]
mov ecx, edi
call fcn.6e00a314
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 0x6e009a4c
movzx eax, word [edi + 0x1a6]
mov byte [edi + 0x2eb], dl
cmp ax, word [ebp - 0x164]
ja 0x6e009827
jne 0x6e0099a9
cmp word [edi + 0x1a4], dx
jb 0x6e0099a9
test esi, esi
je 0x6e00985e
push esi
lea ecx, [ebp - 0x15c]
call fcn.6e00d071
lea eax, [ebp - 0x15c]
mov byte [ebp - 4], 5
push eax
call fcn.6e03cba2
pop ecx
lea ecx, [ebp - 0x15c]
mov byte [ebp - 4], 4
mov ebx, eax
call fcn.6e010925
jmp 0x6e009906
push 0xf
pop esi
push dword [ebp - 0x168]
mov dword [ebp - 0x134], ecx
mov byte [ebp - 0x144], cl
lea ecx, [ebp - 0x144]
mov dword [ebp - 0x130], esi
call fcn.6e010a4f
lea eax, [ebp - 0x144]
mov byte [ebp - 4], 6
push eax
call fcn.6e03cb68
mov ebx, eax
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x130]
pop ecx
cmp eax, 0x10
jb 0x6e0098f2
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 0x6e0098e5
lea eax, [ebp - 0x164]
push eax
lea eax, [ebp - 0x160]
push eax
call fcn.6e00d071
mov eax, dword [ebp - 0x164]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x160]
push eax
push ecx
call fcn.6e00d071
pop ecx
pop ecx
mov byte [ebp - 4], 4
xor eax, eax
mov dword [ebp - 0x130], esi
mov dword [ebp - 0x134], eax
mov byte [ebp - 0x144], al
test ebx, ebx
je 0x6e00998e
mov eax, dword [ebx]
mov esi, dword [eax + 0x14]
mov ecx, esi
call dword [0x6e050848]
mov ecx, ebx
call esi
test al, al
je 0x6e00997a
xor eax, eax
push eax
push 0x6e06c7b4
push 0x6e06c794
push eax
push ebx
call sub.VCRUNTIME140.dll___RTDynamicCast
add esp, 0x14
test eax, eax
jne 0x6e00995c
mov eax, dword [ebx]
mov esi, dword [eax + 0x18]
mov ecx, esi
call dword [0x6e050848]
mov ecx, ebx
call esi
mov dword [ebp - 0x168], eax
mov eax, str.MMFS
jmp 0x6e00996a
xor eax, eax
inc eax
mov byte [ebp - 0x169], al
mov eax, str.DMMF
push eax
lea ecx, [ebp - 0x12c]
call fcn.6e010a4f
xor ecx, ecx
jmp 0x6e009992
mov eax, dword [ebx]
xor ecx, ecx
inc ecx
push ecx
mov esi, dword [eax]
mov ecx, esi
call dword [0x6e050848]
mov ecx, ebx
call esi
xor ecx, ecx
mov ebx, ecx
test ebx, ebx
je 0x6e0099a3
cmp byte [ebp - 0x169], 0
je 0x6e009a49
mov esi, dword [ebp - 0x174]
cmp byte [edi + 0x18a], 0
jne 0x6e0099cc
push 6
push 0x6e051ee8
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 0x6e009a47
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.6e00d071
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.6e00d071
mov dword [ebp - 0x16c], eax
test eax, eax
je 0x6e009a47
push 0
push eax
push dword [ebp - 0x168]
call dword [sym.imp.kernel32.dll_CopyFileA]
test eax, eax
je 0x6e009ada
mov eax, dword [ebp - 0x16c]
mov dword [ebp - 0x168], eax
xor ecx, ecx
xor edx, edx
inc edx
cmp byte [edi + 0x2ab], 0
je 0x6e009a82
mov eax, dword [ebp - 0x174]
test eax, eax
je 0x6e009a82
cmp word [eax], cx
je 0x6e009a82
mov ecx, dword [edi + 0x16c]
test ecx, ecx
je 0x6e009a82
cmp dword [ecx + 0x10], 0
je 0x6e009a82
push edx
push edx
push eax
push dword [ecx + 0x10]
call fcn.6e00d071
add esp, 0x10
xor esi, esi
push esi
push SysReAllocString
push dword [ebp - 0x170]
call fcn.6e00d071
movzx ecx, word [edi + 0x2a8]
add esp, 0xc
mov dword [ebp - 0x164], eax
xor eax, eax
inc eax
cmp cx, ax
je 0x6e009ba1
push 2
pop eax
cmp cx, ax
je 0x6e009ba1
test ebx, ebx
je 0x6e009b30
mov eax, dword [ebx]
mov esi, dword [eax + 0x1c]
mov ecx, esi
call dword [0x6e050848]
mov ecx, ebx
call esi
mov dword [ebp - 0x160], eax
jmp 0x6e009b36
test esi, esi
je 0x6e009a47
mov eax, dword [ebp - 0x178]
push eax
push dword [ebp - 0x16c]
call fcn.6e00d071
mov dword [ebp - 0x160], eax
pop ecx
pop ecx
test eax, eax
je 0x6e009a47
push 0
push eax
push esi
call dword [sym.imp.kernel32.dll_CopyFileW]
push dword [ebp - 0x160]
mov esi, eax
call fcn.6e00d071
mov eax, dword [ebp - 0x168]
test esi, esi
pop ecx
cmovne eax, dword [ebp - 0x16c]
jmp 0x6e009a41
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.6e00d071
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 - 0x170]
push eax
push dword [ebp - 0x168]
mov eax, dword [edi + 0x16c]
push 0x6e051efc
push dword [eax + 0x10]
call fcn.6e00d071
add esp, 0x40
jmp 0x6e009c4c
test ebx, ebx
je 0x6e009bbe
mov eax, dword [ebx]
mov esi, dword [eax + 0x1c]
mov ecx, esi
call dword [0x6e050848]
mov ecx, ebx
call esi
mov dword [ebp - 0x160], eax
jmp 0x6e009bc4
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 - 0x174], esi
call fcn.6e00d071
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 - 0x174]
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 - 0x170]
lea eax, [edx + 1]
push eax
push dword [ebp - 0x168]
mov eax, dword [edi + 0x16c]
push str.docstream
push dword [eax + 0x10]
call fcn.6e00d071
add esp, 0x48
push dword [ebp - 0x170]
mov dword [ebp - 0x160], eax
call fcn.6e00d071
push dword [ebp - 0x180]
call fcn.6e00d071
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 0x6e009c9f
mov eax, dword [ecx]
push dword [0x6e06f774]
push ecx
mov esi, dword [eax + 0xb4]
mov ecx, esi
call dword [0x6e050848]
call esi
xor edx, edx
inc edx
test ebx, ebx
je 0x6e009cf9
cmp word [0x6e06f2f8], 0
je 0x6e009cb6
cmp byte [edi + 0x2fc], 0
jne 0x6e009cc9
cmp word [0x6e06f2fa], 0
je 0x6e009cdc
cmp byte [edi + 0x2fc], 0
jne 0x6e009cdc
mov eax, dword [ebx]
push edx
mov esi, dword [eax]
mov ecx, esi
call dword [0x6e050848]
mov ecx, ebx
call esi
jmp 0x6e009cf9
mov eax, dword [ebx]
mov esi, dword [eax + 0x18]
mov ecx, esi
call dword [0x6e050848]
mov ecx, ebx
call esi
push eax
lea ecx, [edi + 0x18c]
call fcn.6e010a4f
cmp dword [ebp - 0x160], 0
push 0xa
pop eax
sete bl
mov byte [ebp - 4], al
cmp dword [ebp - 0x184], 0
je 0x6e009d1f
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 0x6e009d39
push dword [ebp - 0x188]
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
pop ecx
jmp 0x6e009d39
mov bl, 1
or dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x118]
cmp eax, 0x10
jb 0x6e009d93
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 0x6e009d8a
lea eax, [ebp - 0x160]
push eax
lea eax, [ebp - 0x164]
push eax
call fcn.6e00d071
mov eax, dword [ebp - 0x160]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x164]
push eax
push ecx
call fcn.6e00d071
pop ecx
pop ecx
mov al, bl
call fcn.6e049316
ret 8