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

Disassembly:
sub esp, 0x10c
push ebx
push ebp
push esi
mov esi, dword [esp + 0x124]
push edi
mov eax, dword [esi + 8]
mov ebx, dword [esi]
mov edi, dword [esi + 4]
mov ecx, dword [esi + 0x124]
sub eax, 2
mov dword [esp + 0x14], ebx
mov dword [esp + 0x10], edi
mov dword [esp + 0x18], ecx
je 0x100061c2
dec eax
je 0x100060c6
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x10c
ret 0xc
mov ecx, dword [esi + 0x20]
push esi
mov edi, ecx
lea eax, [esp + 0x20]
and ecx, 0x1f
mov ebx, 1
push 1
push eax
shr edi, 5
shl ebx, cl
call fcn.10005610
test eax, eax
mov ebp, dword [esp + 0x124]
je 0x10006104
push esi
push 1
push ebp
call fcn.10005610
test eax, eax
je 0x10006104
mov eax, 1
jmp 0x10006106
xor eax, eax
mov ecx, dword [esp + 0x10]
lea edi, [esp + edi*4 + 0x1c]
cmp ecx, 1
mov dword [edi], ebx
je 0x10006177
dec ecx
mov dword [esp + 0x10], ecx
test eax, eax
je 0x10006164
lea ecx, [esp + 0x1c]
push esi
lea edx, [esp + 0x20]
push ecx
lea eax, [esp + 0x24]
push edx
push eax
call fcn.10005990
test eax, eax
je 0x10006164
push esi
push ebp
push ebp
push ebp
call fcn.10005990
test eax, eax
je 0x10006164
mov ecx, dword [esp + 0x120]
push esi
push ebp
push ebp
lea edx, [esp + 0x28]
push ecx
push edx
call fcn.10005a00
test eax, eax
je 0x10006164
mov eax, 1
jmp 0x10006166
xor eax, eax
mov edx, dword [edi]
mov ecx, dword [esp + 0x10]
xor edx, ebx
dec ecx
mov dword [edi], edx
mov dword [esp + 0x10], ecx
jne 0x1000611a
test eax, eax
je 0x100060b7
lea eax, [esp + 0x1c]
push esi
push eax
push ebp
push ebp
push ebp
call fcn.10005a00
test eax, eax
je 0x100060b7
mov ecx, dword [esp + 0x120]
push esi
lea edx, [esp + 0x20]
push ecx
push edx
call fcn.10023657
test eax, eax
je 0x100060b7
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x10c
ret 0xc
xor esi, esi
xor edx, edx
test edi, edi
mov edi, dword [esp + 0x124]
je 0x10006219
mov ebx, dword [esp + 0x120]
mov eax, edx
shr eax, 5
mov ecx, edx
mov ebx, dword [ebx + eax*4]
and ecx, 0x1f
shr ebx, cl
mov ebp, dword [edi + eax*4]
and ebx, 1
xor esi, ebx
mov ebx, esi
not ebx
and ebx, 1
shl ebx, cl
not ebx
and ebx, ebp
mov ebp, esi
and ebp, 1
shl ebp, cl
or ebx, ebp
inc edx
mov dword [edi + eax*4], ebx
mov eax, dword [esp + 0x10]
cmp edx, eax
jne 0x100061d1
mov ebx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [edi + ebx*4 - 4]
xor eax, eax
test esi, esi
sete al
shl edx, cl
shr edx, cl
mov dword [edi + ebx*4 - 4], edx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10c
ret 0xc

Function at 0x10007440
Capabilities:
Get system information on windows

Disassembly:
sub esp, 0x24
lea eax, [esp]
push eax
call dword [sym.imp.kernel32.dll_GetSystemInfo]
mov eax, dword [esp + 0x18]
sub eax, 0x182
je 0x10007474
sub eax, 0x64
je 0x10007474
sub eax, 0x64
cmp word [esp + 0x20], 6
jb 0x10007474
push 0xc
call fcn.1000d220
add esp, 0x24
ret
push 4
call fcn.1000d220
add esp, 0x24
ret
Function at 0x1000c770
Capabilities:
Encode data using xor

Disassembly:
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x10]
sub esp, 0x51c
lea edx, [eax + 0x1f]
push ebx
push ebp
lea ebp, [ecx + 0x1f]
push esi
shr edx, 5
shr ebp, 5
cmp edx, ebp
mov ebx, edx
ja 0x1000c795
mov ebx, ebp
mov ecx, dword [esp + 0x53c]
xor esi, esi
xor eax, eax
cmp ecx, esi
setne al
cmp ebx, esi
mov dword [esp + 0xc], eax
je 0x1000c99c
cmp ebx, 0x40
ja 0x1000c99c
lea eax, [esp + 0x324]
mov ecx, ebx
mov dword [eax - 0x204], esi
mov dword [eax], esi
mov dword [eax - 0x104], esi
mov dword [eax + 0x100], esi
add eax, 4
dec ecx
jne 0x1000c7c3
mov ecx, dword [esp + 0x120]
mov esi, dword [esp + 0x52c]
xor ecx, 1
push edi
mov dword [esp + 0x124], ecx
mov ecx, edx
lea edi, [esp + 0x224]
push edx
rep movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x53c]
lea ecx, [ebp*4]
mov dword [esp + 0x24], ecx
mov eax, ecx
lea edi, [esp + 0x42c]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x534]
push ecx
call fcn.10023657
push ebp
mov edx, dword [esp + 0x53c]
mov dword [esp + 0x328], eax
push edx
call fcn.10023657
xor edx, edx
mov dword [esp + 0x528], eax
mov eax, edx
mov dword [esp + 0x18], edx
shl eax, 7
add eax, edx
shl eax, 2
mov ecx, eax
neg ecx
mov esi, dword [esp + ecx + 0x528]
test esi, esi
je 0x1000c93e
lea esi, [esp + eax + 0x124]
lea ebp, [esp + ecx + 0x328]
mov dword [esp + 0x1c], ebp
mov eax, dword [esi + 0x200]
mov ecx, dword [ebp + 0x200]
cmp eax, ecx
jb 0x1000c930
sub eax, ecx
push ebx
mov edi, eax
lea eax, [esp + 0x28]
push eax
lea eax, [ebp + 0x100]
push edi
push eax
call fcn.1000b030
lea edx, [esi + 0x100]
lea ecx, [esp + 0x24]
mov eax, edx
mov dword [esp + 0x14], ebx
mov ebp, dword [ecx]
add ecx, 4
xor dword [eax], ebp
mov ebp, dword [esp + 0x14]
add eax, 4
dec ebp
mov dword [esp + 0x14], ebp
jne 0x1000c8c2
push ebx
push edx
call fcn.10023657
mov dword [esi + 0x200], eax
mov eax, dword [esp + 0x10]
test eax, eax
je 0x1000c914
mov ebp, dword [esp + 0x1c]
lea ecx, [esp + 0x24]
push ebx
push ecx
push edi
push ebp
call fcn.1000b030
lea ecx, [esp + 0x24]
mov eax, esi
sub ecx, esi
mov edx, ebx
mov edi, dword [ecx + eax]
xor dword [eax], edi
add eax, 4
dec edx
jne 0x1000c907
jmp 0x1000c918
mov ebp, dword [esp + 0x1c]
mov eax, dword [esi + 0x200]
mov ecx, dword [ebp + 0x200]
cmp eax, ecx
jae 0x1000c89b
mov edx, dword [esp + 0x18]
mov eax, 1
sub eax, edx
mov edx, eax
jmp 0x1000c854
mov edi, dword [esp + 0x544]
test edi, edi
je 0x1000c95b
mov eax, edx
mov ecx, ebx
shl eax, 7
add eax, edx
lea esi, [esp + eax*4 + 0x224]
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x10]
test eax, eax
je 0x1000c98a
mov ecx, dword [esp + 0x20]
mov edi, dword [esp + 0x540]
mov eax, edx
shl eax, 7
add eax, edx
mov edx, ecx
shr ecx, 2
lea esi, [esp + eax*4 + 0x124]
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x51c
ret 0x18
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x51c
ret 0x18
Function at 0x10023657
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x60
pushal
call 0x10023666
pop dword [ebp - 0x50]
mov eax, 0xb6ae116a
sub eax, 0xa6abdb04
sub dword [ebp - 0x50], eax
push 0x40
push 0x1000
push 0x37d72
push 0
mov eax, 0x6f198a56
add eax, 0xa0e8e6a6
add eax, dword [ebp - 0x50]
call dword [eax]
mov ecx, 0x2a0a650e
add ecx, 0xd5f5d64e
xor ebx, ebx
add ebx, eax
mov edx, 0x468838c0
sub edx, 0x36845ec0
add edx, dword [ebp - 0x50]
mov edi, 0x5c92cec0
xor dword [ebp - 0x30], 0xaecd3de0
mov esi, dword [edx]
xor dword [ebp - 0xc], ebx
add esi, edi
mov dword [ebp - 0x28], 0x78976b41
mov dword [ebx], esi
xor dword [ebp - 0x30], ecx
add ebx, 0x88c2ef99
sub ebx, 0x88c2ef95
add edx, 0x7c7d8d3b
sub edx, 0x7c7d8d37
loop 0x100236c1
add eax, 0x1453bd30
add eax, 0xebad2313
mov ebx, eax
add eax, 0x6169afb
add eax, 0xf9e9650a
mov ecx, 0xa30875c2
add ecx, 0x6cf78a3e
add ecx, dword [ebp - 0x50]
call ebx
leave
ret

Function at 0x403d61
Capabilities:
Encode data using xor

Disassembly:
push eax
push ebx
mov eax, 0x499
mov ecx, 0x404498
mov bl, byte [ecx]
sub bl, 0xf2
rol bl, 2
sub bl, cl
ror bl, 1
mov byte [ecx], bl
dec ecx
dec eax
jne 0x403d6d
mov eax, 0x261d
mov ecx, 0x403764
mov bl, byte [ecx]
rol bl, 7
ror bl, 2
sub bl, cl
xor bl, 0x91
mov byte [ecx], bl
dec ecx
dec eax
jne 0x403d8a
pop ebx
pop eax
add ecx, 0x2c1a
jmp ecx

Function at 0x403d61
Capabilities:
Encode data using xor

Disassembly:
push eax
push ebx
mov eax, 0x499
mov ecx, 0x404498
mov bl, byte [ecx]
sub bl, 0xf2
rol bl, 2
sub bl, cl
ror bl, 1
mov byte [ecx], bl
dec ecx
dec eax
jne 0x403d6d
mov eax, 0x261d
mov ecx, 0x403764
mov bl, byte [ecx]
rol bl, 7
ror bl, 2
sub bl, cl
xor bl, 0x91
mov byte [ecx], bl
dec ecx
dec eax
jne 0x403d8a
pop ebx
pop eax
add ecx, 0x2c1a
jmp ecx

Function at 0x403d61
Capabilities:
Encode data using xor

Disassembly:
push eax
push ebx
mov eax, 0x499
mov ecx, 0x404498
mov bl, byte [ecx]
sub bl, 0xf2
rol bl, 2
sub bl, cl
ror bl, 1
mov byte [ecx], bl
dec ecx
dec eax
jne 0x403d6d
mov eax, 0x261d
mov ecx, 0x403764
mov bl, byte [ecx]
rol bl, 7
ror bl, 2
sub bl, cl
xor bl, 0x91
mov byte [ecx], bl
dec ecx
dec eax
jne 0x403d8a
pop ebx
pop eax
add ecx, 0x2c1a
jmp ecx
Function at 0x10008960
Capabilities:
Access peb ldr_data
Get kernel32 base address

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100e45bd
mov eax, dword fs:[0]
push eax
push ecx
push esi
mov eax, dword [0x10142008]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x10], esi
mov ecx, 0x10146148
call fcn.100e3445
mov dword [esi], vtable.RC::IAntiVMainEngine.0
mov dword [ebp - 4], 1
mov dword [esi], vtable.RC::RCAntiVMainEngine.0
mov word [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 [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
mov dword [ebp - 4], 0xffffffff
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 0x1001cde0
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100e40ff
mov eax, dword fs:[0]
push eax
sub esp, 0x1c
push ebx
push esi
push edi
mov eax, dword [0x10142008]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov ecx, 0x10146148
call fcn.100e3445
cmp dword [edi], 0
jne 0x1001cec4
push str.wintrust.dll
lea ecx, [ebp - 0x28]
call fcn.10003030
mov dword [ebp - 4], 0
lea eax, [ebp - 0x28]
push eax
call fcn.100a4310
mov ecx, eax
call fcn.100a4400
mov ebx, eax
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x28]
call fcn.10003460
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 4], 0xffffffff
test ebx, ebx
jne 0x1001ce7d
mov dword [edi + 0x18], 3
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.CryptCATAdminCalcHashFromFileHandle
push ebx
call esi
push str.CryptCATAdminAcquireContext
push ebx
mov dword [edi], eax
call esi
push str.CryptCATAdminEnumCatalogFromHash
push ebx
mov dword [edi + 4], eax
call esi
push str.CryptCATCatalogInfoFromContext
push ebx
mov dword [edi + 8], eax
call esi
push str.CryptCATAdminReleaseContext
push ebx
mov dword [edi + 0xc], eax
call esi
push str.CryptCATAdminReleaseCatalogContext
push ebx
mov dword [edi + 0x10], eax
call esi
mov dword [edi + 0x14], eax
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 0x100260c0
Capabilities:
Get process heap flags

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100e9c05
mov eax, dword fs:[0]
push eax
sub esp, 0xc
push esi
mov eax, dword [0x10142008]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x10], esi
mov ecx, 0x10145cb5
call fcn.100e3445
mov dword [ebp - 0x14], esi
mov dword [ebp - 4], 0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
mov dword [ebp - 4], 3
xor eax, eax
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 7
mov word [esi], ax
mov dword [ebp - 4], 4
lea eax, [esi + 0x18]
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 5
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0
mov byte [ebp - 4], 8
xor ecx, ecx
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
mov byte [ebp - 4], 9
lea eax, [esi + 0x30]
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0xa
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], ecx
mov byte [ebp - 4], 0xd
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], 7
mov word [eax], cx
mov byte [ebp - 4], 0xe
lea eax, [esi + 0x48]
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0xf
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], ecx
mov byte [ebp - 4], 0x12
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], 7
mov word [eax], cx
mov byte [ebp - 4], 0x13
mov dword [esi + 0x60], ecx
mov dword [esi + 0x64], ecx
mov dword [esi + 0x68], ecx
mov dword [esi + 0x70], ecx
mov dword [esi + 0x74], ecx
mov dword [esi + 0x78], 1
mov dword [ebp - 4], 0xffffffff
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 0x10026640
Capabilities:
Get process heap flags
Get process heap force flags

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100e9d65
mov eax, dword fs:[0]
push eax
sub esp, 8
push esi
push edi
mov eax, dword [0x10142008]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x10], edi
mov dword [ebp - 4], 2
lea esi, [edi + 0x48]
mov dword [ebp - 0x14], esi
mov byte [ebp - 4], 4
mov ecx, esi
call fcn.10003460
mov byte [ebp - 4], 2
mov byte [ebp - 4], 1
lea esi, [edi + 0x30]
mov dword [ebp - 0x14], esi
mov byte [ebp - 4], 8
mov ecx, esi
call fcn.10003460
mov byte [ebp - 4], 1
mov byte [ebp - 4], 0
lea esi, [edi + 0x18]
mov dword [ebp - 0x14], esi
mov byte [ebp - 4], 0xc
mov ecx, esi
call fcn.10003460
mov byte [ebp - 4], 0
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x14], edi
mov dword [ebp - 4], 0x10
mov ecx, edi
call fcn.10003460
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
Function at 0x10027180
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100ea1f5
mov eax, dword fs:[0]
push eax
sub esp, 8
push esi
push edi
mov eax, dword [0x10142008]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x10], edi
mov ecx, 0x10146148
call fcn.100e3445
mov dword [ebp - 4], 0xb
lea esi, [edi + 0x13c]
mov dword [ebp - 0x14], esi
mov byte [ebp - 4], 0xd
mov ecx, esi
call fcn.10003460
mov byte [ebp - 4], 0xb
mov byte [ebp - 4], 0xa
lea esi, [edi + 0x124]
mov dword [ebp - 0x14], esi
mov byte [ebp - 4], 0x11
mov ecx, esi
call fcn.10003460
mov byte [ebp - 4], 0xa
mov byte [ebp - 4], 9
lea esi, [edi + 0x10c]
mov dword [ebp - 0x14], esi
mov byte [ebp - 4], 0x15
mov ecx, esi
call fcn.10003460
mov byte [ebp - 4], 9
mov byte [ebp - 4], 8
lea esi, [edi + 0xf4]
mov dword [ebp - 0x14], esi
mov byte [ebp - 4], 0x19
mov ecx, esi
call fcn.10003460
mov byte [ebp - 4], 8
mov byte [ebp - 4], 7
lea esi, [edi + 0xdc]
mov dword [ebp - 0x14], esi
mov byte [ebp - 4], 0x1d
mov ecx, esi
call fcn.10003460
mov byte [ebp - 4], 7
mov byte [ebp - 4], 6
lea esi, [edi + 0xc4]
mov dword [ebp - 0x14], esi
mov byte [ebp - 4], 0x21
mov ecx, esi
call fcn.10003460
mov byte [ebp - 4], 6
mov byte [ebp - 4], 5
lea esi, [edi + 0xac]
mov dword [ebp - 0x14], esi
mov byte [ebp - 4], 0x25
mov ecx, esi
call fcn.10003460
mov byte [ebp - 4], 5
mov byte [ebp - 4], 4
lea esi, [edi + 0x94]
mov dword [ebp - 0x14], esi
mov byte [ebp - 4], 0x29
mov ecx, esi
call fcn.10003460
mov byte [ebp - 4], 4
mov byte [ebp - 4], 3
lea esi, [edi + 0x7c]
mov dword [ebp - 0x14], esi
mov byte [ebp - 4], 0x2d
mov ecx, esi
call fcn.10003460
mov byte [ebp - 4], 3
mov byte [ebp - 4], 2
lea esi, [edi + 0x64]
mov dword [ebp - 0x14], esi
mov byte [ebp - 4], 0x31
mov ecx, esi
call fcn.10003460
mov byte [ebp - 4], 2
mov byte [ebp - 4], 1
lea esi, [edi + 0x4c]
mov dword [ebp - 0x14], esi
mov byte [ebp - 4], 0x35
mov ecx, esi
call fcn.10003460
mov byte [ebp - 4], 1
mov byte [ebp - 4], 0
lea esi, [edi + 0x34]
mov dword [ebp - 0x14], esi
mov byte [ebp - 4], 0x39
mov ecx, esi
call fcn.10003460
mov byte [ebp - 4], 0
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
Function at 0x10029c00
Capabilities:
Get system information on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100ea5c7
mov eax, dword fs:[0]
push eax
sub esp, 0x2c
mov eax, dword [0x10142008]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ecx, 0x10146148
call fcn.100e3445
push 0x30
call fcn.100e0d35
mov esi, eax
mov dword [ebp - 0x38], esi
mov dword [ebp - 4], 0
push 0x30
push 0
push esi
call sub.VCRUNTIME140.dll_memset
add esp, 0x10
mov dword [esi], vtable.RC::DmAvCore::IAvTaskPool.0
mov byte [ebp - 4], 1
lea eax, [esi + 0x24]
mov dword [esi], vtable.RC::DmAvCore::RCImplTaskPool.0
mov dword [esi + 4], 0
mov dword [esi + 8], 0
mov dword [esi + 0x14], 0x8000
mov dword [esi + 0x18], 0
mov dword [esi + 0x1c], 1
mov dword [esi + 0x20], 0
mov dword [eax], 0
mov dword [esi + 0x28], 0
mov dword [esi + 0x2c], 0
mov dword [ebp - 4], 0xffffffff
push 0
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedExchange]
push 0
push 0
push 1
push 0
call dword [sym.imp.KERNEL32.dll_CreateEventW]
mov dword [esi + 0x20], eax
test eax, eax
je 0x10029d80
xorps xmm0, xmm0
mov dword [ebp - 0x14], 0
push str.kernel32.dll
movups xmmword [ebp - 0x34], xmm0
movups xmmword [ebp - 0x24], xmm0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test eax, eax
je 0x10029d12
push str.GetNativeSystemInfo
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x10029d12
lea ecx, [ebp - 0x34]
push ecx
call eax
mov eax, dword [ebp - 0x20]
cmp eax, 0xff
jae 0x10029d12
test eax, eax
jne 0x10029d1f
lea eax, [ebp - 0x34]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov eax, dword [ebp - 0x20]
mov ecx, dword [esi + 0x14]
mov dword [esi + 0x1c], eax
call fcn.1002d7b0
mov dword [esi + 4], eax
test eax, eax
je 0x10029d80
mov ecx, 0x20
call fcn.1002d7b0
mov dword [esi + 8], eax
test eax, eax
je 0x10029d80
mov ecx, 0x20
call fcn.1002d8a0
mov dword [esi + 0xc], eax
test eax, eax
je 0x10029d80
mov edx, dword [eax]
mov ecx, eax
push esi
push 0x1002c520
call dword [edx + 4]
mov ecx, dword [esi + 0x14]
add ecx, ecx
call fcn.1002d8a0
mov dword [esi + 0x10], eax
test eax, eax
je 0x10029d80
mov edx, dword [eax]
mov ecx, eax
push 0
push 0
call dword [edx + 4]
mov eax, esi
jmp 0x10029d82
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.100e0d24
mov esp, ebp
pop ebp
ret
Function at 0x1002a1a0
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x10121a98
push 0x100e1924
mov eax, dword fs:[0]
push eax
sub esp, 0x220
mov eax, dword [0x10142008]
xor dword [ebp - 8], eax
xor eax, ebp
mov dword [ebp - 0x1c], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0x10]
mov dword fs:[0], eax
mov edi, ecx
mov ecx, 0x10146148
call fcn.100e3445
push 0x200
push 0
lea eax, [ebp - 0x220]
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov dword [ebp - 0x20], 0
xor ebx, ebx
mov dword [ebp - 0x224], ebx
mov dword [ebp - 4], ebx
push ebx
mov esi, dword [sym.imp.KERNEL32.dll_SetLastError]
call esi
push 0x48
push edi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
je 0x1002a22a
push 0x1e7
jmp 0x1002a35c
cmp dword [edi + 0x40], 0
je 0x1002a237
push 0x57
jmp 0x1002a35c
mov eax, dword [edi]
test eax, eax
je 0x1002a35a
cmp eax, 0xffffffff
je 0x1002a35a
mov dword [edi + 8], 0
mov dword [edi + 0xc], 0
xorps xmm0, xmm0
movq qword [ebp - 0x230], xmm0
push 0
push 0
push dword [ebp - 0x22c]
push dword [ebp - 0x230]
push eax
call dword [sym.imp.KERNEL32.dll_SetFilePointerEx]
test eax, eax
je 0x1002a35e
push 0
lea eax, [ebp - 0x20]
push eax
push 0x200
lea eax, [ebp - 0x220]
push eax
push dword [edi]
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x1002a35e
cmp dword [ebp - 0x20], 0x200
jne 0x1002a35e
mov eax, 0xaa55
cmp word [ebp - 0x22], ax
jne 0x1002a300
mov al, byte [ebp - 0x220]
cmp al, 0xeb
jne 0x1002a2cf
cmp byte [ebp - 0x21e], 0x90
je 0x1002a2d3
cmp al, 0xe9
jne 0x1002a300
movzx ecx, word [ebp - 0x215]
movzx eax, word [ebp - 0x20f]
shl eax, 5
dec eax
add eax, ecx
cdq
idiv ecx
mov edx, eax
movzx ecx, word [ebp - 0x20a]
test ecx, ecx
cmove ecx, dword [ebp - 0x1fc]
test ecx, ecx
jne 0x1002a304
push 0xd
jmp 0x1002a35c
movzx eax, byte [ebp - 0x210]
imul eax, ecx
movzx ecx, word [ebp - 0x212]
add eax, edx
add ecx, eax
movzx eax, word [ebp - 0x215]
imul eax, ecx
mov dword [edi + 8], eax
mov dword [edi + 0xc], 0
mov eax, dword [edi + 0x34]
cmp eax, 0xff5
jae 0x1002a340
mov dword [edi + 0x40], 3
jmp 0x1002a34d
cmp eax, 0xfff5
sbb eax, eax
add eax, 5
mov dword [edi + 0x40], eax
mov ebx, 1
mov dword [ebp - 0x224], ebx
jmp 0x1002a35e
push 6
call esi
mov dword [ebp - 4], 0xfffffffe
call fcn.1002a394
mov eax, ebx
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x1c]
xor ecx, ebp
call fcn.100e0d24
mov esp, ebp
pop ebp
ret
Function at 0x1002ba50
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100ea62f
mov eax, dword fs:[0]
push eax
sub esp, 0xc
push ebx
push esi
push edi
mov eax, dword [0x10142008]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov ecx, 0x10146148
call fcn.100e3445
xor esi, esi
mov dword [ebp - 0x10], esi
cmp dword [edi + 0x84], esi
jne 0x1002baa7
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14
mov ebx, dword [ebp + 8]
cmp ebx, 0x20
ja 0x1002ba91
lea eax, [edi + 0xa4]
mov dword [ebp - 0x14], eax
cmp dword [eax], esi
jne 0x1002ba91
test ebx, ebx
je 0x1002bbd1
lea eax, [edi + 4]
mov dword [ebp + 8], eax
nop word [eax + eax]
push 0x24
call fcn.100e0d35
mov esi, eax
add esp, 4
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], 0
mov eax, dword [ebp + 0xc]
mov dword [esi + 0x14], eax
mov eax, dword [ebp + 0x10]
mov dword [esi + 0x18], eax
mov eax, dword [ebp + 0x14]
mov dword [esi + 0x1c], eax
mov eax, dword [ebp + 0x18]
mov dword [esi], 0
mov dword [esi + 4], 0
mov dword [esi + 8], 0
mov dword [esi + 0xc], 0
mov dword [esi + 0x10], 0
mov dword [esi + 0x20], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [edi + 0x90]
call fcn.1002d7b0
mov dword [esi], eax
test eax, eax
je 0x1002bbbe
lea eax, [esi + 0xc]
push eax
push 0x20
push edi
push 0x1002be10
push 0
push 0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthreadex]
mov edx, eax
add esp, 0x18
mov dword [esi + 8], edx
test edx, edx
je 0x1002bbbe
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x1002bb94
mov ecx, dword [edi + 0xa0]
cmp ecx, 2
jbe 0x1002bb78
cmp eax, 1
je 0x1002bb7f
cmp ecx, 2
jb 0x1002bb94
cmp eax, 2
jne 0x1002bb94
mov eax, 2
shl eax, cl
sub eax, 2
push eax
push edx
call dword [sym.imp.KERNEL32.dll_SetThreadAffinityMask]
mov dword [esi + 0x10], eax
push 0
push 1
push 1
push 0
call dword [sym.imp.KERNEL32.dll_CreateEventW]
mov dword [esi + 4], eax
test eax, eax
je 0x1002bbbe
xor ecx, ecx
lea eax, [edi + 4]
nop
cmp dword [eax], 0
je 0x1002bbef
inc ecx
add eax, 4
cmp ecx, 0x20
jb 0x1002bbb0
mov esi, dword [ebp - 0x10]
add dword [ebp + 8], 4
sub ebx, 1
jne 0x1002bad0
mov eax, dword [ebp - 0x14]
push esi
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedExchange]
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 0x14
mov eax, dword [ebp + 8]
push esi
mov dword [eax], esi
mov ecx, dword [edi + 0x84]
push dword [esi + 0xc]
mov eax, dword [ecx]
call dword [eax + 0x14]
mov esi, dword [ebp - 0x10]
inc esi
mov dword [ebp - 0x10], esi
jmp 0x1002bbc1