Function at 0x14015f970
Capabilities:
Receive data
Receive data on socket

Disassembly:
mov qword [rsp + 8], rcx
push rdi
sub rsp, 0x130
lea rdi, [rsp + 0x30]
mov ecx, 0x40
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rcx, qword [rsp + 0x140]
mov rax, qword [0x14021ab88]
xor rax, rsp
mov qword [rsp + 0x128], rax
mov dword [rsp + 0xe4], 0
mov rax, qword [rsp + 0x140]
mov rax, qword [rax + 0x18]
mov qword [rsp + 0xe8], rax
mov rax, qword [rsp + 0xe8]
mov rax, qword [rax + 0x6d0]
mov qword [rsp + 0xf0], rax
mov rax, qword [rsp + 0x140]
add rax, 0xe8
mov qword [rsp + 0xf8], rax
mov dword [rsp + 0xd4], 0x80
mov rax, qword [rsp + 0xf0]
mov eax, dword [rax + 0x144]
add eax, 4
lea rcx, [rsp + 0xd4]
mov qword [rsp + 0x28], rcx
lea rcx, [rsp + 0x40]
mov qword [rsp + 0x20], rcx
xor r9d, r9d
mov r8d, eax
mov rax, qword [rsp + 0xf0]
mov rdx, qword [rax + 0x150]
mov rax, qword [rsp + 0xf0]
mov rcx, qword [rax + 0x18]
call qword [sym.imp.WS2_32.dll_recvfrom]
mov rcx, qword [rsp + 0xf0]
mov dword [rcx + 0x13c], eax
mov rax, qword [rsp + 0xf0]
cmp dword [rax + 0x138], 0
jne 0x14015faa6
movsxd rax, dword [rsp + 0xd4]
mov rcx, qword [rsp + 0xf0]
add rcx, 0xb8
mov r8, rax
lea rdx, [rsp + 0x40]
call fcn.14009961c
mov rax, qword [rsp + 0xf0]
mov ecx, dword [rsp + 0xd4]
mov dword [rax + 0x138], ecx
mov rax, qword [rsp + 0xf0]
cmp dword [rax + 0x13c], 4
jge 0x14015fadf
lea rdx, str.Received_too_short_packet
mov rcx, qword [rsp + 0x140]
call fcn.14009b14c
mov rax, qword [rsp + 0xf0]
mov dword [rax + 0xc], 7
jmp 0x14015fda7
mov rax, qword [rsp + 0xf0]
add rax, 0x150
mov rcx, rax
call fcn.14015eac0
mov word [rsp + 0x100], ax
movzx eax, word [rsp + 0x100]
mov rcx, qword [rsp + 0xf0]
mov dword [rcx + 0xc], eax
mov rax, qword [rsp + 0xf0]
mov eax, dword [rax + 0xc]
mov dword [rsp + 0x120], eax
mov eax, dword [rsp + 0x120]
dec eax
mov dword [rsp + 0x120], eax
cmp dword [rsp + 0x120], 5
ja case.0x14015fb59.1
movsxd rax, dword [rsp + 0x120]
lea rcx, [0x140000000]
mov eax, dword [rcx + rax*4 + 0x15fddc]
add rax, rcx
jmp rax
mov rax, qword [rsp + 0xf0]
cmp dword [rax + 0x13c], 4
jle 0x14015fc64
mov rax, qword [rsp + 0xf0]
movzx eax, word [rax + 0x14c]
inc eax
and eax, 0xffff
mov dword [rsp + 0x124], eax
mov rcx, qword [rsp + 0xf0]
add rcx, 0x150
call fcn.14015eb00
movzx eax, ax
mov ecx, dword [rsp + 0x124]
cmp ecx, eax
jne 0x14015fc64
mov rax, qword [rsp + 0xf0]
mov eax, dword [rax + 0x13c]
sub eax, 4
cdqe
mov rcx, qword [rsp + 0xf0]
mov rcx, qword [rcx + 0x150]
add rcx, 4
mov r9, rax
mov r8, rcx
mov edx, 1
mov rcx, qword [rsp + 0x140]
call fcn.1400997e8
mov dword [rsp + 0xe4], eax
cmp dword [rsp + 0xe4], 0
je 0x14015fc20
mov edx, 5
mov rcx, qword [rsp + 0xf0]
call fcn.14015f880
mov eax, dword [rsp + 0xe4]
jmp 0x14015fdae
mov rax, qword [rsp + 0xf0]
mov eax, dword [rax + 0x13c]
sub eax, 4
cdqe
mov rcx, qword [rsp + 0xf8]
add rax, qword [rcx + 0x10]
mov rcx, qword [rsp + 0xf8]
mov qword [rcx + 0x10], rax
mov rax, qword [rsp + 0xf8]
mov rdx, qword [rax + 0x10]
mov rcx, qword [rsp + 0x140]
call fcn.140099f3b
jmp 0x14015fd7d
mov rax, qword [rsp + 0xf0]
add rax, 0x150
mov rcx, rax
call fcn.14015eb00
mov word [rsp + 0x104], ax
mov rax, qword [rsp + 0xf0]
mov rax, qword [rax + 0x150]
add rax, 4
mov qword [rsp + 0x108], rax
mov rax, qword [rsp + 0xf0]
mov eax, dword [rax + 0x13c]
sub eax, 4
cdqe
mov qword [rsp + 0x110], rax
movzx eax, word [rsp + 0x104]
mov rcx, qword [rsp + 0xf0]
mov dword [rcx + 8], eax
mov rdx, qword [rsp + 0x110]
mov rcx, qword [rsp + 0x108]
call fcn.14015eb40
cmp rax, qword [rsp + 0x110]
jae 0x14015fd0b
mov r8, qword [rsp + 0x108]
lea rdx, str.TFTP_error:__s
mov rcx, qword [rsp + 0x140]
call fcn.14009a8f0
jmp 0x14015fd7d
jmp 0x14015fd7d
mov rax, qword [rsp + 0xf0]
mov eax, dword [rax + 0x13c]
sub eax, 2
mov rcx, qword [rsp + 0xf0]
mov rcx, qword [rcx + 0x150]
add rcx, 2
mov r8d, eax
mov rdx, rcx
mov rcx, qword [rsp + 0xf0]
call fcn.14015ec90
mov dword [rsp + 0xe4], eax
cmp dword [rsp + 0xe4], 0
je 0x14015fd60
mov eax, dword [rsp + 0xe4]
jmp 0x14015fdae
jmp 0x14015fd7d
lea r8, str.Internal_error:_Unexpected_packet
lea rdx, [0x140214c14]
mov rcx, qword [rsp + 0x140]
call fcn.14009b14c
mov rcx, qword [rsp + 0x140]
call fcn.14009a896
test eax, eax
je 0x14015fda7
mov edx, 5
mov rcx, qword [rsp + 0xf0]
call fcn.14015f880
mov eax, Ordinal_45
jmp 0x14015fdae
mov eax, dword [rsp + 0xe4]
mov rdi, rax
mov rcx, rsp
lea rdx, reloc.WS2_32.dll_bind
call fcn.14009a508
mov rax, rdi
mov rcx, qword [rsp + 0x128]
xor rcx, rsp
call fcn.1400995fe
add rsp, 0x130
pop rdi
ret