joyce8/EMBER2024-capa huggingface dataset:
Function at 0x444225
Capabilities:
Connect socket

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x9c
mov eax, dword [0x4a5294]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, dword [ebp + 0xc]
push edi
mov ebx, edx
push dword [ebx + 0xc]
mov edi, ecx
push dword [edi + 0x28]
mov eax, dword [edi]
push dword [ebx + 4]
mov dword [ebp - 0x98], edi
mov dword [ebp - 0x9c], esi
mov dword [ebp - 0x90], eax
call dword [sym.imp.WS2_32.dll_socket]
cmp eax, 0xffffffff
mov dword [ebp - 0x8c], eax
je 0x444409
lea eax, [ebp - 0x88]
push 0x80
push eax
mov ecx, ebx
mov byte [esi], 0
call fcn.0043f405
mov esi, dword [ebp - 0x90]
lea eax, [ebp - 0x88]
push eax
push str.__Trying__s...
call fcn.0043bdf0
mov eax, esi
add esp, 0x10
cmp byte [eax + 0x1b6], 0
je 0x4442bb
push dword [ebp - 0x8c]
call fcn.004441d0
pop ecx
mov eax, dword [edi]
cmp dword [eax + 0x74], 0
je 0x4442d9
push dword [ebp - 0x8c]
mov ecx, edi
call fcn.00443f92
test eax, eax
pop ecx
jne 0x4443fd
push dword [ebp - 0x8c]
xor eax, eax
inc eax
call fcn.00443f58
cmp dword [edi + 0x28], 1
pop ecx
jne 0x444304
push dword [ebx + 0x10]
push dword [ebx + 0x14]
push dword [ebp - 0x8c]
call dword [sym.imp.WS2_32.dll_connect]
mov edi, eax
jmp 0x444306
xor edi, edi
cmp edi, 0xffffffff
jne 0x44439e
call dword [sym.imp.KERNEL32.DLL_GetLastError]
mov ebx, eax
cmp ebx, 0xb
mov dword [ebp - 0x94], ebx
je 0x44438e
cmp ebx, 0x2732
jle 0x444332
cmp ebx, 0x2734
jle 0x44438e
mov eax, dword [ebp - 0x98]
call fcn.00443eaf
push eax
lea eax, [ebp - 0x88]
push eax
push str.Failed_to_connect_to__s:__s
call fcn.0043be59
add esp, 0xc
mov dword [esi + 0x8318], ebx
push dword [ebp - 0x8c]
lea esi, [ebp - 0x94]
call fcn.00444107
test edi, edi
pop ecx
jne 0x4443b6
test al, al
je 0x4443cd
mov eax, dword [ebp - 0x9c]
mov esi, dword [ebp - 0x90]
push str.connected_n
mov byte [eax], 1
call fcn.0043bdf0
pop ecx
jmp 0x4443ae
mov eax, dword [ebp + 8]
mov edi, dword [ebp - 0x8c]
call fcn.00443f73
mov edi, eax
cmp edi, 1
jne 0x444358
mov eax, esi
cmp dword [eax + 0x2d8], 2
jne 0x444358
mov eax, dword [ebp - 0x8c]
jmp 0x44440c
cmp edi, 1
jne 0x4443cd
mov esi, dword [ebp - 0x90]
push str.Timeout_n
call fcn.0043bdf0
jmp 0x4443fc
mov ebx, dword [ebp - 0x94]
mov eax, dword [ebp - 0x90]
mov dword [eax + 0x8318], ebx
mov eax, dword [ebp - 0x98]
call fcn.00443eaf
mov esi, dword [ebp - 0x90]
push eax
push 0x495630
call fcn.0043bdf0
pop ecx
pop ecx
push dword [ebp - 0x8c]
call dword [sym.imp.WS2_32.dll_closesocket]
or eax, 0xffffffff
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00451a25
leave
ret
Function at 0x4448fa
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
push ebx
push esi
push edi
push 1
push 0x28
call dword [0x4a6564]
mov esi, eax
xor ebx, ebx
xor eax, eax
cmp esi, ebx
pop ecx
lea edi, [ebp - 8]
mov dword [ebp - 0xc], ebx
pop ecx
stosd dword es:[edi], eax
jne 0x44492f
push 0xc
call dword [sym.imp.KERNEL32.DLL_SetLastError]
xor al, al
jmp 0x444a55
mov edi, dword [ebp + 8]
lea eax, [edi + 0x320]
push dword [eax]
mov dword [ebp - 4], eax
call fcn.0043c1df
push dword [ebp + 0xc]
call dword [0x4a6560]
cmp eax, ebx
pop ecx
pop ecx
mov ecx, dword [ebp - 4]
mov dword [ecx], eax
jne 0x444960
push esi
call dword [0x4a6558]
pop ecx
jmp 0x444920
mov eax, dword [ebp + 0x10]
push ebx
push 1
mov dword [edi + 0x324], eax
mov byte [edi + 0x32c], bl
mov dword [edi + 0x330], ebx
mov dword [edi + 0x328], ebx
mov dword [edi + 0x334], esi
or dword [esi + 0xc], 0xffffffff
push ebx
call dword [sym.imp.KERNEL32.DLL_CreateMutexW]
cmp eax, ebx
mov dword [esi + 0x14], eax
jne 0x4449a6
push dword [ebp - 4]
call fcn.00444841
pop ecx
push 0xb
jmp 0x444922
push ebx
push ebx
push 1
push ebx
call dword [sym.imp.KERNEL32.DLL_CreateEventW]
cmp eax, ebx
mov dword [esi + 0x18], eax
je 0x444996
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.DLL_CreateMutexW]
cmp eax, ebx
mov dword [esi + 0x20], eax
je 0x444996
push ebx
push ebx
push 1
push ebx
call dword [sym.imp.KERNEL32.DLL_CreateEventW]
cmp eax, ebx
mov dword [esi + 0x24], eax
je 0x444996
push ebx
push ebx
push 1
push ebx
call dword [sym.imp.KERNEL32.DLL_CreateEventW]
cmp eax, ebx
mov dword [esi + 0x1c], eax
je 0x444996
call fcn.0045f4fa
add eax, 0x40
mov dword [esi + 0x10], eax
lea eax, [esi + 4]
push eax
push ebx
push edi
push 0x4446ab
push ebx
push ebx
call fcn.00454996
add esp, 0x18
cmp eax, ebx
mov dword [esi], eax
jne 0x444a2d
call fcn.00458ff9
push dword [eax]
call dword [sym.imp.KERNEL32.DLL_SetLastError]
push dword [ebp - 4]
call fcn.00444841
pop ecx
jmp 0x444928
mov dword [ebp - 0xc], eax
mov eax, dword [esi + 0x1c]
push 0xffffffffffffffff
mov dword [ebp - 8], eax
push ebx
lea eax, [ebp - 0xc]
push eax
push 2
call dword [sym.imp.KERNEL32.DLL_WaitForMultipleObjects]
push ebx
push 2
push 2
call dword [sym.imp.WS2_32.dll_socket]
mov dword [esi + 0xc], eax
mov al, 1
pop edi
pop esi
pop ebx
leave
ret
Function at 0x444a5a
Capabilities:
Terminate thread

Disassembly:
push ecx
push ebx
push ebp
mov ebp, dword [esp + 0x10]
mov eax, dword [ebp]
mov ebx, dword [eax + 0x9c]
test ebx, ebx
push esi
push edi
mov edi, dword [ebp + 0x334]
mov dword [esp + 0x18], eax
jne 0x444a8b
mov eax, dword [eax + 0x98]
test eax, eax
mov ebx, eax
jne 0x444a8b
mov ebx, 0x12c
call dword [sym.imp.KERNEL32.DLL_GetTickCount]
imul ebx, ebx, 0x3e8
mov esi, dword [sym.imp.KERNEL32.DLL_WaitForSingleObject]
push ebx
push dword [edi + 0x18]
call esi
push dword [edi + 0x14]
mov dword [esp + 0x14], eax
call dword [sym.imp.KERNEL32.DLL_ReleaseMutex]
push dword [edi + 0x14]
mov ebx, dword [sym.imp.KERNEL32.DLL_CloseHandle]
call ebx
push dword [edi + 0x18]
and dword [edi + 0x14], 0
call ebx
xor ebx, ebx
cmp dword [esp + 0x10], ebx
mov dword [edi + 0x18], ebx
jne 0x444ae8
push 0x1388
push dword [edi]
call esi
cmp eax, 0x102
jne 0x444b33
push ebx
push dword [edi]
call dword [sym.imp.KERNEL32.DLL_TerminateThread]
lea ebx, [edi + 8]
mov byte [ebp + 0x32c], 1
or dword [ebx], 0xffffffff
mov eax, dword [esp + 0x1c]
xor edi, edi
cmp eax, edi
je 0x444b07
mov ecx, dword [ebp + 0x328]
mov dword [eax], ecx
cmp dword [ebp + 0x328], edi
jne 0x444b9f
mov ebx, dword [ebx]
push 0x1b
pop edi
cmp ebx, edi
jne 0x444b4d
mov esi, dword [esp + 0x18]
push str.out_of_memory
push str.Could_not_resolve_host:__s
call fcn.0043be59
pop ecx
pop ecx
jmp 0x444b9f
push dword [ebp + 0x330]
call dword [sym.imp.WS2_32.dll_WSASetLastError]
lea ebx, [edi + 8]
push ebx
push dword [edi]
call dword [sym.imp.KERNEL32.DLL_GetExitCodeThread]
jmp 0x444af5
cmp ebx, 0xffffffff
je 0x444b89
mov ebx, dword [ebp + 0x330]
cmp ebx, 0x2afc
je 0x444b89
cmp byte [ebp + 0x32c], 0
je 0x444b9c
mov eax, ebp
call fcn.00443eaf
mov esi, dword [esp + 0x18]
push eax
push dword [ebp + 0x34]
push str.Could_not_resolve_host:__s___s
call fcn.0043be59
add esp, 0xc
push 6
jmp 0x444b9e
push dword [ebp + 0x34]
mov esi, dword [esp + 0x1c]
push str.Resolving_host_timed_out:__s
call fcn.0043be59
pop ecx
pop ecx
push 0x1c
pop edi
lea eax, [ebp + 0x320]
push eax
call fcn.00444841
cmp dword [ebp + 0x328], 0
pop ecx
jne 0x444bbc
mov byte [ebp + 0xe4], 1
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
pop ecx
ret
Function at 0x444bf5
Capabilities:
Resolve dns

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
push dword [ebp + 8]
mov esi, dword [edi]
mov ebx, eax
and dword [ebx], 0
call dword [sym.imp.WS2_32.dll_inet_addr]
cmp eax, 0xffffffff
push dword [ebp + 0xc]
push dword [ebp + 8]
je 0x444c20
push eax
call fcn.0044e4a8
add esp, 0xc
jmp 0x444c94
push edi
call fcn.004448fa
add esp, 0xc
test al, al
je 0x444c37
mov dword [ebx], 1
xor eax, eax
jmp 0x444c94
call dword [sym.imp.KERNEL32.DLL_GetLastError]
mov ebx, eax
mov eax, edi
call fcn.00443eaf
push eax
push dword [ebp + 8]
push str.init_resolve_thread___failed_for__s___s_n
call fcn.0043bdf0
add esp, 0xc
push dword [ebp + 8]
call dword [sym.imp.WS2_32.dll_gethostbyname]
test eax, eax
jne 0x444c89
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov ebx, eax
mov eax, edi
call fcn.00443eaf
push eax
push dword [ebp + 0xc]
push dword [ebp + 8]
push str.gethostbyname_2__failed_for__s:_d___s_n
call fcn.0043bdf0
add esp, 0x10
jmp 0x444c33
push dword [ebp + 0xc]
mov ebx, eax
call fcn.0044e512
pop ecx
pop esi
pop ebx
pop ebp
ret
Function at 0x444dd2
Capabilities:
Send data
Send data on socket

Disassembly:
push ebp
mov ebp, esp
push ecx
push ecx
push ebx
push esi
push edi
mov edi, eax
mov eax, dword [edi + 0xc]
mov esi, dword [eax]
cmp byte [esi + 0x18c], 0
mov ebx, dword [eax + 0x50]
mov dword [ebp - 4], str.octet
je 0x444dfb
mov dword [ebp - 4], str.netascii
mov eax, dword [ebp + 8]
sub eax, 0
push 3
pop ecx
je 0x444e70
sub eax, ecx
je 0x444e4d
dec eax
je 0x444e22
dec eax
je 0x444e82
dec eax
je 0x444e70
push str.tftp_send_first:_internal_error_n
call fcn.0043be59
jmp 0x444f5e
push str.Connected_for_transmit
push 0x495630
call fcn.0043bdf0
mov dword [edi], 2
call fcn.00444c98
push 4
mov ebx, edi
call fcn.004450d1
add esp, 0xc
jmp 0x444f5f
push str.Connected_for_receive
push 0x495630
call fcn.0043bdf0
mov dword [edi], 1
call fcn.00444c98
push 3
call fcn.00444f64
jmp 0x444e45
inc dword [edi + 0x14]
mov eax, dword [edi + 0x14]
cmp eax, dword [edi + 0x1c]
jle 0x444e89
mov dword [edi + 8], 9
mov dword [edi], ecx
jmp 0x444f5f
cmp byte [esi + 0x199], 0
je 0x444ee2
push 2
call dword [sym.imp.WS2_32.dll_htons]
push ebx
mov word [edi + 0x268], ax
call fcn.00452390
pop ecx
mov ecx, ebx
call fcn.0044e3cf
mov ecx, dword [edi + 0xc]
mov ebx, eax
lea eax, [edi + 0x26c]
mov dword [ecx + 0x1fc], eax
mov eax, dword [esi + 0xa8]
mov ecx, dword [esi + 0xac]
mov edx, eax
and edx, ecx
cmp edx, 0xffffffff
je 0x444ef1
push ecx
push eax
mov eax, esi
call fcn.004464b8
pop ecx
pop ecx
jmp 0x444ef1
push 1
call dword [sym.imp.WS2_32.dll_htons]
mov word [edi + 0x268], ax
push 0
push dword [ebp - 4]
lea eax, [edi + 0x26a]
push 0
push ebx
push str._s_c_s_c
push eax
call fcn.00443b13
push ebx
call fcn.00452390
add esp, 0x1c
push dword [ebp - 4]
mov ebx, eax
call fcn.00452390
pop ecx
lea ecx, [ebx + eax + 4]
mov eax, dword [edi + 0xc]
mov eax, dword [eax + 0x10]
push dword [eax + 0x10]
push dword [eax + 0x14]
lea eax, [edi + 0x268]
push 0
push ecx
push eax
push dword [edi + 0x10]
call dword [sym.imp.WS2_32.dll_sendto]
test eax, eax
jge 0x444f5f
call fcn.00458ff9
push dword [eax]
call fcn.0046f059
pop ecx
push eax
push 0x495630
call fcn.0043be59
pop ecx
pop ecx
pop edi
pop esi
pop ebx
leave
ret
Function at 0x444f64
Capabilities:
Send data
Send data on socket

Disassembly:
push ebp
mov ebp, esp
push ecx
mov eax, dword [edi + 0xc]
push ebx
push esi
mov esi, dword [eax]
mov eax, dword [ebp + 8]
push 3
pop ebx
sub eax, ebx
mov dword [ebp - 4], esi
je 0x444ff4
dec eax
dec eax
je 0x444fab
dec eax
je 0x444f8a
push str.tftp_rx:_internal_error
jmp 0x444fe3
inc dword [edi + 0x14]
push dword [edi + 0x14]
push str.Timeout_waiting_for_block__d_ACK.__Retries___d_n
call fcn.0043bdf0
mov eax, dword [edi + 0x14]
cmp eax, dword [edi + 0x1c]
pop ecx
pop ecx
jle 0x444fb2
mov dword [edi + 8], 8
mov dword [edi], ebx
jmp 0x4450ae
push dword [edi + 0x58]
lea eax, [edi + 0x48]
push eax
push 0
push 4
lea eax, [edi + 0x268]
push eax
push dword [edi + 0x10]
call dword [sym.imp.WS2_32.dll_sendto]
test eax, eax
jge 0x4450ae
call fcn.00458ff9
push dword [eax]
call fcn.0046f059
pop ecx
push eax
push 0x495630
call fcn.0043be59
pop ecx
pop ecx
jmp 0x4450ae
movzx eax, word [edi + 0x66]
push eax
call dword [sym.imp.WS2_32.dll_ntohs]
movzx ebx, ax
movzx eax, word [edi + 0x30]
inc eax
cmp eax, ebx
je 0x44503a
push ebx
push str.Received_unexpected_DATA_packet_block__d_n
call fcn.0043bdf0
inc dword [edi + 0x14]
mov eax, dword [edi + 0x14]
cmp eax, dword [edi + 0x1c]
pop ecx
pop ecx
jle 0x44503a
movzx eax, word [edi + 0x30]
inc eax
push eax
push str.tftp_rx:_giving_up_waiting_for_block__d_n
call fcn.0043be59
pop ecx
pop ecx
jmp 0x4450cd
mov esi, dword [sym.imp.WS2_32.dll_htons]
and dword [edi + 0x14], 0
mov word [edi + 0x30], bx
push 4
lea ebx, [edi + 0x268]
call esi
mov word [ebx], ax
movzx eax, word [edi + 0x30]
push eax
call esi
push dword [edi + 0x58]
mov word [edi + 0x26a], ax
lea eax, [edi + 0x48]
push eax
push 0
push 4
push ebx
push dword [edi + 0x10]
call dword [sym.imp.WS2_32.dll_sendto]
test eax, eax
jge 0x445099
call fcn.00458ff9
push dword [eax]
call fcn.0046f059
mov esi, dword [ebp - 4]
pop ecx
push eax
push 0x495630
call fcn.0043be59
pop ecx
pop ecx
mov esi, dword [ebp - 4]
xor eax, eax
cmp dword [edi + 0x5c], 0x204
setl al
lea eax, [eax + eax + 1]
mov dword [edi], eax
movzx eax, word [edi + 0x30]
push 0
cdq
push 0x200
push edx
push eax
call fcn.00466810
mov dword [esi + 0x1f8], eax
mov dword [esi + 0x1fc], edx
pop esi
pop ebx
leave
ret
Function at 0x4450d1
Capabilities:
Send data
Send data on socket

Disassembly:
push ecx
mov eax, dword [ebx + 0xc]
push ebp
push esi
mov esi, dword [eax]
mov eax, dword [esp + 0x10]
sub eax, 4
push edi
je 0x44512e
dec eax
je 0x445114
dec eax
je 0x4450f3
push str.tftp_tx:_internal_error
jmp 0x445204
inc dword [ebx + 0x14]
push dword [ebx + 0x14]
push str.Timeout_waiting_for_block__d_ACK.__Retries___d_n
call fcn.0043bdf0
mov eax, dword [ebx + 0x14]
cmp eax, dword [ebx + 0x1c]
pop ecx
pop ecx
jle 0x44511f
mov dword [ebx + 8], 8
mov dword [ebx], 3
jmp 0x445210
push dword [ebx + 0x58]
lea eax, [ebx + 0x48]
push eax
mov eax, dword [ebx + 0x60]
jmp 0x4451dc
movzx eax, word [ebx + 0x66]
push eax
call dword [sym.imp.WS2_32.dll_ntohs]
movzx ecx, ax
movzx eax, word [ebx + 0x30]
movzx edx, ax
cmp ecx, edx
je 0x445181
push edx
push ecx
push str.Received_ACK_for_block__d__expecting__d_n
call fcn.0043bdf0
add esp, 0xc
inc dword [ebx + 0x14]
mov eax, dword [ebx + 0x14]
cmp eax, dword [ebx + 0x1c]
jle 0x44522f
movzx eax, word [ebx + 0x30]
push eax
push str.tftp_tx:_giving_up_waiting_for_block__d_ack
push 0x495630
call fcn.0043be59
add esp, 0xc
jmp 0x44522f
mov edi, dword [sym.imp.WS2_32.dll_htons]
and dword [ebx + 0x14], 0
push 3
pop ebp
inc eax
push ebp
mov word [ebx + 0x30], ax
call edi
mov word [ebx + 0x268], ax
movzx eax, word [ebx + 0x30]
push eax
call edi
cmp word [ebx + 0x30], 1
mov word [ebx + 0x26a], ax
jbe 0x4451bf
cmp dword [ebx + 0x60], 0x200
jge 0x4451bf
mov dword [ebx], ebp
jmp 0x44522f
mov edi, dword [ebx + 0xc]
lea ebp, [ebx + 0x60]
push 0x200
mov ecx, ebp
call fcn.0043f9a4
pop ecx
push dword [ebx + 0x58]
lea eax, [ebx + 0x48]
push eax
mov eax, dword [ebp]
push 0
add eax, 4
push eax
lea eax, [ebx + 0x268]
push eax
push dword [ebx + 0x10]
call dword [sym.imp.WS2_32.dll_sendto]
test eax, eax
jge 0x445210
call fcn.00458ff9
push dword [eax]
call fcn.0046f059
pop ecx
push eax
push 0x495630
call fcn.0043be59
pop ecx
pop ecx
movzx eax, word [ebx + 0x30]
push 0
cdq
push 0x200
push edx
push eax
call fcn.00466810
mov dword [esi + 0x200], eax
mov dword [esi + 0x204], edx
pop edi
pop esi
pop ebp
pop ecx
ret
Function at 0x445674
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
push ebx
push esi
push edi
mov edi, eax
mov ebx, dword [edi + 0x16c]
push 0x5c
push dword [ebx]
call fcn.00455fc0
mov esi, dword [edi]
and dword [ebp - 0x10], 0
and dword [ebp - 0xc], 0
pop ecx
pop ecx
mov dword [ebp - 8], eax
call fcn.00448dc1
mov dword [ebp - 0x18], eax
mov eax, dword [esi + 0x80]
mov dword [edi + 0x200], eax
mov eax, dword [esi + 0x28]
mov dword [edi + 0x204], eax
lea eax, [esi + 0x2f4]
mov dword [edi + 0x1fc], eax
mov eax, dword [ebp - 8]
test eax, eax
mov dword [ebp - 0x14], edx
jne 0x4456d8
push 0x25
pop eax
jmp 0x4457b6
cmp byte [eax + 1], 0
je 0x4456d0
push 0x495ef4
push dword [ebx]
call fcn.00454c57
test eax, eax
pop ecx
pop ecx
mov dword [ebp - 8], eax
jne 0x445705
push dword [ebx]
push str.Cant_open__s_for_writing
call fcn.0043be59
pop ecx
pop ecx
push 0x17
jmp 0x4456d2
mov eax, dword [esi + 0xa8]
cmp eax, 0xffffffff
mov ecx, dword [esi + 0xac]
jne 0x44571a
cmp ecx, eax
je 0x445725
push ecx
push eax
mov eax, esi
call fcn.004464b8
pop ecx
pop ecx
push 0x4000
lea ecx, [ebp - 4]
call fcn.0043f9a4
mov ebx, eax
test ebx, ebx
pop ecx
jne 0x4457ab
cmp dword [ebp - 4], eax
jbe 0x445799
push dword [ebp - 8]
lea eax, [esi + 0x2f4]
push dword [ebp - 4]
push 1
push eax
call fcn.00457286
mov ecx, dword [ebp - 4]
add esp, 0x10
cmp eax, ecx
jne 0x445796
add dword [ebp - 0x10], ecx
mov eax, dword [ebp - 0x10]
mov dword [esi + 0x200], eax
adc dword [ebp - 0xc], ebx
mov eax, dword [ebp - 0xc]
mov ecx, edi
mov dword [esi + 0x204], eax
call fcn.004464e6
test eax, eax
jne 0x4457a8
push dword [ebp - 0x14]
mov eax, esi
push dword [ebp - 0x18]
call fcn.0044e69d
mov ebx, eax
test ebx, ebx
pop ecx
pop ecx
je 0x445725
jmp 0x4457ab
push 0x37
pop ebx
test ebx, ebx
jne 0x4457ab
mov ecx, edi
call fcn.004464e6
test eax, eax
je 0x4457ab
push 0x2a
pop ebx
push dword [ebp - 8]
call fcn.00454cdc
pop ecx
mov eax, ebx
pop edi
pop esi
pop ebx
leave
ret
Function at 0x448ea6
Capabilities:
Get local ipv4 addresses
Get socket information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
mov eax, dword [0x4a5294]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov esi, dword [ebx]
push edi
mov edi, dword [ebx + 0xa4]
mov dword [ebp - 0x18], edi
call fcn.00448dc1
push edx
push eax
call fcn.00448dc1
push edx
push eax
call fcn.00448de7
cdq
mov ecx, 0x3e8
idiv ecx
mov ecx, dword [esi + 0x9c]
add esp, 0x10
test ecx, ecx
jne 0x448ef5
mov ecx, dword [esi + 0x98]
test ecx, ecx
je 0x448f11
sub ecx, eax
test ecx, ecx
jg 0x448f0d
push str.Timed_out_before_server_could_connect_to_us
call fcn.0043be59
pop ecx
push 0x1c
jmp 0x448fa6
mov eax, ecx
jmp 0x448f14
push 0x3c
pop eax
imul eax, eax, 0x3e8
push edi
or edi, 0xffffffff
call fcn.0044df3f
or edi, 0xffffffff
cmp eax, edi
pop ecx
je 0x448f99
test eax, eax
je 0x448f92
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x14]
push eax
push dword [ebp - 0x18]
mov dword [ebp - 0x1c], 0x10
call dword [sym.imp.WS2_32.dll_getsockname]
test eax, eax
jne 0x448f5e
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x14]
push eax
push dword [ebp - 0x18]
call dword [sym.imp.WS2_32.dll_accept]
mov edi, eax
push dword [ebp - 0x18]
call dword [sym.imp.WS2_32.dll_closesocket]
cmp edi, 0xffffffff
jne 0x448f73
push str.Error_accept__ing_server_connect
jmp 0x448f9e
push str.Connection_accepted_from_server_n
call fcn.0043bdf0
pop ecx
xor eax, eax
push edi
inc eax
mov dword [ebx + 0xa4], edi
call fcn.00443f58
pop ecx
xor eax, eax
jmp 0x448fa7
push str.Timeout_while_waiting_for_server_connect
jmp 0x448f9e
push str.Error_while_waiting_for_server_connect
call fcn.0043be59
pop ecx
push 0x1e
pop eax
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.00451a25
leave
ret
Function at 0x44a3f0
Capabilities:
Check http status code

Disassembly:
push ecx
mov eax, dword [esp + 8]
push ebx
push esi
push 0x64
cdq
pop ecx
idiv ecx
mov esi, dword [edi]
xor ebx, ebx
cmp eax, 2
je 0x44a416
push str.Couldnt_set_desired_mode
call fcn.0043be59
pop ecx
push 0x11
pop eax
jmp 0x44a471
cmp dword [esp + 0x10], 0xc8
je 0x44a430
push dword [esp + 0x10]
push str.Got_a__03d_response_code_instead_of_the_assumed_200_n
call fcn.0043bdf0
pop ecx
pop ecx
mov eax, dword [esp + 0x14]
cmp eax, 0x10
jne 0x44a442
mov eax, edi
call fcn.00449adc
jmp 0x44a46d
cmp eax, 0x11
jne 0x44a450
mov esi, edi
call fcn.00449b16
jmp 0x44a46d
cmp eax, 0x12
jne 0x44a45b
push 1
push 0xa
jmp 0x44a464
cmp eax, 0x13
jne 0x44a46f
push 1
push 0xb
pop ebx
mov eax, edi
call fcn.00449da2
pop ecx
mov ebx, eax
mov eax, ebx
pop esi
pop ebx
pop ecx
ret
Function at 0x44cdda
Capabilities:
Initialize winsock library

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x19c
mov eax, dword [0x4a5294]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
lea eax, [ebp - 0x198]
push eax
push 2
mov esi, ecx
call dword [sym.imp.WS2_32.dll_WSAStartup]
test eax, eax
je 0x44ce11
push eax
push str.WSAStartup_failed___d_
call fcn.0043be59
pop ecx
jmp 0x44ce37
call dword [sym.imp.WS2_32.dll_WSACleanup]
cmp byte [ebp - 0x198], 2
jne 0x44ce2d
cmp byte [ebp - 0x197], 0
jne 0x44ce2d
xor eax, eax
jmp 0x44ce3b
push str.insufficient_winsock_version_to_support_telnet
call fcn.0043be59
pop ecx
push 2
pop eax
mov ecx, dword [ebp - 4]
xor ecx, ebp
pop esi
call fcn.00451a25
leave
ret

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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x914
mov eax, dword [0x4a5294]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, ecx
mov ecx, dword [ebx]
push esi
mov esi, dword [ebx + 0x16c]
mov eax, dword [esi + 0x1ab0]
sub eax, dword [esi + 0x1aac]
push edi
inc eax
inc eax
push eax
lea eax, [esi + 0x18ac]
push 0x3c
mov dword [ebp - 0x90c], ebx
mov dword [ebp - 0x910], ecx
call fcn.0044d21e
mov eax, dword [esi + 0x1aac]
pop ecx
pop ecx
movzx ecx, byte [eax]
inc eax
cmp ecx, 0x18
mov dword [esi + 0x1aac], eax
je 0x44d798
cmp ecx, 0x23
je 0x44d773
cmp ecx, 0x27
jne 0x44d80d
push 0
push ecx
push 0xfa
mov edi, 0xff
push edi
push str._c_c_c_c
push 0x800
lea eax, [ebp - 0x908]
call fcn.00443975
mov esi, dword [esi + 0x18a8]
add esp, 0x18
push 4
pop ebx
jmp 0x44d727
push dword [esi]
call fcn.00452390
inc eax
add eax, ebx
cmp eax, 0x7fa
pop ecx
mov dword [ebp - 0x914], eax
jae 0x44d724
lea eax, [ebp - 0x88]
push eax
lea eax, [ebp - 0x108]
push eax
push str._127_____127s
push dword [esi]
call fcn.00455533
lea eax, [ebp - 0x88]
push eax
push 1
lea eax, [ebp - 0x108]
push eax
push 0
mov eax, 0x800
sub eax, ebx
push str._c_s_c_s
push eax
lea eax, [ebp + ebx - 0x908]
call fcn.00443975
mov ebx, dword [ebp - 0x914]
add esp, 0x28
mov esi, dword [esi + 4]
test esi, esi
jne 0x44d6be
push 0xf0
push edi
mov eax, 0x800
sub eax, ebx
push 0x497960
push eax
lea eax, [ebp + ebx - 0x908]
call fcn.00443975
add esp, 0x10
push esi
inc ebx
inc ebx
push ebx
lea eax, [ebp - 0x908]
push eax
mov eax, dword [ebp - 0x90c]
push dword [eax + 0xa0]
call dword [sym.imp.WS2_32.dll_send]
add ebx, 0xfffffffe
push ebx
jmp 0x44d7f8
add esi, 0x1828
push esi
mov dword [ebp - 0x90c], esi
call fcn.00452390
pop ecx
push 0xf0
mov edi, 0xff
push edi
push esi
push 0
push 0x23
jmp 0x44d7bb
add esi, 0x1808
push esi
mov dword [ebp - 0x90c], esi
call fcn.00452390
pop ecx
push 0xf0
mov edi, 0xff
push edi
push esi
push 0
push 0x18
push 0xfa
push edi
mov esi, eax
push str._c_c_c_c_s_c_c
push 0x800
lea eax, [ebp - 0x908]
add esi, 6
call fcn.00443975
add esp, 0x24
push 0
push esi
lea eax, [ebp - 0x908]
push eax
push dword [ebx + 0xa0]
call dword [sym.imp.WS2_32.dll_send]
add esi, 0xfffffffe
push esi
mov ecx, dword [ebp - 0x910]
push 0x3e
lea eax, [ebp - 0x906]
call fcn.0044d21e
pop ecx
pop ecx
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00451a25
leave
ret
Function at 0x44df3f
Capabilities:
Get socket status

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x324
cdq
mov ecx, 0x3e8
idiv ecx
push ebx
push esi
xor esi, esi
or ecx, 0xffffffff
mov dword [ebp - 0x114], esi
mov dword [ebp - 0x21c], esi
imul edx, edx, 0x3e8
mov dword [ebp - 8], edx
xor edx, edx
mov dword [ebp - 0xc], eax
mov eax, dword [ebp + 8]
inc edx
cmp eax, 0xffffffff
je 0x44df94
mov dword [ebp - 0x218], eax
mov dword [ebp - 0x21c], edx
mov dword [ebp - 0x110], eax
mov dword [ebp - 0x114], edx
mov ecx, eax
cmp edi, 0xffffffff
mov dword [ebp - 0x324], esi
je 0x44dfeb
xor eax, eax
cmp dword [ebp - 0x114], esi
mov dword [ebp - 0x320], edi
mov dword [ebp - 0x324], edx
jbe 0x44dfc7
cmp dword [ebp + eax*4 - 0x110], edi
je 0x44dfc7
inc eax
cmp eax, dword [ebp - 0x114]
jb 0x44dfb5
cmp eax, dword [ebp - 0x114]
jne 0x44dfe5
cmp dword [ebp - 0x114], 0x40
jae 0x44dfe5
mov dword [ebp + eax*4 - 0x110], edi
inc dword [ebp - 0x114]
cmp edi, ecx
jbe 0x44dfeb
mov ecx, edi
lea ebx, [ecx + 1]
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0x114]
push eax
lea eax, [ebp - 0x324]
push eax
lea eax, [ebp - 0x21c]
push eax
push ebx
call dword [sym.imp.WS2_32.dll_select]
mov esi, eax
cmp esi, 0xffffffff
jne 0x44e020
call dword [sym.imp.KERNEL32.DLL_GetLastError]
cmp eax, 4
je 0x44dfee
test esi, esi
jge 0x44e029
or eax, 0xffffffff
jmp 0x44e090
jne 0x44e02f
xor eax, eax
jmp 0x44e090
xor esi, esi
cmp dword [ebp + 8], 0xffffffff
je 0x44e061
lea eax, [ebp - 0x21c]
push eax
push dword [ebp + 8]
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x44e04b
inc esi
lea eax, [ebp - 0x114]
push eax
push dword [ebp + 8]
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x44e061
or esi, 4
cmp edi, 0xffffffff
je 0x44e08e
lea eax, [ebp - 0x324]
push eax
push edi
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x44e07a
or esi, 2
lea eax, [ebp - 0x114]
push eax
push edi
call sub.WS2_32.dll___WSAFDIsSet
test eax, eax
je 0x44e08e
or esi, 4
mov eax, esi
pop esi
pop ebx
leave
ret