joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1000d4a0
Capabilities:
Allocate or change rwx memory

Disassembly:
push ebp
mov ebp, esp
push ecx
push esi
imul esi, dword [ebp + 8], 0x2c
mov eax, 5
push edi
mov dword [ebp + 8], eax
add esi, dword [0x1013bcd0]
test byte [esi + 0x14], 1
mov edi, dword [esi]
je 0x1000d4ca
sub edi, eax
mov eax, 7
mov dword [ebp + 8], eax
lea ecx, [ebp - 4]
push ecx
push 0x40
push eax
push edi
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
test eax, eax
jne 0x1000d4e7
pop edi
mov eax, 0xa
pop esi
mov esp, ebp
pop ebp
ret
push ebx
mov ebx, dword [ebp + 0xc]
test ebx, ebx
je 0x1000d50c
mov byte [edi], 0xe9
mov eax, dword [esi + 4]
sub eax, edi
sub eax, 5
mov dword [edi + 1], eax
test byte [esi + 0x14], 1
je 0x1000d52d
mov eax, dword [esi]
mov word [eax], 0xf9eb
jmp 0x1000d52d
mov eax, dword [esi + 0xc]
test byte [esi + 0x14], 1
mov dword [edi], eax
je 0x1000d527
mov ax, word [esi + 0x10]
mov word [edi + 4], ax
mov al, byte [esi + 0x12]
mov byte [edi + 6], al
jmp 0x1000d52d
mov al, byte [esi + 0x10]
mov byte [edi + 4], al
lea eax, [ebp - 4]
push eax
push dword [ebp - 4]
push dword [ebp + 8]
push edi
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
push dword [ebp + 8]
push edi
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_FlushInstructionCache]
mov al, byte [esi + 0x14]
and bl, 1
mov cl, bl
and al, 0xfd
add cl, cl
shl bl, 2
or cl, al
and cl, 0xfb
or cl, bl
xor eax, eax
pop ebx
pop edi
mov byte [esi + 0x14], cl
pop esi
mov esp, ebp
pop ebp
ret

Function at 0x1000d5d0
Capabilities:
Enumerate threads

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
mov eax, dword [0x10139bc4]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov esi, dword [ebp + 8]
push edi
push 0
push 4
call sub.KERNEL32.dll_CreateToolhelp32Snapshot
mov edi, eax
cmp edi, 0xffffffff
je 0x1000d6b7
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0x1c
push eax
push edi
call sub.KERNEL32.dll_Thread32First
test eax, eax
je 0x1000d6b0
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
nop dword [eax]
cmp dword [ebp - 0x20], 0x10
jb 0x1000d696
call ebx
cmp dword [ebp - 0x14], eax
jne 0x1000d696
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp dword [ebp - 0x18], eax
je 0x1000d696
mov ecx, dword [esi]
test ecx, ecx
jne 0x1000d65f
push 0x200
push ecx
mov dword [esi + 4], 0x80
push dword [0x1013afb4]
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov dword [esi], eax
test eax, eax
je 0x1000d6af
jmp 0x1000d688
mov eax, dword [esi + 4]
cmp dword [esi + 8], eax
jb 0x1000d688
shl eax, 3
push eax
push ecx
push 0
push dword [0x1013afb4]
call dword [sym.imp.KERNEL32.dll_HeapReAlloc]
test eax, eax
je 0x1000d6af
mov ecx, dword [esi + 4]
add ecx, ecx
mov dword [esi], eax
mov dword [esi + 4], ecx
mov edx, dword [esi + 8]
mov ecx, dword [esi]
mov eax, dword [ebp - 0x18]
mov dword [ecx + edx*4], eax
inc dword [esi + 8]
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0x1c
push eax
push edi
call sub.KERNEL32.dll_Thread32Next
test eax, eax
jne 0x1000d620
pop ebx
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.1000fa46
mov esp, ebp
pop ebp
ret
Function at 0x1000d770
Capabilities:
Suspend thread

Disassembly:
push ebp
mov ebp, esp
push esi
mov esi, dword [ebp + 8]
push esi
mov dword [esi], 0
mov dword [esi + 4], 0
mov dword [esi + 8], 0
call fcn.1000d5d0
add esp, 4
cmp dword [esi], 0
je 0x1000d7dc
push edi
xor edi, edi
cmp dword [esi + 8], edi
jbe 0x1000d7db
push ebx
mov eax, dword [esi]
push dword [eax + edi*4]
push 0
push 0x5a
call dword [sym.imp.KERNEL32.dll_OpenThread]
mov ebx, eax
test ebx, ebx
je 0x1000d7d4
push ebx
call dword [sym.imp.KERNEL32.dll_SuspendThread]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push ebx
call fcn.1000d9d0
add esp, 0xc
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
inc edi
cmp edi, dword [esi + 8]
jb 0x1000d7a2
pop ebx
pop edi
pop esi
pop ebp
ret

Function at 0x1000db10
Capabilities:
Resume thread

Disassembly:
push ebp
mov ebp, esp
push edi
mov edi, dword [ebp + 8]
cmp dword [edi], 0
je 0x1000db60
push esi
xor esi, esi
cmp dword [edi + 8], esi
jbe 0x1000db4f
push ebx
mov eax, dword [edi]
push dword [eax + esi*4]
push 0
push 0x5a
call dword [sym.imp.KERNEL32.dll_OpenThread]
mov ebx, eax
test ebx, ebx
je 0x1000db48
push ebx
call dword [sym.imp.KERNEL32.dll_ResumeThread]
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
inc esi
cmp esi, dword [edi + 8]
jb 0x1000db25
pop ebx
push dword [edi]
push 0
push dword [0x1013afb4]
call dword [sym.imp.KERNEL32.dll_HeapFree]
pop esi
pop edi
pop ebp
ret
Function at 0x1001d498
Capabilities:
Read file on windows

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
pop ebp
jmp fcn.1001d317

Function at 0x10022594
Capabilities:
Set environment variable

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
pop ebp
jmp fcn.10022254
Function at 0x92ff20
Capabilities:
Encode data using xor

Disassembly:
pushal
call 0x92ff26
pop ebp
sub ebp, 6
sub ebp, 0x52ff20
jmp 0x92ff84
jmp 0x92ff8d
mov eax, 0x52ff20
add eax, ebp
add eax, 0x93
mov ecx, 0x629
mov edx, 0x55b49d5
xor byte [eax], dl
inc eax
dec ecx
jne 0x92ffa4
jmp 0x92ffb7
mov edi, 0xc5d5bd95
aad 0xd5
mov ebp, 0xd5f919d5
out 0x15, al
test dword [edx], ebp
inc eax
lodsd eax, dword [esi]
xchg esp, eax
pushfd
aad 0x85
pop esi
sbb byte [esi + 0x5c], bl
jmp 0x5568d5ab
Function at 0x13001000
Capabilities:
Allocate or change rwx memory
Execute shellcode via indirect call

Disassembly:
push esi
mov esi, dword [esp + 8]
test esi, esi
je 0x13001065
push ebp
mov ebp, dword [esp + 0x10]
test ebp, ebp
je 0x13001064
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_VirtualProtect]
push edi
mov edi, dword [esp + 0x1c]
lea eax, [esp + 0x14]
push eax
push 0x40
push edi
push esi
mov dword [esp + 0x24], 0x40
mov dword [0x1314fc20], 1
call ebx
test eax, eax
je 0x13001058
push edi
push ebp
push esi
call fcn.1301f5d0
mov edx, dword [esp + 0x20]
add esp, 0xc
lea ecx, [esp + 0x14]
push ecx
push edx
push edi
push esi
call ebx
pop edi
mov dword [0x1314fc20], 0
pop ebx
pop ebp
pop esi
ret

Function at 0x13001200
Capabilities:
Allocate or change rwx memory
Execute shellcode via indirect call

Disassembly:
sub esp, 8
push edi
mov edi, dword [esp + 0x10]
test edi, edi
je 0x13001295
mov eax, dword [esp + 0x14]
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_VirtualProtect]
push esi
mov esi, dword [esp + 0x20]
lea ecx, [esp + 0x18]
push ecx
push 0x40
sub eax, edi
add esi, 5
push esi
sub eax, 5
push edi
mov byte [esp + 0x1c], 0xe9
mov dword [esp + 0x1d], eax
mov dword [esp + 0x28], 0
mov dword [0x1314fc20], 1
call ebx
test eax, eax
je 0x13001289
xor ecx, ecx
test esi, esi
jbe 0x1300127b
push ebp
lea ebp, [esp + 0x10]
mov eax, edi
sub ebp, edi
cmp ecx, 5
jae 0x1300126d
mov dl, byte [eax + ebp]
mov byte [eax], dl
jmp 0x13001270
mov byte [eax], 0x90
add ecx, 1
add eax, 1
cmp ecx, esi
jb 0x13001261
pop ebp
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0x18]
push eax
push ecx
push esi
push edi
call ebx
pop esi
mov dword [0x1314fc20], 0
pop ebx
pop edi
add esp, 8
ret
Function at 0x130013e0
Capabilities:
Allocate or change rwx memory

Disassembly:
mov eax, dword [esp + 4]
sub esp, 0x10
push ebx
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
xor ebx, ebx
test eax, eax
je 0x13001572
mov ecx, dword [esp + 0x1c]
push edi
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov edi, eax
test edi, edi
je 0x1300156a
push esi
push 0x40
push 0x1000
push 0x20
push ebx
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov esi, eax
test esi, esi
je 0x13001561
mov ebx, dword [esp + 0x2c]
test ebx, ebx
push ebp
jbe 0x1300144d
mov ebp, edi
sub ebp, esi
mov ecx, ebx
lea ebx, [ebx]
mov dl, byte [eax + ebp]
mov byte [eax], dl
add eax, 1
sub ecx, 1
jne 0x13001440
mov al, byte [edi]
cmp al, 0xe8
je 0x130014e6
cmp al, 0xe9
je 0x130014e6
cmp al, 0x8d
je 0x13001536
cmp al, 0x6a
jne 0x130014aa
cmp ebx, 7
jae 0x13001536
mov byte [esi], al
movzx eax, byte [edi + 1]
mov byte [esi + 1], al
movzx ecx, byte [edi + 2]
mov byte [esi + 2], cl
movzx edx, byte [edi + 3]
mov byte [esi + 3], dl
movzx eax, byte [edi + 4]
mov byte [esi + 4], al
movzx ecx, byte [edi + 5]
mov byte [esi + 5], cl
movzx edx, byte [edi + 6]
mov ebx, 7
mov byte [esi + 6], dl
jmp 0x13001536
cmp al, 0xff
jne 0x13001536
mov al, byte [edi + 1]
cmp al, 0x15
je 0x130014c1
cmp al, 0x25
jne 0x13001536
cmp ebx, 6
jae 0x130014cb
mov ebx, 6
test ebx, ebx
jbe 0x13001536
mov ebp, edi
mov eax, esi
sub ebp, esi
mov ecx, ebx
mov dl, byte [eax + ebp]
mov byte [eax], dl
add eax, 1
sub ecx, 1
jne 0x130014d7
jmp 0x13001536
xor ebp, ebp
test ebx, ebx
jbe 0x13001521
mov ecx, esi
sub ecx, edi
lea edx, [esp + 0x18]
sub edx, edi
mov eax, edi
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], edx
cmp ebp, 5
mov dl, byte [eax]
mov byte [ecx + eax], dl
jae 0x13001517
mov cl, byte [eax]
mov edx, dword [esp + 0x10]
mov byte [edx + eax], cl
mov ecx, dword [esp + 0x14]
add ebp, 1
add eax, 1
cmp ebp, ebx
jb 0x13001500
mov eax, edi
sub eax, esi
add dword [esp + 0x19], eax
mov ecx, dword [esp + 0x18]
mov dl, byte [esp + 0x1c]
mov dword [esi], ecx
mov byte [esi + 4], dl
push 0
lea eax, [edi + ebx]
push eax
lea ecx, [esi + ebx]
push ecx
call fcn.13001200
mov edx, dword [esp + 0x38]
add ebx, 0xfffffffb
push ebx
push edx
push edi
call fcn.13001200
add esp, 0x18
pop ebp
mov eax, esi
pop esi
pop edi
pop ebx
add esp, 0x10
ret
pop esi
pop edi
mov eax, ebx
pop ebx
add esp, 0x10
ret
pop edi
mov eax, ebx
pop ebx
add esp, 0x10
ret
mov eax, ebx
pop ebx
add esp, 0x10
ret
Function at 0x13001580
Capabilities:
Read file on windows

Disassembly:
sub esp, 0x254
push ebx
push ebp
mov ebp, dword [esp + 0x260]
push esi
push edi
lea eax, [esp + 0x14]
push eax
push ebp
xor esi, esi
xor edi, edi
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov ebx, eax
cmp ebx, 0xffffffff
je 0x130015c4
mov ecx, dword [esp + 0x30]
push 1
push edi
push edi
push ecx
call fcn.1301f9c0
mov edi, edx
mov edx, dword [esp + 0x34]
mov esi, eax
xor eax, eax
add esi, edx
adc edi, eax
push ebx
call dword [sym.imp.KERNEL32.dll_FindClose]
test edi, edi
ja 0x130015d7
test esi, esi
jbe 0x13001657
push 0
push 0x80
push 4
push 0
push 1
push accept
push ebp
mov dword [esp + 0x2c], 0
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov ebx, eax
cmp ebx, 0xffffffff
je 0x13001648
lea edi, [esi + 2]
push edi
call fcn.1301db4e
mov ebp, dword [esp + 0x270]
push edi
push 0
push eax
mov dword [ebp], eax
call fcn.1301f940
mov edx, dword [ebp]
add esp, 0x10
push 0
lea ecx, [esp + 0x14]
push ecx
push esi
push edx
push ebx
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x13001641
push 0x1388
push ebx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x254
ret
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x254
ret
Function at 0x13001810
Capabilities:
Contain obfuscated stackstrings

Disassembly:
sub esp, 0x6c
mov eax, 0x72
mov word [esp + 0x2e], ax
mov word [esp + 0x32], ax
mov eax, 0x3a
mov word [esp + 0x34], ax
mov word [esp + 0x36], ax
mov eax, 0x20
mov word [esp + 0x66], ax
mov byte [esp + 0x23], al
mov edx, 0x1e
mov ecx, 0x1f
lea eax, [esp + 4]
push eax
mov dword [esp + 4], 0
mov word [esp + 0x2c], 0x6c
mov word [esp + 0x2e], 0x67
mov word [esp + 0x30], 0x75
mov word [esp + 0x34], 0x6a
mov word [esp + 0x3c], 9
mov word [esp + 0x3e], 0xa
mov word [esp + 0x40], 0xb
mov word [esp + 0x42], 0xc
mov word [esp + 0x44], 0xd
mov word [esp + 0x46], 0xe
mov word [esp + 0x48], 0xf
mov word [esp + 0x4a], 0x10
mov word [esp + 0x4c], 0x11
mov word [esp + 0x4e], 0x12
mov word [esp + 0x50], 0x13
mov word [esp + 0x52], 0x14
mov word [esp + 0x54], 0x15
mov word [esp + 0x56], 0x16
mov word [esp + 0x58], 0x17
mov word [esp + 0x5a], 0x18
mov word [esp + 0x5c], 0x19
mov word [esp + 0x5e], 0x1a
mov word [esp + 0x60], 0x1b
mov word [esp + 0x62], 0x1c
mov word [esp + 0x64], 0x1d
mov word [esp + 0x66], dx
mov word [esp + 0x68], cx
mov word [esp + 0x6c], 0
mov byte [esp + 8], 0x4a
mov byte [esp + 9], 0x75
mov byte [esp + 0xa], 0x5a
mov byte [esp + 0xb], 0x73
mov byte [esp + 0xc], 0x7c
mov byte [esp + 0xd], 0x3c
mov byte [esp + 0xe], 0x3b
mov byte [esp + 0xf], 0x58
mov byte [esp + 0x10], 0x7b
mov byte [esp + 0x11], 0x79
mov byte [esp + 0x12], 0x6e
mov byte [esp + 0x13], 0x71
mov byte [esp + 0x14], 0x80
mov byte [esp + 0x15], 0x81
mov byte [esp + 0x16], 0xf
mov byte [esp + 0x17], 0x10
mov byte [esp + 0x18], 0x11
mov byte [esp + 0x19], 0x12
mov byte [esp + 0x1a], 0x13
mov byte [esp + 0x1b], 0x14
mov byte [esp + 0x1c], 0x15
mov byte [esp + 0x1d], 0x16
mov byte [esp + 0x1e], 0x17
mov byte [esp + 0x1f], 0x18
mov byte [esp + 0x20], 0x19
mov byte [esp + 0x21], 0x1a
mov byte [esp + 0x22], 0x1b
mov byte [esp + 0x23], 0x1c
mov byte [esp + 0x24], 0x1d
mov byte [esp + 0x25], dl
mov byte [esp + 0x26], cl
mov byte [esp + 0x28], 0
call fcn.13001730
add esp, 4
push eax
lea ecx, [esp + 0x2c]
push ecx
call fcn.13001790
add esp, 4
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
mov dword [0x1314fc24], eax
je 0x130019f2
lea edx, [esp]
push edx
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [0x1314fc24]
mov eax, dword [esp]
add esp, 0x6c
ret
Function at 0x13001a00
Capabilities:
Hash data with crc32

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x130facc8
push eax
mov dword fs:[0], esp
push esi
push edi
mov dword [esp + 0x10], 0
mov ecx, dword [esp + 0x2c]
or esi, 0xffffffff
xor edi, edi
test ecx, ecx
jbe 0x13001a67
cmp edi, ecx
jbe 0x13001a39
call fcn.13020171
mov ecx, dword [esp + 0x2c]
cmp dword [esp + 0x30], 8
mov eax, dword [esp + 0x1c]
jae 0x13001a48
lea eax, [esp + 0x1c]
movzx eax, byte [eax + edi*2]
mov edx, esi
and edx, 0xff
xor eax, edx
shr esi, 8
xor esi, dword [eax*4 + section..data]
add edi, 1
cmp edi, ecx
jb 0x13001a39
not esi
mov dword [esp + 0x10], 0xffffffff
cmp dword [esp + 0x30], 8
jb 0x13001a85
mov eax, dword [esp + 0x1c]
push eax
call fcn.1301ff6c
add esp, 4
mov ecx, dword [esp + 8]
pop edi
mov dword [esp + 0x2c], 7
mov dword [esp + 0x28], 0
mov word [esp + 0x18], 0
mov eax, esi
mov dword fs:[0], ecx
pop esi
add esp, 0xc
ret 0x1c
Function at 0x13009f90
Capabilities:
Hash data with md5

Disassembly:
push esi
mov esi, ecx
mov ecx, dword [esp + 8]
xor eax, eax
mov byte [esi], al
mov dword [esi + 0x44], eax
mov dword [esi + 0x48], eax
mov eax, dword [esp + 0xc]
push eax
push ecx
mov ecx, esi
mov dword [esi + 0x4c], 0x67452301
mov dword [esi + 0x50], 0xefcdab89
mov dword [esi + 0x54], 0x98badcfe
mov dword [esi + 0x58], 0x10325476
call fcn.13009dd0
mov ecx, esi
call fcn.13009e90
mov eax, esi
pop esi
ret 8

Function at 0x1300a110
Capabilities:
Hash data with md5

Disassembly:
push 0xffffffffffffffff
push 0x130fb284
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x70
push ebx
xor ebx, ebx
push esi
mov dword [esp + 8], ebx
mov dword [esp + 0x80], 1
cmp dword [esp + 0xa4], 0x10
mov eax, dword [esp + 0x90]
mov byte [esp + 0xc], bl
mov dword [esp + 0x50], ebx
mov dword [esp + 0x54], ebx
mov dword [esp + 0x58], 0x67452301
mov dword [esp + 0x5c], 0xefcdab89
mov dword [esp + 0x60], 0x98badcfe
mov dword [esp + 0x64], 0x10325476
jae 0x1300a17f
lea eax, [esp + 0x90]
mov ecx, dword [esp + 0xa0]
push ecx
push eax
lea ecx, [esp + 0x14]
call fcn.13009dd0
lea ecx, [esp + 0xc]
call fcn.13009e90
mov esi, dword [esp + 0x88]
push esi
lea ecx, [esp + 0x10]
call fcn.1300a040
mov dword [esp + 8], 1
mov byte [esp + 0x80], bl
cmp dword [esp + 0xa4], 0x10
jb 0x1300a1d4
mov edx, dword [esp + 0x90]
push edx
call fcn.1301ff6c
add esp, 4
mov ecx, dword [esp + 0x78]
mov dword [esp + 0xa0], ebx
mov byte [esp + 0x90], bl
mov dword [esp + 0xa4], 0xf
mov eax, esi
pop esi
pop ebx
mov dword fs:[0], ecx
add esp, 0x7c
ret

Function at 0x1300ba80
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x130fb3e7
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 8
push ebx
xor ebx, ebx
push esi
mov dword [esp + 0xc], ebx
mov dword [esp + 0x18], 1
mov al, byte [esp + 0x40]
push 1
push ebx
lea ecx, [esp + 0x10]
push ecx
lea ecx, [esp + 0x30]
mov byte [esp + 0x14], al
call fcn.1300a940
mov esi, eax
cmp esi, 0xffffffff
je 0x1300bb09
mov dl, byte [esp + 0x40]
mov byte [esp + 0x40], dl
cmp esi, dword [esp + 0x38]
jbe 0x1300badb
call fcn.13020171
cmp dword [esp + 0x3c], 0x10
mov eax, dword [esp + 0x28]
jae 0x1300baea
lea eax, [esp + 0x28]
mov cl, byte [esp + 0x44]
push 1
push ebx
lea edx, [esp + 0x48]
mov byte [eax + esi], cl
push edx
lea ecx, [esp + 0x30]
call fcn.1300a940
mov esi, eax
cmp esi, 0xffffffff
jne 0x1300bad0
mov esi, dword [esp + 0x20]
push 0xffffffffffffffff
push ebx
lea eax, [esp + 0x2c]
mov dword [esi + 0x18], 0xf
mov dword [esi + 0x14], ebx
push eax
mov ecx, esi
mov byte [esi + 4], bl
call fcn.13004a10
mov dword [esp + 0xc], 1
mov byte [esp + 0x18], bl
cmp dword [esp + 0x3c], 0x10
jb 0x1300bb49
mov ecx, dword [esp + 0x28]
push ecx
call fcn.1301ff6c
add esp, 4
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x38], ebx
mov byte [esp + 0x28], bl
mov dword [esp + 0x3c], 0xf
mov eax, esi
pop esi
pop ebx
mov dword fs:[0], ecx
add esp, 0x14
ret
Function at 0x1300eb30
Capabilities:
Reference cloudflare dns server

Disassembly:
push 0xffffffffffffffff
push 0x130fb8d9
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
push ebx
push esi
xor ebx, ebx
push edi
mov dword [esp + 0x18], ebx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x18], 2
mov edi, dword [esp + 0x20]
mov dword [edi + 0x18], 0xf
mov dword [edi + 0x14], ebx
mov byte [edi + 4], bl
push 3
mov dword [esp + 0x10], 1
call sym.CliExt.dll_curl_global_init
add esp, 4
call sym.CliExt.dll_curl_easy_init
mov esi, eax
cmp esi, ebx
je 0x1300ec1c
cmp dword [esp + 0x3c], 0x10
mov eax, dword [esp + 0x28]
jae 0x1300eb9c
lea eax, [esp + 0x28]
push eax
push 0x2712
push esi
call sym.CliExt.dll_curl_easy_setopt
push 0x130fe848
push 0x27e3
push esi
call sym.CliExt.dll_curl_easy_setopt
push ebx
push 0x40
push esi
call sym.CliExt.dll_curl_easy_setopt
push ebx
push 0x51
push esi
call sym.CliExt.dll_curl_easy_setopt
add esp, 0x30
cmp dword [esp + 0x54], ebx
jbe 0x1300ebf1
cmp dword [esp + 0x58], 0x10
mov eax, dword [esp + 0x44]
jae 0x1300ebe2
lea eax, [esp + 0x44]
push eax
push 0x271f
push esi
call sym.CliExt.dll_curl_easy_setopt
add esp, 0xc
push 0x1300e440
push 0x4e2b
push esi
call sym.CliExt.dll_curl_easy_setopt
push edi
push 0x2711
push esi
call sym.CliExt.dll_curl_easy_setopt
push esi
call sym.CliExt.dll_curl_easy_perform
push esi
call sym.CliExt.dll_curl_easy_cleanup
add esp, 0x20
call sym.CliExt.dll_curl_global_cleanup
mov byte [esp + 0x18], 1
mov esi, 0x10
cmp dword [esp + 0x3c], esi
jb 0x1300ec3e
mov eax, dword [esp + 0x28]
push eax
call fcn.1301ff6c
add esp, 4
mov dword [esp + 0x3c], 0xf
mov dword [esp + 0x38], ebx
mov byte [esp + 0x28], bl
mov byte [esp + 0x18], bl
cmp dword [esp + 0x58], esi
jb 0x1300ec65
mov ecx, dword [esp + 0x44]
push ecx
call fcn.1301ff6c
add esp, 4
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x54], ebx
mov byte [esp + 0x44], bl
mov dword [esp + 0x58], 0xf
mov eax, edi
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
add esp, 0x10
ret 0x3c
Function at 0x13017a30
Capabilities:
Get common file path
Read .ini file

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x130fc226
push eax
mov eax, 0x8378
mov dword fs:[0], esp
call fcn.13020d10
push edi
xor edi, edi
cmp dword [ecx], edi
jne 0x13017c28
push 0x206
lea eax, [esp + 0xb2]
push edi
push eax
mov dword [ecx], 1
mov word [esp + 0xb8], di
call fcn.1301f940
add esp, 0xc
lea ecx, [esp + 0xac]
push ecx
push 0x208
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
push 0x130feb64
lea edx, [esp + 0xb0]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatW]
push 0x80c6
lea eax, [esp + 0x2ba]
push edi
push eax
mov word [esp + 0x2c0], di
call fcn.1301f940
add esp, 0xc
lea ecx, [esp + 0xac]
push ecx
push 0x4000
lea edx, [esp + 0x2bc]
push edx
push edi
push str.AutoItemList
push str.AutoItem
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
test eax, eax
je 0x13017c28
lea eax, [esp + 0x2b4]
push eax
lea ecx, [esp + 0xc]
call fcn.13004bf0
mov dword [esp + 0x8384], edi
push 1
push 3
lea ecx, [esp + 0x10]
push ecx
lea ecx, [esp + 0x30]
call fcn.1301ad10
mov byte [esp + 0x8384], 2
cmp dword [esp + 0x20], 8
jb 0x13017b36
mov edx, dword [esp + 0xc]
push edx
call fcn.1301ff6c
add esp, 4
lea eax, [esp + 4]
push eax
lea ecx, [esp + 0x28]
mov dword [esp + 0x24], 7
mov dword [esp + 0x20], edi
mov word [esp + 0x10], di
mov dword [esp + 8], edi
call fcn.13019d60
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
mov edx, dword [ecx + eax + 8]
add ecx, eax
and dl, 6
neg dl
sbb edx, edx
not edx
test ecx, edx
je 0x13017bd2
mov ecx, dword [esp + 4]
cmp ecx, edi
jle 0x13017b94
mov eax, dword [0x131506f8]
cmp eax, 0xc7
jge 0x13017bbc
mov dword [eax*4 + 0x131503d8], ecx
add eax, 1
mov dword [0x131506f8], eax
lea eax, [esp + 4]
push eax
lea ecx, [esp + 0x28]
call fcn.13019d60
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
mov edx, dword [ecx + eax + 8]
add ecx, eax
and dl, 6
neg dl
sbb edx, edx
not edx
test ecx, edx
jne 0x13017b71
jmp 0x13017bd2
push 0x40000
push str.Client.ini
push str.Too_many_items_in_AutoItemList_
push edi
call dword [sym.imp.USER32.dll_MessageBoxW]
cmp dword [0x131506f8], edi
jle 0x13017c14
push esi
push str.NWindow.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov esi, eax
cmp esi, edi
je 0x13017c13
push edi
lea eax, [esi + 0x149f09]
push 0x13017a00
push eax
call fcn.13001200
push edi
lea eax, [esi + 0x146ce0]
push 0x13017a00
push eax
call fcn.13001200
add esp, 0x18
pop esi
mov dword [esp + 0x8384], 0xffffffff
lea ecx, [esp + 0x24]
call fcn.13004640
mov ecx, dword [esp + 0x837c]
pop edi
mov dword fs:[0], ecx
add esp, 0x8384
ret
Function at 0x1301aea0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
sub esp, 0x28
jmp 0x1301aeb5
mov al, 0x65
mov cl, 0x6c
push 5
mov dl, 0x72
mov byte [esp + 0x1d], al
mov byte [esp + 0x20], al
mov byte [esp + 0x14], al
mov byte [esp + 0x18], al
mov byte [esp + 5], al
mov byte [esp + 0xb], al
push 0x1301ae30
lea eax, [esp + 0x14]
mov byte [esp + 0x25], cl
mov byte [esp + 0x2a], cl
mov byte [esp + 0x2b], cl
mov byte [esp + 0x1b], cl
mov byte [esp + 0xe], cl
mov byte [esp + 0x22], dl
mov byte [esp + 0x15], dl
mov dl, 0x69
push eax
lea ecx, [esp + 0x24]
push ecx
mov byte [esp + 0x28], 0x4b
mov byte [esp + 0x2b], 0x6e
mov byte [esp + 0x2e], 0x33
mov byte [esp + 0x2f], 0x32
mov byte [esp + 0x30], 0x2e
mov byte [esp + 0x31], 0x64
mov byte [esp + 0x34], 0
mov byte [esp + 0x1c], 0x57
mov byte [esp + 0x1e], dl
mov byte [esp + 0x1f], 0x74
mov byte [esp + 0x21], 0x46
mov byte [esp + 0x22], dl
mov byte [esp + 0x25], 0
mov byte [esp + 0x10], 0x52
mov byte [esp + 0x12], 0x61
mov byte [esp + 0x13], 0x64
mov byte [esp + 0x14], 0x46
mov byte [esp + 0x15], dl
mov byte [esp + 0x18], 0
call fcn.130013e0
push 5
push 0x1301adc0
lea edx, [esp + 0x18]
mov dword [0x1315070c], eax
push edx
lea eax, [esp + 0x34]
push eax
call fcn.130013e0
add esp, 0x20
mov dword [0x13150708], eax
jmp 0x1301af98
add esp, 0x28
ret