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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x6f65f4
mov eax, dword fs:[0]
push eax
sub esp, 0x14
push ebx
push esi
push edi
mov eax, dword [0x82d084]
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.00440c40
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x10]
push esi
add ecx, 0x18
call fcn.00440c40
mov byte [ebp - 4], 3
push edi
mov edi, dword [ebp - 0x10]
lea ecx, [edi + 0x30]
call fcn.00440c40
push ebx
lea ecx, [edi + 0x48]
mov byte [ebp - 4], 4
call fcn.00440c40
push dword [ebp - 0x14]
lea ecx, [edi + 0x60]
mov byte [ebp - 4], 5
call fcn.00440c40
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.00440c40
mov al, byte [ebp + 0x2c]
mov dword [edi + 0x94], 0
mov dword [edi + 0x98], 0
mov byte [edi + 0xa0], al
mov eax, esi
mov byte [edi + 0xa1], 0
cmp dword [esi + 0x14], 0x10
jb 0x59735b
mov eax, dword [esi]
mov ebx, dword [esi + 0x10]
push 0xd
push str.FRL_CONNECTED
push ebx
push eax
call fcn.004abe10
add esp, 0x10
test eax, eax
jne 0x59737f
mov dword [edi + 0x9c], 2
jmp 0x5973fe
cmp dword [esi + 0x14], 0x10
mov eax, esi
jb 0x597389
mov eax, dword [esi]
push 7
push str.FRL_LAN
push ebx
push eax
call fcn.004abe10
add esp, 0x10
test eax, eax
jne 0x5973aa
mov dword [edi + 0x9c], 4
jmp 0x5973fe
cmp dword [esi + 0x14], 0x10
mov eax, esi
jb 0x5973b4
mov eax, dword [esi]
push 0xc
push str.FRL_ISOLATED
push ebx
push eax
call fcn.004abe10
add esp, 0x10
test eax, eax
jne 0x5973d5
mov dword [edi + 0x9c], 3
jmp 0x5973fe
cmp dword [esi + 0x14], 0x10
jb 0x5973dd
mov esi, dword [esi]
push 0x18
push str.NAMED_USER_EDUCATION_LAB
push ebx
push esi
call fcn.004abe10
add esp, 0x10
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 0x59742f
mov esi, dword [ecx]
mov eax, dword [ebp + 0x24]
mov dword [ebp + 0x24], 0
mov dword [ecx], eax
test esi, esi
je 0x59742f
mov ecx, esi
call fcn.00468740
push 0x30
push esi
call fcn.0067bc93
add esp, 8
lea eax, [ebp + 0x28]
lea edx, [edi + 0x98]
cmp edx, eax
je 0x597454
mov ecx, dword [edx]
mov eax, dword [ebp + 0x28]
mov dword [ebp + 0x28], 0
mov dword [edx], eax
test ecx, ecx
je 0x597454
push ecx
call fcn.00597b60
mov al, 1
lea ecx, [edi + 0xa1]
xchg byte [ecx], al
mov esi, dword [ebp + 0x24]
test esi, esi
je 0x597477
mov ecx, esi
call fcn.00468740
push 0x30
push esi
call fcn.0067bc93
add esp, 8
mov ecx, dword [ebp + 0x28]
test ecx, ecx
je 0x597484
push ecx
call fcn.00597b60
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 0x5974a0
Capabilities:
Get process heap flags

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x6f66be
mov eax, dword fs:[0]
push eax
sub esp, 0xc
push ebx
push esi
push edi
mov eax, dword [0x82d084]
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.00430160
push 0x30
mov dword [ebx + 0x9c], 1
mov dword [ebx + 0x78], 0
call fcn.0067ba12
mov esi, eax
add esp, 4
mov dword [ebp - 0x10], esi
mov byte [ebp - 4], 8
mov ecx, esi
push 0
push 0x761dc7
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0xf
mov byte [esi], 0
call fcn.00430160
lea ecx, [esi + 0x18]
mov byte [ebp - 4], 9
push 2
push 0x75b174
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
mov byte [ecx], 0
call fcn.00430160
mov byte [ebp - 4], 7
mov edi, dword [ebx + 0x94]
mov dword [ebx + 0x94], esi
test edi, edi
je 0x5975fc
mov ecx, edi
call fcn.00468740
push 0x30
push edi
call fcn.0067bc93
add esp, 8
push 0x38
call fcn.0067ba12
mov edi, eax
mov dword [ebp - 0x10], edi
push 0x38
push 0
push edi
mov byte [ebp - 4], 0xa
call fcn.0068e800
add esp, 0x10
mov dword [edi + 0x10], 0
mov ecx, edi
mov dword [edi + 0x14], 0xf
mov byte [edi], 0
push 0
push 0x761dc7
call fcn.00430160
lea ecx, [edi + 0x18]
mov byte [ebp - 4], 0xb
push 0
push 0x761dc7
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
mov byte [ecx], 0
call fcn.00430160
push 0x18
mov byte [ebp - 4], 0xc
call fcn.0067ba12
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.0067ba12
mov esi, eax
mov dword [ebp - 0x18], esi
push 0x60
push 0
push esi
mov byte [ebp - 4], 0xe
call fcn.0068e800
add esp, 0x14
mov ecx, esi
call fcn.005939f0
mov dword [edi + 0x34], eax
mov eax, dword [ebx + 0x98]
mov dword [ebx + 0x98], edi
test eax, eax
je 0x5976e2
push eax
call fcn.00597b60
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 0x5a1170
Capabilities:
Get number of processors

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x6f75b8
mov eax, dword fs:[0]
push eax
sub esp, 0x10
push ebx
push esi
push edi
mov eax, dword [0x82d084]
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.00441840
mov dword [ebp - 4], 0xffffffff
add esp, 4
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x18], eax
test ecx, ecx
je 0x5a11ea
mov eax, dword [ecx]
call dword [eax + 8]
mov ecx, eax
test ecx, ecx
je 0x5a11ea
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.005a2320
or dword [ebx], eax
add esp, 0x1c
test al, 2
jne 0x5a1236
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x45
jge 0x5a1228
lea eax, [ecx + 0x64]
mov dword [esi + 0x14], eax
jmp 0x5a1236
cmp ecx, 0x64
jl 0x5a1233
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 0x5a6ae0
Capabilities:
Get process heap flags
Get process heap force flags

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x6f7df4
mov eax, dword fs:[0]
push eax
sub esp, 0x10
push ebx
push esi
push edi
mov eax, dword [0x82d084]
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.00440c40
lea eax, [ebp + 0x20]
mov byte [ebp - 4], 2
push eax
lea ecx, [ebx + 0x18]
call fcn.00440c40
mov byte [ebp - 4], 3
add ebx, 0x30
mov dword [ebp - 0x10], ebx
call fcn.005f8600
push 0xc
call fcn.0067ba12
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.0067ba12
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.005f8600
mov ecx, eax
call fcn.005f8f60
lea eax, [esi + 4]
mov byte [ebp - 4], 6
push eax
call fcn.005f8600
mov ecx, eax
call fcn.005f9510
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.005f8600
mov ecx, eax
call fcn.005f9c20
mov edx, dword [ebp + 0x1c]
cmp edx, 0x10
jb 0x5a6bf6
mov ecx, dword [ebp + 8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x5a6bec
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5a6c4e
push edx
push ecx
call fcn.0067bc93
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 0x5a6c38
mov ecx, dword [ebp + 0x20]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x5a6c2e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5a6c4e
push edx
push ecx
call fcn.0067bc93
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.00691015
int3
Function at 0x5b7450
Capabilities:
Get process heap force flags

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x6f9fd0
mov eax, dword fs:[0]
push eax
sub esp, 8
push esi
push edi
mov eax, dword [0x82d084]
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.00440c40
push esi
lea ecx, [edi + 0x18]
mov byte [ebp - 4], 2
call fcn.00440c40
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.00440c40
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 0x5b74f9
mov ecx, dword [ebp + 0x18]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x5b74ec
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5b7539
push edx
push ecx
call fcn.0067bc93
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 0x5b7524
mov ecx, esi
call fcn.0053f9b0
push 0xf8
push esi
call fcn.0067bc93
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.00691015
int3
Function at 0x5cda20
Capabilities:
Access peb ldr_data
Get process heap force flags

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x6fd138
mov eax, dword fs:[0]
push eax
sub esp, 0x24
push ebx
push esi
push edi
mov eax, dword [0x82d084]
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 0x5cda9d
mov esi, eax
nop
push edx
lea eax, [esi + 0x10]
mov dword [ebp - 0x14], esi
push eax
call fcn.005cdf60
test al, al
je 0x5cda88
mov esi, dword [esi + 8]
xor ebx, ebx
jmp 0x5cda91
mov edi, esi
mov ebx, 1
mov esi, dword [esi]
cmp byte [esi + 0xd], 0
mov edx, dword [ebp - 0x10]
je 0x5cda70
mov esi, dword [ebp - 0x1c]
cmp byte [edi + 0xd], 0
jne 0x5cdacc
lea ecx, [edi + 0x10]
push ecx
push edx
call fcn.005cdf60
test al, al
jne 0x5cdacc
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 0x5cdbc6
mov dword [ebp - 0x2c], eax
mov dword [ebp - 4], 0
push 0x188
mov dword [ebp - 0x28], 0
call fcn.0067ba12
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.00440c40
mov eax, dword [ebp - 0x10]
lea ecx, [esi + 0x18]
add eax, 0x18
mov byte [ebp - 4], 2
push eax
call fcn.00440c40
add esi, 0x30
mov byte [ebp - 4], 3
mov dword [ebp - 0x24], esi
mov ecx, esi
push 0
push 0x761dc7
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0xf
mov byte [esi], 0
call fcn.00430160
lea ecx, [esi + 0x18]
mov byte [ebp - 4], 4
call fcn.004ba500
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], 0x849d40
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.00441b60
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.0043ad10
int3
Function at 0x5e1980
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 0x5e19a3
push eax
push dword [ebp + 0xc]
push 1
push dword [ebp + 8]
call fcn.006967d1
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 0x5e1a0b
add eax, eax
push eax
mov dword [ebp + 0xc], eax
call fcn.0067beb9
push dword [esi + 0xec]
mov ebx, eax
push dword [esi + 0xd0]
push ebx
call fcn.0068dd00
mov eax, dword [esi + 0xd0]
lea ecx, [esi + 0xd4]
add esp, 0x10
cmp eax, ecx
je 0x5e19f4
push eax
call fcn.0067bcc4
add esp, 4
mov eax, dword [ebp + 0xc]
mov ecx, dword [esi + 0xec]
mov dword [esi + 0xd0], ebx
mov dword [esi + 0xe8], eax
jmp 0x5e1a11
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.0068dd00
add esp, 0xc
mov byte [esi + edi], 0
pop edi
pop ebx
pop esi
pop ebp
ret 8
Function at 0x5ee560
Capabilities:
Get process heap flags

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x700033
mov eax, dword fs:[0]
push eax
sub esp, 0x1c
push ebx
push esi
push edi
mov eax, dword [0x82d084]
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.00440c40
mov byte [ebp - 4], 5
push esi
mov esi, dword [ebp - 0x10]
lea ecx, [esi + 0x18]
call fcn.00440c40
push edi
lea ecx, [esi + 0x30]
mov byte [ebp - 4], 6
call fcn.00440c40
push ebx
lea ecx, [esi + 0x48]
mov byte [ebp - 4], 7
call fcn.00440c40
push dword [ebp - 0x14]
lea ecx, [esi + 0x60]
mov byte [ebp - 4], 8
call fcn.00440c40
push dword [ebp - 0x18]
lea ecx, [esi + 0x78]
mov byte [ebp - 4], 9
call fcn.00440c40
push dword [ebp - 0x1c]
lea ecx, [esi + 0x90]
mov byte [ebp - 4], 0xa
call fcn.00440c40
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.00440c40
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 0x5ee694
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 0x5ee6d8
push ecx
call fcn.004e1070
mov eax, dword [ebp + 0x34]
test eax, eax
je 0x5ee6e7
push 8
push eax
call fcn.0067bc93
add esp, 8
mov eax, dword [ebp + 0x38]
test eax, eax
je 0x5ee6f9
push 8
push eax
call fcn.0067bc93
add esp, 8
mov eax, dword [ebp + 0x3c]
test eax, eax
je 0x5ee70b
push 8
push eax
call fcn.0067bc93
add esp, 8
mov edi, dword [ebp + 0x44]
test edi, edi
je 0x5ee733
or ebx, 0xffffffff
mov eax, ebx
lock xadd dword [edi + 4], eax
jne 0x5ee733
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
lock xadd dword [edi + 8], ebx
dec ebx
jne 0x5ee733
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 0x5f6e90
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 0x5f6eee
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 0x5f6eb0
mov eax, dword [edi]
jmp 0x5f6fd9
cmp eax, 0x4e0
jb 0x5f6fd9
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 0x5f6f10
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 0x5f6f60
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 0x5fae50
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x701e28
mov eax, dword fs:[0]
push eax
sub esp, 0x60
mov eax, dword [0x82d084]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x6c], ecx
call fcn.005f8600
mov esi, eax
mov dword [ebp - 0x1c], 0
xor eax, eax
mov dword [ebp - 0x18], 7
push eax
push 0x75b10c
lea ecx, [ebp - 0x2c]
mov word [ebp - 0x2c], ax
call fcn.0042fe00
mov dword [ebp - 4], 0
lea edx, [ebp - 0x2c]
lea ecx, [ebp - 0x68]
mov dword [ebp - 0x68], 0
call fcn.00556110
test eax, eax
jne 0x5faedb
cmp dword [ebp - 0x18], 8
lea ecx, [ebp - 0x2c]
cmovae ecx, dword [ebp - 0x2c]
add esi, 8
mov edx, esi
call fcn.0050b660
jmp 0x5faede
add esi, 8
lea ecx, [ebp - 0x2c]
mov dword [ebp - 4], 0xffffffff
call fcn.0042fd70
push esi
lea ecx, [ebp - 0x5c]
call fcn.00440c40
mov dword [ebp - 4], 1
lea eax, [ebp - 0x5c]
cmp dword [ebp - 0x48], 0x10
mov ebx, dword [ebp - 0x5c]
push 0
push dword [ebp - 0x4c]
cmovae eax, ebx
push eax
sub esp, 8
call fcn.00554f20
xor esi, esi
mov dword [ebp - 0x60], edx
mov dword [ebp - 0x64], eax
lea edi, [ebp - 0x64]
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 + 0x75bf48]
movzx esi, si
sub edx, 1
jne 0x5faf26
push 2
push 0x7ce65c
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x30], 0xf
mov byte [ebp - 0x44], dl
call fcn.00430160
push dword [ebp + 8]
mov ecx, dword [ebp - 0x6c]
lea eax, [ebp - 0x44]
push esi
mov byte [ebp - 4], 2
push dword [ebp - 0x60]
push dword [ebp - 0x64]
push eax
call fcn.005fac80
mov edx, dword [ebp - 0x30]
mov esi, eax
cmp edx, 0x10
jb 0x5fafb1
mov ecx, dword [ebp - 0x44]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x5fafa7
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5fb000
push edx
push ecx
call fcn.0067bc93
add esp, 8
mov eax, dword [ebp - 0x48]
cmp eax, 0x10
jb 0x5fafe0
lea ecx, [eax + 1]
mov eax, ebx
cmp ecx, 0x1000
jb 0x5fafd6
mov ebx, dword [ebx - 4]
add ecx, 0x23
sub eax, ebx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5fb000
push ecx
push ebx
call fcn.0067bc93
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 - 0x14]
xor ecx, ebp
call fcn.0067ba01
mov esp, ebp
pop ebp
ret 4
call fcn.00691015
int3