joyce8/EMBER2024-capa huggingface dataset:
Function at 0x409cb0
Capabilities:
Decompress data using quicklz

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x409e74
sub esp, 0x34
mov eax, dword [esp + 0x38]
cmp eax, 0x7000000
jle 0x409e59
mov eax, 0x7000000
mov dword [esp + 0x38], eax
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
mov ecx, dword [ecx + 0x18]
mov edx, dword [ecx + 0x90]
mov ebx, dword [ecx + 0x94]
mov dword [ecx + 0x90], ebx
mov ebp, edx
shl edx, 0x11
xor edx, ebp
mov ebp, ebx
xor ebx, edx
shr edx, 7
xor edx, ebx
mov ebx, ebp
shr ebp, 0x10
xor ebp, edx
mov dword [ecx + 0x94], ebp
lea ecx, [ebp + ebx]
and ecx, 0x3ffffff
inc ecx
mov dword [esp], ecx
call fcn.0044b480
movsd xmm0, qword [esp + 4]
movsd qword [esp + 0x24], xmm0
mov eax, dword [esp + 0x28]
mov ecx, eax
shr eax, 0x14
and eax, 0x7ff
mov edx, eax
add eax, 0xfffffc01
mov ebx, ecx
shr ecx, 0xf
and ecx, 0x1f
mov ebp, ecx
add ecx, 1
mov esi, dword [esp + 0x24]
shr esi, 0x1b
shl ebx, 5
or esi, ebx
mov ebx, ebp
add ebp, 1
mov ebp, 0
adc ebp, 0
test ebp, ebp
jne 0x409e6d
cmp ecx, 0x21
jae 0x409e6d
mov dword [esp + 0x10], esi
lea ebp, [0x8448a0]
movsd xmm0, qword [ebp + ebx*8]
movsd qword [esp + 0x14], xmm0
movsd xmm1, qword [ebp + ecx*8]
movsd qword [esp + 0x1c], xmm1
mov dword [esp], eax
add edx, 0xfffffc01
mov eax, 0xffffffff
adc eax, 0
mov dword [esp + 4], eax
call fcn.00446d70
mov eax, dword [esp + 0x10]
and eax, 0xfffff
movsd xmm0, qword [esp + 8]
movsd qword [esp + 0x2c], xmm0
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.00446e60
movsd xmm0, qword [esp + 0x2c]
movsd xmm1, qword [esp + 0x14]
addsd xmm0, xmm1
movsd xmm2, qword [esp + 0x1c]
subsd xmm2, xmm1
mulsd xmm2, qword [esp + 8]
movsd xmm1, qword [0x6c7b48]
mulsd xmm1, xmm2
addsd xmm0, xmm1
movsd xmm1, qword [0x6c7bb8]
subsd xmm0, xmm1
xorps xmm1, xmm1
ucomisd xmm0, xmm1
jbe 0x409e34
xorps xmm0, xmm0
mov eax, dword [esp + 0x38]
cvtsi2sd xmm1, eax
movsd xmm2, qword [0x6c7bf8]
mulsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
inc eax
mov dword [esp + 0x3c], eax
add esp, 0x34
ret
test eax, eax
jne 0x409cdd
mov dword [esp + 0x3c], 0
add esp, 0x34
ret
call fcn.004258a0
ud2
call fcn.00449d70
jmp fcn.00409cb0
Function at 0x40fec0
Capabilities:
Access peb ldr_data

Disassembly:
sub esp, 0x24
mov eax, dword fs:[0x14]
mov eax, dword [eax]
mov eax, dword [eax + 0x18]
mov edx, dword [eax + 0x54]
mov dword [esp + 0x20], edx
test byte [edx], al
test byte [eax], al
mov ecx, dword [esp + 0x34]
mov eax, ecx
shr ecx, 2
shr eax, 5
and ecx, 7
mov ebx, 1
shl ebx, cl
lea ebp, [edx + 0x978]
mov dword [esp + 0x18], ebp
mov esi, dword [esp + 0x38]
add eax, esi
mov esi, dword [esp + 0x30]
mov edi, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x10], eax
xor eax, eax
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x10]
jmp 0x40ff31
add eax, 4
mov edx, dword [esp + 0x20]
mov dword [esp + 0xc], eax
mov eax, ebp
mov ebp, dword [esp + 0x18]
mov edx, dword [esp + 0xc]
cmp edx, esi
jae 0x41005f
test bl, bl
jne 0x410056
lea ebp, [eax + 1]
test byte [ebp], al
movzx eax, byte [eax + 1]
test al, al
jne 0x40ff58
lea eax, [edx + 0x1c]
jmp 0x40ff20
mov eax, 1
movzx ebx, byte [ebp]
test bl, al
je 0x41004d
mov dword [esp + 0x1c], ebp
mov byte [esp + 0xb], al
lea ebx, [edx + ecx]
test edi, edi
jne 0x40ffea
mov edi, dword [esp + 0x18]
test byte [edi], al
mov edi, dword [esp + 0x20]
mov ecx, dword [edi + 0x978]
mov ebx, dword [ebx]
mov dword [ecx], ebx
mov dword [ecx + 4], 0
mov ecx, dword [edi + 0x978]
add ecx, 8
mov dword [edi + 0x978], ecx
mov ebx, dword [edi + 0x97c]
cmp ebx, ecx
je 0x40ffbf
shl eax, 1
mov ecx, dword [esp + 0x28]
mov edi, dword [esp + 0x2c]
mov ebx, eax
mov eax, edx
jmp 0x40ff20
mov dword [esp], 0
mov dword [esp + 4], 0
call fcn.00421f30
movzx eax, byte [esp + 0xb]
mov edx, dword [esp + 0xc]
mov ebp, dword [esp + 0x1c]
mov esi, dword [esp + 0x30]
mov edi, dword [esp + 0x20]
jmp 0x40ffac
add edi, edx
mov ecx, dword [esp + 0x18]
test byte [ecx], al
mov ecx, dword [esp + 0x20]
mov esi, dword [ecx + 0x978]
mov ebx, dword [ebx]
mov edi, dword [edi]
mov dword [esi], ebx
mov dword [esi + 4], edi
mov ebx, dword [ecx + 0x978]
add ebx, 8
mov dword [ecx + 0x978], ebx
mov esi, dword [ecx + 0x97c]
cmp esi, ebx
je 0x410026
mov esi, dword [esp + 0x30]
mov edi, ecx
jmp 0x40ffac
mov dword [esp], 0
mov dword [esp + 4], 0
call fcn.00421f30
movzx eax, byte [esp + 0xb]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0xc]
mov ebp, dword [esp + 0x1c]
jmp 0x41001e
mov edi, dword [esp + 0x20]
jmp 0x40ffac
mov ebp, eax
mov eax, ebx
jmp 0x40ff5d
add esp, 0x24
ret
Function at 0x412910
Capabilities:
Check for software breakpoints

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x412b1c
sub esp, 0x18
mov eax, dword [0x881980]
test eax, eax
jne 0x412b04
lea eax, [0x881970]
mov dword [esp], eax
call fcn.00407cc0
mov eax, dword [0x86f888]
test eax, eax
je 0x41295d
mov eax, dword [eax + 8]
cmp eax, 0xcc
jne 0x412a24
mov eax, dword [0x86f880]
test eax, eax
jne 0x412a06
mov dword [esp], 0x1000
mov dword [esp + 4], 0
lea eax, [0x8839d8]
mov dword [esp + 8], eax
call fcn.00409e80
mov eax, dword [esp + 0xc]
mov dword [0x86f880], eax
mov ecx, dword [0x86f85c]
mov dword [eax], ecx
mov eax, dword [0x86f880]
mov dword [0x86f85c], eax
movzx eax, byte [0x881d60]
test al, al
jne 0x412a06
xor eax, eax
jmp 0x4129c3
lea ebp, [0x881d60]
mov byte [ebp + edx], bl
lea eax, [edx + 1]
cmp eax, 0x80
jge 0x412a06
mov ecx, eax
mov eax, 0xcccccccd
imul ecx
add edx, ecx
sar edx, 2
mov ebx, ecx
sar ecx, 0x1f
sub edx, ecx
lea ecx, [edx + edx*4]
mov edx, ebx
sub ebx, ecx
cmp ebx, 5
jae 0x412afd
lea ecx, [0x83f110]
movzx ebx, byte [ecx + ebx]
cmp edx, 0x80
jb 0x4129b6
jmp 0x412afd
mov eax, dword [0x86f880]
mov ecx, dword [eax + 4]
mov dword [0x86f880], ecx
mov ecx, dword [0x86f888]
mov dword [eax + 4], ecx
mov dword [0x86f888], eax
mov eax, dword [0x86f888]
mov ecx, dword [eax + 8]
cmp ecx, 0xcc
jae 0x412af6
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], ecx
lea ecx, [eax + 8]
mov dword [esp], ecx
mov dword [esp + 4], 1
call fcn.00401e70
mov eax, dword [esp + 0x10]
lea eax, [eax + eax*4]
mov ecx, dword [esp + 0x14]
lea edi, [ecx + eax*4 + 0x10]
mov edx, dword [0x881b80]
lea ebx, [ecx + eax*4 + 0x1c]
lea ebp, [ecx + eax*4 + 0x20]
lea esi, [ecx + eax*4 + 0x14]
test edx, edx
jne 0x412ae7
mov edx, dword [esp + 0x20]
mov dword [ecx + eax*4 + 0x10], edx
mov edx, dword [esp + 0x24]
mov dword [ecx + eax*4 + 0x18], edx
mov edx, dword [0x881b80]
test edx, edx
jne 0x412ac4
mov edx, dword [esp + 0x28]
mov dword [ecx + eax*4 + 0x1c], edx
mov edx, dword [esp + 0x2c]
mov dword [ecx + eax*4 + 0x20], edx
mov edx, dword [esp + 0x1c]
mov dword [ecx + eax*4 + 0x14], edx
mov byte [0x8818f4], 1
lea eax, [0x881970]
mov dword [esp], eax
call fcn.00407e90
add esp, 0x18
ret
mov edi, ebx
mov eax, dword [esp + 0x28]
call fcn.0044b4d0
mov edi, ebp
mov eax, dword [esp + 0x2c]
call fcn.0044b4d0
mov edi, esi
mov eax, dword [esp + 0x1c]
call fcn.0044b4d0
jmp 0x412aab
mov edx, eax
mov eax, dword [esp + 0x20]
call fcn.0044b4d0
mov eax, edx
jmp 0x412a81
call fcn.004258a0
ud2
call fcn.004258a0
ud2
lea eax, [0x683293]
mov dword [esp], eax
mov dword [esp + 4], 0x18
call fcn.00426cb0
ud2
call fcn.00449d70
jmp fcn.00412910
Function at 0x4189b0
Capabilities:
Enumerate pe sections

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x418b9e
sub esp, 0x34
movzx eax, byte [0x870c48]
test al, al
jne 0x418b86
mov eax, dword [0x873410]
mov dword [esp + 0x18], eax
shr eax, 1
and eax, 1
lea eax, [eax + eax*4]
lea edx, [0x873428]
lea eax, [edx + eax*4]
mov dword [esp], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 4], eax
call fcn.0041c990
mov eax, dword [esp + 0xc]
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x24], ecx
mov edx, dword [esp + 0x18]
xor ebx, ebx
jmp 0x418a1c
inc ebx
cmp ebx, eax
jge 0x418b0d
mov ebp, dword [ecx + ebx*4]
movzx esi, byte [ebp + 0x3c]
xchg esi, eax
cmp al, 1
xchg esi, eax
jne 0x418a1b
movzx esi, byte [0x881904]
xchg esi, eax
test al, al
xchg esi, eax
je 0x418b00
mov esi, dword [ebp + 0x58]
test esi, esi
je 0x418a1b
mov dword [esp + 0x20], ebx
mov dword [esp + 0x28], ebp
lea eax, [ebp + 0x54]
mov dword [esp + 0x30], eax
mov dword [esp], eax
call fcn.00407cc0
mov eax, dword [esp + 0x28]
mov ecx, dword [eax + 0x58]
jmp 0x418a6c
mov ecx, dword [ecx]
test ecx, ecx
je 0x418adf
movzx edx, byte [ecx + 6]
cmp dl, 1
jne 0x418a6a
movzx edx, word [ecx + 4]
mov ebx, dword [eax + 0x40]
mov ebp, dword [eax + 0xc]
test ebx, ebx
je 0x418b11
mov dword [esp + 0x2c], ecx
mov eax, edx
xor edx, edx
div ebx
imul eax, ebx
lea ecx, [ebp + eax]
mov dword [esp], ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 4], ecx
call fcn.0041a660
mov ecx, dword [esp + 0x2c]
lea edx, [ecx + 8]
lea ebx, [0x83f0a1]
mov dword [esp + 8], ebx
mov dword [esp], edx
mov dword [esp + 4], 4
mov edx, dword [esp + 0x38]
mov dword [esp + 0xc], edx
call fcn.0041a560
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
jmp 0x418a6a
mov eax, dword [esp + 0x30]
mov dword [esp], eax
call fcn.00407e90
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x20]
jmp 0x418a1b
mov esi, dword [ebp + 0x30]
cmp esi, edx
je 0x418a43
jmp 0x418b18
add esp, 0x34
ret
call fcn.00425aa0
ud2
mov dword [esp + 0x1c], esi
call fcn.00427570
lea eax, [0x67cb52]
mov dword [esp], eax
mov dword [esp + 4], 6
call fcn.00427df0
mov eax, dword [esp + 0x1c]
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.00427b10
call fcn.00427740
mov eax, dword [esp + 0x18]
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.00427b10
call fcn.00427780
call fcn.004275e0
lea eax, [0x67fb88]
mov dword [esp], eax
mov dword [esp + 4], 0x10
call fcn.00426cb0
ud2
lea eax, [0x687f3a]
mov dword [esp], eax
mov dword [esp + 4], 0x24
call fcn.00426cb0
ud2
call fcn.00449d70
jmp fcn.004189b0
Function at 0x420510
Capabilities:
Enumerate pe sections

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x420628
sub esp, 0x14
mov eax, dword [esp + 0x18]
movzx ecx, byte [eax + 6]
cmp cl, 1
je 0x42059e
cmp cl, 2
jne 0x420610
mov ecx, dword [eax + 8]
mov dword [esp], ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 4], ecx
call fcn.00421170
lea eax, [0x875904]
mov dword [esp], eax
call fcn.00407cc0
lea eax, [0x8758e0]
test byte [eax], al
mov eax, dword [0x8758f8]
sub eax, dword [0x8758e0]
mov dword [0x8758f8], eax
mov eax, dword [0x8758ec]
mov ecx, dword [esp + 0x18]
mov dword [ecx], eax
mov dword [0x8758ec], ecx
lea eax, [0x875904]
mov dword [esp], eax
call fcn.00407e90
add esp, 0x14
ret
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
mov ebx, dword [eax + 0x10]
mov ebp, dword [eax + 0x14]
mov dword [esp + 0x10], ebp
mov ebp, dword [esp + 0x1c]
mov dword [esp], ebp
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
call fcn.00412910
lea eax, [0x875904]
mov dword [esp], eax
call fcn.00407cc0
lea eax, [0x8758bc]
test byte [eax], al
mov eax, dword [0x8758d4]
sub eax, dword [0x8758bc]
mov dword [0x8758d4], eax
mov eax, dword [0x8758c8]
mov ecx, dword [esp + 0x18]
mov dword [ecx], eax
mov dword [0x8758c8], ecx
lea eax, [0x875904]
mov dword [esp], eax
call fcn.00407e90
jmp 0x42059a
lea eax, [0x67fb08]
mov dword [esp], eax
mov dword [esp + 4], 0x10
call fcn.00426cb0
ud2
call fcn.00449d70
jmp fcn.00420510
Function at 0x43e280
Capabilities:
Access peb ldr_data

Disassembly:
sub esp, 0x10
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], 0
mov eax, dword fs:[0x14]
mov eax, dword [eax]
mov eax, dword [eax + 0x18]
mov ecx, dword [eax + 0x148]
inc ecx
mov dword [eax + 0x148], ecx
mov eax, dword fs:[0x14]
mov eax, dword [eax]
mov ecx, dword [eax + 0x18]
lea edx, [ecx + 0xc0]
test byte [edx], al
mov edx, eax
mov dword [ecx + 0xc0], eax
lea eax, [edx + 0x84]
test byte [eax], al
mov eax, dword [edx + 0x18]
mov dword [edx + 0x84], eax
mov dword [esp], 0
lea eax, [0x692b14]
mov dword [esp + 4], eax
call fcn.00425c60
test eax, eax
jne 0x43e37b
mov eax, dword fs:[0x14]
mov eax, dword [eax]
mov eax, dword [eax + 0x18]
mov dword [esp + 0xc], eax
lea ecx, [eax + 0x194]
test byte [ecx], al
mov edx, dword [esp + 0x14]
mov dword [eax + 0x194], edx
mov edx, dword [esp + 0x18]
mov dword [eax + 0x198], edx
lea edx, [esp + 0x1c]
mov dword [eax + 0x19c], edx
mov edx, dword [0x86f868]
mov dword [esp], edx
mov dword [esp + 4], ecx
call fcn.004031f0
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 0x1a0]
mov edx, dword [eax + 0x1a4]
mov eax, dword [eax + 0x1a8]
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], edx
mov dword [esp + 0x30], eax
nop
call fcn.00426420
add esp, 0x10
ret
nop
call fcn.00426420
add esp, 0x10
ret
Function at 0x4409e0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x440b7f
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 + 0x950]
cmp ecx, ebp
jne 0x440ab5
mov dword [esp + 0x44], ecx
lea edi, [esp + 0x2c]
xor eax, eax
call fcn.0044b5ca
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 + 0x7c]
mov ecx, dword [ecx + 0x78]
mov dword [esp + 0x34], ecx
mov dword [esp + 0x38], ebx
mov ecx, dword [edx + 0x954]
cmp ecx, 3
jae 0x440b78
lea eax, [0x881874]
lea eax, [eax + ecx*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.0043f7b0
add esp, 0x48
ret
mov eax, dword [ecx + 0x80]
cmp eax, ebx
jne 0x440b08
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.0043f7b0
jmp 0x440ab1
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 + 0x7c]
mov ecx, dword [ecx + 0x78]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], eax
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.0043f7b0
jmp 0x440ab1
call fcn.004258a0
ud2
call fcn.00449d70
jmp fcn.004409e0
Function at 0x443ae0
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 0x443b7f
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.0044b5c7
lea ecx, [0x449730]
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.00449c50
mov ecx, dword [esp + 4]
mov dword [esp + 0x44], ecx
add esp, 0x30
ret
call fcn.00449d70
jmp fcn.00443ae0
Function at 0x44b140
Capabilities:
Encrypt data using aes via x86 extensions

Disassembly:
mov eax, dword [esp + 4]
mov ebx, dword [esp + 0xc]
lea edx, [esp + 0x10]
jmp 0x44b180
movd xmm0, dword [esp + 8]
pinsrw xmm0, ebx, 4
pshufhw xmm0, xmm0, 0
movdqa xmm1, xmm0
pxor xmm0, xmmword [0x881c60]
aesenc xmm0, xmm0
cmp ebx, 0x10
jb 0x44b1bb
je 0x44b20a
cmp ebx, 0x20
jbe 0x44b210
cmp ebx, 0x40
jbe 0x44b24e
jmp 0x44b2df
test ebx, ebx
je 0x44b200
add eax, 0x10
test ax, 0xff0
je 0x44b1ec
movdqu xmm1, xmmword [eax - 0x10]
add ebx, ebx
pand xmm1, xmmword [ebx*8 + 0x6cca20]
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 + 0x6ccb20]
jmp 0x44b1d8
aesenc xmm0, xmm0
movd dword [edx], xmm0
ret
movdqu xmm1, xmmword [eax]
jmp 0x44b1d8
pxor xmm1, xmmword [0x881c70]
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 [0x881c70]
pxor xmm2, xmmword [0x881c80]
pxor xmm3, xmmword [0x881c90]
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 [0x881c70]
pxor xmm2, xmmword [0x881c80]
pxor xmm3, xmmword [0x881c90]
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 0x44b33e
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
Function at 0x44c010
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, 0x1b8
mov dword [esp], esp
mov dword [esp + 4], 0x1b8
call fcn.0044baf0
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.0044baf0
lea ebx, [esp + 0xd8]
mov dword [esp + 0x18], ebx
lea ecx, [esp - 0x8000]
mov dword [esp], ecx
add ecx, 0xb70
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 0x44c0b0
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, 0xb70
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.0044b090
call fcn.0042aa40
ret
Function at 0x48ff20
Capabilities:
Hash data using fnv

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x48ff5c
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 4]
xor ebx, ebx
jmp 0x48ff53
lea ebp, [ebx + 1]
imul edx, edx, 0x1000193
movzx esi, byte [ecx + ebx]
xor edx, esi
mov ebx, ebp
cmp ebx, eax
jl 0x48ff42
mov dword [esp + 0x14], edx
ret
call fcn.00449d70
jmp fcn.0048ff20
Function at 0x4aed30
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x4aeef5
sub esp, 0x68
mov eax, dword [esp + 0x6c]
test eax, eax
je 0x4aeee0
mov ecx, dword [eax]
lea eax, [0x635280]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ecx
call fcn.00437b60
mov eax, dword [esp + 0xc]
mov dword [esp + 0x34], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x20], ecx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x24], edx
lea edi, [esp + 0x38]
xor eax, eax
call fcn.0044b5c4
lea eax, [0x636ce0]
mov dword [esp], eax
mov ecx, dword [esp + 0x6c]
mov dword [esp + 4], ecx
lea ebp, [esp + 0x38]
mov dword [esp + 8], ebp
call fcn.0040b610
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x20]
xor edx, edx
jmp 0x4aedd5
lea eax, [esp + 0x38]
mov dword [esp], eax
call fcn.0040b890
mov eax, dword [esp + 0x28]
lea edx, [eax + 1]
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x20]
mov ebx, dword [esp + 0x38]
test ebx, ebx
je 0x4aee14
mov ebx, dword [esp + 0x3c]
mov ebx, dword [ebx]
mov ebp, dword [ebx + 4]
mov ebx, dword [ebx]
cmp edx, ecx
jae 0x4aeeee
mov dword [esp + 0x28], edx
lea esi, [eax + edx*8 + 4]
mov dword [esi], ebp
mov ebp, dword [0x881b80]
lea edi, [eax + edx*8]
test ebp, ebp
jne 0x4aee0b
mov dword [edi], ebx
jmp 0x4aedba
mov eax, ebx
call fcn.0044b4d0
jmp 0x4aedba
mov dword [esp], eax
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x24]
mov dword [esp + 8], edx
call fcn.004a7cd0
lea eax, [0x61bf00]
mov dword [esp], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 4], eax
mov dword [esp + 8], eax
call fcn.00437b60
mov eax, dword [esp + 0xc]
mov dword [esp + 0x30], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x18], ecx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x1c], edx
xor ebx, ebx
jmp 0x4aee69
lea ebx, [ecx + 1]
mov eax, ebp
mov ecx, edx
mov edx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x20]
cmp ebx, ebp
jge 0x4aeed0
mov dword [esp + 0x2c], ebx
mov eax, dword [esp + 0x34]
lea ecx, [eax + ebx*8]
mov edx, dword [ecx + 4]
mov ecx, dword [ecx]
lea ebp, [0x636ce0]
mov dword [esp], ebp
mov esi, dword [esp + 0x6c]
mov dword [esp + 4], esi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
call fcn.0040dcb0
mov eax, dword [esp + 0x10]
mov eax, dword [eax]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x18]
cmp ecx, edx
jae 0x4aeee7
mov ebx, dword [0x881b80]
mov ebp, dword [esp + 0x30]
lea edi, [ebp + ecx*4]
test ebx, ebx
jne 0x4aeec9
mov dword [ebp + ecx*4], eax
jmp 0x4aee5e
call fcn.0044b4d0
jmp 0x4aee5e
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], edx
add esp, 0x68
ret
xor ecx, ecx
jmp 0x4aed57
call fcn.004258a0
ud2
call fcn.004258a0
ud2
call fcn.00449d70
jmp fcn.004aed30