joyce8/EMBER2024-capa huggingface dataset:
Function at 0x10001720
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x3a8
mov eax, dword [0x10043230]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push edi
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x3a8], ax
lea eax, [ebp - 0x3a6]
push eax
mov esi, edx
mov edi, ecx
call fcn.10021c00
push 0x19c
lea eax, [ebp - 0x1a0]
push 0
push eax
call fcn.10021c00
push 0x1003abf0
lea eax, [ebp - 0x90]
push 0x40
push eax
call fcn.1001c8b8
add esp, 0x24
lea eax, [ebp - 0x3a8]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
test eax, eax
je 0x100017b9
push 0x1003abf4
lea eax, [ebp - 0x3a8]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
test eax, eax
je 0x100017b9
push esi
push edi
lea ecx, [ebp - 0x3a8]
call fcn.1000fa90
add esp, 8
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.1001bb54
mov esp, ebp
pop ebp
ret

Function at 0x100032f0
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
mov eax, ecx
push esi
push edi
mov edi, edx
mov dword [ebp - 4], eax
test eax, eax
je 0x100033d1
test edi, edi
je 0x100033d1
mov esi, dword [ebp + 0xc]
test esi, esi
je 0x100033d1
mov ebx, dword [ebp + 0x14]
test ebx, ebx
je 0x100033d1
push ebx
push 0x104
push edi
push 0x1003af34
push 0x1003af38
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov eax, 0x1003af34
mov cx, word [edi]
cmp cx, word [eax]
jne 0x10003367
test cx, cx
je 0x10003363
mov cx, word [edi + 2]
cmp cx, word [eax + 2]
jne 0x10003367
add edi, 4
add eax, 4
test cx, cx
jne 0x10003341
xor eax, eax
jmp 0x1000336c
sbb eax, eax
or eax, 1
test eax, eax
je 0x100033d1
push ebx
push 0x104
push esi
push 0x1003af34
push str.name
push dword [ebp - 4]
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov eax, 0x1003af34
nop
mov cx, word [esi]
cmp cx, word [eax]
jne 0x100033c0
test cx, cx
je 0x100033b2
mov cx, word [esi + 2]
cmp cx, word [eax + 2]
jne 0x100033c0
add esi, 4
add eax, 4
test cx, cx
jne 0x10003390
xor eax, eax
pop edi
test eax, eax
pop esi
setne al
pop ebx
mov esp, ebp
pop ebp
ret
sbb eax, eax
or eax, 1
pop edi
test eax, eax
pop esi
setne al
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
xor al, al
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x10003680
Capabilities:
Query or enumerate registry value
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x630
mov eax, dword [0x10043230]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 0x10]
push esi
mov esi, dword [ebp + 8]
mov eax, ecx
push edi
mov edi, edx
mov dword [ebp - 0x62c], eax
mov dword [ebp - 0x630], ebx
test eax, eax
je 0x10003889
test edi, edi
je 0x10003889
test esi, esi
je 0x10003889
test ebx, ebx
je 0x10003889
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x61c], ax
lea eax, [ebp - 0x61a]
push eax
call fcn.10021c00
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x414], ax
lea eax, [ebp - 0x412]
push eax
call fcn.10021c00
add esp, 0x18
lea eax, [ebp - 0x414]
push ebx
push ecx
push eax
push ecx
mov ecx, dword [ebp - 0x62c]
lea edx, [ebp - 0x61c]
mov dword [ebp - 0x628], 0
call fcn.100032f0
add esp, 0x10
test al, al
je 0x10003817
lea eax, [ebp - 0x628]
push eax
push 1
push 0
lea eax, [ebp - 0x61c]
push eax
push 0x80000002
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x10003817
push 0x206
mov dword [ebp - 0x624], eax
mov word [ebp - 0x20c], ax
lea eax, [ebp - 0x20a]
push 0
push eax
xor bl, bl
call fcn.10021c00
add esp, 0xc
lea eax, [ebp - 0x620]
push eax
lea eax, [ebp - 0x20c]
push eax
lea eax, [ebp - 0x624]
push eax
push 0
lea eax, [ebp - 0x414]
push eax
push dword [ebp - 0x628]
mov dword [ebp - 0x620], 0x208
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x100037ee
cmp dword [ebp - 0x624], 1
jne 0x100037ee
cmp dword [ebp - 0x620], 0x208
ja 0x100037ee
lea eax, [ebp - 0x20c]
push eax
push 0x104
push esi
call fcn.1001c8b8
movzx ebx, bl
add esp, 0xc
mov ecx, 1
test eax, eax
cmove ebx, ecx
push dword [ebp - 0x628]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
test bl, bl
je 0x10003811
pop edi
pop esi
mov al, 1
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1001bb54
mov esp, ebp
pop ebp
ret
mov ebx, dword [ebp - 0x630]
push ebx
push 0x104
push esi
push edi
push dword [ebp - 0x62c]
push str.library
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
push esi
call dword [sym.imp.SHLWAPI.dll_PathIsRelativeW]
test eax, eax
je 0x100037fe
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x20c], ax
lea eax, [ebp - 0x20a]
push eax
call fcn.10021c00
add esp, 0xc
lea eax, [ebp - 0x20c]
push esi
push edi
push eax
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
test eax, eax
je 0x10003889
lea eax, [ebp - 0x20c]
push eax
push 0x104
push esi
call fcn.1001c8b8
add esp, 0xc
test eax, eax
je 0x100037fe
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
xor al, al
pop ebx
call fcn.1001bb54
mov esp, ebp
pop ebp
ret
Function at 0x100059d0
Capabilities:
Create new key via cryptacquirecontext

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
mov eax, dword [0x10043230]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push 0xf0000000
push 0x18
push str.Microsoft_Enhanced_RSA_and_AES_Cryptographic_Provider
push 0
lea eax, [ebp - 8]
push eax
mov esi, ecx
mov dword [ebp - 8], 0
call dword [sym.imp.ADVAPI32.dll_CryptAcquireContextW]
test eax, eax
jne 0x10005a33
push edi
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
mov edx, edi
mov ecx, str.CryptAcquireContext_failed.
call fcn.10001720
test esi, esi
je 0x10005a21
mov dword [esi], edi
pop edi
xor eax, eax
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1001bb54
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 8]
xor ecx, ebp
pop esi
call fcn.1001bb54
mov esp, ebp
pop ebp
ret

Function at 0x10005b30
Capabilities:
Hash data via wincrypt
Initialize hashing via wincrypt

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
mov eax, dword [0x10043230]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
push ebx
mov ebx, dword [ebp + 0x10]
push esi
mov esi, dword [ebp + 8]
mov dword [ebp - 0x10], edx
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x18], eax
test ecx, ecx
je 0x10005c58
test esi, esi
je 0x10005c58
test eax, eax
je 0x10005c58
push edi
mov ecx, ebx
call fcn.100059d0
mov edi, eax
test edi, edi
je 0x10005c1d
lea eax, [ebp - 8]
push eax
push 0
push 0
push 0x800c
push edi
mov dword [ebp - 8], 0
mov dword [ebp - 0xc], 0
call dword [sym.imp.ADVAPI32.dll_CryptCreateHash]
test eax, eax
jne 0x10005bba
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
mov edx, esi
mov ecx, str.CryptCreateHash_failed.
call fcn.10001720
jmp 0x10005c00
push 0
push dword [ebp - 0x10]
push dword [ebp - 0x14]
push dword [ebp - 8]
call dword [sym.imp.ADVAPI32.dll_CryptHashData]
test eax, eax
jne 0x10005be5
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
mov edx, esi
mov ecx, str.CryptHashData_failed.
call fcn.10001720
jmp 0x10005c00
mov ecx, dword [ebp - 8]
lea eax, [ebp - 0xc]
push eax
push dword [ebp - 0x18]
mov edx, esi
call fcn.10005a50
add esp, 8
test al, al
jne 0x10005c33
mov esi, dword [ebp - 0xc]
test ebx, ebx
je 0x10005c06
mov dword [ebx], esi
mov eax, dword [ebp - 8]
test eax, eax
je 0x10005c14
push eax
call dword [sym.imp.ADVAPI32.dll_CryptDestroyHash]
push 0
push edi
call dword [sym.imp.ADVAPI32.dll_CryptReleaseContext]
pop edi
pop esi
mov eax, 8
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1001bb54
mov esp, ebp
pop ebp
ret
push dword [ebp - 8]
call dword [sym.imp.ADVAPI32.dll_CryptDestroyHash]
push 0
push edi
call dword [sym.imp.ADVAPI32.dll_CryptReleaseContext]
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1001bb54
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 4]
pop esi
xor ecx, ebp
mov eax, 9
pop ebx
call fcn.1001bb54
mov esp, ebp
pop ebp
ret
Function at 0x10006370
Capabilities:
Access peb ldr_data
Get ntdll base address

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1003203e
mov eax, dword fs:[0]
push eax
sub esp, 0x5c
mov eax, dword [0x10043230]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
mov dword [esi + 8], eax
mov eax, dword [ebp + 0x14]
mov dword [esi], vtable.CRequest.0
mov dword [esi + 4], 0
mov dword [esi + 0xc], eax
mov dword [ebp - 0x68], esi
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
mov dword [esi + 0x18], 0
mov dword [ebp - 4], 0
mov dword [esi + 0x1c], 0
mov dword [esi + 0x20], 0
mov dword [esi + 0x24], 0
mov eax, dword [ebp + 0x10]
mov byte [ebp - 4], 1
mov dword [esi + 0x28], 0
mov dword [esi + 0x2c], 0
mov dword [esi + 0x30], 0
mov dword [esi + 0x34], 0
mov dword [esi + 0x38], eax
mov dword [esi + 0x3c], 0
mov dword [esi + 0x40], 0
mov dword [esi + 0x44], 0
mov byte [esi + 0x48], 0
test ecx, ecx
je 0x1000643c
push ecx
call fcn.1001d819
add esp, 4
mov dword [esi + 4], eax
mov edx, dword [esi + 0x38]
test edx, edx
je 0x100064b1
mov ecx, edx
lea ebx, [ecx + 2]
jmp 0x10006450
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x10006450
sub ecx, ebx
sar ecx, 1
je 0x100064b1
push edx
push str.ivec:job_description
lea ecx, [ebp - 0x60]
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
call fcn.1000ba40
push 0
mov byte [ebp - 4], 2
push 1
lea edx, [ebp - 0x60]
lea ecx, [esi + 0x10]
mov byte [ebp - 0x18], 1
call fcn.1000d720
add esp, 8
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 1
call fcn.1000bc20
mov ecx, esi
call fcn.10006a80
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1001bb54
mov esp, ebp
pop ebp
ret 0x10
Function at 0x100070f0
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x1003208a
mov eax, dword fs:[0]
push eax
sub esp, 0x24
mov eax, dword [0x10043230]
xor eax, esp
mov dword [esp + 0x1c], eax
push esi
push edi
mov eax, dword [0x10043230]
xor eax, esp
push eax
lea eax, [esp + 0x30]
mov dword fs:[0], eax
mov edi, ecx
push 0x10044f46
push 0x4c
call fcn.1001d8aa
mov esi, eax
add esp, 8
mov dword [esp + 0xc], esi
mov dword [esp + 0x38], 0
test esi, esi
je 0x10007164
push dword [edi + 0xc]
mov ecx, esi
push dword [edi + 0x38]
push dword [edi + 8]
push dword [edi + 4]
call fcn.10006370
mov dword [esi], vtable.CSimpleRequest.0
jmp 0x10007166
xor esi, esi
mov dword [esp + 0x38], 0xffffffff
test esi, esi
je 0x100071b6
mov eax, dword [edi]
lea ecx, [esp + 0x10]
push ecx
mov ecx, edi
call dword [eax + 0x44]
mov dword [esp + 0x38], 1
cmp dword [esp + 0x20], 0
je 0x100071a3
cmp dword [esp + 0x24], 8
mov eax, dword [esi]
lea ecx, [esp + 0x10]
cmovae ecx, dword [esp + 0x10]
push ecx
mov ecx, esi
call dword [eax + 0x40]
cmp dword [esp + 0x24], 8
jb 0x100071b6
push dword [esp + 0x10]
call fcn.1001c318
add esp, 4
mov eax, esi
mov ecx, dword [esp + 0x30]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [esp + 0x1c]
xor ecx, esp
call fcn.1001bb54
mov esp, ebp
pop ebp
ret
Function at 0x1000e2f0
Capabilities:
Query environment variable

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x10032898
mov eax, dword fs:[0]
push eax
sub esp, 0x30
mov eax, dword [0x10043230]
xor eax, esp
mov dword [esp + 0x28], eax
push ebx
push esi
push edi
mov eax, dword [0x10043230]
xor eax, esp
push eax
lea eax, [esp + 0x40]
mov dword fs:[0], eax
mov edi, dword [ebp + 8]
push dword [esp + 0x14]
mov edx, dword [edi + 4]
push ecx
mov ecx, dword [edi]
mov dword [esp + 0x3c], 0x2c
call fcn.10003f50
mov eax, dword [edi]
add esp, 8
mov dword [edi + 4], eax
push 0
push 0
push str.CANON_IJ_ADMTOOLS_COMLIB_LOGGING
mov byte [esp + 0x3c], 0
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
mov dword [esp + 0x14], eax
test eax, eax
jne 0x1000e36c
xor al, al
jmp 0x1000e3fc
xor ebx, ebx
mov ecx, 2
mul ecx
seto bl
push 0x10044f46
neg ebx
or ebx, eax
push ebx
call fcn.1001dd20
mov esi, eax
add esp, 8
test esi, esi
je 0x1000e3ed
push ebx
push 0
push esi
call fcn.10021c00
add esp, 0xc
push dword [esp + 0x14]
push esi
push str.CANON_IJ_ADMTOOLS_COMLIB_LOGGING
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
test eax, eax
je 0x1000e3ef
push esi
lea ecx, [esp + 0x1c]
call fcn.10003a80
push edi
lea edx, [esp + 0x38]
lea ecx, [esp + 0x1c]
mov dword [esp + 0x4c], 0
call fcn.100033e0
add esp, 4
cmp dword [esp + 0x2c], 8
jb 0x1000e3e6
push dword [esp + 0x18]
call fcn.1001c318
add esp, 4
mov byte [esp + 0x30], 1
jmp 0x1000e3ef
xor esi, esi
push esi
call fcn.1001c863
mov al, byte [esp + 0x34]
add esp, 4
mov ecx, dword [esp + 0x40]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x28]
xor ecx, esp
call fcn.1001bb54
mov esp, ebp
pop ebp
ret

Function at 0x1000e590
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push esi
push edi
mov edi, ecx
test edi, edi
je 0x1000e5f5
mov esi, dword [ebp + 8]
test esi, esi
je 0x1000e5f5
push ebx
push esi
mov bl, 1
call dword [sym.imp.SHLWAPI.dll_PathIsFileSpecW]
test eax, eax
je 0x1000e5d5
push edi
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
test eax, eax
je 0x1000e5cc
push esi
push edi
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
test eax, eax
jne 0x1000e5ee
xor bl, bl
mov al, bl
pop ebx
pop edi
pop esi
pop ebp
ret
push esi
push 0x104
push edi
call fcn.1001c8b8
movzx ebx, bl
xor ecx, ecx
add esp, 0xc
test eax, eax
cmovne ebx, ecx
mov al, bl
pop ebx
pop edi
pop esi
pop ebp
ret
pop edi
xor al, al
pop esi
pop ebp
ret
Function at 0x10011b30
Capabilities:
Initialize winsock library

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x19c
mov eax, dword [0x10043230]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
xor eax, eax
push 0x18e
push eax
mov word [ebp - 0x198], ax
mov esi, ecx
lea eax, [ebp - 0x196]
push eax
mov dword [esi], vtable.CNameResolver.0
call fcn.10021c00
add esp, 0xc
lea eax, [ebp - 0x198]
push eax
push 0x202
call dword [sym.imp.WS2_32.dll_WSAStartup]
test eax, eax
je 0x10011b9a
push str.WSAStartup_failed.
push eax
push 0x65
push 0x10b
push str....._srcIpTrackerNameResolver.cpp
call fcn.1000e500
add esp, 0x14
mov ecx, dword [ebp - 4]
mov eax, esi
mov dword [esi], vtable.CV4Resolver.0
xor ecx, ebp
pop esi
call fcn.1001bb54
mov esp, ebp
pop ebp
ret

Function at 0x10011ca0
Capabilities:
Initialize winsock library

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x19c
mov eax, dword [0x10043230]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
xor eax, eax
push 0x18e
push eax
mov word [ebp - 0x198], ax
mov esi, ecx
lea eax, [ebp - 0x196]
push eax
mov dword [esi], vtable.CNameResolver.0
call fcn.10021c00
add esp, 0xc
lea eax, [ebp - 0x198]
push eax
push 0x202
call dword [sym.imp.WS2_32.dll_WSAStartup]
test eax, eax
je 0x10011d0a
push str.WSAStartup_failed.
push eax
push 0x65
push 0x10b
push str....._srcIpTrackerNameResolver.cpp
call fcn.1000e500
add esp, 0x14
mov ecx, dword [ebp - 4]
mov eax, esi
mov dword [esi], vtable.CV6Resolver.0
xor ecx, ebp
pop esi
call fcn.1001bb54
mov esp, ebp
pop ebp
ret

Function at 0x10011e70
Capabilities:
Initialize winsock library

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x19c
mov eax, dword [0x10043230]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
xor eax, eax
push 0x18e
push eax
mov word [ebp - 0x198], ax
mov esi, ecx
lea eax, [ebp - 0x196]
push eax
mov dword [esi], vtable.CNameResolver.0
call fcn.10021c00
add esp, 0xc
lea eax, [ebp - 0x198]
push eax
push 0x202
call dword [sym.imp.WS2_32.dll_WSAStartup]
test eax, eax
je 0x10011eda
push str.WSAStartup_failed.
push eax
push 0x65
push 0x10b
push str....._srcIpTrackerNameResolver.cpp
call fcn.1000e500
add esp, 0x14
mov ecx, dword [ebp - 4]
mov eax, esi
mov dword [esi], vtable.CBonjourResolver.0
xor ecx, ebp
pop esi
call fcn.1001bb54
mov esp, ebp
pop ebp
ret
Function at 0x10013680
Capabilities:
Access peb ldr_data
Get ntdll base address

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10032dbe
mov eax, dword fs:[0]
push eax
sub esp, 8
push esi
push edi
mov eax, dword [0x10043230]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x14], edi
lea eax, [ebp - 0x10]
push eax
push 0
lea ecx, [edi + 4]
mov dword [ebp - 0x10], 0
mov dword [edi + 4], 0
mov dword [edi + 8], 0
mov dword [edi + 0xc], 0
call fcn.100139e0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0
mov dword [edi + 0x18], 0
mov dword [edi + 0x1c], 0
lea eax, [ebp - 0x10]
mov dword [ebp - 4], 0
push eax
push 0
lea ecx, [edi + 0x24]
mov dword [ebp - 0x10], 0
mov dword [edi + 0x24], 0
mov dword [edi + 0x28], 0
mov dword [edi + 0x2c], 0
call fcn.100139e0
mov dword [edi + 0x30], 0
mov dword [edi + 0x34], 0
mov dword [edi + 0x38], 0
mov dword [edi + 0x3c], 0
lea ecx, [edi + 0x40]
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp + 0x14]
mov byte [ebp - 4], 2
mov dword [edi + 0x50], eax
mov eax, dword [ebp + 8]
mov dword [edi + 0x54], eax
mov eax, dword [ebp + 0x1c]
mov dword [edi + 0x5c], eax
mov eax, dword [ebp + 0x18]
mov dword [edi + 0x68], eax
mov dword [edi + 0x58], edx
mov dword [edi + 0x60], 0
mov byte [edi + 0x64], 0
movsx eax, byte [edx + 8]
and eax, 8
shr eax, 3
mov byte [edi + 0x6c], al
mov eax, dword [ebp + 0x10]
mov dword [edi + 0x70], eax
push dword [edx + 0x18]
call fcn.10013830
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0x1c
Function at 0x100173a0
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
mov edx, dword [ebp + 0xc]
push esi
push edi
mov edi, dword [ebp + 8]
sub edx, edi
sar edx, 1
mov esi, 0x811c9dc5
mov ecx, 0
add edx, edx
je 0x100173d1
lea ecx, [ecx]
movzx eax, byte [ecx + edi]
xor esi, eax
inc ecx
imul esi, esi, 0x1000193
cmp ecx, edx
jb 0x100173c0
pop edi
mov eax, esi
pop esi
pop ebp
ret 8

Function at 0x10018df0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
clc
lea eax, [ebp - 0x6c]
push eax
mov byte [ebp - 0x6c], bl
mov byte [ebp - 0x6b], bl
mov byte [ebp - 0x6a], 0xbe
mov byte [ebp - 0x69], bl
mov byte [ebp - 0x68], 0x17
mov byte [ebp - 0x67], 0x28
mov byte [ebp - 0x66], 0x33
mov byte [ebp - 0x65], 0x35
mov byte [ebp - 0x64], 0x34
mov byte [ebp - 0x63], 0x20
mov byte [ebp - 0x62], 0x2d
mov byte [ebp - 0x61], 0x11
mov byte [ebp - 0x60], 0x33
mov byte [ebp - 0x5f], 0x2e
mov byte [ebp - 0x5e], 0x35
mov byte [ebp - 0x5d], 0x24
mov byte [ebp - 0x5c], 0x22
mov byte [ebp - 0x5b], 0x35
mov byte [ebp - 0x5a], 0x41
call fcn.10018a47
push eax
push esi
push dword [ebp + 8]
call fcn.100189fc
mov dword [ebp - 0xbc], eax
lea eax, [ebp - 0x2c]
mov byte [ebp - 0x2c], bl
push eax
mov byte [ebp - 0x2b], bl
mov byte [ebp - 0x2a], 0xd4
mov byte [ebp - 0x29], bl
mov byte [ebp - 0x28], 0x67
mov byte [ebp - 0x27], 0x44
mov byte [ebp - 0x26], 0x4a
mov byte [ebp - 0x25], 0x4f
mov byte [ebp - 0x24], 0x67
mov byte [ebp - 0x23], 0x42
mov byte [ebp - 0x22], 0x49
mov byte [ebp - 0x21], 0x59
mov byte [ebp - 0x20], 0x4a
mov byte [ebp - 0x1f], 0x59
mov byte [ebp - 0x1e], 0x52
mov byte [ebp - 0x1d], 0x6a
mov byte [ebp - 0x1c], 0x2b
call fcn.10018a47
push eax
push esi
push dword [ebp + 8]
call fcn.100189fc
add esp, 0x30
mov dword [ebp - 0xb8], eax
call fcn.10018a37
adc edx, 0x9d886420
jl 0x10018ebc
invalid
invalid
Function at 0x10019120
Capabilities:
Inspect section memory permissions

Disassembly:
mov edi, dword [ebp - 0x88]
mov eax, dword [ebp + 0xc]
cmp ax, word [edi + 6]
jne 0x1001910e
mov edx, dword [ebp - 0xb4]
xor ecx, ecx
mov edi, 0x60000000
jmp 0x1001912c
movzx eax, ax
lea eax, [eax + eax*4]
mov ecx, dword [edi + eax*8 + 0x104]
mov edx, dword [edi + eax*8 + 0x108]
add byte [eax], al
add byte [eax], al
lea eax, [edi + eax*8 + 0xf8]
mov edi, dword [eax + 0x24]
lea eax, [edx + ecx - 1]
xor edx, edx
div dword [ebp - 0xac]
xor edx, edx
mov dword [ebp - 0x44], eax
mov eax, ecx
div dword [ebp - 0xac]
cmp eax, dword [ebp - 0x44]
ja 0x1001918a
mov edx, edi
mov dword [ebp + 8], edi
and dword [ebp + 8], 0x40000000
mov dword [ebp + 0x10], edi
and edx, 0x20000000
and dword [ebp + 0x10], 0x80000000
mov ecx, dword [ebp + 0x18]
cmp edx, ebx
je 0x10019171
or byte [eax + ecx], 1
cmp dword [ebp + 8], ebx
je 0x1001917a
or byte [eax + ecx], 2
cmp dword [ebp + 0x10], ebx
je 0x10019184
add ecx, eax
or byte [ecx], 4
inc eax
cmp eax, dword [ebp - 0x44]
jbe 0x10019166
inc dword [ebp + 0xc]
mov eax, dword [ebp - 0x88]
mov cx, word [ebp + 0xc]
cmp cx, word [eax + 6]
jbe 0x100190f0
mov dword [ebp + 8], esi
xor edi, edi
mov eax, dword [ebp + 0x18]
push 2
pop ecx
movzx eax, byte [edi + eax]
sub eax, ecx
je 0x100191d7
dec eax
je 0x100191ce
sub eax, 3
je 0x100191c5
mov dword [ebp - 4], 0x40
jmp 0x100191f4
mov dword [ebp - 4], 4
jmp 0x100191da
mov dword [ebp - 4], 0x20
jmp 0x100191da
mov dword [ebp - 4], ecx
lea eax, [ebp - 4]
push eax
push dword [ebp - 4]
push dword [ebp - 0xac]
push dword [ebp + 8]
call dword [ebp - 0xbc]
test eax, eax
je 0x10019226
mov eax, dword [ebp - 0xac]
add dword [ebp + 8], eax
inc edi
cmp edi, dword [ebp - 0x8c]
jbe 0x100191a6
mov eax, dword [ebp - 0x88]
mov edi, dword [eax + 0x28]
add edi, esi
call fcn.10018a37
xchg ebx, eax
inc edi
pushfd
out 0xff, al
jne 0x10019231
push 1
push esi
call edi
mov eax, esi
jmp 0x10019232
push 0x8000
push ebx
push esi
call dword [ebp - 8]
rcr byte [edi + 0x5e], 0x5b