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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x440cff
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 0x440c35
mov dword [esp + 0x44], ecx
lea edi, [esp + 0x2c]
xor eax, eax
call fcn.0044b77a
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 0x440cf8
lea eax, [0x7db094]
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.0043f930
add esp, 0x48
ret
mov eax, dword [ecx + 0x80]
cmp eax, ebx
jne 0x440c88
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.0043f930
jmp 0x440c31
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.0043f930
jmp 0x440c31
call fcn.004258a0
ud2
call fcn.00449f20
jmp fcn.00440b60
Function at 0x443c80
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 0x443d1f
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.0044b777
lea ecx, [0x4498e0]
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.00449e00
mov ecx, dword [esp + 4]
mov dword [esp + 0x44], ecx
add esp, 0x30
ret
call fcn.00449f20
jmp fcn.00443c80
Function at 0x44b2f0
Capabilities:
Encrypt data using aes via x86 extensions

Disassembly:
mov eax, dword [esp + 4]
mov ebx, dword [esp + 0xc]
lea edx, [esp + 0x10]
jmp 0x44b330
movd xmm0, dword [esp + 8]
pinsrw xmm0, ebx, 4
pshufhw xmm0, xmm0, 0
movdqa xmm1, xmm0
pxor xmm0, xmmword [0x7db420]
aesenc xmm0, xmm0
cmp ebx, 0x10
jb 0x44b36b
je 0x44b3ba
cmp ebx, 0x20
jbe 0x44b3c0
cmp ebx, 0x40
jbe 0x44b3fe
jmp 0x44b48f
test ebx, ebx
je 0x44b3b0
add eax, 0x10
test ax, 0xff0
je 0x44b39c
movdqu xmm1, xmmword [eax - 0x10]
add ebx, ebx
pand xmm1, xmmword [ebx*8 + 0x6621c0]
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 + 0x6622c0]
jmp 0x44b388
aesenc xmm0, xmm0
movd dword [edx], xmm0
ret
movdqu xmm1, xmmword [eax]
jmp 0x44b388
pxor xmm1, xmmword [0x7db430]
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 [0x7db430]
pxor xmm2, xmmword [0x7db440]
pxor xmm3, xmmword [0x7db450]
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 [0x7db430]
pxor xmm2, xmmword [0x7db440]
pxor xmm3, xmmword [0x7db450]
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 0x44b4ee
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 0x44c1c0
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.0044bca0
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.0044bca0
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 0x44c260
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.0044b240
call fcn.0042aa60
ret
Function at 0x4a7650
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x4a7815
sub esp, 0x68
mov eax, dword [esp + 0x6c]
test eax, eax
je 0x4a7800
mov ecx, dword [eax]
lea eax, [0x5dfce0]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ecx
call fcn.00437b80
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.0044b774
lea eax, [0x5e12a0]
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.0040b5a0
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x20]
xor edx, edx
jmp 0x4a76f5
lea eax, [esp + 0x38]
mov dword [esp], eax
call fcn.0040b820
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 0x4a7734
mov ebx, dword [esp + 0x3c]
mov ebx, dword [ebx]
mov ebp, dword [ebx + 4]
mov ebx, dword [ebx]
cmp edx, ecx
jae 0x4a780e
mov dword [esp + 0x28], edx
lea esi, [eax + edx*8 + 4]
mov dword [esi], ebp
mov ebp, dword [0x7db370]
lea edi, [eax + edx*8]
test ebp, ebp
jne 0x4a772b
mov dword [edi], ebx
jmp 0x4a76da
mov eax, ebx
call fcn.0044b680
jmp 0x4a76da
mov dword [esp], eax
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x24]
mov dword [esp + 8], edx
call fcn.004a0c50
lea eax, [0x5c9900]
mov dword [esp], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 4], eax
mov dword [esp + 8], eax
call fcn.00437b80
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 0x4a7789
lea ebx, [ecx + 1]
mov eax, ebp
mov ecx, edx
mov edx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x20]
cmp ebx, ebp
jge 0x4a77f0
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, [0x5e12a0]
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.0040dc40
mov eax, dword [esp + 0x10]
mov eax, dword [eax]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x18]
cmp ecx, edx
jae 0x4a7807
mov ebx, dword [0x7db370]
mov ebp, dword [esp + 0x30]
lea edi, [ebp + ecx*4]
test ebx, ebx
jne 0x4a77e9
mov dword [ebp + ecx*4], eax
jmp 0x4a777e
call fcn.0044b680
jmp 0x4a777e
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], edx
add esp, 0x68
ret
xor ecx, ecx
jmp 0x4a7677
call fcn.004258a0
ud2
call fcn.004258a0
ud2
call fcn.00449f20
jmp fcn.004a7650
Function at 0x4b9bc0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x4b9d2c
sub esp, 0x40
mov eax, dword [esp + 0x70]
cmp eax, 4
jne 0x4b9d23
mov ecx, dword [esp + 0x6c]
mov edx, dword [ecx]
cmp edx, 0x6c616964
je 0x4b9cc8
mov edx, dword [esp + 0x60]
mov ebx, dword [esp + 0x5c]
mov dword [esp + 0x60], edx
mov dword [esp + 0x5c], ebx
mov ebp, dword [esp + 0x4c]
mov dword [esp], ebp
mov esi, dword [esp + 0x50]
mov dword [esp + 4], esi
mov edi, dword [esp + 0x54]
mov dword [esp + 8], edi
mov edi, dword [esp + 0x58]
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], eax
call fcn.004b9a40
mov eax, dword [esp + 0x20]
movzx ecx, byte [esp + 0x24]
mov edx, dword [esp + 0x44]
mov dword [esp], edx
mov edx, dword [esp + 0x48]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x4c]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x50]
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x18], eax
mov byte [esp + 0x1c], cl
mov eax, dword [esp + 0x54]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x30], eax
call fcn.004be4c0
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x34]
mov dword [esp + 0x78], edx
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], eax
add esp, 0x40
ret
mov eax, dword [esp + 0x5c]
mov ecx, dword [eax + 0x1c]
mov edx, dword [esp + 0x60]
mov dword [esp], edx
call ecx
movzx eax, byte [esp + 4]
test al, al
jne 0x4b9cee
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x6c]
jmp 0x4b9bf8
mov eax, dword [esp + 0x5c]
mov eax, dword [eax + 0x24]
mov ecx, dword [esp + 0x4c]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x50]
mov dword [esp + 8], edx
mov ebx, dword [esp + 0x60]
mov dword [esp], ebx
call eax
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0xc]
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x6c]
jmp 0x4b9c00
mov ecx, dword [esp + 0x6c]
jmp 0x4b9bf8
call fcn.00449f20
jmp fcn.004b9bc0
Function at 0x4f3e80
Capabilities:
Hash data using sha224
Hash data using sha256

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x4f409d
mov eax, dword [esp + 4]
mov ecx, dword [eax + 0xcc]
cmp ecx, 6
jne 0x4f3f37
mov dword [eax], 0xc1059ed8
mov dword [eax + 4], 0xcbbb9d5d
mov dword [eax + 8], 0x367cd507
mov dword [eax + 0xc], 0x629a292a
mov dword [eax + 0x10], 0x3070dd17
mov dword [eax + 0x14], 0x9159015a
mov dword [eax + 0x18], 0xf70e5939
mov dword [eax + 0x1c], 0x152fecd8
mov dword [eax + 0x20], 0xffc00b31
mov dword [eax + 0x24], 0x67332667
mov dword [eax + 0x28], 0x68581511
mov dword [eax + 0x2c], 0x8eb44a87
mov dword [eax + 0x30], 0x64f98fa7
mov dword [eax + 0x34], 0xdb0c2e0d
mov dword [eax + 0x38], 0xbefa4fa4
mov dword [eax + 0x3c], 0x47b5481d
mov dword [eax + 0xc0], 0
mov dword [eax + 0xc4], 0
mov dword [eax + 0xc8], 0
ret
cmp ecx, 0xe
jne 0x4f3fb0
mov dword [eax], 0x19544da2
mov dword [eax + 4], 0x8c3d37c8
mov dword [eax + 8], 0x89dcd4d6
mov dword [eax + 0xc], 0x73e19966
mov dword [eax + 0x10], 0x32ff9c82
mov dword [eax + 0x14], 0x1dfab7ae
mov dword [eax + 0x18], 0x582f9fcf
mov dword [eax + 0x1c], 0x679dd514
mov dword [eax + 0x20], 0x7bd44da8
mov dword [eax + 0x24], 0xf6d2b69
mov dword [eax + 0x28], 0x4c48942
mov dword [eax + 0x2c], 0x77e36f73
mov dword [eax + 0x30], 0x6a1d36c8
mov dword [eax + 0x34], 0x3f9d85a8
mov dword [eax + 0x38], 0x91d692a1
mov dword [eax + 0x3c], 0x1112e6ad
jmp 0x4f3f18
cmp ecx, 0xf
jne 0x4f4029
mov dword [eax], 0xfc2bf72c
mov dword [eax + 4], 0x22312194
mov dword [eax + 8], 0xc84c64c2
mov dword [eax + 0xc], 0x9f555fa3
mov dword [eax + 0x10], 0x6f53b151
mov dword [eax + 0x14], 0x2393b86b
mov dword [eax + 0x18], 0x5940eabd
mov dword [eax + 0x1c], 0x96387719
mov dword [eax + 0x20], 0xa88effe3
mov dword [eax + 0x24], 0x96283ee2
mov dword [eax + 0x28], 0x53863992
mov dword [eax + 0x2c], 0xbe5e1e25
mov dword [eax + 0x30], 0x2c85b8aa
mov dword [eax + 0x34], 0x2b0199fc
mov dword [eax + 0x38], 0x81c52ca2
mov dword [eax + 0x3c], 0xeb72ddc
jmp 0x4f3f18
mov dword [eax], 0xf3bcc908
mov dword [eax + 4], 0x6a09e667
mov dword [eax + 8], 0x84caa73b
mov dword [eax + 0xc], 0xbb67ae85
mov dword [eax + 0x10], 0xfe94f82b
mov dword [eax + 0x14], 0x3c6ef372
mov dword [eax + 0x18], 0x5f1d36f1
mov dword [eax + 0x1c], 0xa54ff53a
mov dword [eax + 0x20], 0xade682d1
mov dword [eax + 0x24], 0x510e527f
mov dword [eax + 0x28], 0x2b3e6c1f
mov dword [eax + 0x2c], 0x9b05688c
mov dword [eax + 0x30], 0xfb41bd6b
mov dword [eax + 0x34], 0x1f83d9ab
mov dword [eax + 0x38], 0x137e2179
mov dword [eax + 0x3c], 0x5be0cd19
jmp 0x4f3f18
call fcn.00449f20
jmp fcn.004f3e80
Function at 0x4fb0e0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x4fb2d7
sub esp, 0x6c
mov eax, 0
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], eax
mov ecx, dword [esp + 0x7c]
test ecx, ecx
je 0x4fb2c5
movzx edx, byte [0x7c9b68]
test dl, dl
je 0x4fb2b9
mov dword [0x7c9b6c], ecx
mov edx, dword [0x7db370]
test edx, edx
jne 0x4fb2a2
mov eax, dword [esp + 0x80]
mov dword [0x7c9b70], eax
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x50], eax
mov ecx, dword [esp + 0x4c]
test ecx, ecx
je 0x4fb297
movzx edx, byte [ecx + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x4fb16a
or edx, 0x80
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.0048d230
mov eax, dword [esp + 0x14]
mov dword [esp + 0x40], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x48], ecx
mov edx, dword [esp + 0xc]
mov dword [esp + 0x44], edx
mov ebx, dword [esp + 0x84]
mov dword [esp], ebx
mov ebx, dword [esp + 0x88]
mov dword [esp + 4], ebx
call fcn.004fb2f0
lea esi, [esp + 8]
lea edi, [esp + 0x54]
call fcn.0044bc54
mov eax, dword [esp + 0x44]
mov dword [esp], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0xc], eax
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x10], ecx
mov edx, dword [esp + 0x78]
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], 0
lea edi, [esp + 0x1c]
lea esi, [esp + 0x54]
call fcn.0044bc54
call fcn.004f7e80
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x34]
test eax, eax
jne 0x4fb264
mov eax, dword [esp + 0x74]
cmp edx, eax
ja 0x4fb2d0
mov ecx, dword [esp + 0x78]
sub ecx, edx
mov ebx, ecx
neg ecx
sar ecx, 0x1f
and ecx, edx
mov ebp, dword [esp + 0x70]
add ecx, ebp
mov dword [esp + 0x8c], ecx
sub eax, edx
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], ebx
mov dword [esp + 0x98], 0
mov dword [esp + 0x9c], 0
add esp, 0x6c
ret
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], ecx
add esp, 0x6c
ret
xor edx, edx
xor eax, eax
xor ecx, ecx
jmp 0x4fb16a
lea edi, [0x7c9b70]
mov eax, dword [esp + 0x80]
call fcn.0044b680
jmp 0x4fb142
mov eax, dword [esp + 0x80]
jmp 0x4fb142
xor edx, edx
xor eax, eax
xor ecx, ecx
jmp 0x4fb16a
call fcn.004259a0
ud2
call fcn.00449f20
jmp fcn.004fb0e0
Function at 0x506cf0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x506ea8
sub esp, 0x34
lea eax, [0x5d9c80]
mov dword [esp], eax
call fcn.00409a30
mov eax, dword [esp + 4]
mov dword [esp + 0x30], eax
xor ecx, ecx
xor edx, edx
xor ebx, ebx
jmp 0x506d8f
xchg edi, eax
mov byte [esp + 0x1f], al
xchg edi, eax
movzx edi, byte [ebx + esi]
xchg edi, eax
mov byte [esp + 0x1e], al
xchg edi, eax
movzx edi, byte [esp + 0x1f]
movzx ebx, byte [esp + 0x1e]
xor edi, ebx
xchg edi, eax
mov byte [ecx + ebp], al
xchg edi, eax
inc esi
inc ebp
mov edi, dword [esp + 0x2c]
mov ebx, edi
cmp esi, edx
jge 0x506d6c
cmp ebp, eax
jge 0x506d6c
jae 0x506ea1
movzx edi, byte [ebp + ecx]
cmp esi, edx
jb 0x506d27
jmp 0x506ea1
mov edx, dword [esp + 0x30]
movzx esi, byte [edx + 3]
lea edi, [esi + 1]
xchg edi, eax
mov byte [edx + 3], al
xchg edi, eax
xchg esi, eax
cmp al, 0xff
xchg esi, eax
je 0x506e62
mov eax, edx
mov ecx, ebp
mov edx, dword [esp + 0x28]
mov ebp, dword [esp + 0x3c]
cmp ecx, ebp
jge 0x506e9d
mov dword [esp + 0x20], ecx
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], ebx
mov eax, dword [esp + 0x44]
mov ecx, dword [eax + 0x20]
mov edx, dword [esp + 0x4c]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x50]
mov dword [esp + 8], ebx
mov ebp, dword [esp + 0x54]
mov dword [esp + 0xc], ebp
mov esi, dword [esp + 0x48]
mov dword [esp], esi
call ecx
mov eax, dword [esp + 0x44]
mov ecx, dword [eax + 0x20]
mov edx, dword [esp + 0x30]
mov dword [esp + 4], edx
mov dword [esp + 8], 4
mov dword [esp + 0xc], 4
mov ebx, dword [esp + 0x48]
mov dword [esp], ebx
call ecx
mov eax, dword [esp + 0x44]
mov ecx, dword [eax + 0x1c]
mov edx, dword [esp + 0x2c]
mov dword [esp + 4], edx
mov dword [esp + 8], 0
mov edx, dword [esp + 0x28]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x48]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 0x10]
mov dword [esp + 0x2c], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x24], ecx
mov edx, dword [esp + 0x18]
mov dword [esp + 0x28], edx
mov ebx, dword [esp + 0x44]
mov ebp, dword [ebx + 0x14]
mov esi, dword [esp + 0x48]
mov dword [esp], esi
call ebp
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x24]
mov ebx, dword [esp + 0x2c]
mov ebp, dword [esp + 0x20]
xor esi, esi
jmp 0x506d50
movzx esi, byte [edx + 2]
lea edi, [esi + 1]
xchg edi, eax
mov byte [edx + 2], al
xchg edi, eax
xchg esi, eax
cmp al, 0xff
xchg esi, eax
jne 0x506d87
movzx esi, byte [edx + 1]
lea edi, [esi + 1]
xchg edi, eax
mov byte [edx + 1], al
xchg edi, eax
xchg esi, eax
cmp al, 0xff
xchg esi, eax
jne 0x506d87
movzx esi, byte [edx]
inc esi
xchg esi, eax
mov byte [edx], al
xchg esi, eax
jmp 0x506d87
add esp, 0x34
ret
call fcn.004258a0
ud2
call fcn.00449f20
jmp fcn.00506cf0
Function at 0x50ab40
Capabilities:
Encode data using xor

Disassembly:
mov edi, dword [esp + 4]
mov esi, dword [esp + 8]
mov ebp, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
movzx eax, byte [eax]
mov ebx, dword [esp + 0x18]
movzx ebx, byte [ebx]
cmp dword [esp + 0xc], 0
je 0x50ab92
inc al
movzx edx, byte [ebp + eax*4]
add bl, dl
movzx ebx, bl
movzx ecx, byte [ebp + ebx*4]
mov byte [ebp + eax*4], cl
mov byte [ebp + ebx*4], dl
add cl, dl
movzx ecx, cl
mov cl, byte [ebp + ecx*4]
xor cl, byte [esi]
movzx ecx, cl
mov byte [edi], cl
inc esi
inc edi
dec dword [esp + 0xc]
jne 0x50ab61
mov ecx, dword [esp + 0x14]
mov byte [ecx], al
mov ecx, dword [esp + 0x18]
mov byte [ecx], bl
ret

Function at 0x50ad00
Capabilities:
Hash data using sha1

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x50ad4e
mov eax, dword [esp + 4]
mov dword [eax], 0x67452301
mov dword [eax + 4], 0xefcdab89
mov dword [eax + 8], 0x98badcfe
mov dword [eax + 0xc], 0x10325476
mov dword [eax + 0x10], 0xc3d2e1f0
mov dword [eax + 0x54], 0
mov dword [eax + 0x58], 0
mov dword [eax + 0x5c], 0
ret
call fcn.00449f20
jmp fcn.0050ad00
Function at 0x50c8c0
Capabilities:
Hash data using sha224
Hash data using sha256

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x50c968
mov eax, dword [esp + 4]
movzx ecx, byte [eax + 0x6c]
test cl, cl
je 0x50c92f
mov dword [eax], 0xc1059ed8
mov dword [eax + 4], 0x367cd507
mov dword [eax + 8], 0x3070dd17
mov dword [eax + 0xc], 0xf70e5939
mov dword [eax + 0x10], 0xffc00b31
mov dword [eax + 0x14], 0x68581511
mov dword [eax + 0x18], 0x64f98fa7
mov dword [eax + 0x1c], 0xbefa4fa4
mov dword [eax + 0x60], 0
mov dword [eax + 0x64], 0
mov dword [eax + 0x68], 0
ret
mov dword [eax], 0x6a09e667
mov dword [eax + 4], 0xbb67ae85
mov dword [eax + 8], 0x3c6ef372
mov dword [eax + 0xc], 0xa54ff53a
mov dword [eax + 0x10], 0x510e527f
mov dword [eax + 0x14], 0x9b05688c
mov dword [eax + 0x18], 0x1f83d9ab
mov dword [eax + 0x1c], 0x5be0cd19
jmp 0x50c919
call fcn.00449f20
jmp fcn.0050c8c0
Function at 0x511e20
Capabilities:
Hash data with md5

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x511e67
mov eax, dword [esp + 4]
mov dword [eax], 0x67452301
mov dword [eax + 4], 0xefcdab89
mov dword [eax + 8], 0x98badcfe
mov dword [eax + 0xc], 0x10325476
mov dword [eax + 0x50], 0
mov dword [eax + 0x54], 0
mov dword [eax + 0x58], 0
ret
call fcn.00449f20
jmp fcn.00511e20
Function at 0x534710
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x53481e
sub esp, 0x1c
mov eax, dword [esp + 0x24]
cmp eax, 1
jl 0x534806
mov ecx, dword [esp + 0x20]
movzx edx, byte [eax + ecx - 1]
lea ebx, [eax - 1]
movzx ebp, dl
mov esi, ebx
sub ebx, ebp
cmp eax, 0x100
jge 0x5347fa
mov edi, eax
mov dword [esp + 0x10], esi
mov byte [esp + 2], dl
mov dword [esp + 0xc], ebp
not ebx
sar ebx, 0x1f
mov dword [esp + 0x14], eax
xor eax, eax
mov dword [esp + 4], eax
mov eax, dword [esp + 0x14]
jmp 0x5347b8
inc ebx
xchg ebp, ebx
not ebx
xchg ebp, ebx
sar ebp, 0x1f
mov dword [esp + 8], ebp
movzx esi, byte [ecx + esi]
and ebp, edx
mov edx, dword [esp + 8]
and esi, edx
xor ebp, esi
xchg ebp, ebx
not ebx
xchg ebp, ebx
movzx edx, byte [esp + 3]
and edx, ebp
movzx ebp, byte [esp + 2]
mov esi, dword [esp + 0x10]
mov ebp, dword [esp + 0xc]
mov dword [esp + 4], ebx
mov ebx, edx
movzx edx, byte [esp + 2]
mov byte [esp + 3], bl
mov ebx, dword [esp + 4]
cmp ebx, eax
jge 0x5347ce
sub ebp, ebx
sub esi, ebx
cmp esi, edi
jb 0x534777
jmp 0x534817
movzx eax, dl
inc eax
mov dword [esp + 0x2c], eax
movzx eax, byte [esp + 3]
mov ecx, eax
shl eax, 4
and ecx, eax
mov eax, ecx
shl ecx, 2
and ecx, eax
mov eax, ecx
shl ecx, 1
and ecx, eax
sar cl, 7
mov byte [esp + 0x30], cl
add esp, 0x1c
ret
mov edi, eax
mov eax, 0x100
jmp 0x534756
mov dword [esp + 0x2c], 0
mov byte [esp + 0x30], 0
add esp, 0x1c
ret
call fcn.004258a0
ud2
call fcn.00449f20
jmp fcn.00534710