Function at 0x14004b440
Capabilities:
Enumerate pe sections
Read file on windows

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x98
mov r13d, dword [rsp + 0x100]
mov r14, rcx
test r13d, r13d
mov ebx, 0x1e
mov ecx, 0x2e
mov rbp, r9
cmove ebx, ecx
mov r15, r8
test r9, r9
je 0x14004b492
cmp qword [r9], rbx
jb 0x14004b4ff
test r15, r15
je 0x14004b49c
mov r8, qword [r8]
jmp 0x14004b4e3
mov r9, rdx
lea rcx, [rsp + 0x60]
mov edx, 1
mov r8, rbx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
cmp rax, rbx
jae 0x14004b4de
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov ecx, dword [rax]
mov rax, qword [rsp + 0x108]
test rax, rax
je 0x14004bfd3
mov dword [rax], 5
mov dword [rax + 4], ecx
jmp 0x14004bfd3
lea r8, [rsp + 0x60]
test r13d, r13d
lea rax, [0x14014b758]
lea rcx, [0x14014b760]
cmovne rcx, rax
mov eax, dword [r8]
cmp eax, dword [rcx]
je 0x14004b51c
mov rax, qword [rsp + 0x108]
test rax, rax
je 0x14004bfd3
mov qword [rax], reloc.WS2_32.dll_send
jmp 0x14004bfd3
xor esi, esi
mov dword [r14 + 0xc], 0x140314
add r8, 4
mov qword [r14], rsi
mov dword [r14 + 8], esi
mov r12d, 0x100
mov word [r14 + 0x10], si
mov dword [r14 + 0x14], 0xffffffff
mov qword [r14 + 0x18], rsi
mov dword [r14 + 0x20], esi
mov qword [r14 + 0x28], rsi
mov qword [r14 + 0x30], rsi
mov qword [r14 + 0x38], rsi
mov qword [r14 + 0x40], rsi
mov qword [r14 + 0x48], rsi
mov dword [r14 + 0x50], esi
mov word [r14 + 0x54], si
mov dword [r14 + 0x58], 0x81b60000
mov qword [r14 + 0x60], rsi
test r13d, r13d
jne 0x14004b596
movzx eax, byte [r8]
lea rdi, [r8 + 2]
movzx edx, byte [r8 + 1]
mov r8, rdi
imul edx, r12d
add dx, ax
mov rax, rdi
jmp 0x14004b59f
mov rdi, r8
movzx edx, si
mov rax, r8
mov word [r14 + 0xc], dx
movzx edx, byte [rax + 1]
movzx eax, byte [r8]
imul edx, r12d
mov qword [rsp + 0x50], rsi
mov dword [rsp + 0x58], 0xffffffff
add dx, ax
mov word [r14 + 0xe], dx
movzx eax, byte [rdi + 2]
movzx edx, byte [rdi + 3]
imul edx, r12d
add dx, ax
mov word [r14 + 0x10], dx
movzx ecx, byte [rdi + 4]
movzx eax, byte [rdi + 5]
shl eax, 8
add eax, ecx
mov dword [r14 + 0x14], eax
movzx ecx, byte [rdi + 9]
movzx eax, byte [rdi + 8]
movzx edx, byte [rdi + 6]
shl ecx, 8
add ecx, eax
mov eax, ecx
shr eax, 9
add eax, 0x50
mov dword [rsp + 0x4c], eax
mov eax, ecx
and ecx, 0x1f
shr eax, 5
mov dword [rsp + 0x44], ecx
and eax, 0xf
movzx ecx, byte [rdi + 7]
dec eax
mov dword [rsp + 0x48], eax
shl ecx, 8
add ecx, edx
mov eax, ecx
shr eax, 0xb
mov dword [rsp + 0x40], eax
mov eax, ecx
and ecx, 0x1f
shr eax, 5
add ecx, ecx
and eax, 0x3f
mov dword [rsp + 0x38], ecx
lea rcx, [rsp + 0x38]
mov dword [rsp + 0x3c], eax
call qword [sym.imp.api_ms_win_crt_time_l1_1_0.dll__mktime64]
mov qword [r14 + 0x18], rax
movzx eax, byte [rdi + 0xc]
movzx ecx, byte [rdi + 0xd]
shl ecx, 8
add ecx, eax
movzx eax, byte [rdi + 0xb]
shl ecx, 8
add ecx, eax
movzx eax, byte [rdi + 0xa]
shl ecx, 8
add ecx, eax
mov dword [r14 + 0x20], ecx
movzx eax, byte [rdi + 0x10]
movzx edx, byte [rdi + 0xe]
movzx ecx, byte [rdi + 0x11]
shl rcx, 8
add rcx, rax
movzx eax, byte [rdi + 0xf]
shl rcx, 8
add rcx, rax
shl rcx, 8
add rcx, rdx
mov qword [r14 + 0x28], rcx
movzx eax, byte [rdi + 0x14]
movzx ecx, byte [rdi + 0x15]
movzx edx, byte [rdi + 0x12]
shl rcx, 8
add rcx, rax
movzx eax, byte [rdi + 0x13]
shl rcx, 8
add rcx, rax
shl rcx, 8
add rcx, rdx
lea r8, [rdi + 0x1a]
mov qword [r14 + 0x30], rcx
movzx eax, byte [rdi + 0x16]
movzx r10d, byte [rdi + 0x17]
movzx edx, byte [rdi + 0x19]
imul r10d, r12d
imul edx, r12d
mov qword [rsp + 0x28], r8
add r10w, ax
movzx eax, byte [rdi + 0x18]
add dx, ax
mov dword [rsp + 0x30], r10d
mov dword [rsp + 0x100], edx
test r13d, r13d
je 0x14004b71f
movzx r9d, si
mov dword [r14 + 0x50], esi
mov dword [rsp + 0x20], r9d
mov rdx, rsi
mov word [r14 + 0x54], si
mov dword [r14 + 0x58], esi
jmp 0x14004b7bb
movzx r9d, byte [r8 + 1]
mov rax, qword [rsp + 0x28]
imul r9d, r12d
movzx ecx, byte [rax]
movzx eax, byte [r8 + 3]
add r9w, cx
shl eax, 8
movzx ecx, byte [r8 + 2]
add eax, ecx
mov dword [rsp + 0x20], r9d
mov dword [r14 + 0x50], eax
movzx eax, byte [r8 + 4]
movzx edx, byte [r8 + 5]
imul edx, r12d
add dx, ax
mov word [r14 + 0x54], dx
movzx eax, byte [r8 + 8]
movzx ecx, byte [r8 + 9]
shl ecx, 8
add ecx, eax
movzx eax, byte [r8 + 7]
shl ecx, 8
add ecx, eax
movzx eax, byte [r8 + 6]
shl ecx, 8
add ecx, eax
lea rax, [r8 + 0xe]
mov dword [r14 + 0x58], ecx
movzx edx, byte [r8 + 0xd]
movzx ecx, byte [r8 + 0xa]
shl rdx, 8
mov qword [rsp + 0x28], rax
movzx eax, byte [r8 + 0xc]
add rdx, rax
movzx eax, byte [r8 + 0xb]
shl rdx, 8
add rdx, rax
shl rdx, 8
add rdx, rcx
movzx ecx, word [rsp + 0x100]
mov qword [r14 + 0x60], rdx
add ecx, ebx
movzx eax, r10w
add ecx, eax
movzx edx, r9w
add edx, ecx
mov qword [r14 + 0x38], rsi
mov qword [r14 + 0x40], rsi
mov qword [r14 + 0x48], rsi
mov dword [rsp + 0x34], edx
test rbp, rbp
je 0x14004b80f
mov eax, edx
cmp qword [rbp], rax
jae 0x14004b80f
mov rax, qword [rsp + 0x108]
test rax, rax
je 0x14004bfd3
mov qword [rax], reloc.WS2_32.dll_setsockopt
jmp 0x14004bfd3
mov rdi, qword [rsp + 0x108]
mov ebx, 0x800
test r10w, r10w
je 0x14004ba30
movzx ebp, r10w
lea r12, [rsp + 0x28]
test r15, r15
cmove r12, rsi
lea rcx, [rbp + 1]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov r15, rax
test rax, rax
jne 0x14004b861
test rdi, rdi
je 0x14004b9a5
mov qword [rdi], recv
mov qword [r14 + 0x38], rsi
jmp 0x14004bfd3
mov r8, rbp
mov rcx, r15
test r12, r12
je 0x14004b945
mov rbx, qword [r12]
mov rdx, rbx
call sub.VCRUNTIME140.dll_memcpy
lea rax, [rbx + rbp]
mov ebx, 0x800
mov qword [r12], rax
lea rcx, [r15 + rbp]
mov rax, r15
mov byte [rcx], sil
cmp r15, rcx
jae 0x14004b8a8
cmp byte [rax], sil
jne 0x14004b8a0
mov byte [rax], 0x20
inc rax
cmp rax, rcx
jb 0x14004b898
movzx edx, word [rsp + 0x30]
mov r9, rdi
xor r8d, r8d
mov rcx, r15
call fcn.14004ddd0
mov rcx, r15
mov rbp, rax
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [r14 + 0x38], rbp
test rbp, rbp
je 0x14004bfd3
test word [r14 + 0x10], bx
je 0x14004ba30
mov ebx, dword [rbp + 0xc]
mov r10, qword [rbp]
test ebx, ebx
jne 0x14004ba05
movzx r15d, word [rbp + 8]
mov ebx, 1
mov r8d, esi
cmp si, r15w
jae 0x14004ba05
mov r12d, 0xffffd9ff
nop dword [rax + rax]
mov eax, r8d
movzx ecx, byte [rax + r10]
cmp cl, 0x1f
ja 0x14004b923
bt r12d, ecx
jb 0x14004b92c
cmp cl, 0x80
jb 0x14004b9f9
movzx eax, cl
mov ebx, 3
and al, 0xe0
cmp al, 0xc0
jne 0x14004b9ae
mov r9d, 1
jmp 0x14004b9ca
mov r12, qword [rsp + 0xe8]
mov edx, 1
mov r9, r12
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
cmp rax, rbp
jae 0x14004b889
mov rcx, r15
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, r12
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_ferror]
test eax, eax
je 0x14004b999
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov ecx, dword [rax]
test rdi, rdi
je 0x14004b9a5
mov dword [rdi], 5
mov dword [rdi + 4], ecx
mov qword [r14 + 0x38], rsi
jmp 0x14004bfd3
test rdi, rdi
je 0x14004b9a5
mov qword [rdi], reloc.WS2_32.dll_setsockopt
mov qword [r14 + 0x38], rsi
jmp 0x14004bfd3
movzx eax, cl
and al, 0xf0
cmp al, 0xe0
jne 0x14004b9bf
mov r9d, 2
jmp 0x14004b9ca
and cl, 0xf8
cmp cl, 0xf0
jne 0x14004ba16
mov r9d, ebx
lea r11d, [r9 + r8]
cmp r11d, r15d
jae 0x14004ba16
mov edx, 1
nop dword [rax + rax]
lea eax, [rdx + r8]
movzx eax, byte [rax + r10]
and al, 0xc0
cmp al, 0x80
jne 0x14004ba16
inc edx
cmp edx, r9d
jbe 0x14004b9e0
mov r8d, r11d
inc r8d
cmp r8d, r15d
jb 0x14004b910
mov dword [rbp + 0xc], ebx
cmp ebx, 3
jne 0x14004ba22
mov dword [rbp + 0xc], 2
jmp 0x14004ba30
mov dword [rbp + 0xc], 4
jmp 0x14004c05e
cmp ebx, 2
je 0x14004ba30
cmp ebx, 1
jne 0x14004c05e
mov eax, dword [rsp + 0x100]
test ax, ax
je 0x14004bb45
cmp qword [rsp + 0xf0], rsi
lea r15, [rsp + 0x28]
movzx r12d, ax
mov ecx, r12d
cmove r15, rsi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov rbp, rax
test rax, rax
jne 0x14004ba7b
test rdi, rdi
je 0x14004bfd3
mov qword [rdi], recv
jmp 0x14004bfd3
mov r8, r12
mov rcx, rbp
test r15, r15
je 0x14004badc
mov rbx, qword [r15]
mov rdx, rbx
call sub.VCRUNTIME140.dll_memcpy
lea rax, [rbx + r12]
mov rbx, qword [rsp + 0xe8]
mov qword [r15], rax
movzx edx, word [rsp + 0x100]
mov r8d, 0x200
mov eax, 0x100
test r13d, r13d
mov r9, rdi
mov rcx, rbp
cmovne r8d, eax
call fcn.14004d520
mov qword [r14 + 0x40], rax
mov rcx, rbp
test rax, rax
jne 0x14004bb30
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
jmp 0x14004bfd3
mov rbx, qword [rsp + 0xe8]
mov edx, 1
mov r9, rbx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
cmp rax, r12
jae 0x14004baa0
mov rcx, rbp
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_ferror]
test eax, eax
je 0x14004c05e
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov ecx, dword [rax]
test rdi, rdi
je 0x14004bfd3
mov dword [rdi], 5
mov dword [rdi + 4], ecx
jmp 0x14004bfd3
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
test r13d, r13d
je 0x14004bb4d
mov dword [r14 + 4], 1
jmp 0x14004bb4d
mov rbx, qword [rsp + 0xe8]
mov eax, dword [rsp + 0x20]
test ax, ax
je 0x14004bd34
cmp qword [rsp + 0xf0], rsi
lea r15, [rsp + 0x28]
movzx r12d, ax
mov ecx, r12d
cmove r15, rsi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov rbp, rax
test rax, rax
jne 0x14004bb99
test rdi, rdi
je 0x14004bcae
mov qword [rdi], recv
mov qword [r14 + 0x48], rsi
jmp 0x14004bfd3
mov r8, r12
mov rcx, rbp
test r15, r15
je 0x14004bc56
mov rbx, qword [r15]
mov rdx, rbx
call sub.VCRUNTIME140.dll_memcpy
lea rax, [r12 + rbx]
mov qword [r15], rax
movzx edx, word [rsp + 0x20]
mov r9, rdi
xor r8d, r8d
mov rcx, rbp
call fcn.14004ddd0
mov rcx, rbp
mov r15, rax
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [r14 + 0x48], r15
test r15, r15
je 0x14004bfd3
mov eax, 0x800
test word [r14 + 0x10], ax
je 0x14004bd34
mov ebx, dword [r15 + 0xc]
mov r10, qword [r15]
test ebx, ebx
jne 0x14004bd06
movzx ebp, word [r15 + 8]
mov ebx, 1
mov r8d, esi
cmp si, bp
jae 0x14004bd06
nop dword [rax + rax]
mov eax, r8d
movzx ecx, byte [rax + r10]
cmp cl, 0x1f
ja 0x14004bc37
mov edx, 0xffffd9ff
bt edx, ecx
jb 0x14004bc40
cmp cl, 0x80
jb 0x14004bcfa
movzx eax, cl
mov ebx, 3
and al, 0xe0
cmp al, 0xc0
jne 0x14004bcb7
mov r9d, 1
jmp 0x14004bcd3
mov r9, rbx
mov edx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
cmp rax, r12
jae 0x14004bbba
mov rcx, rbp
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_ferror]
test eax, eax
je 0x14004bca2
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov ecx, dword [rax]
test rdi, rdi
je 0x14004bcae
mov dword [rdi], 5
mov dword [rdi + 4], ecx
mov qword [r14 + 0x48], rsi
jmp 0x14004bfd3
test rdi, rdi
je 0x14004bcae
mov qword [rdi], reloc.WS2_32.dll_setsockopt
mov qword [r14 + 0x48], rsi
jmp 0x14004bfd3
movzx eax, cl
and al, 0xf0
cmp al, 0xe0
jne 0x14004bcc8
mov r9d, 2
jmp 0x14004bcd3
and cl, 0xf8
cmp cl, 0xf0
jne 0x14004bd19
mov r9d, ebx
lea r11d, [r9 + r8]
cmp r11d, ebp
jae 0x14004bd19
mov edx, 1
lea eax, [rdx + r8]
movzx eax, byte [rax + r10]
and al, 0xc0
cmp al, 0x80
jne 0x14004bd19
inc edx
cmp edx, r9d
jbe 0x14004bce1
mov r8d, r11d
inc r8d
cmp r8d, ebp
jb 0x14004bc20
mov dword [r15 + 0xc], ebx
cmp ebx, 3
jne 0x14004bd26
mov dword [r15 + 0xc], 2
jmp 0x14004bd34
mov dword [r15 + 0xc], 4
jmp 0x14004c05e
cmp ebx, 2
je 0x14004bd34
cmp ebx, 1
jne 0x14004c05e
mov rax, qword [r14 + 0x40]
mov ecx, esi
mov r15, qword [r14 + 0x38]
mov edx, 0x7075
test rax, rax
je 0x14004be24
nop dword [rax]
cmp word [rax + 0xc], dx
jne 0x14004bd65
test dword [rax + 8], 0x300
je 0x14004bd65
test ecx, ecx
jns 0x14004bd72
inc ecx
mov rax, qword [rax]
test rax, rax
jne 0x14004bd50
jmp 0x14004be24
movzx r12d, word [rax + 0xe]
test r12w, r12w
je 0x14004be24
mov rbp, qword [rax + 0x10]
test rbp, rbp
je 0x14004be24
cmp r12w, 5
jb 0x14004be24
cmp byte [rbp], 1
jne 0x14004be24
movzx eax, byte [rbp + 3]
movzx ebx, byte [rbp + 4]
shl ebx, 8
add ebx, eax
movzx eax, byte [rbp + 2]
shl ebx, 8
add ebx, eax
movzx eax, byte [rbp + 1]
shl ebx, 8
add ebx, eax
mov eax, esi
test r15, r15
je 0x14004bddd
mov rdx, qword [r15]
movzx r8d, word [r15 + 8]
test rdx, rdx
je 0x14004bddd
xor ecx, ecx
call fcn.14004fc40
cmp eax, ebx
jne 0x14004be24
lea edx, [r12 - 5]
xor r9d, r9d
mov r8d, 2
lea rcx, [rbp + 5]
call fcn.14004ddd0
mov rbx, rax
test rax, rax
je 0x14004be24
test r15, r15
je 0x14004be21
mov rcx, qword [r15]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, qword [r15 + 0x10]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, r15
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov r15, rbx
mov rax, qword [r14 + 0x40]
mov ecx, esi
mov qword [r14 + 0x38], r15
mov edx, 0x6375
mov r15, qword [r14 + 0x48]
test rax, rax
je 0x14004bf14
cmp word [rax + 0xc], dx
jne 0x14004be55
test dword [rax + 8], 0x300
je 0x14004be55
test ecx, ecx
jns 0x14004be62
inc ecx
mov rax, qword [rax]
test rax, rax
jne 0x14004be40
jmp 0x14004bf14
movzx r12d, word [rax + 0xe]
test r12w, r12w
je 0x14004bf14
mov rbp, qword [rax + 0x10]
test rbp, rbp
je 0x14004bf14
cmp r12w, 5
jb 0x14004bf14
cmp byte [rbp], 1
jne 0x14004bf14
movzx eax, byte [rbp + 3]
movzx ebx, byte [rbp + 4]
shl ebx, 8
add ebx, eax
movzx eax, byte [rbp + 2]
shl ebx, 8
add ebx, eax
movzx eax, byte [rbp + 1]
shl ebx, 8
add ebx, eax
mov eax, esi
test r15, r15
je 0x14004becd
mov rdx, qword [r15]
movzx r8d, word [r15 + 8]
test rdx, rdx
je 0x14004becd
xor ecx, ecx
call fcn.14004fc40
cmp eax, ebx
jne 0x14004bf14
lea edx, [r12 - 5]
xor r9d, r9d
mov r8d, 2
lea rcx, [rbp + 5]
call fcn.14004ddd0
mov rbx, rax
test rax, rax
je 0x14004bf14
test r15, r15
je 0x14004bf11
mov rcx, qword [r15]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, qword [r15 + 0x10]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, r15
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov r15, rbx
mov ebx, 0xffffffff
mov qword [r14 + 0x48], r15
mov r9d, 4
cmp qword [r14 + 0x30], rbx
je 0x14004bf8d
cmp qword [r14 + 0x28], rbx
je 0x14004bf8d
mov rdx, qword [r14 + 0x60]
cmp rdx, rbx
je 0x14004bf8d
test r13d, r13d
je 0x14004c1ee
mov rbx, qword [r14 + 0x40]
mov r12, rsi
mov rbp, rbx
test rbx, rbx
je 0x14004c25b
mov r13d, 0x6375
mov r14d, 0x7075
movzx eax, word [rbx + 0xc]
cmp ax, r13w
je 0x14004c213
cmp ax, r14w
je 0x14004c213
cmp ax, 1
je 0x14004c213
mov r12, rbx
mov rbx, qword [rbx]
jmp 0x14004c24a
mov r8, qword [r14 + 0x40]
mov ecx, esi
test r8, r8
je 0x14004bfc7
mov edx, 0x100
nop dword [rax]
cmp word [r8 + 0xc], 1
jne 0x14004bfbf
test r13d, r13d
mov eax, 0x200
cmovne eax, edx
test dword [r8 + 8], eax
je 0x14004bfbf
test ecx, ecx
jns 0x14004bfec
inc ecx
mov r8, qword [r8]
test r8, r8
jne 0x14004bfa0
test rdi, rdi
je 0x14004bfd3
mov qword [rdi], 9
mov eax, 0xffffffff
add rsp, 0x98
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
movzx edx, word [r8 + 0xe]
test dx, dx
je 0x14004c004
mov r8, qword [r8 + 0x10]
mov r10, r8
test r8, r8
je 0x14004bfd3
jmp 0x14004c00e
lea r10, [0x1400ae138]
mov r8, r10
test r13d, r13d
je 0x14004c01a
mov ecx, reloc.WS2_32.dll_recv
jmp 0x14004c059
cmp qword [r14 + 0x60], rbx
mov r11d, 8
mov eax, esi
mov ecx, esi
cmove cx, r11w
cmp dword [r14 + 0x50], 0xffff
cmove ax, r9w
add cx, ax
mov eax, esi
cmp qword [r14 + 0x30], rbx
cmove ax, r11w
add cx, ax
mov eax, esi
cmp qword [r14 + 0x28], rbx
cmove ax, r11w
add cx, ax
cmp dx, cx
je 0x14004c073
test rdi, rdi
je 0x14004bfd3
mov qword [rdi], reloc.WS2_32.dll_setsockopt
jmp 0x14004bfd3
cmp qword [r14 + 0x30], rbx
jne 0x14004c0dd
movzx eax, byte [r10 + 2]
lea r8, [r10 + 4]
movzx ecx, byte [r8 + 3]
movzx edx, byte [r10 + 3]
shl rcx, 8
shl rdx, 8
add rdx, rax
movzx eax, byte [r10 + 1]
shl rdx, 8
add rdx, rax
movzx eax, byte [r10]
shl rdx, 8
add rdx, rax
movzx eax, byte [r8 + 2]
add rcx, rax
movzx eax, byte [r8 + 1]
shl rcx, 8
add rcx, rax
movzx eax, byte [r8]
shl rcx, 8
add r8, r9
add rcx, rax
shl rcx, 0x20
add rcx, rdx
mov qword [r14 + 0x30], rcx
jmp 0x14004c0e6
test r13d, r13d
je 0x14004c0e6
lea r8, [r10 + 8]
cmp qword [r14 + 0x28], rbx
jne 0x14004c14c
movzx eax, byte [r8 + 2]
movzx edx, byte [r8 + 3]
movzx ecx, byte [r8 + 7]
shl rcx, 8
shl rdx, 8
add rdx, rax
movzx eax, byte [r8 + 1]
shl rdx, 8
add rdx, rax
movzx eax, byte [r8]
shl rdx, 8
add rdx, rax
movzx eax, byte [r8 + 6]
add rcx, rax
movzx eax, byte [r8 + 5]
shl rcx, 8
add rcx, rax
movzx eax, byte [r8 + 4]
shl rcx, 8
add r8, 8
add rcx, rax
shl rcx, 0x20
add rcx, rdx
mov qword [r14 + 0x28], rcx
test r13d, r13d
jne 0x14004bf41
mov rdx, qword [r14 + 0x60]
cmp rdx, rbx
jne 0x14004c1be
movzx eax, byte [r8 + 2]
movzx edx, byte [r8 + 3]
movzx ecx, byte [r8 + 7]
shl rcx, 8
shl rdx, 8
add rdx, rax
movzx eax, byte [r8 + 1]
shl rdx, 8
add rdx, rax
movzx eax, byte [r8]
shl rdx, 8
add rdx, rax
movzx eax, byte [r8 + 6]
add rcx, rax
movzx eax, byte [r8 + 5]
shl rcx, 8
add rcx, rax
movzx eax, byte [r8 + 4]
shl rcx, 8
add r8, 8
add rcx, rax
shl rcx, 0x20
add rdx, rcx
mov qword [r14 + 0x60], rdx
cmp dword [r14 + 0x50], 0xffff
jne 0x14004c1ee
movzx eax, byte [r8 + 2]
movzx ecx, byte [r8 + 3]
shl ecx, 8
add ecx, eax
movzx eax, byte [r8 + 1]
shl ecx, 8
add ecx, eax
movzx eax, byte [r8]
shl ecx, 8
add ecx, eax
mov dword [r14 + 0x50], ecx
cmp rdx, 0x7fffffff
jbe 0x14004bf41
test rdi, rdi
je 0x14004bfd3
mov dword [rdi], r9d
mov dword [rdi + 4], 0x1b
jmp 0x14004bfd3
mov r15, qword [rbx]
cmp rbp, rbx
mov qword [rbx], rsi
cmove rbp, r15
mov rcx, qword [rbx + 0x10]
mov rdi, qword [rbx]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rbx, rdi
test rdi, rdi
jne 0x14004c220
test r12, r12
je 0x14004c247
mov qword [r12], r15
mov rbx, r15
test rbx, rbx
jne 0x14004bf60
mov r14, qword [rsp + 0xe0]
mov rcx, qword [rsp + 0xf0]
mov qword [r14 + 0x40], rbp
test rcx, rcx
je 0x14004c274
mov rax, qword [rsp + 0x28]
mov qword [rcx], rax
mov rcx, qword [rsp + 0xf8]
test rcx, rcx
je 0x14004c288
mov eax, dword [rsp + 0x34]
sub qword [rcx], rax
xor eax, eax
jmp 0x14004bfd8