joyce8/EMBER2024-capa huggingface dataset:
Function at 0x4047f0
Capabilities:
Write file on windows

Disassembly:
cmp dword [0xb5f050], 0
je 0x40485d
push esi
push eax
mov eax, dword [0xb5acec]
push 0x400
call dword [eax]
add esp, 4
test eax, eax
je 0x404859
mov esi, eax
mov eax, dword [esp + 0xc]
lea ecx, [esp + 0x10]
mov dword [esp], ecx
push ecx
push eax
push 0x400
push esi
call fcn.00407eb0
add esp, 0x10
test eax, eax
jle 0x40484e
cmp eax, 0x3ff
mov ecx, 0x3ff
cmovb ecx, eax
push dword [0xb5f050]
push ecx
push 1
push esi
call sub.api_ms_win_crt_stdio_l1_1_0.dll_fwrite
add esp, 0x10
mov eax, dword [0xb5aca8]
push esi
call dword [eax]
add esp, 4
add esp, 4
pop esi
ret

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

Disassembly:
push ebp
push ebx
push edi
push esi
mov esi, dword [esp + 0x28]
mov edi, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
test esi, esi
je 0x404c36
test byte [0xb5f055], 1
je 0x404c36
mov ebp, dword [0xb5f058]
test ebp, ebp
je 0x404c5b
dec ebp
mov dword [0xb5f058], ebp
push edx
push ebx
push ecx
push eax
call dword [sym.imp.WS2_32.dll_send]
jmp 0x404c44
push edx
push ebx
push ecx
push eax
call dword [sym.imp.WS2_32.dll_send]
test esi, esi
je 0x404cae
push eax
push ebx
push edi
push esi
push str.SEND__s:_d_send__lu____ld_n
mov esi, eax
call fcn.004047f0
mov eax, esi
add esp, 0x14
jmp 0x404cae
push str.send
push edi
push esi
push str.LIMIT__s:_d__s_reached_memlimit_n
call fcn.004047f0
add esp, 0x10
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push str.send
push edi
push esi
push str.LIMIT__s:_d__s_reached_memlimit_n
push eax
call fcn.0040a070
add esp, 0x14
push dword [0xb5f050]
call sub.api_ms_win_crt_stdio_l1_1_0.dll_fflush
add esp, 4
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov dword [eax], 0xc
mov eax, 0xffffffff
pop esi
pop edi
pop ebx
pop ebp
ret
Function at 0x404cc0
Capabilities:
Receive data
Receive data on socket

Disassembly:
push ebp
push ebx
push edi
push esi
mov esi, dword [esp + 0x28]
mov edi, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
test esi, esi
je 0x404d06
test byte [0xb5f055], 1
je 0x404d06
mov ebp, dword [0xb5f058]
test ebp, ebp
je 0x404d2b
dec ebp
mov dword [0xb5f058], ebp
push edx
push ebx
push ecx
push eax
call dword [sym.imp.WS2_32.dll_recv]
jmp 0x404d14
push edx
push ebx
push ecx
push eax
call dword [sym.imp.WS2_32.dll_recv]
test esi, esi
je 0x404d7e
push eax
push ebx
push edi
push esi
push str.RECV__s:_d_recv__lu____ld_n
mov esi, eax
call fcn.004047f0
mov eax, esi
add esp, 0x14
jmp 0x404d7e
push str.recv
push edi
push esi
push str.LIMIT__s:_d__s_reached_memlimit_n
call fcn.004047f0
add esp, 0x10
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push str.recv
push edi
push esi
push str.LIMIT__s:_d__s_reached_memlimit_n
push eax
call fcn.0040a070
add esp, 0x14
push dword [0xb5f050]
call sub.api_ms_win_crt_stdio_l1_1_0.dll_fflush
add esp, 4
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov dword [eax], 0xc
mov eax, 0xffffffff
pop esi
pop edi
pop ebx
pop ebp
ret

Function at 0x413880
Capabilities:
Move file

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x28
mov esi, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
lea eax, [esp + 0x10]
push eax
call fcn.0041ae10
add esp, 4
push edi
call sub.api_ms_win_crt_string_l1_1_0.dll__strdup
add esp, 4
mov edi, eax
push esi
call sub.api_ms_win_crt_string_l1_1_0.dll__strdup
add esp, 4
mov esi, eax
push 1
push eax
push edi
call dword [sym.imp.KERNEL32.dll_MoveFileExA]
test eax, eax
jne 0x413912
mov ebx, dword [sym.imp.KERNEL32.dll_MoveFileExA]
nop dword [eax]
mov eax, esp
push eax
call fcn.0041ae10
sub esp, 0x1c
movups xmm0, xmmword [esp + 0x30]
movups xmmword [esp + 0x10], xmm0
movups xmm0, xmmword [esp + 0x20]
movups xmmword [esp], xmm0
call fcn.0041aef0
add esp, 0x20
cmp eax, 0x3e9
sbb edx, 0
jae 0x413938
push 1
call dword [sym.imp.KERNEL32.dll_Sleep]
push 1
push esi
push edi
call ebx
test eax, eax
je 0x4138d0
test edi, edi
je 0x41391f
push edi
call fcn.00786dc0
add esp, 4
xor edi, edi
test esi, esi
je 0x41392e
push esi
call fcn.00786dc0
add esp, 4
mov eax, edi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
test edi, edi
je 0x413945
push edi
call fcn.00786dc0
add esp, 4
mov edi, 1
test esi, esi
jne 0x413925
jmp 0x41392e
Function at 0x41a220
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push edi
push esi
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
test ecx, ecx
sete dl
test eax, eax
sete dh
or dh, dl
jne 0x41a265
mov dh, byte [ecx]
test dh, dh
je 0x41a270
inc ecx
nop
movzx esi, byte [eax]
test esi, esi
setne dl
je 0x41a272
movzx edi, dh
mov dh, byte [edi + 0xa1a438]
cmp dh, byte [esi + 0xa1a438]
jne 0x41a280
inc eax
mov dh, byte [ecx]
inc ecx
test dh, dh
jne 0x41a240
jmp 0x41a272
or ecx, eax
sete al
movzx eax, al
pop esi
pop edi
ret
mov dl, 1
cmp byte [eax], 0
setne al
xor al, dl
movzx eax, al
pop esi
pop edi
ret
xor eax, eax
movzx eax, al
pop esi
pop edi
ret

Function at 0x41ab30
Capabilities:
Initialize winsock library

Disassembly:
sub esp, 0x190
test byte [esp + 0x194], 2
jne 0x41aba2
push str.iphlpapi.dll
call fcn.0041abe0
add esp, 4
mov dword [0xb5f064], eax
test eax, eax
je 0x41ab6b
push str.if_nametoindex
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x41ab6b
mov dword [0xb5f060], eax
sub esp, 0x14
movaps xmm0, xmmword [0xa1bf60]
movups xmmword [esp], xmm0
mov dword [esp + 0x10], 3
call fcn.00424b70
add esp, 0x14
mov byte [0xb5f068], al
push 0xb5f070
call dword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
xor eax, eax
add esp, 0x190
ret
mov eax, esp
push eax
push 0x202
call dword [sym.imp.WS2_32.dll_WSAStartup]
test eax, eax
je 0x41abc0
mov eax, 2
add esp, 0x190
ret
cmp word [esp], 0x202
je 0x41ab40
call dword [sym.imp.WS2_32.dll_WSACleanup]
mov eax, 2
add esp, 0x190
ret
Function at 0x41abe0
Capabilities:
Get common file path

Disassembly:
push ebp
push ebx
push edi
push esi
push str.kernel32
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
xor edi, edi
test eax, eax
je 0x41acf2
mov ebx, eax
mov ebp, dword [esp + 0x14]
push str.LoadLibraryExA
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov esi, eax
push 0xa1bfa4
push ebp
call sub.api_ms_win_crt_string_l1_1_0.dll_strpbrk
add esp, 8
test eax, eax
je 0x41ac27
test esi, esi
je 0x41ac4a
push 8
jmp 0x41ac40
test esi, esi
je 0x41ac56
push str.AddDllDirectory
push ebx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x41ac56
push 0x800
push 0
push ebp
call esi
jmp 0x41acf4
push ebp
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
jmp 0x41acf4
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
test eax, eax
je 0x41acf2
mov ebp, eax
push dword [esp + 0x14]
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
add eax, ebp
inc eax
push str.system_win32.c
push 0xd9
push eax
call fcn.00404730
add esp, 0xc
mov ebx, eax
xor edi, edi
test eax, eax
je 0x41acdf
push ebp
push ebx
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
test eax, eax
je 0x41acdf
push ebx
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
mov word [ebx + eax], 0x5c
push ebx
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
mov ecx, ebx
add ecx, eax
push dword [esp + 0x14]
push ecx
call sub.api_ms_win_crt_string_l1_1_0.dll_strcpy
add esp, 8
test esi, esi
je 0x41acd6
push 8
push 0
push ebx
call esi
jmp 0x41acdd
push ebx
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov edi, eax
push str.system_win32.c
push 0xe6
push ebx
call fcn.00404af0
add esp, 0xc
mov eax, edi
pop esi
pop edi
pop ebx
pop ebp
ret
Function at 0x4232a0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 8
mov esi, edx
mov edi, ecx
mov ebp, dword [esp + 0x1c]
cmp byte [esp + 0x20], 0
mov ebx, edx
jne 0x423301
mov dword [esp], edi
push 0xa1d06e
push esi
call sub.api_ms_win_crt_private_l1_1_0.dll_strstr
add esp, 8
lea edi, [eax + 2]
test eax, eax
cmove edi, esi
push 0x3f
push edi
call sub.api_ms_win_crt_private_l1_1_0.dll_strchr
add esp, 8
mov ebx, eax
push 0x2f
push edi
call sub.api_ms_win_crt_private_l1_1_0.dll_strchr
add esp, 8
test eax, eax
je 0x4233c9
test ebx, ebx
mov edi, dword [esp]
je 0x4233df
cmp eax, ebx
cmovb ebx, eax
xor eax, eax
test ebp, ebp
je 0x4233c1
movzx eax, byte [esp + 0x24]
xor al, 1
mov dword [esp], eax
nop word cs:[eax + eax]
cmp esi, ebx
jb 0x423360
movzx eax, byte [esi]
cmp eax, 0x3f
je 0x423340
cmp eax, 0x20
jne 0x423349
test byte [esp], 1
je 0x423376
push 3
push 0xa1d06a
jmp 0x423363
mov dword [esp], 0
jmp 0x423360
cmp al, 0x20
jb 0x423360
cmp eax, 0x20
je 0x423360
cmp eax, 0x7f
je 0x423360
cmp al, 0x7f
jae 0x42337f
nop dword [eax + eax]
push 1
push esi
push edi
call fcn.00445810
add esp, 0xc
test eax, eax
jne 0x4233ab
inc esi
dec ebp
jne 0x423320
jmp 0x4233bf
push 1
push 0xa1d02c
jmp 0x423363
mov byte [esp + 5], 0x25
mov ecx, eax
shr ecx, 4
movzx ecx, byte [ecx + 0xa1d02e]
mov byte [esp + 6], cl
and eax, 0xf
movzx eax, byte [eax + 0xa1d02e]
mov byte [esp + 7], al
push 3
lea eax, [esp + 9]
push eax
jmp 0x423363
cmp eax, 0x64
mov eax, 0x1f
mov ecx, 7
cmove ecx, eax
mov eax, ecx
jmp 0x4233c1
xor eax, eax
add esp, 8
pop esi
pop edi
pop ebx
pop ebp
ret
push esi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
add eax, esi
test ebx, ebx
mov edi, dword [esp]
jne 0x4232fc
push esi
mov edi, eax
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
mov ebx, eax
mov eax, edi
mov edi, dword [esp]
add ebx, esi
jmp 0x4232fc
Function at 0x435e10
Capabilities:
Set socket configuration

Disassembly:
push esi
sub esp, 0xc
mov dword [esp + 8], 0x4020
mov dword [esp], 0
mov dword [esp + 4], 4
mov eax, dword [0xb5f158]
cmp eax, 2
je 0x435e65
test eax, eax
jne 0x435e74
sub esp, 0x14
movaps xmm0, xmmword [0xa1fbf0]
movups xmmword [esp], xmm0
mov dword [esp + 0x10], 3
call fcn.00424b70
add esp, 0x14
test al, al
je 0x435e6a
mov dword [0xb5f158], 2
add esp, 0xc
pop esi
ret
mov dword [0xb5f158], 1
mov esi, dword [esp + 0x14]
lea eax, [esp + 4]
mov ecx, esp
push eax
push ecx
push 0x1001
push 0xffff
push esi
call dword [sym.imp.WS2_32.dll_getsockopt]
test eax, eax
jne 0x435e9e
cmp dword [esp], 0x4020
jg 0x435e65
lea eax, [esp + 8]
push 4
push eax
push 0x1001
push 0xffff
push esi
call dword [sym.imp.WS2_32.dll_setsockopt]
add esp, 0xc
pop esi
ret

Function at 0x4376a0
Capabilities:
Get local ipv4 addresses
Get socket information

Disassembly:
mov eax, dword [ecx + 0x98]
cmp eax, 0xffffffff
je 0x4377a0
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x1a0
mov esi, dword [edx + 0x18]
mov esi, dword [esi + 0x2a8]
test byte [esi + 0x49], 8
jne 0x437799
mov esi, ecx
mov edi, edx
mov dword [esp + 0xc], pe_nt_image_headers32
xorps xmm0, xmm0
movaps xmmword [esp + 0x10], xmm0
movaps xmmword [esp + 0x20], xmm0
movaps xmmword [esp + 0x30], xmm0
movaps xmmword [esp + 0x40], xmm0
movaps xmmword [esp + 0x50], xmm0
movaps xmmword [esp + 0x60], xmm0
movaps xmmword [esp + 0x70], xmm0
movaps xmmword [esp + 0x80], xmm0
lea ecx, [esp + 0xc]
lea ebx, [esp + 0x10]
push ecx
push ebx
push eax
call dword [sym.imp.WS2_32.dll_getsockname]
test eax, eax
je 0x437747
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov esi, eax
lea eax, [esp + 0x9c]
push 0x100
push eax
push esi
call fcn.0041a5e0
add esp, 0xc
push eax
push esi
push str.getsockname___failed_with_errno__d:__s
jmp 0x437790
lea eax, [esi + 0xca]
add esi, 0xfc
push esi
push eax
push dword [esp + 0x14]
push ebx
call fcn.0043c480
add esp, 0x10
test al, al
jne 0x437799
mov ebx, dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
call ebx
mov esi, dword [eax]
call ebx
lea ecx, [esp + 0x9c]
push 0x100
push ecx
push dword [eax]
call fcn.0041a5e0
add esp, 0xc
push eax
push esi
push str.ssloc_inet_ntop___failed_with_errno__d:__s
push edi
call fcn.00442490
add esp, 0x10
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
Function at 0x438730
Capabilities:
Set socket configuration

Disassembly:
push ebx
push edi
push esi
push eax
mov edi, edx
mov esi, ecx
mov eax, dword [ecx + 0x6ec]
shr eax, 7
and eax, 1
mov dword [esp], eax
mov ebx, esp
push 4
push ebx
push 8
push 0xffff
push edx
call dword [sym.imp.WS2_32.dll_setsockopt]
test eax, eax
js 0x438843
push dword [esi + 0x690]
call fcn.00424da0
add esp, 4
mov dword [esp], eax
push 4
push ebx
push 3
push 6
push edi
call dword [sym.imp.WS2_32.dll_setsockopt]
test eax, eax
jns 0x4387b4
test byte [esi + 0x6eb], 0x20
je 0x4387b4
mov eax, dword [esi + 0xd20]
test eax, eax
je 0x43879e
cmp dword [eax + 4], 0
jle 0x4387b4
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
push edi
push str.Failed_to_set_TCP_KEEPIDLE_on_fd__d:_errno__d
push esi
call fcn.00442520
add esp, 0x10
push dword [esi + 0x694]
call fcn.00424da0
add esp, 4
mov dword [esp], eax
push 4
push ebx
push 0x11
push 6
push edi
call dword [sym.imp.WS2_32.dll_setsockopt]
test eax, eax
jns 0x438806
test byte [esi + 0x6eb], 0x20
je 0x438806
mov eax, dword [esi + 0xd20]
test eax, eax
je 0x4387f0
cmp dword [eax + 4], 0
jle 0x438806
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
push edi
push str.Failed_to_set_TCP_KEEPINTVL_on_fd__d:_errno__d
push esi
call fcn.00442520
add esp, 0x10
push dword [esi + 0x698]
call fcn.00424da0
add esp, 4
mov dword [esp], eax
push 4
push ebx
push 0x10
push 6
push edi
call dword [sym.imp.WS2_32.dll_setsockopt]
test eax, eax
jns 0x438873
test byte [esi + 0x6eb], 0x20
je 0x438873
mov eax, dword [esi + 0xd20]
mov ebx, str.Failed_to_set_TCP_KEEPCNT_on_fd__d:_errno__d
test eax, eax
jne 0x43885b
jmp 0x438861
test byte [esi + 0x6eb], 0x20
je 0x438873
mov eax, dword [esi + 0xd20]
mov ebx, str.Failed_to_set_SO_KEEPALIVE_on_fd__d:_errno__d
test eax, eax
je 0x438861
cmp dword [eax + 4], 0
jle 0x438873
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
push edi
push ebx
push esi
call fcn.00442520
add esp, 0x10
add esp, 4
pop esi
pop edi
pop ebx
ret

Function at 0x4407c0
Capabilities:
Encode data using xor
Hash data using djb2

Disassembly:
push ebx
push edi
push esi
xor edi, edi
test ecx, ecx
je 0x440871
mov esi, ecx
push ecx
call fcn.0044fdc0
add esp, 4
test al, al
jne 0x440871
push esi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
mov edi, eax
push eax
push 0x2e
push esi
call fcn.00441dd0
add esp, 0xc
xor ebx, ebx
test eax, eax
je 0x440816
sub eax, esi
push eax
push 0x2e
push esi
call fcn.00441dd0
add esp, 0xc
test eax, eax
je 0x440816
inc eax
add edi, esi
sub edi, eax
mov ebx, eax
test ebx, ebx
cmovne esi, ebx
test edi, edi
jle 0x44086c
add edi, esi
mov ebx, 0x1505
nop word cs:[eax + eax]
movsx eax, byte [esi]
inc esi
push eax
call fcn.0041a200
add esp, 4
movsx eax, al
mov ecx, ebx
shl ecx, 5
add ebx, ecx
xor ebx, eax
cmp esi, edi
jb 0x440830
mov ecx, 0x4104105
mov eax, ebx
mul ecx
mov edi, ebx
sub edi, edx
shr edi, 1
add edi, edx
shr edi, 5
mov eax, edi
shl eax, 6
sub edi, eax
add edi, ebx
jmp 0x440871
mov edi, 0x1a
mov eax, edi
pop esi
pop edi
pop ebx
ret
Function at 0x4423f0
Capabilities:
Write file on windows

Disassembly:
push ebp
push ebx
push edi
push esi
mov esi, dword [esp + 0x14]
test byte [esi + 0x6eb], 0x20
je 0x442486
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x18]
cmp dword [esi + 0x194], 0
je 0x442451
push esi
call fcn.00410990
add esp, 4
mov ebx, eax
push 1
push esi
call fcn.00410960
add esp, 8
push dword [esi + 0x144]
push ebp
push dword [esp + 0x24]
push edi
push esi
call dword [esi + 0x194]
add esp, 0x14
movzx eax, bl
push eax
push esi
call fcn.00410960
add esp, 8
jmp 0x442486
cmp edi, 2
ja 0x442486
lea eax, [edi + edi*2]
add eax, 0xa20dd4
push dword [esi + 0x140]
push 1
push 2
push eax
call sub.api_ms_win_crt_stdio_l1_1_0.dll_fwrite
add esp, 0x10
push dword [esi + 0x140]
push 1
push ebp
push dword [esp + 0x28]
call sub.api_ms_win_crt_stdio_l1_1_0.dll_fwrite
add esp, 0x10
pop esi
pop edi
pop ebx
pop ebp
ret
Function at 0x449a30
Capabilities:
Get local ipv4 addresses
Get socket information

Disassembly:
push esi
mov edx, dword [ecx + 0x18]
test byte [ecx + 0x6e9], 1
jne 0x449a46
cmp byte [ecx + 0x3b0], 0
je 0x449a6e
mov eax, dword [edx + 0x374]
test eax, eax
je 0x449a6e
add edx, 0x308
push eax
push str.MDTM__s
push edx
mov esi, ecx
push ecx
call fcn.004645b0
add esp, 0x10
test eax, eax
je 0x449aa4
pop esi
ret
test byte [ecx + 0x13e], 2
je 0x449a9e
cmp dword [edx + 0x374], 0
je 0x449a9e
xor eax, eax
test byte [ecx + 0xd61], 0x10
sete al
movsx esi, byte [edx + 0x384]
lea eax, [eax*8 + 0x41]
cmp eax, esi
jne 0x449aff
pop esi
jmp fcn.0044b930
mov eax, esi
mov esi, dword [esi + 0x18]
movzx ecx, byte [esi + 0x3b6]
cmp ecx, 0x12
je 0x449af4
test byte [eax + 0x6eb], 0x20
je 0x449af4
mov edx, dword [eax + 0xd20]
test edx, edx
je 0x449ace
cmp dword [edx + 4], 0
jle 0x449af4
mov edx, dword [0xb5ad14]
cmp dword [edx + 4], 0
jle 0x449af4
push str.MDTM
push dword [ecx*4 + 0xa21838]
push str.__s_______s_
push eax
call fcn.00442890
add esp, 0x10
mov byte [esi + 0x3b6], 0x12
xor eax, eax
pop esi
ret
mov eax, dword [ecx + 0x130]
mov dword [eax + 8], 1
mov eax, dword [ecx + 0xd60]
shr eax, 0xc
and eax, 1
push 0x13
push eax
call fcn.0044b7c0
add esp, 8
pop esi
ret

Function at 0x449f40
Capabilities:
Get local ipv4 addresses
Get socket information

Disassembly:
push ebx
push edi
push esi
lea eax, [edx - 0xc8]
cmp eax, 0x64
jae 0x449fa6
movzx ebx, byte [esp + 0x10]
mov esi, dword [ecx + 0x18]
cmp edx, 0xc8
je 0x449f8a
test byte [ecx + 0x6eb], 0x20
je 0x449f8a
mov eax, dword [ecx + 0xd20]
test eax, eax
je 0x449f77
cmp dword [eax + 4], 0
jle 0x449f8a
push edx
push str.Got_a__03d_response_code_instead_of_the_assumed_200
push ecx
mov edi, ecx
call fcn.00442520
mov ecx, edi
add esp, 0xc
movzx eax, bl
add eax, 0xffffffed
cmp eax, 3
ja case.default.0x449f95
jmp dword [eax*4 + 0xa216a0]
mov edx, esi
pop esi
pop edi
pop ebx
jmp fcn.0044b930
push str.Couldnt_set_desired_mode
push ecx
call fcn.00442490
add esp, 8
mov eax, 0x11
pop esi
pop edi
pop ebx
ret
mov edx, 1
push 0xd
call fcn.00449720
add esp, 4
pop esi
pop edi
pop ebx
ret
pop esi
pop edi
pop ebx
jmp 0x44c6c0
pop esi
pop edi
pop ebx
jmp 0x44c530
xor eax, eax
pop esi
pop edi
pop ebx
ret
Function at 0x44aa50
Capabilities:
Get local ipv4 addresses
Get socket information

Disassembly:
push edi
push esi
mov esi, dword [ecx + 0x18]
add edx, 0xffffff38
cmp edx, 0x64
jae 0x44ab09
test byte [ecx + 0x6eb], 0x20
je 0x44aa92
mov eax, dword [ecx + 0xd20]
test eax, eax
je 0x44aa7d
cmp dword [eax + 4], 0
jle 0x44aa92
push str.Connect_data_stream_actively
push ecx
mov esi, ecx
call fcn.00442520
mov ecx, esi
add esp, 8
mov esi, dword [esi + 0x18]
movzx eax, byte [esi + 0x3b6]
mov edi, esi
test eax, eax
je 0x44aaeb
test byte [ecx + 0x6eb], 0x20
mov edi, esi
je 0x44aaeb
mov edx, dword [ecx + 0xd20]
test edx, edx
je 0x44aabc
cmp dword [edx + 4], 0
mov edi, esi
jle 0x44aaeb
mov edx, dword [0xb5ad14]
cmp dword [edx + 4], 0
mov edi, esi
jle 0x44aaeb
push 0xa218c8
push dword [eax*4 + 0xa21838]
push str.__s_______s_
push ecx
mov edi, ecx
call fcn.00442890
mov ecx, edi
add esp, 0x10
mov edi, dword [edi + 0x18]
mov byte [esi + 0x3b6], 0
mov eax, dword [ecx + 0x130]
cmp dword [eax + 8], 0
je 0x44ab2f
push ecx
call fcn.0041c4a0
add esp, 4
jmp 0x44ab36
mov edx, dword [esi + 0x3a8]
test edx, edx
je 0x44ab42
inc edx
cmp edx, 2
jne 0x44ab79
push str.Failed_to_do_PORT
push ecx
call fcn.00442490
add esp, 8
mov eax, 0x1e
pop esi
pop edi
ret
or byte [edi + 0x2a1], 0x10
or byte [edi + 0x3bc], 4
xor eax, eax
pop esi
pop edi
ret
test byte [ecx + 0x6eb], 0x20
je 0x44ab6d
mov eax, dword [ecx + 0xd20]
test eax, eax
je 0x44ab5b
cmp dword [eax + 4], 0
jle 0x44ab6d
push str.disabling_EPRT_usage
push ecx
mov edi, ecx
call fcn.00442520
mov ecx, edi
add esp, 8
and byte [esi + 0x2a2], 0xfe
mov edx, 1
pop esi
pop edi
jmp fcn.0044bbd0
Function at 0x44b930
Capabilities:
Get local ipv4 addresses
Get socket information

Disassembly:
mov eax, dword [ecx + 0x130]
cmp dword [eax + 8], 1
jne fcn.0044b9d0
mov eax, dword [edx + 0x374]
test eax, eax
je fcn.0044b9d0
push esi
add edx, 0x308
push eax
push str.SIZE__s
push edx
mov esi, ecx
push ecx
call fcn.004645b0
add esp, 0x10
test eax, eax
je 0x44b96d
pop esi
ret
mov eax, esi
mov esi, dword [esi + 0x18]
movzx ecx, byte [esi + 0x3b6]
cmp ecx, 0x17
je 0x44b9bd
test byte [eax + 0x6eb], 0x20
je 0x44b9bd
mov edx, dword [eax + 0xd20]
test edx, edx
je 0x44b997
cmp dword [edx + 4], 0
jle 0x44b9bd
mov edx, dword [0xb5ad14]
cmp dword [edx + 4], 0
jle 0x44b9bd
push 0xa21964
push dword [ecx*4 + 0xa21838]
push str.__s_______s_
push eax
call fcn.00442890
add esp, 0x10
mov byte [esi + 0x3b6], 0x17
xor eax, eax
pop esi
ret

Function at 0x44b9d0
Capabilities:
Get local ipv4 addresses
Get socket information

Disassembly:
mov eax, dword [ecx + 0x130]
cmp dword [eax + 8], 0
je fcn.0044ba70
cmp dword [edx + 0x374], 0
je fcn.0044ba70
push esi
add edx, 0x308
push 0
push str.REST__d
push edx
mov esi, ecx
push ecx
call fcn.004645b0
add esp, 0x10
test eax, eax
je 0x44ba0d
pop esi
ret
mov eax, esi
mov esi, dword [esi + 0x18]
movzx ecx, byte [esi + 0x3b6]
cmp ecx, 0x1a
je 0x44ba5d
test byte [eax + 0x6eb], 0x20
je 0x44ba5d
mov edx, dword [eax + 0xd20]
test edx, edx
je 0x44ba37
cmp dword [edx + 4], 0
jle 0x44ba5d
mov edx, dword [0xb5ad14]
cmp dword [edx + 4], 0
jle 0x44ba5d
push str.REST
push dword [ecx*4 + 0xa21838]
push str.__s_______s_
push eax
call fcn.00442890
add esp, 0x10
mov byte [esi + 0x3b6], 0x1a
xor eax, eax
pop esi
ret
Function at 0x44ba70
Capabilities:
Get local ipv4 addresses
Get socket information

Disassembly:
push edi
push esi
mov esi, dword [ecx + 0x18]
mov eax, dword [ecx + 0x130]
cmp dword [eax + 8], 0
je 0x44bae9
movzx eax, byte [esi + 0x3b6]
cmp eax, 0xd
je 0x44bad0
test byte [ecx + 0x6eb], 0x20
je 0x44bad0
mov edx, dword [ecx + 0xd20]
test edx, edx
je 0x44baa6
cmp dword [edx + 4], 0
jle 0x44bad0
mov edx, dword [0xb5ad14]
cmp dword [edx + 4], 0
jle 0x44bad0
push str.RETR_PREQUOTE
push dword [eax*4 + 0xa21838]
push str.__s_______s_
push ecx
mov edi, ecx
call fcn.00442890
mov ecx, edi
add esp, 0x10
mov byte [esi + 0x3b6], 0xd
mov edx, 1
push 0xd
call fcn.00449720
add esp, 4
pop esi
pop edi
ret
mov eax, dword [ecx + 0x6e8]
test eax, 0x2000
jne 0x44bb06
test eax, 0x10000
jne 0x44bb0f
mov edx, esi
pop esi
pop edi
jmp fcn.0044a2f0
xor edx, edx
pop esi
pop edi
jmp fcn.0044bbd0
mov eax, dword [esi + 0x374]
add esi, 0x308
test eax, eax
je 0x44bb30
test byte [ecx + 0xd62], 2
jne 0x44bb56
push eax
push str.PRET_RETR__s
jmp 0x44bb5c
mov eax, dword [ecx + 0x568]
test eax, eax
jne 0x44bb4e
test byte [ecx + 0xd61], 0x20
mov edx, 0xa2199b
mov eax, str.NLST
cmove eax, edx
push eax
push str.PRET__s
jmp 0x44bb5c
push eax
push str.PRET_STOR__s
push esi
mov esi, ecx
push ecx
call fcn.004645b0
add esp, 0x10
test eax, eax
jne 0x44bae6
mov eax, esi
mov esi, dword [esi + 0x18]
movzx ecx, byte [esi + 0x3b6]
cmp ecx, 0x1d
je 0x44bbc0
test byte [eax + 0x6eb], 0x20
je 0x44bbc0
mov edx, dword [eax + 0xd20]
test edx, edx
je 0x44bb9a
cmp dword [edx + 4], 0
jle 0x44bbc0
mov edx, dword [0xb5ad14]
cmp dword [edx + 4], 0
jle 0x44bbc0
push str.PRET
push dword [ecx*4 + 0xa21838]
push str.__s_______s_
push eax
call fcn.00442890
add esp, 0x10
mov byte [esi + 0x3b6], 0x1d
xor eax, eax
pop esi
pop edi
ret