joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1007a200
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
cmp byte [0x102f5550], 0
push ebx
push esi
je 0x1007a27a
cmp byte [0x102f5551], 0
jne 0x1007a2c8
mov byte [0x102f5551], 1
xor esi, esi
nop word [eax + eax]
xor edx, edx
mov ebx, esi
xor edx, dword [0x102f5604]
xor ebx, dword [0x102f5600]
xor edx, 0xd28f2c5
xor ebx, 0x1de26cd5
mov ecx, edx
mov eax, ebx
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, ecx
xor ebx, eax
mov eax, ebx
shrd eax, edx, 7
xor al, byte [esi + 0x102f5552]
xor al, bl
mov byte [esi + 0x102f5552], al
inc esi
cmp esi, 0xa9
jb 0x1007a230
jmp 0x1007a2c8
xor esi, esi
nop dword [eax]
xor edx, edx
mov ebx, esi
xor edx, dword [0x102f5604]
xor ebx, dword [0x102f5600]
xor edx, 0xd28f2c5
xor ebx, 0x1de26cd5
mov ecx, edx
mov eax, ebx
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, ecx
xor ebx, eax
mov eax, ebx
shrd eax, edx, 7
xor al, byte [esi + 0x102f5552]
xor al, bl
mov byte [esi + 0x102f5552], al
inc esi
cmp esi, 0xa9
jb 0x1007a280
mov ecx, dword [ebp + 8]
lea eax, [ebp - 1]
push eax
push 0x102f55fa
push 0x102f5552
call fcn.1004d640
mov eax, dword [ebp + 8]
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4

Function at 0x1007d780
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
cmp dword [ebp + 0xc], 1
push ebx
push esi
push edi
jne 0x1007d7ec
mov eax, dword [ebp + 8]
push 0x1007bbb0
push 1
mov dword [0x103440f4], eax
call dword [sym.imp.KERNEL32.dll_AddVectoredExceptionHandler]
jmp 0x1007d7aa
mov eax, dword [0x102ef148]
sub eax, dword [0x102ef150]
xor eax, dword [0x102ef14c]
mov ecx, dword [ebp + 8]
push 0
push 0
push dword [ebp + 0x10]
mov dword [eax + 0x50], ecx
push 0x1007bb70
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
jmp 0x1007d7e0
mov eax, 1
pop edi
pop esi
pop ebx
pop ebp
ret 0xc
pop edi
pop esi
xor eax, eax
pop ebx
pop ebp
ret 0xc
Function at 0x10086cc0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
push ebx
push esi
mov esi, ecx
push edi
cmp byte [esi], 0
lea edi, [esi + 2]
je 0x10086d27
cmp byte [esi + 1], 0
jne 0x10086d6c
xor ecx, ecx
mov byte [esi + 1], 1
mov dword [ebp - 8], ecx
mov ebx, ecx
xor edx, edx
xor edx, dword [esi + 0x1c]
xor ebx, dword [esi + 0x18]
xor edx, 0xd28f2c5
xor ebx, 0x1de26cd5
mov ecx, edx
mov eax, ebx
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, ecx
mov ecx, dword [ebp - 8]
xor ebx, eax
mov eax, ebx
shrd eax, edx, 7
xor al, byte [edi + ecx]
xor al, bl
mov byte [edi + ecx], al
inc ecx
mov dword [ebp - 8], ecx
cmp ecx, 0x15
jb 0x10086ce6
jmp 0x10086d6c
xor ecx, ecx
mov dword [ebp - 8], ecx
nop dword [eax]
mov ebx, ecx
xor edx, edx
xor edx, dword [esi + 0x1c]
xor ebx, dword [esi + 0x18]
xor edx, 0xd28f2c5
xor ebx, 0x1de26cd5
mov ecx, edx
mov eax, ebx
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, ecx
mov ecx, dword [ebp - 8]
xor ebx, eax
mov eax, ebx
shrd eax, edx, 7
xor al, bl
xor byte [edi + ecx], al
inc ecx
mov dword [ebp - 8], ecx
cmp ecx, 0x15
jb 0x10086d30
mov ecx, dword [ebp + 8]
lea eax, [ebp - 1]
push eax
lea eax, [esi + 0x16]
push eax
push edi
call fcn.1004d640
mov eax, dword [ebp + 8]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4

Function at 0x10086d90
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
push ebx
push esi
mov esi, ecx
push edi
cmp byte [esi], 0
lea edi, [esi + 2]
je 0x10086df7
cmp byte [esi + 1], 0
jne 0x10086e3c
xor ecx, ecx
mov byte [esi + 1], 1
mov dword [ebp - 8], ecx
mov ebx, ecx
xor edx, edx
xor edx, dword [esi + 0x44]
xor ebx, dword [esi + 0x40]
xor edx, 0xd28f2c5
xor ebx, 0x1de26cd5
mov ecx, edx
mov eax, ebx
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, ecx
mov ecx, dword [ebp - 8]
xor ebx, eax
mov eax, ebx
shrd eax, edx, 7
xor al, byte [edi + ecx]
xor al, bl
mov byte [edi + ecx], al
inc ecx
mov dword [ebp - 8], ecx
cmp ecx, 0x37
jb 0x10086db6
jmp 0x10086e3c
xor ecx, ecx
mov dword [ebp - 8], ecx
nop dword [eax]
mov ebx, ecx
xor edx, edx
xor edx, dword [esi + 0x44]
xor ebx, dword [esi + 0x40]
xor edx, 0xd28f2c5
xor ebx, 0x1de26cd5
mov ecx, edx
mov eax, ebx
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, ecx
mov ecx, dword [ebp - 8]
xor ebx, eax
mov eax, ebx
shrd eax, edx, 7
xor al, bl
xor byte [edi + ecx], al
inc ecx
mov dword [ebp - 8], ecx
cmp ecx, 0x37
jb 0x10086e00
mov ecx, dword [ebp + 8]
lea eax, [ebp - 1]
push eax
lea eax, [esi + 0x38]
push eax
push edi
call fcn.1004d640
mov eax, dword [ebp + 8]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
Function at 0x10087030
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
mov eax, dword [0x1030cb40]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov esi, ecx
cmp dword [esi + 0x38], 0
je 0x100870ec
cmp byte [esi + 0x3d], 0
je 0x100870ec
mov eax, dword [esi]
push edi
push 0xffffffffffffffff
call dword [eax + 0xc]
cmp eax, 0xffffffff
je 0x100870da
mov ecx, dword [esi + 0x38]
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x24]
push eax
lea eax, [esi + 0x40]
push eax
call dword [sym.imp.MSVCP140.dll_public:_int___thiscall_std::codecvt_char__char__struct__Mbstatet_::unshift_struct__Mbstatet___char___char___char___const]
sub eax, 0
je 0x100870a1
sub eax, 1
je 0x100870a5
sub eax, 2
jne 0x100870da
mov byte [esi + 0x3d], al
mov al, 1
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1010f522
mov esp, ebp
pop ebp
ret
mov byte [esi + 0x3d], 0
mov edi, dword [ebp - 0x28]
lea eax, [ebp - 0x24]
sub edi, eax
je 0x100870c3
push dword [esi + 0x4c]
push edi
push 1
push eax
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
add esp, 0x10
cmp edi, eax
jne 0x100870da
cmp byte [esi + 0x3d], 0
pop edi
sete al
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1010f522
mov esp, ebp
pop ebp
ret
pop edi
xor al, al
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1010f522
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 4]
mov al, 1
xor ecx, ebp
pop esi
call fcn.1010f522
mov esp, ebp
pop ebp
ret
Function at 0x1008ff40
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
mov eax, dword [0x1030cb40]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push eax
lea eax, [ebp - 0x1c]
push 0x10347220
push eax
call fcn.10086270
cmp dword [ebp - 8], 0xf
lea eax, [ebp - 0x1c]
cmova eax, dword [ebp - 0x1c]
push eax
call dword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll_remove]
mov ecx, dword [ebp - 8]
add esp, 0x10
cmp ecx, 0xf
jbe 0x1008ffad
mov edx, dword [ebp - 0x1c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1008ffa3
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1008ffa3
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.1010f1fa
add esp, 8
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1010f522
mov esp, ebp
pop ebp
ret
Function at 0x100a0c90
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
cmp byte [0x103022d0], 0
push ebx
push esi
je 0x100a0d07
cmp byte [0x103022d1], 0
jne 0x100a0d55
mov byte [0x103022d1], 1
xor esi, esi
nop word [eax + eax]
xor edx, edx
mov ebx, esi
xor edx, dword [0x103022ec]
xor ebx, dword [0x103022e8]
xor edx, 0xd28f2c5
xor ebx, 0x1de26cd5
mov ecx, edx
mov eax, ebx
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, ecx
xor ebx, eax
mov eax, ebx
shrd eax, edx, 7
xor al, byte [esi + 0x103022d2]
xor al, bl
mov byte [esi + 0x103022d2], al
inc esi
cmp esi, 0x12
jb 0x100a0cc0
jmp 0x100a0d55
xor esi, esi
nop dword [eax]
xor edx, edx
mov ebx, esi
xor edx, dword [0x103022ec]
xor ebx, dword [0x103022e8]
xor edx, 0xd28f2c5
xor ebx, 0x1de26cd5
mov ecx, edx
mov eax, ebx
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, ecx
xor ebx, eax
mov eax, ebx
shrd eax, edx, 7
xor al, byte [esi + 0x103022d2]
xor al, bl
mov byte [esi + 0x103022d2], al
inc esi
cmp esi, 0x12
jb 0x100a0d10
mov ecx, dword [ebp + 8]
lea eax, [ebp - 1]
push eax
push 0x103022e3
push 0x103022d2
call fcn.1004d640
mov eax, dword [ebp + 8]
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
Function at 0x100a7600
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
mov ebx, dword [ebp + 8]
mov dword [ebp - 4], ecx
push esi
push edi
movzx eax, byte [ebx]
xor eax, 0x811c9dc5
imul edx, eax, 0x1000193
movzx eax, byte [ebx + 1]
xor edx, eax
movzx eax, byte [ebx + 2]
imul edx, edx, 0x1000193
xor edx, eax
movzx eax, byte [ebx + 3]
imul ecx, edx, 0x1000193
mov edx, dword [ebp - 4]
mov edi, dword [edx + 4]
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, dword [edx + 0x18]
and ecx, eax
mov eax, dword [edx + 0xc]
mov esi, dword [eax + ecx*8 + 4]
lea ecx, [eax + ecx*8]
cmp esi, edi
jne 0x100a765c
xor esi, esi
jmp 0x100a7678
mov eax, dword [ebx]
mov edx, dword [ecx]
cmp eax, dword [esi + 8]
je 0x100a7675
cmp esi, edx
je 0x100a7673
mov esi, dword [esi + 4]
cmp eax, dword [esi + 8]
jne 0x100a7665
jmp 0x100a7675
xor esi, esi
mov edx, dword [ebp - 4]
test esi, esi
je 0x100a77b1
mov eax, dword [ecx]
cmp dword [ecx + 4], esi
jne 0x100a769a
cmp eax, esi
jne 0x100a7692
mov dword [ecx], edi
mov dword [ecx + 4], edi
jmp 0x100a76a2
mov edi, dword [esi + 4]
mov dword [ecx + 4], edi
jmp 0x100a76a2
cmp eax, esi
jne 0x100a76a2
mov eax, dword [esi]
mov dword [ecx], eax
mov ecx, dword [esi]
dec dword [edx + 8]
mov eax, dword [esi + 4]
mov dword [eax], ecx
mov eax, dword [esi + 4]
mov dword [ecx + 4], eax
mov ecx, dword [esi + 0x88]
cmp ecx, 0xf
jbe 0x100a76e9
mov eax, dword [esi + 0x74]
inc ecx
cmp ecx, 0x1000
jb 0x100a76df
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a77ab
mov eax, edx
push ecx
push eax
call fcn.1010f1fa
add esp, 8
mov dword [esi + 0x84], 0
mov dword [esi + 0x88], 0xf
mov byte [esi + 0x74], 0
mov ecx, dword [esi + 0x70]
cmp ecx, 0xf
jbe 0x100a7735
mov eax, dword [esi + 0x5c]
inc ecx
cmp ecx, 0x1000
jb 0x100a772b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a77ab
mov eax, edx
push ecx
push eax
call fcn.1010f1fa
add esp, 8
mov dword [esi + 0x6c], 0
mov dword [esi + 0x70], 0xf
mov byte [esi + 0x5c], 0
mov eax, dword [esi + 0x50]
test eax, eax
je 0x100a778f
mov ecx, dword [esi + 0x58]
sub ecx, eax
and ecx, 0xfffffff0
cmp ecx, 0x1000
jb 0x100a7770
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100a77ab
mov eax, edx
push ecx
push eax
call fcn.1010f1fa
mov dword [esi + 0x50], 0
add esp, 8
mov dword [esi + 0x54], 0
mov dword [esi + 0x58], 0
push 0x98
push esi
call fcn.1010f1fa
add esp, 8
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 4
Function at 0x100a7f90
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push dword [ebp + 0x10]
lea eax, [ebp - 8]
mov dword [ebp - 8], 0x43800000
push 0
push 0
push eax
push dword [ebp + 8]
mov dword [ebp - 4], 0x42000000
call fcn.100a8030
test al, al
je 0x100a800d
test byte [ebp + 0x10], 1
jne 0x100a800d
push 4
call fcn.1010f1ca
add esp, 4
test eax, eax
je 0x100a7fd6
mov ecx, dword [ebp + 0xc]
mov dword [eax], ecx
jmp 0x100a7fd8
xor eax, eax
lea ecx, [ebp - 4]
push ecx
push 0
push eax
push 0x100a7f60
push 0
push 0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthreadex]
add esp, 0x18
mov dword [ebp - 8], eax
test eax, eax
je 0x100a801a
mov ecx, dword [ebp - 4]
test ecx, ecx
je 0x100a8013
push ecx
push eax
call sub.MSVCP140.dll__Thrd_detach
add esp, 8
test eax, eax
jne 0x100a8013
mov esp, ebp
pop ebp
ret 0xc
push 1
call sub.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_
push 6
mov dword [ebp - 4], 0
call sub.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_
int3
Function at 0x100b9e50
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
push ebx
push esi
mov esi, ecx
push edi
cmp byte [esi], 0
lea edi, [esi + 2]
je 0x100b9eb7
cmp byte [esi + 1], 0
jne 0x100b9efc
xor ecx, ecx
mov byte [esi + 1], 1
mov dword [ebp - 8], ecx
mov ebx, ecx
xor edx, edx
xor edx, dword [esi + 0x1c]
xor ebx, dword [esi + 0x18]
xor edx, 0xd28f2c5
xor ebx, 0x1de26cd5
mov ecx, edx
mov eax, ebx
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, ecx
mov ecx, dword [ebp - 8]
xor ebx, eax
mov eax, ebx
shrd eax, edx, 7
xor al, byte [edi + ecx]
xor al, bl
mov byte [edi + ecx], al
inc ecx
mov dword [ebp - 8], ecx
cmp ecx, 0x16
jb 0x100b9e76
jmp 0x100b9efc
xor ecx, ecx
mov dword [ebp - 8], ecx
nop dword [eax]
mov ebx, ecx
xor edx, edx
xor edx, dword [esi + 0x1c]
xor ebx, dword [esi + 0x18]
xor edx, 0xd28f2c5
xor ebx, 0x1de26cd5
mov ecx, edx
mov eax, ebx
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, ecx
mov ecx, dword [ebp - 8]
xor ebx, eax
mov eax, ebx
shrd eax, edx, 7
xor al, bl
xor byte [edi + ecx], al
inc ecx
mov dword [ebp - 8], ecx
cmp ecx, 0x16
jb 0x100b9ec0
mov ecx, dword [ebp + 8]
lea eax, [ebp - 1]
push eax
lea eax, [esi + 0x17]
push eax
push edi
call fcn.1004d640
mov eax, dword [ebp + 8]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
Function at 0x100cb8f0
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
mov edx, 0xcbf29ce4
xor esi, esi
mov dword [ebp + 8], edx
mov ecx, 0x84222325
cmp byte [edi], 0
je 0x100cb917
nop dword [eax]
inc esi
cmp byte [edi + esi], 0
jne 0x100cb910
xor ebx, ebx
test esi, esi
je 0x100cb945
nop dword [eax]
movsx eax, byte [edi + ebx]
push 0x100
cdq
xor edx, dword [ebp + 8]
xor eax, ecx
push 0x1b3
push edx
push eax
call fcn.1010f9b0
inc ebx
mov dword [ebp + 8], edx
mov ecx, eax
cmp ebx, esi
jb 0x100cb920
pop edi
pop esi
mov eax, ecx
pop ebx
pop ebp
ret
Function at 0x100d3000
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
cmp byte [0x1019d005], 0
mov dword [ebp - 4], ecx
je 0x100d318b
mov ecx, dword [ebp + 8]
push ebx
push esi
push edi
mov eax, dword [ecx]
call dword [eax + 4]
mov ebx, eax
xor esi, esi
mov ecx, 0x84222325
mov edi, 0xcbf29ce4
cmp byte [ebx], 0
je 0x100d303b
inc esi
cmp byte [ebx + esi], 0
jne 0x100d3034
xor eax, eax
mov dword [ebp - 8], eax
test esi, esi
je 0x100d3188
nop dword [eax + eax]
movsx eax, byte [ebx + eax]
push 0x100
cdq
push 0x1b3
xor edx, edi
xor eax, ecx
push edx
push eax
call fcn.1010f9b0
mov ecx, eax
mov edi, edx
mov eax, dword [ebp - 8]
inc eax
mov dword [ebp - 8], eax
cmp eax, esi
jb 0x100d3050
cmp edi, 0x3943e50e
ja 0x100d316d
jb 0x100d3093
cmp ecx, 0x2bb2e9fe
ja 0x100d316d
cmp ecx, 0x2bb2e9fe
jne 0x100d3125
cmp edi, 0x3943e50e
jne 0x100d3125
mov ecx, dword [0x1019d07c]
test ecx, ecx
je 0x100d3188
mov eax, dword [0x1030daec]
test al, 1
jne 0x100d30d2
or eax, 1
mov dword [0x1030daec], eax
mov eax, dword [0x1030dae4]
mov dword [0x1030dae8], eax
jmp 0x100d30d7
mov eax, dword [0x1030dae8]
cmp dword [eax + ecx], 0
jne 0x100d3188
mov eax, dword [0x1030daf4]
test al, 1
jne 0x100d30fe
or eax, 1
mov dword [0x1030daf4], eax
mov eax, dword [0x1030dae0]
mov dword [0x1030daf0], eax
jmp 0x100d3103
mov eax, dword [0x1030daf0]
cmp dword [eax + ecx], 0
jle 0x100d3188
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 8]
cmp ecx, dword [eax + 0xc]
je 0x100d3188
cmp byte [ecx], 0
jne 0x100d3188
pop edi
pop esi
mov byte [ecx], 1
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp ecx, 0x5de24d68
jne 0x100d3149
cmp edi, 0x4251ee7
jne 0x100d3149
push dword [ebp + 8]
mov ecx, dword [ebp - 4]
call fcn.100d2b50
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp ecx, 0xedb6640
jne 0x100d3188
cmp edi, 0x1baa64fb
jne 0x100d3188
push dword [ebp + 8]
mov ecx, dword [ebp - 4]
call fcn.100d3d10
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp ecx, 0xb118f470
jne 0x100d3188
cmp edi, 0xd089c265
jne 0x100d3188
push dword [ebp + 8]
mov ecx, dword [ebp - 4]
call fcn.100d35b0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
Function at 0x100d3d10
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2c
mov eax, dword [0x1030cb40]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, ecx
push edi
mov dword [ebp - 0x24], ebx
lea edi, [ebx + 0x1500]
lea eax, [edi + 0x104]
cmp eax, edi
sbb ecx, ecx
and ecx, 0xffffffbf
add ecx, 0x41
cmp edi, eax
ja 0x100d3d45
xor eax, eax
rep stosd dword es:[edi], eax
lea ecx, [ebx + 0xb0]
lea edx, [ecx + 0x1450]
cmp ecx, edx
je 0x100d3dfe
add ecx, 0x48
nop dword [eax]
mov eax, dword [ecx - 0x44]
cmp eax, dword [ecx - 0x40]
je 0x100d3d6b
mov dword [ecx - 0x40], eax
cmp byte [ecx - 0x38], 0
je 0x100d3de3
mov dword [ecx - 0x38], 0
mov word [ecx - 0x34], 0
mov byte [ecx - 0x32], 0
mov dword [ecx - 0x30], 0xffffffff
mov dword [ecx - 0x2c], 0
mov dword [ecx - 0x28], 0
mov dword [ecx - 0x24], 0
mov dword [ecx - 0x18], 0
mov dword [ecx - 0x20], 0
mov dword [ecx - 0x1c], 0
mov dword [ecx - 0x14], 0
mov dword [ecx - 0x10], 0
mov dword [ecx - 0xc], 0
mov dword [ecx - 8], 0
mov dword [ecx + 4], 0
mov dword [ecx], 0
mov dword [ecx - 4], 0
cmp dword [ecx - 0x48], 0
je 0x100d3df0
mov dword [ecx - 0x48], 0
add ecx, 0x50
lea eax, [ecx - 0x48]
cmp eax, edx
jne 0x100d3d60
cmp byte [0x1019d012], 0
jne 0x100d3e0e
mov byte [0x1019d012], 1
test byte [0x102ff398], 4
push esi
je 0x100d3f21
cmp byte [0x10307900], 0
mov edi, dword [0x1034742c]
je 0x100d3e82
cmp byte [0x10307901], 0
jne 0x100d3ec6
mov byte [0x10307901], 1
xor esi, esi
xor edx, edx
mov ebx, esi
xor edx, dword [0x1030793c]
xor ebx, dword [0x10307938]
xor edx, 0xd28f2c5
xor ebx, 0x1de26cd5
mov ecx, edx
mov eax, ebx
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, ecx
xor ebx, eax
mov eax, ebx
shrd eax, edx, 7
xor al, bl
xor byte [esi + 0x10307902], al
inc esi
cmp esi, 0x30
jb 0x100d3e41
jmp 0x100d3ec3
xor esi, esi
xor edx, edx
mov ebx, esi
xor edx, dword [0x1030793c]
xor ebx, dword [0x10307938]
xor edx, 0xd28f2c5
xor ebx, 0x1de26cd5
mov ecx, edx
mov eax, ebx
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, ecx
xor ebx, eax
mov eax, ebx
shrd eax, edx, 7
xor al, bl
xor byte [esi + 0x10307902], al
inc esi
cmp esi, 0x30
jb 0x100d3e84
mov ebx, dword [ebp - 0x24]
lea eax, [ebp - 0x1d]
push eax
push 0x10307931
push 0x10307902
lea ecx, [ebp - 0x1c]
call fcn.1004d640
push 1
push 0xffffffffffffffff
lea eax, [ebp - 0x1c]
mov ecx, edi
push eax
call fcn.100fe6e0
mov ecx, dword [ebp - 8]
cmp ecx, 0xf
jbe 0x100d3f21
mov edx, dword [ebp - 0x1c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100d3f17
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100d3f17
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.1010f1fa
add esp, 8
mov eax, dword [ebx + 8]
lea esi, [ebx + 8]
mov ecx, dword [esi + 4]
cmp eax, ecx
je 0x100d3f3e
push esi
push ecx
push eax
call fcn.100d12f0
mov eax, dword [esi]
add esp, 0xc
mov dword [esi + 4], eax
mov ecx, dword [ebp - 4]
pop esi
pop edi
xor ecx, ebp
pop ebx
call fcn.1010f522
mov esp, ebp
pop ebp
ret 4
Function at 0x100e6a20
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
mov edx, dword [ebp + 0xc]
mov eax, ecx
push ebx
push esi
push edi
cmp dword [edx + 0x14], 0xf
mov edi, edx
mov ebx, dword [edx + 0x10]
mov dword [ebp - 4], eax
jbe 0x100e6a3e
mov edi, dword [edx]
xor ecx, ecx
mov esi, 0x811c9dc5
test ebx, ebx
je 0x100e6a64
nop dword [eax]
movzx eax, byte [edi + ecx]
inc ecx
xor eax, esi
imul esi, eax, 0x1000193
cmp ecx, ebx
jb 0x100e6a50
mov eax, dword [ebp - 4]
push esi
push edx
lea ecx, [ebp - 0xc]
push ecx
mov ecx, eax
call fcn.100e52b0
pop edi
pop esi
pop ebx
mov ecx, dword [eax + 4]
mov eax, dword [ebp + 8]
test ecx, ecx
jne 0x100e6a84
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 4]
mov dword [eax], ecx
mov esp, ebp
pop ebp
ret 8

Function at 0x100e6ba0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
push ebx
push esi
mov esi, ecx
push edi
cmp byte [esi], 0
lea edi, [esi + 2]
je 0x100e6c07
cmp byte [esi + 1], 0
jne 0x100e6c4c
xor ecx, ecx
mov byte [esi + 1], 1
mov dword [ebp - 8], ecx
mov ebx, ecx
xor edx, edx
xor edx, dword [esi + 0x44]
xor ebx, dword [esi + 0x40]
xor edx, 0xd28f2c5
xor ebx, 0x1de26cd5
mov ecx, edx
mov eax, ebx
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, ecx
mov ecx, dword [ebp - 8]
xor ebx, eax
mov eax, ebx
shrd eax, edx, 7
xor al, byte [edi + ecx]
xor al, bl
mov byte [edi + ecx], al
inc ecx
mov dword [ebp - 8], ecx
cmp ecx, 0x3a
jb 0x100e6bc6
jmp 0x100e6c4c
xor ecx, ecx
mov dword [ebp - 8], ecx
nop dword [eax]
mov ebx, ecx
xor edx, edx
xor edx, dword [esi + 0x44]
xor ebx, dword [esi + 0x40]
xor edx, 0xd28f2c5
xor ebx, 0x1de26cd5
mov ecx, edx
mov eax, ebx
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, ecx
mov ecx, dword [ebp - 8]
xor ebx, eax
mov eax, ebx
shrd eax, edx, 7
xor al, bl
xor byte [edi + ecx], al
inc ecx
mov dword [ebp - 8], ecx
cmp ecx, 0x3a
jb 0x100e6c10
mov ecx, dword [ebp + 8]
lea eax, [ebp - 1]
push eax
lea eax, [esi + 0x3b]
push eax
push edi
call fcn.1004d640
mov eax, dword [ebp + 8]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
Function at 0x100e6c70
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
push ebx
push esi
mov esi, ecx
push edi
cmp byte [esi], 0
lea edi, [esi + 2]
je 0x100e6cd7
cmp byte [esi + 1], 0
jne 0x100e6d1c
xor ecx, ecx
mov byte [esi + 1], 1
mov dword [ebp - 8], ecx
mov ebx, ecx
xor edx, edx
xor edx, dword [esi + 0x44]
xor ebx, dword [esi + 0x40]
xor edx, 0xd28f2c5
xor ebx, 0x1de26cd5
mov ecx, edx
mov eax, ebx
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, ecx
mov ecx, dword [ebp - 8]
xor ebx, eax
mov eax, ebx
shrd eax, edx, 7
xor al, byte [edi + ecx]
xor al, bl
mov byte [edi + ecx], al
inc ecx
mov dword [ebp - 8], ecx
cmp ecx, 0x3b
jb 0x100e6c96
jmp 0x100e6d1c
xor ecx, ecx
mov dword [ebp - 8], ecx
nop dword [eax]
mov ebx, ecx
xor edx, edx
xor edx, dword [esi + 0x44]
xor ebx, dword [esi + 0x40]
xor edx, 0xd28f2c5
xor ebx, 0x1de26cd5
mov ecx, edx
mov eax, ebx
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, ecx
mov ecx, dword [ebp - 8]
xor ebx, eax
mov eax, ebx
shrd eax, edx, 7
xor al, bl
xor byte [edi + ecx], al
inc ecx
mov dword [ebp - 8], ecx
cmp ecx, 0x3b
jb 0x100e6ce0
mov ecx, dword [ebp + 8]
lea eax, [ebp - 1]
push eax
lea eax, [esi + 0x3c]
push eax
push edi
call fcn.1004d640
mov eax, dword [ebp + 8]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4

Function at 0x100e6d40
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
push ebx
push esi
mov esi, ecx
push edi
cmp byte [esi], 0
lea edi, [esi + 2]
je 0x100e6da7
cmp byte [esi + 1], 0
jne 0x100e6dec
xor ecx, ecx
mov byte [esi + 1], 1
mov dword [ebp - 8], ecx
mov ebx, ecx
xor edx, edx
xor edx, dword [esi + 0x44]
xor ebx, dword [esi + 0x40]
xor edx, 0xd28f2c5
xor ebx, 0x1de26cd5
mov ecx, edx
mov eax, ebx
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, ecx
mov ecx, dword [ebp - 8]
xor ebx, eax
mov eax, ebx
shrd eax, edx, 7
xor al, byte [edi + ecx]
xor al, bl
mov byte [edi + ecx], al
inc ecx
mov dword [ebp - 8], ecx
cmp ecx, 0x3d
jb 0x100e6d66
jmp 0x100e6dec
xor ecx, ecx
mov dword [ebp - 8], ecx
nop dword [eax]
mov ebx, ecx
xor edx, edx
xor edx, dword [esi + 0x44]
xor ebx, dword [esi + 0x40]
xor edx, 0xd28f2c5
xor ebx, 0x1de26cd5
mov ecx, edx
mov eax, ebx
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, ecx
mov ecx, dword [ebp - 8]
xor ebx, eax
mov eax, ebx
shrd eax, edx, 7
xor al, bl
xor byte [edi + ecx], al
inc ecx
mov dword [ebp - 8], ecx
cmp ecx, 0x3d
jb 0x100e6db0
mov ecx, dword [ebp + 8]
lea eax, [ebp - 1]
push eax
lea eax, [esi + 0x3e]
push eax
push edi
call fcn.1004d640
mov eax, dword [ebp + 8]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4