Function at 0x1400cec10
Capabilities:
Clear file content

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov dword [rsp + 0x20], r9d
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x50
mov ebp, dword [rsp + 0xa8]
mov rdi, rdx
mov r13, rcx
mov ebx, 4
test ebp, ebp
je 0x1400cfa06
mov r12, qword [rsp + 0xa0]
dec ebp
mov r15, qword [r12]
mov edx, dword [r15 + 0x10]
test edx, edx
je 0x1400cec92
sub edx, 1
je 0x1400cec75
sub edx, 1
je 0x1400cec75
sub edx, 2
je 0x1400cec7e
cmp edx, 1
je 0x1400cec92
lea r15, [0x14012046c]
jmp 0x1400cec95
mov rcx, qword [r15]
xor r8d, r8d
lea edx, [r8 + 1]
call fcn.140001770
mov r15, rax
jmp 0x1400cec95
mov r15, qword [r15]
mov r8, rbx
lea rdx, str.Read
mov rcx, r15
call fcn.1400f7630
xor esi, esi
mov edx, 2
test eax, eax
jne 0x1400cece8
cmp word [r15 + 8], si
lea rcx, [r15 + 8]
jne 0x1400cecc6
lea r14d, [rdx - 1]
jmp 0x1400cee4f
lea rdx, str.Line
call fcn.1400f55a0
test eax, eax
mov ecx, 3
mov r14d, 5
cmove r14d, ecx
jmp 0x1400cee4a
mov r8d, 5
lea rdx, str.Write
mov rcx, r15
call fcn.1400f7630
test eax, eax
jne 0x1400ced35
cmp word [r15 + 0xa], si
lea rcx, [r15 + 0xa]
jne 0x1400ced19
mov edx, 2
mov r14d, edx
jmp 0x1400cee4f
lea rdx, str.Line
call fcn.1400f55a0
mov ecx, esi
test eax, eax
setne cl
lea r14d, [rcx + 4]
jmp 0x1400cee4a
lea rdx, str.RawRead
mov rcx, r15
call fcn.1400f55a0
test eax, eax
jne 0x1400ced51
lea r14d, [rax + 6]
jmp 0x1400cee4a
lea rdx, str.RawWrite
mov rcx, r15
call fcn.1400f55a0
test eax, eax
jne 0x1400ced6d
lea r14d, [rax + 6]
jmp 0x1400cee4a
lea rdx, [0x140139cf0]
mov rcx, r15
call fcn.1400f55a0
test eax, eax
je 0x1400cee44
lea rdx, str.Length
mov rcx, r15
call fcn.1400f55a0
test eax, eax
jne 0x1400ceda0
lea r14d, [rax + 9]
jmp 0x1400cee4a
lea rdx, str.AtEOF
mov rcx, r15
call fcn.1400f55a0
test eax, eax
jne 0x1400cedbc
lea r14d, [rax + 0xa]
jmp 0x1400cee4a
lea rdx, str.__Handle
mov rcx, r15
call fcn.1400f55a0
test eax, eax
jne 0x1400cedd5
lea r14d, [rax + 0xb]
jmp 0x1400cee4a
lea rdx, str.Encoding
mov rcx, r15
call fcn.1400f55a0
test eax, eax
jne 0x1400cedee
lea r14d, [rax + 0xc]
jmp 0x1400cee4a
lea rdx, str.Close
mov rcx, r15
call fcn.1400f55a0
test eax, eax
jne 0x1400cee07
lea r14d, [rax + 0xd]
jmp 0x1400cee4a
lea rdx, str.Position
mov rcx, r15
call fcn.1400f55a0
test eax, eax
je 0x1400cee44
lea rdx, str.Seek
mov rcx, r15
call fcn.1400f55a0
test eax, eax
je 0x1400cee44
lea rdx, str.Tell
mov rcx, r15
call fcn.1400f55a0
test eax, eax
jne 0x1400cfa06
mov r14d, 8
mov edx, 2
mov eax, dword [rsp + 0x98]
test al, 2
jne 0x1400cee6f
cmp r14d, 7
jb 0x1400cf297
and eax, 1
cmp ebp, eax
jne 0x1400cf297
lea eax, [r14 - 1]
mov dword [rdi + 0x10], 1
cmp eax, 0xc
ja case.0x1400cef37.69
cdqe
lea rcx, [0x140000000]
mov eax, dword [rcx + rax*4 + 0xcfa28]
add rax, rcx
jmp rax
movzx eax, word [r15]
mov ecx, 0xffdf
sub ax, 0x52
test cx, ax
sete al
movzx r14d, al
xor r14, 1
mov byte [rsp + 0xa8], al
add r14, rbx
lea r14, [r15 + r14*2]
movzx r15d, word [r14]
mov qword [rsp + 0x40], r14
test r15d, 0xffffff80
jne 0x1400ceee3
mov ecx, r15d
call fcn.1400fc354
test eax, eax
je 0x1400ceee3
and r15d, 0xffffffdf
cmp r15w, 0x55
jne 0x1400ceef3
add r14, 2
mov qword [rsp + 0x40], r14
movzx r14d, word [r14]
test r14d, 0xffffff80
jne 0x1400cef15
mov edx, 2
mov ecx, r14d
call fcn.1400fc354
test eax, eax
je 0x1400cef15
and r14d, 0xffffffdf
add r14d, 0xffffffbd
cmp r14d, 0x10
ja case.0x1400cef37.69
lea rcx, [0x140000000]
movsxd rax, r14d
mov edx, dword [rcx + rax*4 + 0xcfa5c]
add rdx, rcx
jmp rdx
mov rcx, qword [rsp + 0x40]
mov dx, getservbyport
call fcn.1400f0a4c
test rax, rax
mov r14d, esi
mov eax, 8
cmovne ebx, eax
jmp 0x1400cef80
mov ebx, 2
mov r14d, esi
jmp 0x1400cef80
mov ebx, 1
mov r14d, esi
jmp 0x1400cef80
mov ebx, 8
mov r14d, esi
jmp 0x1400cef80
mov ebx, 8
mov r14d, 1
cmp byte [rsp + 0xa8], sil
je 0x1400cf04d
lea rcx, [r13 + 0x10]
mov qword [rsp + 0x38], rsi
mov r8d, ebx
lea rdx, [rsp + 0x38]
call fcn.1400ce450
test eax, eax
je case.0x1400cef37.69
test r14d, r14d
je 0x1400cefef
cmp ebx, 4
jne 0x1400cefd3
movss xmm0, dword [rsp + 0x38]
mov eax, 2
cvtps2pd xmm0, xmm0
mov dword [rdi + 0x10], eax
lea eax, [rbx - 3]
movsd qword [rdi], xmm0
jmp 0x1400cfa08
movsd xmm0, qword [rsp + 0x38]
mov eax, 2
mov dword [rdi + 0x10], eax
mov eax, 1
movsd qword [rdi], xmm0
jmp 0x1400cfa08
cmp r15w, 0x55
je 0x1400cf03b
sub ebx, 1
je 0x1400cf028
sub ebx, 1
je 0x1400cf015
cmp ebx, 2
jne 0x1400cf03b
movsxd rax, dword [rsp + 0x38]
mov qword [rdi], rax
lea eax, [rbx - 1]
jmp 0x1400cfa08
movsx rax, word [rsp + 0x38]
mov qword [rdi], rax
mov eax, 1
jmp 0x1400cfa08
movsx rax, byte [rsp + 0x38]
mov qword [rdi], rax
mov eax, 1
jmp 0x1400cfa08
mov rax, qword [rsp + 0x38]
mov qword [rdi], rax
mov eax, 1
jmp 0x1400cfa08
cmp ebp, 1
jne case.0x1400cef37.69
mov r9, qword [r12 + 8]
test r14d, r14d
je 0x1400cf0db
mov ecx, dword [r9 + 0x10]
sub ecx, ebp
je 0x1400cf0ae
sub ecx, ebp
je 0x1400cf0a7
sub ecx, 2
je 0x1400cf09b
sub ecx, ebp
je 0x1400cf07e
cmp ecx, ebp
jne 0x1400cf091
xorps xmm0, xmm0
jmp 0x1400cf0b6
mov rax, qword [r9 + 8]
test rax, rax
je 0x1400cf091
xorps xmm0, xmm0
cvtsi2sd xmm0, qword [rax]
jmp 0x1400cf0b6
mov rcx, qword [r9]
call fcn.1400320e0
jmp 0x1400cf0b6
mov rcx, qword [r9]
xor edx, edx
call fcn.140032300
jmp 0x1400cf0b6
movsd xmm0, qword [r9]
jmp 0x1400cf0b6
xorps xmm0, xmm0
cvtsi2sd xmm0, qword [r9]
movsd qword [rsp + 0x38], xmm0
lea r15, [0x14012046c]
cmp ebx, 4
jne 0x1400cf169
cvtsd2ss xmm0, xmm0
movss dword [rsp + 0x38], xmm0
jmp 0x1400cf169
cmp ebx, 8
jne 0x1400cf153
cmp r15w, 0x55
jne 0x1400cf153
mov ecx, dword [r9 + 0x10]
lea eax, [rcx - 1]
cmp eax, 1
jbe 0x1400cf153
test ecx, ecx
je 0x1400cf13f
sub ecx, 1
je 0x1400cf10b
sub ecx, 1
je 0x1400cf10b
sub ecx, 2
je 0x1400cf11f
cmp ecx, 1
je 0x1400cf13f
lea r15, [0x14012046c]
mov rax, r15
mov rcx, rax
call fcn.1400652b0
jmp 0x1400cf164
mov rcx, qword [r9]
xor r8d, r8d
lea edx, [r8 + 1]
call fcn.140001770
mov rcx, rax
lea r15, [0x14012046c]
call fcn.1400652b0
jmp 0x1400cf164
mov rax, qword [r9]
lea r15, [0x14012046c]
mov rcx, rax
call fcn.1400652b0
jmp 0x1400cf164
xor edx, edx
mov rcx, r9
call fcn.140093ae0
lea r15, [0x14012046c]
mov qword [rsp + 0x38], rax
lea rcx, [r13 + 0x10]
mov r8d, ebx
lea rdx, [rsp + 0x38]
call fcn.1400ce8a0
mov ecx, eax
test eax, eax
jne 0x1400cf72e
mov rax, qword [0x14015bc10]
test byte [rax + 0x140], 1
jne 0x1400cf6b4
mov qword [rdi], rcx
mov eax, 1
jmp 0x1400cfa08
cmp ebp, 1
jg case.0x1400cef37.69
test ebp, ebp
je 0x1400cf1c3
mov rcx, qword [r12 + 8]
xor edx, edx
call fcn.140093ae0
mov rbp, rax
jmp 0x1400cf232
mov rax, qword [r13 + 0x10]
lea rcx, [r13 + 0x10]
call qword [rax + reloc.WSOCK32.dll_getservbyport]
mov r14, rax
cmp qword [r13 + 0x40], rsi
jne 0x1400cf1f7
cmp dword [r13 + 0x1c], esi
je 0x1400cf1f7
mov rax, qword [r13 + 0x10]
lea rcx, [r13 + 0x10]
call qword [rax + 0x30]
mov rbp, rax
mov eax, dword [r13 + 0x1c]
add rbp, rax
cmp rbp, r14
jg 0x1400cf1fa
mov rbp, r14
mov rax, qword [r13 + 0x10]
lea rcx, [r13 + 0x10]
call qword [rax + 0x30]
mov rdx, rax
cmp rax, 0xffffffffffffffff
jne 0x1400cf213
mov rbx, rax
jmp 0x1400cf230
mov rax, qword [r13 + 0x40]
mov ecx, dword [r13 + 0x1c]
test rax, rax
je 0x1400cf229
sub rax, qword [r13 + 0x48]
sub rax, rcx
jmp 0x1400cf22c
mov rax, rcx
lea rbx, [rax + rdx]
sub ebp, ebx
mov ecx, 0xffffffff
cmp ebp, ecx
je case.0x1400cef37.69
mov ebx, ebp
cmp rbx, 0xff
ja 0x1400cf250
mov rax, qword [rdi + 8]
jmp 0x1400cf26e
lea rcx, [rbx*2 + 2]
call fcn.1400f75c0
mov qword [rdi + 0x18], rax
test rax, rax
je case.0x1400cef37.69
mov qword [rdi + 8], rbx
mov qword [rdi], rax
xor r9d, r9d
mov word [rax + rbx*2], si
mov r8d, ebp
mov rdx, qword [rdi]
lea rcx, [r13 + 0x10]
call fcn.1400ce020
mov ecx, eax
mov rax, qword [rdi]
mov dword [rdi + 0x10], esi
mov word [rax + rcx*2], si
mov qword [rdi + 8], rcx
mov eax, 1
jmp 0x1400cfa08
test ebp, ebp
jne case.0x1400cef37.69
mov ecx, 0x20002
call fcn.1400f75c0
mov qword [rdi + 0x18], rax
test rax, rax
je case.0x1400cef37.69
mov qword [rdi + 8], 0x10000
lea r9d, [rbp + 1]
mov qword [rdi], rax
mov r8d, 0xffff
mov word [rax + 0x20000], si
jmp 0x1400cf27b
cmp ebp, 1
jg case.0x1400cef37.69
mov r15d, esi
mov ebx, esi
test ebp, ebp
je 0x1400cf391
mov rdx, qword [rdi + 8]
mov rcx, qword [r12 + 8]
call fcn.140093bd0
mov rbx, qword [r12 + 8]
mov rbp, rax
cmp dword [rbx + 0x10], 4
jne 0x1400cf365
mov rbx, qword [rbx]
movzx edx, byte [rbx + 0x23]
test dl, dl
jne 0x1400cf325
mov rax, qword [rbx + 0x10]
movzx ecx, byte [rax + 0x21]
jmp 0x1400cf329
movzx ecx, byte [rbx + 0x21]
test cl, 1
jne 0x1400cf365
test dl, dl
jne 0x1400cf336
mov rbx, qword [rbx + 0x10]
cmp byte [rbx + 0x23], 1
jne 0x1400cf356
test byte [rbx + 0x21], 8
je 0x1400cf34a
mov rcx, rbx
call fcn.140001610
add rbx, 0x10
mov rbx, qword [rbx]
shr rbx, 1
jmp 0x1400cf37a
lea rbx, [0x1401662d0]
mov rbx, qword [rbx]
shr rbx, 1
jmp 0x1400cf37a
mov rbx, 0xffffffffffffffff
nop dword [rax]
inc rbx
cmp word [rbp + rbx*2], si
jne 0x1400cf370
add r13, 0x10
mov r8d, ebx
mov rcx, r13
mov rdx, rbp
call fcn.1400ce600
mov r15d, eax
jmp 0x1400cf395
add r13, 0x10
cmp r14d, 4
jne 0x1400cf3be
test r15d, r15d
jne 0x1400cf3a4
test ebx, ebx
jne 0x1400cf3c7
mov r8d, 1
lea rdx, [0x140142284]
mov rcx, r13
inc ebx
call fcn.1400ce600
add r15d, eax
test r15d, r15d
jne 0x1400cf3db
test ebx, ebx
je 0x1400cf3db
mov rax, qword [0x14015bc10]
test byte [rax + 0x140], 1
jne case.0x1400cef37.69
mov eax, r15d
mov qword [rdi], rax
mov eax, 1
jmp 0x1400cfa08
cmp ebp, 2
jne case.0x1400cef37.69
movzx eax, word [r15 + 6]
mov ecx, 0xffdf
mov rbx, qword [r12 + 8]
sub ax, 0x52
test cx, ax
mov rcx, qword [r12 + 0x10]
sete r14b
xor edx, edx
call fcn.140093ae0
cmp dword [rbx + 0x10], 4
mov rbp, rax
jne 0x1400cf537
mov rcx, qword [rbx]
cmp byte [rcx + 0x23], sil
jne 0x1400cf436
mov rax, qword [rcx + 0x10]
jmp 0x1400cf439
mov rax, rcx
cmp byte [rax + 0x23], 2
mov edx, dword [0x140164970]
je 0x1400cf449
mov rdx, qword [rax + 0x18]
mov eax, ebp
cmp rax, rdx
jbe 0x1400cf495
test r14b, r14b
je 0x1400cf474
mov r8d, eax
mov byte [rsp + 0x20], sil
shr r8, 1
and eax, 1
add r8, rax
xor r9d, r9d
xor edx, edx
call fcn.1400d5e90
test eax, eax
jne 0x1400cf495
mov rax, qword [0x14015bc10]
test byte [rax + 0x140], 1
jne case.0x1400cef37.69
mov qword [rdi], rsi
mov eax, 1
jmp 0x1400cfa08
mov rbx, qword [rbx]
cmp byte [rbx + 0x23], sil
jne 0x1400cf4a2
mov rbx, qword [rbx + 0x10]
test byte [rbx + 0x21], 8
je 0x1400cf4b0
mov rcx, rbx
call fcn.140001610
movzx eax, byte [rbx + 0x23]
cmp al, 1
jne 0x1400cf4cc
test byte [rbx + 0x21], 4
je 0x1400cf4c6
mov rdx, rbx
call fcn.140064000
mov rdx, qword [rbx + 8]
jmp 0x1400cf544
cmp al, 2
jne 0x1400cf52e
mov rdx, qword [0x140164960]
test rdx, rdx
jne 0x1400cf544
lea ecx, [rdx + 0xd]
call qword [sym.imp.USER32.dll_IsClipboardFormatAvailable]
test eax, eax
jne 0x1400cf50b
lea ecx, [rax + 0xf]
call qword [sym.imp.USER32.dll_IsClipboardFormatAvailable]
lea r15, [0x14012046c]
test eax, eax
lea rcx, [0x140120460]
mov rdx, r15
cmovne rdx, rcx
jmp 0x1400cf54b
xor edx, edx
call fcn.140007200
mov ecx, 0xffffffff
lea r15, [0x14012046c]
cmp rax, rcx
mov rdx, r15
cmovne rdx, qword [0x140164958]
jmp 0x1400cf54b
lea rdx, [0x140162c30]
jmp 0x1400cf544
xor edx, edx
mov rcx, rbx
call fcn.140093ae0
mov rdx, rax
lea r15, [0x14012046c]
cmp rdx, 0x10000
jae 0x1400cf558
mov ecx, esi
jmp 0x1400cf576
lea rcx, [r13 + 0x10]
mov r8d, ebp
test r14b, r14b
je 0x1400cf56b
call fcn.1400ce450
jmp 0x1400cf570
call fcn.1400ce8a0
mov ecx, eax
test eax, eax
jne 0x1400cf58e
test ebp, ebp
je 0x1400cf58e
mov rax, qword [0x14015bc10]
test byte [rax + 0x140], 1
jne 0x1400cf6b4
mov eax, ecx
mov qword [rdi], rax
mov eax, 1
jmp 0x1400cfa08
test ebp, ebp
jne 0x1400cf5fc
mov rax, qword [r13 + 0x10]
lea rcx, [r13 + 0x10]
call qword [rax + 0x30]
mov rdx, rax
cmp rax, 0xffffffffffffffff
jne 0x1400cf5c3
mov rbx, rax
mov qword [rdi], rax
lea eax, [rbp + 1]
jmp 0x1400cfa08
mov rax, qword [r13 + 0x40]
mov ecx, dword [r13 + 0x1c]
test rax, rax
je 0x1400cf5e8
sub rax, qword [r13 + 0x48]
sub rax, rcx
lea rbx, [rdx + rax]
mov eax, 1
mov qword [rdi], rbx
jmp 0x1400cfa08
mov rax, rcx
lea rbx, [rdx + rcx]
mov qword [rdi], rbx
mov eax, 1
jmp 0x1400cfa08
cmp ebp, 2
jg case.0x1400cef37.69
mov rcx, qword [r12 + 8]
xor edx, edx
call fcn.140093ae0
mov r14, rax
cmp ebp, 2
jne 0x1400cf62a
mov rcx, qword [r12 + 0x10]
xor edx, edx
call fcn.140093ae0
mov rbp, rax
jmp 0x1400cf637
test r14, r14
mov ebp, esi
mov ecx, 2
cmovs ebp, ecx
mov rdx, qword [r13 + 0x40]
mov r8d, dword [r13 + 0x1c]
test rdx, rdx
je 0x1400cf663
sub rdx, qword [r13 + 0x48]
lea rcx, [r13 + 0x10]
mov r9, qword [r13 + 0x10]
sub rdx, r8
mov r8d, 1
call qword [r9 + 0x28]
mov qword [r13 + 0x40], rsi
jmp 0x1400cf677
test r8d, r8d
je 0x1400cf67b
mov rax, qword [r13 + 0x10]
lea rcx, [r13 + 0x10]
mov rdx, qword [r13 + 0x48]
call qword [rax + 0x20]
mov dword [r13 + 0x1c], esi
mov rax, qword [r13 + 0x10]
lea rcx, [r13 + 0x10]
mov r8d, ebp
mov word [r13 + 0x3c], si
mov rdx, r14
call qword [rax + 0x28]
test al, al
jne 0x1400cf84a
mov rax, qword [0x14015bc10]
test byte [rax + 0x140], 1
je 0x1400cf84f
lea r15, [0x14012046c]
mov rax, qword [0x14015bc10]
mov dword [rdi + 0x10], esi
test byte [rax + 0x140], 1
je 0x1400cf297
mov rcx, qword [0x140164390]
lea r8, str.FileObject
mov r9, r15
lea rdx, [0x140136e9c]
call fcn.140062910
mov eax, 1
jmp 0x1400cfa08
test ebp, ebp
jne 0x1400cf73b
mov rax, qword [r13 + 0x10]
lea rcx, [r13 + 0x10]
call qword [rax + reloc.WSOCK32.dll_getservbyport]
cmp qword [r13 + 0x40], 0
mov rsi, rax
jne 0x1400cf72b
cmp dword [r13 + 0x1c], ebp
je 0x1400cf72b
mov rax, qword [r13 + 0x10]
lea rcx, [r13 + 0x10]
call qword [rax + 0x30]
mov rcx, rax
mov eax, dword [r13 + 0x1c]
add rcx, rax
cmp rcx, rsi
jg 0x1400cf72e
mov rcx, rsi
mov qword [rdi], rcx
mov eax, 1
jmp 0x1400cfa08
cmp ebp, 1
jne case.0x1400cef37.69
mov rcx, qword [r12 + 8]
xor edx, edx
call fcn.140093ae0
mov rdx, qword [r13 + 0x40]
mov r14, rax
mov r8d, dword [r13 + 0x1c]
test rdx, rdx
je 0x1400cf77c
sub rdx, qword [r13 + 0x48]
lea rcx, [r13 + 0x10]
mov r9, qword [r13 + 0x10]
sub rdx, r8
mov r8d, ebp
call qword [r9 + 0x28]
mov qword [r13 + 0x40], rsi
jmp 0x1400cf790
test r8d, r8d
je 0x1400cf794
mov rax, qword [r13 + 0x10]
lea rcx, [r13 + 0x10]
mov rdx, qword [r13 + 0x48]
call qword [rax + 0x20]
mov dword [r13 + 0x1c], esi
mov rax, qword [r13 + 0x10]
lea rcx, [r13 + 0x10]
mov word [r13 + 0x3c], si
call qword [rax + 0x30]
xor r8d, r8d
lea rcx, [r13 + 0x10]
mov rbp, rax
mov rdx, r14
mov rax, qword [r13 + 0x10]
call qword [rax + 0x28]
test al, al
je 0x1400cf7fa
mov rcx, qword [r13 + 0x50]
call qword [sym.imp.KERNEL32.dll_SetEndOfFile]
test eax, eax
je 0x1400cf7fa
mov rax, qword [r13 + 0x10]
lea rcx, [r13 + 0x10]
cmp r14, rbp
cmovl rbp, r14
xor r8d, r8d
mov rdx, rbp
call qword [rax + 0x28]
mov rax, qword [r13 + 0x10]
lea rcx, [r13 + 0x10]
call qword [rax + reloc.WSOCK32.dll_getservbyport]
mov qword [rdi], rax
cmp rax, 0xffffffffffffffff
jne 0x1400cf297
lea r15, [0x14012046c]
mov qword [rdi], r15
jmp 0x1400cf6b4
test ebp, ebp
jne 0x1400cf297
mov rcx, qword [r13 + 0x40]
test rcx, rcx
je 0x1400cf827
mov eax, dword [r13 + 0x1c]
add rax, qword [r13 + 0x48]
cmp rcx, rax
jb 0x1400cf84f
mov rax, qword [r13 + 0x10]
lea rcx, [r13 + 0x10]
call qword [rax + 0x30]
mov rbp, rax
test rax, rax
js 0x1400cf84a
mov rax, qword [r13 + 0x10]
lea rcx, [r13 + 0x10]
call qword [rax + reloc.WSOCK32.dll_getservbyport]
cmp rbp, rax
jl 0x1400cf84f
mov esi, 1
mov qword [rdi], rsi
mov eax, 1
jmp 0x1400cfa08
test ebp, ebp
jne 0x1400cf297
mov rdx, qword [r13 + 0x40]
mov r8d, dword [r13 + 0x1c]
test rdx, rdx
je 0x1400cf88e
sub rdx, qword [r13 + 0x48]
lea rcx, [r13 + 0x10]
mov r9, qword [r13 + 0x10]
sub rdx, r8
lea r8d, [rbp + 1]
call qword [r9 + 0x28]
mov qword [r13 + 0x40], rsi
jmp 0x1400cf8a2
test r8d, r8d
je 0x1400cf8a6
mov rax, qword [r13 + 0x10]
lea rcx, [r13 + 0x10]
mov rdx, qword [r13 + 0x48]
call qword [rax + 0x20]
mov dword [r13 + 0x1c], esi
mov rax, qword [r13 + 0x50]
mov word [r13 + 0x3c], si
mov qword [rdi], rax
mov eax, 1
jmp 0x1400cfa08
test ebp, ebp
jle 0x1400cf95a
mov rcx, qword [r12 + 8]
call fcn.140093800
mov r9, qword [r12 + 8]
test eax, eax
je 0x1400cf8e3
xor edx, edx
mov rcx, r9
call fcn.140093ae0
jmp 0x1400cf927
mov ecx, dword [r9 + 0x10]
test ecx, ecx
je 0x1400cf91c
sub ecx, 1
je 0x1400cf8ff
sub ecx, 1
je 0x1400cf8ff
sub ecx, 2
je 0x1400cf908
cmp ecx, 1
je 0x1400cf91c
lea r15, [0x14012046c]
jmp 0x1400cf91f
mov rcx, qword [r9]
xor r8d, r8d
lea edx, [r8 + 1]
call fcn.140001770
mov r15, rax
jmp 0x1400cf91f
mov r15, qword [r9]
mov rcx, r15
call fcn.1400360d0
mov ecx, 0xffffffff
cmp eax, ecx
je 0x1400cf95a
and eax, 0x7fffffff
cmove eax, dword [0x140164b18]
cmp dword [r13 + 0x24], eax
je 0x1400cf95a
lea rdx, [r13 + 0x28]
mov dword [r13 + 0x24], eax
mov ecx, eax
call qword [sym.imp.KERNEL32.dll_GetCPInfo]
test eax, eax
jne 0x1400cf95a
mov byte [r13 + 0x2e], sil
mov ecx, dword [r13 + 0x24]
cmp ecx, 0x4b0
je 0x1400cf9a8
cmp ecx, 0xfde9
je 0x1400cf994
mov rbx, qword [rdi + 8]
mov r8d, 0xa
lea rdx, [rbx + 4]
mov dword [rbx], 0x500043
call fcn.1400f5404
mov eax, 1
mov dword [rdi + 0x10], esi
mov qword [rdi], rbx
jmp 0x1400cfa08
lea rbx, str.UTF_8
mov dword [rdi + 0x10], esi
mov qword [rdi], rbx
mov eax, 1
jmp 0x1400cfa08
lea rbx, str.UTF_16
mov dword [rdi + 0x10], esi
mov qword [rdi], rbx
mov eax, 1
jmp 0x1400cfa08
test ebp, ebp
jne 0x1400cf9f2
mov r8d, dword [r13 + 0x1c]
test r8d, r8d
je 0x1400cf9e2
cmp qword [r13 + 0x40], rsi
jne 0x1400cf9e2
mov rax, qword [r13 + 0x10]
lea rcx, [r13 + 0x10]
mov rdx, qword [r13 + 0x48]
call qword [rax + 0x20]
mov dword [r13 + 0x1c], esi
mov rax, qword [r13 + 0x10]
lea rcx, [r13 + 0x10]
mov word [r13 + 0x3c], si
call qword [rax + reloc.WSOCK32.dll_recv]
lea r15, [0x14012046c]
mov dword [rdi + 0x10], esi
mov qword [rdi], r15
mov eax, 1
jmp 0x1400cfa08
mov eax, ebx
lea r11, [rsp + 0x50]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret