joyce8/EMBER2024-capa huggingface dataset:
Function at 0x55a340
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x6f2318
mov eax, dword fs:[0]
push eax
sub esp, 0x40
mov eax, dword [0x82f084]
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 edi, edx
mov esi, ecx
mov dword [ebp - 0x4c], esi
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x40]
mov ebx, dword [ebp + 8]
push 0
mov dword [ebp - 0x44], eax
mov eax, dword [ebp + 0x10]
push 0x762e6f
mov dword [ebp - 0x4c], esi
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
call fcn.00430160
mov dword [ebp - 4], 0
mov eax, edi
cmp dword [edi + 0x14], 0x10
jb 0x55a3b6
mov eax, dword [edi]
push dword [edi + 0x10]
lea ecx, [ebp - 0x40]
push eax
call fcn.00441730
cmp dword [ebx + 0x14], 0x10
mov ecx, eax
mov eax, ebx
jb 0x55a3ce
mov eax, dword [ebx]
push dword [ebx + 0x10]
push eax
call fcn.00441730
mov edx, eax
mov eax, dword [ebp - 0x44]
mov ecx, eax
cmp dword [eax + 0x14], 0x10
jb 0x55a3e6
mov ecx, dword [eax]
push dword [eax + 0x10]
push ecx
mov ecx, edx
call fcn.00441730
mov edx, eax
mov eax, dword [ebp - 0x48]
mov ecx, eax
cmp dword [eax + 0x14], 0x10
jb 0x55a400
mov ecx, dword [eax]
push dword [eax + 0x10]
push ecx
mov ecx, edx
call fcn.00441730
cmp dword [ebp - 0x2c], 0x10
lea edi, [ebp - 0x40]
mov ebx, dword [ebp - 0x30]
mov edx, 0x811c9dc5
cmovae edi, dword [ebp - 0x40]
xor ecx, ecx
test ebx, ebx
je 0x55a435
movzx eax, byte [ecx + edi]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, ebx
jb 0x55a424
push edx
lea eax, [ebp - 0x13]
push eax
call fcn.005253b0
mov ecx, eax
mov dword [esi + 0x10], 0
lea eax, [ebp - 0x13]
mov dword [esi + 0x14], 0xf
add esp, 8
mov byte [esi], 0
cmp ecx, eax
je 0x55a467
sub eax, ecx
push eax
push ecx
mov ecx, esi
call fcn.00430160
mov edx, dword [ebp - 0x2c]
cmp edx, 0x10
jb 0x55a497
mov ecx, dword [ebp - 0x40]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x55a48d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x55a4b5
push edx
push ecx
call fcn.0067d913
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.0067d681
mov esp, ebp
pop ebp
ret
call fcn.00692c95
int3
Function at 0x55b820
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x6f2520
mov eax, dword fs:[0]
push eax
sub esp, 0x38
mov eax, dword [0x82f084]
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 ebx, dword [ebp + 8]
lea ecx, [ebp - 0x28]
mov esi, dword [ebp + 0xc]
push 1
push 0x784f84
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
call fcn.00430160
mov dword [ebp - 4], 0
mov edi, dword [esi]
mov esi, dword [esi + 4]
cmp edi, esi
je 0x55b8f6
push edi
lea ecx, [ebp - 0x40]
call fcn.00440f20
mov byte [ebp - 4], 1
lea eax, [ebp - 0x40]
cmp dword [ebp - 0x2c], 0x10
lea ecx, [ebp - 0x28]
push dword [ebp - 0x30]
cmovae eax, dword [ebp - 0x40]
push eax
call fcn.00441730
push 1
push 0x784f84
mov ecx, eax
call fcn.00441730
mov byte [ebp - 4], 0
mov edx, dword [ebp - 0x2c]
cmp edx, 0x10
jb 0x55b8ef
mov ecx, dword [ebp - 0x40]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x55b8e5
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x55b9a3
push edx
push ecx
call fcn.0067d913
add esp, 8
add edi, 0x18
cmp edi, esi
jne 0x55b885
cmp dword [ebp - 0x14], 0x10
lea esi, [ebp - 0x28]
mov edi, dword [ebp - 0x18]
mov edx, 0x811c9dc5
cmovae esi, dword [ebp - 0x28]
xor ecx, ecx
test edi, edi
je 0x55b921
nop
movzx eax, byte [ecx + esi]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, edi
jb 0x55b910
push edx
lea eax, [ebp - 0x2b]
push eax
call fcn.005253b0
mov ecx, eax
mov dword [ebx + 0x10], 0
lea eax, [ebp - 0x2b]
mov dword [ebx + 0x14], 0xf
add esp, 8
mov byte [ebx], 0
cmp ecx, eax
je 0x55b953
sub eax, ecx
push eax
push ecx
mov ecx, ebx
call fcn.00430160
mov edx, dword [ebp - 0x14]
cmp edx, 0x10
jb 0x55b983
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x55b979
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x55b9a3
push edx
push ecx
call fcn.0067d913
add esp, 8
mov eax, ebx
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.0067d681
mov esp, ebp
pop ebp
ret 8
call fcn.00692c95
int3
Function at 0x55f120
Capabilities:
Get process heap force flags

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x6f2aa0
mov eax, dword fs:[0]
push eax
sub esp, 0x44
mov eax, dword [0x82f084]
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 - 0x44], ecx
mov eax, dword [ebp + 0x10]
lea ecx, [ebp - 0x40]
mov esi, dword [ebp + 8]
mov ebx, 0x2a
mov edi, dword [ebp + 0xc]
push 0
push 0x762e6f
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
call fcn.00430160
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x28]
push 0
push 0x762e6f
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
call fcn.00430160
mov ecx, dword [ebp - 0x44]
lea eax, [ebp - 0x40]
push eax
mov byte [ebp - 4], 1
push esi
mov ecx, dword [ecx + 4]
lea eax, [ecx + 0x30]
push eax
lea eax, [ecx + 0x18]
push eax
push ecx
call fcn.0055a550
cmp dword [ebp - 0x30], 0
xorps xmm0, xmm0
movlpd qword [ebp - 0x50], xmm0
je 0x55f260
push dword [ebp - 0x48]
mov ecx, dword [ebp - 0x44]
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.0055a980
mov esi, dword [ebp - 0x18]
test esi, esi
jne 0x55f22e
push 0x85656c
call fcn.00681284
add esp, 4
test eax, eax
jne 0x55f309
lea eax, [ebp - 0x40]
push eax
call fcn.0056bb80
mov byte [ebp - 4], 2
push 0x85656c
call fcn.006812a9
add esp, 4
test eax, eax
jne 0x55f30f
jmp 0x55f260
push 0
push 0
call fcn.005a06b0
add esp, 8
cmp dword [ebp - 0x4c], edx
jb 0x55f2bc
ja 0x55f246
cmp dword [ebp - 0x50], eax
jbe 0x55f2bc
lea eax, [ebp - 0x28]
cmp edi, eax
je 0x55f25e
cmp dword [ebp - 0x14], 0x10
mov ecx, edi
push esi
cmovae eax, dword [ebp - 0x28]
push eax
call fcn.00430160
xor ebx, ebx
mov edx, dword [ebp - 0x14]
cmp edx, 0x10
jb 0x55f294
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x55f28a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x55f315
push edx
push ecx
call fcn.0067d913
add esp, 8
mov edx, dword [ebp - 0x2c]
cmp edx, 0x10
jb 0x55f2e9
mov ecx, dword [ebp - 0x40]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x55f2df
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x55f315
jmp 0x55f2df
push 0x85656c
call fcn.00681284
add esp, 4
test eax, eax
jne 0x55f31a
lea eax, [ebp - 0x40]
push eax
call fcn.0056bb80
mov byte [ebp - 4], 3
jmp 0x55f217
push edx
push ecx
call fcn.0067d913
add esp, 8
mov eax, ebx
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.0067d681
mov esp, ebp
pop ebp
ret 0xc
push eax
call fcn.00681576
push eax
call fcn.00681576
call fcn.00692c95
push eax
call fcn.00681576
int3
Function at 0x56cd90
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x6f4090
mov eax, dword fs:[0]
push eax
sub esp, 0x1c
push ebx
push esi
push edi
mov eax, dword [0x82f084]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x14], edi
mov edx, dword [ebp + 0xc]
mov ebx, dword [ebp + 8]
mov dword [ebp - 0x10], edx
mov dword [ebp - 0x18], edx
cmp dword [edx + 0x14], 0x10
jb 0x56cdd4
mov eax, dword [edx]
mov dword [ebp - 0x18], eax
xor ecx, ecx
mov esi, 0x811c9dc5
cmp dword [edx + 0x10], ecx
jbe 0x56cdf8
mov edi, dword [ebp - 0x18]
movzx eax, byte [ecx + edi]
inc ecx
xor eax, esi
imul esi, eax, 0x1000193
cmp ecx, dword [edx + 0x10]
jb 0x56cde3
mov edi, dword [ebp - 0x14]
push esi
push edx
lea eax, [ebp - 0x1c]
mov ecx, edi
push eax
call fcn.004e70c0
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x56ce17
mov dword [ebx], eax
mov byte [ebx + 4], 0
jmp 0x56cf52
cmp dword [edi + 8], 0x71c71c7
je 0x56cf68
lea eax, [edi + 4]
mov dword [ebp - 0x24], eax
mov dword [ebp - 4], 0
push 0x24
mov dword [ebp - 0x20], 0
call fcn.0067d692
add esp, 4
mov edi, eax
mov dword [ebp - 0x20], edi
push dword [ebp - 0x10]
lea ecx, [edi + 8]
call fcn.00440f20
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 0x18]
mov dword [edi + 0x20], ecx
mov edx, dword [ebp - 0x14]
mov dword [ebp - 4], 1
mov eax, dword [edx + 8]
inc eax
movss xmm3, dword [edx]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x7e8490]
mov eax, dword [edx + 0x1c]
mov dword [ebp - 0x10], eax
movd xmm1, eax
cvtdq2pd xmm1, xmm1
shr eax, 0x1f
cvtpd2ps xmm0, xmm0
addsd xmm1, qword [eax*8 + 0x7e8490]
movaps xmm2, xmm0
cvtpd2ps xmm1, xmm1
divss xmm2, xmm1
comiss xmm2, xmm3
jbe 0x56cf05
divss xmm0, xmm3
call fcn.00472eb0
call fcn.006d3770
mov ecx, 8
cmp eax, ecx
cmova ecx, eax
mov eax, dword [ebp - 0x10]
cmp eax, ecx
jae 0x56cede
cmp eax, 0x200
jae 0x56cedc
shl eax, 3
cmp eax, ecx
jae 0x56cede
mov eax, ecx
mov ecx, dword [ebp - 0x14]
push eax
call fcn.004e6890
mov ecx, dword [ebp - 0x14]
lea eax, [edi + 8]
push esi
push eax
lea eax, [ebp - 0x1c]
push eax
call fcn.004e70c0
mov edx, dword [ebp - 0x14]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x18], eax
jmp 0x56cf08
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ecx + 4]
inc dword [edx + 8]
mov dword [edi + 4], eax
mov dword [edi], ecx
mov dword [eax], edi
mov dword [ecx + 4], edi
mov dword [ebp - 0x18], eax
mov eax, dword [edx + 0x18]
and eax, esi
mov dword [ebp - 0x10], ecx
mov ecx, dword [edx + 0xc]
mov esi, dword [ebp - 0x24]
mov edx, dword [ecx + eax*8]
cmp edx, dword [esi]
jne 0x56cf35
mov dword [ecx + eax*8], edi
jmp 0x56cf48
cmp edx, dword [ebp - 0x10]
jne 0x56cf3f
mov dword [ecx + eax*8], edi
jmp 0x56cf4c
mov edx, dword [ebp - 0x18]
cmp dword [ecx + eax*8 + 4], edx
jne 0x56cf4c
mov dword [ecx + eax*8 + 4], edi
mov dword [ebx], edi
mov byte [ebx + 4], 1
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 8
push str.unordered_map_set_too_long
call fcn.0067e976
int3
Function at 0x56d560
Capabilities:
Access peb ldr_data
Get ntdll base address

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x6f410e
mov eax, dword fs:[0]
push eax
sub esp, 8
push esi
push edi
mov eax, dword [0x82f084]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x10], esi
mov dword [ebp - 0x14], esi
mov dword [esi + 4], 0
mov dword [esi + 8], 0
mov dword [esi + 0xc], 0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
mov dword [esi + 0x18], 0
mov dword [esi + 0x1c], 0
mov dword [ebp - 4], 0
mov dword [esi + 0x24], 0
mov dword [esi + 0x28], 0
mov dword [esi + 0x2c], 0
mov dword [esi + 0x30], 0
mov dword [esi + 0x34], 0
mov dword [esi + 0x38], 0
mov dword [esi + 0x3c], 0
lea ecx, [esi + 0x40]
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0
mov eax, dword [ebp + 0xc]
mov edi, dword [ebp + 0x14]
mov edx, dword [ebp + 0x20]
mov byte [ebp - 4], 2
mov dword [esi + 0x50], eax
mov eax, dword [ebp + 8]
mov dword [esi + 0x54], eax
mov eax, dword [ebp + 0x1c]
mov dword [esi + 0x5c], eax
mov eax, dword [ebp + 0x18]
mov dword [esi + 0x58], edi
mov dword [esi + 0x60], edx
mov byte [esi + 0x64], 0
mov dword [esi + 0x68], eax
test byte [edi + 8], 8
je 0x56d64a
test dl, 0x10
jne 0x56d64a
mov al, 1
jmp 0x56d64c
xor al, al
mov edx, dword [ebp + 0x10]
mov byte [esi + 0x6c], al
mov dword [esi + 0x70], edx
push dword [edi + 0x18]
call fcn.0050eee0
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0x1c
Function at 0x589f90
Capabilities:
Get process heap flags

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x6f6ebe
mov eax, dword fs:[0]
push eax
sub esp, 0xc
push ebx
push esi
push edi
mov eax, dword [0x82f084]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x10], 0
xor eax, eax
mov dword [ebx], vtable.adobe::ngl::internal::LogTargetBase.0
mov dword [ebx + 0x18], 0
mov dword [ebx + 0x1c], 7
mov word [ebx + 8], ax
mov dword [ebp - 4], eax
mov dword [ebx + 0x30], eax
mov dword [ebx + 0x34], 7
mov word [ebx + 0x20], ax
mov dword [ebx + 0x48], eax
mov dword [ebx + 0x4c], 7
mov word [ebx + 0x38], ax
mov dword [ebx + 0x60], eax
mov dword [ebx + 0x64], 7
mov word [ebx + 0x50], ax
lea edi, [ebx + 0x78]
mov dword [ebx + 0x70], 0x708
mov dword [ebx + 0x74], eax
mov dword [ebp - 0x18], edi
mov dword [edi], 0x78246c
mov dword [edi + 0x10], 0x775888
mov dword [edi + 0x78], vtable.std::basic_ios_wchar_t__struct_std::char_traits_wchar_t__.0
push ecx
lea esi, [edi + 0x18]
mov byte [ebp - 4], 4
push esi
mov ecx, edi
mov dword [ebp - 0x10], 1
call fcn.00482d00
mov dword [ebp - 4], 5
mov eax, dword [edi]
push ecx
mov ecx, esi
mov eax, dword [eax + 4]
mov dword [edi + eax], vtable.std::basic_fstream_wchar_t__struct_std::char_traits_wchar_t__.0
mov eax, dword [edi]
mov edx, dword [eax + 4]
lea eax, [edx - 0x78]
mov dword [edx + edi - 4], eax
call fcn.0051bc20
mov ecx, ebx
mov byte [ebp - 4], 6
call fcn.0058a150
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 0x595220
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x6f7e16
mov eax, dword fs:[0]
push eax
sub esp, 8
push esi
mov eax, dword [0x82f084]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x10], esi
mov dword [ebp - 0x14], esi
push 0
push 0x762e6f
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0xf
mov byte [esi], 0
call fcn.00430160
mov dword [ebp - 4], 0
mov dword [esi + 0x18], 0
mov dword [esi + 0x1c], 0
mov dword [esi + 0x20], 0
mov dword [esi + 0x24], 0
mov dword [esi + 0x28], 0
mov dword [esi + 0x2c], 0
mov dword [esi + 0x30], 0
mov dword [esi + 0x34], 0
mov dword [esi + 0x38], 0
lea ecx, [esi + 0x3c]
mov dword [ebp - 0x10], ecx
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0
add ecx, 0xc
mov byte [ebp - 4], 3
push 0
push 0x762e6f
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
mov byte [ecx], 0
call fcn.00430160
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov esp, ebp
pop ebp
ret
Function at 0x598ab0
Capabilities:
Get process heap force flags

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x6f8494
mov eax, dword fs:[0]
push eax
sub esp, 0x14
push ebx
push esi
push edi
mov eax, dword [0x82f084]
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.00440f20
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x10]
push esi
add ecx, 0x18
call fcn.00440f20
mov byte [ebp - 4], 3
push edi
mov edi, dword [ebp - 0x10]
lea ecx, [edi + 0x30]
call fcn.00440f20
push ebx
lea ecx, [edi + 0x48]
mov byte [ebp - 4], 4
call fcn.00440f20
push dword [ebp - 0x14]
lea ecx, [edi + 0x60]
mov byte [ebp - 4], 5
call fcn.00440f20
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.00440f20
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 0x598b8b
mov eax, dword [esi]
mov ebx, dword [esi + 0x10]
push 0xd
push str.FRL_CONNECTED
push ebx
push eax
call fcn.004ad620
add esp, 0x10
test eax, eax
jne 0x598baf
mov dword [edi + 0x9c], 2
jmp 0x598c2e
cmp dword [esi + 0x14], 0x10
mov eax, esi
jb 0x598bb9
mov eax, dword [esi]
push 7
push str.FRL_LAN
push ebx
push eax
call fcn.004ad620
add esp, 0x10
test eax, eax
jne 0x598bda
mov dword [edi + 0x9c], 4
jmp 0x598c2e
cmp dword [esi + 0x14], 0x10
mov eax, esi
jb 0x598be4
mov eax, dword [esi]
push 0xc
push str.FRL_ISOLATED
push ebx
push eax
call fcn.004ad620
add esp, 0x10
test eax, eax
jne 0x598c05
mov dword [edi + 0x9c], 3
jmp 0x598c2e
cmp dword [esi + 0x14], 0x10
jb 0x598c0d
mov esi, dword [esi]
push 0x18
push str.NAMED_USER_EDUCATION_LAB
push ebx
push esi
call fcn.004ad620
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 0x598c5f
mov esi, dword [ecx]
mov eax, dword [ebp + 0x24]
mov dword [ebp + 0x24], 0
mov dword [ecx], eax
test esi, esi
je 0x598c5f
mov ecx, esi
call fcn.00468e50
push 0x30
push esi
call fcn.0067d913
add esp, 8
lea eax, [ebp + 0x28]
lea edx, [edi + 0x98]
cmp edx, eax
je 0x598c84
mov ecx, dword [edx]
mov eax, dword [ebp + 0x28]
mov dword [ebp + 0x28], 0
mov dword [edx], eax
test ecx, ecx
je 0x598c84
push ecx
call fcn.00599390
mov al, 1
lea ecx, [edi + 0xa1]
xchg byte [ecx], al
mov esi, dword [ebp + 0x24]
test esi, esi
je 0x598ca7
mov ecx, esi
call fcn.00468e50
push 0x30
push esi
call fcn.0067d913
add esp, 8
mov ecx, dword [ebp + 0x28]
test ecx, ecx
je 0x598cb4
push ecx
call fcn.00599390
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 0x598cd0
Capabilities:
Get process heap flags

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x6f855e
mov eax, dword fs:[0]
push eax
sub esp, 0xc
push ebx
push esi
push edi
mov eax, dword [0x82f084]
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.0067d692
mov esi, eax
add esp, 4
mov dword [ebp - 0x10], esi
mov byte [ebp - 4], 8
mov ecx, esi
push 0
push 0x762e6f
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 0x75c174
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 0x598e2c
mov ecx, edi
call fcn.00468e50
push 0x30
push edi
call fcn.0067d913
add esp, 8
push 0x38
call fcn.0067d692
mov edi, eax
mov dword [ebp - 0x10], edi
push 0x38
push 0
push edi
mov byte [ebp - 4], 0xa
call fcn.00690480
add esp, 0x10
mov dword [edi + 0x10], 0
mov ecx, edi
mov dword [edi + 0x14], 0xf
mov byte [edi], 0
push 0
push 0x762e6f
call fcn.00430160
lea ecx, [edi + 0x18]
mov byte [ebp - 4], 0xb
push 0
push 0x762e6f
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.0067d692
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.0067d692
mov esi, eax
mov dword [ebp - 0x18], esi
push 0x60
push 0
push esi
mov byte [ebp - 4], 0xe
call fcn.00690480
add esp, 0x14
mov ecx, esi
call fcn.00595220
mov dword [edi + 0x34], eax
mov eax, dword [ebx + 0x98]
mov dword [ebx + 0x98], edi
test eax, eax
je 0x598f12
push eax
call fcn.00599390
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 0x5a2990
Capabilities:
Get number of processors

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x6f9458
mov eax, dword fs:[0]
push eax
sub esp, 0x10
push ebx
push esi
push edi
mov eax, dword [0x82f084]
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.00441b20
mov dword [ebp - 4], 0xffffffff
add esp, 4
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x18], eax
test ecx, ecx
je 0x5a2a0a
mov eax, dword [ecx]
call dword [eax + 8]
mov ecx, eax
test ecx, ecx
je 0x5a2a0a
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.005a3b40
or dword [ebx], eax
add esp, 0x1c
test al, 2
jne 0x5a2a56
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x45
jge 0x5a2a48
lea eax, [ecx + 0x64]
mov dword [esi + 0x14], eax
jmp 0x5a2a56
cmp ecx, 0x64
jl 0x5a2a53
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