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

Disassembly:
push ebp
push ebx
push esi
push edi
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x24]
mov esi, dword [ebx]
mov edi, dword [ebx + 4]
push edi
push esi
push edi
push esi
mov ebx, esp
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0x28]
mov ecx, dword [esp + 0x38]
push ecx
mov eax, dword [esp + 0x34]
push eax
push ebx
cmp ecx, 0
je 0x1001ebdb
and ebp, 0xfffffff8
mov eax, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
je 0x1001eb76
mov ecx, dword [esi]
mov edx, dword [esi + 4]
xor eax, ecx
xor ebx, edx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ebx
call sym.libcrypto_1_1.dll_DES_encrypt1
mov eax, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov dword [edi], eax
mov dword [edi + 4], ebx
add esi, 8
add edi, 8
sub ebp, 8
jne 0x1001eb44
mov ebp, dword [esp + 0x38]
and ebp, 7
je 0x1001ec94
call 0x1001eb88
pop edx
lea ecx, [edx + 0x138]
mov ebp, dword [ecx + ebp*4]
add ebp, edx
xor ecx, ecx
xor edx, edx
jmp ebp
and ebp, 0xfffffff8
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
je 0x1001ec33
mov eax, dword [esi]
mov ebx, dword [esi + 4]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ebx
call sym.libcrypto_1_1.dll_DES_encrypt1
mov eax, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
xor ecx, eax
xor edx, ebx
mov eax, dword [esi]
mov ebx, dword [esi + 4]
mov dword [edi], ecx
mov dword [edi + 4], edx
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ebx
add esi, 8
add edi, 8
sub ebp, 8
jne 0x1001ebec
mov ebp, dword [esp + 0x38]
and ebp, 7
je 0x1001ec94
mov eax, dword [esi]
mov ebx, dword [esi + 4]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ebx
call sym.libcrypto_1_1.dll_DES_encrypt1
mov eax, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
xor ecx, eax
xor edx, ebx
mov eax, dword [esi]
mov ebx, dword [esi + 4]
ror edx, 0x10
mov byte [edi + 6], dl
shr edx, 0x10
mov byte [edi + 5], dh
mov byte [edi + 4], dl
mov dword [edi], ecx
jmp 0x1001ec8f
jmp 0x1001ec94
mov ecx, dword [esp + 0x40]
add esp, 0x1c
mov dword [ecx], eax
mov dword [ecx + 4], ebx
pop edi
pop esi
pop ebx
pop ebp
ret
Function at 0x1001ed00
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push esi
push edi
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x2c]
mov esi, dword [ebx]
mov edi, dword [ebx + 4]
push edi
push esi
push edi
push esi
mov ebx, esp
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0x28]
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x38]
push eax
mov eax, dword [esp + 0x38]
push eax
mov eax, dword [esp + 0x38]
push eax
push ebx
cmp ecx, 0
je 0x1001ede4
and ebp, 0xfffffff8
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
je 0x1001ed7f
mov ecx, dword [esi]
mov edx, dword [esi + 4]
xor eax, ecx
xor ebx, edx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ebx
call sym.libcrypto_1_1.dll_DES_encrypt3
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov dword [edi], eax
mov dword [edi + 4], ebx
add esi, 8
add edi, 8
sub ebp, 8
jne 0x1001ed4d
mov ebp, dword [esp + 0x3c]
and ebp, 7
je 0x1001ee9d
call 0x1001ed91
pop edx
lea ecx, [edx + 0x12f]
mov ebp, dword [ecx + ebp*4]
add ebp, edx
xor ecx, ecx
xor edx, edx
jmp ebp
and ebp, 0xfffffff8
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
je 0x1001ee3c
mov eax, dword [esi]
mov ebx, dword [esi + 4]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ebx
call sym.libcrypto_1_1.dll_DES_decrypt3
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
xor ecx, eax
xor edx, ebx
mov eax, dword [esi]
mov ebx, dword [esi + 4]
mov dword [edi], ecx
mov dword [edi + 4], edx
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], ebx
add esi, 8
add edi, 8
sub ebp, 8
jne 0x1001edf5
mov ebp, dword [esp + 0x3c]
and ebp, 7
je 0x1001ee9d
mov eax, dword [esi]
mov ebx, dword [esi + 4]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ebx
call sym.libcrypto_1_1.dll_DES_decrypt3
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
xor ecx, eax
xor edx, ebx
mov eax, dword [esi]
mov ebx, dword [esi + 4]
ror edx, 0x10
mov byte [edi + 6], dl
shr edx, 0x10
mov byte [edi + 5], dh
mov byte [edi + 4], dl
mov dword [edi], ecx
jmp 0x1001ee98
jmp 0x1001ee9d
mov ecx, dword [esp + 0x4c]
add esp, 0x20
mov dword [ecx], eax
mov dword [ecx + 4], ebx
pop edi
pop esi
pop ebx
pop ebp
ret

Function at 0x10067a90
Capabilities:
Encode data using xor

Disassembly:
push esi
push edi
mov esi, dword [esp + 0xc]
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
xor eax, eax
xor edx, edx
cmp ecx, 0
je 0x10067ac3
mov dl, byte [esi]
lea esi, [esi + 1]
xor dl, byte [edi]
lea edi, [edi + 1]
or al, dl
dec ecx
jne 0x10067aab
neg eax
shr eax, 0x1f
pop edi
pop esi
ret
Function at 0x1006b020
Capabilities:
Encode data using xor
Encrypt data using rc4 prga

Disassembly:
push ebp
push esi
push edi
mov edi, dword [esp + 0x10]
xor ecx, ecx
xor dl, dl
test edi, edi
je 0x1006b08a
mov eax, dword [esp + 0x14]
test eax, eax
je 0x1006b08a
movzx esi, byte [edi]
cmp dword [esp + 0x18], ecx
jne 0x1006b04f
cmp esi, 0x7f
jbe 0x1006b085
mov ecx, 1
lea ebp, [ecx + eax]
jmp 0x1006b091
or dl, 0xff
cmp esi, 0x80
jbe 0x1006b064
mov ecx, 1
lea ebp, [ecx + eax]
jmp 0x1006b091
jne 0x1006b085
xor edx, edx
lea esi, [edx + 1]
cmp eax, esi
jbe 0x1006b07b
nop
movzx ecx, byte [esi + edi]
inc esi
or edx, ecx
cmp esi, eax
jb 0x1006b070
neg edx
sbb dl, dl
movzx ecx, dl
and ecx, 1
lea ebp, [ecx + eax]
jmp 0x1006b091
mov ebp, 1
xor eax, eax
mov esi, dword [esp + 0x1c]
test esi, esi
je 0x1006b0db
mov esi, dword [esi]
test esi, esi
je 0x1006b0db
mov byte [esi], dl
push ebx
movzx edx, dl
lea ebx, [esi + ecx]
mov dword [esp + 0x14], edx
lea esi, [edi + eax]
and edx, 1
add ebx, eax
test eax, eax
je 0x1006b0d4
mov edi, dword [esp + 0x14]
sub ebx, esi
mov edi, edi
movzx ecx, byte [esi - 1]
lea esi, [esi - 1]
xor ecx, edi
add edx, ecx
mov byte [ebx + esi], dl
shr edx, 8
dec eax
jne 0x1006b0c0
mov eax, dword [esp + 0x20]
pop ebx
add dword [eax], ebp
pop edi
pop esi
mov eax, ebp
pop ebp
ret

Function at 0x1006b1b0
Capabilities:
Encode data using xor

Disassembly:
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
push ebx
push esi
mov esi, dword [esp + 0xc]
movzx ebx, al
add esi, edx
push edi
mov edi, dword [esp + 0x14]
mov eax, ebx
and eax, 1
add edi, edx
test edx, edx
je 0x1006b1e9
movzx ecx, byte [edi - 1]
lea edi, [edi - 1]
xor ecx, ebx
lea esi, [esi - 1]
add eax, ecx
mov byte [esi], al
shr eax, 8
dec edx
jne 0x1006b1d3
pop edi
pop esi
pop ebx
ret
Function at 0x10081810
Capabilities:
Encrypt data using rc4 prga

Disassembly:
jmp 0x10081810
mov eax, 0x28
call fcn.101704b0
mov eax, dword [0x101f2700]
xor eax, esp
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x30]
mov dword [esp], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x14], eax
push ebx
push ebp
movzx ebx, byte [eax]
lea ebp, [eax + 1]
mov edx, ebp
shl ebx, 0x18
push esi
push edi
mov edi, dword [esp + 0x50]
movzx eax, byte [edx]
movzx ecx, byte [edx + 3]
shl eax, 0x10
or ebx, eax
shl ecx, 0x18
movzx eax, byte [edx + 1]
shl eax, 8
or ebx, eax
mov esi, dword [edi]
movzx eax, byte [edx + 2]
or ebx, eax
mov dword [esp + 0x14], edi
movzx eax, byte [edx + 4]
shl eax, 0x10
or ecx, eax
mov dword [esp + 0x28], ebp
movzx eax, byte [edx + 6]
mov dword [esp + 0x2c], ecx
movzx ecx, byte [edx + 5]
mov edx, dword [esp + 0x2c]
shl ecx, 8
or ecx, eax
mov dword [esp + 0x18], ebx
mov eax, ebx
mov byte [esp + 0x2f], bl
shr eax, 0x18
or edx, ecx
mov byte [esp + 0x2c], al
mov eax, ebx
shr eax, 0x10
mov byte [esp + 0x2d], al
mov eax, ebx
shr eax, 8
mov byte [esp + 0x2e], al
mov eax, edx
shr eax, 0x18
mov byte [esp + 0x30], al
mov eax, edx
shr eax, 0x10
mov byte [esp + 0x31], al
mov eax, edx
shr eax, 8
mov byte [esp + 0x32], al
mov eax, dword [esp + 0x44]
mov dword [esp + 0x1c], edx
mov byte [esp + 0x33], dl
test eax, eax
je 0x100819d5
mov ecx, dword [esp + 0x10]
mov edi, dword [esp + 0x3c]
sub ecx, edi
mov dword [esp + 0x10], ecx
xor ebp, ebp
lea esp, [esp]
dec eax
mov dword [esp + 0x44], eax
test esi, esi
jne 0x10081965
push dword [esp + 0x20]
lea eax, [esp + 0x1c]
push eax
call sym.libcrypto_1_1.dll_BF_encrypt
mov ebx, dword [esp + 0x20]
add esp, 8
mov edx, dword [esp + 0x1c]
mov eax, ebx
shr eax, 0x18
mov byte [esp + 0x2c], al
mov eax, ebx
mov ecx, dword [esp + 0x10]
shr eax, 0x10
mov byte [esp + 0x2d], al
mov eax, ebx
shr eax, 8
mov byte [esp + 0x2e], al
mov eax, edx
shr eax, 0x18
mov byte [esp + 0x30], al
mov eax, edx
shr eax, 0x10
mov byte [esp + 0x31], al
mov eax, edx
shr eax, 8
inc ebp
mov byte [esp + 0x2f], bl
mov byte [esp + 0x32], al
mov byte [esp + 0x33], dl
mov al, byte [esp + esi + 0x2c]
inc esi
xor al, byte [edi]
and esi, 7
mov byte [ecx + edi], al
inc edi
mov eax, dword [esp + 0x44]
test eax, eax
jne 0x10081900
test ebp, ebp
mov ebp, dword [esp + 0x28]
je 0x100819bc
mov ecx, dword [esp + 0x24]
mov eax, ebx
shr eax, 0x18
mov byte [ecx], al
mov eax, ebx
shr eax, 0x10
mov byte [ebp], al
mov eax, ebx
shr eax, 8
mov byte [ebp + 1], al
mov eax, edx
shr eax, 0x18
mov byte [ebp + 2], bl
mov byte [ebp + 3], al
mov eax, edx
shr eax, 0x10
mov byte [ebp + 4], al
mov eax, edx
shr eax, 8
mov byte [ebp + 5], al
mov byte [ebp + 6], dl
mov eax, dword [esp + 0x14]
pop edi
mov dword [eax], esi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x24]
xor ecx, esp
call fcn.101704a0
add esp, 0x28
ret
mov ecx, dword [esp + 0x34]
mov dword [edi], esi
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.101704a0
add esp, 0x28
ret
Function at 0x10082340
Capabilities:
Resolve dns

Disassembly:
mov eax, 0x428
call fcn.101704b0
mov eax, dword [0x101f2700]
xor eax, esp
mov dword [esp + 0x424], eax
push ebx
mov ebx, dword [esp + 0x430]
push esi
mov esi, dword [esp + 0x440]
push edi
mov edi, dword [esp + 0x440]
call sym.libcrypto_1_1.dll_BIO_sock_init
cmp eax, 1
je 0x10082394
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x424]
xor ecx, esp
call fcn.101704a0
add esp, 0x428
ret
push 0x400
lea eax, [esp + 0x31]
mov byte [esp + 0x30], 0
push 0
push eax
call sub.MSVCR120.dll_memset
xor ecx, ecx
mov byte [esp + 0x18], 0
add esp, 0xc
mov dword [esp + 0x25], 0
cmp dword [esp + 0x43c], ecx
mov eax, 0xa
xorps xmm0, xmm0
mov word [esp + 0x29], 0
cmovne ecx, eax
movq qword [esp + 0x1d], xmm0
cmp word [ebx], 2
mov eax, 0x10
movdqu xmmword [esp + 0xd], xmm0
mov byte [esp + 0x2b], 0
je 0x100823f6
mov eax, 0x1c
push ebp
push ecx
push 0x20
lea ecx, [esp + 0x18]
push ecx
push 0x401
lea ecx, [esp + 0x40]
push ecx
push eax
push ebx
call dword [sym.imp.WS2_32.dll_getnameinfo]
mov ebp, eax
test ebp, ebp
je 0x10082467
push 0xd7
push str.crypto_bio_b_addr.c
push 2
push 0x86
push 0x20
call sym.libcrypto_1_1.dll_ERR_put_error
add esp, 0x14
push 0
push 0x400
push 0x101f5360
push 0x400
push ebp
push 0
push 0x12ff
call dword [sym.imp.KERNEL32.dll_FormatMessageW]
push 0x101f5360
push 1
call sym.libcrypto_1_1.dll_ERR_add_error_data
add esp, 8
xor eax, eax
jmp 0x10082554
cmp byte [esp + 0x10], 0
jne 0x100824a8
movzx eax, word [ebx]
cmp eax, 2
jne 0x1008247c
movzx eax, word [ebx + 2]
jmp 0x10082489
cmp eax, 0x17
jne 0x10082487
movzx eax, word [ebx + 2]
jmp 0x10082489
xor eax, eax
push eax
call dword [sym.imp.WS2_32.dll_ntohs]
movzx eax, ax
push eax
push 0x1017db18
lea eax, [esp + 0x18]
push 0x20
push eax
call sym.libcrypto_1_1.dll_BIO_snprintf
add esp, 0x10
test edi, edi
je 0x100824c5
push 0xe9
lea eax, [esp + 0x34]
push str.crypto_bio_b_addr.c
push eax
call sym.libcrypto_1_1.dll_CRYPTO_strdup
add esp, 0xc
mov dword [edi], eax
test esi, esi
je 0x100824e2
push 0xeb
lea eax, [esp + 0x14]
push str.crypto_bio_b_addr.c
push eax
call sym.libcrypto_1_1.dll_CRYPTO_strdup
add esp, 0xc
mov dword [esi], eax
test edi, edi
je 0x100824eb
cmp dword [edi], 0
je 0x100824f4
test esi, esi
je 0x1008254f
cmp dword [esi], 0
jne 0x1008254f
test edi, edi
je 0x10082512
push 0xfa
push str.crypto_bio_b_addr.c
push dword [edi]
call sym.libcrypto_1_1.dll_CRYPTO_free
add esp, 0xc
mov dword [edi], 0
test esi, esi
je 0x10082530
push 0xfe
push str.crypto_bio_b_addr.c
push dword [esi]
call sym.libcrypto_1_1.dll_CRYPTO_free
add esp, 0xc
mov dword [esi], 0
push 0x101
push str.crypto_bio_b_addr.c
push 0x41
push 0x86
push 0x20
call sym.libcrypto_1_1.dll_ERR_put_error
add esp, 0x14
xor eax, eax
jmp 0x10082554
mov eax, 1
mov ecx, dword [esp + 0x434]
pop ebp
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.101704a0
add esp, 0x428
ret
Function at 0x10089e30
Capabilities:
Send data
Send data on socket

Disassembly:
push esi
mov esi, dword [esp + 8]
mov eax, dword [esi + 0x20]
cmp dword [eax], 5
je 0x10089e4b
push eax
push esi
call fcn.1008a670
add esp, 8
test eax, eax
jle 0x10089e93
push edi
push 0
call dword [sym.imp.WS2_32.dll_WSASetLastError]
push 0
push dword [esp + 0x18]
push dword [esp + 0x18]
push dword [esi + 0x1c]
call dword [sym.imp.WS2_32.dll_send]
push 0xf
push esi
mov edi, eax
call sym.libcrypto_1_1.dll_BIO_clear_flags
add esp, 8
test edi, edi
jg 0x10089e90
push edi
call sym.libcrypto_1_1.dll_BIO_sock_should_retry
add esp, 4
test eax, eax
je 0x10089e90
push 0xa
push esi
call sym.libcrypto_1_1.dll_BIO_set_flags
add esp, 8
mov eax, edi
pop edi
pop esi
ret

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

Disassembly:
push ebx
push esi
push edi
mov edi, dword [esp + 0x10]
push 0
mov ebx, dword [edi + 0x20]
call dword [sym.imp.WS2_32.dll_WSASetLastError]
cmp dword [ebx + 0x1c], 0
je 0x1008aacd
push 0
push dword [esp + 0x1c]
push dword [esp + 0x1c]
push dword [edi + 0x1c]
call dword [sym.imp.WS2_32.dll_send]
jmp 0x1008aaf4
push ebx
call fcn.100014ba
add esp, 4
push eax
push ebx
call fcn.1000218a
add esp, 4
push eax
push 0
push dword [esp + 0x24]
push dword [esp + 0x24]
push dword [edi + 0x1c]
call dword [sym.imp.WS2_32.dll_sendto]
push 0xf
push edi
mov esi, eax
call sym.libcrypto_1_1.dll_BIO_clear_flags
add esp, 8
test esi, esi
jg 0x1008ab55
je 0x1008ab0c
cmp esi, 0xffffffff
jne 0x1008ab55
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x70
jg 0x1008ab2e
je 0x1008ab41
cmp eax, 4
je 0x1008ab41
cmp eax, 0xb
je 0x1008ab41
cmp eax, 0x67
je 0x1008ab41
pop edi
mov eax, esi
pop esi
pop ebx
ret
sub eax, 0x86
je 0x1008ab41
sub eax, 6
je 0x1008ab41
sub eax, 0x26a7
jne 0x1008ab55
push 0xa
push edi
call sym.libcrypto_1_1.dll_BIO_set_flags
add esp, 8
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov dword [ebx + 0x20], eax
pop edi
mov eax, esi
pop esi
pop ebx
ret
Function at 0x1008b3f0
Capabilities:
Set socket configuration

Disassembly:
mov eax, 0x24
call fcn.101704b0
mov eax, dword [0x101f2700]
xor eax, esp
mov dword [esp + 0x20], eax
push ebx
mov ebx, dword [esp + 0x2c]
push edi
mov dword [esp + 0xc], 0
mov edi, dword [ebx + 0x20]
cmp dword [edi + 0x28], 0
jg 0x1008b426
cmp dword [edi + 0x2c], 0
jle 0x1008b56c
lea eax, [esp + 0xc]
mov dword [esp + 0xc], 4
push eax
lea eax, [esp + 0xc]
push eax
push 0x1006
push 0xffff
push dword [ebx + 0x1c]
call dword [sym.imp.WS2_32.dll_getsockopt]
test eax, eax
jns 0x1008b45f
push str.getsockopt
call dword [sym.imp.MSVCR120.dll_perror]
add esp, 4
jmp 0x1008b488
mov ecx, dword [esp + 8]
mov eax, 0x10624dd3
imul ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [edi + 0x30], eax
imul eax, eax, 0x3e8
sub ecx, eax
imul eax, ecx, 0x3e8
mov dword [edi + 0x34], eax
push esi
lea eax, [esp + 0x1c]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x20]
push eax
call dword [sym.imp.KERNEL32.dll_SystemTimeToFileTime]
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
add esi, 0x2ac18000
push 0
push 0x989680
adc eax, 0xfe624e21
push eax
push esi
call fcn.10170cf0
mov ecx, dword [edi + 0x28]
mov dword [esp + 0xc], eax
imul eax, eax, 0x989680
sub esi, eax
mov eax, 0x66666667
imul esi
sar edx, 2
mov esi, edx
shr esi, 0x1f
add esi, edx
mov edx, dword [edi + 0x2c]
cmp edx, esi
jge 0x1008b4f8
mov eax, 0xf4240
sub eax, esi
add edx, eax
dec ecx
jmp 0x1008b4fa
sub edx, esi
mov eax, dword [esp + 0xc]
cmp ecx, eax
jge 0x1008b509
xor ecx, ecx
lea edx, [ecx + 1]
jmp 0x1008b50b
sub ecx, eax
mov esi, dword [edi + 0x30]
test esi, esi
jne 0x1008b517
cmp dword [edi + 0x34], esi
je 0x1008b522
cmp esi, ecx
jg 0x1008b522
jne 0x1008b56b
cmp dword [edi + 0x34], edx
jl 0x1008b56b
mov eax, 0x10624dd3
imul ecx, ecx, 0x3e8
imul edx
push 4
sar edx, 6
mov eax, edx
add ecx, edx
shr eax, 0x1f
add eax, ecx
mov dword [esp + 0x10], eax
lea eax, [esp + 0x10]
push eax
push 0x1006
push 0xffff
push dword [ebx + 0x1c]
call dword [sym.imp.WS2_32.dll_setsockopt]
test eax, eax
jns 0x1008b56b
push str.setsockopt
call dword [sym.imp.MSVCR120.dll_perror]
add esp, 4
pop esi
mov ecx, dword [esp + 0x28]
pop edi
pop ebx
xor ecx, esp
call fcn.101704a0
add esp, 0x24
ret

Function at 0x1008b660
Capabilities:
Set socket configuration

Disassembly:
push esi
push edi
mov edi, dword [esp + 0xc]
mov esi, dword [edi + 0x20]
cmp dword [esi + 0x28], 0
jg 0x1008b675
cmp dword [esi + 0x2c], 0
jle 0x1008b6c0
mov eax, 0x10624dd3
imul dword [esi + 0x34]
imul eax, dword [esi + 0x30], 0x3e8
push 4
sar edx, 6
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
add ecx, eax
lea eax, [esp + 0x10]
push eax
push 0x1006
push 0xffff
push dword [edi + 0x1c]
mov dword [esp + 0x20], ecx
call dword [sym.imp.WS2_32.dll_setsockopt]
test eax, eax
jns 0x1008b6c0
push str.setsockopt
call dword [sym.imp.MSVCR120.dll_perror]
add esp, 4
pop edi
pop esi
ret
Function at 0x1008d030
Capabilities:
Send data
Send data on socket

Disassembly:
push esi
push edi
push 0
call dword [sym.imp.WS2_32.dll_WSASetLastError]
mov edi, dword [esp + 0xc]
push 0
push dword [esp + 0x18]
push dword [esp + 0x18]
push dword [edi + 0x1c]
call dword [sym.imp.WS2_32.dll_send]
push 0xf
push edi
mov esi, eax
call sym.libcrypto_1_1.dll_BIO_clear_flags
add esp, 8
test esi, esi
jg 0x1008d087
je 0x1008d069
cmp esi, 0xffffffff
jne 0x1008d087
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
call sym.libcrypto_1_1.dll_BIO_sock_non_fatal_error
add esp, 4
test eax, eax
je 0x1008d087
push 0xa
push edi
call sym.libcrypto_1_1.dll_BIO_set_flags
add esp, 8
pop edi
mov eax, esi
pop esi
ret
Function at 0x100a9170
Capabilities:
Encrypt data using rc4 prga

Disassembly:
jmp 0x100a9170
mov eax, 0x28
call fcn.101704b0
mov eax, dword [0x101f2700]
xor eax, esp
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x30]
mov dword [esp], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x14], eax
push ebx
push ebp
movzx ebx, byte [eax]
lea ebp, [eax + 1]
mov edx, ebp
shl ebx, 0x18
push esi
push edi
mov edi, dword [esp + 0x50]
movzx eax, byte [edx]
movzx ecx, byte [edx + 3]
shl eax, 0x10
or ebx, eax
shl ecx, 0x18
movzx eax, byte [edx + 1]
shl eax, 8
or ebx, eax
mov esi, dword [edi]
movzx eax, byte [edx + 2]
or ebx, eax
mov dword [esp + 0x14], edi
movzx eax, byte [edx + 4]
shl eax, 0x10
or ecx, eax
mov dword [esp + 0x28], ebp
movzx eax, byte [edx + 6]
mov dword [esp + 0x2c], ecx
movzx ecx, byte [edx + 5]
mov edx, dword [esp + 0x2c]
shl ecx, 8
or ecx, eax
mov dword [esp + 0x18], ebx
mov eax, ebx
mov byte [esp + 0x2f], bl
shr eax, 0x18
or edx, ecx
mov byte [esp + 0x2c], al
mov eax, ebx
shr eax, 0x10
mov byte [esp + 0x2d], al
mov eax, ebx
shr eax, 8
mov byte [esp + 0x2e], al
mov eax, edx
shr eax, 0x18
mov byte [esp + 0x30], al
mov eax, edx
shr eax, 0x10
mov byte [esp + 0x31], al
mov eax, edx
shr eax, 8
mov byte [esp + 0x32], al
mov eax, dword [esp + 0x44]
mov dword [esp + 0x1c], edx
mov byte [esp + 0x33], dl
test eax, eax
je 0x100a9335
mov ecx, dword [esp + 0x10]
mov edi, dword [esp + 0x3c]
sub ecx, edi
mov dword [esp + 0x10], ecx
xor ebp, ebp
lea esp, [esp]
dec eax
mov dword [esp + 0x44], eax
test esi, esi
jne 0x100a92c5
push dword [esp + 0x20]
lea eax, [esp + 0x1c]
push eax
call sym.libcrypto_1_1.dll_CAST_encrypt
mov ebx, dword [esp + 0x20]
add esp, 8
mov edx, dword [esp + 0x1c]
mov eax, ebx
shr eax, 0x18
mov byte [esp + 0x2c], al
mov eax, ebx
mov ecx, dword [esp + 0x10]
shr eax, 0x10
mov byte [esp + 0x2d], al
mov eax, ebx
shr eax, 8
mov byte [esp + 0x2e], al
mov eax, edx
shr eax, 0x18
mov byte [esp + 0x30], al
mov eax, edx
shr eax, 0x10
mov byte [esp + 0x31], al
mov eax, edx
shr eax, 8
inc ebp
mov byte [esp + 0x2f], bl
mov byte [esp + 0x32], al
mov byte [esp + 0x33], dl
mov al, byte [esp + esi + 0x2c]
inc esi
xor al, byte [edi]
and esi, 7
mov byte [ecx + edi], al
inc edi
mov eax, dword [esp + 0x44]
test eax, eax
jne 0x100a9260
test ebp, ebp
mov ebp, dword [esp + 0x28]
je 0x100a931c
mov ecx, dword [esp + 0x24]
mov eax, ebx
shr eax, 0x18
mov byte [ecx], al
mov eax, ebx
shr eax, 0x10
mov byte [ebp], al
mov eax, ebx
shr eax, 8
mov byte [ebp + 1], al
mov eax, edx
shr eax, 0x18
mov byte [ebp + 2], bl
mov byte [ebp + 3], al
mov eax, edx
shr eax, 0x10
mov byte [ebp + 4], al
mov eax, edx
shr eax, 8
mov byte [ebp + 5], al
mov byte [ebp + 6], dl
mov eax, dword [esp + 0x14]
pop edi
mov dword [eax], esi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x24]
xor ecx, esp
call fcn.101704a0
add esp, 0x28
ret
mov ecx, dword [esp + 0x34]
mov dword [edi], esi
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.101704a0
add esp, 0x28
ret
Function at 0x100b85a0
Capabilities:
Access the windows event log
Write file on windows

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x208
call fcn.101704b0
mov eax, dword [0x101f2700]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
push 0xfffffffffffffff4
call dword [sym.imp.KERNEL32.dll_GetStdHandle]
mov esi, eax
test esi, esi
je 0x100b8616
push esi
call dword [sym.imp.KERNEL32.dll_GetFileType]
test eax, eax
je 0x100b8616
lea eax, [ebp + 0xc]
push eax
push dword [ebp + 8]
lea eax, [ebp - 0x204]
push 0x200
push eax
call dword [sym.imp.MSVCR120.dll__vsnprintf]
add esp, 0x10
lea ecx, [ebp - 0x208]
test eax, eax
push 0
push ecx
mov ecx, 0x200
cmovs eax, ecx
push eax
lea eax, [ebp - 0x204]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_WriteFile]
jmp 0x100b8756
mov ebx, dword [ebp + 8]
mov ecx, ebx
lea edx, [ecx + 1]
mov edi, edi
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100b8620
sub ecx, edx
lea edi, [ecx + 1]
lea eax, [edi + edi]
call fcn.10170e20
mov esi, esp
test esi, esi
jne 0x100b8644
mov esi, str.no_stack_
jmp 0x100b86d3
push edi
push esi
push edi
push ebx
push 0
push 0
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
test eax, eax
jne 0x100b8671
xor ecx, ecx
test edi, edi
je 0x100b8671
lea esp, [esp]
mov eax, dword [ebp + 8]
movsx ax, byte [ecx + eax]
mov word [esi + ecx*2], ax
inc ecx
cmp ecx, edi
jb 0x100b8660
xor ecx, ecx
test edi, edi
je 0x100b86d3
lea ebx, [ecx + 0x53]
lea ebx, [ebx]
cmp word [esi + ecx*2], 0x25
jne case.0x100b86a2.43
lea edx, [ecx + 1]
lea edx, [esi + edx*2]
lea ecx, [ecx]
movzx eax, word [edx]
add eax, 0xffffffd6
cmp eax, 0x49
ja case.0x100b86a2.43
movzx eax, byte [eax + 0x100b8788]
jmp dword [eax*4 + 0x100b8770]
inc ecx
add edx, 2
jmp 0x100b8690
mov word [esi + ecx*2 + 2], bx
jmp case.0x100b86a2.43
mov eax, 0x73
jmp 0x100b86c9
mov eax, 0x43
jmp 0x100b86c9
mov eax, 0x63
mov word [esi + ecx*2 + 2], ax
inc ecx
cmp ecx, edi
jb 0x100b8680
lea eax, [ebp + 0xc]
push eax
push esi
lea eax, [ebp - 0x204]
push 0xff
push eax
call dword [sym.imp.MSVCR120.dll__vsnwprintf]
add esp, 0x10
xor eax, eax
mov word [ebp - 6], ax
call sym.libcrypto_1_1.dll_OPENSSL_isservice
test eax, eax
jle 0x100b8740
push str.OpenSSL
push 0
call dword [sym.imp.ADVAPI32.dll_RegisterEventSourceW]
mov esi, eax
test esi, esi
je 0x100b8756
push 0
lea eax, [ebp - 0x204]
mov dword [ebp - 0x208], eax
lea eax, [ebp - 0x208]
push eax
push 0
push 1
push 0
push 0
push 0
push 1
push esi
call dword [sym.imp.ADVAPI32.dll_ReportEventW]
push esi
call dword [sym.imp.ADVAPI32.dll_DeregisterEventSource]
jmp 0x100b8756
push 0x10
push str.OpenSSL:_FATAL
lea eax, [ebp - 0x204]
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
lea esp, [ebp - 0x214]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.101704a0
mov esp, ebp
pop ebp
ret