joyce8/EMBER2024-capa huggingface dataset:
Function at 0x4399b0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x18
mov eax, dword fs:[0x14]
mov eax, dword [eax]
mov dword [esp + 0xc], eax
mov ecx, dword [eax + 0x18]
inc dword [ecx + 0x78]
mov dword [eax + 8], 0xfffffade
mov byte [eax + 0x6b], 1
mov ecx, dword [esp + 0x1c]
mov dword [esp], ecx
mov edx, dword [esp + 0x20]
mov dword [esp + 4], edx
call fcn.00439970
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0xc]
mov dword [ecx + 0x38], eax
mov edx, dword [esp + 0x1c]
mov dword [ecx + 0x3c], edx
mov dword [esp], ecx
mov dword [esp + 4], 2
mov dword [esp + 8], 3
call fcn.00434600
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 0x38]
cmp dword [eax], ecx
jbe 0x439b89
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
lea ecx, [0x4546c0]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], eax
lea ecx, [esp + 0x10]
mov dword [esp], ecx
call fcn.00457d60
movzx eax, byte [0x565d88]
test al, al
jne 0x439b62
lea eax, [0x55d64c]
mov dword [esp], eax
call fcn.00401fa0
mov eax, dword [esp + 4]
test eax, eax
jne 0x439b3b
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 0x18]
mov ecx, dword [ecx + 0x54]
test byte [ecx], al
mov ecx, dword [ecx + 0x13a8]
test ecx, ecx
jne 0x439b10
mov ecx, dword [eax + 0x18]
mov edx, dword [ecx + 0x54]
mov edx, dword [edx + 0x10]
mov dword [ecx + 0x164], edx
mov byte [eax + 0x6f], 1
mov ecx, dword [eax + 0x18]
mov ecx, dword [ecx + 0x54]
mov dword [ecx + 0x2c], 0
mov edx, dword [eax + 0x18]
mov ebx, ecx
mov dword [edx + 0x5c], ecx
mov ecx, dword [eax + 0x18]
mov dword [ecx + 0x54], 0
lea ecx, [ebx + 4]
mov dword [esp], ecx
mov dword [esp + 4], 2
call fcn.00402170
mov eax, dword [0x55d640]
test eax, eax
jne 0x439aec
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x18]
dec dword [eax + 0x78]
add esp, 0x18
ret
lea eax, [0x4cf14c]
mov dword [esp], eax
call fcn.00457d60
mov eax, dword [esp + 0x1c]
mov dword [esp], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 4], eax
call fcn.00439970
jmp 0x439ade
lea eax, [0x4cf22c]
mov dword [esp], eax
call fcn.00457d60
mov eax, dword [esp + 0x1c]
mov dword [esp], eax
mov ecx, dword [esp + 0x20]
mov dword [esp + 4], ecx
call fcn.00439970
mov eax, dword [esp + 0xc]
jmp 0x439a8f
lea eax, [0x4cf150]
mov dword [esp], eax
call fcn.00457d60
mov eax, dword [esp + 0x1c]
mov dword [esp], eax
mov ecx, dword [esp + 0x20]
mov dword [esp + 4], ecx
call fcn.00439970
jmp 0x439a75
lea eax, [0x4cf270]
mov dword [esp], eax
call fcn.00457d60
mov eax, dword [esp + 0x1c]
mov dword [esp], eax
mov ecx, dword [esp + 0x20]
mov dword [esp + 4], ecx
call fcn.00439970
jmp 0x439a5b
cmp dword [eax + 4], ecx
jb 0x439a22
jmp 0x439a4c
Function at 0x4400b0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x4402c0
sub esp, 0x30
mov eax, dword [esp + 0x34]
mov ecx, eax
mov dword [esp + 0x20], eax
mov dword [esp], ecx
mov dword [esp + 4], 1
call fcn.004020b0
mov eax, dword [esp + 0x20]
shr eax, 3
mov ecx, eax
mov eax, 0x828cbfbf
mul ecx
shr edx, 7
imul eax, edx, 0xfb
sub ecx, eax
shl ecx, 6
mov dword [esp + 0x1c], ecx
lea eax, [0x55d8c0]
lea edx, [eax + ecx + 8]
mov dword [esp + 0x2c], edx
mov dword [esp], edx
call fcn.00401fa0
mov eax, dword [esp + 4]
test eax, eax
je 0x4402a5
mov eax, dword [esp + 0x1c]
lea ecx, [0x55d8c0]
lea edx, [ecx + eax]
mov dword [esp + 0x28], edx
mov dword [esp], edx
call fcn.00409030
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
call fcn.00401fa0
mov eax, dword [esp + 4]
test eax, eax
je 0x440293
mov eax, dword [esp + 0x1c]
lea ecx, [0x55d8c0]
add eax, ecx
mov dword [esp], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 4], eax
call fcn.00440710
mov eax, dword [esp + 8]
mov dword [esp + 0x24], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x18], ecx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x14], edx
test eax, eax
jne 0x44027a
nop
nop
mov eax, dword [esp + 0x28]
mov dword [esp], eax
call fcn.00409240
mov eax, dword [esp + 0x24]
test eax, eax
je 0x440212
mov ecx, dword [eax + 0x10]
test ecx, ecx
setne dl
mov ebx, dword [eax + 0x14]
test ebx, ebx
xchg ebp, ebx
setne bl
xchg ebp, ebx
or ebp, edx
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x44024e
mov ecx, dword [eax + 0x20]
test ecx, ecx
jne 0x4402a9
movzx ecx, byte [esp + 0x38]
test cl, cl
jne 0x440226
mov dword [esp], eax
mov ecx, dword [esp + 0x3c]
add ecx, 5
mov dword [esp + 4], ecx
call fcn.0043fd30
mov eax, dword [esp + 0x24]
cmp dword [eax + 0x20], 1
jne 0x440212
mov eax, dword fs:[0x14]
mov eax, dword [eax]
mov eax, dword [eax + 0x18]
mov eax, dword [eax + 0x78]
test eax, eax
je 0x440216
add esp, 0x30
ret
lea eax, [0x4cf1b0]
mov dword [esp], eax
call fcn.00457d00
jmp 0x440212
mov eax, dword [esp + 0x34]
mov dword [esp], eax
call fcn.004402d0
movzx eax, byte [esp + 4]
test al, al
je 0x440248
mov eax, dword [esp + 0x24]
mov dword [eax + 0x20], 1
jmp 0x4401de
mov eax, dword [esp + 0x24]
jmp 0x4401de
mov eax, dword [esp + 0x18]
sub eax, ecx
mov ecx, dword [esp + 0x14]
sbb ecx, ebx
mov dword [esp + 4], ecx
mov dword [esp], eax
mov eax, dword [esp + 0x3c]
lea ecx, [eax + 3]
mov dword [esp + 8], ecx
call fcn.004554e0
mov eax, dword [esp + 0x24]
jmp 0x4401ca
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
mov dword [esp + 4], 0xffffffff
call fcn.004020b0
jmp 0x440194
nop
nop
mov eax, dword [esp + 0x28]
mov dword [esp], eax
call fcn.00409240
add esp, 0x30
ret
add esp, 0x30
ret
lea eax, [0x4ca4b5]
mov dword [esp], eax
mov dword [esp + 4], 0x1a
call fcn.004307d0
nop
call fcn.00457e80
jmp fcn.004400b0
Function at 0x447e10
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x447f9c
sub esp, 0xc
mov ecx, dword [esp + 0x14]
test ecx, ecx
jbe 0x447f94
mov edx, dword [esp + 0x10]
movzx ebx, byte [edx]
test ebx, ebx
jne 0x447e4f
movzx ebp, byte [esp + 0x24]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x447f54
test ebx, 0x80
je 0x447f4a
xor eax, eax
xor ebx, ebx
xor ebp, ebp
jmp 0x447e6c
lea ebp, [ecx + 7]
mov ecx, dword [esp + 0x14]
mov eax, edi
cmp ecx, eax
jbe 0x447f8f
movzx esi, byte [eax + edx]
lea edi, [eax + 1]
mov eax, esi
and esi, 0x7f
mov ecx, ebp
shl esi, cl
or ebx, esi
test al, 0x80
jne 0x447e63
mov ebp, ebx
and ebx, 1
neg ebx
shr ebp, 1
xor ebx, ebp
mov ebp, dword [esp + 0x20]
add dword [ebp], ebx
mov ecx, dword [esp + 0x14]
cmp ecx, edi
jb 0x447f88
sub ecx, edi
mov ebx, dword [esp + 0x18]
sub ebx, edi
mov ebp, ebx
neg ebx
sar ebx, 0x1f
and edi, ebx
lea ebx, [edx + edi]
test ecx, ecx
jbe 0x447f81
mov dword [esp + 0x14], ecx
mov dword [esp + 8], ebp
movzx edx, byte [edx + edi]
test edx, 0x80
je 0x447f43
xor eax, eax
xor edx, edx
xor esi, esi
jmp 0x447eee
lea esi, [ecx + 7]
mov ecx, dword [esp + 0x14]
mov eax, ebp
mov ebp, dword [esp + 8]
cmp ecx, eax
jbe 0x447f7c
movzx edi, byte [eax + ebx]
lea ebp, [eax + 1]
mov eax, edi
and edi, 0x7f
mov ecx, esi
shl edi, cl
or edx, edi
test al, 0x80
jne 0x447ee1
mov ecx, dword [esp + 0x14]
cmp ecx, ebp
jb 0x447f75
mov eax, dword [esp + 0x1c]
add dword [eax], edx
mov eax, dword [esp + 8]
sub eax, ebp
mov edx, eax
neg eax
sar eax, 0x1f
and eax, ebp
add eax, ebx
mov dword [esp + 0x28], eax
sub ecx, ebp
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x30], edx
mov byte [esp + 0x34], 1
add esp, 0xc
ret
mov ebp, 1
jmp 0x447f0d
mov edi, 1
jmp 0x447e8b
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], 0
mov byte [esp + 0x34], 0
add esp, 0xc
ret
mov eax, ebp
call fcn.004594d0
call fcn.00459470
xor eax, eax
call fcn.00459460
mov eax, edi
call fcn.004594d0
call fcn.00459470
xor eax, eax
call fcn.00459460
nop
call fcn.00457e80
jmp fcn.00447e10
Function at 0x44b850
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x44b9f1
sub esp, 0x48
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
mov ecx, dword [ecx + 0x18]
mov ecx, dword [ecx + 0x4c]
mov edx, dword [ecx + 0x18]
mov ebx, dword [ecx + 0x78]
add ebx, 1
mov edx, dword [edx + 0x54]
mov ebp, dword [ecx + 0x7c]
mov dword [ecx + 0x78], ebx
adc ebp, 0
mov dword [ecx + 0x7c], ebp
mov ebx, edx
mov ebp, dword [edx + 0xb78]
test ebp, ebp
je 0x44b925
mov dword [esp + 0x44], ecx
lea edi, [esp + 0x2c]
xor eax, eax
call fcn.004595ea
mov ecx, dword [esp + 0x44]
mov ebx, dword [ecx + 0x50]
mov ebp, dword [ecx + 0x54]
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebp
mov ebx, dword [ecx + 0x78]
mov ecx, dword [ecx + 0x7c]
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], ecx
mov eax, dword [edx + 0xb78]
cmp eax, 4
jae 0x44b9e6
lea ecx, [0x56ddf4]
lea eax, [ecx + eax*8]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x40], eax
mov byte [esp], 0x29
mov dword [esp + 4], 0xffffffff
lea eax, [esp + 0x2c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 3
mov dword [esp + 0x10], 3
call fcn.0044a670
add esp, 0x48
ret
cmp dword [ecx + 0x80], ebx
jne 0x44b976
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
mov eax, dword [ecx + 0x50]
mov ecx, dword [ecx + 0x54]
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ecx
mov byte [esp], 0x26
mov dword [esp + 4], 0xffffffff
lea eax, [esp + 0x14]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.0044a670
jmp 0x44b921
mov dword [ecx + 0x80], ebx
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 0
mov dword [esp + 0x28], 0
mov eax, dword [ecx + 0x50]
mov edx, dword [ecx + 0x54]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], edx
mov eax, dword [ecx + 0x78]
mov ecx, dword [ecx + 0x7c]
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], ecx
mov byte [esp], 0xe
mov dword [esp + 4], 0xffffffff
lea eax, [esp + 0x1c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.0044a670
jmp 0x44b921
mov ecx, 4
call fcn.00459460
nop
call fcn.00457e80
jmp fcn.0044b850
Function at 0x44bc60
Capabilities:
Access peb ldr_data
Get kernel32 base address

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x44bd75
sub esp, 0x2c
mov ecx, dword [esp + 0x34]
test ecx, ecx
setne dl
mov ebx, dword [esp + 0x30]
test ebx, ebx
xchg ebp, ebx
setne bl
xchg ebp, ebx
or edx, ebp
test dl, dl
je 0x44bd6a
cmp dword [0x565d98], ebx
seta dl
mov ebp, dword [0x565d9c]
cmp ecx, ebp
sete cl
xchg ebp, ebx
setl bl
xchg ebp, ebx
and ecx, edx
or ebp, ecx
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x44bd6a
xor eax, eax
xor ecx, ecx
mov dword [esp + 0x30], ecx
mov edx, dword fs:[0x14]
mov edx, dword [edx]
mov edx, dword [edx + 0x18]
mov edx, dword [edx + 0x4c]
mov ebx, dword [edx + 0x78]
add ebx, 1
mov ebp, dword [edx + 0x7c]
mov dword [edx + 0x78], ebx
adc ebp, 0
mov dword [edx + 0x7c], ebp
mov ebx, dword [edx + 0x18]
mov ebx, dword [ebx + 0x54]
mov dword [edx + 0x80], ebx
lea edi, [esp + 0x14]
mov ebx, eax
xor eax, eax
call fcn.004595ea
mov ecx, dword [edx + 0x50]
mov ebp, dword [edx + 0x54]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], ebp
mov ecx, dword [edx + 0x78]
mov edx, dword [edx + 0x7c]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], edx
mov ecx, dword [esp + 0x30]
shr ecx, 6
mov edx, ebx
shl ebx, 0x1a
or ecx, ebx
mov dword [esp + 0x24], ecx
shr edx, 6
mov dword [esp + 0x28], edx
mov byte [esp], 0x1d
mov dword [esp + 4], 0xffffffff
lea ecx, [esp + 0x14]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 3
mov dword [esp + 0x10], 3
call fcn.0044a670
add esp, 0x2c
ret
mov eax, dword [esp + 0x34]
mov ecx, ebx
jmp 0x44bcc6
call fcn.00457e80
jmp fcn.0044bc60
Function at 0x44e4f0
Capabilities:
Access peb ldr_data
Get kernel32 base address

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x44e58f
sub esp, 0x30
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
mov dword [esp + 8], ecx
mov dword [esp + 4], 0
lea edi, [esp + 0xc]
xor eax, eax
call fcn.004595e7
lea ecx, [0x454da0]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x10], ecx
lea ecx, [esp + 0x34]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 8]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x28], ecx
lea ecx, [esp + 4]
mov dword [esp + 0x2c], ecx
lea ecx, [esp + 0xc]
mov dword [esp], ecx
call fcn.00457d60
mov ecx, dword [esp + 4]
mov dword [esp + 0x44], ecx
add esp, 0x30
ret
call fcn.00457e80
jmp fcn.0044e4f0
Function at 0x459290
Capabilities:
Encrypt data using aes via x86 extensions
Hash data using murmur3

Disassembly:
movd xmm0, dword [esp + 8]
pinsrw xmm0, ebx, 4
pshufhw xmm0, xmm0, 0
movdqa xmm1, xmm0
pxor xmm0, xmmword [0x579c40]
aesenc xmm0, xmm0
cmp ebx, 0x10
jb 0x45790b
je 0x45795a
cmp ebx, 0x20
jbe 0x457960
cmp ebx, 0x40
jbe 0x45799e
jmp 0x457a2f
test ebx, ebx
je 0x457950
add eax, 0x10
test ax, 0xff0
je 0x45793c
movdqu xmm1, xmmword [eax - 0x10]
add ebx, ebx
pand xmm1, xmmword [ebx*8 + 0x4e9420]
aesenc xmm1, xmm0
aesenc xmm1, xmm1
aesenc xmm1, xmm1
movd dword [edx], xmm1
ret
movdqu xmm1, xmmword [eax + ebx - 0x20]
add ebx, ebx
pshufb xmm1, xmmword [ebx*8 + 0x4e9520]
jmp 0x457928
aesenc xmm0, xmm0
movd dword [edx], xmm0
ret
movdqu xmm1, xmmword [eax]
jmp 0x457928
pxor xmm1, xmmword [0x579c50]
aesenc xmm1, xmm1
movdqu xmm2, xmmword [eax]
movdqu xmm3, xmmword [eax + ebx - 0x10]
aesenc xmm2, xmm0
aesenc xmm3, xmm1
aesenc xmm2, xmm2
aesenc xmm3, xmm3
aesenc xmm2, xmm2
aesenc xmm3, xmm3
pxor xmm2, xmm3
movd dword [edx], xmm2
ret
movdqa xmm2, xmm1
movdqa xmm3, xmm1
pxor xmm1, xmmword [0x579c50]
pxor xmm2, xmmword [0x579c60]
pxor xmm3, xmmword [0x579c70]
aesenc xmm1, xmm1
aesenc xmm2, xmm2
aesenc xmm3, xmm3
movdqu xmm4, xmmword [eax]
movdqu xmm5, xmmword [eax + 0x10]
movdqu xmm6, xmmword [eax + ebx - 0x20]
movdqu xmm7, xmmword [eax + ebx - 0x10]
aesenc xmm4, xmm0
aesenc xmm5, xmm1
aesenc xmm6, xmm2
aesenc xmm7, xmm3
aesenc xmm4, xmm4
aesenc xmm5, xmm5
aesenc xmm6, xmm6
aesenc xmm7, xmm7
aesenc xmm4, xmm4
aesenc xmm5, xmm5
aesenc xmm6, xmm6
aesenc xmm7, xmm7
pxor xmm4, xmm6
pxor xmm5, xmm7
pxor xmm4, xmm5
movd dword [edx], xmm4
ret
movdqa xmm2, xmm1
movdqa xmm3, xmm1
pxor xmm1, xmmword [0x579c50]
pxor xmm2, xmmword [0x579c60]
pxor xmm3, xmmword [0x579c70]
aesenc xmm1, xmm1
aesenc xmm2, xmm2
aesenc xmm3, xmm3
movdqu xmm4, xmmword [eax + ebx - 0x40]
movdqu xmm5, xmmword [eax + ebx - 0x30]
movdqu xmm6, xmmword [eax + ebx - 0x20]
movdqu xmm7, xmmword [eax + ebx - 0x10]
aesenc xmm4, xmm0
aesenc xmm5, xmm1
aesenc xmm6, xmm2
aesenc xmm7, xmm3
dec ebx
shr ebx, 6
movdqu xmm0, xmmword [eax]
movdqu xmm1, xmmword [eax + 0x10]
movdqu xmm2, xmmword [eax + 0x20]
movdqu xmm3, xmmword [eax + 0x30]
aesenc xmm4, xmm0
aesenc xmm5, xmm1
aesenc xmm6, xmm2
aesenc xmm7, xmm3
aesenc xmm4, xmm4
aesenc xmm5, xmm5
aesenc xmm6, xmm6
aesenc xmm7, xmm7
add eax, 0x40
dec ebx
jne 0x457a8e
aesenc xmm4, xmm4
aesenc xmm5, xmm5
aesenc xmm6, xmm6
aesenc xmm7, xmm7
aesenc xmm4, xmm4
aesenc xmm5, xmm5
aesenc xmm6, xmm6
aesenc xmm7, xmm7
pxor xmm4, xmm6
pxor xmm5, xmm7
pxor xmm4, xmm5
movd dword [edx], xmm4
ret
cmp byte [0x5799d0], 0
je 0x4592aa
mov eax, dword [esp + 4]
mov ebx, dword [esp + 0xc]
lea edx, [esp + 0x10]
jmp 0x4578d0
jmp fcn.004078c0
Function at 0x4592b0
Capabilities:
Encrypt data using aes via x86 extensions

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x4024ee
sub esp, 0x10
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp], ecx
mov ecx, dword [esp + 0x18]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.004078c0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x1c], eax
add esp, 0x10
ret
call fcn.00457e80
jmp 0x4024b0
cmp byte [0x5799d0], 0
je 0x4592cb
mov eax, dword [esp + 4]
mov ebx, dword [eax + 4]
mov eax, dword [eax]
lea edx, [esp + 0xc]
jmp 0x4578d0
jmp 0x4024b0

Function at 0x4592d0
Capabilities:
Hash data using murmur3

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x407afc
mov eax, dword [0x579b90]
mov ecx, dword [esp + 4]
mov ecx, dword [ecx]
mov edx, dword [esp + 8]
lea eax, [edx + eax*4]
xor ecx, eax
imul eax, ecx, 0xbce2d621
rol eax, 0xf
imul eax, eax, 0xc70f85e1
mov ecx, eax
shr eax, 0x11
xor eax, ecx
imul eax, eax, 0x319bca41
mov ecx, eax
shr eax, 0xd
xor eax, ecx
imul eax, eax, 0x8b421a21
mov ecx, eax
shr eax, 0x10
xor eax, ecx
mov dword [esp + 0xc], eax
ret
call fcn.00457e80
jmp 0x407aa0
cmp byte [0x5799d0], 0
je 0x45930b
mov eax, dword [esp + 4]
movd xmm0, dword [esp + 8]
pinsrd xmm0, dword [eax], 1
aesenc xmm0, xmmword [0x579c40]
aesenc xmm0, xmmword [0x579c50]
aesenc xmm0, xmmword [0x579c60]
movd dword [esp + 0xc], xmm0
ret
jmp 0x407aa0

Function at 0x459310
Capabilities:
Hash data using murmur3

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x407b80
mov eax, dword [0x579b90]
mov ecx, dword [esp + 4]
mov edx, dword [ecx]
mov ecx, dword [ecx + 4]
mov ebx, dword [esp + 8]
lea eax, [ebx + eax*8]
xor edx, eax
imul eax, edx, 0xbce2d621
rol eax, 0xf
imul eax, eax, 0xc70f85e1
xor ecx, eax
imul eax, ecx, 0xbce2d621
rol eax, 0xf
imul eax, eax, 0xc70f85e1
mov ecx, eax
shr eax, 0x11
xor eax, ecx
imul eax, eax, 0x319bca41
mov ecx, eax
shr eax, 0xd
xor eax, ecx
imul eax, eax, 0x8b421a21
mov ecx, eax
shr eax, 0x10
xor eax, ecx
mov dword [esp + 0xc], eax
ret
call fcn.00457e80
jmp 0x407b10
cmp byte [0x5799d0], 0
je 0x45934b
mov eax, dword [esp + 4]
movq xmm0, qword [eax]
pinsrd xmm0, dword [esp + 8], 2
aesenc xmm0, xmmword [0x579c40]
aesenc xmm0, xmmword [0x579c50]
aesenc xmm0, xmmword [0x579c60]
movd dword [esp + 0xc], xmm0
ret
jmp 0x407b10

Function at 0x45a010
Capabilities:
Access peb ldr_data

Disassembly:
mov ecx, dword [esp + 4]
mov edx, dword [ecx]
mov eax, esp
mov dword [edx + 4], eax
sub eax, 0x10000
mov dword [edx], eax
add eax, 0xba0
mov dword [edx + 8], eax
mov dword [edx + 0xc], eax
lea esi, [ecx + 0x30]
mov dword fs:[0x14], esi
mov dword [edx + 0x18], ecx
mov dword [esi], edx
cld
call fcn.00459210
call fcn.00434f80
ret
Function at 0x45a090
Capabilities:
Write file on windows

Disassembly:
sub esp, 0x18
mov dword [esp], 0xfffffff4
mov ebp, esp
call dword [sym.imp.kernel32.dll_GetStdHandle]
mov esp, ebp
mov dword [esp], eax
mov edx, 0x579d80
mov dword [esp + 4], edx
mov edx, dword [0x5799fc]
mov dword [esp + 8], edx
lea edx, [esp + 0x14]
mov dword [edx], 0
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], 0
call dword [sym.imp.kernel32.dll_WriteFile]
mov esi, ebp
add esp, 0x18
ret

Function at 0x45a130
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
push edi
push dword fs:[0x14]
mov edx, esp
sub esp, 0x230
mov dword [esp], esp
mov dword [esp + 4], 0x230
call fcn.00459b10
lea ecx, [esp + 0x30]
mov dword fs:[0x14], ecx
mov ebx, esp
sub esp, 0xd8
mov dword [ecx], esp
mov dword [ebx], esp
mov dword [esp], esp
mov dword [esp + 4], 0xd8
call fcn.00459b10
lea ebx, [esp + 0xd8]
mov dword [esp + 0x18], ebx
lea ecx, [esp - 0x8000]
mov dword [esp], ecx
add ecx, 0xba0
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ecx
mov dword [esp + 4], edx
push eax
push dword [ebp + 0x10]
call dword [ebp + 8]
pop ecx
pop eax
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
mov esp, dword [ecx + 4]
pop dword fs:[0x14]
pop edi
pop esi
pop ebx
pop ebp
ret
Function at 0x471a30
Capabilities:
Hash data using fnv

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x471a68
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 4]
xor ebx, ebx
jmp 0x471a5f
movzx ebp, byte [eax + ebx]
inc ebx
imul edx, edx, 0x1000193
xor edx, ebp
cmp ecx, ebx
jg 0x471a52
mov dword [esp + 0x14], edx
ret
call fcn.00457e80
jmp fcn.00471a30
Function at 0x8a9058
Capabilities:
Decompress data using aplib

Disassembly:
call fcn.008a91a8
push ebx
mov ebx, esp
push ebx
mov esi, dword [ebx + 8]
mov edi, dword [ebx + 0x10]
cld
mov dl, pe_nt_image_headers32
mov al, byte [esi]
inc esi
mov byte [edi], al
inc edi
mov ebx, 2
add dl, dl
jne 0x8a907e
mov dl, byte [esi]
inc esi
adc dl, dl
jae 0x8a906a
add dl, dl
jne 0x8a9089
mov dl, byte [esi]
inc esi
adc dl, dl
jae 0x8a90dc
xor eax, eax
add dl, dl
jne 0x8a9096
mov dl, byte [esi]
inc esi
adc dl, dl
jae 0x8a917d
add dl, dl
jne 0x8a90a5
mov dl, byte [esi]
inc esi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x8a90b0
mov dl, byte [esi]
inc esi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x8a90bb
mov dl, byte [esi]
inc esi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x8a90c6
mov dl, byte [esi]
inc esi
adc dl, dl
adc eax, eax
je 0x8a90d2
push edi
mov eax, eax
sub edi, eax
mov al, byte [edi]
pop edi
mov byte [edi], al
inc edi
mov ebx, 2
jmp 0x8a9075
mov eax, 1
add dl, dl
jne 0x8a90ea
mov dl, byte [esi]
inc esi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x8a90f5
mov dl, byte [esi]
inc esi
adc dl, dl
jb 0x8a90e1
sub eax, ebx
mov ebx, 1
jne 0x8a9128
mov ecx, 1
add dl, dl
jne 0x8a910e
mov dl, byte [esi]
inc esi
adc dl, dl
adc ecx, ecx
add dl, dl
jne 0x8a9119
mov dl, byte [esi]
inc esi
adc dl, dl
jb 0x8a9105
push esi
mov esi, edi
sub esi, ebp
rep movsb byte es:[edi], byte [esi]
pop esi
jmp 0x8a9075
dec eax
shl eax, 8
mov al, byte [esi]
inc esi
mov ebp, eax
mov ecx, 1
add dl, dl
jne 0x8a913f
mov dl, byte [esi]
inc esi
adc dl, dl
adc ecx, ecx
add dl, dl
jne 0x8a914a
mov dl, byte [esi]
inc esi
adc dl, dl
jb 0x8a9136
cmp eax, 0x7d00
jae 0x8a916d
cmp eax, 0x500
jb 0x8a9168
inc ecx
push esi
mov esi, edi
sub esi, eax
rep movsb byte es:[edi], byte [esi]
pop esi
jmp 0x8a9075
cmp eax, 0x7f
ja 0x8a9170
add ecx, 2
push esi
mov esi, edi
sub esi, eax
rep movsb byte es:[edi], byte [esi]
pop esi
jmp 0x8a9075
mov al, byte [esi]
inc esi
xor ecx, ecx
shr al, 1
je 0x8a919e
adc ecx, 2
mov ebp, eax
push esi
mov esi, edi
sub esi, eax
rep movsb byte es:[edi], byte [esi]
pop esi
mov ebx, 1
jmp 0x8a9075
pop ebx
sub edi, dword [ebx + 0x10]
mov eax, edi
pop ebx
ret 0x10