Function at 0x140397910
Capabilities:
Check for time delay via gettickcount

Disassembly:
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push r14
lea rbp, [rsp - 0x3f]
sub rsp, 0x98
movsxd r14, edx
mov rsi, rcx
lea rbx, [r14 + r14*8]
shl rbx, 5
add rbx, rcx
mov qword [rbp + 0x7f], rbx
cmp qword [rbx + 0x40], 0
jne 0x140397955
xor eax, eax
add rsp, 0x98
pop r14
pop rsi
pop rbx
pop rbp
ret
mov qword [rsp + 0x90], rdi
mov edx, r14d
mov qword [rsp + 0x88], r12
mov qword [rsp + 0x80], r13
mov qword [rsp + 0x78], r15
call fcn.140398a80
xor r12d, r12d
mov qword [rbp - 0x19], rax
cmp dword [rbx + 0x20], 4
lea r8, [0x140398410]
mov rdx, r8
mov dword [rbp - 9], r12d
mov qword [rbp - 1], rdx
mov rdi, rax
lea r13, [r12 - 1]
mov qword [rbp + 7], rsi
mov dword [rbp + 0xf], r14d
jne 0x140397af9
mov r15d, r13d
mov r14, r13
inc r14
cmp byte [rax + r14], r12b
jne 0x1403979b3
mov eax, r14d
add rax, rdi
mov qword [rbp - 0x11], rax
nop word [rax + rax]
movzx eax, byte [rdi]
mov rsi, rdi
test al, al
je 0x140397ad2
nop
cmp al, 0xa
je 0x1403979fe
movzx eax, byte [rdi + 1]
inc rdi
test al, al
jne 0x1403979e0
mov rdi, qword [rbp - 0x19]
mov r15d, 2
jmp 0x140398224
cmp byte [rdi], r12b
je 0x140397ad2
inc rdi
mov rbx, rdi
mov rax, rdi
sub rbx, rsi
sub rax, rsi
cmp rax, 0x10
jle 0x140397a5e
mov r8d, reloc.WSOCK32.dll_recv
lea rdx, str.Content_Length:
mov rcx, rsi
call fcn.14001d5e0
test eax, eax
jne 0x1403979d0
call fcn.140013154
xor edx, edx
lea rcx, [rsi + 0x10]
mov dword [rax], r12d
lea r8d, [rdx + 0xa]
call fcn.140014460
mov r15d, eax
call fcn.140013154
cmp dword [rax], 0x22
je 0x140397ab6
test r15d, r15d
js 0x140397ab6
cmp rbx, 2
jne 0x1403979d0
cmp byte [rsi], 0xd
jne 0x1403979d0
cmp byte [rsi + 1], 0xa
jne 0x1403979d0
cmp r15d, r13d
jne 0x140397ac2
mov rdi, qword [rbp - 0x19]
mov r15d, r12d
mov r8, rdi
mov rsi, qword [rbp + 0x67]
test r15d, r15d
jne 0x140398181
mov rbx, qword [rbp + 0x7f]
lea rdx, str.Decoding_failed___discarding_input
mov rcx, rsi
call fcn.140151b80
mov qword [rbx + 0x88], r12
jmp 0x1403981bc
mov rdi, qword [rbp - 0x19]
mov r15d, r12d
mov r8d, edi
jmp 0x140397a8a
mov r9d, dword [rbp - 0x19]
sub edi, r9d
lea eax, [rdi + r15]
cmp r14d, eax
jae 0x140397ae1
mov rdi, qword [rbp - 0x19]
mov r15d, 2
jmp 0x140398224
add dword [rbp - 9], edi
lea r8, [0x140398410]
mov rdi, qword [rbp - 0x19]
mov rdx, qword [rbp - 1]
mov rbx, qword [rbp + 0x7f]
jmp 0x140397afc
mov r9, rdi
inc dword [0x14045b404]
mov r15d, r12d
cmp dword [rbx + 0x20], 3
mov rax, r13
sete r15b
inc rax
cmp byte [rdi + rax], r12b
jne 0x140397b10
add rax, rdi
mov qword [rbp - 0x11], rax
movsxd rax, dword [rbp - 9]
movzx ecx, byte [rax + rdi]
test rdx, rdx
je 0x140397c4c
test cl, cl
jne 0x140397c50
cmp rdx, r8
jne 0x140397c1d
movsxd rax, dword [rbp + 0xf]
lea r8, [rax + rax*8]
shl r8, 5
add r8, qword [rbp + 7]
mov rcx, qword [r8 + 0x40]
test rcx, rcx
je 0x140397c76
mov rax, qword [rcx + 0x10]
mov rdi, qword [rcx]
mov qword [r8 + 0x40], rax
mov rax, qword [rcx + 0x10]
test rax, rax
jne 0x140397b79
mov qword [r8 + 0x48], r12
jmp 0x140397b7d
mov qword [rax + 0x18], r12
cmp dword [0x14045b3f8], r12d
jne 0x140397b8b
call fcn.140005660
test rdi, rdi
je 0x140397c6e
mov ebx, dword [rbp - 0x11]
sub ebx, dword [rbp - 0x19]
test ebx, ebx
jle 0x140397c00
mov rsi, r13
inc rsi
cmp byte [rdi + rsi], r12b
jne 0x140397ba1
lea eax, [rbx + 1]
mov edx, 1
add eax, esi
movsxd rcx, eax
call fcn.140032b90
mov r14, rax
test rax, rax
je 0x140397c5d
mov rdx, qword [rbp - 0x19]
mov rcx, rax
movsxd rbx, ebx
mov r8, rbx
call fcn.140003740
lea eax, [rsi + 1]
mov rdx, rdi
movsxd r8, eax
lea rcx, [rbx + r14]
call fcn.140003740
cmp dword [0x14045b3f8], r12d
jne 0x140397bfd
mov rcx, rdi
call fcn.140005660
mov rdi, r14
mov rcx, qword [rbp - 0x19]
test rcx, rcx
je 0x140397c17
cmp dword [0x14045b3f8], r12d
jne 0x140397c17
call fcn.140005660
mov qword [rbp - 0x19], rdi
jmp 0x140397c2b
lea rcx, [rbp - 0x19]
call rdx
test eax, eax
je 0x140397c6e
mov rdi, qword [rbp - 0x19]
mov rax, r13
nop
inc rax
cmp byte [rdi + rax], r12b
jne 0x140397c30
mov rdx, qword [rbp - 1]
lea r8, [0x140398410]
mov r9d, edi
jmp 0x140397b19
test cl, cl
je 0x140397c76
cmp cl, 0x20
ja 0x140397c76
inc dword [rbp - 9]
jmp 0x140397b20
cmp dword [0x14045b3f8], r12d
jne 0x140397c6e
mov rcx, rdi
call fcn.140005660
mov r9d, dword [rbp - 0x19]
mov rdx, qword [rbp - 1]
test rdx, rdx
je 0x140397db0
mov eax, dword [rbp - 0x11]
sub eax, r9d
sub eax, dword [rbp - 9]
cmp eax, 0x41
jge 0x140397db0
lea rax, [0x140398410]
cmp rdx, rax
jne 0x140397d8f
movsxd rax, dword [rbp + 0xf]
lea rdx, [rax + rax*8]
shl rdx, 5
add rdx, qword [rbp + 7]
mov rcx, qword [rdx + 0x40]
test rcx, rcx
je 0x140397db0
mov rax, qword [rcx + 0x10]
mov rdi, qword [rcx]
mov qword [rdx + 0x40], rax
mov rax, qword [rcx + 0x10]
test rax, rax
jne 0x140397cd8
mov qword [rdx + 0x48], r12
jmp 0x140397cdc
mov qword [rax + 0x18], r12
cmp dword [0x14045b3f8], r12d
jne 0x140397cea
call fcn.140005660
test rdi, rdi
je 0x140397db0
mov ebx, dword [rbp - 0x11]
sub ebx, dword [rbp - 0x19]
test ebx, ebx
jle 0x140397d72
mov rsi, r13
inc rsi
cmp byte [rdi + rsi], r12b
jne 0x140397d00
lea eax, [rbx + 1]
mov edx, 1
add eax, esi
movsxd rcx, eax
call fcn.140032b90
mov r14, rax
test rax, rax
jne 0x140397d3a
cmp dword [0x14045b3f8], r12d
jne 0x140397db0
mov rcx, rdi
call fcn.140005660
jmp 0x140397db0
mov rdx, qword [rbp - 0x19]
mov rcx, r14
movsxd rbx, ebx
mov r8, rbx
call fcn.140003740
lea eax, [rsi + 1]
mov rdx, rdi
movsxd r8, eax
lea rcx, [rbx + r14]
call fcn.140003740
cmp dword [0x14045b3f8], r12d
jne 0x140397d6f
mov rcx, rdi
call fcn.140005660
mov rdi, r14
mov rcx, qword [rbp - 0x19]
test rcx, rcx
je 0x140397d89
cmp dword [0x14045b3f8], r12d
jne 0x140397d89
call fcn.140005660
mov qword [rbp - 0x19], rdi
jmp 0x140397d9d
lea rcx, [rbp - 0x19]
call rdx
test eax, eax
je 0x140397db0
mov rdi, qword [rbp - 0x19]
mov rax, r13
inc rax
cmp byte [rdi + rax], r12b
jne 0x140397da0
add rax, rdi
mov qword [rbp - 0x11], rax
mov r8d, r15d
lea rdx, [rbp - 0x29]
lea rcx, [rbp - 0x19]
call fcn.140146ed0
mov rdi, qword [rbp - 0x19]
mov r15d, eax
mov rdx, qword [rbp - 1]
nop dword [rax + rax]
movsxd rax, dword [rbp - 9]
movzx ecx, byte [rax + rdi]
test rdx, rdx
je 0x140397f06
test cl, cl
jne 0x140397f0a
lea rbx, [0x140398410]
cmp rdx, rbx
jne 0x140397edc
movsxd rax, dword [rbp + 0xf]
lea r8, [rax + rax*8]
shl r8, 5
add r8, qword [rbp + 7]
mov rcx, qword [r8 + 0x40]
test rcx, rcx
je 0x140397f37
mov rax, qword [rcx + 0x10]
mov rdi, qword [rcx]
mov qword [r8 + 0x40], rax
mov rax, qword [rcx + 0x10]
test rax, rax
jne 0x140397e30
mov qword [r8 + 0x48], r12
jmp 0x140397e34
mov qword [rax + 0x18], r12
cmp dword [0x14045b3f8], r12d
jne 0x140397e42
call fcn.140005660
test rdi, rdi
je 0x140397f94
mov ebx, dword [rbp - 0x11]
sub ebx, dword [rbp - 0x19]
test ebx, ebx
jle 0x140397ebf
mov rsi, r13
nop dword [rax + rax]
inc rsi
cmp byte [rdi + rsi], r12b
jne 0x140397e60
lea eax, [rbx + 1]
mov edx, 1
add eax, esi
movsxd rcx, eax
call fcn.140032b90
mov r14, rax
test rax, rax
je 0x140397f17
mov rdx, qword [rbp - 0x19]
mov rcx, rax
movsxd rbx, ebx
mov r8, rbx
call fcn.140003740
lea eax, [rsi + 1]
mov rdx, rdi
movsxd r8, eax
lea rcx, [r14 + rbx]
call fcn.140003740
cmp dword [0x14045b3f8], r12d
jne 0x140397ebc
mov rcx, rdi
call fcn.140005660
mov rdi, r14
mov rcx, qword [rbp - 0x19]
test rcx, rcx
je 0x140397ed6
cmp dword [0x14045b3f8], r12d
jne 0x140397ed6
call fcn.140005660
mov qword [rbp - 0x19], rdi
jmp 0x140397eee
lea rcx, [rbp - 0x19]
call rdx
mov rdi, qword [rbp - 0x19]
test eax, eax
je 0x140397f9e
mov rax, r13
inc rax
cmp byte [rdi + rax], r12b
jne 0x140397ef1
add rax, rdi
mov qword [rbp - 0x11], rax
jmp 0x140397dc7
test cl, cl
je 0x140397f30
cmp cl, 0x20
ja 0x140397f30
inc dword [rbp - 9]
jmp 0x140397dd0
cmp dword [0x14045b3f8], r12d
jne 0x140397f28
mov rcx, rdi
call fcn.140005660
mov rdx, qword [rbp - 1]
mov rdi, qword [rbp - 0x19]
lea rbx, [0x140398410]
mov r8d, edi
test rdx, rdx
je 0x140398086
mov eax, dword [rbp - 0x11]
sub eax, edi
sub eax, dword [rbp - 9]
cmp eax, 0x41
jge 0x140398086
cmp rdx, rbx
jne 0x14039805f
movsxd rax, dword [rbp + 0xf]
lea rdx, [rax + rax*8]
shl rdx, 5
add rdx, qword [rbp + 7]
mov rcx, qword [rdx + 0x40]
test rcx, rcx
je 0x140398086
mov rax, qword [rcx + 0x10]
mov rdi, qword [rcx]
mov qword [rdx + 0x40], rax
mov rax, qword [rcx + 0x10]
test rax, rax
jne 0x140397fa4
mov qword [rdx + 0x48], r12
jmp 0x140397fa8
mov rdx, qword [rbp - 1]
mov rdi, qword [rbp - 0x19]
jmp 0x140397f37
mov rdx, qword [rbp - 1]
jmp 0x140397f37
mov qword [rax + 0x18], r12
cmp dword [0x14045b3f8], r12d
jne 0x140397fb6
call fcn.140005660
test rdi, rdi
je 0x140398004
mov ebx, dword [rbp - 0x11]
sub ebx, dword [rbp - 0x19]
test ebx, ebx
jle 0x140398042
mov rsi, r13
nop dword [rax + rax]
inc rsi
cmp byte [rdi + rsi], r12b
jne 0x140397fd0
lea eax, [rbx + 1]
mov edx, 1
add eax, esi
movsxd rcx, eax
call fcn.140032b90
mov r14, rax
test rax, rax
jne 0x14039800a
cmp dword [0x14045b3f8], r12d
jne 0x140398004
mov rcx, rdi
call fcn.140005660
mov rdi, qword [rbp - 0x19]
jmp 0x140398083
mov rdx, qword [rbp - 0x19]
mov rcx, r14
movsxd rbx, ebx
mov r8, rbx
call fcn.140003740
lea eax, [rsi + 1]
mov rdx, rdi
movsxd r8, eax
lea rcx, [r14 + rbx]
call fcn.140003740
cmp dword [0x14045b3f8], r12d
jne 0x14039803f
mov rcx, rdi
call fcn.140005660
mov rdi, r14
mov rcx, qword [rbp - 0x19]
test rcx, rcx
je 0x140398059
cmp dword [0x14045b3f8], r12d
jne 0x140398059
call fcn.140005660
mov qword [rbp - 0x19], rdi
jmp 0x14039806d
lea rcx, [rbp - 0x19]
call rdx
mov rdi, qword [rbp - 0x19]
test eax, eax
je 0x140398083
mov rax, r13
inc rax
cmp byte [rdi + rax], r12b
jne 0x140398070
add rax, rdi
mov qword [rbp - 0x11], rax
mov dword [rbp - 0x11], eax
mov r8d, edi
dec dword [0x14045b404]
mov eax, r15d
cmp r15d, 1
jne 0x14039821b
mov rdi, qword [rbp + 0x7f]
cmp dword [rdi + 0x20], 4
jne 0x1403980c1
cmp dword [rbp - 0x29], 0xc
je 0x1403980ee
mov rsi, qword [rbp + 0x67]
lea rdx, str.Did_not_receive_a_LSP_dict__discarding
mov rcx, rsi
call fcn.140151b80
jmp 0x14039816a
cmp dword [rbp - 0x29], 0xb
jne 0x140398203
mov rax, qword [rbp - 0x21]
mov r8d, dword [rax + 0x4c]
cmp r8d, 2
jge 0x1403980ee
mov rsi, qword [rbp + 0x67]
lea rdx, str.Expected_list_with_two_items__got__d
mov rcx, rsi
call fcn.140151b80
jmp 0x14039816a
mov edx, 1
lea ecx, [rdx + 0x1f]
call fcn.140032b90
mov rbx, rax
test rax, rax
je 0x140398166
mov edx, 1
mov dword [rax + 0x18], r12d
lea ecx, [rdx + 0xf]
call fcn.140032b90
test rax, rax
je 0x140398152
mov rsi, qword [rbp + 0x67]
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov qword [rbx], rax
movups xmm0, xmmword [rbp - 0x29]
movups xmmword [rax], xmm0
mov rax, qword [rdi + 0x60]
mov qword [rbx + 0x10], rax
mov qword [rdi + 0x60], rbx
mov rax, qword [rbx + 0x10]
mov qword [rbx + 8], r12
test rax, rax
jne 0x14039814c
mov qword [rdi + 0x58], rbx
jmp 0x140398173
mov qword [rax + 8], rbx
jmp 0x140398173
cmp dword [0x14045b3f8], r12d
mov qword [rbx], rax
jne 0x140398166
mov rcx, rbx
call fcn.140005660
mov rsi, qword [rbp + 0x67]
lea rcx, [rbp - 0x29]
call fcn.1402c4e50
mov qword [rdi + 0x88], r12
mov rdi, qword [rbp - 0x19]
mov r8d, edi
movsxd rcx, dword [rbp - 9]
cmp byte [rdi + rcx], r12b
lea rdx, [rdi + rcx]
je 0x1403981c0
mov r9d, dword [rbp - 0x11]
sub r9d, r8d
mov qword [rsp + 0x28], r12
sub r9d, ecx
mov dword [rsp + 0x20], 1
mov r8, rdx
mov rcx, rsi
mov edx, dword [rbp + 0x6f]
call fcn.140398540
cmp r15d, 2
setne r12b
mov rdi, qword [rbp - 0x19]
mov r15, qword [rsp + 0x78]
mov r13, qword [rsp + 0x80]
test rdi, rdi
je 0x1403981e3
cmp dword [0x14045b3f8], 0
jne 0x1403981e3
mov rcx, rdi
call fcn.140005660
mov rdi, qword [rsp + 0x90]
mov eax, r12d
mov r12, qword [rsp + 0x88]
add rsp, 0x98
pop r14
pop rsi
pop rbx
pop rbp
ret
mov rsi, qword [rbp + 0x67]
lea rdx, str.Did_not_receive_a_list__discarding
mov rcx, rsi
call fcn.140151b80
jmp 0x14039816a
cmp eax, 2
jne 0x140397a8a
inc r13
cmp byte [rdi + r13], r12b
jne 0x140398224
mov rbx, qword [rbp + 0x7f]
cmp qword [rbx + 0x88], r13
jae 0x14039826f
mov rsi, qword [rbp + 0x67]
lea rdx, str.Incomplete_message___d_bytes____wait_100_msec_for_more
mov rcx, rsi
mov r8d, r13d
call fcn.1401522a0
mov dword [rbp - 9], r12d
mov qword [rbx + 0x88], r13
call qword [sym.imp.KERNEL32.dll_GetTickCount]
add eax, 0x64
mov dword [rbx + 0x90], eax
jmp 0x14039817a
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov rsi, qword [rbp + 0x67]
mov rcx, rsi
cmp eax, dword [rbx + 0x90]
jbe 0x14039829c
lea rdx, str.timed_out
mov qword [rbx + 0x88], r12
call fcn.1401522a0
jmp 0x140397a9b
lea rdx, str.still_waiting_on_incomplete_message
mov dword [rbp - 9], r12d
call fcn.1401522a0
jmp 0x14039817a