Function at 0x14002b540
Capabilities:
Check for software breakpoints

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xb8
mov r12, rcx
mov dword [rsp + 0x3c], edx
mov rcx, qword [0x140049080]
mov qword [rsp + 0x80], 0
mov qword [rsp + 0x88], 0
call sym.__emutls_get_address
cmp byte [rax], 0
mov rsi, rax
jne 0x14002be80
mov edx, 8
mov ecx, 0x40
call sym.nimNewObj
xor ecx, ecx
mov qword [rsp + 0x80], 0
mov r13, rax
lea rax, [0x1400483b0]
mov qword [rsp + 0x88], rax
call sym.newHttpHeaders__pureZhttpcore_u114
cmp byte [rsi], 0
mov rdx, rax
jne 0x14002b9f0
lea rcx, [r13 + 0x20]
call sym.eqsink___pureZhttpcore_u1866
movzx ebp, byte [rsi]
test bpl, bpl
jne 0x14002b9f0
lea rdi, [rsp + 0x70]
mov qword [rsp + 0x20], 0xf4240
mov rdx, qword [r12]
mov r9d, 2
mov rcx, rdi
mov r8, qword [r12 + 0xb8]
call sym.recvLine__pureZnet_u2278
cmp byte [rsi], 0
jne 0x14002b9f0
mov rdx, rdi
lea rcx, [rsp + 0x80]
call sym.eqsink___system_u2631
mov rdx, qword [rsp + 0x80]
test rdx, rdx
je 0x14002bf4e
mov rcx, qword [rsp + 0x88]
cmp rdx, 2
jne 0x14002ba20
cmp word [rcx + 8], 0xa0d
je 0x14002bf9a
test bpl, bpl
jne 0x14002bd90
movdqa xmm0, xmmword [rsp + 0x80]
lea r14, [rsp + 0x60]
xor r8d, r8d
mov rcx, rdi
movdqa xmm1, xmmword [0x140047e90]
mov rdx, r14
movaps xmmword [rsp + 0x70], xmm0
movaps xmmword [rsp + 0x60], xmm1
call sym.skipIgnoreCase__pureZparseutils_u815
cmp byte [rsi], 0
mov r15, rax
jne 0x14002b9f0
test rax, rax
jle 0x14002b8e0
movdqa xmm2, xmmword [rsp + 0x80]
mov r8, r15
mov rdx, r14
mov rcx, rdi
movdqa xmm3, xmmword [0x140047e70]
movaps xmmword [rsp + 0x70], xmm2
movaps xmmword [rsp + 0x60], xmm3
call sym.skipIgnoreCase__pureZparseutils_u815
cmp byte [rsi], 0
mov rbp, rax
jne 0x14002b9f0
test rax, rax
jle 0x14002bcf8
movdqa xmm4, xmmword [0x140047e70]
mov rdx, rdi
mov rcx, r13
movaps xmmword [rsp + 0x70], xmm4
call sym.eqsink___system_u2631
add r15, rbp
seto bpl
movzx ebp, bpl
jo 0x14002c07f
mov r8, qword [rsp + 0x80]
mov r9, qword [rsp + 0x88]
lea r10, [r8 - 1]
mov rdx, r10
sub rdx, r15
cmp rdx, 0xffffffffffffffff
je 0x14002b734
cmp r15, r8
jge 0x14002bdb0
test r15, r15
js 0x14002bdb0
add rdx, 1
lea rax, [r9 + r15 + 8]
test r9, r9
cmovne r9, rax
nop dword [rax]
cmp rdx, rbp
jle 0x14002b766
movzx eax, byte [r9 + rbp]
lea ecx, [rax - 9]
cmp cl, 4
jbe 0x14002bd68
cmp al, 0x20
je 0x14002bd68
cmp byte [rsi], 0
jne 0x14002b9f0
add rbp, r15
jo 0x14002c07f
mov r15, qword [rsp + 0x80]
mov r10, qword [rsp + 0x88]
mov r9, r15
sub r9, 1
jo 0x14002bd80
sub r9, rbp
jo 0x14002bd80
xor r14d, r14d
add r9, 1
seto r14b
jo 0x14002bd80
test r9, r9
js 0x14002bec0
mov rdx, r9
mov rcx, rdi
mov qword [rsp + 0x40], r9
mov qword [rsp + 0x48], r10
call sym.mnewString
movdqu xmm5, xmmword [rsp + 0x70]
mov r9, qword [rsp + 0x40]
movaps xmmword [rsp + 0xa0], xmm5
test r9, r9
je 0x14002b8a0
lea rax, [rsp + 0xa0]
mov qword [rsp + 0x40], rsi
mov rsi, qword [rsp + 0x48]
mov qword [rsp + 0x50], rbx
mov rbx, r14
mov r14, r9
mov qword [rsp + 0x48], rdi
mov rdi, r15
mov r15, rax
jmp 0x14002b86f
mov rax, qword [rsp + 0xa8]
test rax, rax
je 0x14002b833
test byte [rax + 7], 0x40
je 0x14002b833
mov rcx, r15
call sym.nimPrepareStrMutationImpl__system_u2397
mov rcx, rbx
add rcx, rbp
jo 0x14002bd71
cmp rcx, rdi
jge 0x14002bef0
test rcx, rcx
js 0x14002bef0
movzx ecx, byte [rsi + rcx + 8]
mov rax, qword [rsp + 0xa8]
mov byte [rax + rbx + 8], cl
add rbx, 1
cmp r14, rbx
jle 0x14002c022
mov rax, qword [rsp + 0xa0]
cmp rbx, rax
jl 0x14002b818
mov r14, rbx
lea rdx, [rax - 1]
mov rsi, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x50]
mov rcx, r14
mov rdi, qword [rsp + 0x48]
call sym.raiseIndexError2
nop word [rax + rax]
cmp byte [rsi], 0
mov rax, qword [rsp + 0xa0]
mov rdx, qword [rsp + 0xa8]
jne 0x14002b9f0
mov qword [rsp + 0x78], rdx
lea rcx, [r13 + 0x10]
mov rdx, rdi
mov qword [rsp + 0x70], rax
call sym.eqsink___system_u2631
mov ebp, 1
jmp 0x14002b5e4
mov rax, qword [rsp + 0x80]
mov rcx, rdi
lea rdx, [rax + 0x18]
call sym.rawNewString
mov rbp, qword [rsp + 0x70]
mov r9, qword [rsp + 0x78]
movabs rax, 0x2064696c61766e69
movabs rdx, 0x7265762070747468
lea r11, [rbp + r9 + 8]
mov r10, rbp
mov qword [r11], rax
add r10, 0x17
movabs rax, 0x60202c6e6f6973
mov qword [r11 + 8], rdx
mov qword [r11 + 0x10], rax
jo 0x14002c040
lea r11, [rbp + r9 + 0x1f]
mov rbp, qword [rsp + 0x80]
test rbp, rbp
jle 0x14002b99d
mov r8, rbp
mov rdx, qword [rsp + 0x88]
add r8, 1
jo 0x14002c0e0
test r8, r8
js 0x14002bf10
add rdx, 8
mov rcx, r11
mov qword [rsp + 0x48], r9
mov qword [rsp + 0x40], r10
call sym.memcpy
mov r10, qword [rsp + 0x40]
mov r9, qword [rsp + 0x48]
mov r11, rax
add rbp, r10
jo 0x14002c0e0
lea r11, [rbp + r9 + 8]
mov r10, rbp
mov eax, 0x60
mov word [r11], ax
mov rax, r10
add rax, 1
jo 0x14002c061
mov rcx, rdi
mov qword [rsp + 0x78], r9
mov qword [rsp + 0x40], r9
mov qword [rsp + 0x70], rax
call sym.httpError__pureZhttpclient_u307
mov r9, qword [rsp + 0x40]
test r9, r9
je 0x14002b9df
test byte [r9 + 7], 0x40
je 0x14002bee0
cmp byte [rsi], 0
je 0x14002b69b
nop dword [rax + rax]
mov rcx, qword [rsp + 0x88]
test rcx, rcx
je 0x14002ba07
test byte [rcx + 7], 0x40
je 0x14002bd58
mov rax, r13
add rsp, 0xb8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
test bpl, bpl
je 0x14002b658
lea rax, [0x1400483b0]
lea r9, [rdx - 1]
mov qword [rsp + 0x90], 0
mov qword [rsp + 0x98], rax
test rdx, rdx
js 0x14002bdc0
test rcx, rcx
lea rax, [rcx + 8]
cmovne rcx, rax
xor ebx, ebx
jmp 0x14002ba6a
cmp byte [rcx + rbx], 0x3a
je 0x14002ba6f
add rbx, 1
cmp rdx, rbx
jg 0x14002ba60
mov r9, rbx
lea r8, [rsp + 0x90]
call sym.fastSubstr__pureZparseutils_u215
cmp byte [rsi], 0
jne 0x14002be90
test rbx, rbx
jle 0x14002be00
mov rdx, qword [rsp + 0x80]
cmp rdx, rbx
jle 0x14002be2b
mov rax, qword [rsp + 0x88]
cmp byte [rax + rbx + 8], 0x3a
je 0x14002bacf
movdqa xmm2, xmmword [0x140047de0]
mov rcx, rdi
movaps xmmword [rsp + 0x70], xmm2
call sym.httpError__pureZhttpclient_u307
cmp byte [rsi], 0
jne 0x14002be90
mov rbp, rbx
add rbp, 1
jo 0x14002c0d6
mov r15, qword [rsp + 0x80]
mov r8, qword [rsp + 0x88]
mov r9, r15
sub r9, 1
jo 0x14002beb1
sub r9, rbp
jo 0x14002beb1
xor r14d, r14d
add r9, 1
seto r14b
jo 0x14002beb1
test r9, r9
js 0x14002c089
mov rdx, r9
mov rcx, rdi
mov qword [rsp + 0x40], r9
mov qword [rsp + 0x48], r8
call sym.mnewString
movdqu xmm4, xmmword [rsp + 0x70]
mov r9, qword [rsp + 0x40]
movaps xmmword [rsp + 0xa0], xmm4
test r9, r9
je 0x14002bc08
lea rax, [rsp + 0xa0]
mov qword [rsp + 0x40], rsi
mov rsi, r15
mov qword [rsp + 0x50], rbx
mov r15, rax
mov rbx, r14
mov r14, r9
mov qword [rsp + 0x58], rdi
mov rdi, qword [rsp + 0x48]
jmp 0x14002bbd7
mov rdx, qword [rsp + 0xa8]
test rdx, rdx
je 0x14002bb9b
test byte [rdx + 7], 0x40
je 0x14002bb9b
mov rcx, r15
call sym.nimPrepareStrMutationImpl__system_u2397
mov rcx, rbx
add rcx, rbp
jo 0x14002bea2
cmp rsi, rcx
jle 0x14002c0a2
test rcx, rcx
js 0x14002c0a2
movzx ecx, byte [rdi + rcx + 8]
mov rdx, qword [rsp + 0xa8]
mov byte [rdx + rbx + 8], cl
add rbx, 1
cmp r14, rbx
jle 0x14002c0c2
mov rdx, qword [rsp + 0xa0]
cmp rbx, rdx
jl 0x14002bb80
mov r14, rbx
sub rdx, 1
mov rsi, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x50]
mov rcx, r14
mov rdi, qword [rsp + 0x58]
call sym.raiseIndexError2
nop word [rax + rax]
cmp byte [rsi], 0
mov rax, qword [rsp + 0xa0]
mov rdx, qword [rsp + 0xa8]
mov r14, qword [rsp + 0xa8]
jne 0x14002bcd4
mov qword [rsp + 0x60], rax
lea rax, [0x140047dc0]
mov rcx, rdi
lea rbp, [rsp + 0x60]
mov qword [rsp + 0x20], rax
mov r9d, 1
mov r8d, 1
mov qword [rsp + 0x68], rdx
mov rdx, rbp
call sym.nsuStrip
cmp byte [rsi], 0
mov rax, qword [rsp + 0x70]
mov r15, qword [rsp + 0x78]
jne 0x14002bcc4
movdqa xmm3, xmmword [rsp + 0x90]
mov qword [rsp + 0x60], rax
mov r8, rbp
mov rdx, rdi
mov qword [rsp + 0x68], r15
movaps xmmword [rsp + 0x70], xmm3
mov rcx, qword [r13 + 0x20]
call sym.add__pureZhttpcore_u4354
cmp byte [rsi], 0
jne 0x14002bcc4
mov rax, qword [r13 + 0x20]
mov rcx, qword [rax]
call sym.len__pureZhttpcore_u2660
cmp rax, 0x2710
jle 0x14002bcc4
cmp byte [rsi], 0
jne 0x14002bcc4
movdqa xmm4, xmmword [0x140047d80]
mov rcx, rdi
movaps xmmword [rsp + 0x70], xmm4
call sym.httpError__pureZhttpclient_u307
test r15, r15
je 0x14002bcd4
test byte [r15 + 7], 0x40
je 0x14002be70
test r14, r14
je 0x14002be37
test byte [r14 + 7], 0x40
jne 0x14002be37
mov rcx, r14
call sym.deallocShared
jmp 0x14002be37
movdqa xmm5, xmmword [rsp + 0x80]
mov r8, r15
mov rdx, r14
mov rcx, rdi
movaps xmmword [rsp + 0x70], xmm5
movdqa xmm5, xmmword [0x140047e50]
movaps xmmword [rsp + 0x60], xmm5
call sym.skipIgnoreCase__pureZparseutils_u815
cmp byte [rsi], 0
mov rbp, rax
jne 0x14002b9f0
test rax, rax
jle 0x14002bdd8
movdqa xmm4, xmmword [0x140047e50]
mov rdx, rdi
mov rcx, r13
movaps xmmword [rsp + 0x70], xmm4
call sym.eqsink___system_u2631
jmp 0x14002b6f1
call sym.deallocShared
jmp 0x14002ba07
add rbp, 1
jmp 0x14002b748
mov rsi, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x48]
call sym.raiseOverflow
jmp 0x14002b8a0
lea rax, [0x1400483b0]
mov qword [rsp + 0x90], 0
mov qword [rsp + 0x98], rax
jmp 0x14002ba51
mov rdx, r10
mov rcx, r15
call sym.raiseIndexError4
jmp 0x14002b766
mov r8, rdx
xor ecx, ecx
mov rdx, r9
call sym.raiseIndexError4
jmp 0x14002ba7f
movdqa xmm5, xmmword [0x140047e10]
mov rcx, rdi
movaps xmmword [rsp + 0x70], xmm5
call sym.httpError__pureZhttpclient_u307
cmp byte [rsi], 0
je 0x14002bd36
jmp 0x14002b9f0
movdqa xmm4, xmmword [0x140047de0]
mov rcx, rdi
movaps xmmword [rsp + 0x70], xmm4
call sym.httpError__pureZhttpclient_u307
cmp byte [rsi], 0
jne 0x14002be90
mov rdx, qword [rsp + 0x80]
test rbx, rbx
je 0x14002ba99
sub rdx, 1
mov rcx, rbx
call sym.raiseIndexError2
mov rcx, qword [rsp + 0x98]
test rcx, rcx
je 0x14002be4a
test byte [rcx + 7], 0x40
je 0x14002be60
cmp byte [rsi], 0
je 0x14002b8cf
jmp 0x14002b9f0
call sym.deallocShared
jmp 0x14002be4a
mov rcx, r15
call sym.deallocShared
jmp 0x14002bcd4
xor r13d, r13d
jmp 0x14002ba07
mov rcx, qword [rsp + 0x98]
test rcx, rcx
jne 0x14002be44
jmp 0x14002b9f0
mov rsi, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x58]
call sym.raiseOverflow
jmp 0x14002bc08
movabs r8, 0x7fffffffffffffff
xor edx, edx
mov rcx, r9
call sym.raiseRangeErrorI
jmp 0x14002b8a0
mov rcx, r9
call sym.deallocShared
jmp 0x14002b9df
mov r15, rdi
mov rsi, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x50]
lea rdx, [r15 - 1]
mov rdi, qword [rsp + 0x48]
call sym.raiseIndexError2
jmp 0x14002b8a0
movabs r8, 0x7fffffffffffffff
xor edx, edx
mov qword [rsp + 0x50], r9
movabs rcx, 0x8000000000000000
mov qword [rsp + 0x48], r10
mov qword [rsp + 0x40], r11
call sym.raiseRangeErrorI
mov r11, qword [rsp + 0x40]
mov r10, qword [rsp + 0x48]
mov r9, qword [rsp + 0x50]
jmp 0x14002b99d
cmp byte [r12 + 8], 0
je 0x14002bf73
mov rcx, qword [r12]
mov edx, 2
call sym.close__pureZnet_u2011
cmp byte [rsi], 0
jne 0x14002b9f0
mov byte [r12 + 8], 0
cmp byte [rsi], 0
jne 0x14002b9f0
movdqa xmm3, xmmword [0x140047d20]
mov rcx, rdi
movaps xmmword [rsp + 0x70], xmm3
call sym.httpError__pureZhttpclient_u307
cmp byte [rsi], 0
jne 0x14002b9f0
movdqa xmm5, xmmword [0x1400483c0]
mov rcx, rdi
movaps xmmword [rsp + 0x70], xmm5
call sym.newStringStream__pureZstreams_u910
cmp byte [rsi], 0
mov rdx, rax
jne 0x14002b9f0
lea rcx, [r13 + 0x38]
call sym.eqsink___pureZstreams_u770
cmp byte [rsp + 0x3c], 0
je 0x14002b9f0
mov rcx, r13
call sym.code__pureZhttpclient_u3401
cmp byte [rsi], 0
jne 0x14002b9f0
cmp rax, 0xcc
je 0x14002b9f0
mov rdx, qword [r13 + 0x38]
lea rcx, [r12 + 0x100]
mov r8d, 1
call sym.eqcopy___pureZstreams_u762
movdqu xmm0, xmmword [r13]
mov r8, rdi
mov rcx, r12
movaps xmmword [rsp + 0x70], xmm0
mov rdx, qword [r13 + 0x20]
call sym.parseBody__pureZhttpclient_u2745
jmp 0x14002b9f0
mov rsi, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x48]
jmp 0x14002b8a0
mov qword [rsp + 0x48], r9
mov qword [rsp + 0x40], r11
call sym.raiseOverflow
mov r9, qword [rsp + 0x48]
mov r11, qword [rsp + 0x40]
mov r10, rbp
jmp 0x14002b93e
mov qword [rsp + 0x48], r9
mov qword [rsp + 0x40], r10
call sym.raiseOverflow
mov rax, qword [rsp + 0x40]
mov r9, qword [rsp + 0x48]
jmp 0x14002b9b3
call sym.raiseOverflow
jmp 0x14002b9f0
movabs r8, 0x7fffffffffffffff
xor edx, edx
mov rcx, r9
call sym.raiseRangeErrorI
jmp 0x14002bc08
mov r15, rsi
mov rbx, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x40]
lea rdx, [r15 - 1]
mov rdi, qword [rsp + 0x58]
call sym.raiseIndexError2
jmp 0x14002bc08
mov rsi, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x58]
jmp 0x14002bc08
call sym.raiseOverflow
jmp 0x14002be37
mov qword [rsp + 0x50], r9
mov qword [rsp + 0x48], r10
mov qword [rsp + 0x40], r11
call sym.raiseOverflow
mov r11, qword [rsp + 0x40]
mov r10, qword [rsp + 0x48]
mov r9, qword [rsp + 0x50]
jmp 0x14002b99d