joyce8/EMBER2024-capa huggingface dataset:
Function at 0x100879a0
Capabilities:
Access peb ldr_data
Get process heap flags

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x18
mov esi, ecx
mov dword [ebp - 0x1c], esp
mov dword [ebp - 0x10], 0xffffffff
lea eax, [ebp - 0x18]
mov dword [ebp - 0x14], 0x1008a3a0
mov ecx, dword fs:[0]
mov dword [ebp - 0x18], ecx
mov dword fs:[0], eax
cmp dword [ebp + 8], 0
je 0x10087a0e
mov dword [esi], 0x10397300
mov eax, 0x10397300
mov dword [esi + 0x70], 0
mov dword [esi + 0x90], 0
mov dword [esi + 0x94], 0
mov dword [esi + 0x98], 0
mov dword [esi + 0x68], 0x10397738
jmp 0x10087a10
mov eax, dword [esi]
mov eax, dword [eax + 4]
mov dword [esi + eax], 0x1048c0c8
mov eax, dword [esi]
mov eax, dword [eax + 4]
lea ecx, [eax - 0x68]
mov dword [esi + eax - 4], ecx
lea eax, [esi + 4]
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
mov dword [esi + ecx], 0x10397c10
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
lea edx, [ecx - 8]
mov dword [esi + ecx - 4], edx
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
add ecx, esi
mov dword [ebp - 0x10], 1
push 0
push eax
mov dword [ebp - 0x20], esi
call fcn.10006830
mov edx, dword [ebp - 0x20]
mov eax, dword [edx]
mov eax, dword [eax + 4]
mov dword [edx + eax], 0x1048c0c8
mov eax, dword [edx]
mov eax, dword [eax + 4]
lea ecx, [eax - 0x68]
mov dword [edx + eax - 4], ecx
mov dword [edx + 4], 0x103976c4
push 8
call fcn.101ac7e6
add esp, 4
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x10], 0
push 1
call fcn.101ad474
add esp, 4
mov ecx, dword [ebp - 0x24]
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x20]
mov dword [eax + 0x38], ecx
lea edx, [eax + 8]
lea ecx, [eax + 0xc]
mov dword [eax + 4], 0x1048bf54
mov byte [eax + 0x4c], 0
mov byte [eax + 0x41], 0
mov dword [eax + 0x10], edx
lea edx, [eax + 0x18]
mov dword [eax + 0x14], ecx
lea ecx, [eax + 0x1c]
mov dword [eax + 0x20], edx
lea edx, [eax + 0x28]
mov dword [eax + 0x24], ecx
lea ecx, [eax + 0x2c]
mov dword [eax + 0x30], edx
mov dword [eax + 0x34], ecx
mov dword [eax + 0xc], 0
mov dword [eax + 0x1c], 0
mov dword [eax + 0x2c], 0
mov dword [eax + 8], 0
mov dword [eax + 0x18], 0
mov dword [eax + 0x28], 0
mov dword [eax + 0x50], 0
mov edx, dword [0x1058eac0]
mov ecx, dword [0x1058eac4]
mov dword [eax + 0x48], ecx
mov dword [eax + 0x44], edx
mov dword [eax + 0x3c], 0
mov ecx, dword [ebp - 0x18]
mov dword fs:[0], ecx
add esp, 0x18
pop esi
pop edi
pop ebx
pop ebp
ret 4
Function at 0x10092aa0
Capabilities:
Access peb ldr_data
Get process heap flags
Get process heap force flags

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x18
mov dword [ebp - 0x1c], esp
mov dword [ebp - 0x10], 0xffffffff
lea eax, [ebp - 0x18]
mov dword [ebp - 0x14], 0x10092e40
mov edx, dword fs:[0]
mov dword [ebp - 0x18], edx
mov dword fs:[0], eax
mov dword [ebp - 0x20], ecx
mov dword [ecx], 0x103976c4
push 8
call fcn.101ac7e6
add esp, 4
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x10], 0
push 1
call fcn.101ad474
add esp, 4
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
mov esi, dword [ebp - 0x24]
mov dword [esi + 4], eax
mov edi, dword [ebp - 0x20]
mov dword [edi + 0x34], esi
lea eax, [edi + 4]
mov dword [edi + 0xc], eax
lea eax, [edi + 8]
mov dword [edi + 0x10], eax
lea eax, [edi + 0x14]
mov dword [edi + 0x1c], eax
lea eax, [edi + 0x18]
mov dword [edi + 0x20], eax
lea eax, [edi + 0x24]
mov dword [edi + 0x2c], eax
lea eax, [edi + 0x28]
mov dword [edi + 0x30], eax
mov dword [edi + 8], 0
mov dword [edi + 0x18], 0
mov dword [edi + 0x28], 0
mov dword [edi + 4], 0
mov dword [edi + 0x14], 0
mov dword [edi + 0x24], 0
mov dword [edi], 0x103975f4
mov eax, ecx
rol al, 4
mov ah, al
and ah, 0x10
shl ah, 3
add al, al
and al, 0x40
or al, ah
not al
shr al, 5
and al, 6
movzx esi, al
mov eax, ecx
and eax, 8
and ecx, 4
lea eax, [eax + ecx*4]
or eax, esi
mov esi, dword [edx + 0x10]
cmp dword [edx + 0x14], 0x10
mov ecx, edi
jb 0x10092b91
mov edx, dword [edx]
mov dword [ebp - 0x10], 1
push eax
push esi
push edx
call fcn.10092bf0
mov eax, dword [ebp - 0x18]
mov dword fs:[0], eax
mov eax, dword [ebp - 0x20]
add esp, 0x18
pop esi
pop edi
pop ebx
pop ebp
ret 8
Function at 0x10093870
Capabilities:
Read file on windows

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 8
mov ebx, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
test ebx, ebx
je 0x1009388d
mov dword [ebx], 0
push ecx
push eax
call fcn.10093710
add esp, 8
xor esi, esi
test eax, eax
je 0x100938c9
mov edi, eax
push eax
call fcn.1037df45
add esp, 4
cmp eax, 0xffffffff
je 0x100938c0
mov ebp, eax
push 2
push 0
push edi
call fcn.10376953
add esp, 0xc
test eax, eax
je 0x100938d3
push edi
call fcn.1037cf19
add esp, 4
mov eax, esi
add esp, 8
pop esi
pop edi
pop ebx
pop ebp
ret
push edi
call fcn.1037df45
add esp, 4
mov dword [esp + 4], eax
cmp eax, 0xffffffff
je 0x100938c0
push 0
push ebp
push edi
call fcn.10376953
add esp, 0xc
test eax, eax
jne 0x100938c0
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 4]
add eax, ecx
mov ecx, dword [0x1058eba8]
test ecx, ecx
je 0x1009390f
inc dword [ecx + 0x36c]
push dword [0x1058ebb0]
push eax
call dword [0x10584f34]
add esp, 8
test eax, eax
je 0x100938c0
push edi
mov ebp, dword [esp + 8]
push ebp
push 1
mov dword [esp + 0xc], eax
push eax
call fcn.1037dbff
add esp, 0x10
cmp eax, ebp
jne 0x10093972
mov ecx, dword [esp + 0x28]
test ecx, ecx
jle 0x10093957
mov eax, dword [esp]
add eax, dword [esp + 4]
push ecx
push 0
push eax
call fcn.10368a10
add esp, 0xc
push edi
call fcn.1037cf19
add esp, 4
test ebx, ebx
je 0x1009396a
mov eax, dword [esp + 4]
mov dword [ebx], eax
mov esi, dword [esp]
jmp 0x100938c9
push edi
call fcn.1037cf19
add esp, 4
mov eax, dword [0x1058eba8]
test eax, eax
je 0x1009398a
dec dword [eax + 0x36c]
push dword [0x1058ebb0]
push dword [esp + 4]
call dword [0x10584f38]
add esp, 8
jmp 0x100938c9
Function at 0x100ad8c0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push esi
mov esi, ecx
mov eax, dword [ecx + 8]
test eax, eax
je 0x100ad8e7
mov dword [esi + 4], 0
mov dword [esi], 0
push eax
call fcn.10093530
add esp, 4
mov dword [esi + 8], 0
mov eax, dword [esi + 0x14]
test eax, eax
je 0x100ad90c
mov dword [esi + 0x10], 0
mov dword [esi + 0xc], 0
push eax
call fcn.10093530
add esp, 4
mov dword [esi + 0x14], 0
mov eax, dword [esi + 0x20]
test eax, eax
je 0x100ad931
mov dword [esi + 0x1c], 0
mov dword [esi + 0x18], 0
push eax
call fcn.10093530
add esp, 4
mov dword [esi + 0x20], 0
mov dword [esi + 0x24], 0
mov dword [esi + 0x28], 0
mov dword [esi + 0x34], 0
mov dword [esi + 0x38], 0
mov eax, dword [esi + 0x44]
test eax, eax
je 0x100ad972
mov dword [esi + 0x40], 0
mov dword [esi + 0x3c], 0
push eax
call fcn.10093530
add esp, 4
mov dword [esi + 0x44], 0
mov eax, dword [esi + 0x50]
test eax, eax
je 0x100ad997
mov dword [esi + 0x4c], 0
mov dword [esi + 0x48], 0
push eax
call fcn.10093530
add esp, 4
mov dword [esi + 0x50], 0
mov eax, dword [esi + 0x5c]
test eax, eax
je 0x100ad9bc
mov dword [esi + 0x58], 0
mov dword [esi + 0x54], 0
push eax
call fcn.10093530
add esp, 4
mov dword [esi + 0x5c], 0
add esi, 0x78
mov ecx, esi
pop esi
jmp fcn.100ad9d0
Function at 0x100d2890
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x1c
mov dword [ebp - 0x28], ecx
mov esi, dword [ebp + 0x10]
mov edi, dword [ebp + 0x14]
mov dword [ebp - 0x1c], esp
mov dword [ebp - 0x10], 0xffffffff
mov dword [ebp - 0x14], 0x100d2cc0
mov eax, dword fs:[0]
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
mov dword fs:[0], eax
mov ebx, dword [ebp + 0x18]
push 0x2c
call fcn.101ac7e6
add esp, 4
mov ecx, eax
mov dword [ebp - 0x10], 0
sub esp, 0x10
movzx eax, byte [ebp - 0x24]
mov byte [esp], al
mov dword [esp + 0xc], ebx
mov dword [esp + 8], edi
mov dword [esp + 4], esi
mov dword [ebp - 0x20], ecx
call fcn.100d2ae0
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
mov eax, dword [eax]
mov edx, dword [ebp - 0x20]
mov dword [edx + 0x24], eax
mov eax, dword [ecx]
mov dword [edx + 0x28], eax
mov dword [ebp - 0x24], edx
mov edi, dword [ebp - 0x28]
lea esi, [edi + 4]
push esi
push 0
push edx
push 0x100d29a0
push 0
push 0
call fcn.103748dd
add esp, 0x18
mov dword [edi], eax
test eax, eax
je 0x100d2943
mov eax, dword [ebp - 0x18]
mov dword fs:[0], eax
add esp, 0x1c
pop esi
pop edi
pop ebx
pop ebp
ret 0x14
mov dword [esi], 0
mov dword [ebp - 0x10], 1
push 6
call fcn.101ad820
add esp, 4
nop word [eax + eax]
push ebp
sub esp, 0x18
add ebp, 0xc
lea ecx, [ebp - 0x24]
call fcn.100d2a80
add esp, 0x18
pop ebp
ret
Function at 0x100e01f0
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x1c
mov esi, ecx
mov dword [ebp - 0x1c], esp
mov dword [ebp - 0x10], 0xffffffff
lea eax, [ebp - 0x18]
mov dword [ebp - 0x14], 0x100e38c0
mov ecx, dword fs:[0]
mov dword [ebp - 0x18], ecx
mov dword fs:[0], eax
cmp dword [esi + 0x3a0], 0
jne 0x100e0272
push 8
call fcn.101ac7e6
add esp, 4
mov edi, eax
mov dword [eax], esi
mov dword [eax + 4], 0x100e02d0
lea eax, [ebp - 0x24]
push eax
push 0
push edi
push 0x100e2db0
push 0
push 0
call fcn.103748dd
add esp, 0x18
mov dword [ebp - 0x28], eax
test eax, eax
je 0x100e0283
cmp dword [esi + 0x3a0], 0
jne 0x100e029e
movsd xmm0, qword [ebp - 0x28]
movsd qword [esi + 0x39c], xmm0
mov eax, dword [ebp - 0x18]
mov dword fs:[0], eax
add esp, 0x1c
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x10], 0
push 6
call fcn.101ad820
add esp, 4
call fcn.1038146a
nop word cs:[eax + eax]
push ebp
sub esp, 0x18
add ebp, 0xc
push dword [ebp - 0x20]
call fcn.101ac816
add esp, 0x1c
pop ebp
ret
Function at 0x100e0e30
Capabilities:
Access peb ldr_data
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x20
mov edi, dword [ebp + 0x1c]
mov esi, dword [ebp + 0x20]
mov dword [ebp - 0x1c], esp
mov dword [ebp - 0x10], 0xffffffff
lea eax, [ebp - 0x18]
mov dword [ebp - 0x14], 0x100e3940
mov ecx, dword fs:[0]
mov dword [ebp - 0x18], ecx
mov dword fs:[0], eax
push 0xa0
call fcn.101ac7e6
add esp, 4
mov dword [ebp - 0x20], eax
sub esp, 0x98
mov ecx, esp
lea eax, [ecx + 0x74]
mov dword [ebp - 0x28], eax
movzx eax, word [esi]
mov word [ecx + 0x74], ax
movsd xmm0, qword [esi + 0x14]
movsd qword [ecx + 0x88], xmm0
movups xmm0, xmmword [esi + 4]
movups xmmword [ecx + 0x78], xmm0
mov dword [esi + 0x14], 0
mov dword [esi + 0x18], 0xf
mov byte [esi + 4], 0
movzx eax, byte [esi + 0x1c]
mov byte [ecx + 0x90], al
lea eax, [ecx + 0x3c]
mov dword [ebp - 0x24], eax
movsd xmm0, qword [edi + 0x10]
movsd qword [ecx + 0x4c], xmm0
movups xmm0, xmmword [edi]
movups xmmword [ecx + 0x3c], xmm0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0xf
mov byte [edi], 0
mov dword [ecx + 0x54], 0
mov dword [ebp - 0x2c], ecx
mov dword [ecx + 0x58], 0
mov dword [ebp - 0x10], 1
push 0x40
call fcn.101ac7e6
add esp, 4
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [eax + 8], eax
mov word [eax + 0xc], 0x101
mov esi, dword [ebp + 0x1c]
mov ecx, dword [esi + 0x18]
mov edx, dword [ebp - 0x2c]
mov dword [edx + 0x54], ecx
mov dword [esi + 0x18], eax
mov eax, dword [esi + 0x1c]
mov dword [edx + 0x58], eax
mov eax, dword [ebp + 0x18]
mov dword [esi + 0x1c], 0
movsd xmm0, qword [esi + 0x30]
movsd qword [edx + 0x6c], xmm0
movups xmm0, xmmword [esi + 0x20]
movups xmmword [edx + 0x5c], xmm0
mov dword [esi + 0x30], 0
mov dword [esi + 0x34], 0xf
mov byte [esi + 0x20], 0
mov ecx, dword [eax + 0x10]
mov dword [edx + 0x1c], ecx
mov ecx, dword [ebp + 0x14]
movups xmm0, xmmword [eax]
movups xmmword [edx + 0xc], xmm0
movsd xmm0, qword [eax + 0x24]
movsd qword [edx + 0x30], xmm0
movups xmm0, xmmword [eax + 0x14]
movups xmmword [edx + 0x20], xmm0
mov dword [eax + 0x24], 0
mov dword [eax + 0x28], 0xf
mov byte [eax + 0x14], 0
movzx eax, byte [eax + 0x2c]
mov byte [edx + 0x38], al
mov eax, dword [ebp + 0xc]
mov ecx, dword [ecx]
mov eax, dword [eax]
mov dword [edx], eax
mov eax, dword [ebp + 0x10]
mov dword [edx + 4], eax
mov dword [edx + 8], ecx
mov byte [edx + 0x94], 0
mov dword [ebp - 0x10], 0
mov ecx, dword [ebp - 0x20]
call fcn.100e2810
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x20]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x18]
mov dword fs:[0], ecx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
Function at 0x100e4030
Capabilities:
Generate random numbers using a mersenne twister

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
mov eax, 0x13b8
call fcn.101acca0
mov dword [ebp - 0x1c], esp
mov dword [ebp - 0x10], 0xffffffff
lea eax, [ebp - 0x18]
mov dword [ebp - 0x14], 0x100e8a60
mov ecx, dword fs:[0]
mov dword [ebp - 0x18], ecx
mov dword fs:[0], eax
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x30], 0
push 0x20
call fcn.101ac7e6
add esp, 4
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x2c], 0x1a
mov dword [ebp - 0x28], 0x1f
movups xmm0, xmmword [0x105340df]
movups xmmword [eax + 0xa], xmm0
movups xmm0, xmmword [0x105340d5]
movups xmmword [eax], xmm0
mov byte [eax + 0x1a], 0
mov dword [ebp - 0x10], 0
call fcn.101ad6a0
mov edi, dword [ebp + 8]
mov esi, dword [ebp + 0xc]
mov dword [ebp - 0x40], 0xffffffff
mov dword [ebp - 0x13c0], eax
mov ecx, 3
nop word cs:[eax + eax]
mov edx, eax
shr edx, 0x1e
xor edx, eax
imul eax, edx, 0x6c078965
add eax, ecx
add eax, 0xfffffffe
mov dword [ebp + ecx*4 - 0x13c8], eax
cmp ecx, 0x271
je 0x100e411d
mov edx, eax
shr edx, 0x1e
xor edx, eax
imul eax, edx, 0x6c078965
add eax, ecx
dec eax
mov dword [ebp + ecx*4 - 0x13c4], eax
add ecx, 2
jmp 0x100e40e0
mov dword [ebp - 0x13c4], 0x270
xorps xmm0, xmm0
movups xmmword [edi], xmm0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0xf
test esi, esi
je 0x100e416e
cmp esi, 0xf
jbe 0x100e4177
mov dword [ebp - 0x10], 1
sub esp, 0x10
movzx eax, byte [ebp - 0x20]
mov byte [esp + 4], al
mov dword [esp + 8], esi
mov dword [esp], esi
mov dword [esp + 0xc], 0
mov ecx, edi
call fcn.1000aa40
jmp 0x100e418a
mov dword [edi + 0x10], esi
mov byte [edi + esi], 0
jmp 0x100e4190
mov dword [edi + 0x10], esi
push esi
push 0
push edi
call fcn.10368a10
add esp, 0xc
mov byte [edi + esi], 0
mov edi, dword [ebp + 8]
mov esi, dword [ebp + 0xc]
xor eax, eax
jmp 0x100e41ad
movzx eax, byte [eax + edx]
mov edx, dword [ebp - 0x24]
mov byte [ecx + edx], al
mov eax, edx
inc eax
cmp eax, esi
jge 0x100e4215
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x10], 1
lea ecx, [ebp - 0x13c4]
call fcn.10089d40
mov ecx, 0x1a
mul ecx
cmp eax, 0x15
ja 0x100e41f7
nop word cs:[eax + eax]
lea ecx, [ebp - 0x13c4]
call fcn.10089d40
mov ecx, 0x1a
mul ecx
cmp eax, 0x16
jb 0x100e41e0
cmp dword [ebp - 0x28], 0x10
lea eax, [ebp - 0x3c]
mov edi, dword [ebp + 8]
mov esi, dword [ebp + 0xc]
jb 0x100e4209
mov eax, dword [ebp - 0x3c]
cmp dword [edi + 0x14], 0x10
mov ecx, edi
jb 0x100e41a0
mov ecx, dword [edi]
jmp 0x100e41a0
mov eax, dword [ebp - 0x28]
cmp eax, 0x10
jb 0x100e4249
mov ecx, dword [ebp - 0x3c]
lea esi, [eax + 1]
cmp esi, 0x1000
jb 0x100e423f
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x100e4261
add eax, 0x24
mov esi, eax
mov ecx, edx
push esi
push ecx
call fcn.101ac81b
add esp, 8
mov eax, dword [ebp - 0x18]
mov dword fs:[0], eax
mov eax, edi
add esp, 0x13b8
pop esi
pop edi
pop ebx
pop ebp
ret 8
call fcn.10378384
nop word cs:[eax + eax]
push ebp
sub esp, 0x10
add ebp, 0xc
mov ecx, dword [ebp + 8]
call fcn.10002320
add esp, 0x10
pop ebp
ret
Function at 0x100ed310
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x18
mov edx, ecx
mov ebx, dword [esp + 0x38]
mov eax, dword [esp + 0x30]
mov esi, dword [esp + 0x2c]
mov ecx, dword [0x10588520]
xor ecx, esp
mov dword [esp + 0x14], ecx
mov ebp, dword [eax + 0x10]
cmp esi, 4
mov dword [esp], edx
je 0x100ed39c
cmp byte [esp + 0x34], 0
je 0x100ed39c
mov ecx, dword [edx + 0x134]
add edx, 0x140
mov dword [esp + 4], edx
push edx
push eax
call fcn.100e90f0
test esi, esi
je 0x100ed3da
xor al, 1
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x10], ecx
mov byte [esp + 0xf], al
mov dword [esp + 8], ebp
mov eax, dword [esp + 0x38]
mov ecx, dword [eax + 0x24]
test ecx, ecx
je 0x100ed4a6
mov eax, dword [ecx]
lea edx, [esp + 0x10]
lea esi, [esp + 0xf]
lea edi, [esp + 8]
push edx
push esi
push edi
push dword [esp + 0x10]
call dword [eax + 8]
jmp 0x100ed491
test esi, esi
je 0x100ed439
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x10], ecx
mov byte [esp + 0xf], 0
mov dword [esp + 8], ebp
mov ecx, dword [ebx + 0x24]
test ecx, ecx
je 0x100ed4a6
mov edx, dword [ecx]
lea esi, [esp + 0x10]
lea edi, [esp + 0xf]
lea ebx, [esp + 8]
push esi
push edi
push ebx
push eax
call dword [edx + 8]
jmp 0x100ed491
mov esi, dword [esp]
mov ecx, dword [esi + 0x150]
cmp dword [esi + 0x154], 0x10
mov edx, dword [esp + 4]
jb 0x100ed3f6
mov edx, dword [esi + 0x140]
test ecx, ecx
je 0x100ed35e
xor edi, edi
xor ebx, ebx
nop word cs:[eax + eax]
movzx esi, byte [edx + edi]
movzx esi, byte [esi + 0x104c3910]
shl ebx, 4
movzx ebx, byte [ebx + esi + 0x104c3a10]
cmp ebx, 1
je 0x100ed478
inc edi
cmp ecx, edi
jne 0x100ed410
test bl, bl
jne 0x100ed478
jmp 0x100ed35e
cmp dword [eax + 0x14], 0x10
mov ecx, eax
jb 0x100ed443
mov ecx, dword [eax]
test ebp, ebp
je 0x100ed3a4
xor edi, edi
xor edx, edx
nop
movzx esi, byte [ecx + edi]
movzx esi, byte [esi + 0x104c3910]
shl edx, 4
movzx edx, byte [edx + esi + 0x104c3a10]
cmp edx, 1
je 0x100ed478
inc edi
cmp ebp, edi
jne 0x100ed450
test dl, dl
je 0x100ed3a4
movzx eax, word [0x104c357e]
mov ecx, dword [esp]
push 0
push 0
push 0x105dc280
push eax
call fcn.100ec2d0
mov ecx, dword [esp + 0x14]
xor ecx, esp
call fcn.101ac85a
add esp, 0x18
pop esi
pop edi
pop ebx
pop ebp
ret 0x10
call fcn.101ad9e8
int3
Function at 0x100ee630
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x24
mov edi, ecx
mov dword [ebp - 0x1c], esp
mov dword [ebp - 0x10], 0xffffffff
lea eax, [ebp - 0x18]
mov dword [ebp - 0x14], 0x100eef60
mov ecx, dword fs:[0]
mov dword [ebp - 0x18], ecx
mov dword fs:[0], eax
lea esi, [edi + 0x40]
push esi
call fcn.101ae27c
add esp, 4
test eax, eax
jne 0x100ee72a
mov dword [ebp - 0x20], esi
cmp dword [edi + 0x6c], 0x7fffffff
je 0x100ee731
lea eax, [ebp + 8]
lea ecx, [edi + 0x34]
mov eax, dword [eax]
mov edx, dword [eax]
mov eax, dword [eax + 4]
mov esi, dword [edi + 0x38]
sub eax, edx
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x2c], ecx
push eax
push edx
push esi
mov dword [ebp - 0x24], edi
call fcn.100d9040
mov dword [ebp - 0x28], esp
push eax
sub esp, 0xc
mov eax, esp
lea ecx, [ebp + 8]
movsd xmm0, qword [ecx + 4]
movsd qword [eax + 8], xmm0
mov ecx, dword [ebp - 0x24]
mov ecx, dword [ecx + 0x38]
mov dword [eax + 4], ecx
lea ecx, [ebp - 0x30]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x2c]
call fcn.100ee830
mov esp, dword [ebp - 0x28]
mov edi, dword [ebp - 0x24]
test byte [edi + 0x18], 1
lea ebx, [ebp + 8]
je 0x100ee70c
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x100ee70c
xor ecx, ecx
nop
mov edx, dword [ebx + 0x14]
mov esi, ecx
and esi, 3
movzx edx, byte [edx + esi]
mov esi, dword [edi + 0x38]
sub esi, eax
xor byte [esi + ecx], dl
inc ecx
mov eax, dword [ebx + 0xc]
cmp ecx, eax
jne 0x100ee6f0
push dword [ebp - 0x20]
call fcn.101ae28d
add esp, 4
mov eax, dword [ebp - 0x18]
mov dword fs:[0], eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0x18
push 5
call fcn.101ad820
mov dword [edi + 0x6c], 0x7ffffffe
push 6
call fcn.101ad820
nop
push ebp
sub esp, 0x10
add ebp, 0xc
push dword [ebp - 0x20]
call fcn.101ae28d
add esp, 0x14
pop ebp
ret
Function at 0x100f3f10
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x1c
mov eax, dword [esp + 0x30]
mov ebp, dword [ecx + 4]
mov edx, dword [eax]
mov esi, dword [eax + 4]
test esi, esi
mov dword [esp + 0x18], esi
mov dword [esp + 4], edx
je 0x100f3f45
mov eax, esi
and eax, 3
cmp esi, 4
mov dword [esp], eax
jae 0x100f3f4c
mov esi, 0x811c9dc5
xor ebx, ebx
jmp 0x100f3f9a
mov esi, 0x811c9dc5
jmp 0x100f3fc1
mov eax, edx
mov edx, esi
and edx, 0xfffffffc
mov esi, 0x811c9dc5
xor ebx, ebx
nop word [eax + eax]
movzx edi, byte [eax + ebx]
xor edi, esi
imul esi, edi, 0x1000193
movzx edi, byte [eax + ebx + 1]
xor edi, esi
imul esi, edi, 0x1000193
movzx edi, byte [eax + ebx + 2]
xor edi, esi
imul esi, edi, 0x1000193
movzx edi, byte [eax + ebx + 3]
xor edi, esi
imul esi, edi, 0x1000193
add ebx, 4
cmp edx, ebx
jne 0x100f3f60
mov eax, dword [esp]
test eax, eax
je 0x100f3fc1
add ebx, dword [esp + 4]
xor edx, edx
nop word [eax + eax]
movzx edi, byte [ebx + edx]
xor edi, esi
imul esi, edi, 0x1000193
inc edx
cmp eax, edx
jne 0x100f3fb0
dec ebp
mov eax, dword [ecx]
mov dword [esp], eax
mov eax, dword [ecx + 0xc]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], ecx
mov edx, dword [ecx + 0x10]
xor ebx, ebx
mov dword [esp + 8], edx
mov dword [esp + 0x14], ebp
jmp 0x100f3ffc
add esi, ebx
inc esi
inc ebx
mov ebp, dword [esp + 0x14]
cmp ebx, ebp
ja 0x100f4047
and esi, ebp
lea eax, [esi + esi*2]
mov ecx, dword [esp]
lea edi, [ecx + eax*4]
mov ebp, dword [ecx + eax*4 + 4]
cmp ebp, edx
jne 0x100f4026
push edx
push dword [esp + 0x14]
push dword [edi]
call fcn.10366e0d
mov edx, dword [esp + 0x14]
add esp, 0xc
test eax, eax
je 0x100f404b
mov eax, dword [esp + 0x18]
cmp ebp, eax
jne 0x100f3ff0
push eax
push dword [esp + 8]
push dword [edi]
call fcn.10366e0d
mov edx, dword [esp + 0x14]
add esp, 0xc
test eax, eax
jne 0x100f3ff0
jmp 0x100f4064
xor edi, edi
jmp 0x100f4064
mov ecx, dword [esp + 0x30]
mov eax, dword [ecx + 8]
mov dword [edi + 8], eax
movsd xmm0, qword [ecx]
movsd qword [edi], xmm0
mov eax, dword [esp + 0xc]
inc dword [eax + 8]
mov eax, edi
add esp, 0x1c
pop esi
pop edi
pop ebx
pop ebp
ret 4
Function at 0x100f4070
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x1c
mov dword [esp], 0
cmp dword [ecx + 8], 0
je 0x100f41f5
mov ebx, ecx
mov esi, dword [esp + 0x30]
mov edx, dword [esi + 4]
mov edi, dword [ecx + 0x10]
cmp edx, edi
mov dword [esp + 4], edx
jne 0x100f40b6
push edx
push dword [ebx + 0xc]
push dword [esi]
call fcn.10366e0d
mov edx, dword [esp + 0x10]
add esp, 0xc
test eax, eax
je 0x100f41f5
mov ebp, dword [ebx + 4]
mov ecx, dword [esi]
test edx, edx
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], ebp
mov dword [esp + 8], ebx
je 0x100f40e2
mov eax, edx
and eax, 3
cmp edx, 4
mov dword [esp + 0x14], edi
jae 0x100f40e9
mov ebx, 0x811c9dc5
xor ecx, ecx
jmp 0x100f413b
mov ebx, 0x811c9dc5
jmp 0x100f4161
and edx, 0xfffffffc
mov ebx, 0x811c9dc5
mov ebp, ecx
xor ecx, ecx
nop word cs:[eax + eax]
movzx esi, byte [ebp + ecx]
xor esi, ebx
imul esi, esi, 0x1000193
movzx edi, byte [ebp + ecx + 1]
xor edi, esi
imul esi, edi, 0x1000193
movzx edi, byte [ebp + ecx + 2]
xor edi, esi
imul esi, edi, 0x1000193
movzx edi, byte [ebp + ecx + 3]
xor edi, esi
imul ebx, edi, 0x1000193
add ecx, 4
cmp edx, ecx
jne 0x100f4100
test eax, eax
mov edi, dword [esp + 0x14]
je 0x100f4161
add ecx, dword [esp + 0x10]
xor edx, edx
nop dword [eax]
movzx esi, byte [ecx + edx]
xor esi, ebx
imul ebx, esi, 0x1000193
inc edx
cmp eax, edx
jne 0x100f4150
mov eax, dword [esp + 0xc]
dec eax
mov ecx, dword [esp + 8]
mov edx, dword [ecx]
mov dword [esp + 0x18], edx
mov ecx, dword [ecx + 0xc]
mov dword [esp + 8], ecx
xor ebp, ebp
mov ecx, dword [esp + 4]
mov dword [esp + 0xc], eax
jmp 0x100f419c
add ebx, ebp
inc ebx
inc ebp
mov eax, dword [esp + 0xc]
cmp ebp, eax
ja 0x100f41ee
mov esi, edi
and ebx, eax
lea eax, [ebx + ebx*2]
mov edi, dword [esp + 0x18]
lea edx, [edi + eax*4]
mov edi, dword [edi + eax*4 + 4]
cmp edi, ecx
jne 0x100f41d1
push ecx
push dword [esp + 0x14]
push dword [edx]
mov dword [esp + 0xc], edx
call fcn.10366e0d
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
add esp, 0xc
test eax, eax
je 0x100f41f5
cmp edi, esi
mov edi, esi
jne 0x100f4190
push edi
push dword [esp + 0xc]
push dword [edx]
call fcn.10366e0d
mov ecx, dword [esp + 0x10]
add esp, 0xc
test eax, eax
jne 0x100f4190
mov dword [esp], 0
mov eax, dword [esp]
add esp, 0x1c
pop esi
pop edi
pop ebx
pop ebp
ret 4