joyce8/EMBER2024-capa huggingface dataset:
Function at 0x44dfbf
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x2c
mov eax, dword [0x46af20]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x24], edx
mov edx, dword [ebx]
mov dword [ebp - 0x10], edx
mov edx, dword [ebp + 8]
push esi
and dl, 8
movsx esi, dl
neg esi
sbb esi, esi
dec dword [edi]
mov dword [ebp - 0x1c], eax
movzx eax, word [eax]
push ecx
push eax
mov dword [ebp - 0x20], ecx
call fcn.0044df75
mov eax, dword [ebp + 8]
mov dword [ebp - 0x14], eax
and dword [ebp - 0x14], 0x10
pop ecx
pop ecx
jne 0x44e00d
dec dword [ebp + 0x18]
mov dword [ebp - 0x18], eax
and dword [ebp - 0x18], 1
cmp dword [ebp - 0x18], 0
je 0x44e028
mov eax, dword [ebp + 0x14]
dec dword [ebp + 0x14]
test eax, eax
je 0x44e13b
push dword [ebp - 0x20]
inc dword [edi]
call fcn.0044eaf7
pop ecx
mov ecx, dword [ebp - 0x1c]
mov edx, 0xffff
mov word [ebp - 0x2c], ax
mov word [ecx], ax
cmp dx, ax
je 0x44e12b
cmp dword [ebp - 0x14], 0
jne 0x44e0aa
test byte [ebp + 8], 0x20
je 0x44e069
cmp ax, 9
jb 0x44e063
cmp ax, 0xd
jbe 0x44e069
cmp ax, 0x20
jne 0x44e0aa
test byte [ebp + 8], 0x40
je 0x44e12b
mov dx, ax
shr dx, 3
movzx edx, dx
cmp ax, dx
jb 0x44e12b
mov ecx, eax
and ecx, 7
xor eax, eax
inc eax
shl eax, cl
movzx ecx, dx
mov edx, dword [ebp + 0xc]
movsx ecx, byte [ecx + edx]
xor ecx, esi
test ecx, eax
mov ecx, dword [ebp - 0x1c]
je 0x44e12b
mov eax, dword [ebp - 0x2c]
test byte [ebp + 8], 4
jne 0x44e122
cmp dword [ebp + 0x18], 0
je 0x44e162
test byte [ebp + 8], 2
je 0x44e0d0
mov ecx, dword [ebx]
mov word [ecx], ax
add dword [ebx], 2
dec dword [ebp + 0x18]
jmp 0x44e014
mov edx, dword [ebp + 0x18]
mov cl, byte [ecx]
cmp edx, dword [0x4682d8]
jb 0x44e0e8
mov eax, dword [ebx]
mov byte [eax], cl
mov eax, dword [ebx]
movsx eax, byte [eax]
jmp 0x44e110
movsx eax, cl
mov byte [ebp - 0xc], cl
mov dword [ebp - 0x28], eax
test eax, eax
jle 0x44e0f9
cmp eax, edx
ja 0x44e162
cmp eax, 5
ja 0x44e162
push eax
lea eax, [ebp - 0xc]
push eax
push dword [ebx]
call fcn.0044dba0
mov eax, dword [ebp - 0x28]
add esp, 0xc
test eax, eax
jle 0x44e014
add dword [ebx], eax
sub dword [ebp + 0x18], eax
jmp 0x44e014
add dword [ebp - 0x10], 2
jmp 0x44e014
dec dword [edi]
movzx eax, word [ecx]
push dword [ebp - 0x20]
push eax
call fcn.0044df75
pop ecx
pop ecx
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebx]
je 0x44e170
test byte [ebp + 8], 4
jne 0x44e18b
mov eax, dword [ebp - 0x24]
inc dword [eax]
cmp dword [ebp - 0x14], 0
jne 0x44e18b
test byte [ebp + 8], 2
mov eax, dword [ebx]
je 0x44e188
xor ecx, ecx
mov word [eax], cx
jmp 0x44e18b
test byte [ebp + 8], 2
je 0x44e180
mov ecx, dword [ebp - 0x10]
xor eax, eax
mov word [ecx], ax
or eax, 0xffffffff
mov ecx, dword [ebp - 4]
xor ecx, ebp
pop esi
call fcn.00408ad6
leave
ret
mov eax, dword [ebp - 0x10]
mov byte [eax], 0
jmp 0x44e170
mov byte [eax], 0
xor eax, eax
jmp 0x44e173
Function at 0x44f3bd
Capabilities:
Execute anti-debugging instructions

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x1c
mov eax, dword [0x468660]
push ebx
mov ebx, dword [ebp + 0xc]
mov dword [ebp - 4], eax
mov ax, word [ebp + 8]
push esi
push edi
mov dword [ebp - 0x1c], 0x30303030
mov word [ebp - 0x18], ax
mov eax, dword [0x48d6f0]
lea ecx, [eax + 0x438]
push eax
xor edi, edi
mov dword [ebp + 0xc], ecx
call fcn.0044fa50
movzx esi, word [ebx]
movzx eax, si
push eax
push dword [ebx + 4]
call fcn.0044f1d8
mov dword [ebp - 0x10], eax
mov eax, dword [ebp + 0x10]
test eax, eax
je 0x44f420
movzx edi, word [eax]
push edi
push dword [eax + 4]
call fcn.0044f1d8
add dword [ebp - 0x10], eax
mov eax, dword [0x48d7a0]
mov dword [ebp - 0x14], eax
mov eax, dword [0x48d6f0]
add esi, edi
inc dword [0x48d7a0]
mov dword [eax + 0x438], 0
mov edi, dword [0x48d6f0]
mov word [ebp - 0x16], si
add edi, 0x43c
lea esi, [ebp - 0x1c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movzx eax, word [ebx]
push eax
mov eax, dword [0x48d6f0]
push dword [ebx + 4]
add eax, 0x450
push eax
call fcn.0044dba0
mov edi, dword [ebp + 0x10]
movzx esi, word [ebx]
add esp, 0xc
test edi, edi
je 0x44f49b
movzx eax, word [edi]
push eax
mov eax, dword [0x48d6f0]
push dword [edi + 4]
lea eax, [eax + esi + 0x450]
push eax
call fcn.0044dba0
movzx eax, word [edi]
add esp, 0xc
add esi, eax
mov eax, dword [0x48d6f0]
mov dword [eax + 0x44c], esi
mov eax, dword [0x48d6f0]
mov dword [eax + 0x438], 0x103
rdtsc
push 1
mov dword [ebp - 0xc], eax
mov dword [ebp - 8], edx
call fcn.0043d598
rdtsc
mov esi, eax
sub eax, dword [ebp - 0xc]
mov edi, edx
push 0
mov ecx, edi
sbb ecx, dword [ebp - 8]
push 0x3d090
push ecx
push eax
call fcn.00443810
mov dword [ebp - 0xc], eax
mov dword [ebp - 8], edx
push dword [0x48d6f0]
call fcn.0044fa50
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
test eax, eax
je 0x44f585
rdtsc
sub eax, esi
sbb edx, edi
cmp edx, dword [ebp - 8]
jb 0x44f4e6
ja 0x44f510
cmp eax, dword [ebp - 0xc]
jb 0x44f4e6
cmp dword [ebp - 4], 0
jne 0x44f577
cmp dword [ebp + 8], 3
jne 0x44f54d
mov eax, dword [ebx + 4]
cmp dword [eax], 0x3230
jne 0x44f577
inc dword [0x48d7ac]
mov eax, dword [0x48d6f0]
mov dword [0x48d6c4], 1
mov dword [eax + 0x438], 0
pop edi
pop esi
pop ebx
leave
ret 0x10
cmp dword [ebp + 8], 0xb
jne 0x44f566
mov eax, dword [ebx + 4]
cmp dword [eax], 0x3430
jne 0x44f577
inc dword [0x48d6f4]
jmp 0x44f52d
cmp dword [ebp + 8], 9
jne 0x44f577
mov eax, dword [ebx + 4]
cmp dword [eax], 0x3330
je 0x44f5a6
dec dword [ebp - 4]
inc dword [0x48d6ec]
jmp 0x44f3e2
inc dword [0x48d6e8]
mov eax, dword [ebp + 0x14]
mov eax, dword [eax]
cmp eax, dword [0x468660]
jbe 0x44f59d
mov dword [0x468660], eax
and dword [0x48d6c4], 0
jmp 0x44f546
inc dword [0x48d7a4]
jmp 0x44f52d
Function at 0x44f5d5
Capabilities:
Encode data using add xor sub operations
Encode data using xor

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
mov eax, dword [ebp + 0xc]
push 0x1c
pop ecx
push esi
mov edx, dword [ebp + 8]
shr edx, cl
mov esi, eax
sar esi, 0xc
xor edx, esi
and edx, 0xf
mov esi, edx
shl esi, 7
xor esi, edx
add esi, esi
xor esi, eax
shl esi, 4
xor esi, edx
sub ecx, 4
mov eax, esi
jns 0x44f5e1
and eax, 0xffff
pop esi
pop ebp
ret 8

Function at 0x44fae9
Capabilities:
Execute anti-debugging instructions

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0xc
rdtsc
push ebx
mov ebx, dword [ebp + 8]
push esi
xor ecx, ecx
push edi
inc ecx
push ecx
mov dword [ebp - 4], ecx
mov dword [ebp + 8], 2
mov esi, eax
mov edi, edx
call fcn.0043d598
rdtsc
push 0
mov dword [ebp - 0xc], eax
sub eax, esi
mov dword [ebp - 8], edx
push 0x7a120
sbb edx, edi
push edx
push eax
call fcn.00443810
mov edi, eax
mov esi, edx
push dword [0x48d6f0]
call fcn.0044fa50
mov eax, dword [ebx + 0x13f0]
cmp eax, 0x103
je 0x44fba7
cmp byte [ebp + 0x18], 0
je 0x44fb65
rdtsc
sub eax, dword [ebp - 0xc]
sbb edx, dword [ebp - 8]
cmp edx, esi
ja 0x44fb5e
jb 0x44fb2e
cmp eax, edi
jb 0x44fb2e
mov dword [ebp + 8], 1
and dword [ebp - 4], 0
xor eax, eax
cmp dword [0x48d6dc], eax
je 0x44fb8d
mov ecx, dword [ebx + 0x438]
cmp ecx, 0x103
jne 0x44fb8d
mov dword [ebx + 0x438], eax
inc dword [0x48d798]
mov dword [0x48d6dc], eax
cmp dword [ebp - 4], eax
je 0x44fb9d
mov dword [ebx + 0x13f0], eax
mov eax, dword [ebp + 8]
pop edi
pop esi
pop ebx
leave
ret 0x14
and dword [0x48d6c4], 0
inc dword [0x48d6d8]
mov edi, dword [ebp + 0xc]
lea esi, [ebx + 0x13f8]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
cmp dword [ebx + 0x13f4], 0x10
jb 0x44fb69
mov esi, dword [ebp + 0x10]
and dword [ebp + 8], 0
test esi, esi
je 0x44fb69
movzx eax, word [esi + 2]
push eax
lea eax, [ebx + 0x1408]
push eax
push dword [esi + 4]
call fcn.0044dba0
movzx ecx, word [esi + 2]
mov eax, dword [ebx + 0x13f4]
lea edx, [ecx + 0x10]
movzx edx, dx
add esp, 0xc
cmp eax, edx
jbe 0x44fb69
mov edx, dword [ebp + 0x14]
test edx, edx
je 0x44fb69
movzx ecx, cx
mov edi, eax
sub edi, ecx
movzx ecx, word [edx + 2]
sub edi, 0x10
cmp ecx, edi
jb 0x44fb69
movzx ecx, word [esi + 2]
sub eax, ecx
sub eax, 0x10
push eax
lea eax, [ecx + ebx + 0x1408]
push eax
push dword [edx + 4]
call fcn.0044dba0
add esp, 0xc
jmp 0x44fb69

Function at 0x451000
Capabilities:
Hash data using sha256

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
mov eax, dword [ebp + 8]
xor ecx, ecx
mov dword [eax], 0x6a09e667
mov dword [eax + 4], 0xbb67ae85
mov dword [eax + 8], 0x3c6ef372
mov dword [eax + 0xc], 0xa54ff53a
mov dword [eax + 0x10], 0x510e527f
mov dword [eax + 0x14], 0x9b05688c
mov dword [eax + 0x18], 0x1f83d9ab
mov dword [eax + 0x1c], 0x5be0cd19
mov dword [eax + 0x20], ecx
mov dword [eax + 0x24], ecx
pop ebp
ret 4
Function at 0x451c40
Capabilities:
Hash data using sha256

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x58
mov eax, dword [0x46af20]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
push ebx
push esi
mov esi, dword [ebp + 8]
mov ebx, dword [esi + 0x24]
push edi
mov ecx, ebx
and ecx, 0x3f
mov edi, 0x40
sub edi, ecx
mov dword [ebp - 0x50], eax
cmp edi, 8
ja 0x451c75
add edi, 0x40
lea edx, [edi - 8]
push edx
lea eax, [ebp - 0x4c]
push 0
push eax
call fcn.0044db40
mov ecx, dword [esi + 0x20]
add ecx, ecx
add ecx, ecx
add ecx, ecx
mov edx, ebx
shr edx, 0x1d
or ecx, edx
add esp, 0xc
mov dword [ebp - 0x58], ecx
push 2
lea ecx, [ebp - 0x58]
push ecx
lea edx, [ebp + edi - 0x54]
lea eax, [ebx*8]
push edx
mov byte [ebp - 0x4c], 0x80
mov dword [ebp - 0x54], eax
call fcn.00452ae0
push edi
lea eax, [ebp - 0x4c]
push eax
push esi
call fcn.00451b30
mov ecx, dword [ebp - 0x50]
push 8
push esi
push ecx
call fcn.00452ae0
xor eax, eax
mov dword [esi + 0x20], eax
mov dword [esi + 0x24], eax
mov dword [esi], 0x6a09e667
mov dword [esi + 4], 0xbb67ae85
mov dword [esi + 8], 0x3c6ef372
mov dword [esi + 0xc], 0xa54ff53a
mov dword [esi + 0x10], 0x510e527f
mov dword [esi + 0x14], 0x9b05688c
mov dword [esi + 0x18], 0x1f83d9ab
mov dword [esi + 0x1c], 0x5be0cd19
mov eax, 0x40
add esi, 0x28
mov byte [esi], 0
inc esi
sub eax, 1
jne 0x451d16
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00408ad6
mov esp, ebp
pop ebp
ret 8
Function at 0x452870
Capabilities:
Hash data using sha1

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 8
cmp dword [0x46af84], 0
push ebx
jne 0x4528ed
push eax
push ebx
push ecx
push edx
xor eax, eax
cpuid
xor eax, eax
xor ebx, 0x756e6547
sete al
xor ebx, ebx
xor ecx, 0x6c65746e
sete bl
and eax, ebx
xor ecx, ecx
xor edx, 0x49656e69
sete cl
and eax, ecx
mov dword [ebp - 4], eax
mov eax, 1
cpuid
xor ecx, ecx
xor edx, edx
mov ebx, 0xff0
and ebx, eax
mov dword [ebp - 8], ebx
pop edx
pop ecx
pop ebx
pop eax
cmp dword [ebp - 4], 0
mov eax, 1
je 0x4528e1
cmp dword [ebp - 8], 0x660
jae 0x4528e1
xor eax, eax
mov eax, dword [eax*4 + 0x468604]
mov dword [0x46af84], eax
mov eax, dword [ebp + 8]
mov dword [eax + 0x54], 0
mov dword [eax + 0x58], 0
mov dword [eax + 0x40], 0x67452301
mov dword [eax + 0x44], 0xefcdab89
mov dword [eax + 0x48], 0x98badcfe
mov dword [eax + 0x4c], 0x10325476
mov dword [eax + 0x50], 0xc3d2e1f0
pop ebx
mov esp, ebp
pop ebp
ret 4

Function at 0x454910
Capabilities:
Hash data with md5

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
mov eax, dword [ebp + 8]
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0x67452301
mov dword [eax + 0xc], 0xefcdab89
mov dword [eax + 0x10], 0x98badcfe
mov dword [eax + 0x14], 0x10325476
pop ebp
ret 4

Function at 0x454b00
Capabilities:
Hash data using sha224

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
mov eax, dword [ebp + 8]
xor ecx, ecx
mov dword [eax], 0xc1059ed8
mov dword [eax + 4], 0xcbbb9d5d
mov dword [eax + 8], 0x367cd507
mov dword [eax + 0xc], 0x629a292a
mov dword [eax + 0x10], 0x3070dd17
mov dword [eax + 0x14], 0x9159015a
mov dword [eax + 0x18], 0xf70e5939
mov dword [eax + 0x1c], 0x152fecd8
mov dword [eax + 0x20], 0xffc00b31
mov dword [eax + 0x24], 0x67332667
mov dword [eax + 0x28], 0x68581511
mov dword [eax + 0x2c], 0x8eb44a87
mov dword [eax + 0x30], 0x64f98fa7
mov dword [eax + 0x34], 0xdb0c2e0d
mov dword [eax + 0x38], 0xbefa4fa4
mov dword [eax + 0x3c], 0x47b5481d
mov dword [eax + 0x40], ecx
mov dword [eax + 0x44], ecx
mov dword [eax + 0x48], ecx
mov dword [eax + 0x4c], ecx
pop ebp
ret 4

Function at 0x454b90
Capabilities:
Hash data using sha256

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
mov eax, dword [ebp + 8]
xor ecx, ecx
mov dword [eax], 0xf3bcc908
mov dword [eax + 4], 0x6a09e667
mov dword [eax + 8], 0x84caa73b
mov dword [eax + 0xc], 0xbb67ae85
mov dword [eax + 0x10], 0xfe94f82b
mov dword [eax + 0x14], 0x3c6ef372
mov dword [eax + 0x18], 0x5f1d36f1
mov dword [eax + 0x1c], 0xa54ff53a
mov dword [eax + 0x20], 0xade682d1
mov dword [eax + 0x24], 0x510e527f
mov dword [eax + 0x28], 0x2b3e6c1f
mov dword [eax + 0x2c], 0x9b05688c
mov dword [eax + 0x30], 0xfb41bd6b
mov dword [eax + 0x34], 0x1f83d9ab
mov dword [eax + 0x38], 0x137e2179
mov dword [eax + 0x3c], 0x5be0cd19
mov dword [eax + 0x40], ecx
mov dword [eax + 0x44], ecx
mov dword [eax + 0x48], ecx
mov dword [eax + 0x4c], ecx
pop ebp
ret 4
Function at 0x10005a90
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100728b6
mov eax, dword fs:[0]
push eax
push esi
push edi
mov eax, dword [0x1008f070]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
push 8
mov dword [edi], vtable.std::basic_streambuf_char__struct_std::char_traits_char__.0
call fcn.100230eb
mov esi, eax
push 1
mov dword [ebp - 4], 0
call fcn.1000e16d
mov dword [esi + 4], eax
lea ecx, [edi + 8]
lea eax, [edi + 4]
mov dword [edi + 0x34], esi
mov dword [edi + 0xc], eax
add esp, 8
lea eax, [edi + 0x14]
mov dword [edi + 0x10], ecx
mov dword [edi + 0x1c], eax
lea eax, [edi + 0x18]
mov dword [edi + 0x20], eax
lea eax, [edi + 0x24]
mov dword [edi + 0x2c], eax
lea eax, [edi + 0x28]
mov dword [edi + 0x30], eax
mov dword [ecx], 0
mov eax, dword [edi + 0x20]
mov dword [eax], 0
mov eax, dword [edi + 0x30]
mov dword [eax], 0
mov eax, dword [edi + 0xc]
mov dword [eax], 0
mov eax, dword [edi + 0x1c]
mov dword [eax], 0
mov eax, dword [edi + 0x2c]
mov dword [eax], 0
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
Function at 0x100069b0
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
push ebx
push esi
mov esi, edx
mov ebx, ecx
mov dword [ebp - 8], esi
test esi, esi
je 0x10006b0f
lea ecx, [esi*8]
mov eax, 0x2aaaaaab
imul ecx
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
lea edx, [esi*8]
lea eax, [ecx + ecx*2]
add eax, eax
sub edx, eax
sub edx, 2
je 0x100069f9
sub edx, 2
jne 0x100069fc
add ecx, 2
jmp 0x100069fc
add ecx, 3
mov eax, dword [ebp + 0xc]
inc ecx
cmp dword [eax], ecx
jge 0x10006a11
pop esi
mov dword [eax], ecx
mov eax, 0xfffffff0
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, 0x55555556
imul esi
push edi
mov edi, dword [ebp + 8]
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax + eax*2]
xor eax, eax
test ecx, ecx
jle 0x10006aa6
dec ecx
mov eax, 0xaaaaaaab
mul ecx
mov eax, edx
shr eax, 1
inc eax
mov dword [ebp - 4], eax
lea eax, [eax + eax*2]
mov dword [ebp - 0xc], eax
movzx ecx, byte [ebx]
movzx edx, byte [ebx + 1]
mov eax, ecx
movzx esi, byte [ebx + 2]
add ebx, 3
shr eax, 2
shl ecx, 4
movzx eax, byte [eax + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
mov byte [edi], al
mov eax, edx
shr eax, 4
add eax, ecx
and eax, 0x3f
movzx eax, byte [eax + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
mov byte [edi + 1], al
mov eax, esi
shr eax, 6
and esi, 0x3f
lea eax, [eax + edx*4]
and eax, 0x3f
movzx eax, byte [eax + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
mov byte [edi + 2], al
movzx eax, byte [esi + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
mov byte [edi + 3], al
add edi, 4
sub dword [ebp - 4], 1
jne 0x10006a42
mov esi, dword [ebp - 8]
mov eax, dword [ebp - 0xc]
cmp eax, esi
jge 0x10006b01
movzx edx, byte [ebx]
inc eax
mov dword [ebp - 0xc], eax
cmp eax, esi
jge 0x10006abb
movzx ecx, byte [ebx + 1]
jmp 0x10006abd
xor ecx, ecx
mov eax, edx
shl edx, 4
shr eax, 2
movzx eax, byte [eax + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
mov byte [edi], al
mov eax, ecx
shr eax, 4
add eax, edx
and eax, 0x3f
movzx eax, byte [eax + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
mov byte [edi + 1], al
cmp dword [ebp - 0xc], esi
jge 0x10006af6
and ecx, 0xf
mov al, byte [ecx*4 + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
mov byte [edi + 2], al
jmp 0x10006afa
mov byte [edi + 2], 0x3d
mov byte [edi + 3], 0x3d
add edi, 4
mov ecx, dword [ebp + 0xc]
mov eax, edi
sub eax, dword [ebp + 8]
mov dword [ecx], eax
mov byte [edi], 0
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x10007540
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
push ebx
push esi
mov esi, edx
mov dword [ebp - 4], 0
mov dword [ebp - 0xc], 0
mov ebx, ecx
push edi
test esi, esi
je 0x100075b1
test ebx, ebx
je 0x100075b1
push ebx
push str.URL:__s_n
call fcn.10006b60
push esi
push str.filename:__s_n
call fcn.10006b60
push 0x11
push esi
push 0xa
push str.file
push 1
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 4]
push eax
call fcn.100254b0
add esp, 0x2c
test eax, eax
je 0x100075bb
push str.curl_formadd_error._n
push 2
call fcn.10057f8c
add esp, 4
push eax
call fcn.10006b30
add esp, 8
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.10024040
mov edi, eax
test edi, edi
jne 0x100075f0
push str.curl_easy_init___error._n
push 2
call fcn.10057f8c
add esp, 4
push eax
call fcn.10006b30
push dword [ebp - 4]
call fcn.100254d0
add esp, 0xc
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push str.Expect:
push 0
call fcn.10024250
push eax
push 0x2727
push edi
call fcn.10024130
add esp, 0x14
push 0
push 0x2a
push edi
call fcn.10024130
add esp, 0xc
push ebx
push 0x2712
push edi
call fcn.10024130
add esp, 0xc
push dword [ebp - 4]
push 0x2728
push edi
call fcn.10024130
add esp, 0xc
push 0x1e
push 0xd
push edi
call fcn.10024130
add esp, 0xc
push 0
push 0x40
push edi
call fcn.10024130
add esp, 0xc
push 1
push 0x51
push edi
call fcn.10024130
mov ebx, dword [ebp + 8]
add esp, 0xc
push 0x10088aa0
push ebx
call fcn.10057ead
push 0x10007530
push 0x4e2b
push edi
mov esi, eax
call fcn.10024130
add esp, 0x14
push esi
push 0x2711
push edi
call fcn.10024130
add esp, 0xc
push edi
call fcn.10024080
add esp, 4
mov dword [ebp - 0x10], eax
push esi
call fcn.100580cc
add esp, 4
mov dword [ebp - 8], 0
lea eax, [ebp - 8]
push eax
push 0x200002
push edi
call fcn.10024020
mov eax, dword [ebp - 0x10]
add esp, 0xc
test eax, eax
je 0x100076f4
push eax
push str.curl_easy_perform__d__error._n
push 2
call fcn.10057f8c
add esp, 4
push eax
call fcn.10006b30
add esp, 0xc
push dword [ebp - 4]
call fcn.100254d0
add esp, 4
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push edi
call fcn.10024000
mov ecx, dword [ebp - 8]
add esp, 4
cmp ecx, 0xc8
je 0x10007712
push ebx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov ecx, dword [ebp - 8]
xor eax, eax
cmp ecx, 0xc8
pop edi
pop esi
sete al
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x1000b7e0
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1007305e
mov eax, dword fs:[0]
push eax
push ecx
push esi
push edi
mov eax, dword [0x1008f070]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x10], edi
push 8
mov dword [edi], vtable.std::basic_streambuf_wchar_t__struct_std::char_traits_wchar_t__.0
call fcn.100230eb
mov esi, eax
push 1
mov dword [ebp - 4], 0
call fcn.1000e16d
mov dword [esi + 4], eax
lea ecx, [edi + 8]
lea eax, [edi + 4]
mov dword [edi + 0x34], esi
mov dword [edi + 0xc], eax
add esp, 8
lea eax, [edi + 0x14]
mov dword [edi + 0x10], ecx
mov dword [edi + 0x1c], eax
lea eax, [edi + 0x18]
mov dword [edi + 0x20], eax
lea eax, [edi + 0x24]
mov dword [edi + 0x2c], eax
lea eax, [edi + 0x28]
mov dword [edi + 0x30], eax
mov dword [ecx], 0
mov eax, dword [edi + 0x20]
mov dword [eax], 0
mov eax, dword [edi + 0x30]
mov dword [eax], 0
mov eax, dword [edi + 0xc]
mov dword [eax], 0
mov eax, dword [edi + 0x1c]
mov dword [eax], 0
mov eax, dword [edi + 0x2c]
mov dword [eax], 0
mov dword [edi], vtable.std::basic_stringbuf_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.0
mov eax, edi
mov dword [edi + 0x38], 0
mov dword [edi + 0x3c], 0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret 4

Function at 0x100241e0
Capabilities:
Initialize winsock library

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x194
mov eax, dword [0x1008f070]
xor eax, ebp
mov dword [ebp - 4], eax
lea eax, [ebp - 0x194]
push eax
push 0x202
call dword [sym.imp.WS2_32.dll_WSAStartup]
test eax, eax
jne 0x10024230
mov eax, dword [ebp - 0x194]
cmp al, 2
jne 0x1002422a
shr eax, 8
cmp al, 2
jne 0x1002422a
xor eax, eax
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10022c9a
mov esp, ebp
pop ebp
ret
call dword [sym.imp.WS2_32.dll_WSACleanup]
mov ecx, dword [ebp - 4]
mov eax, 2
xor ecx, ebp
call fcn.10022c9a
mov esp, ebp
pop ebp
ret
Function at 0x10025420
Capabilities:
Check os version
Get system information on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x144
mov eax, dword [0x1008f070]
xor eax, ebp
mov dword [ebp - 4], eax
lea eax, [ebp - 0x144]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
push 0x11c
lea eax, [ebp - 0x120]
push 0
push eax
call fcn.1004e7f0
add esp, 0xc
mov dword [ebp - 0x120], 0x11c
lea eax, [ebp - 0x120]
push eax
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
cmp dword [ebp - 0x11c], 5
jg 0x10025492
cmp dword [ebp - 0x118], 2
jg 0x10025492
mov eax, 1
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10022c9a
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 4]
xor eax, eax
xor ecx, ebp
call fcn.10022c9a
mov esp, ebp
pop ebp
ret

Function at 0x10025620
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push esi
mov esi, dword [ebp + 8]
push edi
mov eax, dword [esi]
cmp dword [eax + 4], 2
jne 0x1002564c
mov ecx, dword [esi + 0xc]
test ecx, ecx
jne 0x1002563d
pop edi
xor eax, eax
pop esi
pop ebp
ret
push dword [eax + 8]
push dword [ebp + 0x10]
push 1
push dword [ebp + 0xc]
call ecx
jmp 0x10025680
cmp dword [esi + 8], 0
jne 0x10025670
push 0x100791f4
push dword [eax + 8]
call fcn.10057ead
add esp, 8
mov dword [esi + 8], eax
test eax, eax
jne 0x10025670
pop edi
or eax, 0xffffffff
pop esi
pop ebp
ret
push dword [esi + 8]
push dword [ebp + 0x10]
push 1
push dword [ebp + 0xc]
call fcn.1005ee4f
mov edi, eax
add esp, 0x10
test edi, edi
jne 0x100256a2
mov eax, dword [esi + 8]
test eax, eax
je 0x1002569c
push eax
call fcn.100580cc
add esp, 4
mov dword [esi + 8], edi
mov eax, dword [esi]
mov eax, dword [eax]
mov dword [esi], eax
mov eax, edi
pop edi
pop esi
pop ebp
ret

Function at 0x10027390
Capabilities:
Create udp socket

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
push edi
push 0x48
push 1
call dword [0x1008f0a0]
mov esi, dword [ebp + 8]
mov edi, eax
add esp, 8
mov ebx, 8
mov dword [esi + 0x3bc], edi
test edi, edi
je 0x1002746c
push dword [ebp + 0x14]
mov ecx, dword [ebp + 0x10]
lea eax, [edi + 0x10]
push ecx
push dword [ebp + 0xc]
mov dword [esi + 0x3ac], ecx
mov dword [esi + 0x3b4], 0
mov dword [esi + 0x3b8], 0
mov dword [esi + 0x3b0], 0
push eax
mov dword [edi + 4], 0xffffffff
mov dword [edi], 0
call fcn.100274a0
add esp, 0x10
test eax, eax
je 0x1002746c
mov eax, dword [esi + 0x3a8]
test eax, eax
je 0x10027424
push eax
call dword [0x1008f094]
add esp, 4
mov dword [esi + 0x3a8], 0
push dword [ebp + 0xc]
call dword [0x1008f09c]
add esp, 4
mov dword [esi + 0x3a8], eax
test eax, eax
je 0x1002746c
push 0
push 2
push 2
call dword [sym.imp.WS2_32.dll_socket]
mov dword [edi + 4], eax
cmp eax, 0xffffffff
je 0x1002746c
lea eax, [edi + 0x10]
push eax
push 0x10027300
call fcn.10035a40
add esp, 8
mov dword [edi], eax
test eax, eax
jne 0x10027489
call fcn.10059dd4
mov ebx, dword [eax]
lea eax, [esi + 0x3a8]
push eax
call fcn.10027210
add esp, 4
push ebx
call dword [sym.imp.KERNEL32.dll_SetLastError]
pop edi
pop esi
xor eax, eax
pop ebx
pop ebp
ret
pop edi
pop esi
mov eax, 1
pop ebx
pop ebp
ret