joyce8/EMBER2024-capa huggingface dataset:
Function at 0x450dd0
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push ecx
mov eax, dword [ebp + 8]
test eax, eax
je 0x450f4b
cmp dword [eax], 0
je 0x450f4b
cmp dword [eax + 4], 0x40
jb 0x450f4b
mov ecx, dword [ebp + 0x10]
test ecx, ecx
je 0x450dff
mov dword [ecx], 0
mov ecx, dword [ebp + 0x14]
test ecx, ecx
je 0x450e0c
mov dword [ecx], 0
mov ecx, dword [ebp + 0x18]
test ecx, ecx
je 0x450e19
mov dword [ecx], 0
mov edx, dword [eax]
push ebx
mov ebx, dword [eax + 4]
mov eax, 0x5a4d
cmp word [edx], ax
jne 0x450f43
mov eax, dword [edx + 0x3c]
lea ecx, [eax + 0x14]
cmp ecx, ebx
ja 0x450f43
add eax, edx
add ecx, 0x18
mov dword [ebp - 4], eax
cmp ecx, ebx
ja 0x450f43
cmp dword [eax], 0x4550
jne 0x450f43
push edi
lea edi, [eax + 4]
mov edx, 0xe0
mov dword [ebp + 8], edi
cmp word [edi + 0x10], dx
jne 0x450e6f
add ecx, edx
cmp ecx, ebx
jbe 0x450e78
pop edi
or eax, 0xffffffff
pop ebx
mov esp, ebp
pop ebp
ret
movzx edx, word [eax + 0x18]
push esi
lea esi, [eax + 0x18]
mov eax, 0x10b
cmp dx, ax
je 0x450e98
mov eax, 0x20b
cmp dx, ax
jne 0x450f39
movzx eax, word [edi + 2]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
cmp eax, ebx
ja 0x450f39
mov eax, 0x10b
cmp dx, ax
mov eax, dword [esi + 0x3c]
cmp eax, ebx
ja 0x450f39
mov ecx, dword [ebp + 8]
xor edi, edi
movzx eax, word [ecx + 2]
test eax, eax
je 0x450f00
lea ecx, [esi + 0xf0]
mov eax, dword [ecx + 4]
add eax, dword [ecx]
cmp eax, ebx
ja 0x450f39
mov eax, 0x10b
cmp dx, ax
mov eax, dword [ecx - 8]
add eax, dword [ecx - 4]
mov edx, dword [esi + 0x38]
cmp eax, edx
ja 0x450f39
mov edx, dword [ebp + 8]
inc edi
add ecx, 0x28
movzx eax, word [edx + 2]
movzx edx, word [esi]
cmp edi, eax
jb 0x450ed0
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x450f0c
mov ecx, dword [ebp - 4]
mov dword [eax], ecx
mov eax, dword [ebp + 0x10]
test eax, eax
je 0x450f18
mov ecx, dword [ebp + 8]
mov dword [eax], ecx
mov eax, dword [ebp + 0x14]
test eax, eax
je 0x450f21
mov dword [eax], esi
mov eax, dword [ebp + 0x18]
test eax, eax
je 0x450f30
lea ecx, [esi + 0xe0]
mov dword [eax], ecx
pop esi
pop edi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
pop esi
pop edi
or eax, 0xffffffff
pop ebx
mov esp, ebp
pop ebp
ret
or eax, 0xffffffff
pop ebx
mov esp, ebp
pop ebp
ret
or eax, 0xffffffff
mov esp, ebp
pop ebp
ret
Function at 0x450f60
Capabilities:
Map section object

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
push ebx
push esi
mov esi, dword [ebp + 8]
xorps xmm0, xmm0
push edi
mov edi, dword [ebp + 0xc]
or ebx, 0xffffffff
push 0
push 0
push 3
push 0
push 1
push 0x1000a1
movq qword [edi], xmm0
push esi
mov dword [ebp - 8], 0
mov dword [ebp - 4], 0
mov dword [edi + 8], 0
call fcn.00431d90
add esp, 0x1c
mov dword [ebp - 8], eax
push esi
test eax, eax
jne 0x450fc5
push 0x519bbc
push 0x610003
call fcn.0042ab50
add esp, 0xc
jmp 0x45106a
call fcn.0042de50
add esp, 4
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x14]
mov dword [ebp - 0x10], edx
push dword [ebp - 8]
push 0x8000000
push 0x20
push eax
push 0
push 0xf001f
lea eax, [ebp - 4]
push eax
call fcn.0050fc70
push eax
call fcn.004f5db0
add esp, 4
test eax, eax
je 0x451013
push esi
push 0x519bd8
push 0x610003
call fcn.0042ab50
add esp, 0xc
jmp 0x45106a
mov eax, dword [ebp - 0x14]
push 0x20
push 0
push 1
mov dword [ebp - 0xc], eax
lea eax, [ebp - 0xc]
push eax
push 0
push 0
push 0
push edi
call dword [sym.imp.x_GetCurrentProcess]
push eax
push dword [ebp - 4]
call fcn.0050fc76
push eax
call fcn.004f5db0
add esp, 4
test eax, eax
je 0x45105b
push esi
push 0x519bf8
push 0x610003
call fcn.0042ab50
add esp, 0xc
jmp 0x45106a
mov eax, dword [ebp - 0xc]
xor ebx, ebx
mov dword [edi + 4], eax
mov dword [edi + 8], 1
lea eax, [ebp - 4]
push eax
call fcn.00431d60
lea eax, [ebp - 8]
push eax
call fcn.00431d60
add esp, 8
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret

Function at 0x457da0
Capabilities:
Hash data with md5

Disassembly:
push ebp
mov ebp, esp
push esi
mov esi, dword [ebp + 8]
push 0x5c
push 0
push esi
call fcn.004f7a50
add esp, 0xc
mov dword [esi], 0x67452301
mov dword [esi + 4], 0xefcdab89
mov eax, 1
mov dword [esi + 8], 0x98badcfe
mov dword [esi + 0xc], 0x10325476
pop esi
pop ebp
ret

Function at 0x45c330
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push esi
mov esi, dword [ebp + 0x10]
xor dl, dl
test esi, esi
je 0x45c355
mov eax, dword [ebp + 8]
push edi
mov edi, dword [ebp + 0xc]
sub edi, eax
mov cl, byte [edi + eax]
lea eax, [eax + 1]
xor cl, byte [eax - 1]
or dl, cl
dec esi
jne 0x45c346
pop edi
movzx eax, dl
pop esi
pop ebp
ret
Function at 0x45c480
Capabilities:
Access the windows event log
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x104
push esi
push 0xfffffffffffffff4
call dword [sym.imp.x_GetStdHandle]
mov esi, eax
test esi, esi
je 0x45c4e2
push esi
call dword [sym.imp.x_GetFileType]
test eax, eax
je 0x45c4e2
lea eax, [ebp + 0xc]
push eax
push dword [ebp + 8]
lea eax, [ebp - 0x104]
push 0x100
push eax
call fcn.004fbe5e
add esp, 0x10
lea ecx, [ebp - 4]
test eax, eax
push 0
push ecx
mov ecx, 0x100
cmovs eax, ecx
push eax
lea eax, [ebp - 0x104]
push eax
push esi
call dword [sym.imp.x_WriteFile]
pop esi
mov esp, ebp
pop ebp
ret
lea eax, [ebp + 0xc]
push eax
push dword [ebp + 8]
lea eax, [ebp - 0x104]
push 0xff
push eax
call fcn.004fbe5e
add esp, 0x10
mov byte [ebp - 5], 0
call fcn.0045c370
test eax, eax
jle 0x45c54b
push 0x51f250
push 0
call dword [0x510010]
mov esi, eax
test esi, esi
je 0x45c561
push 0
lea eax, [ebp - 0x104]
mov dword [ebp - 4], eax
lea eax, [ebp - 4]
push eax
push 0
push 1
push 0
push 0
push 0
push 1
push esi
call dword [0x51000c]
push esi
call dword [0x510014]
pop esi
mov esp, ebp
pop ebp
ret
push 0x10
push 0x51f258
lea eax, [ebp - 0x104]
push eax
push 0
call dword [0x510410]
pop esi
mov esp, ebp
pop ebp
ret

Function at 0x4607a0
Capabilities:
Hash data using sha1

Disassembly:
push ebp
mov ebp, esp
push esi
mov esi, dword [ebp + 8]
push 0x60
push 0
push esi
call fcn.004f7a50
add esp, 0xc
mov dword [esi], 0x67452301
mov dword [esi + 4], 0xefcdab89
mov eax, 1
mov dword [esi + 8], 0x98badcfe
mov dword [esi + 0xc], 0x10325476
mov dword [esi + 0x10], 0xc3d2e1f0
pop esi
pop ebp
ret

Function at 0x462ce0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push esi
mov esi, dword [ebp + 8]
xor edx, edx
test esi, esi
je 0x462d30
mov al, byte [esi]
test al, al
je 0x462d30
push edi
mov edi, 0x100
lea esp, [esp]
movsx eax, al
lea esi, [esi + 1]
or eax, edi
add edi, 0x100
mov ecx, eax
shr ecx, 2
xor ecx, eax
imul eax, eax
and ecx, 0xf
rol edx, cl
xor edx, eax
mov al, byte [esi]
test al, al
jne 0x462d00
mov eax, edx
shr eax, 0x10
pop edi
xor eax, edx
pop esi
pop ebp
ret
xor eax, eax
pop esi
pop ebp
ret
Function at 0x4771f0
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push esi
mov esi, dword [ebp + 0xc]
push edi
push esi
push dword [ebp + 8]
call fcn.004772e0
mov edi, eax
add esp, 8
test edi, edi
jne 0x47728e
push 0xaf
push 0x533310
call dword [sym.imp.x_GetLastError]
push eax
push 1
push 2
call fcn.0045bdb0
push 0x52f998
push esi
push 0x533358
push dword [ebp + 8]
push 0x53335c
push 5
call fcn.0045b570
add esp, 0x2c
call fcn.004f7685
cmp dword [eax], 2
jne 0x477270
push 0xb2
push 0x533310
push 0x80
push 0x6d
push 0x20
call fcn.0045bdb0
add esp, 0x14
xor eax, eax
pop edi
pop esi
pop ebp
ret
push 0xb4
push 0x533310
push 2
push 0x6d
push 0x20
call fcn.0045bdb0
add esp, 0x14
xor eax, eax
pop edi
pop esi
pop ebp
ret
push 0x5719f8
call fcn.00458d30
mov esi, eax
add esp, 4
test esi, esi
jne 0x4772b0
push edi
call fcn.004fc720
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
ret
push 0
push esi
call fcn.00458960
push edi
push 1
push 0x6a
push esi
call fcn.00458990
add esp, 0x18
mov eax, esi
pop edi
pop esi
pop ebp
ret
Function at 0x4995b0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x9c
mov eax, dword [ebp + 0xc]
push ebx
push esi
mov esi, dword [ebp + 0x14]
xor ebx, ebx
mov eax, dword [eax + 4]
push edi
mov edi, dword [ebp + 0x10]
mov dword [ebp - 8], eax
sub eax, edi
mov dword [ebp - 4], eax
mov dword [ebp - 0xc], ebx
cmp esi, edi
jae 0x4995f0
push 0x53ad98
push 0xf8
push 0x53adac
call fcn.0045c570
add esp, 0xc
cmp edi, 0x40
jbe 0x49960c
push 0x53ade8
push 0xf9
push 0x53adac
call fcn.0045c570
add esp, 0xc
lea eax, [ebp - 0x9c]
neg eax
lea ecx, [ebp - 0x9c]
and eax, 0x3f
add ecx, eax
lea eax, [edi + 0x100]
mov dword [ebp - 0x14], ecx
cmp esi, eax
jbe 0x499639
mov ebx, esi
sub ebx, edi
sub ebx, 0x100
mov dword [ebp - 0xc], ebx
mov eax, edi
xor edx, edx
and eax, 0xfffffffe
shl eax, 0x17
sub eax, ebx
add eax, dword [ebp - 4]
div edi
push edi
mov esi, edx
push 0
push ecx
mov dword [ebp - 0x18], esi
call fcn.004f7a50
add esp, 0xc
mov dword [ebp - 0x10], 0
cmp ebx, dword [ebp + 0x14]
jae 0x499712
mov ecx, dword [ebp - 4]
mov edx, ecx
mov ebx, dword [ebp - 8]
mov eax, dword [ebp + 0xc]
mov esi, dword [ebp - 0xc]
shr edx, 0x1f
mov dword [ebp - 0x1c], edx
mov edx, ebx
mov eax, dword [eax + 0xc]
shr edx, 0x1f
mov dword [ebp - 8], edx
mov edx, esi
mov dword [ebp + 0xc], ebx
sub edx, ebx
sub dword [ebp + 0xc], ecx
add eax, ebx
mov dword [ebp - 4], edx
mov dword [ebp - 0xc], eax
lea esp, [esp]
mov ebx, dword [ebp + 0xc]
mov ecx, esi
mov eax, dword [ebp - 0x1c]
inc esi
mov edi, dword [ebp - 0x10]
shr ecx, 0x1f
lea ebx, [ebx + edx]
shr edx, 0x1f
xor dl, byte [ebp - 8]
shr ebx, 0x1f
xor bl, al
xor al, cl
or bl, al
mov al, cl
xor al, byte [ebp - 8]
xor bl, cl
or dl, al
dec bl
mov eax, dword [ebp - 4]
xor dl, cl
mov ecx, dword [ebp - 0xc]
dec dl
not dl
mov al, byte [ecx + eax]
mov ecx, dword [ebp - 0x14]
and dl, al
and dl, bl
or byte [ecx + edi], dl
mov edx, edi
mov edi, dword [ebp + 0x10]
inc edx
mov ecx, edx
mov eax, edx
sub ecx, edi
xor eax, edi
xor ecx, edi
or ecx, eax
xor ecx, edx
shr ecx, 0x1f
neg ecx
and edx, ecx
mov dword [ebp - 0x10], edx
mov edx, dword [ebp - 4]
inc edx
mov dword [ebp - 4], edx
cmp esi, dword [ebp + 0x14]
jb 0x4996a0
mov esi, dword [ebp - 0x18]
xor edx, edx
test edi, edi
je 0x49974d
mov ebx, dword [ebp + 8]
jmp 0x499720
mov ecx, dword [ebp - 0x14]
mov eax, esi
xor eax, 0x20
mov al, byte [eax + ecx]
movzx eax, byte [esi + ecx]
inc esi
mov byte [edx + ebx], al
mov ecx, esi
sub ecx, edi
mov eax, esi
xor ecx, edi
xor eax, edi
or ecx, eax
inc edx
xor ecx, esi
shr ecx, 0x1f
neg ecx
and esi, ecx
cmp edx, edi
jb 0x499720
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x49a0e0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push ebx
mov ebx, dword [ebp + 0x14]
push esi
mov esi, dword [ebp + 0xc]
inc ebx
push edi
mov edi, dword [ebp + 8]
mov dword [ebp + 0x14], ebx
mov eax, dword [edi + 8]
mov eax, dword [eax + 0x64]
test byte [eax + 0x38], 1
je 0x49a125
mov ecx, dword [ebp + 0x10]
mov edx, dword [esi + 4]
lea eax, [ebx + ecx]
cmp eax, edx
jbe 0x49a118
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
add dword [esi + 0xc], ecx
add dword [esi + 0x10], ecx
sub edx, ecx
mov dword [esi + 4], edx
jmp 0x49a12a
cmp ebx, dword [esi + 4]
ja 0x49a10f
test dword [edi + 0x100], 0x200
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 4]
movzx ebx, byte [ecx + eax - 1]
je 0x49a17c
cmp dword [edi + 0x88], 0
jne 0x49a17c
mov eax, dword [edi + 0x58]
push 8
add eax, 8
push 0x53ad8c
push eax
call fcn.0045c330
add esp, 0xc
test eax, eax
jne 0x49a16f
test bl, 1
jne 0x49a16f
mov eax, dword [edi + 0x58]
or dword [eax], 8
mov eax, dword [edi + 0x58]
test byte [eax], 8
je 0x49a17c
test ebx, ebx
je 0x49a17c
dec ebx
mov eax, dword [edi + 0x80]
push dword [eax]
call fcn.004548d0
add esp, 4
test eax, 0x200000
je 0x49a1a7
or eax, 0xffffffff
sub eax, ebx
add dword [esi + 4], eax
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [esi + 4]
mov edi, edx
mov ecx, dword [ebp + 0x14]
mov eax, edx
add ecx, ebx
mov dword [ebp - 8], edx
sub edi, ecx
xor eax, ecx
xor edi, ecx
mov ecx, 0xff
or edi, eax
lea eax, [edx - 1]
xor edi, edx
shr edi, 0x1f
dec edi
cmp eax, ecx
cmovb ecx, eax
mov dword [ebp - 4], ecx
test ecx, ecx
je 0x49a22b
mov eax, dword [esi + 0xc]
mov ecx, ebx
dec eax
shr ecx, 0x1f
add eax, edx
mov dword [ebp + 0x14], ecx
mov dword [ebp + 8], eax
xor esi, esi
jmp 0x49a1f0
mov al, byte [ebp + 0x14]
mov edx, ebx
sub edx, esi
mov ecx, esi
shr edx, 0x1f
inc esi
shr ecx, 0x1f
xor dl, cl
xor al, cl
or dl, al
xor dl, byte [ebp + 0x14]
dec dl
movzx ecx, dl
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
dec edx
xor eax, ebx
mov dword [ebp + 8], edx
and ecx, eax
not ecx
and edi, ecx
cmp esi, dword [ebp - 4]
jb 0x49a1f0
mov esi, dword [ebp + 0xc]
mov edx, dword [ebp - 8]
not edi
lea eax, [ebx + 1]
and edi, 0xff
lea ecx, [edi - 1]
not edi
shr ecx, 0x1f
shr edi, 0x1f
and ecx, edi
neg ecx
and eax, ecx
sub edx, eax
shl eax, 8
or dword [esi], eax
mov eax, ecx
pop edi
mov dword [esi + 4], edx
and eax, 1
not ecx
pop esi
or eax, ecx
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x49a650
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
lea eax, [ebp - 8]
push ebx
push esi
push edi
push eax
lea eax, [ebp - 4]
xor esi, esi
push eax
push esi
xor edi, edi
call fcn.00467020
add esp, 0xc
test eax, eax
je 0x49a821
mov ebx, dword [ebp + 8]
lea esp, [esp]
mov eax, dword [ebp - 4]
shl eax, 0xa
test ebx, eax
je 0x49a68b
inc edi
lea eax, [ebp - 8]
inc esi
push eax
lea eax, [ebp - 4]
push eax
push esi
call fcn.00467020
add esp, 0xc
test eax, eax
jne 0x49a680
test edi, edi
je 0x49a821
mov ecx, dword [ebp + 0x38]
mov eax, ecx
cdq
idiv edi
mov esi, dword [ebp + 0x3c]
mov dword [ebp - 0xc], eax
xor eax, eax
cmp edi, 1
mov edi, dword [ebp + 0x44]
push edi
push eax
cmove ecx, eax
push esi
mov dword [ebp + 0x38], ecx
call fcn.004f7a50
lea eax, [ebp - 8]
mov dword [ebp - 0x10], 0
push eax
lea eax, [ebp - 4]
push eax
push 0
call fcn.00467020
add esp, 0x18
test eax, eax
je 0x49a815
mov ebx, dword [ebp + 0x40]
mov eax, dword [ebp - 4]
shl eax, 0xa
test dword [ebp + 8], eax
je 0x49a7e0
mov ecx, dword [ebp - 8]
test ecx, ecx
je 0x49a804
push edi
push ebx
push dword [ebp + 0x30]
mov eax, dword [ebp + 0x38]
push dword [ebp + 0x2c]
and eax, 1
push dword [ebp + 0x28]
add eax, dword [ebp - 0xc]
push dword [ebp + 0x24]
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push eax
push dword [ebp + 0x34]
push ecx
call fcn.0049a850
add esp, 0x3c
test eax, eax
je 0x49a83c
mov eax, dword [ebp - 0xc]
xor ecx, ecx
add dword [ebp + 0x34], eax
test edi, edi
jle 0x49a7e0
cmp edi, 0x20
jb 0x49a7c4
lea eax, [ebx - 1]
lea edx, [edi - 1]
add eax, edi
add edx, esi
cmp esi, eax
ja 0x49a770
cmp edx, ebx
jae 0x49a7c4
mov eax, edi
and eax, 0x8000001f
jns 0x49a77e
dec eax
or eax, 0xffffffe0
inc eax
mov edx, edi
sub edx, eax
mov eax, esi
mov esi, ebx
sub esi, dword [ebp + 0x3c]
lea esp, [esp]
movdqu xmm0, xmmword [eax]
lea eax, [eax + 0x20]
movdqu xmm1, xmmword [esi + eax - 0x20]
pxor xmm1, xmm0
movdqu xmmword [eax - 0x20], xmm1
movdqu xmm1, xmmword [ebx + ecx + 0x10]
add ecx, 0x20
movdqu xmm0, xmmword [eax - 0x10]
pxor xmm1, xmm0
movdqu xmmword [eax - 0x10], xmm1
cmp ecx, edx
jl 0x49a790
mov esi, dword [ebp + 0x3c]
cmp ecx, edi
jge 0x49a7e0
lea eax, [ecx + esi]
mov edx, edi
mov esi, ebx
sub esi, dword [ebp + 0x3c]
sub edx, ecx
mov cl, byte [eax + esi]
lea eax, [eax + 1]
xor byte [eax - 1], cl
dec edx
jne 0x49a7d4
mov eax, dword [ebp - 0x10]
lea ecx, [ebp - 8]
push ecx
lea ecx, [ebp - 4]
inc eax
push ecx
push eax
mov dword [ebp - 0x10], eax
call fcn.00467020
add esp, 0xc
test eax, eax
je 0x49a815
mov esi, dword [ebp + 0x3c]
jmp 0x49a6f1
push 0x114
push 0x53ae68
push 0x146
jmp 0x49a82d
pop edi
pop esi
mov eax, 1
pop ebx
mov esp, ebp
pop ebp
ret
push 0x109
push 0x53ae68
push 0x44
push 0x11c
push 0x14
call fcn.0045bdb0
add esp, 0x14
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x49c320
Capabilities:
Authenticate hmac
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [ebp + 0xc]
sub esp, 0x80
xor ecx, ecx
push ebx
mov ebx, dword [ebp + 0x10]
push esi
mov esi, dword [ebp + 8]
push edi
mov edi, dword [ebp + 0x14]
test edi, edi
je 0x49c35b
cmp edi, dword [esi]
je 0x49c352
test eax, eax
je 0x49c4e1
test ebx, ebx
js 0x49c4e1
mov ecx, 1
mov dword [esi], edi
jmp 0x49c365
mov edi, dword [esi]
test edi, edi
je 0x49c4e1
test eax, eax
je 0x49c431
push edi
call fcn.00454ce0
add esp, 4
mov dword [ebp + 0x14], eax
cmp eax, 0x80
jle 0x49c397
push 0x53af28
push 0x74
push 0x53af48
call fcn.0045c570
mov eax, dword [ebp + 0x14]
add esp, 0xc
cmp eax, ebx
jge 0x49c3eb
mov ecx, dword [ebp + 0x18]
lea eax, [esi + 4]
push ecx
push edi
push eax
call fcn.0045dd90
add esp, 0xc
test eax, eax
je 0x49c4e1
mov eax, dword [ebp + 0xc]
push ebx
push eax
lea ebx, [esi + 4]
push ebx
call fcn.0045df40
add esp, 0xc
test eax, eax
je 0x49c4e1
lea eax, [esi + 0x4c]
push eax
lea eax, [esi + 0x50]
push eax
push ebx
call fcn.0045dce0
add esp, 0xc
test eax, eax
je 0x49c4e1
lea eax, [esi + 0x4c]
jmp 0x49c40d
cmp ebx, 0x80
ja 0x49c4e1
mov eax, dword [ebp + 0xc]
push ebx
push eax
lea eax, [esi + 0x50]
push eax
call fcn.004f8270
lea eax, [esi + 0x4c]
add esp, 0xc
mov dword [eax], ebx
mov ecx, dword [eax]
cmp ecx, 0x80
je 0x49c439
mov eax, 0x80
sub eax, ecx
push eax
lea eax, [esi + 0x50]
add eax, ecx
push 0
push eax
call fcn.004f7a50
add esp, 0xc
jmp 0x49c439
test ecx, ecx
je 0x49c4c1
xor ecx, ecx
jmp 0x49c440
mov al, byte [esi + ecx + 0x50]
xor al, 0x36
mov byte [ebp + ecx - 0x80], al
inc ecx
cmp ecx, 0x80
jl 0x49c440
push dword [ebp + 0x18]
lea ebx, [esi + 0x1c]
push edi
push ebx
call fcn.0045dd90
add esp, 0xc
test eax, eax
je 0x49c4e1
push edi
call fcn.00454ce0
push eax
lea eax, [ebp - 0x80]
push eax
push ebx
call fcn.0045df40
add esp, 0x10
test eax, eax
je 0x49c4e1
xor ecx, ecx
mov al, byte [esi + ecx + 0x50]
xor al, 0x5c
mov byte [ebp + ecx - 0x80], al
inc ecx
cmp ecx, 0x80
jl 0x49c481
mov ecx, dword [ebp + 0x18]
lea ebx, [esi + 0x34]
push ecx
push edi
push ebx
call fcn.0045dd90
add esp, 0xc
test eax, eax
je 0x49c4e1
push edi
call fcn.00454ce0
push eax
lea eax, [ebp - 0x80]
push eax
push ebx
call fcn.0045df40
add esp, 0x10
test eax, eax
je 0x49c4e1
lea eax, [esi + 0x1c]
push eax
lea eax, [esi + 4]
push eax
call fcn.0045e010
add esp, 8
test eax, eax
je 0x49c4e1
pop edi
pop esi
mov eax, 1
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x4a6b00
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [ebp + 8]
push ebx
push esi
mov esi, dword [ebp + 0x10]
xor ebx, ebx
test esi, esi
jle 0x4a6bed
push edi
mov edi, dword [ebp + 0xc]
inc edi
lea ebx, [ebx]
movzx edx, byte [edi - 1]
cmp esi, 3
jl 0x4a6b7e
movzx ecx, byte [edi]
shl edx, 8
or edx, ecx
movzx ecx, byte [edi + 1]
shl edx, 8
or edx, ecx
mov ecx, edx
shr ecx, 0x12
and ecx, 0x3f
movzx ecx, byte [ecx + 0x541298]
mov byte [eax], cl
mov ecx, edx
shr ecx, 0xc
and ecx, 0x3f
movzx ecx, byte [ecx + 0x541298]
mov byte [eax + 1], cl
mov ecx, edx
shr ecx, 6
and ecx, 0x3f
and edx, 0x3f
movzx ecx, byte [ecx + 0x541298]
mov byte [eax + 2], cl
movzx ecx, byte [edx + 0x541298]
mov byte [eax + 3], cl
jmp 0x4a6bcf
shl edx, 0x10
cmp esi, 2
jne 0x4a6b8e
movzx ecx, byte [edi]
shl ecx, 8
or edx, ecx
mov ecx, edx
shr ecx, 0x12
and ecx, 0x3f
movzx ecx, byte [ecx + 0x541298]
mov byte [eax], cl
mov ecx, edx
shr ecx, 0xc
and ecx, 0x3f
movzx ecx, byte [ecx + 0x541298]
mov byte [eax + 1], cl
cmp esi, 1
jne 0x4a6bbb
lea ecx, [esi + 0x3c]
jmp 0x4a6bc8
shr edx, 6
and edx, 0x3f
movzx ecx, byte [edx + 0x541298]
mov byte [eax + 2], cl
mov byte [eax + 3], 0x3d
sub esi, 3
add eax, 4
add ebx, 4
add edi, 3
test esi, esi
jg 0x4a6b20
pop edi
mov byte [eax], 0
mov eax, ebx
pop esi
pop ebx
pop ebp
ret
mov byte [eax], bl
mov eax, ebx
pop esi
pop ebx
pop ebp
ret

Function at 0x4af7a0
Capabilities:
Hash data using sha224

Disassembly:
push ebp
mov ebp, esp
push esi
mov esi, dword [ebp + 8]
push 0x70
push 0
push esi
call fcn.004f7a50
add esp, 0xc
mov dword [esi], 0xc1059ed8
mov dword [esi + 4], 0x367cd507
mov eax, 1
mov dword [esi + 8], 0x3070dd17
mov dword [esi + 0xc], 0xf70e5939
mov dword [esi + 0x10], 0xffc00b31
mov dword [esi + 0x14], 0x68581511
mov dword [esi + 0x18], 0x64f98fa7
mov dword [esi + 0x1c], 0xbefa4fa4
mov dword [esi + 0x6c], 0x1c
pop esi
pop ebp
ret

Function at 0x4afae0
Capabilities:
Hash data using sha256

Disassembly:
push ebp
mov ebp, esp
push esi
mov esi, dword [ebp + 8]
push 0x70
push 0
push esi
call fcn.004f7a50
add esp, 0xc
mov dword [esi], 0x6a09e667
mov dword [esi + 4], 0xbb67ae85
mov eax, 1
mov dword [esi + 8], 0x3c6ef372
mov dword [esi + 0xc], 0xa54ff53a
mov dword [esi + 0x10], 0x510e527f
mov dword [esi + 0x14], 0x9b05688c
mov dword [esi + 0x18], 0x1f83d9ab
mov dword [esi + 0x1c], 0x5be0cd19
mov dword [esi + 0x6c], 0x20
pop esi
pop ebp
ret
Function at 0x4afc40
Capabilities:
Hash data using sha224

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [ebp + 8]
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 + 0x40], 0
mov dword [eax + 0x44], 0
mov dword [eax + 0x48], 0
mov dword [eax + 0x4c], 0
mov dword [eax + 0xd0], 0
mov dword [eax + 0xd4], 0x30
mov eax, 1
pop ebp
ret
Function at 0x4b0280
Capabilities:
Hash data using sha256

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [ebp + 8]
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
mov dword [eax + 0x40], 0
mov dword [eax + 0x44], 0
mov dword [eax + 0x48], 0
mov dword [eax + 0x4c], 0
mov dword [eax + 0xd0], 0
mov dword [eax + 0xd4], 0x40
mov eax, 1
pop ebp
ret