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

Disassembly:
mov eax, 0x30
call fcn.110d22e0
mov eax, dword [0x11143f70]
xor eax, esp
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x44]
push ebx
push ebp
push esi
mov esi, dword [esp + 0x40]
mov bl, byte [esi]
mov dword [esp + 0x18], eax
mov eax, dword [esi + 0x28]
mov dword [esp + 0x14], ecx
mov ecx, dword [esi + 0x2c]
mov dword [esp + 0x24], edx
mov byte [esp + 0xf], bl
mov dword [esp + 0x1c], eax
mov dword [esp + 0x10], ecx
test bl, 0x40
jne 0x11032428
push ecx
lea ecx, [esi + 0x10]
push ecx
push esi
call eax
add esp, 0xc
movzx eax, bl
and eax, 7
mov ebx, 0xf
sub ebx, eax
mov byte [esi], al
mov eax, ebx
xor ecx, ecx
mov dword [esp + 0x20], ebx
cmp eax, 0xf
jae 0x11032457
movzx edx, byte [esi + eax]
or ecx, edx
mov byte [esi + eax], 0
inc eax
shl ecx, 8
cmp eax, 0xf
jb 0x11032444
movzx eax, byte [esi + 0xf]
mov ebp, dword [esp + 0x4c]
or ecx, eax
mov byte [esi + 0xf], 1
cmp ecx, ebp
je 0x1103247e
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
mov ecx, dword [esp + 0x2c]
xor ecx, esp
call fcn.110d2962
add esp, 0x30
ret
push edi
mov edi, ebp
shr edi, 4
test edi, edi
je 0x110324bf
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
lea ecx, [esi + 0x10]
push ecx
mov ecx, dword [esp + 0x20]
push esi
push edx
push edi
push eax
push ecx
call dword [esp + 0x40]
shl edi, 4
mov edx, edi
add dword [esp + 0x34], edx
add dword [esp + 0x30], edx
add esp, 0x18
sub ebp, edx
je 0x1103251a
shr edx, 4
mov ecx, esi
call fcn.11032190
test ebp, ebp
je 0x1103251a
mov edx, dword [esp + 0x14]
push edx
lea eax, [esp + 0x30]
push eax
push esi
call dword [esp + 0x2c]
add esp, 0xc
xor eax, eax
test ebp, ebp
jbe 0x11032509
mov edi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
lea ecx, [esp + 0x2c]
mov edx, ecx
sub edi, ecx
sub ebx, edx
lea ecx, [ecx]
lea edx, [esp + eax + 0x2c]
mov cl, byte [edi + edx]
xor cl, byte [edx]
inc eax
mov byte [ebx + edx], cl
xor byte [esi + eax + 0xf], cl
cmp eax, ebp
jb 0x110324f0
mov ebx, dword [esp + 0x24]
mov ecx, dword [esp + 0x14]
lea eax, [esi + 0x10]
push ecx
push eax
push eax
call dword [esp + 0x2c]
add esp, 0xc
pop edi
cmp ebx, 0x10
jae 0x11032536
mov edx, 0x10
sub edx, ebx
push edx
lea eax, [esi + ebx]
push 0
push eax
call fcn.110d3e90
add esp, 0xc
mov eax, dword [esp + 0x10]
push eax
lea ecx, [esp + 0x2c]
push ecx
push esi
call dword [esp + 0x28]
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x34]
xor dword [esi + 0x14], eax
xor dword [esi + 0x10], edx
mov ecx, dword [esp + 0x3c]
xor dword [esi + 0x18], ecx
mov al, byte [esp + 0x1b]
mov edx, dword [esp + 0x40]
xor dword [esi + 0x1c], edx
mov ecx, dword [esp + 0x44]
add esp, 0xc
mov byte [esi], al
pop esi
pop ebp
pop ebx
xor ecx, esp
xor eax, eax
call fcn.110d2962
add esp, 0x30
ret
Function at 0x11036820
Capabilities:
Contain obfuscated stackstrings

Disassembly:
mov byte [ebp - 0x29], bl
mov byte [ebp - 0x28], 0x67
mov byte [ebp - 0x27], 0x44
mov byte [ebp - 0x26], 0x4a
mov byte [ebp - 0x25], 0x4f
mov byte [ebp - 0x24], 0x67
mov byte [ebp - 0x23], 0x42
mov byte [ebp - 0x22], 0x49
mov byte [ebp - 0x21], 0x59
mov byte [ebp - 0x20], 0x4a
mov byte [ebp - 0x1f], 0x59
mov byte [ebp - 0x1e], 0x52
mov byte [ebp - 0x1d], 0x6a
mov byte [ebp - 0x1c], 0x2b
call fcn.11036406
push eax
push esi
push dword [ebp + 8]
call fcn.110363bb
add esp, 0x30
mov dword [ebp - 0xb8], eax
call fcn.110363f6
jae 0x11036865
inc dword [ebx - 0x7a76cf3c]
dec eax
invalid
adc dword [ecx - 0x78], esp
popfd
jl 0x1103687b
invalid
invalid
Function at 0x110370f0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
mov byte [ecx], al
add byte [eax], al
and byte [ebp - 0x6b8], 0
and byte [ebp - 0x6b7], 0
mov byte [ebp - 0x6b6], 0x9b
and byte [ebp - 0x6b5], 0
mov byte [ebp - 0x6b4], 0x33
mov byte [ebp - 0x6b3], 0x16
mov byte [ebp - 0x6b2], 0xd
mov byte [ebp - 0x6b1], 0x10
invalid
test dword [eax - 7], edx

Function at 0x1103f960
Capabilities:
Encode data using xor

Disassembly:
mov eax, dword [esp + 8]
mov ecx, dword [eax + 4]
push ebx
mov ebx, dword [esp + 0x10]
cmp ecx, dword [ebx + 4]
push esi
push edi
jge 0x1103f979
mov esi, ebx
mov ebx, eax
jmp 0x1103f97b
mov esi, eax
mov eax, dword [esi + 4]
mov edi, dword [esp + 0x10]
cmp eax, dword [edi + 8]
jg 0x1103f98b
mov eax, edi
jmp 0x1103f995
push eax
push edi
call sym.LIBEAY32.dll_bn_expand2
add esp, 8
test eax, eax
jne 0x1103f99d
pop edi
pop esi
pop ebx
ret
xor eax, eax
cmp dword [ebx + 4], eax
jle 0x1103f9b9
mov edx, dword [esi]
mov ecx, dword [ebx]
mov edx, dword [edx + eax*4]
xor edx, dword [ecx + eax*4]
mov ecx, dword [edi]
mov dword [ecx + eax*4], edx
inc eax
cmp eax, dword [ebx + 4]
jl 0x1103f9a4
cmp eax, dword [esi + 4]
jge 0x1103f9d0
mov edi, edi
mov edx, dword [esi]
mov edx, dword [edx + eax*4]
mov ecx, dword [edi]
mov dword [ecx + eax*4], edx
inc eax
cmp eax, dword [esi + 4]
jl 0x1103f9c0
mov eax, dword [esi + 4]
mov dword [edi + 4], eax
test eax, eax
jle 0x1103f9f1
mov ecx, dword [edi]
lea ecx, [ecx + eax*4 - 4]
mov edx, dword [ecx]
sub ecx, 4
test edx, edx
jne 0x1103f9ee
dec eax
test eax, eax
jg 0x1103f9e0
mov dword [edi + 4], eax
cmp dword [edi + 4], 0
jne 0x1103f9fe
mov dword [edi + 0xc], 0
pop edi
pop esi
mov eax, 1
pop ebx
ret
Function at 0x110467c0
Capabilities:
Check for software breakpoints

Disassembly:
push esi
mov esi, dword [esp + 0x14]
cmp dword [esp + 0x18], esi
jne 0x11046889
mov ecx, dword [esp + 0x10]
mov al, byte [ecx]
cmp al, 0x6a
je 0x110467e1
cmp al, 0x6b
jne 0x11046889
lea edx, [ecx + 1]
cmp al, 0x6b
jne 0x1104684a
add esi, 0xfffffffd
xor ecx, ecx
test esi, esi
jle 0x11046801
mov al, byte [edx]
inc edx
cmp al, 0xba
je 0x11046801
cmp al, 0xbb
jne 0x1104682a
inc ecx
cmp ecx, esi
jl 0x110467f1
sub esi, ecx
test ecx, ecx
jne 0x1104684d
push 0x83
push str..crypto_rsa_rsa_x931.c
push 0x8a
push 0x80
push 4
call sym.LIBEAY32.dll_ERR_put_error
add esp, 0x14
or eax, 0xffffffff
pop esi
ret
push 0x7b
push str..crypto_rsa_rsa_x931.c
push 0x8a
push 0x80
push 4
call sym.LIBEAY32.dll_ERR_put_error
add esp, 0x14
or eax, 0xffffffff
pop esi
ret
add esi, 0xfffffffe
cmp byte [esi + edx], 0xcc
je 0x11046876
push 0x8b
push str..crypto_rsa_rsa_x931.c
push 0x8b
push 0x80
push 4
call sym.LIBEAY32.dll_ERR_put_error
add esp, 0x14
or eax, 0xffffffff
pop esi
ret
mov eax, dword [esp + 8]
push esi
push edx
push eax
call fcn.110d37f0
add esp, 0xc
mov eax, esi
pop esi
ret
push 0x70
push str..crypto_rsa_rsa_x931.c
push 0x89
push 0x80
push 4
call sym.LIBEAY32.dll_ERR_put_error
add esp, 0x14
or eax, 0xffffffff
pop esi
ret

Function at 0x11052a70
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov ecx, dword [esp + 4]
mov eax, dword [ecx]
mov eax, dword [eax + 0x78]
test eax, eax
jne 0x11052a86
mov dword [esp + 4], ecx
jmp fcn.11055eb0
mov dword [esp + 4], ecx
jmp eax
Function at 0x11063170
Capabilities:
Check if file exists

Disassembly:
push ebx
mov ebx, dword [esp + 8]
push esi
mov esi, dword [esp + 0x10]
push edi
push esi
call fcn.110629a0
mov edi, eax
add esp, 4
test edi, edi
jne 0x11063216
push 0xaf
push str..crypto_bio_bss_file.c
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 1
push 2
call sym.LIBEAY32.dll_ERR_put_error
push 0x110fa6d0
push esi
push 0x110fa6cc
push ebx
push str.fopen_
push 5
call sym.LIBEAY32.dll_ERR_add_error_data
add esp, 0x2c
call fcn.110d4566
cmp dword [eax], 2
je 0x110631f5
call fcn.110d4566
cmp dword [eax], 6
je 0x110631f5
push 0xb8
push str..crypto_bio_bss_file.c
push 2
push 0x6d
push 0x20
call sym.LIBEAY32.dll_ERR_put_error
add esp, 0x14
pop edi
pop esi
xor eax, eax
pop ebx
ret
push 0xb6
push str..crypto_bio_bss_file.c
push 0x80
push 0x6d
push 0x20
call sym.LIBEAY32.dll_ERR_put_error
add esp, 0x14
pop edi
pop esi
xor eax, eax
pop ebx
ret
push 0x1113f7a0
call sym.LIBEAY32.dll_BIO_new
mov esi, eax
add esp, 4
test esi, esi
jne 0x11063238
push edi
call fcn.110d6034
add esp, 4
pop edi
pop esi
xor eax, eax
pop ebx
ret
push 0x8000
push esi
call sym.LIBEAY32.dll_BIO_clear_flags
push edi
push 1
push 0x6a
push esi
call sym.LIBEAY32.dll_BIO_ctrl
add esp, 0x18
pop edi
mov eax, esi
pop esi
pop ebx
ret

Function at 0x110663f0
Capabilities:
Set socket configuration

Disassembly:
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 4]
push esi
push eax
push ecx
push edx
call dword [sym.imp.WS2_32.dll_ioctlsocket]
mov esi, eax
test esi, esi
jge 0x1106642b
push 0x233
push str..crypto_bio_b_sock.c
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
push 5
push 2
call sym.LIBEAY32.dll_ERR_put_error
add esp, 0x14
mov eax, esi
pop esi
ret

Function at 0x11066750
Capabilities:
Set socket configuration

Disassembly:
mov edx, dword [esp + 4]
mov eax, dword [esp + 8]
push esi
lea ecx, [esp + 0xc]
push ecx
push 0x8004667e
push edx
mov dword [esp + 0x18], eax
call dword [sym.imp.WS2_32.dll_ioctlsocket]
mov esi, eax
test esi, esi
jge 0x11066791
push 0x233
push str..crypto_bio_b_sock.c
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
push 5
push 2
call sym.LIBEAY32.dll_ERR_put_error
add esp, 0x14
xor eax, eax
test esi, esi
sete al
pop esi
ret
Function at 0x110667a0
Capabilities:
Resolve dns

Disassembly:
push ebx
push ebp
mov ebp, dword [esp + 0xc]
push esi
mov esi, dword [esp + 0x14]
push edi
push esi
mov ecx, ebp
mov ebx, 1
call fcn.11066430
mov edi, eax
add esp, 4
test edi, edi
jge 0x110667dc
push 0x7b
push str..crypto_bio_b_sock.c
push 0x6c
push 0x6a
push 0x20
call sym.LIBEAY32.dll_ERR_put_error
add esp, 0x14
jmp 0x1106689a
call sym.LIBEAY32.dll_BIO_sock_init
cmp eax, 1
jne 0x110668aa
test edi, edi
jle 0x110667f5
pop edi
pop esi
pop ebp
mov eax, ebx
pop ebx
ret
push 0x8e
push str..crypto_bio_b_sock.c
push 0x16
push 9
call sym.LIBEAY32.dll_CRYPTO_lock
add esp, 0x10
push ebp
call dword [sym.imp.WS2_32.dll_gethostbyname]
test eax, eax
jne 0x11066830
push 0x92
push str..crypto_bio_b_sock.c
push 0x66
push 0x6a
push 0x20
call sym.LIBEAY32.dll_ERR_put_error
add esp, 0x14
jmp 0x11066880
cmp word [eax + 8], 2
je 0x11066851
push 0x99
push str..crypto_bio_b_sock.c
push 0x6b
push 0x6a
push 0x20
call sym.LIBEAY32.dll_ERR_put_error
add esp, 0x14
jmp 0x11066880
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx]
movzx ecx, byte [edx]
mov byte [esi], cl
mov edx, dword [eax + 0xc]
mov ecx, dword [edx]
mov dl, byte [ecx + 1]
mov byte [esi + 1], dl
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx]
movzx ecx, byte [edx + 2]
mov byte [esi + 2], cl
mov edx, dword [eax + 0xc]
mov eax, dword [edx]
movzx ecx, byte [eax + 3]
mov byte [esi + 3], cl
xor ebx, ebx
push 0xa2
push str..crypto_bio_b_sock.c
push 0x16
push 0xa
call sym.LIBEAY32.dll_CRYPTO_lock
add esp, 0x10
test ebx, ebx
je 0x110668b1
push ebp
push 0x110fa6fc
push 2
call sym.LIBEAY32.dll_ERR_add_error_data
add esp, 0xc
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
ret
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
ret
Function at 0x11068210
Capabilities:
Set socket configuration

Disassembly:
mov eax, 4
call fcn.110d22e0
mov ecx, dword [esi + 0x20]
cmp dword [ecx + 0x28], 0
jg 0x11068229
cmp dword [ecx + 0x2c], 0
jle 0x11068278
mov edx, dword [ecx + 0x34]
mov ecx, dword [ecx + 0x30]
mov eax, 0x10624dd3
imul ecx, ecx, 0x3e8
imul edx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
push 4
lea edx, [esp + 4]
push edx
add eax, ecx
push 0x1006
mov dword [esp + 0xc], eax
mov eax, dword [esi + 0x1c]
push 0xffff
push eax
call dword [sym.imp.WS2_32.dll_setsockopt]
test eax, eax
jge 0x11068278
push str.setsockopt
call fcn.110d6f8d
add esp, 4
pop ecx
ret

Function at 0x110687d0
Capabilities:
Set socket configuration

Disassembly:
mov eax, 0x10
call fcn.110d22e0
push edi
mov edi, dword [ebx + 0x20]
mov dword [esp + 8], 0
cmp dword [edi + 0x28], 0
jg 0x110687f6
cmp dword [edi + 0x2c], 0
jle 0x110688f0
mov edx, dword [ebx + 0x1c]
lea eax, [esp + 8]
push eax
lea ecx, [esp + 8]
push ecx
push 0x1006
push 0xffff
push edx
mov dword [esp + 0x1c], 4
call dword [sym.imp.WS2_32.dll_getsockopt]
test eax, eax
jge 0x1106882f
push str.getsockopt
call fcn.110d6f8d
add esp, 4
jmp 0x11068858
mov ecx, dword [esp + 4]
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 ecx, ecx, 0x3e8
mov dword [edi + 0x34], ecx
push esi
lea esi, [esp + 0x10]
call fcn.11068700
mov edx, dword [edi + 0x2c]
mov eax, dword [esp + 0x14]
cmp edx, eax
mov ecx, dword [edi + 0x28]
jge 0x1106887c
mov esi, 0xf4240
sub esi, eax
add edx, esi
dec ecx
jmp 0x1106887e
sub edx, eax
mov eax, dword [esp + 0x10]
cmp ecx, eax
pop esi
jge 0x1106888e
xor ecx, ecx
lea edx, [ecx + 1]
jmp 0x11068890
sub ecx, eax
mov eax, dword [edi + 0x30]
test eax, eax
jne 0x1106889c
cmp dword [edi + 0x34], eax
je 0x110688a7
cmp eax, ecx
jg 0x110688a7
jne 0x110688f0
cmp dword [edi + 0x34], edx
jl 0x110688f0
mov eax, 0x10624dd3
imul ecx, ecx, 0x3e8
imul edx
sar edx, 6
mov eax, edx
add ecx, edx
mov edx, dword [ebx + 0x1c]
shr eax, 0x1f
push 4
add eax, ecx
lea ecx, [esp + 8]
push ecx
push 0x1006
push 0xffff
push edx
mov dword [esp + 0x18], eax
call dword [sym.imp.WS2_32.dll_setsockopt]
test eax, eax
jge 0x110688f0
push str.setsockopt
call fcn.110d6f8d
add esp, 4
pop edi
add esp, 0x10
ret

Function at 0x11069470
Capabilities:
Encode data using xor

Disassembly:
mov edx, dword [esp + 4]
push esi
xor esi, esi
test edx, edx
je 0x110694b7
mov al, byte [edx]
test al, al
je 0x110694b7
push edi
mov edi, 0x100
movsx eax, al
or eax, edi
mov ecx, eax
shr ecx, 2
xor ecx, eax
and ecx, 0xf
add edi, 0x100
rol esi, cl
mov ecx, eax
imul ecx, eax
mov al, byte [edx + 1]
inc edx
xor esi, ecx
test al, al
jne 0x11069487
mov eax, esi
shr eax, 0x10
pop edi
xor eax, esi
pop esi
ret
xor eax, eax
pop esi
ret
Function at 0x1106a480
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
mov eax, 0x474
call fcn.110d22e0
mov eax, dword [0x11143f70]
xor eax, esp
mov dword [esp + 0x470], eax
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
mov dword [esp + 0x3c], 0
test esi, esi
jne 0x1106a4c7
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x470]
xor ecx, esp
call fcn.110d2962
mov esp, ebp
pop ebp
ret
lea eax, [esp + 0x48]
push eax
push esi
call fcn.110d7590
add esp, 8
test eax, eax
jl 0x1106a4b0
mov eax, 8
call fcn.110d22e0
fldz
fstp qword [esp]
lea ecx, [esp + 0x50]
push 0x30
push ecx
call sym.LIBEAY32.dll_RAND_add
mov ebx, dword [ebp + 0xc]
add esp, 0x10
test ebx, ebx
je 0x1106a4b0
push 0x110facdc
push esi
call fcn.110d5fa6
mov edi, eax
add esp, 8
mov dword [esp + 0x40], edi
test edi, edi
je 0x1106a5c1
test dword [esp + 0x4e], 0x2000
je 0x1106a544
cmp ebx, 0xffffffff
jne 0x1106a52e
mov ebx, 0x800
push 0
push 4
push 0
push edi
call fcn.110d73b8
add esp, 0x10
jmp 0x1106a544
mov edi, dword [esp + 0x40]
test ebx, ebx
jle 0x1106a552
cmp ebx, 0x400
mov esi, ebx
jl 0x1106a557
mov esi, 0x400
push edi
push esi
lea edx, [esp + 0x80]
push 1
push edx
call fcn.110d63b8
mov edi, eax
add esp, 0x10
mov dword [esp + 0x44], edi
test edi, edi
jle 0x1106a5a5
fild dword [esp + 0x44]
mov eax, 8
call fcn.110d22e0
lea eax, [esp + 0x80]
fstp qword [esp]
push esi
push eax
call sym.LIBEAY32.dll_RAND_add
add dword [esp + 0x4c], edi
add esp, 0x10
test ebx, ebx
jle 0x1106a540
sub ebx, esi
test ebx, ebx
jg 0x1106a540
mov ecx, dword [esp + 0x40]
push ecx
call fcn.110d6034
lea edx, [esp + 0x7c]
push 0x400
push edx
call sym.LIBEAY32.dll_OPENSSL_cleanse
add esp, 0xc
mov ecx, dword [esp + 0x47c]
mov eax, dword [esp + 0x3c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.110d2962
mov esp, ebp
pop ebp
ret
Function at 0x1106a5e0
Capabilities:
Write file on windows

Disassembly:
mov eax, 0x438
call fcn.110d22e0
mov eax, dword [0x11143f70]
xor eax, esp
mov dword [esp + 0x434], eax
push ebp
push esi
mov esi, dword [esp + 0x444]
lea eax, [esp + 0xc]
push eax
xor ebp, ebp
push esi
mov dword [esp + 0x10], ebp
call fcn.110d7590
add esp, 8
cmp eax, 0xffffffff
je 0x1106a63e
test dword [esp + 0x12], 0x2000
je 0x1106a63e
pop esi
lea eax, [ebp + 1]
pop ebp
mov ecx, dword [esp + 0x434]
xor ecx, esp
call fcn.110d2962
add esp, 0x438
ret
push ebx
push 0x180
push 0x8101
push esi
call fcn.110d8278
add esp, 0xc
cmp eax, 0xffffffff
je 0x1106a66b
push 0x110face0
push eax
call fcn.110d79d3
mov ebx, eax
add esp, 8
cmp ebx, ebp
jne 0x1106a683
push 0x110face0
push esi
call fcn.110d5fa6
mov ebx, eax
add esp, 8
cmp ebx, ebp
je 0x1106a729
push edi
push 0x180
push esi
call fcn.110d7964
add esp, 8
mov edi, 0x400
jmp 0x1106a6a0
cmp edi, 0x400
mov esi, 0x400
jg 0x1106a6af
mov esi, edi
lea ecx, [esp + 0x44]
push esi
push ecx
sub edi, 0x400
call sym.LIBEAY32.dll_RAND_bytes
add esp, 8
test eax, eax
jg 0x1106a6cf
mov dword [esp + 0x10], 1
push ebx
push esi
lea edx, [esp + 0x4c]
push 1
push edx
call fcn.110d6537
add esp, 0x10
test eax, eax
jle 0x1106a6ec
add ebp, eax
test edi, edi
jg 0x1106a6a0
jmp 0x1106a6ee
xor ebp, ebp
push ebx
call fcn.110d6034
lea eax, [esp + 0x48]
push 0x400
push eax
call sym.LIBEAY32.dll_OPENSSL_cleanse
add esp, 0xc
cmp dword [esp + 0x10], 0
pop edi
je 0x1106a729
pop ebx
pop esi
or eax, 0xffffffff
pop ebp
mov ecx, dword [esp + 0x434]
xor ecx, esp
call fcn.110d2962
add esp, 0x438
ret
mov ecx, dword [esp + 0x440]
pop ebx
pop esi
mov eax, ebp
pop ebp
xor ecx, esp
call fcn.110d2962
add esp, 0x438
ret
Function at 0x1106f160
Capabilities:
Encode data using base64

Disassembly:
mov ecx, dword [esp + 4]
push ebp
push edi
mov edi, dword [esp + 0x14]
xor ebp, ebp
test edi, edi
jle 0x1106f243
push esi
mov esi, dword [esp + 0x14]
lea esp, [esp]
cmp edi, 3
movzx edx, byte [esi]
jl 0x1106f1de
movzx eax, byte [esi + 1]
shl edx, 8
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 8
or edx, eax
mov eax, edx
shr eax, 0x12
and eax, 0x3f
movzx eax, byte [eax + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
mov byte [ecx], al
mov eax, edx
shr eax, 0xc
and eax, 0x3f
movzx eax, byte [eax + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
mov byte [ecx + 1], al
inc ecx
mov eax, edx
shr eax, 6
and eax, 0x3f
movzx eax, byte [eax + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
inc ecx
mov byte [ecx], al
inc ecx
and edx, 0x3f
mov dl, byte [edx + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
mov byte [ecx], dl
jmp 0x1106f230
shl edx, 0x10
cmp edi, 2
jne 0x1106f1ef
movzx eax, byte [esi + 1]
shl eax, 8
or edx, eax
mov eax, edx
shr eax, 0x12
and eax, 0x3f
movzx eax, byte [eax + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
mov byte [ecx], al
mov eax, edx
shr eax, 0xc
and eax, 0x3f
movzx eax, byte [eax + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
inc ecx
mov byte [ecx], al
inc ecx
cmp edi, 1
jne 0x1106f21d
lea edx, [edi + 0x3c]
jmp 0x1106f22a
shr edx, 6
and edx, 0x3f
movzx edx, byte [edx + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
mov byte [ecx], dl
inc ecx
mov byte [ecx], 0x3d
sub edi, 3
inc ecx
add ebp, 4
add esi, 3
test edi, edi
jg 0x1106f180
pop esi
pop edi
mov eax, ebp
mov byte [ecx], 0
pop ebp
ret
Function at 0x110d2962
Capabilities:
Terminate process

Disassembly:
cmp ecx, dword [0x11143f70]
jne 0x110d296c
repz ret
jmp fcn.110dcfe1

Function at 0x110d7964
Capabilities:
Check if file exists
Get file attributes
Set file attributes

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
push esi
xor esi, esi
cmp dword [ebp + 8], esi
jne 0x110d7995
call fcn.110d4579
mov dword [eax], esi
call fcn.110d4566
push esi
push esi
push esi
push esi
push esi
mov dword [eax], 0x16
call fcn.110d9ddb
add esp, 0x14
or eax, 0xffffffff
jmp 0x110d79d0
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
jne 0x110d79b2
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call fcn.110d458c
pop ecx
jmp 0x110d7990
test byte [ebp + 0xc], 0x80
je 0x110d79bd
and eax, 0xfffffffe
jmp 0x110d79c0
or eax, 1
push eax
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
test eax, eax
je 0x110d79a3
xor eax, eax
pop esi
pop ebp
ret

Function at 0x110e3490
Capabilities:
Link many functions at runtime

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x14
push ebx
push esi
push edi
call fcn.110db409
and dword [ebp - 4], 0
cmp dword [0x11147df4], 0
mov ebx, eax
jne 0x110e3541
push str.USER32.DLL
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov edi, eax
test edi, edi
je 0x110e35f2
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0x11120ddc
push edi
call esi
test eax, eax
je 0x110e35f2
push eax
call fcn.110db397
mov dword [esp], str.GetActiveWindow
push edi
mov dword [0x11147df4], eax
call esi
push eax
call fcn.110db397
mov dword [esp], str.GetLastActivePopup
push edi
mov dword [0x11147df8], eax
call esi
push eax
call fcn.110db397
mov dword [esp], str.GetUserObjectInformationA
push edi
mov dword [0x11147dfc], eax
call esi
push eax
call fcn.110db397
pop ecx
mov dword [0x11147e04], eax
test eax, eax
je 0x110e3541
push 0x11120d84
push edi
call esi
push eax
call fcn.110db397
pop ecx
mov dword [0x11147e00], eax
mov eax, dword [0x11147e00]
cmp eax, ebx
je 0x110e3599
cmp dword [0x11147e04], ebx
je 0x110e3599
push eax
call fcn.110db412
push dword [0x11147e04]
mov esi, eax
call fcn.110db412
pop ecx
pop ecx
mov edi, eax
test esi, esi
je 0x110e3599
test edi, edi
je 0x110e3599
call esi
test eax, eax
je 0x110e3590
lea ecx, [ebp - 8]
push ecx
push 0xc
lea ecx, [ebp - 0x14]
push ecx
push 1
push eax
call edi
test eax, eax
je 0x110e3590
test byte [ebp - 0xc], 1
jne 0x110e3599
or dword [ebp + 0x10], 0x200000
jmp 0x110e35d2
mov eax, dword [0x11147df8]
cmp eax, ebx
je 0x110e35d2
push eax
call fcn.110db412
pop ecx
test eax, eax
je 0x110e35d2
call eax
mov dword [ebp - 4], eax
test eax, eax
je 0x110e35d2
mov eax, dword [0x11147dfc]
cmp eax, ebx
je 0x110e35d2
push eax
call fcn.110db412
pop ecx
test eax, eax
je 0x110e35d2
push dword [ebp - 4]
call eax
mov dword [ebp - 4], eax
push dword [0x11147df4]
call fcn.110db412
pop ecx
test eax, eax
je 0x110e35f2
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
push dword [ebp - 4]
call eax
jmp 0x110e35f4
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret