joyce8/EMBER2024-capa huggingface dataset:
Function at 0x6e038fab
Capabilities:
Contain obfuscated stackstrings
Print debug messages

Disassembly:
push 0x54
mov eax, 0x6e04db26
call fcn.6e04936c
mov esi, dword [ebp + 8]
xor eax, eax
cmp word [ebp + 0x20], ax
movzx ebx, word [ebp + 0x1c]
setne al
movzx eax, ax
push eax
push esi
call fcn.6e03a98a
pop ecx
pop ecx
test eax, eax
jne 0x6e03910b
mov ecx, dword [ebp + 0x10]
test ecx, ecx
je 0x6e039108
mov edx, dword [ebp + 0x18]
test edx, edx
je 0x6e039108
mov eax, dword [esi + 4]
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], esi
inc dword [eax + 0x38]
inc dword [esi + 0x14]
and dword [ebp - 4], 0
test bx, bx
mov eax, dword [esi + 4]
mov dword [ebp - 0x54], eax
mov eax, 0x50555348
mov dword [ebp - 0x58], 0x50455354
cmovne eax, dword [ebp - 0x58]
mov dword [ebp - 0x50], eax
xor eax, eax
mov word [ebp - 0x4c], ax
test bx, bx
lea eax, [esi + 0xc]
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x48], eax
mov esi, 0x50454552
mov eax, 0x50444154
mov dword [ebp - 0x44], 4
cmovne eax, esi
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x40], eax
xor eax, eax
mov word [ebp - 0x3c], ax
mov word [ebp - 0x2c], ax
lea eax, [ebp + 0x14]
mov dword [ebp - 0x28], eax
xor eax, eax
cmp byte [0x6e07047b], 0
push 4
pop ecx
mov word [ebp - 0x1c], ax
lea eax, [ebp + 0xc]
mov dword [ebp - 0x30], 0x504f4653
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x20], 0x4c454e20
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], ecx
jne 0x6e039091
cmp byte [0x6e07047a], 0
je 0x6e0390db
mov esi, dword [ebp - 0x54]
test bx, bx
mov ecx, str.kPDFXPush
mov eax, str.kPDFXPushError
cmove eax, ecx
mov ebx, 0x6e06fc48
push eax
push esi
push str.__lx__PDFXSendOrSave__s_
push ebx
call fcn.6e03a98a
add esp, 0x10
cmp byte [0x6e07047a], 0
je 0x6e0390c9
push ebx
call dword [sym.imp.kernel32.dll_OutputDebugStringA]
cmp byte [0x6e07047b], 0
je 0x6e0390de
push ebx
call fcn.6e003fc0
pop ecx
jmp 0x6e0390de
mov esi, dword [ebp - 0x54]
xor eax, eax
cmp word [ebp + 0x20], ax
push 8
pop ecx
cmovne eax, ecx
push eax
push 4
lea eax, [ebp - 0x50]
push eax
push esi
call fcn.6e038da1
add esp, 0x10
lea ecx, [ebp - 0x60]
mov esi, eax
call fcn.6e03a98a
mov eax, esi
jmp 0x6e03910b
push 3
pop eax
call fcn.6e049316
ret
Function at 0x6e039111
Capabilities:
Contain obfuscated stackstrings
Print debug messages

Disassembly:
push 0x50
mov eax, 0x6e04db53
call fcn.6e04936c
mov eax, dword [ebp + 0x10]
mov esi, dword [ebp + 8]
mov dword [ebp - 0x54], eax
xor eax, eax
cmp word [ebp + 0x1c], ax
setne al
movzx eax, ax
push eax
push esi
call fcn.6e03a98a
pop ecx
pop ecx
test eax, eax
jne 0x6e039235
mov eax, dword [esi + 4]
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], esi
inc dword [eax + 0x38]
inc dword [esi + 0x14]
and dword [ebp - 4], 0
xor eax, eax
mov ebx, dword [esi + 4]
mov word [ebp - 0x4c], ax
lea eax, [esi + 0xc]
mov dword [ebp - 0x48], eax
xor eax, eax
push 4
pop ecx
mov word [ebp - 0x3c], ax
lea eax, [ebp + 0xc]
mov dword [ebp - 0x38], eax
xor eax, eax
push 0
mov word [ebp - 0x2c], ax
mov eax, dword [ebp - 0x54]
push SysReAllocString
push eax
mov dword [ebp - 0x50], 0x50525350
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x40], 0x52535043
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x30], 0x52535048
mov dword [ebp - 0x28], eax
call fcn.6e03a98a
mov dword [ebp - 0x24], eax
add esp, 0xc
xor eax, eax
mov dword [ebp - 0x20], 0x55524544
cmp byte [0x6e07047b], 0
mov word [ebp - 0x1c], ax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x14], eax
jne 0x6e0391d9
cmp byte [0x6e07047a], 0
je 0x6e03920d
push ebx
push str.__lx__PDFXSendOrSave_kPDFXPushResponse_
mov esi, 0x6e06fc48
push esi
call fcn.6e03a98a
add esp, 0xc
cmp byte [0x6e07047a], 0
je 0x6e0391fd
push esi
call dword [sym.imp.kernel32.dll_OutputDebugStringA]
cmp byte [0x6e07047b], 0
je 0x6e03920d
push esi
call fcn.6e003fc0
pop ecx
xor eax, eax
cmp word [ebp + 0x1c], ax
push 8
pop ecx
cmovne eax, ecx
push eax
push 4
lea eax, [ebp - 0x50]
push eax
push ebx
call fcn.6e038da1
add esp, 0x10
lea ecx, [ebp - 0x5c]
mov esi, eax
call fcn.6e03a98a
mov eax, esi
call fcn.6e049316
ret

Function at 0x6e03a98a
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x5c
pushal
call 0x6e03a999
pop dword [ebp - 0x4c]
mov eax, 0x53a1eb23
add eax, 0x1a61be76
sub dword [ebp - 0x4c], eax
push 0x40
push 0x1000
push 0x4e218
push 0
mov eax, 0x64032268
sub eax, 0xf5fe1fdc
add eax, dword [ebp - 0x4c]
call dword [eax]
mov ecx, 0x5a74
mov edx, eax
mov edi, 0x1cf833d6
add edi, 0x5114722a
add edi, dword [ebp - 0x4c]
mov esi, 0x110103de
sub esi, 0xad0f2617
sub dword [ebp - 0x30], edx
mov ebx, dword [edi]
sub dword [ebp - 0x18], 0x4f27526e
xor ebx, esi
xor dword [ebp - 0x28], esi
mov dword [edx], ebx
sub dword [ebp - 0xc], 0xd4da490c
add edx, 0x54356b55
add edx, 0xabca94af
add edi, 4
loop 0x6e03a9f2
add eax, 0xcbe266ca
add eax, 0x341ef5d9
mov ebx, eax
add eax, 5
mov ecx, 0x6e000000
add ecx, dword [ebp - 0x4c]
call ebx
leave
ret
Function at 0x6e03c7b4
Capabilities:
Print debug messages

Disassembly:
push 4
mov eax, 0x6e04dbc9
call fcn.6e049338
mov esi, ecx
mov dword [ebp - 0x10], esi
push dword [ebp + 8]
lea edi, [esi + 4]
mov dword [esi], vtable.CMemMappedFile.0
xor ebx, ebx
mov ecx, edi
mov dword [edi + 0x10], ebx
mov dword [edi + 0x14], ebx
call fcn.6e03a98a
mov eax, dword [ebp + 0xc]
mov dword [esi + 0x1c], ebx
mov dword [esi + 0x20], ebx
mov dword [esi + 0x24], eax
mov dword [esi + 0x28], ebx
mov dword [esi + 0x2c], ebx
mov byte [esi + 0x30], 1
mov dword [ebp - 4], ebx
cmp byte [0x6e07047b], bl
jne 0x6e03c809
cmp byte [0x6e07047a], bl
je 0x6e03c845
cmp dword [edi + 0x14], 0x10
jb 0x6e03c811
mov edi, dword [edi]
push edi
push str.CMemMappedFile__s__ctor__reference_
mov edi, 0x6e070068
push edi
call fcn.6e03a98a
add esp, 0xc
cmp byte [0x6e07047a], 0
je 0x6e03c835
push edi
call dword [sym.imp.kernel32.dll_OutputDebugStringA]
cmp byte [0x6e07047b], 0
je 0x6e03c845
push edi
call fcn.6e003fc0
pop ecx
push esi
call fcn.6e03a98a
pop ecx
mov eax, esi
call fcn.6e049301
ret 8

Function at 0x6e03c856
Capabilities:
Print debug messages

Disassembly:
push 4
mov eax, 0x6e04dbc9
call fcn.6e049338
mov esi, ecx
mov dword [ebp - 0x10], esi
lea edi, [esi + 4]
mov dword [esi], vtable.CMemMappedFile.0
push edi
call fcn.6e03cfd6
pop ecx
mov eax, dword [ebp + 8]
xor ecx, ecx
mov dword [esi + 0x1c], ecx
mov dword [esi + 0x20], ecx
mov dword [esi + 0x24], eax
mov dword [esi + 0x28], ecx
mov dword [esi + 0x2c], ecx
mov byte [esi + 0x30], cl
mov dword [ebp - 4], ecx
cmp byte [0x6e07047b], cl
jne 0x6e03c8a1
cmp byte [0x6e07047a], cl
je 0x6e03c8de
cmp dword [edi + 0x14], 0x10
jb 0x6e03c8a9
mov edi, dword [edi]
push eax
push edi
push str.CMemMappedFile__s__ctor__new_with_size_lu_
mov edi, 0x6e070068
push edi
call fcn.6e03a98a
add esp, 0x10
cmp byte [0x6e07047a], 0
je 0x6e03c8ce
push edi
call dword [sym.imp.kernel32.dll_OutputDebugStringA]
cmp byte [0x6e07047b], 0
je 0x6e03c8de
push edi
call fcn.6e003fc0
pop ecx
mov ecx, esi
call fcn.6e03d3e0
mov eax, esi
call fcn.6e049301
ret 4

Function at 0x6e03c8ef
Capabilities:
Print debug messages

Disassembly:
push 4
mov eax, 0x6e04dbc9
call fcn.6e049338
mov esi, ecx
mov dword [ebp - 0x10], esi
lea edi, [esi + 4]
mov dword [esi], vtable.CMemMappedFile.0
push edi
call fcn.6e03cfd6
pop ecx
xor eax, eax
mov dword [esi + 0x1c], eax
mov dword [esi + 0x20], eax
mov dword [esi + 0x24], eax
mov dword [esi + 0x28], eax
mov dword [esi + 0x2c], eax
mov byte [esi + 0x30], al
mov dword [ebp - 4], eax
cmp byte [0x6e07047b], al
jne 0x6e03c937
cmp byte [0x6e07047a], al
je 0x6e03c973
cmp dword [edi + 0x14], 0x10
jb 0x6e03c93f
mov edi, dword [edi]
push edi
push str.CMemMappedFile__s__ctor__new_
mov edi, 0x6e070068
push edi
call fcn.6e03a98a
add esp, 0xc
cmp byte [0x6e07047a], 0
je 0x6e03c963
push edi
call dword [sym.imp.kernel32.dll_OutputDebugStringA]
cmp byte [0x6e07047b], 0
je 0x6e03c973
push edi
call fcn.6e003fc0
pop ecx
mov eax, esi
call fcn.6e049301
ret
Function at 0x6e03ce00
Capabilities:
Print debug messages

Disassembly:
push 4
mov eax, 0x6e04dc38
call fcn.6e049338
cmp byte [0x6e07047b], 0
mov edi, 0x6e070068
mov esi, dword [ebp + 8]
jne 0x6e03ce26
cmp byte [0x6e07047a], 0
je 0x6e03ce55
push esi
push str.CMemMappedFile_CreateWithSize__size_lu_
push edi
call fcn.6e03a98a
add esp, 0xc
cmp byte [0x6e07047a], 0
je 0x6e03ce45
push edi
call dword [sym.imp.kernel32.dll_OutputDebugStringA]
cmp byte [0x6e07047b], 0
je 0x6e03ce55
push edi
call fcn.6e003fc0
pop ecx
call fcn.6e03a98a
test al, al
je 0x6e03ceb1
call fcn.6e03edee
test al, al
je 0x6e03ceb1
cmp byte [0x6e07047b], 0
jne 0x6e03ce79
cmp byte [0x6e07047a], 0
je 0x6e03cea8
push esi
push str.CMemMappedFile::CreateWithSize__lu___REMOTE_CREATION_
push edi
call fcn.6e03a98a
add esp, 0xc
cmp byte [0x6e07047a], 0
je 0x6e03ce98
push edi
call dword [sym.imp.kernel32.dll_OutputDebugStringA]
cmp byte [0x6e07047b], 0
je 0x6e03cea8
push edi
call fcn.6e003fc0
pop ecx
push esi
call fcn.6e03ebec
pop ecx
jmp 0x6e03cf0e
cmp byte [0x6e07047b], 0
jne 0x6e03cec3
cmp byte [0x6e07047a], 0
je 0x6e03cef2
push esi
push str.CMemMappedFile::CreateWithSize__lu___LOCAL_CREATION_
push edi
call fcn.6e03a98a
add esp, 0xc
cmp byte [0x6e07047a], 0
je 0x6e03cee2
push edi
call dword [sym.imp.kernel32.dll_OutputDebugStringA]
cmp byte [0x6e07047b], 0
je 0x6e03cef2
push edi
call fcn.6e003fc0
pop ecx
push 0x34
call fcn.6e03a98a
pop ecx
mov ecx, eax
mov dword [ebp - 0x10], ecx
xor eax, eax
mov dword [ebp - 4], eax
test ecx, ecx
je 0x6e03cf0e
push esi
call fcn.6e03c856
call fcn.6e049301
ret

Function at 0x6e03d080
Capabilities:
Print debug messages

Disassembly:
push 0x28
mov eax, 0x6e04dca2
call fcn.6e04936c
mov ecx, dword [ebp + 0xc]
xor ebx, ebx
mov esi, dword [ebp + 8]
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x30], ecx
cmp byte [0x6e07047b], bl
jne 0x6e03d0aa
cmp byte [0x6e07047a], bl
je 0x6e03d0e7
cmp dword [esi + 0x14], 0x10
mov eax, esi
jb 0x6e03d0b4
mov eax, dword [esi]
push ecx
push eax
push str.CMemMappedFile_GetExistingMemoryMappedFile__name_s__size_lu_
mov edi, 0x6e070068
push edi
call fcn.6e03a98a
add esp, 0x10
cmp byte [0x6e07047a], bl
je 0x6e03d0d8
push edi
call dword [sym.imp.kernel32.dll_OutputDebugStringA]
cmp byte [0x6e07047b], bl
je 0x6e03d0e7
push edi
call fcn.6e003fc0
pop ecx
push esi
call fcn.6e03a98a
mov edi, eax
pop ecx
test edi, edi
jne 0x6e03d14d
push 0x34
call fcn.6e03a98a
mov edi, eax
pop ecx
mov dword [ebp - 0x34], edi
mov dword [ebp - 4], ebx
test edi, edi
je 0x6e03d132
push esi
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x14], ebx
call fcn.6e03a98a
push dword [ebp - 0x30]
xor ebx, ebx
lea eax, [ebp - 0x28]
inc ebx
mov ecx, edi
push eax
mov byte [ebp - 4], bl
mov dword [ebp - 0x2c], ebx
call fcn.6e03c7b4
mov edi, eax
jmp 0x6e03d134
mov edi, ebx
test bl, 1
je 0x6e03d14d
mov eax, dword [ebp - 0x14]
cmp eax, 0x10
jb 0x6e03d14d
inc eax
push eax
push dword [ebp - 0x28]
call fcn.6e03a98a
pop ecx
pop ecx
mov eax, edi
call fcn.6e049316
ret
Function at 0x6e03d3e0
Capabilities:
Print debug messages

Disassembly:
mov al, byte [0x6e07047b]
push esi
mov esi, ecx
push edi
mov edi, 0x6e070068
test al, al
jne 0x6e03d3fa
cmp byte [0x6e07047a], al
je 0x6e03d439
lea eax, [esi + 4]
cmp dword [eax + 0x14], 0x10
jb 0x6e03d405
mov eax, dword [eax]
push eax
push str.CMemMappedFile__s__createMemoryMappedFile
push edi
call fcn.6e03a98a
add esp, 0xc
cmp byte [0x6e07047a], 0
je 0x6e03d424
push edi
call dword [sym.imp.kernel32.dll_OutputDebugStringA]
mov al, byte [0x6e07047b]
test al, al
je 0x6e03d439
push edi
call fcn.6e003fc0
mov al, byte [0x6e07047b]
pop ecx
mov ecx, dword [esi + 0x24]
test ecx, ecx
je 0x6e03d4d5
mov ecx, esi
call fcn.6e03a98a
mov dword [esi + 0x20], eax
test eax, eax
je 0x6e03d4a9
cmp byte [0x6e07047b], 0
jne 0x6e03d464
cmp byte [0x6e07047a], 0
je 0x6e03d4a1
lea eax, [esi + 4]
cmp dword [eax + 0x14], 0x10
jb 0x6e03d46f
mov eax, dword [eax]
push dword [esi + 0x24]
push eax
push str.CMemMappedFile__s__created_file_of_size___lu
push edi
call fcn.6e03a98a
add esp, 0x10
cmp byte [0x6e07047a], 0
je 0x6e03d491
push edi
call dword [sym.imp.kernel32.dll_OutputDebugStringA]
cmp byte [0x6e07047b], 0
je 0x6e03d4a1
push edi
call fcn.6e003fc0
pop ecx
push esi
call fcn.6e03a98a
jmp 0x6e03d51b
cmp byte [0x6e07047b], 0
jne 0x6e03d4bb
cmp byte [0x6e07047a], 0
je 0x6e03d51c
add esi, 4
cmp dword [esi + 0x14], 0x10
jb 0x6e03d4c6
mov esi, dword [esi]
call dword [sym.imp.kernel32.dll_GetLastError]
push eax
push esi
push str.CMemMappedFile__s__ERROR_CREATING__err_u_
jmp 0x6e03d4f3
test al, al
jne 0x6e03d4e1
cmp byte [0x6e07047a], al
je 0x6e03d51c
add esi, 4
cmp dword [esi + 0x14], 0x10
jb 0x6e03d4ec
mov esi, dword [esi]
push ecx
push esi
push str.CMemMappedFile__s__ERROR_CREATING__SIZE__0_
push edi
call fcn.6e03a98a
add esp, 0x10
cmp byte [0x6e07047a], 0
je 0x6e03d50c
push edi
call dword [sym.imp.kernel32.dll_OutputDebugStringA]
cmp byte [0x6e07047b], 0
je 0x6e03d51c
push edi
call fcn.6e003fc0
pop ecx
pop edi
pop esi
ret

Function at 0x6e03d650
Capabilities:
Print debug messages

Disassembly:
cmp byte [0x6e07047b], 0
push esi
mov esi, ecx
jne 0x6e03d665
cmp byte [0x6e07047a], 0
je 0x6e03d6a9
lea eax, [esi + 4]
cmp dword [eax + 0x14], 0x10
jb 0x6e03d670
mov eax, dword [eax]
push edi
push dword [esi + 0x24]
mov edi, 0x6e070068
push eax
push str.CMemMappedFile__s__size___lu
push edi
call fcn.6e03a98a
add esp, 0x10
cmp byte [0x6e07047a], 0
je 0x6e03d698
push edi
call dword [sym.imp.kernel32.dll_OutputDebugStringA]
cmp byte [0x6e07047b], 0
je 0x6e03d6a8
push edi
call fcn.6e003fc0
pop ecx
pop edi
mov eax, dword [esi + 0x24]
pop esi
ret
Function at 0x6e03d6c0
Capabilities:
Print debug messages

Disassembly:
cmp byte [0x6e07047b], 0
push esi
mov esi, ecx
jne 0x6e03d6d5
cmp byte [0x6e07047a], 0
je 0x6e03d728
lea ecx, [esi + 4]
cmp dword [ecx + 0x14], 0x10
jb 0x6e03d6e0
mov ecx, dword [ecx]
cmp dword [esi + 0x20], 0
mov edx, 0x6e051944
push edi
mov eax, str.true
mov edi, 0x6e070068
cmove eax, edx
push eax
push ecx
push str.CMemMappedFile__s__isValid___s
push edi
call fcn.6e03a98a
add esp, 0x10
cmp byte [0x6e07047a], 0
je 0x6e03d717
push edi
call dword [sym.imp.kernel32.dll_OutputDebugStringA]
cmp byte [0x6e07047b], 0
je 0x6e03d727
push edi
call fcn.6e003fc0
pop ecx
pop edi
cmp dword [esi + 0x20], 0
pop esi
setne al
ret
Function at 0x6e03d790
Capabilities:
Get file size
Print debug messages
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push ecx
push ecx
cmp byte [0x6e07047b], 0
push ebx
push esi
mov esi, dword [ebp + 8]
mov ebx, 0x6e070068
push edi
mov edi, ecx
jne 0x6e03d7b4
cmp byte [0x6e07047a], 0
je 0x6e03d7f9
cmp dword [esi + 0x14], 8
mov ecx, esi
jb 0x6e03d7be
mov ecx, dword [esi]
lea eax, [edi + 4]
cmp dword [eax + 0x14], 0x10
jb 0x6e03d7c9
mov eax, dword [eax]
push ecx
push eax
push str.CMemMappedFile__s__load_from_file___11S
push ebx
call fcn.6e03a98a
add esp, 0x10
cmp byte [0x6e07047a], 0
je 0x6e03d7e9
push ebx
call dword [sym.imp.kernel32.dll_OutputDebugStringA]
cmp byte [0x6e07047b], 0
je 0x6e03d7f9
push ebx
call fcn.6e003fc0
pop ecx
xor ebx, ebx
cmp dword [esi + 0x14], 8
jb 0x6e03d803
mov esi, dword [esi]
push ebx
push ebx
push 3
push ebx
push 1
push SysReAllocString
push esi
call dword [sym.imp.kernel32.dll_CreateFileW]
push ebx
push eax
mov dword [ebp - 8], eax
call dword [sym.imp.kernel32.dll_GetFileSize]
mov ecx, eax
test ecx, ecx
je 0x6e03d8d6
mov eax, dword [edi]
mov dword [edi + 0x24], ecx
push ecx
mov esi, dword [eax + 0xc]
mov ecx, esi
call dword [0x6e050848]
mov ecx, edi
call esi
test eax, eax
je 0x6e03d923
push ebx
lea eax, [ebp - 4]
mov dword [ebp - 4], ebx
push eax
push dword [edi + 0x24]
push dword [edi + 0x28]
push dword [ebp - 8]
call dword [sym.imp.kernel32.dll_ReadFile]
test eax, eax
je 0x6e03d86f
mov eax, dword [ebp - 4]
cmp eax, dword [edi + 0x24]
jne 0x6e03d86f
mov bl, 1
jmp 0x6e03d8c3
cmp byte [0x6e07047b], bl
jne 0x6e03d87f
cmp byte [0x6e07047a], bl
je 0x6e03d8c3
lea esi, [edi + 4]
cmp dword [esi + 0x14], 0x10
jb 0x6e03d88a
mov esi, dword [esi]
call dword [sym.imp.kernel32.dll_GetLastError]
push eax
push esi
push str.CMemMappedFile__s__ERROR_READING_FILE__err_u_
mov esi, 0x6e070068
push esi
call fcn.6e03a98a
add esp, 0x10
cmp byte [0x6e07047a], bl
je 0x6e03d8b4
push esi
call dword [sym.imp.kernel32.dll_OutputDebugStringA]
cmp byte [0x6e07047b], bl
je 0x6e03d8c3
push esi
call fcn.6e003fc0
pop ecx
mov eax, dword [edi]
mov esi, dword [eax + 0x10]
mov ecx, esi
call dword [0x6e050848]
mov ecx, edi
call esi
jmp 0x6e03d923
cmp byte [0x6e07047b], bl
jne 0x6e03d8e6
cmp byte [0x6e07047a], bl
je 0x6e03d923
add edi, 4
cmp dword [edi + 0x14], 0x10
jb 0x6e03d8f1
mov edi, dword [edi]
push edi
push str.CMemMappedFile__s__ERROR___EMPTY_FILE
mov esi, 0x6e070068
push esi
call fcn.6e03a98a
add esp, 0xc
cmp byte [0x6e07047a], bl
je 0x6e03d914
push esi
call dword [sym.imp.kernel32.dll_OutputDebugStringA]
cmp byte [0x6e07047b], bl
je 0x6e03d923
push esi
call fcn.6e003fc0
pop ecx
push dword [ebp - 8]
call dword [sym.imp.kernel32.dll_CloseHandle]
pop edi
pop esi
mov al, bl
pop ebx
leave
ret 4
Function at 0x6e03d940
Capabilities:
Print debug messages
Read file via mapping

Disassembly:
push ebp
mov ebp, esp
cmp byte [0x6e07047b], 0
push ebx
push edi
mov edi, ecx
mov ebx, 0x6e070068
jne 0x6e03d95e
cmp byte [0x6e07047a], 0
je 0x6e03d99b
lea eax, [edi + 4]
cmp dword [eax + 0x14], 0x10
jb 0x6e03d969
mov eax, dword [eax]
push dword [ebp + 8]
push eax
push str.CMemMappedFile__s__mapForReading_numBytes_u_
push ebx
call fcn.6e03a98a
add esp, 0x10
cmp byte [0x6e07047a], 0
je 0x6e03d98b
push ebx
call dword [sym.imp.kernel32.dll_OutputDebugStringA]
cmp byte [0x6e07047b], 0
je 0x6e03d99b
push ebx
call fcn.6e003fc0
pop ecx
mov eax, dword [edi]
push esi
mov esi, dword [eax + 0x10]
mov ecx, esi
call dword [0x6e050848]
mov ecx, edi
call esi
cmp dword [edi + 0x20], 0
jne 0x6e03d9e9
cmp byte [edi + 0x30], 0
jne 0x6e03d9cc
mov eax, dword [edi]
mov esi, dword [eax + 0x2c]
mov ecx, esi
call dword [0x6e050848]
mov ecx, edi
call esi
jmp 0x6e03d9e5
lea eax, [edi + 4]
cmp dword [eax + 0x14], 0x10
jb 0x6e03d9d7
mov eax, dword [eax]
push eax
push 0
push 4
call dword [sym.imp.kernel32.dll_OpenFileMappingA]
mov dword [edi + 0x20], eax
cmp dword [edi + 0x20], 0
pop esi
je 0x6e03da2f
push dword [ebp + 8]
push 0
push 0
push 4
push dword [edi + 0x20]
call dword [sym.imp.kernel32.dll_MapViewOfFile]
mov dword [edi + 0x28], eax
test eax, eax
jne 0x6e03da84
cmp byte [0x6e07047b], al
jne 0x6e03da15
cmp byte [0x6e07047a], al
je 0x6e03da82
add edi, 4
cmp dword [edi + 0x14], 0x10
jb 0x6e03da20
mov edi, dword [edi]
call dword [sym.imp.kernel32.dll_GetLastError]
push eax
push edi
push str.CMemMappedFile__s__ERROR_MAPPING_FILE_FOR_READING__err_u_
jmp 0x6e03da59
cmp byte [0x6e07047b], 0
jne 0x6e03da41
cmp byte [0x6e07047a], 0
je 0x6e03da82
add edi, 4
cmp dword [edi + 0x14], 0x10
jb 0x6e03da4c
mov edi, dword [edi]
call dword [sym.imp.kernel32.dll_GetLastError]
push eax
push edi
push str.CMemMappedFile__s__ERROR_OPENING_FILE_FOR_READING__err_u_
push ebx
call fcn.6e03a98a
add esp, 0x10
cmp byte [0x6e07047a], 0
je 0x6e03da72
push ebx
call dword [sym.imp.kernel32.dll_OutputDebugStringA]
cmp byte [0x6e07047b], 0
je 0x6e03da82
push ebx
call fcn.6e003fc0
pop ecx
xor eax, eax
pop edi
pop ebx
pop ebp
ret 4
Function at 0x6e03da90
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
cmp byte [0x6e07047b], 0
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
mov edi, ecx
mov esi, 0x6e070068
jne 0x6e03dab2
cmp byte [0x6e07047a], 0
je 0x6e03daed
lea eax, [edi + 4]
cmp dword [eax + 0x14], 0x10
jb 0x6e03dabd
mov eax, dword [eax]
push ebx
push eax
push str.CMemMappedFile__s__mapForWriting_numBytes_u_
push esi
call fcn.6e03a98a
add esp, 0x10
cmp byte [0x6e07047a], 0
je 0x6e03dadd
push esi
call dword [sym.imp.kernel32.dll_OutputDebugStringA]
cmp byte [0x6e07047b], 0
je 0x6e03daed
push esi
call fcn.6e003fc0
pop ecx
mov eax, dword [edi]
mov esi, dword [eax + 0x10]
mov ecx, esi
call dword [0x6e050848]
mov ecx, edi
call esi
cmp dword [edi + 0x20], 0
jne 0x6e03db40
cmp byte [edi + 0x30], 0
jne 0x6e03db1d
mov eax, dword [edi]
mov esi, dword [eax + 0x2c]
mov ecx, esi
call dword [0x6e050848]
mov ecx, edi
call esi
jmp 0x6e03db36
lea eax, [edi + 4]
cmp dword [eax + 0x14], 0x10
jb 0x6e03db28
mov eax, dword [eax]
push eax
push 0
push 2
call dword [sym.imp.kernel32.dll_OpenFileMappingA]
mov dword [edi + 0x20], eax
cmp dword [edi + 0x20], 0
je 0x6e03dbe0
push ebx
push 0
push 0
push 2
push dword [edi + 0x20]
call dword [sym.imp.kernel32.dll_MapViewOfFile]
mov dword [edi + 0x28], eax
test eax, eax
je 0x6e03dbb4
cmp byte [0x6e07047b], 0
jne 0x6e03db69
cmp byte [0x6e07047a], 0
je 0x6e03dba9
lea eax, [edi + 4]
cmp dword [eax + 0x14], 0x10
jb 0x6e03db74
mov eax, dword [eax]
push ebx
push eax
push str.CMemMappedFile__s__mapped_for_writing__u_bytes
mov esi, 0x6e070068
push esi
call fcn.6e03a98a
add esp, 0x10
cmp byte [0x6e07047a], 0
je 0x6e03db99
push esi
call dword [sym.imp.kernel32.dll_OutputDebugStringA]
cmp byte [0x6e07047b], 0
je 0x6e03dba9
push esi
call fcn.6e003fc0
pop ecx
mov eax, dword [edi + 0x28]
mov dword [edi + 0x2c], ebx
jmp 0x6e03dc3a
cmp byte [0x6e07047b], 0
jne 0x6e03dbc6
cmp byte [0x6e07047a], 0
je 0x6e03dc38
add edi, 4
cmp dword [edi + 0x14], 0x10
jb 0x6e03dbd1
mov edi, dword [edi]
call dword [sym.imp.kernel32.dll_GetLastError]
push eax
push edi
push str.CMemMappedFile__s__ERROR_MAPPING_FILE_FOR_WRITING__err_u_
jmp 0x6e03dc0a
cmp byte [0x6e07047b], 0
jne 0x6e03dbf2
cmp byte [0x6e07047a], 0
je 0x6e03dc38
add edi, 4
cmp dword [edi + 0x14], 0x10
jb 0x6e03dbfd
mov edi, dword [edi]
call dword [sym.imp.kernel32.dll_GetLastError]
push eax
push edi
push str.CMemMappedFile__s__ERROR_OPENING_FILE_FOR_WRITING__err_u_
mov esi, 0x6e070068
push esi
call fcn.6e03a98a
add esp, 0x10
cmp byte [0x6e07047a], 0
je 0x6e03dc28
push esi
call dword [sym.imp.kernel32.dll_OutputDebugStringA]
cmp byte [0x6e07047b], 0
je 0x6e03dc38
push esi
call fcn.6e003fc0
pop ecx
xor eax, eax
pop edi
pop esi
pop ebx
pop ebp
ret 4