joyce8/EMBER2024-capa huggingface dataset:
Function at 0x566400
Capabilities:
Get process heap force flags

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x6b3a04
mov eax, dword fs:[0]
push eax
sub esp, 0x14
push ebx
push esi
push edi
mov eax, dword [0x7ca00c]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edx, ecx
mov dword [ebp - 0x10], edx
mov dword [ebp - 0x1c], edx
mov ecx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
mov esi, dword [ebp + 0xc]
mov edi, dword [ebp + 0x10]
mov ebx, dword [ebp + 0x14]
mov dword [ebp - 0x14], ecx
mov ecx, dword [ebp + 0x20]
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x18], ecx
push eax
mov ecx, edx
mov dword [ebp - 4], 1
call fcn.004392e0
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x10]
push esi
add ecx, 0x18
call fcn.004392e0
mov byte [ebp - 4], 3
push edi
mov edi, dword [ebp - 0x10]
lea ecx, [edi + 0x30]
call fcn.004392e0
push ebx
lea ecx, [edi + 0x48]
mov byte [ebp - 4], 4
call fcn.004392e0
push dword [ebp - 0x14]
lea ecx, [edi + 0x60]
mov byte [ebp - 4], 5
call fcn.004392e0
mov eax, dword [ebp + 0x1c]
lea esi, [edi + 0x7c]
push dword [ebp - 0x18]
mov byte [ebp - 4], 6
mov ecx, esi
mov dword [edi + 0x78], eax
call fcn.004392e0
mov al, byte [ebp + 0x2c]
lea ebx, [edi + 0x98]
mov dword [edi + 0x94], 0
mov ecx, esi
mov dword [ebx], 0
mov byte [edi + 0xa0], al
mov byte [edi + 0xa1], 0
cmp dword [esi + 0x14], 0x10
jb 0x5664dd
mov ecx, dword [esi]
mov edx, dword [esi + 0x10]
push 0xd
push str.FRL_CONNECTED
call fcn.0049b760
add esp, 8
test eax, eax
jne 0x5664ff
mov dword [edi + 0x9c], 2
jmp 0x56657a
cmp dword [esi + 0x14], 0x10
mov ecx, esi
jb 0x566509
mov ecx, dword [esi]
push 7
push str.FRL_LAN
call fcn.0049b760
add esp, 8
test eax, eax
jne 0x566528
mov dword [edi + 0x9c], 4
jmp 0x56657a
cmp dword [esi + 0x14], 0x10
mov ecx, esi
jb 0x566532
mov ecx, dword [esi]
push 0xc
push str.FRL_ISOLATED
call fcn.0049b760
add esp, 8
test eax, eax
jne 0x566551
mov dword [edi + 0x9c], 3
jmp 0x56657a
cmp dword [esi + 0x14], 0x10
jb 0x566559
mov esi, dword [esi]
push 0x18
push str.NAMED_USER_EDUCATION_LAB
mov ecx, esi
call fcn.0049b760
add esp, 8
neg eax
sbb eax, eax
and eax, 0xfffffffc
add eax, 5
mov dword [edi + 0x9c], eax
lea eax, [ebp + 0x24]
lea ecx, [edi + 0x94]
cmp ecx, eax
je 0x5665ab
mov esi, dword [ecx]
mov eax, dword [ebp + 0x24]
mov dword [ebp + 0x24], 0
mov dword [ecx], eax
test esi, esi
je 0x5665ab
mov ecx, esi
call fcn.004cd930
push 0x30
push esi
call fcn.0063e103
add esp, 8
lea eax, [ebp + 0x28]
cmp ebx, eax
je 0x5665ca
mov ecx, dword [ebx]
mov eax, dword [ebp + 0x28]
mov dword [ebp + 0x28], 0
mov dword [ebx], eax
test ecx, ecx
je 0x5665ca
push ecx
call fcn.00566cd0
mov al, 1
lea ecx, [edi + 0xa1]
xchg byte [ecx], al
mov esi, dword [ebp + 0x24]
test esi, esi
je 0x5665ed
mov ecx, esi
call fcn.004cd930
push 0x30
push esi
call fcn.0063e103
add esp, 8
mov ecx, dword [ebp + 0x28]
test ecx, ecx
je 0x5665fa
push ecx
call fcn.00566cd0
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x28
Function at 0x566610
Capabilities:
Get process heap flags

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x6b3ace
mov eax, dword fs:[0]
push eax
sub esp, 0xc
push ebx
push esi
push edi
mov eax, dword [0x7ca00c]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x14], ebx
mov dword [ebx + 0x10], 0
mov dword [ebx + 0x14], 0xf
mov byte [ebx], 0
mov dword [ebp - 4], 0
mov dword [ebx + 0x28], 0
mov dword [ebx + 0x2c], 0xf
mov byte [ebx + 0x18], 0
mov dword [ebx + 0x40], 0
mov dword [ebx + 0x44], 0xf
mov byte [ebx + 0x30], 0
mov dword [ebx + 0x58], 0
mov dword [ebx + 0x5c], 0xf
mov byte [ebx + 0x48], 0
mov dword [ebx + 0x70], 0
mov dword [ebx + 0x74], 0xf
mov byte [ebx + 0x60], 0
lea ecx, [ebx + 0x7c]
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
mov byte [ecx], 0
mov dword [ebx + 0x94], 0
mov dword [ebx + 0x98], 0
push 0x11
mov byte [ebp - 4], 7
push str.NAMED_USER_ONLINE
mov byte [ebx + 0xa1], 0
call fcn.00428b60
push 0x30
mov dword [ebx + 0x9c], 1
mov dword [ebx + 0x78], 0
call fcn.0063de82
mov esi, eax
add esp, 4
mov dword [ebp - 0x10], esi
mov byte [ebp - 4], 8
mov ecx, esi
push 0
push 0x708717
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0xf
mov byte [esi], 0
call fcn.00428b60
lea ecx, [esi + 0x18]
mov byte [ebp - 4], 9
push 2
push 0x701ee4
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
mov byte [ecx], 0
call fcn.00428b60
mov byte [ebp - 4], 7
mov edi, dword [ebx + 0x94]
mov dword [ebx + 0x94], esi
test edi, edi
je 0x56676c
mov ecx, edi
call fcn.004cd930
push 0x30
push edi
call fcn.0063e103
add esp, 8
push 0x38
call fcn.0063de82
mov edi, eax
mov dword [ebp - 0x10], edi
push 0x38
push 0
push edi
mov byte [ebp - 4], 0xa
call fcn.006501e0
add esp, 0x10
mov dword [edi + 0x10], 0
mov ecx, edi
mov dword [edi + 0x14], 0xf
mov byte [edi], 0
push 0
push 0x708717
call fcn.00428b60
lea ecx, [edi + 0x18]
mov byte [ebp - 4], 0xb
push 0
push 0x708717
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
mov byte [ecx], 0
call fcn.00428b60
push 0x18
mov byte [ebp - 4], 0xc
call fcn.0063de82
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0
mov dword [edi + 0x30], eax
push 0x60
mov byte [ebp - 4], 0xd
call fcn.0063de82
mov esi, eax
mov dword [ebp - 0x18], esi
push 0x60
push 0
push esi
mov byte [ebp - 4], 0xe
call fcn.006501e0
add esp, 0x14
mov ecx, esi
call fcn.00562b90
mov dword [edi + 0x34], eax
mov eax, dword [ebx + 0x98]
mov dword [ebx + 0x98], edi
test eax, eax
je 0x566852
push eax
call fcn.00566cd0
mov cl, 1
lea eax, [ebx + 0xa1]
xchg byte [eax], cl
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x570250
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x6a0c99
mov eax, dword fs:[0]
push eax
push ecx
push ebx
push esi
push edi
mov eax, dword [0x7ca00c]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
mov dword [ebp - 0x10], 0
mov edi, dword [ebp + 8]
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0xf
mov byte [edi], 0
mov dword [ebp - 4], 0
mov ecx, edi
push 0xa
mov dword [ebp - 0x10], 1
call fcn.0044e070
xor esi, esi
nop dword [eax]
mov eax, 0xf2b9d649
mov ecx, esi
mul esi
shr edx, 8
imul eax, edx, 0x10e
sub ecx, eax
mov al, byte [ecx + 0x704da8]
xor al, byte [esi + ebx]
movzx ecx, al
push ecx
push 1
mov ecx, edi
call fcn.0043d8b0
inc esi
cmp esi, 0xa
jb 0x5702b0
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
Function at 0x571130
Capabilities:
Get number of processors

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x6b4a28
mov eax, dword fs:[0]
push eax
sub esp, 0x10
push ebx
push esi
push edi
mov eax, dword [0x7ca00c]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp + 0x1c]
mov edi, dword [ebp + 8]
mov ebx, dword [ebp + 0x20]
mov esi, dword [ebp + 0x24]
mov eax, dword [eax + 0x30]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x10], ecx
mov eax, dword [ecx]
call dword [eax + 4]
lea eax, [ebp - 0x14]
mov dword [ebp - 4], 0
push eax
call fcn.00439e10
mov dword [ebp - 4], 0xffffffff
add esp, 4
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x18], eax
test ecx, ecx
je 0x5711aa
mov eax, dword [ecx]
call dword [eax + 8]
mov ecx, eax
test ecx, ecx
je 0x5711aa
mov eax, dword [ecx]
push 1
call dword [eax]
push dword [ebp - 0x18]
lea eax, [ebp - 0x10]
mov dword [ebp - 0x10], 0
push eax
push 0x270f
push 0
lea eax, [ebp + 0x14]
push eax
lea eax, [ebp + 0xc]
push eax
push dword [ebp - 0x1c]
call fcn.005722e0
or dword [ebx], eax
add esp, 0x1c
test al, 2
jne 0x5711f6
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x45
jge 0x5711e8
lea eax, [ecx + 0x64]
mov dword [esi + 0x14], eax
jmp 0x5711f6
cmp ecx, 0x64
jl 0x5711f3
add ecx, 0xfffff894
mov dword [esi + 0x14], ecx
mov ecx, dword [ebp + 0xc]
mov eax, edi
mov dword [edi], ecx
mov ecx, dword [ebp + 0x10]
mov dword [edi + 4], ecx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x20
Function at 0x576a70
Capabilities:
Get process heap flags
Get process heap force flags

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x6b5264
mov eax, dword fs:[0]
push eax
sub esp, 0x10
push ebx
push esi
push edi
mov eax, dword [0x7ca00c]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x1c], ebx
lea eax, [ebp + 8]
mov dword [ebp - 4], 1
push eax
call fcn.004392e0
lea eax, [ebp + 0x20]
mov byte [ebp - 4], 2
push eax
lea ecx, [ebx + 0x18]
call fcn.004392e0
mov byte [ebp - 4], 3
add ebx, 0x30
mov dword [ebp - 0x10], ebx
call fcn.005c4780
push 0xc
call fcn.0063de82
mov edi, eax
mov dword [ebp - 0x10], edi
mov byte [ebp - 4], 4
xorps xmm0, xmm0
movq qword [edi], xmm0
push 8
mov dword [edi + 8], 0
call fcn.0063de82
mov esi, eax
add esp, 8
mov dword [ebp - 0x14], esi
xorps xmm0, xmm0
mov byte [ebp - 4], 5
push 2
push esi
movq qword [esi], xmm0
call fcn.005c4780
mov ecx, eax
call fcn.005c5140
lea eax, [esi + 4]
mov byte [ebp - 4], 6
push eax
call fcn.005c4780
mov ecx, eax
call fcn.005c56f0
mov dword [edi + 4], esi
mov dword [edi], vtable.adobe::ngl::internal::FRLSecureProfileDao.0
mov dword [edi + 8], str.FRLSecureProfileDao
mov dword [ebx], edi
mov byte [ebp - 4], 7
mov esi, dword [ebp - 0x18]
lea eax, [esi + 0x34]
push eax
call fcn.005c4780
mov ecx, eax
call fcn.005c5e00
mov edx, dword [ebp + 0x1c]
cmp edx, 0x10
jb 0x576b86
mov ecx, dword [ebp + 8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x576b7c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x576bde
push edx
push ecx
call fcn.0063e103
add esp, 8
mov edx, dword [ebp + 0x34]
mov dword [ebp + 0x18], 0
mov dword [ebp + 0x1c], 0xf
mov byte [ebp + 8], 0
cmp edx, 0x10
jb 0x576bc8
mov ecx, dword [ebp + 0x20]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x576bbe
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x576bde
push edx
push ecx
call fcn.0063e103
add esp, 8
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x30
call fcn.006534c5
int3
Function at 0x584bc0
Capabilities:
Get process heap force flags

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x6b6fb0
mov eax, dword fs:[0]
push eax
sub esp, 8
push esi
push edi
mov eax, dword [0x7ca00c]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x10], edi
mov eax, dword [ebp + 8]
mov esi, dword [ebp + 0xc]
mov dword [ebp - 0x14], edi
push eax
mov dword [ebp - 4], 1
call fcn.004392e0
push esi
lea ecx, [edi + 0x18]
mov byte [ebp - 4], 2
call fcn.004392e0
mov eax, dword [ebp + 0x10]
mov dword [edi + 0x30], eax
mov eax, dword [ebp + 0x14]
mov dword [edi + 0x34], eax
lea eax, [ebp + 0x18]
mov byte [ebp - 4], 3
push eax
lea ecx, [edi + 0x38]
call fcn.004392e0
mov eax, dword [ebp + 0x30]
xor esi, esi
mov edx, dword [ebp + 0x2c]
mov dword [ebp + 0x30], esi
mov dword [edi + 0x50], eax
cmp edx, 0x10
jb 0x584c69
mov ecx, dword [ebp + 0x18]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x584c5c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x584ca9
push edx
push ecx
call fcn.0063e103
mov esi, dword [ebp + 0x30]
add esp, 8
mov dword [ebp + 0x28], 0
mov dword [ebp + 0x2c], 0xf
mov byte [ebp + 0x18], 0
test esi, esi
je 0x584c94
mov ecx, esi
call fcn.00523500
push 0xf8
push esi
call fcn.0063e103
add esp, 8
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0x2c
call fcn.006534c5
int3
Function at 0x59b0c0
Capabilities:
Access peb ldr_data
Get process heap force flags

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x6ba118
mov eax, dword fs:[0]
push eax
sub esp, 0x24
push ebx
push esi
push edi
mov eax, dword [0x7ca00c]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, ecx
mov dword [ebp - 0x18], eax
mov ecx, dword [eax]
xor ebx, ebx
mov esi, dword [ebp + 8]
mov edi, ecx
mov edx, dword [ebp + 0xc]
mov dword [ebp - 0x1c], esi
mov eax, dword [ecx + 4]
mov dword [ebp - 0x10], edx
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x14], eax
cmp byte [eax + 0xd], bl
jne 0x59b13d
mov esi, eax
nop
push edx
lea eax, [esi + 0x10]
mov dword [ebp - 0x14], esi
push eax
call fcn.0059b600
test al, al
je 0x59b128
mov esi, dword [esi + 8]
xor ebx, ebx
jmp 0x59b131
mov edi, esi
mov ebx, 1
mov esi, dword [esi]
cmp byte [esi + 0xd], 0
mov edx, dword [ebp - 0x10]
je 0x59b110
mov esi, dword [ebp - 0x1c]
cmp byte [edi + 0xd], 0
jne 0x59b16c
lea ecx, [edi + 0x10]
push ecx
push edx
call fcn.0059b600
test al, al
jne 0x59b16c
mov byte [esi + 4], al
mov eax, esi
mov dword [esi], edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov eax, dword [ebp - 0x18]
cmp dword [eax + 4], 0xa72f05
je 0x59b266
mov dword [ebp - 0x2c], eax
mov dword [ebp - 4], 0
push 0x188
mov dword [ebp - 0x28], 0
call fcn.0063de82
mov edi, eax
add esp, 4
mov dword [ebp - 0x28], edi
push dword [ebp - 0x10]
lea esi, [edi + 0x10]
mov dword [ebp - 4], 1
mov ecx, esi
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x24], esi
call fcn.004392e0
mov eax, dword [ebp - 0x10]
lea ecx, [esi + 0x18]
add eax, 0x18
mov byte [ebp - 4], 2
push eax
call fcn.004392e0
add esi, 0x30
mov byte [ebp - 4], 3
mov dword [ebp - 0x24], esi
mov ecx, esi
push 0
push 0x708717
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0xf
mov byte [esi], 0
call fcn.00428b60
lea ecx, [esi + 0x18]
mov byte [ebp - 4], 4
call fcn.004a9a40
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x18]
mov dword [esi + 0x140], 0
mov dword [esi + 0x144], 0
mov dword [esi + 0x140], 1
mov dword [esi + 0x144], 0x7e17fc
push edi
mov dword [edi], eax
push ebx
push dword [ebp - 0x14]
mov dword [edi + 4], eax
mov dword [edi + 8], eax
mov word [edi + 0xc], 0
call fcn.0043a150
mov ecx, dword [ebp - 0x1c]
mov dword [ecx], eax
mov eax, ecx
mov byte [ecx + 4], 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
call fcn.004336e0
int3
Function at 0x5ae2d0
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push esi
mov esi, ecx
mov eax, dword [esi + 0x40]
test eax, eax
je 0x5ae2f3
push eax
push dword [ebp + 0xc]
push 1
push dword [ebp + 8]
call fcn.00658300
add esp, 0x10
pop esi
pop ebp
ret 8
mov ecx, dword [esi + 0xec]
push ebx
push edi
mov edi, dword [ebp + 0xc]
lea eax, [ecx + edi]
cmp eax, dword [esi + 0xe8]
jle 0x5ae35b
add eax, eax
push eax
mov dword [ebp + 0xc], eax
call fcn.0063e329
push dword [esi + 0xec]
mov ebx, eax
push dword [esi + 0xd0]
push ebx
call fcn.00650340
mov eax, dword [esi + 0xd0]
lea ecx, [esi + 0xd4]
add esp, 0x10
cmp eax, ecx
je 0x5ae344
push eax
call fcn.0063e134
add esp, 4
mov eax, dword [ebp + 0xc]
mov ecx, dword [esi + 0xec]
mov dword [esi + 0xd0], ebx
mov dword [esi + 0xe8], eax
jmp 0x5ae361
mov ebx, dword [esi + 0xd0]
lea eax, [ecx + edi]
mov dword [esi + 0xec], eax
lea esi, [ecx - 1]
push edi
push dword [ebp + 8]
add esi, ebx
push esi
call fcn.00650340
add esp, 0xc
mov byte [esi + edi], 0
pop edi
pop ebx
pop esi
pop ebp
ret 8
Function at 0x5baac0
Capabilities:
Get process heap flags

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x6bcf13
mov eax, dword fs:[0]
push eax
sub esp, 0x1c
push ebx
push esi
push edi
mov eax, dword [0x7ca00c]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edx, ecx
mov dword [ebp - 0x10], edx
mov dword [ebp - 0x24], edx
mov ecx, dword [ebp + 0x18]
mov eax, dword [ebp + 8]
mov esi, dword [ebp + 0xc]
mov ebx, dword [ebp + 0x10]
mov edi, dword [ebp + 0x14]
mov dword [ebp - 0x14], ecx
mov ecx, dword [ebp + 0x1c]
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebp + 0x20]
mov dword [ebp - 0x1c], ecx
mov ecx, dword [ebp + 0x30]
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x20], ecx
push eax
mov ecx, edx
mov dword [ebp - 4], 4
call fcn.004392e0
mov byte [ebp - 4], 5
push esi
mov esi, dword [ebp - 0x10]
lea ecx, [esi + 0x18]
call fcn.004392e0
push edi
lea ecx, [esi + 0x30]
mov byte [ebp - 4], 6
call fcn.004392e0
push ebx
lea ecx, [esi + 0x48]
mov byte [ebp - 4], 7
call fcn.004392e0
push dword [ebp - 0x14]
lea ecx, [esi + 0x60]
mov byte [ebp - 4], 8
call fcn.004392e0
push dword [ebp - 0x18]
lea ecx, [esi + 0x78]
mov byte [ebp - 4], 9
call fcn.004392e0
push dword [ebp - 0x1c]
lea ecx, [esi + 0x90]
mov byte [ebp - 4], 0xa
call fcn.004392e0
mov al, byte [ebp + 0x24]
mov byte [esi + 0xa8], al
mov eax, dword [ebp + 0x28]
mov dword [esi + 0xac], eax
mov eax, dword [ebp + 0x2c]
mov dword [ebp + 0x2c], 0
mov dword [esi + 0xb0], eax
push dword [ebp - 0x20]
lea ecx, [esi + 0xb4]
mov byte [ebp - 4], 0xc
call fcn.004392e0
mov ecx, dword [ebp + 0x34]
xor eax, eax
mov edi, dword [ebp + 0x44]
mov dword [esi + 0xcc], ecx
mov ecx, dword [ebp + 0x38]
mov dword [esi + 0xd0], ecx
mov ecx, dword [ebp + 0x3c]
mov dword [esi + 0xd4], ecx
mov dword [ebp + 0x34], eax
mov dword [ebp + 0x38], eax
mov dword [ebp + 0x3c], eax
mov dword [esi + 0xd8], eax
mov dword [esi + 0xdc], eax
test edi, edi
je 0x5babf4
lock inc dword [edi + 4]
mov eax, dword [ebp + 0x34]
mov ecx, dword [ebp + 0x40]
mov dword [esi + 0xd8], ecx
mov ecx, dword [ebp + 0x44]
mov dword [esi + 0xdc], ecx
mov ecx, dword [ebp + 0x2c]
mov dword [esi + 0xf0], 0
mov dword [esi + 0xf4], 0xf
mov byte [esi + 0xe0], 0
mov byte [esi + 0xf8], 0
test ecx, ecx
je 0x5bac38
push ecx
call fcn.004cdd10
mov eax, dword [ebp + 0x34]
test eax, eax
je 0x5bac47
push 8
push eax
call fcn.0063e103
add esp, 8
mov eax, dword [ebp + 0x38]
test eax, eax
je 0x5bac59
push 8
push eax
call fcn.0063e103
add esp, 8
mov eax, dword [ebp + 0x3c]
test eax, eax
je 0x5bac6b
push 8
push eax
call fcn.0063e103
add esp, 8
mov edi, dword [ebp + 0x44]
test edi, edi
je 0x5bac93
or ebx, 0xffffffff
mov eax, ebx
lock xadd dword [edi + 4], eax
jne 0x5bac93
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
lock xadd dword [edi + 8], ebx
dec ebx
jne 0x5bac93
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 4]
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x40
Function at 0x5c31d0
Capabilities:
Encode data using xor
Generate random numbers using a mersenne twister

Disassembly:
push ebp
mov ebp, esp
push ecx
push esi
push edi
mov edi, ecx
mov dword [ebp - 4], edi
mov eax, dword [edi]
cmp eax, 0x270
jne 0x5c322e
lea edx, [edi + 8]
mov esi, eax
nop dword [eax]
mov ecx, dword [edx - 4]
lea edx, [edx + 4]
xor ecx, dword [edx - 4]
and ecx, 0x7fffffff
xor ecx, dword [edx - 8]
mov eax, ecx
and al, 1
movzx eax, al
neg eax
sbb eax, eax
shr ecx, 1
and eax, 0x9908b0df
xor eax, dword [edx + 0x62c]
xor eax, ecx
mov dword [edx + 0x9b8], eax
sub esi, 1
jne 0x5c31f0
mov eax, dword [edi]
jmp 0x5c3319
cmp eax, 0x4e0
jb 0x5c3319
mov eax, dword [edi + 0x9c4]
push ebx
lea ebx, [edi + 0x9c4]
mov edi, 0xe3
nop dword [eax + eax]
mov ecx, dword [ebx + 4]
lea edx, [ebx + 4]
xor ecx, eax
and ecx, 0x7fffffff
xor ecx, eax
mov eax, ecx
and al, 1
movzx eax, al
neg eax
sbb eax, eax
shr ecx, 1
and eax, 0x9908b0df
xor eax, dword [ebx + 0x634]
xor eax, ecx
mov dword [ebx - 0x9c0], eax
lea ebx, [edx]
mov eax, dword [edx]
sub edi, 1
jne 0x5c3250
mov ebx, dword [ebp - 4]
mov edi, 0x18c
add ebx, 0xd50
mov eax, dword [ebx]
nop dword [eax]
mov ecx, eax
lea edx, [ebx + 4]
xor ecx, dword [edx]
and ecx, 0x7fffffff
xor ecx, eax
mov eax, ecx
and al, 1
movzx eax, al
neg eax
sbb eax, eax
shr ecx, 1
and eax, 0x9908b0df
xor eax, dword [ebx - 0xd4c]
xor eax, ecx
mov dword [ebx - 0x9c0], eax
lea ebx, [edx]
mov eax, dword [edx]
sub edi, 1
jne 0x5c32a0
mov edi, dword [ebp - 4]
pop ebx
mov ecx, dword [edi + 0x1380]
xor ecx, dword [edi + 4]
and ecx, 0x7fffffff
xor ecx, dword [edi + 0x1380]
mov eax, ecx
and al, 1
movzx eax, al
neg eax
sbb eax, eax
shr ecx, 1
and eax, 0x9908b0df
xor eax, dword [edi + 0x634]
xor eax, ecx
mov dword [edi + 0x9c0], eax
xor eax, eax
mov dword [edi], 0
mov edx, dword [edi + eax*4 + 4]
inc eax
mov dword [edi], eax
mov ecx, edx
mov eax, dword [edi + 0x1384]
shr ecx, 0xb
and eax, ecx
xor edx, eax
mov eax, edx
and eax, 0xff3a58ad
shl eax, 7
xor edx, eax
mov eax, edx
and eax, 0xffffdf8c
shl eax, 0xf
xor edx, eax
mov eax, edx
shr eax, 0x12
pop edi
xor eax, edx
pop esi
mov esp, ebp
pop ebp
ret
Function at 0x5c6f90
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x6becc0
mov eax, dword fs:[0]
push eax
sub esp, 0x40
mov eax, dword [0x7ca00c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x4c], ecx
call fcn.005c4780
mov ecx, eax
call fcn.005c6d10
push eax
lea ecx, [ebp - 0x40]
call fcn.004392e0
mov dword [ebp - 4], 0
lea eax, [ebp - 0x40]
cmp dword [ebp - 0x2c], 0x10
mov ebx, dword [ebp - 0x40]
push 0
push dword [ebp - 0x30]
cmovae eax, ebx
push eax
sub esp, 8
call fcn.00538990
xor esi, esi
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x48], eax
lea edi, [ebp - 0x48]
lea edx, [esi + 8]
movsx eax, byte [edi]
lea edi, [edi + 1]
mov ecx, esi
shl esi, 8
shr ecx, 8
xor ecx, eax
movzx eax, cl
xor si, word [eax*2 + 0x703d50]
movzx esi, si
sub edx, 1
jne 0x5c7003
push 2
push 0x770d6c
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], dl
call fcn.00428b60
push dword [ebp + 8]
mov ecx, dword [ebp - 0x4c]
lea eax, [ebp - 0x28]
push esi
mov byte [ebp - 4], 1
push dword [ebp - 0x44]
push dword [ebp - 0x48]
push eax
call fcn.005c6dc0
mov edx, dword [ebp - 0x14]
mov esi, eax
cmp edx, 0x10
jb 0x5c708e
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x5c7084
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5c70dd
push edx
push ecx
call fcn.0063e103
add esp, 8
mov eax, dword [ebp - 0x2c]
cmp eax, 0x10
jb 0x5c70bd
lea ecx, [eax + 1]
mov eax, ebx
cmp ecx, 0x1000
jb 0x5c70b3
mov ebx, dword [ebx - 4]
add ecx, 0x23
sub eax, ebx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5c70dd
push ecx
push ebx
call fcn.0063e103
add esp, 8
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0063de71
mov esp, ebp
pop ebp
ret 4
call fcn.006534c5
int3