joyce8/EMBER2024-capa huggingface dataset:
Function at 0x6e0369bb
Capabilities:
Query or enumerate registry value

Disassembly:
push 0x81c
mov eax, 0x6e04da4f
call fcn.6e04936c
mov esi, dword [ebp + 8]
xor bl, bl
mov eax, esi
and dword [esi + 0x10], 0
cmp dword [esi + 0x14], 8
jb 0x6e0369dd
mov eax, dword [esi]
xor ecx, ecx
mov edi, 0x20019
mov word [eax], cx
lea eax, [ebp - 0x828]
push eax
push edi
push ecx
push str.Outlook.Application
push SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x6e036c0e
lea eax, [ebp - 0x824]
push eax
push edi
push 0
push str.CurVer
push dword [ebp - 0x828]
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x6e036c02
lea eax, [ebp - 0x820]
mov dword [ebp - 0x820], 0x7d0
push eax
lea eax, [ebp - 0x7e0]
xor ecx, ecx
push eax
lea eax, [ebp - 0x81c]
mov dword [ebp - 0x81c], ecx
push eax
push ecx
push ecx
push dword [ebp - 0x824]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x6e036bf6
cmp dword [ebp - 0x81c], 1
jne 0x6e036bf6
cmp dword [ebp - 0x820], eax
je 0x6e036bf6
and dword [ebp - 0x7e8], eax
lea ecx, [ebp - 0x7f8]
mov word [ebp - 0x7f8], ax
lea eax, [ebp - 0x7e0]
push eax
mov dword [ebp - 0x7e4], 7
call fcn.6e010ad8
and dword [ebp - 4], 0
lea ecx, [ebp - 0x7f8]
or edi, 0xffffffff
push edi
push 0x6e059da0
call fcn.6e018049
cmp eax, edi
je 0x6e036b7a
inc eax
cmp eax, edi
je 0x6e036b7a
and dword [ebp - 0x800], 0
xor ecx, ecx
push edi
push eax
lea eax, [ebp - 0x7f8]
mov word [ebp - 0x810], cx
push eax
lea ecx, [ebp - 0x810]
mov dword [ebp - 0x7fc], 7
call fcn.6e018049
lea eax, [ebp - 0x810]
mov ecx, esi
push eax
call fcn.6e018049
mov eax, dword [ebp - 0x7fc]
cmp eax, 8
jb 0x6e036b6c
mov ecx, dword [ebp - 0x810]
lea eax, [eax*2 + 2]
mov dword [ebp - 0x814], eax
mov dword [ebp - 0x818], ecx
mov byte [ebp - 4], 1
cmp eax, 0x1000
jb 0x6e036b5f
lea eax, [ebp - 0x814]
push eax
lea eax, [ebp - 0x818]
push eax
call fcn.6e018049
mov eax, dword [ebp - 0x814]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x818]
push eax
push ecx
call fcn.6e018049
pop ecx
pop ecx
mov byte [ebp - 4], 0
push 0x6e05a6d8
mov ecx, esi
call fcn.6e0326e0
mov bl, 1
mov eax, dword [ebp - 0x7e4]
mov dword [ebp - 4], edi
cmp eax, 8
jb 0x6e036bdc
mov ecx, dword [ebp - 0x7f8]
lea eax, [eax*2 + 2]
mov dword [ebp - 0x818], eax
mov dword [ebp - 0x814], ecx
mov dword [ebp - 4], 2
cmp eax, 0x1000
jb 0x6e036bd0
lea eax, [ebp - 0x818]
push eax
lea eax, [ebp - 0x814]
push eax
call fcn.6e018049
mov eax, dword [ebp - 0x818]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x814]
push eax
push ecx
call fcn.6e018049
pop ecx
pop ecx
mov dword [ebp - 4], edi
and dword [ebp - 0x7e8], 0
xor eax, eax
mov dword [ebp - 0x7e4], 7
mov word [ebp - 0x7f8], ax
push dword [ebp - 0x824]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push dword [ebp - 0x828]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov al, bl
call fcn.6e049316
ret
Function at 0x6e038da1
Capabilities:
Print debug messages

Disassembly:
push 0xc
mov eax, 0x6e04db03
call fcn.6e049338
cmp byte [0x6e07047b], 0
mov ebx, 0x6e06fc48
jne 0x6e038dc4
cmp byte [0x6e07047a], 0
je 0x6e038df1
push str._PDFX__PDFXSendOrSave
push ebx
call fcn.6e018049
cmp byte [0x6e07047a], 0
pop ecx
pop ecx
je 0x6e038de1
push ebx
call dword [sym.imp.kernel32.dll_OutputDebugStringA]
cmp byte [0x6e07047b], 0
je 0x6e038df1
push ebx
call fcn.6e003fc0
pop ecx
mov edi, dword [ebp + 8]
lea eax, [ebp - 0x10]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
mov ebx, dword [edi + 0x20]
push dword [ebx + 0x24]
push eax
call fcn.6e018049
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x6e038f39
cmp word [ebx + 0x58], ax
jne 0x6e038e7b
cmp byte [0x6e07047b], al
jne 0x6e038e2c
cmp byte [0x6e07047a], al
je 0x6e038e5e
push str._PDFX__PDFXSendOrSave_Store
mov ebx, 0x6e06fc48
push ebx
call fcn.6e018049
cmp byte [0x6e07047a], 0
pop ecx
pop ecx
je 0x6e038e4e
push ebx
call dword [sym.imp.kernel32.dll_OutputDebugStringA]
cmp byte [0x6e07047b], 0
je 0x6e038e5e
push ebx
call fcn.6e003fc0
pop ecx
mov eax, dword [ebp - 0x10]
mov ecx, dword [edi + 0x10]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x18]
push eax
call fcn.6e018049
jmp 0x6e038f39
cmp dword [edi + 0xc], eax
jne 0x6e038e88
xor eax, eax
inc eax
jmp 0x6e038f3b
push dword [edi + 0xc]
push dword [ebp - 0x10]
call fcn.6e018049
pop ecx
pop ecx
test eax, eax
jne 0x6e038f3b
inc dword [edi + 0x38]
mov dword [ebp - 0x14], edi
and dword [ebp - 4], eax
cmp byte [0x6e07047b], al
jne 0x6e038ec5
mov al, byte [0x6e07047a]
test al, al
jne 0x6e038ec5
mov ebx, dword [ebp + 0x14]
mov edi, 0x6e06fc48
mov esi, ebx
shr esi, 1
jmp 0x6e038eea
mov ebx, dword [ebp + 0x14]
mov edi, 0x6e06fc48
mov esi, ebx
shr esi, 1
mov eax, esi
and eax, 1
push eax
push str._PDFX__PDFXSendOrSave_Send_waitCompleted___d
push edi
call fcn.6e018049
mov al, byte [0x6e07047a]
add esp, 0xc
test al, al
je 0x6e038ef5
push edi
call dword [sym.imp.kernel32.dll_OutputDebugStringA]
cmp byte [0x6e07047b], 0
je 0x6e038f05
push edi
call fcn.6e003fc0
pop ecx
and esi, 1
push esi
push dword [ebp - 0x10]
call fcn.6e018049
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x6e038f31
test bl, 4
je 0x6e038f31
call fcn.6e0472b8
shr eax, 0x10
mov cx, 9
cmp cx, ax
sbb eax, eax
and esi, eax
lea ecx, [ebp - 0x14]
call fcn.6e018049
mov eax, esi
call fcn.6e049301
ret
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.6e018049
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.6e018049
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.6e018049
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.6e018049
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.6e018049
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.6e018049
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.6e018049
mov eax, esi
call fcn.6e049316
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.6e018049
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.6e018049
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.6e018049
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.6e018049
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.6e018049
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.6e018049
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.6e018049
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.6e018049
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.6e018049
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.6e018049
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.6e018049
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.6e018049
mov edi, eax
pop ecx
test edi, edi
jne 0x6e03d14d
push 0x34
call fcn.6e018049
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.6e018049
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.6e018049
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.6e018049
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.6e018049
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.6e018049
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.6e018049
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.6e018049
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.6e018049
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.6e018049
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.6e018049
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.6e018049
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.6e018049
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.6e018049
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.6e018049
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