Function at 0x140008c10
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov eax, 0x1bb0
call fcn.1400455d0
sub rsp, rax
lea rbp, [rsp + 0x40]
mov qword [rbp + 0x1bc8], rbx
mov rax, qword [0x14005b040]
xor rax, rbp
mov qword [rbp + 0x1b60], rax
mov ebx, r9d
mov r13, r8
mov qword [rbp + 0x18], r8
mov dword [rbp + 0x10], edx
mov rsi, rcx
mov rax, qword [rbp + 0x1bd0]
mov qword [rbp + 0x40], rax
mov r14, qword [rbp + 0x1be8]
mov qword [rbp + 0x28], r14
lea rdi, [r8 + 0xf0]
xor r15d, r15d
mov dword [rbp + 4], r15d
xor edx, edx
mov r8d, 0x1648
lea rcx, [rbp + 0x50]
call fcn.140045990
mov rcx, qword [rsi + 0x2058]
mov dword [rbp + 0x29c], r15d
mov dword [rbp + 0x390], r15d
mov dword [rbp + 0x484], r15d
mov dword [rbp + 0x680], r15d
mov qword [rbp + 0x1690], rcx
mov dword [rbp + 0x1688], 0xffffffff
mov dword [rbp + 0x34], r15d
mov dword [rbp + 0x20], r15d
mov qword [rbp + 8], r15
mov eax, dword [rsp]
mov eax, 0x800
sub rsp, rax
lea r15, [rsp + 0x40]
mov eax, dword [r15]
mov eax, dword [r13 + 0x18]
mov dword [rbp + 0x38], eax
mov r12d, 1
mov r9d, r12d
lea r8, str.PacketValidation
lea rdx, str.Settings
call fcn.140019450
test eax, eax
je 0x140008e6c
lea edx, [rbx - 0xf0]
mov r8, rdi
cmp ebx, 0xf0
jl 0x140008e15
movzx eax, byte [r13]
dec al
cmp al, r12b
jbe 0x140008d35
mov r12d, 2
jmp 0x140008e15
movzx eax, byte [r13 + 2]
cmp al, 6
jae 0x140008d49
mov r12d, 3
jmp 0x140008e15
cmp al, 0x10
jbe 0x140008d58
mov r12d, 8
jmp 0x140008e15
xor eax, eax
nop word [rax + rax]
cmp rax, 0x40
jge 0x140008e0f
cmp byte [rax + r13 + 0x2c], 0
je 0x140008d77
inc rax
jmp 0x140008d60
xor eax, eax
nop dword [rax]
cmp rax, 0x80
jge 0x140008e07
cmp byte [rax + r13 + 0x6c], 0
je 0x140008d95
inc rax
jmp 0x140008d80
cmp byte [r13 + 0xec], 0x63
jne 0x140008dff
cmp byte [r13 + 0xed], 0x82
jne 0x140008dff
cmp byte [r13 + 0xee], 0x53
jne 0x140008dff
cmp byte [r13 + 0xef], 0x63
jne 0x140008dff
test edx, edx
jle 0x140008def
movzx eax, byte [r8]
cmp al, 0xff
je 0x140008ded
test al, al
jne 0x140008dd4
inc r8
dec edx
jmp 0x140008de9
movzx ecx, byte [r8 + 1]
mov eax, 0xfffffffe
sub eax, ecx
add edx, eax
add r8, 2
add r8, rcx
test edx, edx
jg 0x140008dc1
test edx, edx
js 0x140008df7
cmp byte [r8], 0xff
je 0x140008e6c
mov r12d, 7
jmp 0x140008e15
mov r12d, 6
jmp 0x140008e15
mov r12d, 5
jmp 0x140008e15
mov r12d, 4
mov r8d, r12d
lea rdx, str.Invalid_DHCP_request_ignored__error___d__r_n
mov rcx, qword [rsi + 0x2058]
call fcn.140019c40
nop
xor esi, esi
mov edi, esi
mov eax, dword [rbp + 0x680]
test eax, eax
jle 0x1400092b0
lea rbx, [rbp + 0x690]
mov rcx, qword [rbx]
test rcx, rcx
je 0x140008e5b
call fcn.1400272e4
mov qword [rbx], rsi
mov eax, dword [rbp + 0x680]
inc edi
add rbx, 0x10
cmp edi, eax
jl 0x140008e45
xor eax, eax
jmp 0x14000a297
mov rcx, rdi
movzx eax, byte [rdi]
cmp al, 0xff
je 0x140008e96
test al, al
jne 0x140008e7f
inc rcx
jmp 0x140008e8f
cmp byte [rcx], 0x35
je 0x140008eff
movzx eax, byte [rcx + 1]
add rcx, 2
add rcx, rax
movzx eax, byte [rcx]
cmp al, 0xff
jne 0x140008e76
xor r9b, r9b
mov byte [rbp], r9b
mov byte [r14], 0
mov rcx, rdi
lea rax, [rbp + 0x1810]
xorps xmm0, xmm0
mov edx, 2
nop dword [rax]
nop word [rax + rax]
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
movups xmmword [rax + 0x20], xmm0
movups xmmword [rax + 0x30], xmm0
movups xmmword [rax + 0x40], xmm0
movups xmmword [rax + 0x50], xmm0
movups xmmword [rax + 0x60], xmm0
lea rax, [rax + 0x80]
movups xmmword [rax - 0x10], xmm0
sub rdx, r12
jne 0x140008ec0
movzx eax, byte [rdi]
cmp al, 0xff
je 0x140008f4d
lea rdx, [rcx + 1]
test al, al
jne 0x140008f06
mov rcx, rdx
jmp 0x140008f15
movzx r9d, byte [rcx + 2]
jmp 0x140008e99
movzx eax, byte [rdx]
cmp byte [rcx], 0x37
je 0x140008f1e
add rcx, 2
add rcx, rax
movzx eax, byte [rcx]
cmp al, 0xff
jne 0x140008ef2
jmp 0x140008f4d
mov r8d, 2
add eax, r8d
cmp eax, r8d
jbe 0x140008f4d
add rcx, r8
nop
movzx eax, byte [rcx]
mov byte [rbp + rax + 0x1810], r12b
inc r8d
lea rcx, [rcx + 1]
movzx eax, byte [rdx]
add eax, 2
cmp r8d, eax
jl 0x140008f30
movzx r9d, r9b
lea rdx, [0x140000000]
cmp r9d, 8
ja case.default.0x140008f69
mov ecx, dword [rdx + r9*4 + 0xa2c0]
add rcx, rdx
jmp rcx
lea rbx, str.BOOTPREQUEST
jmp 0x140008fd7
lea rbx, str.DHCPREQUEST
jmp 0x140008fd7
lea rbx, str.DHCPDISCOVER
jmp 0x140008fd7
lea rbx, str.DHCPOFFER
jmp 0x140008fd7
lea rbx, str.DHCPDECLINE
jmp 0x140008fd7
lea rbx, str.DHCPACK
jmp 0x140008fd7
lea rbx, str.DHCPNAK
jmp 0x140008fd7
lea rbx, str.DHCPRELEASE
jmp 0x140008fd7
lea rbx, str.DHCPINFORM
jmp 0x140008fd7
lea r8, [0x140050464]
mov edx, 0x28
lea rbx, [0x14005e838]
mov rcx, rbx
call fcn.1400110e0
mov r8, rbx
lea rdx, str.DHCP_message___s_r_n
mov rcx, qword [rsi + 0x2058]
call fcn.140019c40
lea r8, str.___requested_options:
mov edx, 0x800
mov rcx, r15
call fcn.1400270dc
xor ebx, ebx
lea r14, [rbp + 0x1810]
nop word [rax + rax]
cmp byte [r14], 0
jbe 0x140009045
mov r9d, ebx
lea r8, [0x1400513e8]
mov edx, 8
lea rcx, [rbp + 0x16c0]
call fcn.1400110e0
lea r8, [rbp + 0x16c0]
mov edx, 0x800
mov rcx, r15
call fcn.14002dcb0
inc ebx
inc r14
cmp ebx, 0x100
jl 0x140009010
mov r8, r15
lea rdx, str._s_r_n
mov rcx, qword [rsi + 0x2058]
call fcn.140019c40
xor r15d, r15d
mov dword [rbp + 0x24], r15d
mov dword [rbp + 0x30], r15d
xor r9d, r9d
lea r8, str.UseClientID
lea rdx, str.Settings
mov rcx, qword [rsi + 0x2058]
call fcn.140019450
mov ebx, eax
mov r8d, r15d
cmp eax, r12d
setne r8b
lea rax, [rbp + 0x24]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x30]
mov rdx, r13
call fcn.140008620
mov r13, rax
cmp ebx, r12d
jne 0x1400090f9
cmp dword [rbp + 0x30], r15d
je 0x1400090e6
mov eax, dword [rbp + 0x24]
test eax, eax
jne 0x1400090cf
lea rdx, str.client_identifier__option_61__ascii_type__is_recognized_r_n
jmp 0x1400090ed
lea rdx, str.client_identifier__option_61__ethernet_media_type__is_recognized_r_n
lea rcx, str.client_identifier__option_61__unknown_type__is_recognized_r_n
cmp eax, r12d
cmovne rdx, rcx
jmp 0x1400090ed
lea rdx, str.client_identifier__option_61__is_not_recognized_r_n
mov rcx, qword [rsi + 0x2058]
call fcn.140019c40
mov r8, rdi
movzx eax, byte [rdi]
cmp al, 0xff
je 0x14000912a
test al, al
jne 0x14000910c
inc r8
jmp 0x140009122
movzx eax, byte [r8 + 1]
cmp byte [r8], 0x3c
je 0x14000919c
add r8, 2
add r8, rax
movzx eax, byte [r8]
cmp al, 0xff
jne 0x140009103
mov r14d, r15d
mov dword [rsp + 0x28], gethostname
lea rax, [rbp + 0x16c8]
mov qword [rsp + 0x20], rax
lea r9, [0x1400501f0]
lea r8, str.DefaultVendorClass
lea rdx, str.Settings
mov rcx, qword [rsi + 0x2058]
call fcn.140019080
movsxd r9, dword [rbp + 0x10]
mov r8, r9
lea r12, [rsi + r9*8]
mov rax, qword [r12]
mov r10d, dword [rbp + 0x38]
cmp qword [rax + 8], r15
je 0x1400091e8
test r10d, r10d
je 0x140009327
mov rcx, rdi
movzx eax, byte [rdi]
cmp al, 0xff
je 0x1400091e8
nop
mov edx, r14d
test al, al
jne 0x1400091cd
inc rcx
jmp 0x1400091e1
cmp al, 0x32
mov ebx, 0x32
ja 0x1400091a8
mov rbx, rax
add r8, 2
mov r9, rbx
mov edx, 0x32
lea rcx, [rbp + 0x16c8]
call fcn.140026bc0
mov byte [rbp + rbx + 0x16c8], r15b
mov r14d, r12d
jmp 0x140009162
cmp byte [rcx], 0x52
je 0x1400092b7
movzx eax, byte [rcx + 1]
add rcx, 2
add rcx, rax
movzx eax, byte [rcx]
cmp al, 0xff
jne 0x140009190
mov rdx, qword [rbp + 0x18]
mov byte [rbp + 0x1700], r15b
mov dword [rbp + 0x38], 0xffffffff
imul rax, r8, 0x78
mov ecx, dword [rax + rsi + 0x200]
mov dword [rbp + 0x24], ecx
lea rax, [rbp + 0x24]
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0x1700]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdx
lea r8, [rbp + 0x38]
mov edx, r10d
mov rcx, rsi
call fcn.14000a570
mov ebx, dword [rbp + 0x38]
mov dword [rbp + 0x38], ebx
test eax, eax
jne 0x140009250
test ebx, ebx
jns 0x140009336
mov ebx, dword [rbp + 0x24]
mov dword [rbp + 0x38], ebx
mov byte [rbp + 0x1700], r15b
test ebx, ebx
jns 0x140009336
lea rdx, str.Ignoring_request_because_no_matching_scope_found_r_n
mov rcx, qword [rsi + 0x2058]
call fcn.140019c40
test r13, r13
je 0x140009279
mov rcx, r13
call fcn.1400272e4
nop
mov edi, r15d
mov eax, dword [rbp + 0x680]
test eax, eax
jle 0x1400092b0
lea rbx, [rbp + 0x690]
nop dword [rax]
mov rcx, qword [rbx]
test rcx, rcx
je 0x1400092a6
call fcn.1400272e4
mov qword [rbx], r15
mov eax, dword [rbp + 0x680]
inc edi
add rbx, 0x10
cmp edi, eax
jl 0x140009290
xor eax, eax
jmp 0x14000a297
test rcx, rcx
je 0x1400091e8
cmp byte [rcx + 1], r15b
jbe 0x1400091e8
add rcx, 2
movzx eax, byte [rcx]
cmp al, 0xff
je 0x1400091e8
nop dword [rax]
test al, al
jne 0x1400092e9
inc rcx
jmp 0x1400092f9
cmp byte [rcx], 5
je 0x140009305
movzx eax, byte [rcx + 1]
add rcx, 2
add rcx, rax
movzx eax, byte [rcx]
cmp al, 0xff
jne 0x1400092e0
jmp 0x1400091e8
test rcx, rcx
je 0x1400091e8
mov rdx, qword [rbp + 0x18]
cmp byte [rcx + 1], 4
jne 0x1400091ec
mov eax, dword [rcx + 2]
mov r10d, eax
jmp 0x1400091ec
mov rdx, qword [rbp + 0x18]
mov eax, dword [rdx + 0xc]
mov r10d, eax
jmp 0x1400091ec
mov rax, qword [r12]
mov rcx, qword [rbp + 0x18]
lea r8, [rcx + 0x1c]
lea rdx, [rbp + 0x34]
mov qword [rsp + 0x38], rdx
mov rax, qword [rax + 8]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], ebx
lea rax, [rbp + 0x1700]
mov qword [rsp + 0x20], rax
mov r9, r13
movzx edx, byte [rcx + 2]
lea rcx, [rbp + 0x50]
call fcn.140001820
mov r15d, eax
test eax, eax
je 0x14000955d
mov rbx, 0xffffffffffffffff
inc rbx
cmp byte [rbx + r13], 0
jne 0x140009386
add rbx, 0x102
mov rcx, rbx
call fcn.14002c94c
mov qword [rbp + 8], rax
lea r8, [0x140051444]
mov rdx, rbx
mov rcx, rax
call fcn.1400270dc
mov r8, r13
mov rdx, rbx
mov rcx, qword [rbp + 8]
call fcn.14002dcb0
mov dword [rsp + 0x28], 0xff
lea rax, [rbp + 0x1a60]
mov qword [rsp + 0x20], rax
lea r8, str.Hostname
mov rdx, r13
mov rcx, qword [rsi + 0x2058]
call fcn.140019330
test eax, eax
je 0x140009418
lea r8, [0x140051448]
mov rdx, rbx
mov rcx, qword [rbp + 8]
call fcn.14002dcb0
lea r8, [rbp + 0x1a60]
mov rdx, rbx
mov rcx, qword [rbp + 8]
call fcn.14002dcb0
lea r8, [0x140051444]
mov rdx, rbx
mov rcx, qword [rbp + 8]
call fcn.14002dcb0
lea rcx, [rbp + 0x68]
call fcn.140011110
mov ebx, eax
mov dword [rbp + 0x24], eax
movzx eax, byte [rbp]
dec al
test al, 0xfd
jne 0x1400098bb
lea rcx, [rbp + 0x50]
call fcn.140011110
mov edx, eax
and edx, ebx
mov rax, qword [r12]
mov ecx, dword [rax + 0x564]
and ecx, ebx
cmp ecx, edx
je 0x1400094cb
mov r9d, dword [rbp + 0x10]
lea r8, [rbp + 0x50]
lea rdx, str.Configured_IP_address__s_is_not_in_the_same_subnet_index_as_Adapter__d_r_n
mov rcx, qword [rsi + 0x2058]
call fcn.140019c40
xor r9d, r9d
lea r8, str.DeleteClientsFromWrongSubnet
lea rdx, str.Settings
mov rcx, qword [rsi + 0x2058]
call fcn.140019450
cmp eax, 1
jb 0x1400094cb
mov rdx, r13
mov rcx, rsi
call fcn.140008420
mov rbx, qword [rbp + 8]
test eax, eax
je 0x1400094cf
mov r8, rbx
lea rdx, str.Releasing_client__s_IP_address
mov rcx, rsi
call fcn.14000b6f0
xor r15d, r15d
jmp 0x1400094cf
mov rbx, qword [rbp + 8]
mov r12d, dword [rbp + 0x38]
test r12d, r12d
js 0x14000954e
mov eax, dword [rbp + 0x1688]
test eax, eax
js 0x14000954e
cmp eax, r12d
je 0x14000954e
mov r9d, dword [rbp + 0x10]
lea r8, [rbp + 0x50]
lea rdx, str.Configured_client__s_switched_interface_index_as_Adapter__d_r_n
mov rcx, qword [rsi + 0x2058]
call fcn.140019c40
xor r9d, r9d
lea r8, str.DeleteClientsFromWrongIndex
lea rdx, str.Settings
mov rcx, qword [rsi + 0x2058]
call fcn.140019450
cmp eax, 1
jb 0x14000954e
mov rdx, r13
mov rcx, rsi
call fcn.140008420
test eax, eax
je 0x14000954e
mov r8, rbx
lea rdx, str.Releasing_client__s_IP_address
mov rcx, rsi
call fcn.14000b6f0
xor r15d, r15d
mov r12d, dword [rbp + 0x24]
jmp 0x1400095c1
test r15d, r15d
jne 0x1400098bf
mov r12d, dword [rbp + 0x24]
jmp 0x1400095c1
mov dword [rsp + 0x30], ebx
mov dword [rsp + 0x28], 0x18
lea rax, [rbp + 0x16a0]
mov qword [rsp + 0x20], rax
lea r9, str.SUBNETMASK
lea r8, [rbp + 0x1700]
lea rdx, [rbp + 0x1700]
mov rcx, qword [rsi + 0x2058]
call fcn.140019620
test eax, eax
jg 0x1400095b2
lea r8, str.255.255.255.0
mov edx, 0x18
lea rcx, [rbp + 0x16a0]
call fcn.1400270dc
lea rcx, [rbp + 0x16a0]
call fcn.140011110
mov r12d, eax
movzx eax, byte [rbp]
test al, 0xfc
jne 0x1400098bb
cmp al, 2
je 0x1400098bb
mov ebx, 1
cmp dword [rbp + 0x34], 0
jne 0x140009605
mov r9d, ebx
lea r8, str.ConfigureUnknownClients
lea rdx, str.Settings
mov rcx, qword [rsi + 0x2058]
call fcn.140019450
cmp eax, ebx
jne 0x1400098bb
lea rax, [rsi + 0x2004]
cmp byte [rax], 0
je 0x14000966e
test r14d, r14d
je 0x140009656
lea r8, [rbp + 0x16c8]
sub r8, rax
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x140009633
inc rax
test ecx, ecx
jne 0x140009620
test edx, edx
je 0x14000966e
lea r8, [rbp + 0x16c8]
lea rdx, str.Vendor_class_mismatch___s__r_n
mov rcx, qword [rsi + 0x2058]
call fcn.140019c40
mov eax, dword [rbp + 0x20]
jmp 0x140009673
lea rdx, str.No_Vendor_class_found_r_n
mov rcx, qword [rsi + 0x2058]
call fcn.140019c40
mov eax, dword [rbp + 0x20]
jmp 0x140009673
mov dword [rbp + 0x20], ebx
mov eax, ebx
test eax, eax
je 0x1400097af
mov dword [rsp + 0x28], 0xff
lea rax, [rbp + 0x1960]
mov qword [rsp + 0x20], rax
lea r9, [0x1400501f0]
lea r8, [0x1400515a0]
lea rdx, str.Settings
mov rcx, qword [rsi + 0x2058]
call fcn.140019080
mov r10d, eax
test eax, eax
je 0x1400097ba
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rax + r13], 0
jne 0x1400096c2
movsxd rdx, eax
test eax, eax
jle 0x1400096fc
lea r8, [0x140000000]
nop word [rax + rax]
dec rdx
movsx rcx, byte [rdx + r13]
movzx eax, al
xor rcx, rax
movzx eax, byte [rcx + r8 + 0x500b0]
test rdx, rdx
jg 0x1400096e0
movzx ecx, al
mov eax, ecx
shr eax, 3
and ecx, 7
mov r8d, ebx
shl r8d, cl
xor ecx, ecx
lea r9d, [rax + rax*2]
cmp r9d, r10d
jge 0x140009747
movsx ecx, byte [rbp + r9 + 0x1960]
lea eax, [rcx - 0x61]
cmp al, 5
ja 0x14000972d
sub ecx, 0x57
jmp 0x140009747
lea eax, [rcx - 0x41]
cmp al, 5
ja 0x140009739
sub ecx, 0x37
jmp 0x140009747
lea eax, [rcx - 0x30]
cmp al, 9
ja 0x140009745
sub ecx, 0x30
jmp 0x140009747
xor ecx, ecx
shl ecx, 4
lea eax, [r9 + 1]
cmp eax, r10d
jge 0x140009784
movsx edx, byte [rbp + r9 + 0x1961]
lea eax, [rdx - 0x61]
cmp al, 5
ja 0x140009768
lea eax, [rdx - 0x57]
jmp 0x140009782
lea eax, [rdx - 0x41]
cmp al, 5
ja 0x140009774
lea eax, [rdx - 0x37]
jmp 0x140009782
lea eax, [rdx - 0x30]
cmp al, 9
ja 0x140009780
lea eax, [rdx - 0x30]
jmp 0x140009782
xor eax, eax
add ecx, eax
test ecx, r8d
mov ebx, 0
setne bl
mov dword [rbp + 0x20], ebx
test ecx, r8d
jne 0x1400097b2
mov r8, r13
lea rdx, str._s_service_denied_due_to_hash_bucket_allocation__HBA__r_n
mov rcx, qword [rsi + 0x2058]
call fcn.140019c40
jmp 0x1400097b2
mov ebx, dword [rbp + 0x20]
test ebx, ebx
je 0x1400098bb
mov rbx, rdi
xor r9d, r9d
lea r8, str.IgnoreRequestedAddress
lea rdx, str.Settings
mov rcx, qword [rsi + 0x2058]
call fcn.140019450
test eax, eax
jne 0x140009809
movzx eax, byte [rdi]
cmp al, 0xff
je 0x140009809
test al, al
jne 0x1400097ee
inc rbx
jmp 0x140009802
cmp byte [rbx], 0x32
je 0x1400098b3
movzx eax, byte [rbx + 1]
add rbx, 2
add rbx, rax
movzx eax, byte [rbx]
cmp al, 0xff
jne 0x1400097e5
mov rdx, qword [rbp + 0x18]
mov ecx, dword [rdx + 0xc]
call qword [sym.imp.WS2_32.dll_ntohl]
mov ebx, eax
lea rdx, str.Perform_auto_configuration_r_n
mov rcx, qword [rsi + 0x2058]
call fcn.140019c40
movsxd r14, dword [rbp + 0x10]
mov r9, qword [rsi + r14*8]
mov dword [rsp + 0x28], r12d
mov dword [rsp + 0x20], ebx
mov r9, qword [r9 + 8]
mov r12d, dword [rbp + 0x38]
mov r8d, r12d
lea rdx, [rbp + 0x16a0]
mov rcx, rsi
call fcn.14000a900
test eax, eax
je 0x1400098c3
lea r9, [rbp + 0x16a0]
lea r8, [0x140050414]
mov edx, 0x18
lea rcx, [rbp + 0x50]
call fcn.1400110e0
mov qword [rsp + 0x20], 0
lea r9, [rbp + 0x1700]
mov r8d, r12d
mov rdx, r13
lea rcx, [rbp + 0x50]
call fcn.140001fd0
lea r9, [rbp + 0x1700]
mov r8d, r12d
mov rdx, r13
lea rcx, [rbp + 0x50]
call fcn.140001120
mov r15d, 1
jmp 0x1400098c3
mov ecx, dword [rbx + 2]
jmp 0x140009810
mov r12d, dword [rbp + 0x38]
mov r14d, dword [rbp + 0x10]
movzx eax, byte [rbp]
cmp eax, 8
ja case.0x1400098e1.2
lea rdx, [0x140000000]
mov ecx, dword [rdx + rax*4 + 0xa2e4]
add rcx, rdx
jmp rcx
mov r14, qword [rbp + 0x18]
cmp byte [r14], 1
jne case.0x1400098e1.2
jmp 0x1400098f7
mov r14, qword [rbp + 0x18]
test r15d, r15d
je 0x140009da4
mov rcx, rdi
movzx eax, byte [rdi]
cmp al, 0xff
je 0x140009978
nop word [rax + rax]
test al, al
jne 0x140009919
inc rcx
jmp 0x140009929
cmp byte [rcx], 0x52
je 0x140009938
movzx eax, byte [rcx + 1]
add rcx, 2
add rcx, rax
movzx eax, byte [rcx]
cmp al, 0xff
jne 0x140009910
mov rcx, rdi
movzx eax, byte [rdi]
jmp 0x140009982
test rcx, rcx
je 0x140009978
cmp byte [rcx + 1], 0
jbe 0x140009978
add rcx, 2
movzx eax, byte [rcx]
cmp al, 0xff
je 0x140009978
nop
test al, al
jne 0x140009959
inc rcx
jmp 0x140009969
cmp byte [rcx], 0xb
je 0x1400099a2
movzx eax, byte [rcx + 1]
add rcx, 2
add rcx, rax
movzx eax, byte [rcx]
cmp al, 0xff
jne 0x140009950
mov rcx, rdi
movzx eax, byte [rdi]
jmp 0x140009982
mov rcx, rdi
movzx eax, byte [rdi]
cmp al, 0xff
je 0x1400099a2
test al, al
jne 0x14000998b
inc rcx
jmp 0x14000999b
cmp byte [rcx], 0x36
je 0x1400099e5
movzx eax, byte [rcx + 1]
add rcx, 2
add rcx, rax
movzx eax, byte [rcx]
cmp al, 0xff
jne 0x140009982
mov rbx, rdi
xor r9d, r9d
lea r8, str.IgnoreRequestedAddress
lea rdx, str.Settings
mov rcx, qword [rsi + 0x2058]
call fcn.140019450
test eax, eax
jne 0x140009a7c
movzx eax, byte [rdi]
cmp al, 0xff
je 0x140009a7c
test al, al
jne 0x140009a61
inc rbx
jmp 0x140009a71
test rcx, rcx
je 0x1400099a2
cmp byte [rcx], 0x36
jne 0x1400099a2
mov ecx, dword [rcx + 2]
call qword [sym.imp.WS2_32.dll_ntohl]
cmp eax, dword [rbp + 0x1be0]
je 0x1400099a2
test eax, eax
je 0x1400099a2
xorps xmm0, xmm0
movups xmmword [rbp + 0x40], xmm0
mov dword [rbp + 0x44], eax
mov r9d, 0x20
lea r8, [0x14005e860]
lea rdx, [rbp + 0x44]
mov ecx, 2
call qword [sym.imp.WS2_32.dll_inet_ntop]
mov r9, rax
mov r15, qword [rbp + 8]
mov r8, r15
lea rdx, str.Client__s_is_looking_for_a_different_DHCP_server___s__r_n
mov rcx, qword [rsi + 0x2058]
call fcn.140019c40
mov r8, r15
lea rdx, str.Rejecting_client__s
mov rcx, rsi
call fcn.14000b6f0
xor r14d, r14d
jmp 0x14000a23e
cmp byte [rbx], 0x32
je 0x140009a97
movzx eax, byte [rbx + 1]
add rbx, 2
add rbx, rax
movzx eax, byte [rbx]
cmp al, 0xff
jne 0x1400099d5
movzx eax, byte [rdi]
cmp al, 0xff
je 0x140009cb9
test al, al
jne 0x140009c80
inc rdi
jmp 0x140009c90
mov ebx, dword [rbx + 2]
test ebx, ebx
je 0x140009a7c
lea rcx, [rbp + 0x50]
call fcn.140011110
mov r14d, eax
cmp eax, ebx
jne 0x140009bf5
movzx eax, byte [rdi]
cmp al, 0xff
je 0x140009b00
nop dword [rax]
test al, al
jne 0x140009ac9
inc rdi
jmp 0x140009ad9
cmp byte [rdi], 0x33
je 0x140009ae2
movzx eax, byte [rdi + 1]
add rdi, 2
add rdi, rax
movzx eax, byte [rdi]
cmp al, 0xff
jne 0x140009ac0
jmp 0x140009b00
mov ecx, dword [rdi + 2]
call qword [sym.imp.WS2_32.dll_ntohl]
mov ecx, eax
cmp dword [rbp + 0x57c], eax
cmovb ecx, dword [rbp + 0x57c]
mov dword [rbp + 0x57c], ecx
mov r15, qword [rbp + 8]
mov qword [rsp + 0x20], r15
lea r9, [rbp + 0x50]
mov r8d, dword [rbp + 0x57c]
lea rdx, str.Response:_hand_out_the_configured_IP_address__lease_time___lu__IP___s__client___s__r_n
mov rcx, qword [rsi + 0x2058]
call fcn.140019c40
mov r9, r15
lea r8, [rbp + 0x50]
lea rdx, str.Assigning_IP_address__s_to_client__s
mov rcx, rsi
call fcn.14000b6f0
mov rax, qword [rbp + 0x28]
mov byte [rax], 5
neg byte [rbp]
sbb al, al
and al, 5
movsxd rcx, dword [rbp + 0x10]
lea rdx, [rbp + 0x1810]
mov qword [rsp + 0x30], rdx
lea rdx, [rbp + 0x50]
mov qword [rsp + 0x28], rdx
mov byte [rsp + 0x20], al
mov r9d, 0x1000
mov rbx, qword [rbp + 0x18]
mov r8, rbx
mov rdx, qword [rbp + 0x40]
mov rcx, qword [rsi + rcx*8]
call fcn.140005960
mov r14d, eax
cmp dword [rbp + 0x20], 0
je 0x140009ba1
mov r9, qword [rsi + 0x2058]
lea r8, [rbp + 0x50]
mov rdx, r13
mov rcx, rbx
call fcn.140002610
xor ecx, ecx
call fcn.14002db90
mov rcx, qword [rsi + 0x2058]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], eax
mov r9, r13
mov r8d, r12d
mov rdx, rbx
lea rcx, [rbp + 0x50]
call fcn.1400028c0
mov rcx, qword [rsi + 0x2050]
test rcx, rcx
je 0x14000a23e
mov rcx, qword [rcx + 0x720]
test rcx, rcx
je 0x14000a23e
mov rax, qword [rcx]
call qword [rax + 0x18]
jmp 0x14000a23e
xorps xmm0, xmm0
movups xmmword [rbp + 0x16a0], xmm0
mov dword [rbp + 0x16a4], ebx
mov r9d, 0x20
lea r8, [0x14005e860]
lea rdx, [rbp + 0x16a4]
mov ecx, 2
call qword [sym.imp.WS2_32.dll_inet_ntop]
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], r14d
mov r9, rax
mov r15, qword [rbp + 8]
mov r8, r15
lea rdx, str.Reject_request_because_client__s_asks_for_another_address___s___0x_x___0x_x__r_n
mov rcx, qword [rsi + 0x2058]
call fcn.140019c40
mov r8, r15
lea rdx, str.Rejecting_client__s
mov rcx, rsi
call fcn.14000b6f0
mov r8, qword [rbp + 0x18]
mov rax, qword [rbp + 0x28]
movsxd rcx, dword [rbp + 0x10]
mov byte [rax], 6
mov rdx, qword [rbp + 0x40]
mov rcx, qword [rsi + rcx*8]
call fcn.1400057c0
mov r14d, eax
jmp 0x14000a23e
cmp byte [rdi], 0x33
je 0x140009c9d
movzx eax, byte [rdi + 1]
add rdi, 2
add rdi, rax
movzx eax, byte [rdi]
cmp al, 0xff
jne 0x140009a87
jmp 0x140009cb9
mov ecx, dword [rdi + 2]
call qword [sym.imp.WS2_32.dll_ntohl]
cmp dword [rbp + 0x57c], eax
cmovb eax, dword [rbp + 0x57c]
mov dword [rbp + 0x57c], eax
mov r9d, dword [rbp + 0x57c]
mov r15, qword [rbp + 8]
mov r8, r15
lea rdx, str.Response:_hand_out_the_configured_IP_address_to__s__lease_time___lu__r_n
mov rcx, qword [rsi + 0x2058]
call fcn.140019c40
mov r9, r15
lea r8, [rbp + 0x50]
lea rdx, str.Assigning_IP_address__s_to_client__s
mov rcx, rsi
call fcn.14000b6f0
mov rax, qword [rbp + 0x28]
mov byte [rax], 5
neg byte [rbp]
sbb al, al
and al, 5
movsxd rcx, dword [rbp + 0x10]
lea rdx, [rbp + 0x1810]
mov qword [rsp + 0x30], rdx
lea rdx, [rbp + 0x50]
mov qword [rsp + 0x28], rdx
mov byte [rsp + 0x20], al
mov r9d, 0x1000
mov r8, r14
mov rdx, qword [rbp + 0x40]
mov rcx, qword [rsi + rcx*8]
call fcn.140005960
mov dword [rbp + 4], eax
cmp dword [rbp + 0x20], 0
je 0x140009d50
mov r9, qword [rsi + 0x2058]
lea r8, [rbp + 0x50]
mov rdx, r13
mov rcx, r14
call fcn.140002610
xor ecx, ecx
call fcn.14002db90
mov rcx, qword [rsi + 0x2058]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], eax
mov rdx, r14
mov r8d, r12d
mov r9, r13
lea rcx, [rbp + 0x50]
call fcn.1400028c0
mov rcx, qword [rsi + 0x2050]
test rcx, rcx
je 0x14000a23a
mov rcx, qword [rcx + 0x720]
test rcx, rcx
je 0x14000a23a
mov rax, qword [rcx]
call qword [rax + 0x18]
jmp 0x14000a23a
xor r9d, r9d
lea r8, str.IgnoreUnknownClients
lea rdx, str.Settings
mov rcx, qword [rsi + 0x2058]
call fcn.140019450
mov rcx, qword [rsi + 0x2058]
mov r15, qword [rbp + 8]
mov r8, r15
test eax, eax
jne 0x140009df9
lea rdx, str.Reject_request_for_not_configured_client__s_r_n
call fcn.140019c40
mov r8, r15
lea rdx, str.Rejecting_client__s
mov rcx, rsi
call fcn.14000b6f0
mov r8, r14
jmp 0x140009c60
lea rdx, str.Silently_ignore_request_from_not_configured_client__s_r_n
call fcn.140019c40
mov r8, r15
lea rdx, str.Ignoring_client__s
mov rcx, rsi
call fcn.14000b6f0
jmp 0x14000a23a
test r15d, r15d
je 0x140009fa6
xor ecx, ecx
lea rdx, [rbp + 0x50]
lea r8, str.0.0.0.0
movzx eax, byte [rdx + rcx]
inc rcx
cmp al, byte [r8 + rcx - 1]
jne 0x140009e61
cmp rcx, 8
jne 0x140009e32
mov r8, r13
lea rdx, str.Service_denied_to_black_listed_client___s__r_n
mov rcx, qword [rsi + 0x2058]
call fcn.140019c40
jmp case.0x1400098e1.2
movzx eax, byte [rdi]
cmp al, 0xff
je 0x140009ea6
test al, al
jne 0x140009e71
inc rdi
jmp 0x140009e81
cmp byte [rdi], 0x33
je 0x140009e8a
movzx eax, byte [rdi + 1]
add rdi, 2
add rdi, rax
movzx eax, byte [rdi]
cmp al, 0xff
jne 0x140009e68
jmp 0x140009ea6
mov ecx, dword [rdi + 2]
call qword [sym.imp.WS2_32.dll_ntohl]
cmp dword [rbp + 0x57c], eax
cmovb eax, dword [rbp + 0x57c]
mov dword [rbp + 0x57c], eax
mov r9d, dword [rbp + 0x57c]
mov r15, qword [rbp + 8]
mov r8, r15
lea rdx, str.Response:_offer__s_the_configured_IP_address__lease_time___lu__r_n
mov rcx, qword [rsi + 0x2058]
call fcn.140019c40
mov r9, r15
lea r8, [rbp + 0x50]
lea rdx, str.Offering_IP_address__s_to_client__s
mov rcx, rsi
call fcn.14000b6f0
mov rax, qword [rbp + 0x28]
mov byte [rax], 2
movsxd rcx, r14d
lea rax, [rbp + 0x1810]
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0x50]
mov qword [rsp + 0x28], rax
mov byte [rsp + 0x20], 2
mov r9d, 0x1000
mov rdi, qword [rbp + 0x18]
mov r8, rdi
mov rdx, qword [rbp + 0x40]
mov rcx, qword [rsi + rcx*8]
call fcn.140005960
mov r14d, eax
mov r9d, 1
lea r8, str.ReserveByOffer
lea rdx, str.Settings
mov rcx, qword [rsi + 0x2058]
call fcn.140019450
test eax, eax
je 0x14000a23e
mov ebx, dword [rbp + 0x57c]
mov dword [rbp + 0x57c], 1
cmp dword [rbp + 0x20], 0
je 0x140009f72
mov r9, qword [rsi + 0x2058]
lea r8, [rbp + 0x50]
mov rdx, r13
mov rcx, rdi
call fcn.140002610
xor ecx, ecx
call fcn.14002db90
mov rcx, qword [rsi + 0x2058]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], eax
mov r9, r13
mov r8d, r12d
mov rdx, rdi
lea rcx, [rbp + 0x50]
call fcn.1400028c0
mov dword [rbp + 0x57c], ebx
jmp 0x140009bca
lea rdx, str.Silently_ignore_request_from_not_configured_client_r_n
mov rcx, qword [rsi + 0x2058]
call fcn.140019c40
jmp case.0x1400098e1.2
test r15d, r15d
mov r15, qword [rbp + 8]
je 0x14000a23a
mov r8, r15
lea rdx, str.Releasing_client__s_IP_address
mov rcx, rsi
call fcn.14000b6f0
mov r9d, 1
lea r8, str.DeleteOnRelease
lea rdx, str.Settings
mov rcx, qword [rsi + 0x2058]
call fcn.140019450
test eax, eax
je 0x14000a011
mov rdx, r13
mov rcx, rsi
call fcn.140008420
jmp 0x14000a23a
mov dword [rbp + 0x57c], 0
mov rax, qword [rsi + 0x2058]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0
mov rdx, qword [rbp + 0x18]
jmp 0x140009d6a
test r15d, r15d
je case.0x1400098e1.2
mov rax, qword [rbp + 0x28]
mov byte [rax], 5
movsxd rcx, r14d
lea rax, [rbp + 0x1810]
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0x50]
mov qword [rsp + 0x28], rax
mov byte [rsp + 0x20], 5
mov r9d, 0x1000
mov r8, qword [rbp + 0x18]
mov rdx, qword [rbp + 0x40]
mov rcx, qword [rsi + rcx*8]
call fcn.140005960
mov r14d, eax
mov r15, qword [rbp + 8]
jmp 0x14000a23e
xor ebx, ebx
xor r9d, r9d
lea r8, str.IgnoreRequestedAddress
lea rdx, str.Settings
mov rcx, qword [rsi + 0x2058]
call fcn.140019450
test eax, eax
jne 0x14000a0d6
movzx eax, byte [rdi]
cmp al, 0xff
je 0x14000a0d6
test al, al
jne 0x14000a0bb
inc rdi
jmp 0x14000a0cf
cmp byte [rdi], 0x32
je 0x14000a1dd
movzx eax, byte [rdi + 1]
add rdi, 2
add rdi, rax
movzx eax, byte [rdi]
cmp al, 0xff
jne 0x14000a0b2
xor eax, eax
test eax, eax
je case.0x1400098e1.2
xorps xmm0, xmm0
movups xmmword [rbp + 0x16a0], xmm0
mov dword [rbp + 0x16a4], ebx
mov r9d, 0x20
lea r8, [0x14005e860]
lea rdx, [rbp + 0x16a4]
mov ecx, 2
call qword [sym.imp.WS2_32.dll_inet_ntop]
mov rdi, rax
mov r9, rax
mov r8, qword [rbp + 8]
lea rdx, str.Client__s_reports_network_address_conflict_with_IP_address__s_r_n
mov rcx, qword [rsi + 0x2058]
call fcn.140019c40
mov r9, rdi
mov r8, qword [rbp + 8]
lea rdx, str.Network_address_conflict__s_with_IP_address___s_
mov rcx, rsi
call fcn.14000b6f0
test r15d, r15d
je 0x14000a152
mov rdx, r13
mov rcx, rsi
call fcn.140008420
mov r9, rdi
lea r8, str._s_CONFLICT
mov edx, 0x50
lea rcx, [rbp + 0x1910]
call fcn.1400110e0
mov rbx, qword [rsi + 0x2058]
mov edx, 0xffffffff
mov rcx, qword [rbx + 0x598]
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp dword [rbx + 0x580], 0
jne 0x14000a20b
lea r9, [rbx + 0x118]
mov r8, rdi
lea rdx, str.IPADDR
lea rcx, [rbp + 0x1910]
call qword [rbx + 0x5b8]
cmp dword [rbx + 0x5a0], 0
je 0x14000a1ea
mov rcx, qword [rbx + 0x590]
test rcx, rcx
je 0x14000a1d0
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
mov qword [rbx + 0x590], 0
jmp 0x14000a20b
mov ebx, dword [rdi + 2]
mov eax, 1
jmp 0x14000a0d8
mov rcx, qword [rbx + 0x588]
test rcx, rcx
je 0x14000a200
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
mov qword [rbx + 0x588], 0
mov rcx, qword [rbx + 0x598]
call qword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov rcx, qword [rsi + 0x2050]
test rcx, rcx
je case.0x1400098e1.2
mov rcx, qword [rcx + 0x720]
test rcx, rcx
je case.0x1400098e1.2
mov rax, qword [rcx]
call qword [rax + 0x18]
mov r15, qword [rbp + 8]
mov r14d, dword [rbp + 4]
test r13, r13
je 0x14000a24b
mov rcx, r13
call fcn.1400272e4
test r15, r15
je 0x14000a259
mov rcx, r15
call fcn.1400272e4
nop
xor edi, edi
mov eax, dword [rbp + 0x680]
test eax, eax
jle 0x14000a294
lea rbx, [rbp + 0x690]
nop dword [rax]
mov rcx, qword [rbx]
test rcx, rcx
je 0x14000a28a
call fcn.1400272e4
mov qword [rbx], 0
mov eax, dword [rbp + 0x680]
inc edi
add rbx, 0x10
cmp edi, eax
jl 0x14000a270
mov eax, r14d
mov rcx, qword [rbp + 0x1b60]
xor rcx, rbp
call fcn.140020e70
mov rbx, qword [rbp + 0x1bc8]
lea rsp, [rbp + 0x1b70]
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret