joyce8/EMBER2024-capa huggingface dataset:
Function at 0x4092ad
Capabilities:
Packed with generic packer

Disassembly:
add eax, 0x54a1000
add byte [eax], dl
and dword [0x274e1000], eax
add byte [ecx], ah
test byte [esi + 0x6f00027], ah
je 0x4091e4
sub eax, 0x3d
je 0x409261
jmp fcn.0040926d
or eax, dword [eax]
add byte [edx], ah
add byte [ecx], ah
mov bl, 0xcd
in al, 1
inc eax
mov bl, 0xce
jmp 0x3040ab7c
je 0x4092c2
add dword [ecx], edx
sub dl, 1
mov al, 1
mov eax, dword [esi + 4]
mov edx, 0x4094c0
mov dword [eax - 0x74f6ff6c], edx
add byte [ecx], al
mov ebp, 0x5f40137
or byte [edx], al
add byte [ebp + edx*2 + 0x30b8e589], dh
xchg ebp, eax
inc eax
add byte [eax - 0x18], dl
adc dl, byte [eax + 0x6a4103]
call fcn.00409ec8
sub byte [eax], al
add al, ah
add eax, 0xe8006a50
xchg ebp, eax
jns 0x40927f
sbb ecx, esi
add ch, byte [edx]
call 0x400c64
mov eax, dword [eax + 0x3c]
lea eax, [ebx + eax]
mov eax, dword [eax + 0x60]
pop ebx
rol byte [ebx], 0xa6
push ebx
mov eax, 0x462260
push eax
call 0x4310be2
pushal
or al, 0x6a
add al, ch
popal
jns 0x40928d
or eax, 0x4622a0
mov eax, dword [0x4622e0]
mov dword [0x600524b0], eax
add byte [eax], al
add byte [ecx], al
call 0x85426b9
inc edi
sbb dword [ebx], esp
jo 0x409337
lahf
or dword [eax + 0x462174], eax
mov dword [eax], ebx
call 0xf47585b
and dword [eax], eax
push es
cmp byte [ebx + 0x1c2900], cl
adc al, 0x60
cmp eax, 0x3d641100
add byte [eax + 0xf], al
mov bh, 5
nop
outsd dx, dword [esi]
add byte [eax + 0x4622c0], al
cmp dword [0x364d2ec8], 0xfffffff9
sbb byte [edx], cl
Function at 0x43ebb0
Capabilities:
Encode data using xor

Disassembly:
mov edx, dword [esp + 4]
mov eax, dword [esp + 8]
cmp edx, 1
jle 0x43ebce
push esi
lea ecx, [esp + 0x18]
dec edx
mov esi, dword [ecx]
add ecx, 0xc
xor eax, esi
dec edx
jne 0x43ebc3
pop esi
ret

Function at 0x43ed10
Capabilities:
Write file on windows

Disassembly:
sub esp, 8
mov eax, dword [esp + 0x10]
push edi
push 0
push 0x20
push 2
push 0
push 0
push 0x40000000
push eax
call dword [sym.imp.KERNEL32.DLL_CreateFileA]
mov edi, eax
xor eax, eax
cmp edi, 0xffffffff
je 0x43eda2
mov eax, dword [esp + 0x10]
push ebx
mov ebx, 1
push ebp
cmp eax, ebx
push esi
mov dword [esp + 0x10], ebx
jle 0x43ed94
mov ebp, dword [sym.imp.KERNEL32.DLL_WriteFile]
lea esi, [esp + 0x2c]
mov eax, dword [esi]
lea edx, [esp + 0x14]
push 0
push edx
lea ecx, [eax + 8]
mov eax, dword [eax + 4]
push eax
push ecx
push edi
call ebp
test eax, eax
je 0x43ed8c
mov eax, dword [esp + 0x1c]
inc ebx
add esi, 0xc
cmp ebx, eax
jl 0x43ed55
push edi
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
mov eax, dword [esp + 0x10]
pop esi
pop ebp
pop ebx
pop edi
add esp, 8
ret
mov dword [esp + 0x10], 0
push edi
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
mov eax, dword [esp + 0x10]
pop esi
pop ebp
pop ebx
pop edi
add esp, 8
ret

Function at 0x4019f0
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov dword [0x4040c0], eax
xor eax, eax
mov ebp, esp
mov ecx, 0xa
push eax
dec ecx
jne 0x4019ff
push esp
mov dword [ebp - 0x24], 0x40171b
mov eax, dword [0x4040c0]
mov dword [ebp - 0x18], eax
mov dword [ebp - 4], str.solienty
call dword [sym.imp.USER32.dll_RegisterClassA]
xor eax, eax
push eax
push dword [0x4040c0]
push eax
push eax
push 0x190
push 0x2b2
push 0x640
push 0x9c4
push 0
push str.absent
push str.solienty
push eax
call dword [sym.imp.USER32.dll_CreateWindowExA]
mov dword [0x4040c8], eax
push 0
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
xor eax, eax
push eax
push eax
push eax
lea edx, [ebp - 0x1c]
push edx
call dword [sym.imp.USER32.dll_GetMessageA]
test eax, eax
je 0x401a9e
mov esi, dword [sym.imp.USER32.dll_TranslateMessage]
mov edi, dword [sym.imp.USER32.dll_DispatchMessageA]
lea eax, [ebp - 0x1c]
push eax
call esi
lea ecx, [ebp - 0x1c]
push ecx
call edi
xor eax, eax
push eax
push eax
push eax
lea edx, [ebp - 0x1c]
push edx
call dword [sym.imp.USER32.dll_GetMessageA]
test eax, eax
jne 0x401a7f
pop ebp
ret 0x10
Function at 0x401415
Capabilities:
Encode data using xor

Disassembly:
jmp 0x413cd0
push ebx
mov ebx, dword [esp + 0xc]
push edi
xor edi, edi
test ebx, ebx
je 0x413e57
push ebp
mov ebp, dword [esp + 0x10]
push esi
mov esi, dword [sym.imp.ADVAPI32.dll_InitializeAcl]
nop dword [eax]
push 0
push 0
push 0
call esi
xor byte [edi + ebp], 0xd
push 0
push 0
push 0
call esi
add byte [edi + ebp], 7
push 0
push 0
push 0
call esi
add byte [edi + ebp], 0xe9
push 0
push 0
push 0
call esi
xor byte [edi + ebp], 0xbd
push 0
push 0
push 0
call esi
add byte [edi + ebp], 0x2b
push 0
push 0
push 0
call esi
add byte [edi + ebp], 0x7d
push 0
push 0
push 0
call esi
xor byte [edi + ebp], 0xc8
push 0
push 0
push 0
call esi
add byte [edi + ebp], 0xc2
push 0
push 0
push 0
call esi
add byte [edi + ebp], 0xaf
push 0
push 0
push 0
call esi
xor byte [edi + ebp], 0xea
push 0
push 0
push 0
call esi
add byte [edi + ebp], 0x70
push 0
push 0
push 0
call esi
add byte [edi + ebp], 0xd0
push 0
push 0
push 0
call esi
add byte [edi + ebp], 0x90
push 0
push 0
push 0
call esi
xor byte [edi + ebp], 0xb3
push 0
push 0
push 0
call esi
xor byte [edi + ebp], 0x93
push 0
push 0
push 0
call esi
add byte [edi + ebp], 0x94
push 0
push 0
push 0
call esi
add byte [edi + ebp], 0xeb
push 0
push 0
push 0
call esi
add byte [edi + ebp], 0x1d
push 0
push 0
push 0
call esi
add byte [edi + ebp], 0x6c
push 0
push 0
push 0
call esi
xor byte [edi + ebp], 0xec
push 0
push 0
push 0
call esi
add byte [edi + ebp], 0x8e
push 0
push 0
push 0
call esi
add byte [edi + ebp], 0x4b
push 0
push 0
push 0
call esi
add byte [edi + ebp], 0xfb
push 0
push 0
push 0
call esi
add byte [edi + ebp], 0x44
push 0
push 0
push 0
call esi
add byte [edi + ebp], 0x5d
push 0
push 0
push 0
call esi
add byte [edi + ebp], 0xe8
push 0
push 0
push 0
call esi
xor byte [edi + ebp], 0x19
push 0
push 0
push 0
call esi
add byte [edi + ebp], 0x35
push 0
push 0
push 0
call esi
add byte [edi + ebp], 0x92
inc edi
cmp edi, ebx
jb 0x413cf0
pop esi
pop ebp
pop edi
pop ebx
ret

Function at 0x4038a0
Capabilities:
Terminate process

Disassembly:
jmp 0x452c69
push 0x17
call dword [sym.imp.KERNEL32.dll_IsProcessorFeaturePresent]
test eax, eax
je 0x452c7a
push 5
pop ecx
int 0x29
push esi
push 1
mov esi, 0xc0000417
push esi
push 2
call fcn.00405e2f
add esp, 0xc
push esi
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
pop esi
ret

Function at 0x4039d6
Capabilities:
Query environment variable

Disassembly:
jmp 0x4a83f2
mov edi, edi
push esi
call dword [sym.imp.KERNEL32.dll_GetEnvironmentStringsW]
mov esi, eax
test esi, esi
jne 0x4a8403
pop esi
ret
push ebx
push edi
push esi
call fcn.004a82d9
mov ebx, eax
sub ebx, esi
and ebx, 0xfffffffe
push ebx
call fcn.00404318
mov edi, eax
pop ecx
pop ecx
test edi, edi
je 0x4a842b
push ebx
push esi
push edi
call fcn.00405bff
add esp, 0xc
push 0
call fcn.00406839
pop ecx
push esi
call dword [sym.imp.KERNEL32.dll_FreeEnvironmentStringsW]
mov eax, edi
pop edi
pop ebx
pop esi
ret
Function at 0x403a06
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Connect udp socket
Contain obfuscated stackstrings
Create tcp socket
Create udp socket

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x128
push edi
mov byte [ebp - 0x94], 0
mov ecx, 0x1f
xor eax, eax
lea edi, [ebp - 0x93]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov byte [ebp - 0x128], 0
mov ecx, 0x1f
xor eax, eax
lea edi, [ebp - 0x127]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov dword [ebp - 0xa8], 0
mov byte [ebp - 0xa4], 0x77
mov byte [ebp - 0xa3], 0x77
mov byte [ebp - 0xa2], 0x77
mov byte [ebp - 0xa1], 0x2e
mov byte [ebp - 0xa0], 0x63
mov byte [ebp - 0x9f], 0x63
mov byte [ebp - 0x9e], 0x74
mov byte [ebp - 0x9d], 0x76
mov byte [ebp - 0x9c], 0x2d
mov byte [ebp - 0x9b], 0x63
mov byte [ebp - 0x9a], 0x63
mov byte [ebp - 0x99], 0x2e
mov byte [ebp - 0x98], 0x6e
mov byte [ebp - 0x97], 0x65
mov byte [ebp - 0x96], 0x74
mov byte [ebp - 0x95], 0
mov word [ebp - 0x14], 2
push 0x1f9b
call dword [sym.imp.WS2_32.dll_htons]
mov word [ebp - 0x12], ax
lea eax, [ebp - 0xa4]
push eax
call section..text
add esp, 4
mov dword [ebp - 0x10], eax
push 0
push 1
push 2
call dword [sym.imp.WS2_32.dll_socket]
mov dword [ebp - 4], eax
push 0x10
lea ecx, [ebp - 0x14]
push ecx
mov edx, dword [ebp - 4]
push edx
call dword [sym.imp.WS2_32.dll_connect]
cmp eax, 0xffffffff
jne 0x403b16
mov eax, dword [ebp - 4]
push eax
call dword [sym.imp.WS2_32.dll_closesocket]
or eax, 0xffffffff
jmp 0x403b19
mov eax, dword [ebp - 4]
pop edi
mov esp, ebp
pop ebp
ret

Function at 0x404143
Capabilities:
Create thread
Initialize winsock library

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x190
push 0
push 0
push 0
push 0x40324e
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
lea eax, [ebp - 0x190]
push eax
push 0x202
call dword [sym.imp.WS2_32.dll_WSAStartup]
mov ecx, 1
test ecx, ecx
je 0x4041cb
push 0
push 0
push 0
push 0x403d6d
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [0x40efbc], eax
push 0xffffffffffffffff
mov edx, dword [0x40efbc]
push edx
call dword [sym.imp.KERNEL32.dll_GNOr_F_]
mov eax, dword [0x40efbc]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [0x40efb4]
push ecx
call dword [sym.imp.WS2_32.dll_closesocket]
push 0x12c
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x404173
xor eax, eax
mov esp, ebp
pop ebp
ret 0x10

Function at 0x40ed75
Capabilities:
Encode data using xor

Disassembly:
push 0x40eae0
pop eax
dec ebx
call fcn.0040ed99
mov ebx, ebx
or ebx, esi
xor dword [ecx], eax
inc ecx
and esi, ebx
cmp ecx, edx
jne fcn.0040ed75
add esi, 0x3e685a35
or ebx, ebx
ret
Function at 0x407010
Capabilities:
Enumerate pe sections

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
mov eax, dword [ebp + 8]
xor edx, edx
push ebx
push esi
push edi
mov ecx, dword [eax + 0x3c]
add ecx, eax
movzx eax, word [ecx + 0x14]
movzx ebx, word [ecx + 6]
add eax, 0x18
add eax, ecx
test ebx, ebx
je 0x40704e
mov edi, dword [ebp + 0xc]
mov esi, dword [eax + 0xc]
cmp edi, esi
jb 0x407046
mov ecx, dword [eax + 8]
add ecx, esi
cmp edi, ecx
jb 0x407050
inc edx
add eax, 0x28
cmp edx, ebx
jb 0x407036
xor eax, eax
pop edi
pop esi
pop ebx
pop ebp
ret

Function at 0x407120
Capabilities:
Parse pe header

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
mov ecx, dword [ebp + 8]
mov eax, 0x5a4d
cmp word [ecx], ax
jne 0x407151
mov eax, dword [ecx + 0x3c]
add eax, ecx
cmp dword [eax], 0x4550
jne 0x407151
mov ecx, 0x10b
cmp word [eax + 0x18], cx
jne 0x407151
mov eax, 1
pop ebp
ret
xor eax, eax
pop ebp
ret

Function at 0x43b64e
Capabilities:
Encode data using add xor sub operations
Encode data using xor

Disassembly:
push 0x43b3c1
pop eax
dec edi
sub edi, ecx
call fcn.0043b67e
push ecx
pop ecx
xor dword [ebx], eax
dec ecx
add edi, 0x7a275a1f
inc ebx
mov ecx, ecx
cmp ebx, esi
jne fcn.0043b64e
inc ecx
mov ecx, 0x3b6148f6
ret
Function at 0x407010
Capabilities:
Enumerate pe sections

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
mov eax, dword [ebp + 8]
xor edx, edx
push ebx
push esi
push edi
mov ecx, dword [eax + 0x3c]
add ecx, eax
movzx eax, word [ecx + 0x14]
movzx ebx, word [ecx + 6]
add eax, 0x18
add eax, ecx
test ebx, ebx
je 0x40704e
mov edi, dword [ebp + 0xc]
mov esi, dword [eax + 0xc]
cmp edi, esi
jb 0x407046
mov ecx, dword [eax + 8]
add ecx, esi
cmp edi, ecx
jb 0x407050
inc edx
add eax, 0x28
cmp edx, ebx
jb 0x407036
xor eax, eax
pop edi
pop esi
pop ebx
pop ebp
ret

Function at 0x407120
Capabilities:
Parse pe header

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
mov ecx, dword [ebp + 8]
mov eax, 0x5a4d
cmp word [ecx], ax
jne 0x407151
mov eax, dword [ecx + 0x3c]
add eax, ecx
cmp dword [eax], 0x4550
jne 0x407151
mov ecx, 0x10b
cmp word [eax + 0x18], cx
jne 0x407151
mov eax, 1
pop ebp
ret
xor eax, eax
pop ebp
ret

Function at 0x5d8aec
Capabilities:
Encode data using xor

Disassembly:
mov esi, 0x5d87dc
mov eax, 0x308ab6fe
add eax, eax
or edx, eax
call fcn.005d8b36
dec edx
dec edx
mov edx, 0x6fdbbb91
xor dword [edi], esi
mov eax, edx
inc edx
add eax, 0x7eafcead
add edi, 2
sub edx, 0xd751735b
or eax, eax
sub eax, eax
cmp edi, ecx
jl fcn.005d8aec
and eax, eax
add edx, edx
ret
Function at 0x43b31e
Capabilities:
Parse pe header
Terminate process

Disassembly:
push 0x60
push 0x404720
call fcn.0043b4fc
mov edi, 0x94
mov eax, edi
call fcn.0043a200
mov dword [ebp - 0x18], esp
mov esi, esp
mov dword [esi], edi
push esi
call dword [0x4010b4]
mov ecx, dword [esi + 0x10]
mov dword [0x451f08], ecx
mov eax, dword [esi + 4]
mov dword [0x451f14], eax
mov edx, dword [esi + 8]
mov dword [0x451f18], edx
mov esi, dword [esi + 0xc]
and esi, 0x7fff
mov dword [0x451f0c], esi
cmp ecx, 2
je 0x43b37e
or esi, 0x8000
mov dword [0x451f0c], esi
shl eax, 8
add eax, edx
mov dword [0x451f10], eax
xor esi, esi
push esi
mov edi, dword [fcn.00401050]
call edi
cmp word [eax], 0x5a4d
jne 0x43b3b9
mov ecx, dword [eax + 0x3c]
add ecx, eax
cmp dword [ecx], 0x4550
jne 0x43b3b9
movzx eax, word [ecx + 0x18]
cmp eax, 0x10b
je 0x43b3d1
cmp eax, 0x20b
je 0x43b3be
mov dword [ebp - 0x1c], esi
jmp 0x43b3e5
cmp dword [ecx + 0x84], 0xe
jbe 0x43b3b9
xor eax, eax
cmp dword [ecx + 0xf8], esi
jmp 0x43b3df
cmp dword [ecx + 0x74], 0xe
jbe 0x43b3b9
xor eax, eax
cmp dword [ecx + 0xe8], esi
setne al
mov dword [ebp - 0x1c], eax
push esi
call fcn.0043d680
pop ecx
test eax, eax
jne 0x43b411
cmp dword [0x451ec8], 1
jne 0x43b3fe
call fcn.0043e36b
push 0x1c
call fcn.0043e1f4
push 0xff
call fcn.0043d26a
pop ecx
pop ecx
call fcn.0043eb14
mov dword [ebp - 4], esi
call fcn.0043e969
test eax, eax
jge 0x43b42a
push 0x1b
call fcn.0043b2f9
pop ecx
call dword [0x4010e8]
mov dword [0x4534d4], eax
call fcn.0043e847
mov dword [0x451ec0], eax
call fcn.0043e7a5
test eax, eax
jge 0x43b450
push 8
call fcn.0043b2f9
pop ecx
call fcn.0043e572
test eax, eax
jge 0x43b461
push 9
call fcn.0043b2f9
pop ecx
push 1
call fcn.0043d29a
pop ecx
mov dword [ebp - 0x28], eax
cmp eax, esi
je 0x43b477
push eax
call fcn.0043b2f9
pop ecx
mov dword [ebp - 0x44], esi
lea eax, [ebp - 0x70]
push eax
call dword [0x4010e4]
call fcn.0043e515
mov dword [ebp - 0x20], eax
test byte [ebp - 0x44], 1
je 0x43b498
movzx eax, word [ebp - 0x40]
jmp 0x43b49b
push 0xa
pop eax
push eax
push dword [ebp - 0x20]
push esi
push esi
call edi
push eax
call fcn.00427d90
mov edi, eax
mov dword [ebp - 0x2c], edi
cmp dword [ebp - 0x1c], esi
jne 0x43b4b9
push edi
call fcn.0043d3c5
call fcn.0043d3e7
jmp 0x43b4eb
or dword [ebp - 4], 0xffffffff
mov eax, edi
lea esp, [ebp - 0x7c]
call fcn.0043b537
ret
Function at 0x43d43d
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
push ebx
push esi
mov esi, dword [ebp + 8]
mov ebx, dword [esi + 8]
test bl, 3
jne 0x43d46b
mov eax, dword fs:[0x18]
mov dword [ebp + 8], eax
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
cmp ebx, ecx
mov dword [ebp - 4], ecx
jb 0x43d472
cmp ebx, dword [eax + 4]
jae 0x43d472
xor eax, eax
jmp 0x43d662
push edi
mov edi, dword [esi + 0xc]
cmp edi, 0xffffffff
jne 0x43d483
xor eax, eax
inc eax
jmp 0x43d661
xor edx, edx
mov dword [ebp + 8], edx
mov eax, ebx
mov ecx, dword [eax]
cmp ecx, 0xffffffff
je 0x43d499
cmp ecx, edx
jae 0x43d5de
cmp dword [eax + 4], 0
je 0x43d4a2
inc dword [ebp + 8]
inc edx
add eax, 0xc
cmp edx, edi
jbe 0x43d48a
cmp dword [ebp + 8], 0
je 0x43d4c4
mov eax, dword [esi - 8]
cmp eax, dword [ebp - 4]
jb 0x43d5de
cmp eax, esi
jae 0x43d5de
mov eax, dword [0x451f50]
mov edi, ebx
and edi, 0xfffff000
xor esi, esi
test eax, eax
jle 0x43d4e9
cmp dword [esi*4 + 0x451f58], edi
je 0x43d5e2
inc esi
cmp esi, eax
jl 0x43d4d7
push 0x1c
lea eax, [ebp - 0x20]
push eax
push ebx
call dword [0x401118]
test eax, eax
je 0x43d65e
cmp dword [ebp - 8], 0x1000000
jne 0x43d65e
test byte [ebp - 0xc], 0xcc
je 0x43d567
mov ecx, dword [ebp - 0x1c]
cmp word [ecx], 0x5a4d
jne 0x43d65e
mov eax, dword [ecx + 0x3c]
add eax, ecx
cmp dword [eax], 0x4550
jne 0x43d65e
cmp word [eax + 0x18], 0x10b
jne 0x43d65e
sub ebx, ecx
cmp word [eax + 6], 0
movzx ecx, word [eax + 0x14]
lea ecx, [ecx + eax + 0x18]
jbe 0x43d65e
mov eax, dword [ecx + 0xc]
cmp ebx, eax
jb 0x43d567
mov edx, dword [ecx + 8]
add edx, eax
cmp ebx, edx
jae 0x43d567
test byte [ecx + 0x27], 0x80
jne 0x43d5de
push 1
push 0x451f98
call dword [0x4010ac]
test eax, eax
jne 0x43d47b
mov ecx, dword [0x451f50]
test ecx, ecx
mov edx, ecx
jle 0x43d59b
lea eax, [ecx*4 + 0x451f54]
cmp dword [eax], edi
je 0x43d59b
dec edx
sub eax, 4
test edx, edx
jg 0x43d58f
test edx, edx
jne 0x43d5cc
push 0xf
pop ebx
cmp ecx, ebx
jg 0x43d5a8
mov ebx, ecx
xor edx, edx
test ebx, ebx
jl 0x43d5c0
lea eax, [edx*4 + 0x451f58]
mov esi, dword [eax]
inc edx
cmp edx, ebx
mov dword [eax], edi
mov edi, esi
jle 0x43d5ae
cmp ecx, 0x10
jge 0x43d5cc
inc ecx
mov dword [0x451f50], ecx
push 0
push 0x451f98
call dword [0x4010ac]
jmp 0x43d47b
xor eax, eax
jmp 0x43d661
test esi, esi
jle 0x43d47b
mov ebx, dword [0x4010ac]
push 1
push 0x451f98
call ebx
test eax, eax
jne 0x43d47b
cmp dword [esi*4 + 0x451f58], edi
je 0x43d638
mov eax, dword [0x451f50]
lea esi, [eax - 1]
test esi, esi
jl 0x43d626
cmp dword [esi*4 + 0x451f58], edi
je 0x43d622
dec esi
jns 0x43d616
test esi, esi
jge 0x43d636
cmp eax, 0x10
jge 0x43d631
inc eax
mov dword [0x451f50], eax
lea esi, [eax - 1]
jmp 0x43d638
je 0x43d650
xor ecx, ecx
test esi, esi
jl 0x43d650
lea eax, [ecx*4 + 0x451f58]
mov edx, dword [eax]
inc ecx
cmp ecx, esi
mov dword [eax], edi
mov edi, edx
jle 0x43d63e
push 0
push 0x451f98
call ebx
jmp 0x43d47b
or eax, 0xffffffff
pop edi
pop esi
pop ebx
leave
ret
Function at 0x403ce0
Capabilities:
Access peb ldr_data
Get ntdll base address

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x480e88
mov eax, dword fs:[0]
push eax
push esi
push edi
mov eax, dword [0x4ad014]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 4], 0
lea ecx, [edi + 0x3c]
push dword [edi + 0x44]
mov dword [edi + 0x3c], vtable.CBaseRecordVector.0
push 0
call fcn.0041bbb0
push dword [edi + 0x48]
call fcn.0045b660
add esp, 4
mov dword [edi + 0x40], 0
mov dword [edi + 0x44], 0
mov dword [edi + 0x48], 0
mov dword [ebp - 4], 1
lea ecx, [edi + 0x28]
push dword [edi + 0x30]
mov dword [edi + 0x28], vtable.CBaseRecordVector.0
push 0
call fcn.0041bbb0
push dword [edi + 0x34]
call fcn.0045b660
add esp, 4
mov dword [edi + 0x2c], 0
mov dword [edi + 0x30], 0
mov dword [edi + 0x34], 0
mov dword [ebp - 4], 2
lea ecx, [edi + 0x14]
push dword [edi + 0x1c]
mov dword [edi + 0x14], vtable.CBaseRecordVector.0
push 0
call fcn.0041bbb0
push dword [edi + 0x20]
call fcn.0045b660
add esp, 4
mov dword [edi + 0x18], 0
mov dword [edi + 0x1c], 0
mov dword [edi + 0x20], 0
mov dword [ebp - 4], 3
mov ecx, edi
push dword [edi + 8]
mov dword [edi], vtable.CBaseRecordVector.0
push 0
call fcn.0041bbb0
push dword [edi + 0xc]
call fcn.0045b660
add esp, 4
mov dword [edi + 4], 0
mov dword [edi + 8], 0
mov dword [edi + 0xc], 0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
Function at 0x407e90
Capabilities:
Access peb ldr_data
Get kernel32 base address
Get number of processors

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x481506
mov eax, dword fs:[0]
push eax
push esi
push edi
mov eax, dword [0x4ad014]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
lea esi, [edi + 0x118]
mov dword [ebp - 4], 0
mov ecx, esi
push dword [esi + 8]
mov dword [esi], vtable.CBaseRecordVector.0
push 0
call fcn.0041bbb0
push dword [esi + 0xc]
call fcn.0045b660
add esp, 4
mov dword [esi + 4], 0
lea ecx, [edi + 0xf0]
mov dword [esi + 8], 0
mov dword [esi + 0xc], 0
call fcn.004080c0
lea ecx, [edi + 0xc8]
call fcn.004080c0
lea ecx, [edi + 0xa0]
call fcn.004080c0
lea ecx, [edi + 0x78]
call fcn.004080c0
mov dword [ebp - 4], 1
lea ecx, [edi + 0x64]
push dword [edi + 0x6c]
mov dword [edi + 0x64], vtable.CObjectVector_struct_NArchive::N7z::CFileItem_.0
push 0
call fcn.004099d0
mov byte [ebp - 4], 2
lea ecx, [edi + 0x64]
push dword [edi + 0x6c]
mov dword [edi + 0x64], vtable.CBaseRecordVector.0
push 0
call fcn.0041bbb0
push dword [edi + 0x70]
call fcn.0045b660
add esp, 4
mov dword [edi + 0x68], 0
mov dword [edi + 0x6c], 0
mov dword [edi + 0x70], 0
mov dword [ebp - 4], 3
lea ecx, [edi + 0x50]
push dword [edi + 0x58]
mov dword [edi + 0x50], vtable.CBaseRecordVector.0
push 0
call fcn.0041bbb0
push dword [edi + 0x5c]
call fcn.0045b660
add esp, 4
mov dword [edi + 0x54], 0
mov dword [edi + 0x58], 0
mov dword [edi + 0x5c], 0
mov dword [ebp - 4], 4
lea ecx, [edi + 0x3c]
push dword [edi + 0x44]
mov dword [edi + 0x3c], vtable.CObjectVector_struct_NArchive::N7z::CFolder_.0
push 0
call fcn.00409a80
mov byte [ebp - 4], 5
lea ecx, [edi + 0x3c]
push dword [edi + 0x44]
mov dword [edi + 0x3c], vtable.CBaseRecordVector.0
push 0
call fcn.0041bbb0
push dword [edi + 0x48]
call fcn.0045b660
add esp, 4
mov dword [edi + 0x40], 0
mov dword [edi + 0x44], 0
mov dword [edi + 0x48], 0
mov dword [ebp - 4], 6
lea ecx, [edi + 0x28]
push dword [edi + 0x30]
mov dword [edi + 0x28], vtable.CBaseRecordVector.0
push 0
call fcn.0041bbb0
push dword [edi + 0x34]
call fcn.0045b660
add esp, 4
mov dword [edi + 0x2c], 0
mov dword [edi + 0x30], 0
mov dword [edi + 0x34], 0
mov dword [ebp - 4], 7
lea ecx, [edi + 0x14]
push dword [edi + 0x1c]
mov dword [edi + 0x14], vtable.CBaseRecordVector.0
push 0
call fcn.0041bbb0
push dword [edi + 0x20]
call fcn.0045b660
add esp, 4
mov dword [edi + 0x18], 0
mov dword [edi + 0x1c], 0
mov dword [edi + 0x20], 0
mov dword [ebp - 4], 8
mov ecx, edi
push dword [edi + 8]
mov dword [edi], vtable.CBaseRecordVector.0
push 0
call fcn.0041bbb0
push dword [edi + 0xc]
call fcn.0045b660
add esp, 4
mov dword [edi + 4], 0
mov dword [edi + 8], 0
mov dword [edi + 0xc], 0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
Function at 0x408170
Capabilities:
Get system information on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
mov eax, dword [0x4ad014]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov esi, ecx
mov dword [esi + 4], vtable.ISetProperties.0
lea ecx, [esi + 0x10]
mov dword [esi + 8], 0
mov dword [esi], vtable.NArchive::N7z::CHandler.1.0
mov dword [esi + 4], vtable.NArchive::N7z::CHandler.0
mov dword [esi + 0xc], 0
call fcn.00408220
lea eax, [ebp - 0x28]
mov dword [esi + 0x1f0], 0
mov dword [esi + 0x1f4], 0
mov dword [esi + 0x1f8], 0
mov dword [esi + 0x1fc], 8
mov dword [esi + method.CBaseRecordVector.virtual_0], vtable.CRecordVector_unsigned_long_long_unsigned___int64__.0
push eax
mov dword [esi + 0x1e8], 4
mov byte [esi + 0x1e0], 0
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov ecx, dword [ebp - 0x14]
mov eax, esi
mov dword [esi + 0x1e4], ecx
mov ecx, dword [ebp - 4]
xor ecx, ebp
pop esi
call fcn.0045b64f
mov esp, ebp
pop ebp
ret