joyce8/EMBER2024-capa huggingface dataset:
Function at 0x40da40
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Connect udp socket
Convert ip address from string
Create tcp socket
Create udp socket
Initialize winsock library

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
mov eax, 0x20f8
call fcn.0041d110
mov eax, dword [0x461014]
xor eax, esp
mov dword [esp + 0x20f4], eax
push esi
push edi
call fcn.004364d3
cmp dword [0x4620e4], 0x10
mov edi, eax
push 0xa
lea eax, [esp + 0x10]
mov esi, 0x4620d0
cmovae esi, dword [0x4620d0]
push eax
push esi
mov dword [edi], 0
call fcn.00437a09
add esp, 0xc
cmp esi, dword [esp + 0xc]
je 0x40dbd4
cmp dword [edi], 0x22
je 0x40dbca
movzx edi, ax
lea eax, [esp + 0x28]
push eax
push 2
call dword [sym.imp.WS2_32.dll_WSAStartup]
test eax, eax
jne 0x40dbb3
cmp dword [0x4623fc], 0x10
xorps xmm0, xmm0
mov eax, 2
movaps xmmword [esp + 0x10], xmm0
mov esi, 0x4623e8
mov word [esp + 0x10], ax
cmovae esi, dword [0x4623e8]
push edi
call dword [sym.imp.WS2_32.dll_htons]
mov word [esp + 0x12], ax
lea eax, [esp + 0x14]
push eax
push esi
push 2
call dword [sym.imp.WS2_32.dll_inet_pton]
push 0
push 1
push 2
call dword [sym.imp.WS2_32.dll_socket]
push 0x10
lea ecx, [esp + 0x14]
mov dword [0x465490], eax
push ecx
push eax
call dword [sym.imp.WS2_32.dll_connect]
mov esi, dword [sym.imp.WS2_32.dll_closesocket]
cmp eax, 0xffffffff
jne 0x40db63
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
nop word [eax + eax]
push 0xbb8
call edi
push dword [0x465490]
call esi
push 0
push 1
push 2
call dword [sym.imp.WS2_32.dll_socket]
push 0x10
lea ecx, [esp + 0x14]
mov dword [0x465490], eax
push ecx
push eax
call dword [sym.imp.WS2_32.dll_connect]
cmp eax, 0xffffffff
je 0x40db30
lea ecx, [esp + 0x1b8]
call fcn.0040d7a0
cmp eax, 0xffffffff
je 0x40dbb3
cmp byte [0x46538c], 1
je 0x40dba4
lea ecx, [esp + 0x1b8]
call fcn.0040d7a0
cmp eax, 0xffffffff
jne 0x40db74
or eax, eax
pop edi
pop esi
mov ecx, dword [esp + 0x20f4]
xor ecx, esp
call fcn.0041bfb1
mov esp, ebp
pop ebp
ret
push dword [0x465490]
call esi
mov byte [0x46538c], 0
mov ecx, dword [esp + 0x20fc]
or eax, 0xffffffff
pop edi
pop esi
xor ecx, esp
call fcn.0041bfb1
mov esp, ebp
pop ebp
ret
push str.stoi_argument_out_of_range
call fcn.0041b199
push str.invalid_stoi_argument
call fcn.0041b159
int3
Function at 0x415c10
Capabilities:
Create thread

Disassembly:
push esi
push 0
push 0
push 0
push 0x415b50
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov esi, dword [sym.imp.KERNEL32.dll_Sleep]
nop dword [eax]
push 0x7530
call esi
jmp 0x415c00
push ebp
mov ebp, esp
and esp, 0xfffffff8
call fcn.0040a430
mov ecx, 1
call fcn.0040c500
call fcn.0040ce40
call fcn.00414040
jmp 0x415be0

Function at 0x41eb4d
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_CreateThread]
pop ebp
ret

Function at 0x4018ed
Capabilities:
Encode data using base64 via winapi
Get common file path
Initialize winsock library

Disassembly:
push ebx
push ecx
push edx
enter 0x4d4, 0
lea eax, [ebp - 0x2cc]
push eax
push 2
call dword [sym.imp.WS2_32.DLL_WSAStartup]
push 0x104
lea eax, [ebp - 0x4d4]
push eax
call dword [sym.imp.KERNEL32.DLL_GetSystemDirectoryW]
xor eax, eax
push eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], eax
call dword [sym.imp.KERNEL32.DLL_GetModuleHandleA]
push 0x7f00
mov dword [ebp - 0x28], eax
xor eax, eax
mov dword [ebp - 0x1c], 6
push eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], eax
call dword [sym.imp.USER32.DLL_LoadIconA]
push 0x7f00
push 0
mov dword [ebp - 0x24], eax
call dword [sym.imp.USER32.DLL_LoadCursorA]
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x38]
push eax
call dword [sym.imp.USER32.DLL_RegisterClassA]
push 0
push 0
call dword [sym.imp.KERNEL32.DLL_GetModuleHandleA]
push eax
call dword [sym.imp.USER32.DLL_LoadAcceleratorsA]
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x10]
push eax
push 1
push 1
lea eax, [ebp - 0x13c]
push eax
mov dword [ebp - 4], 0xa
mov byte [ebp - 0x13c], 0
call dword [sym.imp.CRYPT32.DLL_CryptBinaryToStringA]
movzx eax, byte [ebp - 0x10]
lea ebx, [eax - 0x47]
call dword [sym.imp.WS2_32.DLL_WSACleanup]
mov eax, dword [ebp - 4]
add eax, ebx
leave
pop edx
pop ecx
pop ebx
ret

Function at 0x401c44
Capabilities:
Allocate or change rwx memory

Disassembly:
push ebx
push ecx
push edx
push esi
push edi
enter 4, 0
mov esi, eax
mov edx, dword [0x403050]
or dl, 1
imul edx, eax
mov edi, dword [0x403050]
mov ebx, eax
sub edi, edx
mov eax, 0x403054
mov edx, edi
call fcn.00401b81
lea edx, [ebp - 4]
push edx
mov edx, esi
or dl, 0x40
mov edi, 0x402d2c
push edx
sub edi, fcn.004024f7
push edi
xor eax, eax
push fcn.004024f7
mov dword [ebp - 4], eax
call dword [sym.imp.KERNEL32.DLL_VirtualProtect]
cmp dword [ebp - 4], 0
je 0x401cbc
mov eax, fcn.004024f7
mov ebx, esi
mov edx, edi
call fcn.00401b81
mov edx, 0x1be00
mov eax, 0x403054
mov ebx, esi
call fcn.00401343
leave
pop edi
pop esi
pop edx
pop ecx
pop ebx
ret
Function at 0x40644e
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x48
pushal
call 0x40645d
pop dword [ebp - 0x38]
mov eax, 0x40645d
sub dword [ebp - 0x38], eax
mov dword [ebp - 0x48], 0x9bc9c747
add dword [ebp - 0x48], 0xb2887e04
mov dword [ebp - 0x44], 0x12686401
sub dword [ebp - 0x44], 0xe03517bc
mov dword [ebp - 0x40], 0xfc81eac0
sub dword [ebp - 0x40], 0xb035a692
mov dword [ebp - 0x3c], 0x56107cdd
add dword [ebp - 0x3c], 0xa9ef8323
lea eax, [ebp - 0x48]
push eax
mov eax, 0xd772f429
add eax, 0x28cd8c4f
add eax, dword [ebp - 0x38]
call dword [eax]
mov dword [ebp - 0x48], 0xcb46d6fe
sub dword [ebp - 0x48], 0x56d46da8
mov dword [ebp - 0x44], 0x971e023
add dword [ebp - 0x44], 0x37fa8152
mov dword [ebp - 0x40], 0xcd58fad
add dword [ebp - 0x40], 0x5699dcbf
mov dword [ebp - 0x3c], 0xef79f45f
sub dword [ebp - 0x3c], 0xef79f45f
lea ebx, [ebp - 0x48]
push ebx
push eax
mov eax, 0xcd9bd837
sub eax, 0xcd5b57bb
add eax, dword [ebp - 0x38]
call dword [eax]
push 0x40
push 0x1000
push 0x3c063
push 0
call eax
mov ecx, 0x5be3
xor edi, edi
add edi, eax
mov edx, 0x459200
add edx, dword [ebp - 0x38]
mov esi, 0x3aff0ec8
add dword [ebp - 0x1c], 0xf650e1a0
mov ebx, dword [edx]
mov dword [ebp - 0x30], 0xf7ecf7e2
xor ebx, esi
mov dword [ebp - 8], 0x95fa6378
mov dword [edi], ebx
xor dword [ebp - 0x2c], 0xa22baf00
add edi, 0x107540a7
sub edi, 0x107540a3
add edx, 4
loop 0x40656a
add eax, 0x8b4c95ac
sub eax, 0x8b4b334d
xor ebx, ebx
add ebx, eax
add eax, 0x2e33b62d
add eax, 0xd1cc49d8
mov ecx, 0x400000
add ecx, dword [ebp - 0x38]
call ebx
leave
ret

Function at 0x4068f3
Capabilities:
Encode data using xor
Hash data with crc32

Disassembly:
cmp dword [0x43190c], 0
push esi
jne 0x40692a
xor ecx, ecx
push 8
mov eax, ecx
pop esi
mov edx, eax
and dl, 1
neg dl
sbb edx, edx
and edx, 0xedb88320
shr eax, 1
xor eax, edx
dec esi
jne 0x406904
mov dword [ecx*4 + 0x431908], eax
inc ecx
cmp ecx, 0x100
jl 0x4068ff
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 8]
test edx, edx
not eax
jbe 0x40695b
mov ecx, dword [esp + 0xc]
push edi
movzx edi, byte [ecx]
mov esi, eax
and esi, 0xff
xor esi, edi
shr eax, 8
mov esi, dword [esi*4 + 0x431908]
xor eax, esi
inc ecx
dec edx
jne 0x40693d
pop edi
not eax
pop esi
ret 0xc
Function at 0x10004c30
Capabilities:
Encode data using xor

Disassembly:
push ebx
push esi
push edi
push ebp
xor ecx, ecx
xor edx, edx
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov cl, byte [esi + 0x100]
mov dl, byte [esi + 0x101]
test ebp, ebp
je 0x10004c7f
inc ecx
mov ebx, 0xff
and ecx, ebx
xor eax, eax
mov al, byte [esi + ecx]
add edx, eax
and edx, ebx
xor ebx, ebx
mov bl, byte [esi + edx]
mov byte [esi + ecx], bl
mov byte [esi + edx], al
add al, bl
mov bl, byte [edi]
mov al, byte [esi + eax]
xor bl, al
mov byte [edi], bl
inc edi
dec ebp
jne 0x10004c54
pop ebp
pop edi
lea eax, [esi + 0x100]
pop esi
mov byte [eax], cl
pop ebx
mov byte [eax + 1], dl
ret 0xc

Function at 0x10004c91
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
push ebx
mov eax, 0x3020100
push esi
mov ecx, 0x40
mov esi, dword [esp + 0xc]
push edi
mov edx, esi
push ebp
mov dword [edx], eax
add edx, 4
add eax, 0x4040404
dec ecx
jne 0x10004ca5
xor ecx, ecx
xor edi, edi
mov ebp, dword [esp + 0x1c]
mov byte [esi + 0x100], cl
mov byte [esi + 0x101], cl
xor ebx, ebx
xor edx, edx
xor eax, eax
mov dl, byte [edi + esi]
mov al, byte [ebp + ecx]
add bl, al
inc ecx
add bl, dl
inc edi
mov al, byte [ebx + esi]
mov byte [edi + esi - 1], al
cmp dword [esp + 0x18], ecx
mov byte [ebx + esi], dl
jne 0x10004ceb
xor ecx, ecx
cmp edi, 0x100
jb 0x10004cc8
pop ebp
pop edi
pop esi
pop ebx
ret 0xc

Function at 0x100055a0
Capabilities:
Encode data using xor

Disassembly:
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 8]
cmp eax, 1
je 0x100055ec
jle 0x100055e7
cmp eax, 3
jg 0x100055e7
push esi
mov esi, dword [ecx]
test esi, esi
je 0x100055de
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x10]
push ebx
sub ecx, eax
push edi
sub edx, eax
mov edi, dword [ecx + eax]
mov ebx, dword [eax]
xor edi, ebx
mov dword [edx + eax], edi
add eax, 4
dec esi
jne 0x100055cc
pop edi
pop ebx
mov eax, 1
pop esi
ret 0x10
xor eax, eax
ret 0x10
mov eax, dword [ecx + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 8]
push eax
mov eax, dword [esp + 8]
push ecx
push edx
push eax
call fcn.10004810
mov eax, 1
ret 0x10

Function at 0x10005b60
Capabilities:
Encode data using xor

Disassembly:
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 8]
cmp eax, 1
je 0x10005bac
jle 0x10005ba7
cmp eax, 3
jg 0x10005ba7
push esi
mov esi, dword [ecx]
test esi, esi
je 0x10005b9e
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x10]
push ebx
sub ecx, eax
push edi
sub edx, eax
mov edi, dword [ecx + eax]
mov ebx, dword [eax]
xor edi, ebx
mov dword [edx + eax], edi
add eax, 4
dec esi
jne 0x10005b8c
pop edi
pop ebx
mov eax, 1
pop esi
ret 0x10
xor eax, eax
ret 0x10
mov eax, dword [ecx + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 8]
push eax
mov eax, dword [esp + 8]
push ecx
push edx
push eax
call fcn.10006a50
mov eax, 1
ret 0x10
Function at 0x4068db
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x23c
push esi
mov esi, 0x104
lea eax, [ebp - 0x23c]
push esi
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
cmp eax, esi
pop esi
jbe 0x4068ff
xor eax, eax
test eax, eax
je 0x406912
cmp word [ebp + eax*2 - 0x23e], 0x5c
je 0x406912
xor ecx, ecx
jmp 0x406915
xor ecx, ecx
inc ecx
push dword [ebp + 8]
lea ecx, [ecx*2 + 0x40a014]
lea eax, [ebp + eax*2 - 0x23c]
push ecx
push str._s_S.dll
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x10
lea eax, [ebp - 0x23c]
push 8
push 0
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryExW]
leave
ret 4

Function at 0x406a38
Capabilities:
Encode data using xor
Hash data with crc32

Disassembly:
cmp dword [0x43110c], 0
push esi
jne 0x406a6f
xor ecx, ecx
push 8
mov eax, ecx
pop esi
mov edx, eax
and dl, 1
neg dl
sbb edx, edx
and edx, 0xedb88320
shr eax, 1
xor eax, edx
dec esi
jne 0x406a49
mov dword [ecx*4 + 0x431108], eax
inc ecx
cmp ecx, 0x100
jl 0x406a44
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 8]
test edx, edx
not eax
jbe 0x406aa0
mov ecx, dword [esp + 0xc]
push edi
movzx edi, byte [ecx]
mov esi, eax
and esi, 0xff
xor esi, edi
shr eax, 8
mov esi, dword [esi*4 + 0x431108]
xor eax, esi
inc ecx
dec edx
jne 0x406a82
pop edi
not eax
pop esi
ret 0xc

Function at 0xeea6f4
Capabilities:
Encode data using xor

Disassembly:
jmp 0xeea6fe
pushal
call 0xeea704
pop ebp
sub ebp, 0x10
sub ebp, 0xaea6f4
jmp 0xeea71a
mov eax, 0xaea6f4
add eax, ebp
add eax, 0x4c
mov ecx, 0x5bc
mov edx, 0xd3dc1c46
xor byte [eax], dl
inc eax
dec ecx
jne 0xeea731
jmp 0xeea744
int 0x8b
int 0xcf
jp 0xeea790
inc esi
inc esi
mov dword [edi + 0x464646be], 0x40fe8b45
inc esi
inc esi
inc esi
cld
outsb dx, byte [esi]
inc esi
inc esi
inc esi
mov cl, 0xa4
inc ebp
mov cs, ebp
invalid
jb 0xeea7d8
inc esi
inc esi
retf
inc esi
inc edi
push 0x62
retf
Function at 0x401210
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
mov edx, dword [ebp + 0x10]
sub esp, 0x18
mov eax, edx
push ebx
mov ebx, dword [ebp + 0xc]
shr eax, 4
push esi
mov ecx, ebx
test eax, eax
je 0x401282
add ebx, 8
mov dword [ebp - 4], eax
nop
mov eax, dword [ecx]
xor dword [edi], eax
mov edx, dword [ebx - 4]
xor dword [edi + 4], edx
mov edx, dword [ebx]
xor dword [edi + 8], edx
mov edx, dword [ebx + 4]
xor dword [edi + 0xc], edx
add ecx, 0x10
mov dword [ebp - 8], ecx
mov ecx, dword [ebp + 8]
push edi
lea esi, [ebp - 0x18]
add ebx, 0x10
call fcn.00401180
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x10]
mov dword [edi], eax
mov eax, dword [ebp - 0xc]
mov dword [edi + 4], ecx
mov ecx, dword [ebp - 8]
add esp, 4
dec dword [ebp - 4]
mov dword [edi + 8], edx
mov dword [edi + 0xc], eax
jne 0x401230
mov edx, dword [ebp + 0x10]
mov ebx, dword [ebp + 0xc]
lea eax, [ebx + edx]
cmp eax, ecx
jbe 0x4012f5
sub ebx, ecx
add ebx, edx
test ebx, ebx
jle 0x40129f
push ebx
push ecx
lea ecx, [ebp - 0x18]
push ecx
call fcn.00419cf0
add esp, 0xc
mov eax, 0x10
sub eax, ebx
lea ecx, [ebp + ebx - 0x18]
je 0x4012b8
push eax
push 0
push ecx
call fcn.00419d20
add esp, 0xc
mov edx, dword [ebp - 0x18]
xor dword [edi], edx
mov ecx, dword [ebp - 0x14]
xor dword [edi + 4], ecx
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0xc]
xor dword [edi + 8], edx
xor dword [edi + 0xc], ecx
mov ecx, dword [ebp + 8]
push edi
lea esi, [ebp - 0x18]
call fcn.00401180
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x10]
mov dword [edi], edx
mov edx, dword [ebp - 0xc]
mov dword [edi + 4], eax
mov dword [edi + 8], ecx
add esp, 4
mov dword [edi + 0xc], edx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x4036b0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x30
xor al, al
push esi
mov esi, dword [ebp + 0xc]
mov byte [ebp - 0x14], al
mov byte [ebp - 4], al
mov byte [ebp - 0xc], al
push 2
lea eax, [ebp - 8]
push eax
push esi
mov dword [ebp - 0x18], 0x38
mov dword [ebp - 8], 0x3031
mov dword [ebp - 0x28], 0x32313032
mov word [ebp - 0x24], 0
mov dword [ebp - 0x30], 0x36313032
mov word [ebp - 0x2c], 0
mov dword [ebp - 0x10], 0x37
mov dword [ebp - 0x20], 0x38303032
mov word [ebp - 0x1c], 0
call fcn.0041a3e0
add esp, 0xc
test eax, eax
je 0x40371e
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x64], 1
push 1
lea edx, [ebp - 0x10]
push edx
push esi
call fcn.0041a3e0
add esp, 0xc
test eax, eax
jne 0x40379f
push 4
lea eax, [ebp - 0x20]
push eax
push esi
call fcn.0041a3e0
add esp, 0xc
test eax, eax
jne 0x40379f
push 1
lea ecx, [ebp - 0x18]
push ecx
push esi
call fcn.0041a3e0
add esp, 0xc
test eax, eax
jne 0x403795
push 2
lea edx, [ebp - 8]
push edx
push esi
call fcn.0041a3e0
add esp, 0xc
test eax, eax
jne 0x403795
push 4
lea eax, [ebp - 0x28]
push eax
push esi
call fcn.0041a3e0
add esp, 0xc
test eax, eax
jne 0x403795
push 4
lea ecx, [ebp - 0x30]
push ecx
push esi
call fcn.0041a3e0
add esp, 0xc
test eax, eax
jne 0x403795
pop esi
mov esp, ebp
pop ebp
ret
mov eax, 8
pop esi
mov esp, ebp
pop ebp
ret
mov eax, 7
pop esi
mov esp, ebp
pop ebp
ret
Function at 0x4046e0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x280
push esi
xor eax, eax
push 0x1fe
push eax
lea ecx, [ebp - 0x27e]
push ecx
mov word [ebp - 0x280], ax
call fcn.00419d20
push 0x40
lea ecx, [ebp - 0x7c]
push 0
push ecx
mov dword [ebp - 0x2c], 0x65005c
mov dword [ebp - 0x28], 0x700078
mov dword [ebp - 0x24], 0x6f006c
mov dword [ebp - 0x20], 0x650072
mov dword [ebp - 0x1c], 0x2e0072
mov dword [ebp - 0x18], 0x780065
mov dword [ebp - 0x14], 0x65
call fcn.00419d20
mov esi, dword [ebp + 8]
xor eax, eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], eax
lea eax, [ebp - 0x280]
push eax
lea ecx, [ebp - 0x10]
push ecx
xor edx, edx
push esi
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x80], 0x44
mov dword [ebp - 0x10], 0x690077
mov dword [ebp - 0xc], 0x64006e
mov dword [ebp - 8], 0x720069
mov word [ebp - 4], dx
call fcn.00409d40
push 0
lea edx, [ebp - 0x2c]
push edx
lea eax, [ebp - 0x280]
push eax
call fcn.0041a100
mov ecx, dword [esi + 0xba0]
push 0xad0121ab
push 0
push 0
push ecx
add esi, 0x1c
push esi
call fcn.00413e30
add esp, 0x44
pop esi
test eax, eax
je 0x4047e5
push 0
lea edx, [ebp - 0x3c]
push edx
lea ecx, [ebp - 0x80]
push ecx
push 0
push 0
push 0
push 0
push 0
push 0
push 0
lea edx, [ebp - 0x280]
push edx
push 0
call eax
mov esp, ebp
pop ebp
ret
xor eax, eax
mov esp, ebp
pop ebp
ret
Function at 0x405e80
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2a0
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 8]
push ebx
xor ebx, ebx
push esi
push 0x1fe
lea eax, [ebp - 0x29e]
xor edx, edx
push ebx
push eax
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x5c], 0x18
mov dword [ebp - 0x58], ebx
mov dword [ebp - 0x50], ebx
mov dword [ebp - 0x54], ebx
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x48], ebx
mov word [ebp - 0x2a0], dx
call fcn.00419d20
mov esi, dword [ebp + 8]
lea ecx, [ebp - 0x34]
push ecx
lea edx, [ebp - 0x5c]
push edx
push 0x401
lea eax, [ebp + 0xc]
push eax
push esi
call fcn.00417b70
add esp, 0x20
test eax, eax
js 0x405fe7
mov eax, dword [esi + 0xba0]
push edi
push 0xcc145ef7
push ebx
push ebx
push eax
lea edi, [esi + 0x1c]
push edi
mov dword [ebp - 0x2c], 0x65005c
mov dword [ebp - 0x28], 0x700078
mov dword [ebp - 0x24], 0x6f006c
mov dword [ebp - 0x20], 0x650072
mov dword [ebp - 0x1c], 0x2e0072
mov dword [ebp - 0x18], 0x780065
mov dword [ebp - 0x14], 0x65
call fcn.00413e30
add esp, 0x14
cmp eax, ebx
je 0x405f46
mov ecx, dword [ebp + 0xc]
push ebx
push ecx
call eax
push 0x40
lea edx, [ebp - 0x9c]
push ebx
push edx
call fcn.00419d20
lea ecx, [ebp - 0x2a0]
push ecx
xor eax, eax
lea edx, [ebp - 0x10]
push edx
push esi
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0xa0], 0x44
mov dword [ebp - 0x10], 0x690077
mov dword [ebp - 0xc], 0x64006e
mov dword [ebp - 8], 0x720069
mov word [ebp - 4], ax
call fcn.00409d40
push ebx
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x2a0]
push ecx
call fcn.0041a100
mov edx, dword [esi + 0xba0]
push 0xad0121ab
push ebx
push ebx
push edx
push edi
call fcn.00413e30
add esp, 0x38
pop edi
cmp eax, ebx
je 0x405fe7
push ebx
lea ecx, [ebp - 0x44]
push ecx
lea edx, [ebp - 0xa0]
push edx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
lea ecx, [ebp - 0x2a0]
push ecx
push ebx
call eax
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x406ac0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [ebp + 0xc]
sub esp, 0x3c
push eax
call fcn.00419f90
add esp, 4
cmp eax, 0x1000
ja 0x406c35
push esi
mov esi, dword [ebp + 8]
mov ecx, dword [esi + 0x7d8]
test ecx, ecx
je 0x406c34
push ebx
push edi
lea edi, [eax + eax]
lea ebx, [ecx + 0x1ff560]
mov ecx, dword [ebp + 0xc]
push edi
push ebx
push ecx
call fcn.00419fb0
add esp, 0xc
test eax, eax
jne 0x406c32
mov edx, dword [ebp + 0xc]
push edi
push edx
push ebx
call fcn.00419ca0
add esp, 0xc
xor ecx, ecx
xor eax, eax
push 0x104
mov word [ebp - 4], cx
mov ecx, dword [esi + 0xcc0]
lea ebx, [esi + 0x4460]
push ebx
mov dword [ebp - 0xc], 0xa000d
mov dword [ebp - 8], 0xa000d
mov dword [ebp - 0x3c], 0x6c0043
mov dword [ebp - 0x38], 0x700069
mov dword [ebp - 0x34], 0x6f0062
mov dword [ebp - 0x30], 0x720061
mov dword [ebp - 0x2c], 0x64
mov word [ebp - 0x28], ax
mov dword [ebp - 0x26], eax
mov dword [ebp - 0x22], eax
mov word [ebp - 0x1e], ax
call ecx
mov edx, dword [esi + 0xcbc]
push eax
call edx
cmp eax, 0x40
jbe 0x406b92
xor eax, eax
mov word [esi + 0x44e0], ax
jmp 0x406bc1
test eax, eax
jne 0x406bc1
push 0x10
lea eax, [ebp - 0x1c]
push eax
push ebx
mov dword [ebp - 0x1c], 0x6e0055
mov dword [ebp - 0x18], 0x6e006b
mov dword [ebp - 0x14], 0x77006f
mov dword [ebp - 0x10], 0x6e
call fcn.00419ca0
add esp, 0xc
push 0x14
lea ecx, [ebp - 0x3c]
push ecx
lea edi, [esi + 0x4ce0]
push edi
call fcn.00419ca0
push 0
lea edx, [ebp - 0xc]
push edx
push edi
call fcn.0041a100
push 0
push ebx
push edi
call fcn.0041a100
push 0
lea eax, [ebp - 0xc]
push eax
push edi
call fcn.0041a100
mov ecx, dword [ebp + 0xc]
push 0
push ecx
push edi
call fcn.0041a100
push edi
call fcn.00419f90
add esp, 0x40
add eax, eax
push edi
mov dword [esi + 0xa08], eax
call fcn.00419f90
mov edx, dword [esi + 0xa04]
add eax, eax
push eax
push edi
push edx
call fcn.00419ca0
push 0x13
push esi
call fcn.0040cdf0
add esp, 0x18
pop edi
pop ebx
pop esi
mov esp, ebp
pop ebp
ret

Function at 0x4085e0
Capabilities:
Execute anti-debugging instructions

Disassembly:
push ebp
mov ebp, esp
push ecx
rdtsc
xor ecx, ecx
add ecx, eax
rdtsc
sub eax, ecx
mov dword [ebp - 4], eax
mov eax, 0x50
mov esp, ebp
pop ebp
ret
Function at 0x4088b0
Capabilities:
Execute anti-debugging instructions

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x344
push ebx
push esi
mov esi, dword [ebp + 8]
lea eax, [ebp - 0x14]
push eax
push esi
xor bl, bl
call fcn.00406e00
add esp, 8
test eax, eax
jne 0x4088d7
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea ecx, [ebp - 0x344]
push ecx
lea edx, [ebp - 0x14]
push edx
call fcn.00407010
add esp, 8
push edi
jmp 0x4088f0
lea eax, [ebp - 0x118]
push 0x104
push eax
call fcn.00419cd0
lea ecx, [ebp - 0x320]
push ecx
lea edx, [ebp - 0x118]
push edx
call fcn.0041a340
add esp, 0x10
mov edi, 0x4f
lea esp, [esp]
lea eax, [ebp - 0x118]
push eax
push edi
push esi
call fcn.00413d70
add esp, 8
push eax
call fcn.00413dd0
add esp, 8
test eax, eax
jne 0x408946
inc edi
cmp edi, 0x62
jbe 0x408920
jmp 0x408951
mov ecx, dword [esi + 0x14]
xor dword [esi + 0x474], ecx
mov bl, 1
lea edx, [ebp - 0x344]
push edx
lea eax, [ebp - 0x14]
push eax
call fcn.00407040
add esp, 8
test eax, eax
je 0x40896c
test bl, bl
je 0x4088f0
lea ecx, [ebp - 0x14]
push ecx
push esi
call fcn.004070c0
add esp, 8
pop edi
test bl, bl
jne 0x408992
rdtsc
xor ecx, ecx
add ecx, eax
rdtsc
sub eax, ecx
mov dword [ebp - 4], eax
add dword [esi + 0x55c], 0xffffffba
add byte [esi + 0x31], bl
mov al, byte [esi + 0x31]
inc al
add byte [esi + 0x32], al
pop esi
mov eax, 1
pop ebx
mov esp, ebp
pop ebp
ret

Function at 0x408b70
Capabilities:
Hash data using crc32b

Disassembly:
push ebp
mov ebp, esp
mov edx, dword [ebp + 8]
push esi
push edi
xor ecx, ecx
mov edi, 0x100
nop
mov eax, ecx
shl eax, 0x18
mov esi, 8
lea ebx, [ebx]
test eax, eax
jns 0x408b9d
add eax, eax
xor eax, 0x4c11db7
jmp 0x408b9f
add eax, eax
dec esi
jne 0x408b90
mov dword [edx], eax
inc ecx
add edx, 4
dec edi
jne 0x408b80
pop edi
pop esi
pop ebp
ret

Function at 0x408bb0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x400
push esi
push 0x3fc
lea eax, [ebp - 0x3fc]
push 0
push eax
mov dword [ebp - 0x400], 0
call fcn.00419d20
lea ecx, [ebp - 0x400]
push ecx
call fcn.00408b70
mov esi, dword [ebp + 0xc]
add esp, 0x10
or eax, 0xffffffff
test esi, esi
je 0x408c13
mov edx, dword [ebp + 8]
push edi
movzx edi, byte [edx]
mov ecx, eax
shr ecx, 0x18
xor ecx, edi
and ecx, 0xff
shl eax, 8
xor eax, dword [ebp + ecx*4 - 0x400]
inc edx
dec esi
jne 0x408bf4
pop edi
not eax
pop esi
mov esp, ebp
pop ebp
ret

Function at 0x408c20
Capabilities:
Hash data using sha1

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [ebp + 8]
xor ecx, ecx
mov dword [eax + 0x14], ecx
mov dword [eax + 0x18], ecx
mov dword [eax + 0x5c], ecx
mov dword [eax], 0x67452301
mov dword [eax + 4], 0xefcdab89
mov dword [eax + 8], 0x98badcfe
mov dword [eax + 0xc], 0x10325476
mov dword [eax + 0x10], 0xc3d2e1f0
mov dword [eax + 0x60], ecx
mov dword [eax + 0x64], ecx
pop ebp
ret