Function at 0x14003b380
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r14
sub rsp, 0x20
mov rdi, rcx
mov rbp, r8
mov rcx, rdx
mov rbx, rdx
call fcn.14003c210
mov rax, qword [rbp + 0x38]
add rax, 0x10
cmp rax, qword [rbp + 0x40]
jbe 0x140039dbf
mov edx, 1
lea rcx, [rbp + 0x20]
call fcn.14001e290
mov rcx, qword [rbp + 0x38]
mov esi, 4
lea rax, [rcx + 0x10]
mov qword [rbp + 0x38], rax
test rcx, rcx
je 0x140039de2
xor eax, eax
mov qword [rcx], rax
mov qword [rcx + 8], rax
mov word [rcx + 0xe], si
mov rdx, rbx
mov rcx, rdi
call fcn.14003b500
cmp dword [rdi + 0x30], 0
jne 0x140039f18
mov rax, qword [rbx + 0x20]
cmp byte [rax], 0x5d
jne 0x140039e29
mov rcx, rbx
call fcn.14003c210
mov rax, qword [rbp + 0x38]
movabs rcx, 0xffff000000000000
mov word [rax - 2], si
and qword [rax - 8], rcx
xor esi, esi
mov qword [rax - 0x10], rsi
jmp 0x140039f18
mov r8, rbp
mov rdx, rbx
mov rcx, rdi
xor esi, esi
call fcn.14003b380
cmp dword [rdi + 0x30], esi
jne 0x140039f18
mov rdx, rbx
mov rcx, rdi
inc esi
call fcn.14003b500
cmp dword [rdi + 0x30], 0
jne 0x140039f18
mov rcx, qword [rbx + 0x20]
movzx eax, byte [rcx]
cmp al, 0x2c
jne 0x140039e79
mov rcx, rbx
call fcn.14003c210
mov rdx, rbx
mov rcx, rdi
call fcn.14003b500
jmp 0x140039e93
cmp al, 0x5d
je 0x140039eeb
mov rax, qword [rbx + 0x30]
sub rax, qword [rbx + 8]
add rax, rcx
mov dword [rdi + 0x30], 7
mov qword [rdi + 0x38], rax
cmp dword [rdi + 0x30], 0
jne 0x140039f18
mov rax, qword [rbx + 0x20]
cmp byte [rax], 0x5d
je 0x140039ebc
mov r8, rbp
mov rdx, rbx
mov rcx, rdi
call fcn.14003b380
cmp dword [rdi + 0x30], 0
je 0x140039e42
jmp 0x140039f18
mov eax, esi
mov r8d, esi
neg rax
shl rax, 4
add qword [rbp + 0x38], rax
mov rcx, qword [rbp + 0x38]
mov r9, qword [rbp + 0x10]
sub rcx, 0x10
mov rdx, qword [rbp + 0x38]
call fcn.140026df0
mov rcx, rbx
call fcn.14003c210
jmp 0x140039f18
mov rcx, rbx
call fcn.14003c210
mov eax, esi
mov r8d, esi
neg rax
shl rax, 4
add qword [rbp + 0x38], rax
mov rcx, qword [rbp + 0x38]
mov r9, qword [rbp + 0x10]
sub rcx, 0x10
mov rdx, qword [rbp + 0x38]
call fcn.140026df0
mov rbx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x50]
add rsp, 0x20
pop r14
pop rdi
pop rsi
ret
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x20
mov rdi, rcx
mov rsi, r8
mov rcx, rdx
mov rbx, rdx
call fcn.14003c210
mov rdx, qword [rbx + 0x20]
cmp byte [rdx], 0x61
jne 0x140039fe7
mov rcx, rbx
call fcn.14003c210
mov rdx, qword [rbx + 0x20]
cmp byte [rdx], 0x6c
jne 0x140039fe7
mov rcx, rbx
call fcn.14003c210
mov rdx, qword [rbx + 0x20]
cmp byte [rdx], 0x73
jne 0x140039fe7
mov rcx, rbx
call fcn.14003c210
mov rdx, qword [rbx + 0x20]
cmp byte [rdx], 0x65
jne 0x140039fe7
mov rcx, rbx
call fcn.14003c210
mov rax, qword [rsi + 0x38]
add rax, 0x10
cmp rax, qword [rsi + 0x40]
jbe 0x140039fb4
mov edx, 1
lea rcx, [rsi + 0x20]
call fcn.14001e290
mov rcx, qword [rsi + 0x38]
lea rax, [rcx + 0x10]
mov qword [rsi + 0x38], rax
test rcx, rcx
je 0x140039ffd
xor eax, eax
mov qword [rcx], rax
mov qword [rcx + 8], rax
mov eax, 9
mov word [rcx + 0xe], ax
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
ret
mov rax, qword [rbx + 0x30]
sub rax, qword [rbx + 8]
add rax, rdx
mov dword [rdi + 0x30], 3
mov qword [rdi + 0x38], rax
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
ret
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
mov rdi, rcx
mov rsi, r8
mov rcx, rdx
mov rbx, rdx
call fcn.14003c210
mov rdx, qword [rbx + 0x20]
cmp byte [rdx], 0x75
jne 0x14003a184
mov rcx, rbx
call fcn.14003c210
mov rdx, qword [rbx + 0x20]
cmp byte [rdx], 0x6c
jne 0x14003a184
mov rcx, rbx
call fcn.14003c210
mov rdx, qword [rbx + 0x20]
cmp byte [rdx], 0x6c
jne 0x14003a184
mov rcx, rbx
call fcn.14003c210
mov rcx, rsi
call fcn.140026cd0
test al, al
jne 0x14003a19a
mov rax, qword [rbx + 0x30]
sub rax, qword [rbx + 8]
add rax, qword [rbx + 0x20]
mov dword [rdi + 0x30], reloc.WS2_32.dll_recv
jmp 0x14003a196
mov rax, qword [rbx + 0x30]
sub rax, qword [rbx + 8]
add rax, rdx
mov dword [rdi + 0x30], 3
mov qword [rdi + 0x38], rax
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
mov rax, rsp
mov qword [rax + 0x18], r8
mov qword [rax + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x98
mov qword [rsp + 0x30], 0xfffffffffffffffe
movaps xmmword [rax - 0x58], xmm6
movaps xmmword [rax - 0x68], xmm7
movaps xmmword [rax - 0x78], xmm8
movaps xmmword [rsp + 0x50], xmm9
movaps xmmword [rsp + 0x40], xmm10
mov rbx, rdx
mov r13, rcx
mov rax, qword [rdx + 0x20]
mov rcx, rax
sub rcx, qword [rdx + 8]
add rcx, qword [rdx + 0x30]
mov qword [rsp + 0x28], rcx
xorps xmm10, xmm10
movaps xmm6, xmm10
cmp byte [rax], 0x2d
jne 0x14003a224
mov rcx, rdx
call fcn.14003c210
mov bpl, 1
jmp 0x14003a227
xor bpl, bpl
mov byte [rsp + 0x20], bpl
xor r12d, r12d
mov r15d, r12d
mov r14d, r12d
mov byte [rsp + 0xf8], r12b
mov esi, r12d
mov rcx, qword [rbx + 0x20]
movzx edi, byte [rcx]
movsd xmm8, qword [0x140078870]
movsd xmm9, qword [0x140078878]
cmp dil, 0x30
jne 0x14003a277
mov rcx, rbx
call fcn.14003c210
xor dil, dil
mov byte [rsp + 0xe8], dil
jmp 0x14003a5db
lea eax, [rdi - 0x31]
cmp al, 8
ja 0x14003a336
mov rcx, rbx
call fcn.14003c210
movsx r15d, dil
sub r15d, 0x30
mov rax, qword [rbx + 0x20]
test bpl, bpl
je 0x14003a2e6
cmp byte [rax], 0x30
jl 0x14003a354
mov rax, qword [rbx + 0x20]
movzx edi, byte [rax]
cmp dil, 0x39
jg 0x14003a354
cmp r15d, 0xccccccc
jb 0x14003a2c6
jne 0x14003a329
cmp dil, 0x38
jg 0x14003a329
mov rcx, rbx
call fcn.14003c210
lea ecx, [r15 + r15*4]
movsx r15d, dil
add r15d, 0xffffffd0
lea r15d, [r15 + rcx*2]
inc esi
mov rax, qword [rbx + 0x20]
jmp 0x14003a29b
cmp byte [rax], 0x30
jl 0x14003a354
mov rax, qword [rbx + 0x20]
movzx edi, byte [rax]
cmp dil, 0x39
jg 0x14003a354
cmp r15d, 0x19999999
jb 0x14003a309
jne 0x14003a329
cmp dil, 0x35
jg 0x14003a329
mov rcx, rbx
call fcn.14003c210
lea ecx, [r15 + r15*4]
movsx r15d, dil
add r15d, 0xffffffd0
lea r15d, [r15 + rcx*2]
inc esi
mov rax, qword [rbx + 0x20]
jmp 0x14003a2e6
mov r14d, r15d
mov byte [rsp + 0xf8], 1
jmp 0x14003a354
sub rcx, qword [rbx + 8]
add rcx, qword [rbx + 0x30]
mov dword [r13 + 0x30], 3
mov qword [r13 + 0x38], rcx
cmp dword [r13 + 0x30], esi
jne 0x14003aaf9
xor bpl, bpl
mov byte [rsp + 0xe8], bpl
cmp byte [rsp + 0xf8], bpl
je 0x14003a4f3
mov rax, qword [rbx + 0x20]
cmp byte [rsp + 0x20], r12b
je 0x14003a42d
cmp byte [rax], 0x30
jl 0x14003a4f3
movabs rcx, 0xccccccccccccccc
mov rax, qword [rbx + 0x20]
movzx edi, byte [rax]
cmp dil, 0x39
jg 0x14003a4f3
cmp r14, rcx
jb 0x14003a3b5
jne 0x14003a4d6
cmp dil, 0x38
jg 0x14003a4d6
cmp rax, qword [rbx + 0x18]
jae 0x14003a3c4
inc rax
mov qword [rbx + 0x20], rax
jmp 0x14003a410
cmp byte [rbx + 0x38], r12b
jne 0x14003a410
mov rax, qword [rbx + 0x28]
add qword [rbx + 0x30], rax
mov r9, qword [rbx]
mov r8, qword [rbx + 0x10]
mov edx, 1
mov rcx, qword [rbx + 8]
call fcn.14005b720
mov qword [rbx + 0x28], rax
mov rdx, qword [rbx + 8]
lea rcx, [rdx - 1]
add rcx, rax
mov qword [rbx + 0x18], rcx
mov qword [rbx + 0x20], rdx
cmp rax, qword [rbx + 0x10]
jae 0x14003a410
mov byte [rax + rdx], r12b
inc qword [rbx + 0x18]
mov byte [rbx + 0x38], 1
movsx rcx, dil
sub rcx, 0x30
mov ecx, ecx
lea rax, [r14 + r14*4]
lea r14, [rcx + rax*2]
inc esi
mov rax, qword [rbx + 0x20]
jmp 0x14003a37c
cmp byte [rax], 0x30
jl 0x14003a4f3
movabs rcx, 0x1999999999999999
mov rax, qword [rbx + 0x20]
movzx edi, byte [rax]
cmp dil, 0x39
jg 0x14003a4f3
cmp r14, rcx
jb 0x14003a45e
jne 0x14003a4d6
cmp dil, 0x35
jg 0x14003a4d6
cmp rax, qword [rbx + 0x18]
jae 0x14003a46d
inc rax
mov qword [rbx + 0x20], rax
jmp 0x14003a4b9
cmp byte [rbx + 0x38], r12b
jne 0x14003a4b9
mov rax, qword [rbx + 0x28]
add qword [rbx + 0x30], rax
mov r9, qword [rbx]
mov r8, qword [rbx + 0x10]
mov edx, 1
mov rcx, qword [rbx + 8]
call fcn.14005b720
mov qword [rbx + 0x28], rax
mov rdx, qword [rbx + 8]
lea rcx, [rdx - 1]
add rcx, rax
mov qword [rbx + 0x18], rcx
mov qword [rbx + 0x20], rdx
cmp rax, qword [rbx + 0x10]
jae 0x14003a4b9
mov byte [rdx + rax], r12b
inc qword [rbx + 0x18]
mov byte [rbx + 0x38], 1
movsx rcx, dil
sub rcx, 0x30
mov ecx, ecx
lea rax, [r14 + r14*4]
lea r14, [rcx + rax*2]
inc esi
mov rax, qword [rbx + 0x20]
jmp 0x14003a42d
xorps xmm6, xmm6
test r14, r14
cvtsi2sd xmm6, r14
jns 0x14003a4e8
addsd xmm6, xmm9
mov bpl, 1
mov byte [rsp + 0xe8], bpl
test bpl, bpl
je 0x14003a5d3
mov rax, qword [rbx + 0x20]
cmp byte [rax], 0x30
jl 0x14003a5d3
movsd xmm7, qword [0x140078880]
mov rbp, qword [rsp + 0x28]
nop word [rax + rax]
mov rax, qword [rbx + 0x20]
cmp byte [rax], 0x39
jg 0x14003a5d3
comisd xmm6, xmm7
jb 0x14003a549
mov dword [r13 + 0x30], reloc.WS2_32.dll_listen
mov qword [r13 + 0x38], rbp
cmp dword [r13 + 0x30], r12d
jne 0x14003aaf9
mov rax, qword [rbx + 0x20]
movzx edi, byte [rax]
cmp rax, qword [rbx + 0x18]
jae 0x14003a55f
inc rax
mov qword [rbx + 0x20], rax
jmp 0x14003a5ab
cmp byte [rbx + 0x38], r12b
jne 0x14003a5ab
mov rax, qword [rbx + 0x28]
add qword [rbx + 0x30], rax
mov r9, qword [rbx]
mov r8, qword [rbx + 0x10]
mov edx, 1
mov rcx, qword [rbx + 8]
call fcn.14005b720
mov qword [rbx + 0x28], rax
mov rdx, qword [rbx + 8]
lea rcx, [rdx - 1]
add rcx, rax
mov qword [rbx + 0x18], rcx
mov qword [rbx + 0x20], rdx
cmp rax, qword [rbx + 0x10]
jae 0x14003a5ab
mov byte [rdx + rax], r12b
inc qword [rbx + 0x18]
mov byte [rbx + 0x38], 1
movsx eax, dil
sub eax, 0x30
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm6, xmm8
addsd xmm0, xmm6
movaps xmm6, xmm0
mov rax, qword [rbx + 0x20]
cmp byte [rax], 0x30
jge 0x14003a520
movzx edi, byte [rsp + 0xe8]
mov ebp, r12d
mov rax, qword [rbx + 0x20]
cmp byte [rax], 0x2e
jne 0x14003a825
mov rcx, rbx
call fcn.14003c210
mov rcx, qword [rbx + 0x20]
movzx eax, byte [rcx]
sub al, 0x30
cmp al, 9
jbe 0x14003a61e
sub rcx, qword [rbx + 8]
add rcx, qword [rbx + 0x30]
mov dword [r13 + 0x30], send
mov qword [r13 + 0x38], rcx
cmp dword [r13 + 0x30], r12d
jne 0x14003aaf9
test dil, dil
jne 0x14003a713
mov eax, r15d
cmp byte [rsp + 0xf8], bpl
cmovne rax, r14
mov r14, rax
mov rax, qword [rbx + 0x20]
cmp byte [rax], 0x30
jl 0x14003a6f9
movabs r13, 0x1fffffffffffff
mov rax, qword [rbx + 0x20]
movzx edi, byte [rax]
cmp dil, 0x39
jg 0x14003a6f1
cmp r14, r13
ja 0x14003a6f1
cmp rax, qword [rbx + 0x18]
jae 0x14003a679
inc rax
mov qword [rbx + 0x20], rax
jmp 0x14003a6c5
cmp byte [rbx + 0x38], r12b
jne 0x14003a6c5
mov rax, qword [rbx + 0x28]
add qword [rbx + 0x30], rax
mov r9, qword [rbx]
mov r8, qword [rbx + 0x10]
mov edx, 1
mov rcx, qword [rbx + 8]
call fcn.14005b720
mov qword [rbx + 0x28], rax
mov rdx, qword [rbx + 8]
lea rcx, [rdx - 1]
add rcx, rax
mov qword [rbx + 0x18], rcx
mov qword [rbx + 0x20], rdx
cmp rax, qword [rbx + 0x10]
jae 0x14003a6c5
mov byte [rdx + rax], r12b
inc qword [rbx + 0x18]
mov byte [rbx + 0x38], 1
movsx rcx, dil
sub rcx, 0x30
mov ecx, ecx
lea rax, [r14 + r14*4]
lea r14, [rcx + rax*2]
dec ebp
lea eax, [rsi + 1]
test r14, r14
cmove eax, esi
mov esi, eax
mov rax, qword [rbx + 0x20]
cmp byte [rax], 0x30
jge 0x14003a650
mov r13, qword [rsp + 0xe0]
xorps xmm6, xmm6
cvtsi2sd xmm6, r14
test r14, r14
jns 0x14003a70b
addsd xmm6, xmm9
mov byte [rsp + 0xe8], 1
mov rax, qword [rbx + 0x20]
cmp byte [rax], 0x30
jl 0x14003a825
mov rax, qword [rbx + 0x20]
movzx edi, byte [rax]
cmp dil, 0x39
jg 0x14003a825
cmp esi, 0x11
jge 0x14003a7bd
cmp rax, qword [rbx + 0x18]
jae 0x14003a749
inc rax
mov qword [rbx + 0x20], rax
jmp 0x14003a795
cmp byte [rbx + 0x38], r12b
jne 0x14003a795
mov rax, qword [rbx + 0x28]
add qword [rbx + 0x30], rax
mov r9, qword [rbx]
mov r8, qword [rbx + 0x10]
mov edx, 1
mov rcx, qword [rbx + 8]
call fcn.14005b720
mov qword [rbx + 0x28], rax
mov rdx, qword [rbx + 8]
lea rcx, [rdx - 1]
add rcx, rax
mov qword [rbx + 0x18], rcx
mov qword [rbx + 0x20], rdx
cmp rax, qword [rbx + 0x10]
jae 0x14003a795
mov byte [rdx + rax], r12b
inc qword [rbx + 0x18]
mov byte [rbx + 0x38], 1
movsx eax, dil
sub eax, 0x30
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm6, xmm8
addsd xmm0, xmm6
movaps xmm6, xmm0
dec ebp
comisd xmm0, xmm10
jbe 0x14003a818
inc esi
jmp 0x14003a818
cmp rax, qword [rbx + 0x18]
jae 0x14003a7cc
inc rax
mov qword [rbx + 0x20], rax
jmp 0x14003a818
cmp byte [rbx + 0x38], r12b
jne 0x14003a818
mov rax, qword [rbx + 0x28]
add qword [rbx + 0x30], rax
mov r9, qword [rbx]
mov r8, qword [rbx + 0x10]
mov edx, 1
mov rcx, qword [rbx + 8]
call fcn.14005b720
mov qword [rbx + 0x28], rax
mov rdx, qword [rbx + 8]
lea rcx, [rdx - 1]
add rcx, rax
mov qword [rbx + 0x18], rcx
mov qword [rbx + 0x20], rdx
cmp rax, qword [rbx + 0x10]
jae 0x14003a818
mov byte [rdx + rax], r12b
inc qword [rbx + 0x18]
mov byte [rbx + 0x38], 1
mov rax, qword [rbx + 0x20]
cmp byte [rax], 0x30
jge 0x14003a720
mov rax, qword [rbx + 0x20]
movzx ecx, byte [rax]
cmp cl, 0x65
je 0x14003a83a
cmp cl, 0x45
jne 0x14003aa28
mov rcx, rbx
call fcn.14003c210
cmp byte [rsp + 0xe8], r12b
jne 0x14003a876
cmp byte [rsp + 0xf8], r12b
mov rax, r14
jne 0x14003a85c
mov eax, r15d
xorps xmm6, xmm6
cvtsi2sd xmm6, rax
test rax, rax
jns 0x14003a86e
addsd xmm6, xmm9
mov byte [rsp + 0xe8], 1
xor sil, sil
mov rax, qword [rbx + 0x20]
movzx ecx, byte [rax]
cmp cl, 0x2b
jne 0x14003a88f
mov rcx, rbx
call fcn.14003c210
jmp 0x14003a89f
cmp cl, 0x2d
jne 0x14003a89f
mov rcx, rbx
call fcn.14003c210
mov sil, 1
mov rcx, qword [rbx + 0x20]
movzx edi, byte [rcx]
lea eax, [rdi - 0x30]
cmp al, 9
ja 0x14003aa02
mov rcx, rbx
call fcn.14003c210
movsx r12d, dil
sub r12d, 0x30
mov rax, qword [rbx + 0x20]
test sil, sil
je 0x14003a99f
cmp byte [rax], 0x30
jl 0x14003aa20
nop word [rax + rax]
mov rax, qword [rbx + 0x20]
movzx edi, byte [rax]
cmp dil, 0x39
jg 0x14003aa20
mov rcx, rbx
call fcn.14003c210
lea r12d, [r12 + r12*4]
movsx eax, dil
lea r12d, [r12 - 0x18]
lea r12d, [rax + r12*2]
cmp r12d, 0xccccccc
jl 0x14003a98d
mov rax, qword [rbx + 0x20]
cmp byte [rax], 0x30
jl 0x14003a98d
nop dword [rax]
mov rax, qword [rbx + 0x20]
cmp byte [rax], 0x39
jg 0x14003a98d
cmp rax, qword [rbx + 0x18]
jae 0x14003a938
inc rax
mov qword [rbx + 0x20], rax
jmp 0x14003a984
cmp byte [rbx + 0x38], 0
jne 0x14003a984
mov rax, qword [rbx + 0x28]
add qword [rbx + 0x30], rax
mov r9, qword [rbx]
mov r8, qword [rbx + 0x10]
mov edx, 1
mov rcx, qword [rbx + 8]
call fcn.14005b720
mov qword [rbx + 0x28], rax
mov rdx, qword [rbx + 8]
lea rcx, [rdx - 1]
add rcx, rax
mov qword [rbx + 0x18], rcx
mov qword [rbx + 0x20], rdx
cmp rax, qword [rbx + 0x10]
jae 0x14003a984
mov byte [rdx + rax], 0
inc qword [rbx + 0x18]
mov byte [rbx + 0x38], 1
mov rax, qword [rbx + 0x20]
cmp byte [rax], 0x30
jge 0x14003a920
mov rax, qword [rbx + 0x20]
cmp byte [rax], 0x30
jge 0x14003a8e0
jmp 0x14003aa20
mov esi, 0x134
sub esi, ebp
cmp byte [rax], 0x30
jl 0x14003aa28
nop
mov rax, qword [rbx + 0x20]
movzx edi, byte [rax]
cmp dil, 0x39
jg 0x14003aa28
mov rcx, rbx
call fcn.14003c210
lea r12d, [r12 + r12*4]
movsx eax, dil
lea r12d, [r12 - 0x18]
lea r12d, [rax + r12*2]
cmp r12d, esi
jle 0x14003a9f7
mov dword [r13 + 0x30], reloc.WS2_32.dll_listen
mov rax, qword [rsp + 0x28]
mov qword [r13 + 0x38], rax
cmp dword [r13 + 0x30], 0
jne 0x14003aaf9
mov rax, qword [rbx + 0x20]
cmp byte [rax], 0x30
jge 0x14003a9b0
jmp 0x14003aa28
sub rcx, qword [rbx + 8]
add rcx, qword [rbx + 0x30]
mov dword [r13 + 0x30], send
mov qword [r13 + 0x38], rcx
cmp dword [r13 + 0x30], r12d
jne 0x14003aaf9
test sil, sil
je 0x14003aa28
neg r12d
cmp byte [rsp + 0xe8], 0
je 0x14003aa96
lea eax, [r12 + rbp]
cmp eax, 0xfffffecc
jge 0x14003aa57
divsd xmm6, qword [0x140078888]
add eax, 0x134
cmp eax, 0xfffffecc
jge 0x14003aa57
movaps xmm6, xmm10
jmp 0x14003aa76
lea rcx, [0x140077760]
test eax, eax
cdqe
js 0x14003aa6b
mulsd xmm6, qword [rcx + rax*8]
jmp 0x14003aa76
shl rax, 3
sub rcx, rax
divsd xmm6, qword [rcx]
cmp byte [rsp + 0x20], 0
je 0x14003aa84
xorps xmm6, xmmword [0x1400771e0]
movaps xmm1, xmm6
mov rcx, qword [rsp + 0xf0]
call fcn.1400269e0
jmp 0x14003aae4
mov rcx, qword [rsp + 0xf0]
cmp byte [rsp + 0xf8], 0
je 0x14003aac7
cmp byte [rsp + 0x20], 0
je 0x14003aabd
not r14
lea rdx, [r14 + 1]
call fcn.140026b80
jmp 0x14003aae4
mov rdx, r14
call fcn.140027200
jmp 0x14003aae4
cmp byte [rsp + 0x20], 0
je 0x14003aadc
not r15d
lea edx, [r15 + 1]
call fcn.140026c60
jmp 0x14003aae4
mov edx, r15d
call fcn.1400272d0
test al, al
jne 0x14003aaf9
mov dword [r13 + 0x30], reloc.WS2_32.dll_recv
mov rax, qword [rsp + 0x28]
mov qword [r13 + 0x38], rax
movaps xmm6, xmmword [rsp + 0x80]
movaps xmm7, xmmword [rsp + 0x70]
movaps xmm8, xmmword [rsp + 0x60]
movaps xmm9, xmmword [rsp + 0x50]
movaps xmm10, xmmword [rsp + 0x40]
add rsp, 0x98
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x20
mov rdi, rcx
mov rbp, r8
mov rcx, rdx
mov rbx, rdx
call fcn.14003c210
mov rax, qword [rbp + 0x38]
add rax, 0x10
cmp rax, qword [rbp + 0x40]
jbe 0x14003ab71
mov edx, 1
lea rcx, [rbp + 0x20]
call fcn.14001e290
mov rcx, qword [rbp + 0x38]
mov esi, 3
lea rax, [rcx + 0x10]
mov qword [rbp + 0x38], rax
test rcx, rcx
je 0x14003ab94
xor eax, eax
mov qword [rcx], rax
mov qword [rcx + 8], rax
mov word [rcx + 0xe], si
mov rdx, rbx
mov rcx, rdi
call fcn.14003b500
cmp dword [rdi + 0x30], 0
jne 0x14003ad31
mov rcx, qword [rbx + 0x20]
movzx eax, byte [rcx]
cmp al, 0x7d
jne 0x14003abdd
mov rcx, rbx
call fcn.14003c210
mov rax, qword [rbp + 0x38]
movabs rcx, 0xffff000000000000
mov word [rax - 2], si
and qword [rax - 8], rcx
xor esi, esi
mov qword [rax - 0x10], rsi
jmp 0x14003ad31
xor esi, esi
nop
cmp al, 0x22
je 0x14003ac04
mov rax, qword [rbx + 0x30]
sub rax, qword [rbx + 8]
add rax, rcx
mov dword [rdi + 0x30], 4
mov qword [rdi + 0x38], rax
cmp dword [rdi + 0x30], 0
jne 0x14003ad31
mov r9b, 1
mov r8, rbp
mov rdx, rbx
mov rcx, rdi
call 0x14003ae60
cmp dword [rdi + 0x30], 0
jne 0x14003ad31
mov rdx, rbx
mov rcx, rdi
call fcn.14003b500
cmp dword [rdi + 0x30], 0
jne 0x14003ad31
mov rcx, qword [rbx + 0x20]
cmp byte [rcx], 0x3a
jne 0x14003ac47
mov rcx, rbx
call fcn.14003c210
jmp 0x14003ac67
mov rax, qword [rbx + 0x30]
sub rax, qword [rbx + 8]
add rax, rcx
mov dword [rdi + 0x30], 5
mov qword [rdi + 0x38], rax
cmp dword [rdi + 0x30], 0
jne 0x14003ad31
mov rdx, rbx
mov rcx, rdi
call fcn.14003b500
cmp dword [rdi + 0x30], 0
jne 0x14003ad31
mov r8, rbp
mov rdx, rbx
mov rcx, rdi
call fcn.14003b380
cmp dword [rdi + 0x30], 0
jne 0x14003ad31
mov rdx, rbx
mov rcx, rdi
call fcn.14003b500
cmp dword [rdi + 0x30], 0
jne 0x14003ad31
mov rcx, qword [rbx + 0x20]
inc esi
movzx eax, byte [rcx]
cmp al, 0x2c
je 0x14003acd6
cmp al, 0x7d
je 0x14003ad46
mov rax, qword [rbx + 0x30]
sub rax, qword [rbx + 8]
add rax, rcx
mov dword [rdi + 0x30], 6
mov qword [rdi + 0x38], rax
jmp 0x14003ace9
mov rcx, rbx
call fcn.14003c210
mov rdx, rbx
mov rcx, rdi
call fcn.14003b500
cmp dword [rdi + 0x30], 0
jne 0x14003ad31
mov rcx, qword [rbx + 0x20]
movzx eax, byte [rcx]
cmp al, 0x7d
jne 0x14003abe0
mov edx, esi
mov rcx, rbp
call fcn.140026a40
test al, al
jne 0x14003ad29
mov rax, qword [rbx + 0x30]
sub rax, qword [rbx + 8]
add rax, qword [rbx + 0x20]
mov qword [rdi + 0x38], rax
mov dword [rdi + 0x30], reloc.WS2_32.dll_recv
cmp dword [rdi + 0x30], 0
jne 0x14003ad31
mov rcx, rbx
call fcn.14003c210
mov rbx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
add rsp, 0x20
pop rdi
ret
mov rcx, rbx
call fcn.14003c210
mov edx, esi
mov rcx, rbp
call fcn.140026a40
test al, al
jne 0x14003ad31
mov rax, qword [rbx + 0x30]
sub rax, qword [rbx + 8]
add rax, qword [rbx + 0x20]
mov qword [rdi + 0x38], rax
mov dword [rdi + 0x30], reloc.WS2_32.dll_recv
jmp 0x14003ad31
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
mov qword [rsp + 0x20], 0xfffffffffffffffe
mov qword [rsp + 0x90], rbx
movzx r12d, r9b
mov r13, r8
mov rbx, rdx
mov rdi, rcx
mov rcx, rdx
call fcn.14003c210
mov rsi, rdi
mov qword [rsp + 0x28], rdi
xor r14d, r14d
mov dword [rsp + 0x30], r14d
lea r15, [0x14008d0f0]
nop dword [rax]
mov rcx, qword [rbx + 0x20]
movzx ebp, byte [rcx]
cmp bpl, 0x5c
jne 0x14003b0c7
mov rdx, qword [rbx + 0x30]
mov r10, qword [rbx + 8]
mov rbp, rdx
sub rbp, r10
add rbp, rcx
cmp rcx, qword [rbx + 0x18]
jae 0x14003aee2
lea rax, [rcx + 1]
mov qword [rbx + 0x20], rax
jmp 0x14003af2d
cmp byte [rbx + 0x38], 0
jne 0x14003af2d
add rdx, qword [rbx + 0x28]
mov qword [rbx + 0x30], rdx
mov r9, qword [rbx]
mov r8, qword [rbx + 0x10]
mov edx, 1
mov rcx, r10
call fcn.14005b720
mov qword [rbx + 0x28], rax
mov rdx, qword [rbx + 8]
lea rcx, [rdx - 1]
add rcx, rax
mov qword [rbx + 0x18], rcx
mov qword [rbx + 0x20], rdx
cmp rax, qword [rbx + 0x10]
jae 0x14003af2d
mov byte [rax + rdx], 0
inc qword [rbx + 0x18]
mov byte [rbx + 0x38], 1
mov rcx, qword [rbx + 0x20]
movzx edx, byte [rcx]
add r15, rdx
cmp byte [r15], 0
je 0x14003af7a
mov rcx, rbx
call fcn.14003c210
movzx ebp, byte [r15]
mov rax, qword [rsi + 0x18]
inc rax
cmp rax, qword [rsi + 0x20]
jbe 0x14003af63
mov edx, 1
mov rcx, rsi
call fcn.14001e1f0
mov rcx, qword [rsi + 0x18]
lea rax, [rcx + 1]
mov qword [rsi + 0x18], rax
mov byte [rcx], bpl
inc r14d
jmp 0x14003aea1
cmp dl, 0x75
jne 0x14003b0ad
cmp rcx, qword [rbx + 0x18]
jae 0x14003af93
lea rax, [rcx + 1]
mov qword [rbx + 0x20], rax
jmp 0x14003afdf
cmp byte [rbx + 0x38], 0
jne 0x14003afdf
mov rax, qword [rbx + 0x28]
add qword [rbx + 0x30], rax
mov r9, qword [rbx]
mov r8, qword [rbx + 0x10]
mov edx, 1
mov rcx, qword [rbx + 8]
call fcn.14005b720
mov qword [rbx + 0x28], rax
mov rdx, qword [rbx + 8]
lea rcx, [rdx - 1]
add rcx, rax
mov qword [rbx + 0x18], rcx
mov qword [rbx + 0x20], rdx
cmp rax, qword [rbx + 0x10]
jae 0x14003afdf
mov byte [rax + rdx], 0
inc qword [rbx + 0x18]
mov byte [rbx + 0x38], 1
mov r8, rbp
mov rdx, rbx
mov rcx, rdi
call fcn.14003a010
mov edx, eax
cmp dword [rdi + 0x30], 0
jne 0x14003b28a
lea r15d, [rax - 0xd800]
cmp r15d, 0x3ff
ja 0x14003b094
mov rax, qword [rbx + 0x20]
cmp byte [rax], 0x5c
jne 0x14003b031
mov rcx, rbx
call fcn.14003c210
mov rax, qword [rbx + 0x20]
cmp byte [rax], 0x75
jne 0x14003b031
mov rcx, rbx
call fcn.14003c210
jmp 0x14003b046
mov dword [rdi + 0x30], 9
mov qword [rdi + 0x38], rbp
cmp dword [rdi + 0x30], 0
jne 0x14003b28a
mov r8, rbp
mov rdx, rbx
mov rcx, rdi
call fcn.14003a010
cmp dword [rdi + 0x30], 0
jne 0x14003b28a
lea ecx, [rax - 0xdc00]
cmp ecx, 0x3ff
jbe 0x14003b081
mov dword [rdi + 0x30], 9
mov qword [rdi + 0x38], rbp
cmp dword [rdi + 0x30], 0
jne 0x14003b28a
mov edx, r15d
shl edx, 0xa
add eax, 0xffff2400
or edx, eax
add edx, 0x10000
lea rcx, [rsp + 0x28]
call fcn.140039b30
mov r14d, dword [rsp + 0x30]
mov rsi, qword [rsp + 0x28]
jmp 0x14003aea6
mov dword [rdi + 0x30], 0xa
mov qword [rdi + 0x38], rbp
cmp dword [rdi + 0x30], 0
jne 0x14003b28a
jmp 0x14003aea6
cmp bpl, 0x22
je 0x14003b155
cmp bpl, 0x20
jae 0x14003b117
mov rax, qword [rbx + 0x30]
sub rax, qword [rbx + 8]
add rax, rcx
mov qword [rdi + 0x38], rax
test bpl, bpl
jne 0x14003b101
mov dword [rdi + 0x30], recv
cmp dword [rdi + 0x30], 0
jne 0x14003b28a
jmp 0x14003aeb0
mov dword [rdi + 0x30], 0xa
cmp dword [rdi + 0x30], 0
jne 0x14003b28a
jmp 0x14003aeb0
mov rcx, rbx
call fcn.14003c210
mov rax, qword [rsi + 0x18]
inc rax
cmp rax, qword [rsi + 0x20]
jbe 0x14003b139
mov edx, 1
mov rcx, rsi
call fcn.14001e1f0
mov rcx, qword [rsi + 0x18]
lea rax, [rcx + 1]
mov qword [rsi + 0x18], rax
mov byte [rcx], bpl
inc r14d
mov dword [rsp + 0x30], r14d
jmp 0x14003aeb0
mov rax, qword [rbx + 0x20]
cmp rax, qword [rbx + 0x18]
jae 0x14003b168
inc rax
mov qword [rbx + 0x20], rax
jmp 0x14003b1b4
cmp byte [rbx + 0x38], 0
jne 0x14003b1b4
mov rax, qword [rbx + 0x28]
add qword [rbx + 0x30], rax
mov r9, qword [rbx]
mov r8, qword [rbx + 0x10]
mov edx, 1
mov rcx, qword [rbx + 8]
call fcn.14005b720
mov qword [rbx + 0x28], rax
mov rdx, qword [rbx + 8]
lea rcx, [rdx - 1]
add rcx, rax
mov qword [rbx + 0x18], rcx
mov qword [rbx + 0x20], rdx
cmp rax, qword [rbx + 0x10]
jae 0x14003b1b4
mov byte [rdx + rax], 0
inc qword [rbx + 0x18]
mov byte [rbx + 0x38], 1
mov rax, qword [rsi + 0x18]
inc rax
cmp rax, qword [rsi + 0x20]
jbe 0x14003b1ce
mov edx, 1
mov rcx, rsi
call fcn.14001e1f0
mov rcx, qword [rsi + 0x18]
lea rax, [rcx + 1]
mov qword [rsi + 0x18], rax
mov byte [rcx], 0
inc r14d
cmp dword [rdi + 0x30], 0
jne 0x14003b28a
lea ebp, [r14 - 1]
mov eax, r14d
sub qword [rsi + 0x18], rax
mov rsi, qword [rsi + 0x18]
test r12b, r12b
je 0x14003b25e
mov rax, qword [r13 + 0x38]
add rax, 0x10
cmp rax, qword [r13 + 0x40]
jbe 0x14003b21a
mov edx, 1
lea rcx, [r13 + 0x20]
call fcn.14001e290
mov rcx, qword [r13 + 0x38]
lea rax, [rcx + 0x10]
mov qword [r13 + 0x38], rax
mov qword [rsp + 0x80], rcx
mov qword [rsp + 0x88], rcx
test rcx, rcx
je 0x14003b25c
mov r8, qword [r13 + 0x10]
xor eax, eax
mov qword [rcx], rax
mov qword [rcx + 8], rax
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x30], ebp
lea rdx, [rsp + 0x28]
call fcn.14003c290
nop
jmp 0x14003b28a
mov r9b, 1
mov r8d, ebp
mov rdx, rsi
mov rcx, r13
call fcn.14003c460
test al, al
jne 0x14003b28a
mov rax, qword [rbx + 0x30]
sub rax, qword [rbx + 8]
add rax, qword [rbx + 0x20]
mov dword [rdi + 0x30], reloc.WS2_32.dll_recv
mov qword [rdi + 0x38], rax
mov rbx, qword [rsp + 0x90]
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x20
mov rdi, rcx
mov rsi, r8
mov rcx, rdx
mov rbx, rdx
call fcn.14003c210
mov rdx, qword [rbx + 0x20]
cmp byte [rdx], 0x72
jne 0x14003b352
mov rcx, rbx
call fcn.14003c210
mov rdx, qword [rbx + 0x20]
cmp byte [rdx], 0x75
jne 0x14003b352
mov rcx, rbx
call fcn.14003c210
mov rdx, qword [rbx + 0x20]
cmp byte [rdx], 0x65
jne 0x14003b352
mov rcx, rbx
call fcn.14003c210
mov rax, qword [rsi + 0x38]
add rax, 0x10
cmp rax, qword [rsi + 0x40]
jbe 0x14003b31f
mov edx, 1
lea rcx, [rsi + 0x20]
call fcn.14001e290
mov rcx, qword [rsi + 0x38]
lea rax, [rcx + 0x10]
mov qword [rsi + 0x38], rax
test rcx, rcx
je 0x14003b368
xor eax, eax
mov qword [rcx], rax
mov qword [rcx + 8], rax
mov eax, 0xa
mov word [rcx + 0xe], ax
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
ret
mov rax, qword [rbx + 0x30]
sub rax, qword [rbx + 8]
add rax, rdx
mov dword [rdi + 0x30], 3
mov qword [rdi + 0x38], rax
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
ret
mov rax, qword [rdx + 0x20]
movsx r9d, byte [rax]
add r9d, 0xffffffde
cmp r9d, 0x59
ja case.0x14003b3b0.35
movsxd rax, r9d
lea r10, [0x140000000]
movzx eax, byte [r10 + rax + 0x3b3f8]
mov r9d, dword [r10 + rax*4 + 0x3b3dc]
add r9, r10
jmp r9
jmp 0x14003a110
jmp 0x14003b2b0
jmp 0x140039f30
xor r9d, r9d
jmp 0x14003ae60
jmp 0x14003ab30
jmp 0x140039d80
jmp 0x14003a1b0