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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff00
push ebx
push esi
mov eax, dword [ebp + 8]
mov ecx, dword [eax - 0x14]
mov edx, 0x62b0b8
lea eax, [ebp - 0x100]
call fcn.00503028
mov eax, dword [ebp + 8]
xor edx, edx
mov dl, byte [eax - 0x18]
xor eax, eax
lea ecx, [ebp - 0x100]
xor ebx, ebx
mov bl, byte [ecx]
movzx ebx, byte [ebx + 0x62b0b8]
xor ebx, edx
mov ebx, dword [ebx*4 + 0x62b2b8]
mov esi, dword [ebp + 8]
mov esi, dword [esi - 0x20]
mov dword [esi + eax*4], ebx
inc eax
inc ecx
cmp eax, 0x100
jne 0x50307d
mov eax, dword [ebp + 8]
mov ecx, dword [eax - 0x14]
shr ecx, 8
mov edx, 0x62b1b8
lea eax, [ebp - 0x100]
call fcn.00503028
mov eax, dword [ebp + 8]
xor edx, edx
mov dl, byte [eax - 0x17]
xor eax, eax
lea ecx, [ebp - 0x100]
xor ebx, ebx
mov bl, byte [ecx]
movzx ebx, byte [ebx + 0x62b0b8]
xor ebx, edx
mov ebx, dword [ebx*4 + 0x62b6b8]
mov esi, dword [ebp + 8]
mov esi, dword [esi - 0x20]
mov dword [esi + eax*4 + 0x400], ebx
inc eax
inc ecx
cmp eax, 0x100
jne 0x5030cc
mov eax, dword [ebp + 8]
mov ecx, dword [eax - 0x14]
shr ecx, 0x10
mov edx, 0x62b0b8
lea eax, [ebp - 0x100]
call fcn.00503028
mov eax, dword [ebp + 8]
xor edx, edx
mov dl, byte [eax - 0x16]
xor eax, eax
lea ecx, [ebp - 0x100]
xor ebx, ebx
mov bl, byte [ecx]
movzx ebx, byte [ebx + 0x62b1b8]
xor ebx, edx
mov ebx, dword [ebx*4 + 0x62bab8]
mov esi, dword [ebp + 8]
mov esi, dword [esi - 0x20]
mov dword [esi + eax*4 + 0x800], ebx
inc eax
inc ecx
cmp eax, 0x100
jne 0x50311f
mov eax, dword [ebp + 8]
mov ecx, dword [eax - 0x14]
shr ecx, 0x18
mov edx, 0x62b1b8
lea eax, [ebp - 0x100]
call fcn.00503028
mov eax, dword [ebp + 8]
xor edx, edx
mov dl, byte [eax - 0x15]
xor eax, eax
lea ecx, [ebp - 0x100]
xor ebx, ebx
mov bl, byte [ecx]
movzx ebx, byte [ebx + 0x62b1b8]
xor ebx, edx
mov ebx, dword [ebx*4 + 0x62beb8]
mov esi, dword [ebp + 8]
mov esi, dword [esi - 0x20]
mov dword [esi + eax*4 + 0xc00], ebx
inc eax
inc ecx
cmp eax, 0x100
jne 0x503172
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x5031a4
Capabilities:
Encode data using xor
Encrypt data using twofish

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff00
push ebx
push esi
push edi
mov eax, dword [ebp + 8]
mov ecx, dword [eax - 0x10]
mov edx, 0x62b1b8
lea eax, [ebp - 0x100]
call fcn.00503028
mov eax, dword [ebp + 8]
xor edx, edx
mov dl, byte [eax - 0x18]
mov eax, dword [ebp + 8]
xor ecx, ecx
mov cl, byte [eax - 0x14]
xor eax, eax
lea ebx, [ebp - 0x100]
movzx esi, byte [ebx]
movzx esi, byte [esi + 0x62b0b8]
xor esi, ecx
movzx esi, byte [esi + 0x62b0b8]
xor esi, edx
mov esi, dword [esi*4 + 0x62b2b8]
mov edi, dword [ebp + 8]
mov edi, dword [edi - 0x20]
mov dword [edi + eax*4], esi
inc eax
inc ebx
cmp eax, 0x100
jne 0x5031de
mov eax, dword [ebp + 8]
mov ecx, dword [eax - 0x10]
shr ecx, 8
mov edx, 0x62b1b8
lea eax, [ebp - 0x100]
call fcn.00503028
mov eax, dword [ebp + 8]
xor edx, edx
mov dl, byte [eax - 0x17]
mov eax, dword [ebp + 8]
xor ecx, ecx
mov cl, byte [eax - 0x13]
xor eax, eax
lea ebx, [ebp - 0x100]
movzx esi, byte [ebx]
movzx esi, byte [esi + 0x62b1b8]
xor esi, ecx
movzx esi, byte [esi + 0x62b0b8]
xor esi, edx
mov esi, dword [esi*4 + 0x62b6b8]
mov edi, dword [ebp + 8]
mov edi, dword [edi - 0x20]
mov dword [edi + eax*4 + 0x400], esi
inc eax
inc ebx
cmp eax, 0x100
jne 0x50323d
mov eax, dword [ebp + 8]
mov ecx, dword [eax - 0x10]
shr ecx, 0x10
mov edx, 0x62b0b8
lea eax, [ebp - 0x100]
call fcn.00503028
mov eax, dword [ebp + 8]
xor edx, edx
mov dl, byte [eax - 0x16]
mov eax, dword [ebp + 8]
xor ecx, ecx
mov cl, byte [eax - 0x12]
xor eax, eax
lea ebx, [ebp - 0x100]
movzx esi, byte [ebx]
movzx esi, byte [esi + 0x62b0b8]
xor esi, ecx
movzx esi, byte [esi + 0x62b1b8]
xor esi, edx
mov esi, dword [esi*4 + 0x62bab8]
mov edi, dword [ebp + 8]
mov edi, dword [edi - 0x20]
mov dword [edi + eax*4 + 0x800], esi
inc eax
inc ebx
cmp eax, 0x100
jne 0x5032a0
mov eax, dword [ebp + 8]
mov ecx, dword [eax - 0x10]
shr ecx, 0x18
mov edx, 0x62b0b8
lea eax, [ebp - 0x100]
call fcn.00503028
mov eax, dword [ebp + 8]
xor edx, edx
mov dl, byte [eax - 0x15]
mov eax, dword [ebp + 8]
xor ecx, ecx
mov cl, byte [eax - 0x11]
xor eax, eax
lea ebx, [ebp - 0x100]
movzx esi, byte [ebx]
movzx esi, byte [esi + 0x62b1b8]
xor esi, ecx
movzx esi, byte [esi + 0x62b1b8]
xor esi, edx
mov esi, dword [esi*4 + 0x62beb8]
mov edi, dword [ebp + 8]
mov edi, dword [edi - 0x20]
mov dword [edi + eax*4 + 0xc00], esi
inc eax
inc ebx
cmp eax, 0x100
jne 0x503303
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x503b88
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffdc
push ebx
push esi
push edi
mov esi, eax
lea edi, [ebp - 8]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0xc], edx
lea edx, [ebp - 0x16]
lea eax, [ebp - 4]
mov ecx, 4
call fcn.00402edc
lea edx, [ebp - 0x12]
lea eax, [ebp - 8]
mov ecx, 4
call fcn.00402edc
mov ebx, dword [0x641104]
mov ebx, dword [ebx]
lea edx, [ebp - 0x16]
lea eax, [ebp - 0x16]
mov ecx, 2
call ebx
mov byte [ebp - 0xd], 8
mov dword [ebp - 0x24], 0x62c4b8
lea ebx, [ebp - 0x1e]
push ebp
xor edx, edx
mov dl, byte [ebp - 0x16]
mov eax, dword [ebp - 0x24]
movzx eax, byte [eax]
call fcn.00503b48
pop ecx
mov byte [ebx], al
mov byte [ebp - 0xe], 7
mov eax, dword [ebp - 0x24]
lea esi, [eax + 1]
lea edi, [ebp - 0x15]
push ebp
xor edx, edx
mov dl, byte [edi]
xor eax, eax
mov al, byte [esi]
call fcn.00503b48
pop ecx
xor byte [ebx], al
inc edi
inc esi
dec byte [ebp - 0xe]
jne 0x503bff
inc ebx
add dword [ebp - 0x24], 8
dec byte [ebp - 0xd]
jne 0x503bde
xor eax, eax
mov al, byte [ebp - 0x1e]
mov edx, dword [ebp - 0xc]
mov dword [edx], eax
mov eax, dword [ebp - 0xc]
xor edx, edx
mov dword [eax + 4], edx
mov byte [ebp - 0xd], 7
lea eax, [ebp - 0x1d]
mov edx, dword [ebp - 0xc]
mov edx, dword [edx + 4]
shl edx, 8
mov ecx, dword [ebp - 0xc]
mov ecx, dword [ecx]
shr ecx, 0x18
or edx, ecx
mov ecx, dword [ebp - 0xc]
mov dword [ecx + 4], edx
mov edx, dword [ebp - 0xc]
mov edx, dword [edx]
shl edx, 8
xor ecx, ecx
mov cl, byte [eax]
xor edx, ecx
mov ecx, dword [ebp - 0xc]
mov dword [ecx], edx
inc eax
dec byte [ebp - 0xd]
jne 0x503c3a
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x503c74
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffec
push ebx
push esi
push edi
mov esi, eax
lea edi, [ebp - 8]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0xc], ecx
mov eax, 0x62c4f8
lea ecx, [ebp - 8]
mov dword [ebp - 0x10], 5
mov ebx, dword [edx]
xor dword [ecx], ebx
mov ebx, dword [edx + 4]
xor dword [ecx + 4], ebx
add edx, 8
mov esi, dword [ecx + 4]
shr esi, 0x17
and esi, 0x1fe
mov esi, dword [eax + esi*4]
mov edi, dword [ecx + 4]
shr edi, 0xf
and edi, 0x1fe
xor esi, dword [eax + edi*4 + 0x800]
mov edi, dword [ecx + 4]
shr edi, 7
and edi, 0x1fe
xor esi, dword [eax + edi*4 + 0x1000]
mov edi, dword [ecx + 4]
add edi, edi
and edi, 0x1fe
xor esi, dword [eax + edi*4 + 0x1800]
mov ebx, dword [ecx]
mov edi, ebx
shr edi, 0x17
and edi, 0x1fe
xor esi, dword [eax + edi*4 + 0x2000]
mov edi, ebx
shr edi, 0xf
and edi, 0x1fe
xor esi, dword [eax + edi*4 + 0x2800]
mov edi, ebx
shr edi, 7
and edi, 0x1fe
xor esi, dword [eax + edi*4 + 0x3000]
mov edi, ebx
add edi, edi
and edi, 0x1fe
xor esi, dword [eax + edi*4 + 0x3800]
mov dword [ebp - 0x14], esi
mov esi, dword [ecx + 4]
shr esi, 0x17
and esi, 0x1fe
or esi, 1
mov esi, dword [eax + esi*4]
mov edi, dword [ecx + 4]
shr edi, 0xf
and edi, 0x1fe
or edi, 1
xor esi, dword [eax + edi*4 + 0x800]
mov edi, dword [ecx + 4]
shr edi, 7
and edi, 0x1fe
or edi, 1
xor esi, dword [eax + edi*4 + 0x1000]
mov edi, dword [ecx + 4]
add edi, edi
and edi, 0x1fe
or edi, 1
xor esi, dword [eax + edi*4 + 0x1800]
mov edi, dword [ecx]
shr edi, 0x17
and edi, 0x1fe
or edi, 1
xor esi, dword [eax + edi*4 + 0x2000]
mov edi, dword [ecx]
shr edi, 0xf
and edi, 0x1fe
or edi, 1
xor esi, dword [eax + edi*4 + 0x2800]
mov edi, ebx
shr edi, 7
and edi, 0x1fe
or edi, 1
xor esi, dword [eax + edi*4 + 0x3000]
add ebx, ebx
and ebx, 0x1fe
or ebx, 1
xor esi, dword [eax + ebx*4 + 0x3800]
mov dword [ecx + 4], esi
mov ebx, dword [ebp - 0x14]
mov dword [ecx], ebx
dec dword [ebp - 0x10]
jne 0x503c96
mov eax, dword [edx]
xor dword [ecx], eax
mov eax, dword [edx + 4]
xor dword [ecx + 4], eax
add edx, 8
mov eax, dword [ecx]
mov ebx, eax
shr ebx, 0x18
and ebx, 0xff
movzx ebx, byte [ebx + 0x62c2b8]
shl ebx, 0x18
mov esi, eax
shr esi, 0x10
and esi, 0xff
movzx esi, byte [esi + 0x62c2b8]
shl esi, 0x10
xor ebx, esi
mov esi, eax
shr esi, 8
and esi, 0xff
movzx esi, byte [esi + 0x62c2b8]
shl esi, 8
xor ebx, esi
and eax, 0xff
movzx eax, byte [eax + 0x62c2b8]
xor ebx, eax
mov dword [ecx], ebx
mov eax, dword [ecx + 4]
mov ebx, eax
shr ebx, 0x18
and ebx, 0xff
movzx ebx, byte [ebx + 0x62c2b8]
shl ebx, 0x18
mov esi, eax
shr esi, 0x10
and esi, 0xff
movzx esi, byte [esi + 0x62c2b8]
shl esi, 0x10
xor ebx, esi
mov esi, eax
shr esi, 8
and esi, 0xff
movzx esi, byte [esi + 0x62c2b8]
shl esi, 8
xor ebx, esi
and eax, 0xff
movzx eax, byte [eax + 0x62c2b8]
xor ebx, eax
mov dword [ecx + 4], ebx
mov eax, dword [edx]
xor eax, dword [ecx]
mov ebx, dword [ebp - 0xc]
mov dword [ebx], eax
mov eax, dword [edx + 4]
xor eax, dword [ecx + 4]
mov edx, dword [ebp - 0xc]
mov dword [edx + 4], eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x504978
Capabilities:
Allocate or change rwx memory

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffff8
push ebx
mov ebx, ecx
mov dword [ebp - 4], eax
jmp 0x50498a
add dword [ebp - 4], 4
mov eax, dword [ebp - 4]
cmp edx, dword [eax]
jne 0x504986
lea eax, [ebp - 8]
push eax
push 0x40
push 4
mov eax, dword [ebp - 4]
push eax
call sub.kernel32.dll_VirtualProtect
test eax, eax
je 0x5049e1
xor eax, eax
push ebp
push 0x5049da
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
mov dword [eax], ebx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x5049e1
lea eax, [ebp - 8]
push eax
mov eax, dword [ebp - 8]
push eax
push 4
mov eax, dword [ebp - 4]
push eax
call sub.kernel32.dll_VirtualProtect
ret
pop ebx
pop ecx
pop ecx
pop ebp
ret
Function at 0x50a488
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
push esi
push edi
mov edi, 0x63cb94
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov eax, dword [eax + 0x38]
mov edx, dword [ebp + 8]
mov edx, dword [edx - 4]
mov edx, dword [edx + 0x28]
shr edx, 1
add eax, edx
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov ecx, dword [eax + 0x28]
shr ecx, 1
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov eax, dword [eax + 0x38]
call fcn.00402edc
add dword [ebp - 4], 0x10
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov ebx, dword [eax + 0x40]
shl ebx, 2
sub ebx, 5
test ebx, ebx
jl 0x50a549
inc ebx
mov eax, dword [ebp - 4]
mov esi, dword [eax]
mov eax, esi
shr eax, 8
and eax, 0xff
mov eax, dword [edi + eax*4]
mov edx, 8
call fcn.004ef428
and esi, 0xff
xor eax, dword [edi + esi*4]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax]
shr eax, 0x10
and eax, 0xff
mov eax, dword [edi + eax*4]
mov edx, 0x10
call fcn.004ef428
pop edx
xor edx, eax
push edx
mov eax, dword [ebp - 4]
mov eax, dword [eax]
shr eax, 0x18
mov eax, dword [edi + eax*4]
mov edx, 0x18
call fcn.004ef428
pop edx
xor edx, eax
mov eax, dword [ebp - 4]
mov dword [eax], edx
add dword [ebp - 4], 4
dec ebx
jne 0x50a4e1
pop edi
pop esi
pop ebx
pop ecx
pop ebp
ret
Function at 0x50b004
Capabilities:
Encrypt data using des

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff00
push ebx
push esi
mov dword [ebp - 4], edx
lea eax, [ebp - 0x100]
xor ecx, ecx
mov edx, 0x80
call fcn.00403824
mov dword [ebp - 8], 0x38
mov eax, 0x63d094
lea edx, [ebp - 0x48]
mov bl, byte [eax]
mov ecx, ebx
and cl, 7
mov esi, 0x80
shr esi, cl
xor ecx, ecx
mov cl, bl
shr ecx, 3
mov ebx, dword [ebp - 4]
movzx ecx, byte [ebx + ecx]
and esi, ecx
je 0x50b058
mov byte [edx], 1
jmp 0x50b05b
mov byte [edx], 0
inc edx
inc eax
dec dword [ebp - 8]
jne 0x50b033
xor eax, eax
mov dword [ebp - 8], eax
mov esi, 0x63da1c
cmp byte [ebp + 8], 0
je 0x50b081
mov eax, 0xf
sub eax, dword [ebp - 8]
add eax, eax
mov dword [ebp - 0xc], eax
jmp 0x50b089
mov eax, dword [ebp - 8]
add eax, eax
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0x10], eax
xor eax, eax
lea edx, [ebp - 0x80]
xor ecx, ecx
mov cl, byte [esi]
add ecx, eax
cmp ecx, 0x1c
jae 0x50b0a8
mov cl, byte [ebp + ecx - 0x48]
mov byte [edx], cl
jmp 0x50b0ae
mov cl, byte [ebp + ecx - 0x64]
mov byte [edx], cl
inc eax
inc edx
cmp eax, 0x1c
jne 0x50b095
mov eax, 0x1c
lea edx, [ebp - 0x64]
xor ecx, ecx
mov cl, byte [esi]
add ecx, eax
cmp ecx, 0x38
jae 0x50b0d0
mov cl, byte [ebp + ecx - 0x48]
mov byte [edx], cl
jmp 0x50b0d6
mov cl, byte [ebp + ecx - 0x64]
mov byte [edx], cl
inc eax
inc edx
cmp eax, 0x38
jne 0x50b0bd
mov ecx, 0x1000000
mov eax, 0x18
mov edx, 0x63d0cc
shr ecx, 1
xor ebx, ebx
mov bl, byte [edx]
cmp byte [ebp + ebx - 0x80], 0
je 0x50b103
mov ebx, dword [ebp - 0xc]
or dword [ebp + ebx*4 - 0x100], ecx
xor ebx, ebx
mov bl, byte [edx + 0x18]
cmp byte [ebp + ebx - 0x80], 0
je 0x50b119
mov ebx, dword [ebp - 0x10]
or dword [ebp + ebx*4 - 0x100], ecx
inc edx
dec eax
jne 0x50b0ec
inc dword [ebp - 8]
inc esi
cmp dword [ebp - 8], 0x10
jne 0x50b06c
xor eax, eax
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
add eax, eax
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp + eax*4 - 0x100]
mov ecx, eax
and ecx, 0xfc0000
shl ecx, 6
and eax, 0xfc0
shl eax, 0xa
or ecx, eax
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp + eax*4 - 0x100]
mov eax, edx
and eax, 0xfc0000
shr eax, 0xa
or ecx, eax
and edx, 0xfc0
shr edx, 6
or ecx, edx
mov eax, dword [ebp + 0xc]
mov dword [eax], ecx
add dword [ebp + 0xc], 4
mov eax, dword [ebp - 0xc]
mov eax, dword [ebp + eax*4 - 0x100]
mov ecx, eax
and ecx, 0x3f000
shl ecx, 0xc
and eax, 0x3f
shl eax, 0x10
or ecx, eax
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp + eax*4 - 0x100]
mov eax, edx
and eax, 0x3f000
shr eax, 4
or ecx, eax
and edx, 0x3f
or ecx, edx
mov eax, dword [ebp + 0xc]
mov dword [eax], ecx
add dword [ebp + 0xc], 4
inc dword [ebp - 8]
cmp dword [ebp - 8], 0x10
jne 0x50b130
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
Function at 0x50bb0c
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffe4
push ebx
push esi
push edi
mov esi, ecx
mov ebx, edx
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
add eax, eax
mov dword [ebp + 0xc], eax
lea edx, [ebp + 0xc]
mov eax, dword [ebp - 4]
call fcn.004ff3fc
shr dword [ebp + 0xc], 1
lea eax, [ebp - 0xc]
xor ecx, ecx
mov edx, 8
call fcn.00403824
lea edx, [ebp - 0xc]
mov eax, ebx
mov ecx, dword [ebp + 0xc]
call fcn.00402edc
lea eax, [ebp - 0x14]
xor ecx, ecx
mov edx, 8
call fcn.00403824
lea edx, [ebp - 0x14]
mov eax, esi
mov ecx, dword [ebp + 0xc]
call fcn.00402edc
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
push eax
push 0
lea edx, [ebp - 0xc]
mov ecx, 7
mov eax, dword [ebp - 4]
call fcn.0050b004
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
add eax, 0x80
push eax
push 1
lea edx, [ebp - 0xc]
mov ecx, 7
mov eax, dword [ebp - 4]
call fcn.0050b004
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
lea edx, [eax + 0x100]
lea eax, [ebp - 0x14]
mov ecx, 8
call fcn.00402edc
lea eax, [ebp - 0x1c]
xor ecx, ecx
mov edx, 8
call fcn.00403824
mov edi, 8
lea esi, [ebp - 0xc]
mov bl, byte [ebp - 0x1c]
xor bl, byte [ebp - 0x1b]
lea edx, [ebp - 0x1c]
lea eax, [ebp - 0x1b]
mov ecx, 7
call fcn.00402edc
xor eax, eax
mov al, bl
mov al, byte [eax + 0x63da2c]
xor al, byte [esi]
mov byte [ebp - 0x15], al
inc esi
dec edi
jne 0x50bbd1
mov edi, 8
lea esi, [ebp - 0x14]
mov bl, byte [ebp - 0x1c]
xor bl, byte [ebp - 0x1b]
lea edx, [ebp - 0x1c]
lea eax, [ebp - 0x1b]
mov ecx, 7
call fcn.00402edc
xor eax, eax
mov al, bl
mov al, byte [eax + 0x63da2c]
xor al, byte [esi]
mov byte [ebp - 0x15], al
inc esi
dec edi
jne 0x50bc02
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
lea edx, [eax + 0x108]
lea eax, [ebp - 0x1c]
mov ecx, 8
call fcn.00402edc
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
call dword [ecx + 0x20]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
Function at 0x517278
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffd94
push ebx
push esi
xor eax, eax
mov dword [ebp - 0xd0], eax
xor eax, eax
push ebp
push 0x517360
push dword fs:[eax]
mov dword fs:[eax], esp
mov al, byte [0x517370]
mov byte [ebp - 1], al
push 0xc8
lea eax, [ebp - 0xc9]
push eax
call sub.kernel32.dll_GetSystemDirectoryA
xor ebx, ebx
mov esi, 0x63f208
lea eax, [ebp - 0x19c]
lea edx, [ebp - 0xc9]
mov ecx, 0xc8
call fcn.00403b14
lea edx, [ebp - 0x19c]
lea eax, [ebp - 0x268]
call fcn.004036bc
mov edx, 0x517374
lea eax, [ebp - 0x268]
mov cl, 0xc9
call fcn.0040368c
lea edx, [ebp - 0x268]
lea eax, [ebp - 0xd0]
call fcn.00405240
lea eax, [ebp - 0xd0]
mov edx, dword [esi]
call fcn.004052c0
mov eax, dword [ebp - 0xd0]
call fcn.0040b0b8
test al, al
je 0x51733a
mov edx, ebx
lea eax, [ebp - 0x26c]
mov cl, 1
call fcn.00403b38
mov al, byte [ebp - 0x26c]
or al, byte [ebp - 1]
mov byte [ebp - 1], al
inc ebx
add esi, 4
cmp bl, 3
jne 0x5172b9
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x517367
lea eax, [ebp - 0xd0]
call fcn.00404fdc
ret

Function at 0x57ac44
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
push edi
test dl, dl
je 0x57ac56
add esp, 0xfffffff0
call fcn.00404404
mov esi, ecx
mov ebx, edx
mov edi, eax
mov eax, dword [ebp + 8]
call fcn.004054a8
xor eax, eax
push ebp
push 0x57acd2
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [esi + 0xc]
xor edx, edx
mov eax, edi
call fcn.0057ab54
mov eax, dword [esi + 0xc]
mov dword [edi + 0x28], eax
lea eax, [edi + 0x2c]
mov edx, dword [esi + 4]
call fcn.00405280
lea eax, [edi + 0x30]
mov edx, dword [esi + 8]
call fcn.00405280
mov al, byte [esi + 0x10]
mov byte [edi + 0x34], al
mov al, byte [esi + 0x11]
mov byte [edi + 0x35], al
mov ax, word [esi + 0x12]
mov word [edi + 0x36], ax
lea eax, [edi + 0x38]
mov edx, dword [esi]
call fcn.00405280
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x57acd9
lea eax, [ebp + 8]
call fcn.00404fdc
ret
Function at 0x599aa0
Capabilities:
Get socket status

Disassembly:
add esp, 0xfffffefc
mov dword [esp], 1
mov dword [esp + 4], eax
push 0x644a00
push 0
push 0
lea eax, [esp + 0xc]
push eax
push 0
call sub.wsock32.dll_select
test eax, eax
setg al
add esp, 0x104
ret

Function at 0x599b44
Capabilities:
Send data
Send data on socket

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffff0
push ebx
push esi
push edi
mov esi, dword [ebp + 0x10]
lea edi, [ebp - 0x10]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov ebx, dword [ebp + 0xc]
push ebx
lea ebx, [ebp - 0x10]
push ebx
mov ebx, dword [ebp + 0x14]
push ebx
push ecx
push edx
push eax
call sub.wsock32.dll_sendto
mov ebx, eax
mov eax, ebx
call fcn.00599770
mov edx, dword [ebp + 8]
mov dword [edx], eax
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10

Function at 0x599bdc
Capabilities:
Get socket status

Disassembly:
push esi
push edi
add esp, 0xfffffef4
mov esi, ecx
lea edi, [esp]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov dword [esp + 8], 1
mov dword [esp + 0xc], eax
test dl, dl
je 0x599c0e
push esp
push 0
push 0
lea eax, [esp + 0x14]
push eax
push 0
call sub.wsock32.dll_select
jmp 0x599c1f
push esp
push 0
lea eax, [esp + 0x10]
push eax
push 0
push 0
call sub.wsock32.dll_select
add esp, 0x10c
pop edi
pop esi
ret
Function at 0x5c3a9c
Capabilities:
Log keystrokes via polling

Disassembly:
push ebx
add esp, 0xffffff00
push esp
call sub.user32.dll_GetKeyboardState
mov eax, esp
call fcn.004b1de0
mov ebx, eax
mov eax, ebx
add esp, 0x100
pop ebx
ret
Function at 0x5fd980
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffdc
push ebx
push esi
mov esi, dword [ebp + 8]
mov esi, dword [esi - 8]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x2c]
push eax
mov eax, dword [ebp + 8]
mov cl, byte [eax + 0xc]
mov eax, dword [ebp + 8]
mov dl, byte [eax + 0x34]
mov eax, dword [ebp + 8]
mov al, byte [eax - 1]
call fcn.005fe164
mov ebx, eax
mov dl, 1
mov eax, dword [0x46224c]
call fcn.004697bc
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x5fdad0
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x30]
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
call dword [ecx + 8]
mov edx, dword [esi + 0xc]
sub edx, dword [esi + 4]
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
call dword [ecx + 0x34]
mov edx, dword [esi + 8]
sub edx, dword [esi]
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
call dword [ecx + 0x40]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x30]
mov edx, dword [eax]
call dword [edx + 0x2c]
mov edx, dword [ebp + 8]
mov ecx, dword [edx + 0x2c]
cdq
idiv ecx
imul ebx
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 4]
mov edx, dword [eax]
call dword [edx + 0x2c]
add eax, dword [ebp - 0x14]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x30]
mov edx, dword [eax]
call dword [edx + 0x20]
mov ebx, eax
mov eax, dword [ebp - 4]
mov edx, dword [eax]
call dword [edx + 0x20]
sub ebx, eax
sar ebx, 1
jns 0x5fda39
adc ebx, 0
mov dword [ebp - 0x10], ebx
mov eax, dword [ebp - 4]
mov edx, dword [eax]
call dword [edx + 0x20]
add eax, dword [ebp - 0x10]
mov dword [ebp - 8], eax
lea eax, [ebp - 0x14]
push eax
mov eax, dword [ebp - 4]
mov edx, dword [eax]
call dword [edx + 0x20]
push eax
lea eax, [ebp - 0x24]
push eax
mov eax, dword [ebp - 4]
mov edx, dword [eax]
call dword [edx + 0x2c]
mov ecx, eax
xor edx, edx
xor eax, eax
call fcn.0042112c
lea eax, [ebp - 0x24]
push eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x30]
call fcn.00469ed0
push eax
mov eax, dword [ebp - 4]
call fcn.00469ed0
pop ecx
pop edx
call fcn.004643d0
mov eax, dword [ebp - 4]
push eax
mov eax, dword [ebp + 8]
cmp byte [eax + 0x34], 3
setne al
push eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x1c]
call fcn.00462e10
push eax
push 0
mov ecx, dword [esi + 4]
mov edx, dword [esi]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0xc]
call fcn.005d5540
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x5fdad7
mov eax, dword [ebp - 4]
call fcn.0040408c
ret