joyce8/EMBER2024-capa huggingface dataset:
Function at 0x420fa0
Capabilities:
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 8
push ebx
push edi
mov edi, eax
xor ebx, ebx
cmp edi, 0xffffffff
je 0x4210a0
cmp byte [ebp + 0xc], bl
je 0x421009
mov ebx, dword [ebp + 8]
test byte [ebx], 8
je 0x421009
xor eax, eax
mov dword [esp + 0xc], eax
call fcn.00453d00
or byte [ebx], 8
push 0
call dword [sym.imp.WS2_32.dll_WSASetLastError]
push 4
lea edx, [esp + 0x10]
push edx
push 0x80
push 0xffff
push edi
call dword [sym.imp.WS2_32.dll_setsockopt]
mov ebx, eax
call fcn.00453d00
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
test ebx, ebx
jne 0x421009
call fcn.00453d00
push 0
call dword [sym.imp.WS2_32.dll_WSASetLastError]
push edi
call dword [sym.imp.WS2_32.dll_closesocket]
mov ebx, eax
call fcn.00453d00
mov dword [esp + 0xc], eax
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov dword [esi], eax
mov eax, dword [esp + 0xc]
mov dword [esi + 4], eax
test ebx, ebx
je 0x4210a0
call fcn.00453d00
cmp dword [esi + 4], eax
jne 0x421048
cmp dword [esi], 0x2733
je 0x42105a
call fcn.00453d00
cmp dword [esi + 4], eax
jne 0x42109c
cmp dword [esi], 0x4d5
jne 0x42109c
lea ecx, [esp + 0xc]
push ecx
push 0x8004667e
push edi
mov dword [esp + 0x18], 0
call dword [sym.imp.WS2_32.dll_ioctlsocket]
mov eax, dword [ebp + 8]
and byte [eax], 0xfc
push 0
call dword [sym.imp.WS2_32.dll_WSASetLastError]
push edi
call dword [sym.imp.WS2_32.dll_closesocket]
mov ebx, eax
call fcn.00453d00
mov edi, eax
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov dword [esi], eax
mov dword [esi + 4], edi
test ebx, ebx
jne 0x4210ac
xor edi, edi
call fcn.00453d00
mov dword [esi], edi
mov dword [esi + 4], eax
pop edi
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret

Function at 0x4221e0
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x45df7b
mov eax, dword fs:[0]
push eax
sub esp, 0xc
push ebx
push esi
push edi
mov eax, dword [0x476458]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 0xc]
mov edi, dword [eax + 4]
push 0x422790
lea ecx, [ebp - 0x14]
xor ebx, ebx
push ecx
mov dword [ebp - 0x14], 0x478e50
mov dword [ebp - 0x10], ebx
call fcn.0041c0f0
mov edi, dword [ebp + 8]
mov dword [edi], eax
lea esi, [edi + 4]
mov dword [esi + 8], ebx
mov dword [esi + 0xc], ebx
mov dword [esi + 0x1c], 2
mov byte [esi + 0x20], bl
xor eax, eax
mov dword [esi + 0x2c], eax
mov dword [esi + 0x30], eax
mov dword [esi + 0x34], eax
mov dword [esi + 0x38], eax
mov dword [esi + 0x3c], eax
mov dword [esi + 0x24], 2
mov dword [esi + 0x28], ebx
mov dword [ebp - 4], ebx
mov ebx, dword [edi]
add ebx, 0x14
call fcn.0041ffc0
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 8
Function at 0x423250
Capabilities:
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
cmp dword [esi], 0x40
push ebx
push edi
mov ebx, eax
jne 0x42326e
mov edi, 0x2745
call fcn.00453d00
mov dword [esi], edi
mov dword [esi + 4], eax
xor eax, eax
cmp dword [esi], eax
jne 0x42333d
cmp dword [ebp + 0x14], eax
je 0x4232da
cmp ebx, eax
je 0x4232da
lea ecx, [ebp - 4]
push ecx
lea edx, [ebp - 8]
push edx
lea ecx, [ebp - 0xc]
push ecx
mov ecx, dword [ebp + 0x10]
lea edx, [ebp - 0x10]
push edx
push ecx
push ecx
push eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], eax
mov dword [ebp - 8], eax
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
push eax
call dword [sym.imp.MSWSOCK.dll_GetAcceptExSockaddrs]
mov edi, dword [ebp - 4]
cmp edi, dword [ebx]
jbe 0x4232c5
mov edi, 0x2726
call fcn.00453d00
mov dword [esi], edi
mov dword [esi + 4], eax
jmp 0x4232d8
mov ecx, dword [ebp - 8]
mov edx, dword [ebp + 0x14]
push edi
push ecx
push edx
call fcn.004450a0
add esp, 0xc
mov dword [ebx], edi
xor eax, eax
mov edi, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x14], ecx
cmp edi, 0xffffffff
jne 0x4232fd
mov edi, 0x2719
call fcn.00453d00
mov dword [esi + 4], eax
mov dword [esi], edi
pop edi
pop ebx
mov esp, ebp
pop ebp
ret
push eax
call dword [sym.imp.WS2_32.dll_WSASetLastError]
push 4
lea edx, [ebp - 0x14]
push edx
push 0x700b
push 0xffff
push edi
call dword [sym.imp.WS2_32.dll_setsockopt]
mov edi, eax
call fcn.00453d00
mov ebx, eax
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov dword [esi], eax
mov dword [esi + 4], ebx
test edi, edi
jne 0x42333d
call fcn.00453d00
mov dword [esi + 4], eax
mov dword [esi], edi
pop edi
pop ebx
mov esp, ebp
pop ebp
ret

Function at 0x4272d0
Capabilities:
Get socket status

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x118
mov eax, dword [0x476458]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push edi
mov edi, ecx
cmp edi, 0xffffffff
jne 0x42730e
mov edi, 0x2719
call fcn.00453d00
mov dword [esi + 4], eax
mov dword [esi], edi
or eax, 0xffffffff
pop edi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00440ba3
mov esp, ebp
pop ebp
ret
xor ebx, ebx
push ebx
mov dword [ebp - 0x10c], edi
mov dword [ebp - 0x110], 1
mov dword [ebp - 0x118], ebx
mov dword [ebp - 0x114], ebx
call dword [sym.imp.WS2_32.dll_WSASetLastError]
push ebx
push ebx
lea eax, [ebp - 0x110]
push eax
push ebx
push edi
call dword [sym.imp.WS2_32.dll_select]
mov ebx, eax
call fcn.00453d00
mov edi, eax
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov dword [esi], eax
mov dword [esi + 4], edi
test ebx, ebx
je 0x42735e
jle 0x42736a
xor edi, edi
call fcn.00453d00
mov dword [esi + 4], eax
mov dword [esi], edi
mov ecx, dword [ebp - 4]
pop edi
mov eax, ebx
xor ecx, ebp
pop ebx
call fcn.00440ba3
mov esp, ebp
pop ebp
ret
Function at 0x427380
Capabilities:
Send data
Send data on socket

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
cmp dword [ebp + 8], 0xffffffff
push ebx
push esi
push edi
mov esi, eax
jne 0x4273a9
mov edi, 0x2719
call fcn.00453d00
mov dword [esi + 4], eax
mov dword [esi], edi
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp byte [ebp + 0x18], 0
je 0x4273d0
test byte [ebp + 0xc], 0x10
je 0x4273d0
xor edi, edi
call fcn.00453d00
mov dword [esi + 4], eax
mov dword [esi], edi
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0
call dword [sym.imp.WS2_32.dll_WSASetLastError]
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp + 0x10]
push 0
push 0
push 0
lea eax, [ebp - 4]
push eax
mov eax, dword [ebp + 8]
push ecx
push edx
push eax
mov dword [ebp - 4], 0
call dword [sym.imp.WS2_32.dll_WSASend]
mov ebx, eax
call fcn.00453d00
mov edi, eax
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov dword [esi], eax
mov dword [esi + 4], edi
cmp eax, 0x40
jne 0x42741b
mov edi, 0x2746
jmp 0x427427
cmp eax, 0x4d2
jne 0x427431
mov edi, 0x274d
call fcn.00453d00
mov dword [esi + 4], eax
mov dword [esi], edi
test ebx, ebx
jne 0x427448
xor edi, edi
call fcn.00453d00
mov dword [esi + 4], eax
mov eax, dword [ebp - 4]
mov dword [esi], edi
test eax, eax
jns 0x427484
test byte [ebp + 0xc], 1
jne 0x427482
call fcn.00453d00
cmp dword [esi + 4], eax
jne 0x427460
cmp dword [esi], 0x2733
je 0x427472
call fcn.00453d00
cmp dword [esi + 4], eax
jne 0x427482
cmp dword [esi], 0x4d5
jne 0x427482
mov ecx, dword [ebp + 8]
call fcn.004272d0
test eax, eax
jns 0x4273d0
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret

Function at 0x427510
Capabilities:
Receive data
Receive data on socket

Disassembly:
push ebp
mov ebp, esp
push ecx
push esi
mov esi, eax
mov eax, dword [ebx + 4]
push edi
add eax, 0x18
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
cmp byte [ebp + 0x18], 0
push 0
je 0x42753e
mov eax, dword [ebx + 4]
push 0
call fcn.004233c0
pop edi
pop esi
pop ecx
pop ebp
ret 0x14
mov ecx, dword [ebp + 8]
mov eax, dword [ecx]
cmp eax, 0xffffffff
jne 0x42755c
mov eax, dword [ebx + 4]
push 0x2719
call fcn.004233c0
pop edi
pop esi
pop ecx
pop ebp
ret 0x14
mov edx, dword [ebp + 0x14]
push esi
mov dword [ebp + 8], edx
lea ecx, [ebp + 8]
push ecx
mov ecx, dword [ebp + 0x10]
lea edx, [ebp + 0x18]
push edx
mov edx, dword [ebp + 0xc]
push ecx
push edx
push eax
mov dword [ebp + 0x18], 0
call dword [sym.imp.WS2_32.dll_WSARecv]
mov edi, eax
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x40
jne 0x427595
mov eax, 0x2746
jmp 0x4275a1
cmp eax, 0x4d2
jne 0x4275a1
mov eax, 0x274d
test edi, edi
je 0x4275c0
cmp eax, 0x3e5
je 0x4275c0
mov ecx, dword [ebp + 0x18]
push ecx
push eax
mov eax, dword [ebx + 4]
call fcn.004233c0
pop edi
pop esi
pop ecx
pop ebp
ret 0x14
mov eax, dword [ebx + 4]
mov edi, esi
call fcn.00423430
pop edi
pop esi
pop ecx
pop ebp
ret 0x14
Function at 0x427d40
Capabilities:
Access peb ldr_data
Get process heap flags

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4597cb
mov eax, dword fs:[0]
push eax
sub esp, 8
push ebx
push esi
push edi
mov eax, dword [0x476458]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x14], esi
lea ecx, [esi + 4]
mov dword [esi], vtable.std::basic_streambuf_char__struct_std::char_traits_char__.0
call fcn.004409c5
push 4
mov dword [ebp - 4], 0
call fcn.00441178
mov edi, eax
add esp, 4
test edi, edi
je 0x427dc0
call fcn.0043f5a4
mov dword [edi], eax
call fcn.0043f363
push 0
lea ecx, [ebp - 0x10]
mov ebx, eax
call fcn.0043f698
mov eax, dword [ebx + 4]
cmp eax, 0xffffffff
jae 0x427db6
inc eax
mov dword [ebx + 4], eax
lea ecx, [ebp - 0x10]
call fcn.0043f6c0
jmp 0x427dc2
xor edi, edi
lea eax, [esi + 8]
mov dword [esi + 0x10], eax
lea ecx, [esi + 0x18]
mov dword [esi + 0x20], ecx
lea edx, [esi + 0x1c]
mov dword [esi + 0x24], edx
mov dword [esi + 0x38], edi
lea eax, [esi + 0xc]
mov dword [esi + 0x14], eax
lea ecx, [esi + 0x28]
mov dword [esi + 0x30], ecx
lea edx, [esi + 0x2c]
mov dword [esi + 0x34], edx
mov dword [eax], 0
mov eax, dword [esi + 0x24]
mov dword [eax], 0
mov ecx, dword [esi + 0x34]
mov dword [ecx], 0
mov edx, dword [esi + 0x10]
mov dword [edx], 0
mov eax, dword [esi + 0x20]
mov dword [eax], 0
mov ecx, dword [esi + 0x30]
mov dword [ecx], 0
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
Function at 0x42dd00
Capabilities:
Hash data using sha1

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
push ebx
push esi
push edi
mov edi, eax
test edi, edi
je 0x42de61
push 0x68
call fcn.00442245
push 0x68
mov esi, eax
push 0
push esi
call fcn.00446be0
push 8
push edi
mov dword [esi], 0x67452301
mov dword [esi + 4], 0xefcdab89
mov dword [esi + 8], 0x98badcfe
mov dword [esi + 0xc], 0x10325476
mov dword [esi + 0x10], 0xc3d2e1f0
call fcn.0042fc20
add esp, 0x18
mov ebx, esi
call fcn.0042e080
cmp dword [ebp + 8], 0
mov ebx, eax
je 0x42dd95
cmp dword [ebp + 0xc], 0
je 0x42dd95
mov esi, dword [ebx]
push esi
call fcn.00442245
mov edi, eax
add esp, 4
test edi, edi
je 0x42de61
mov eax, dword [ebx + 4]
push esi
push eax
push edi
call fcn.004450a0
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
add esp, 0xc
mov dword [ecx], esi
mov dword [edx], edi
cmp dword [ebp + 0x10], 0
je 0x42dde1
mov edi, dword [ebp + 0x14]
test edi, edi
je 0x42dde1
push 0x20
call fcn.00442245
mov esi, eax
add esp, 4
test esi, esi
je 0x42de61
mov eax, dword [ebp + 0x10]
mov dword [edi], 0x20
mov edi, dword [ebx]
mov dword [eax], esi
mov eax, dword [ebx + 4]
push edi
push eax
push esi
call fcn.004450a0
mov eax, dword [ebx + 4]
push edi
sub esi, edi
push eax
add esi, 0x20
push esi
call fcn.004450a0
add esp, 0x18
cmp dword [ebp + 0x18], 0
je 0x42de3b
cmp dword [ebp + 0x1c], 0
je 0x42de3b
lea edi, [ebp - 0x10]
lea esi, [ebp - 8]
call fcn.0042d850
mov edi, dword [ebp - 8]
push edi
call fcn.00442245
mov esi, eax
add esp, 4
test esi, esi
je 0x42de26
mov eax, dword [ebp - 4]
test eax, eax
je 0x42de26
push edi
push eax
push esi
call fcn.004450a0
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 0x1c]
add esp, 0xc
mov dword [ecx], esi
mov dword [edx], edi
mov eax, dword [ebp - 4]
push eax
call fcn.004411f8
mov ecx, dword [ebp - 0xc]
push ecx
call fcn.004411f8
add esp, 8
test ebx, ebx
je 0x42de58
mov eax, dword [ebx + 4]
test eax, eax
je 0x42de4f
push eax
call fcn.004411f8
add esp, 4
push ebx
call fcn.004411f8
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 0xd
pop ebx
mov esp, ebp
pop ebp
ret

Function at 0x42e040
Capabilities:
Hash data using sha1

Disassembly:
push esi
push 0x68
call fcn.00442245
push 0x68
mov esi, eax
push 0
push esi
call fcn.00446be0
add esp, 0x10
mov dword [esi], 0x67452301
mov dword [esi + 4], 0xefcdab89
mov dword [esi + 8], 0x98badcfe
mov dword [esi + 0xc], 0x10325476
mov dword [esi + 0x10], 0xc3d2e1f0
mov eax, esi
pop esi
ret
Function at 0x4304d0
Capabilities:
Encode data using xor
Encrypt data using aes
Reference aes constants

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x34
mov eax, dword [0x476458]
xor eax, ebp
mov dword [ebp - 8], eax
mov edx, dword [ebp + 8]
add edx, 0xfffffffa
lea eax, [edx - 1]
push esi
push edi
test eax, eax
js 0x430502
lea esi, [ebp - 0x28]
sub ecx, esi
lea esi, [ecx + eax*4]
dec eax
mov esi, dword [ebp + esi - 0x28]
mov dword [ebp + eax*4 - 0x24], esi
jns 0x4304f4
xor esi, esi
xor ecx, ecx
xor eax, eax
mov dword [ebp - 0x2c], esi
test edx, edx
jle 0x430547
mov edi, dword [ebp + 8]
inc edi
cmp esi, edi
jge 0x430547
cmp eax, edx
jge 0x430538
jmp 0x430520
cmp ecx, 4
jge 0x43053b
mov edi, dword [ebp + eax*4 - 0x28]
lea esi, [ecx + esi*4]
inc eax
inc ecx
mov dword [ebx + esi*4], edi
mov esi, dword [ebp - 0x2c]
cmp eax, edx
jl 0x430520
cmp ecx, 4
jne 0x430543
inc esi
mov dword [ebp - 0x2c], esi
xor ecx, ecx
cmp eax, edx
jl 0x43050f
mov eax, dword [ebp + 8]
inc eax
mov dword [ebp - 0x34], eax
cmp esi, eax
jge 0x430660
mov dword [ebp - 0x30], 0x467f00
lea ecx, [ecx]
movzx eax, byte [ebp + edx*4 - 0x2b]
movzx eax, byte [eax + str.cw]
xor byte [ebp - 0x28], al
movzx eax, byte [ebp + edx*4 - 0x2a]
movzx eax, byte [eax + str.cw]
xor byte [ebp - 0x27], al
movzx eax, byte [ebp + edx*4 - 0x29]
movzx eax, byte [eax + str.cw]
xor byte [ebp - 0x26], al
movzx eax, byte [ebp + edx*4 - 0x2c]
movzx eax, byte [eax + str.cw]
xor byte [ebp - 0x25], al
mov eax, dword [ebp - 0x30]
movzx eax, byte [eax]
xor byte [ebp - 0x28], al
add dword [ebp - 0x30], 4
mov eax, 1
cmp edx, 8
je 0x4305c6
cmp edx, eax
jle 0x43061f
mov edi, dword [ebp + eax*4 - 0x2c]
xor dword [ebp + eax*4 - 0x28], edi
inc eax
cmp eax, edx
jl 0x4305b7
jmp 0x43061f
mov edi, dword [ebp + eax*4 - 0x2c]
xor dword [ebp + eax*4 - 0x28], edi
inc eax
cmp eax, 4
jl 0x4305c6
movzx eax, byte [ebp - 0x1c]
movzx eax, byte [eax + str.cw]
xor byte [ebp - 0x18], al
movzx eax, byte [ebp - 0x1b]
movzx eax, byte [eax + str.cw]
xor byte [ebp - 0x17], al
movzx eax, byte [ebp - 0x1a]
movzx eax, byte [eax + str.cw]
xor byte [ebp - 0x16], al
movzx eax, byte [ebp - 0x19]
movzx eax, byte [eax + str.cw]
xor byte [ebp - 0x15], al
mov eax, 5
mov edi, dword [ebp + eax*4 - 0x2c]
xor dword [ebp + eax*4 - 0x28], edi
inc eax
cmp eax, 8
jl 0x430611
xor eax, eax
test edx, edx
jle 0x430657
cmp esi, dword [ebp - 0x34]
jge 0x430660
cmp eax, edx
jge 0x430648
mov edi, edi
cmp ecx, 4
jge 0x43064b
mov edi, dword [ebp + eax*4 - 0x28]
lea esi, [ecx + esi*4]
inc eax
inc ecx
mov dword [ebx + esi*4], edi
mov esi, dword [ebp - 0x2c]
cmp eax, edx
jl 0x430630
cmp ecx, 4
jne 0x430653
inc esi
mov dword [ebp - 0x2c], esi
xor ecx, ecx
cmp eax, edx
jl 0x430625
cmp esi, dword [ebp - 0x34]
jl 0x430560
mov ecx, dword [ebp - 8]
pop edi
xor ecx, ebp
xor eax, eax
pop esi
call fcn.00440ba3
mov esp, ebp
pop ebp
ret
Function at 0x430680
Capabilities:
Encode data using xor

Disassembly:
cmp ecx, 1
jle 0x430757
add eax, 0x16
dec ecx
push esi
mov edi, edi
movzx edx, byte [eax - 3]
mov edx, dword [edx*4 + 0x467b00]
movzx esi, byte [eax - 4]
xor edx, dword [esi*4 + 0x467700]
movzx esi, byte [eax - 5]
xor edx, dword [esi*4 + 0x467300]
movzx esi, byte [eax - 6]
xor edx, dword [esi*4 + 0x466f00]
add eax, 0x10
mov dword [eax - 0x16], edx
movzx edx, byte [eax - 0xf]
mov edx, dword [edx*4 + 0x467b00]
movzx esi, byte [eax - 0x11]
xor edx, dword [esi*4 + 0x467300]
movzx esi, byte [eax - 0x10]
xor edx, dword [esi*4 + 0x467700]
movzx esi, byte [eax - 0x12]
xor edx, dword [esi*4 + 0x466f00]
mov dword [eax - 0x12], edx
movzx edx, byte [eax - 0xb]
mov edx, dword [edx*4 + 0x467b00]
movzx esi, byte [eax - 0xc]
xor edx, dword [esi*4 + 0x467700]
movzx esi, byte [eax - 0xd]
xor edx, dword [esi*4 + 0x467300]
movzx esi, byte [eax - 0xe]
xor edx, dword [esi*4 + 0x466f00]
mov dword [eax - 0xe], edx
movzx edx, byte [eax - 7]
movzx esi, byte [eax - 8]
mov edx, dword [edx*4 + 0x467b00]
xor edx, dword [esi*4 + 0x467700]
movzx esi, byte [eax - 9]
xor edx, dword [esi*4 + 0x467300]
movzx esi, byte [eax - 0xa]
xor edx, dword [esi*4 + 0x466f00]
dec ecx
mov dword [eax - 0xa], edx
jne 0x430690
pop esi
xor eax, eax
ret
Function at 0x433100
Capabilities:
Enumerate processes

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x45d3c8
mov eax, dword fs:[0]
push eax
sub esp, 0x25c
mov eax, dword [0x476458]
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
xor ebx, ebx
push 0x228
lea eax, [ebp - 0x264]
push ebx
push eax
mov edi, ecx
mov dword [ebp - 0x268], ebx
call fcn.00446be0
add esp, 0xc
push ebx
push 2
call dword [sym.imp.KERNEL32.dll_CreateToolhelp32Snapshot]
mov esi, eax
cmp esi, 0xffffffff
je 0x4331e5
lea ecx, [ebp - 0x268]
push ecx
push esi
mov dword [ebp - 0x268], 0x22c
call dword [sym.imp.KERNEL32.dll_Process32FirstW]
test eax, eax
je 0x4331de
lea ecx, [ecx]
xor edx, edx
mov dword [ebp - 0x20], 7
mov dword [ebp - 0x24], ebx
mov word [ebp - 0x34], dx
mov dword [ebp - 4], ebx
mov eax, dword [ebp - 0x260]
push eax
lea edx, [ebp - 0x34]
lea ecx, [ebp - 0x244]
call fcn.00432dd0
add esp, 4
lea ecx, [ebp - 0x34]
call fcn.00433330
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x20], 8
jb 0x4331cc
mov ecx, dword [ebp - 0x34]
push ecx
call fcn.004410cb
add esp, 4
lea edx, [ebp - 0x268]
push edx
push esi
call dword [sym.imp.KERNEL32.dll_Process32NextW]
test eax, eax
jne 0x433180
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
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.00440ba3
mov esp, ebp
pop ebp
ret

Function at 0x433e40
Capabilities:
Access peb ldr_data
Get ntdll base address

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x45bb7b
mov eax, dword fs:[0]
push eax
push ebx
push esi
push edi
mov eax, dword [0x476458]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, dword [ebp + 8]
fldz
mov dword [edi], 0xffffffff
xor ebx, ebx
mov dword [edi + 4], ebx
mov dword [edi + 8], ebx
fst dword [edi + 0xc]
fst dword [edi + 0x10]
mov eax, 7
fst dword [edi + 0x14]
xor ecx, ecx
fst dword [edi + 0x18]
fst dword [edi + 0x1c]
fst dword [edi + 0x20]
fst dword [edi + 0x24]
fst dword [edi + 0x28]
fst dword [edi + 0x2c]
fst dword [edi + 0x30]
fst dword [edi + 0x34]
fstp dword [edi + 0x38]
mov dword [edi + 0x3c], ebx
mov dword [edi + 0x54], eax
mov dword [edi + 0x50], ebx
mov word [edi + 0x40], cx
mov dword [ebp - 4], ebx
xor edx, edx
mov dword [edi + 0x70], eax
mov dword [edi + 0x6c], ebx
mov word [edi + 0x5c], dx
mov dword [edi + 0x8c], eax
mov dword [edi + 0x88], ebx
mov word [edi + 0x78], cx
mov dword [edi + 0xa8], eax
mov dword [edi + 0xa4], ebx
mov word [edi + 0x94], dx
mov dword [edi + 0xc4], eax
mov dword [edi + 0xc0], ebx
mov word [edi + 0xb0], cx
mov dword [edi + 0xe0], eax
mov dword [edi + 0xdc], ebx
mov word [edi + 0xcc], dx
mov byte [ebp - 4], 5
lea esi, [edi + 0xec]
mov dword [edi + 0xe8], ebx
call fcn.004036d0
mov word [edi + 0x144], bx
mov byte [edi + 0x146], 1
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 0x439340
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
push esi
mov esi, eax
mov ecx, dword [esi + 0x10]
push edi
cmp ecx, 0x105
ja 0x43937c
cmp ecx, 0x106
jb 0x43936c
or eax, 0xffffffff
mov ecx, 0x106
call fcn.00403110
jmp 0x43937c
mov eax, 0x106
push 0
sub eax, ecx
mov edi, esi
call fcn.0042a330
cmp dword [esi + 0x14], 8
jb 0x439386
mov edi, dword [esi]
jmp 0x439388
mov edi, esi
test edi, edi
jne 0x439395
pop edi
or eax, 0xffffffff
pop esi
mov esp, ebp
pop ebp
ret
lea eax, [ebp - 4]
push eax
push 1
push 0
push str.SoftwareApple_Computer__Inc.Safari
push reloc.WS2_32.dll_bind
mov dword [ebp - 8], 0x105
mov dword [ebp - 0xc], 0
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x4393e2
lea ecx, [ebp - 8]
push ecx
push edi
lea edx, [ebp - 0xc]
push edx
push eax
mov eax, dword [ebp - 4]
push str.BrowserExe
push eax
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov ecx, dword [ebp - 4]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp dword [esi + 0x14], 8
mov ecx, dword [esi + 0x10]
jb 0x4393ef
mov eax, dword [esi]
jmp 0x4393f1
mov eax, esi
push ecx
push eax
call fcn.00441639
mov edx, dword [esi + 0x10]
mov ecx, eax
add esp, 8
cmp ecx, edx
ja 0x439414
or eax, 0xffffffff
call fcn.00403110
pop edi
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret
mov eax, ecx
push 0
sub eax, edx
mov edi, esi
call fcn.0042a330
pop edi
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret
Function at 0x439960
Capabilities:
Delete registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x45a6a8
mov eax, dword fs:[0]
push eax
sub esp, 0x24
mov eax, dword [0x476458]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
xor eax, eax
xor ecx, ecx
mov dword [ebp - 0x18], 7
mov dword [ebp - 0x1c], eax
mov word [ebp - 0x2c], cx
lea ebx, [ebp - 0x2c]
mov dword [ebp - 4], eax
call fcn.0043e5b0
test eax, eax
je 0x4399c0
cmp dword [ebp - 0x18], 8
jb 0x439a6c
mov edx, dword [ebp - 0x2c]
push edx
jmp 0x439a64
mov eax, dword [ebp - 0x2c]
mov ebx, 8
cmp dword [ebp - 0x18], ebx
jae 0x4399d0
lea eax, [ebp - 0x2c]
push 0xa
push 0
push eax
call fcn.004431b1
add esp, 0xc
cmp eax, 9
jge 0x439a27
cmp dword [edi + 0x14], ebx
jb 0x4399e9
mov edi, dword [edi]
push 0
lea eax, [ebp - 0x30]
push eax
push 0
push 0xf003f
push 0
push 0
push 0
push str.SoftwareMicrosoftWindowsCurrentVersionInternet_Settings5.0User_AgentPost_Platform
push connect
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x439a5b
mov ecx, dword [ebp - 0x30]
push edi
push ecx
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
mov edx, dword [ebp - 0x30]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x439a5b
cmp dword [esi + 0x10], 0
jne 0x439a3e
push str.compatible
mov ecx, str.SoftwareMicrosoftWindowsCurrentVersionInternet_Settings5.0User_Agent
call fcn.0043e560
jmp 0x439a58
cmp dword [esi + 0x14], ebx
jb 0x439a47
mov eax, dword [esi]
jmp 0x439a49
mov eax, esi
push str.compatible
mov ecx, str.SoftwareMicrosoftWindowsCurrentVersionInternet_Settings5.0User_Agent
call fcn.0043e430
add esp, 4
cmp dword [ebp - 0x18], ebx
jb 0x439a6c
mov eax, dword [ebp - 0x2c]
push eax
call fcn.004410cb
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00440ba3
mov esp, ebp
pop ebp
ret
Function at 0x43c5f0
Capabilities:
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push esi
push ebx
mov esi, eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
jne 0x43c60b
xor al, al
pop esi
mov esp, ebp
pop ebp
ret
mov ecx, dword [esi + 0x10]
push edi
cmp ecx, 0x400
ja 0x43c63e
cmp ecx, 0x401
jb 0x43c62e
or eax, 0xffffffff
mov ecx, 0x401
call fcn.00403110
jmp 0x43c63e
mov eax, 0x401
push 0
sub eax, ecx
mov edi, esi
call fcn.0042a330
cmp dword [esi + 0x14], 8
jb 0x43c648
mov edi, dword [esi]
jmp 0x43c64a
mov edi, esi
push ebx
mov dword [ebp - 4], 0x3ff
call dword [sym.imp.USER32.dll_GetWindowTextLengthW]
mov dword [ebp - 8], eax
cmp eax, 0x3ff
lea eax, [ebp - 4]
jg 0x43c668
lea eax, [ebp - 8]
mov eax, dword [eax]
inc eax
push eax
push edi
push ebx
call dword [sym.imp.USER32.dll_GetWindowTextW]
cmp dword [esi + 0x14], 8
mov eax, dword [esi + 0x10]
jb 0x43c681
mov ecx, dword [esi]
jmp 0x43c683
mov ecx, esi
push eax
push ecx
call fcn.00441639
mov edx, dword [esi + 0x10]
mov ecx, eax
add esp, 8
cmp ecx, edx
ja 0x43c6a6
or eax, 0xffffffff
call fcn.00403110
pop edi
mov al, 1
pop esi
mov esp, ebp
pop ebp
ret
mov eax, ecx
push 0
sub eax, edx
mov edi, esi
call fcn.0042a330
pop edi
mov al, 1
pop esi
mov esp, ebp
pop ebp
ret