Function at 0x140035d70
Capabilities:
Hash data using fnv

Disassembly:
sub rsp, 0x528
mov qword [rsp + 0x130], r8
mov qword [rsp + 0x138], rdx
mov qword [rsp + 0x140], rcx
mov rax, qword [rsp + 0x138]
mov rcx, qword [rsp + 0x140]
mov qword [rsp + 0x430], rcx
mov qword [rsp + 0x428], rax
mov rax, qword [rsp + 0x430]
cmp byte [rax + 0xa0], 0
je 0x140035dc8
add rsp, 0x528
ret
mov r8, qword [rsp + 0x130]
mov rax, qword [rsp + 0x138]
mov rcx, qword [rsp + 0x430]
mov byte [rcx + 0xa0], 1
mov rcx, qword [rsp + 0x430]
mov rcx, qword [rcx + 0x60]
mov qword [rsp + 0x420], rcx
mov rcx, qword [rsp + 0x430]
add rcx, 0x68
mov qword [rsp + 0x418], rcx
mov rcx, qword [rsp + 0x430]
mov rcx, qword [rcx + 8]
lea rcx, [rcx + rcx*4]
lea rax, [rax + rcx*4 + 0x4a]
mov qword [rsp + 0x410], rax
mov rcx, qword [rsp + 0x430]
add rcx, 0x68
mov rdx, qword [rsp + 0x410]
call fcn.140053550
mov r8, qword [rsp + 0x130]
mov rax, qword [rsp + 0x430]
mov rdx, qword [rax + 0x58]
xorps xmm0, xmm0
movaps xmmword [rsp + 0x400], xmm0
lea rcx, [rsp + 0x400]
call fcn.140037d00
mov rax, qword [rsp + 0x400]
mov rcx, qword [rsp + 0x408]
mov qword [rsp + 0x3f8], rcx
mov qword [rsp + 0x3f0], rax
cmp qword [rsp + 0x3f8], 4
setl al
and al, 1
cmp al, 0
je 0x140035ec0
lea rax, str.500
mov qword [rsp + 0x3f0], rax
mov qword [rsp + 0x3f8], 4
jmp 0x140035f2f
mov rcx, qword [rsp + 0x3f8]
mov rax, rsp
mov qword [rax + 0x28], rcx
mov qword [rax + 0x20], 4
lea rcx, str.C:_Users_Jshaw_Odin_odin_http_response.odin
xor eax, eax
mov r9d, eax
mov edx, 0xec
mov r8d, 0x22
call fcn.140004400
mov rax, qword [rsp + 0x3f0]
mov qword [rsp + 0x3e0], rax
mov qword [rsp + 0x3e8], 4
mov rax, qword [rsp + 0x3e0]
mov rcx, qword [rsp + 0x3e8]
mov qword [rsp + 0x3f8], rcx
mov qword [rsp + 0x3f0], rax
mov r9, qword [rsp + 0x130]
mov rcx, qword [rsp + 0x418]
mov qword [rsp + 0x3d8], 0
lea rdx, str.HTTP_1.1
lea r8, [rsp + 0x3d8]
call fcn.140053920
mov r9, qword [rsp + 0x130]
mov rcx, qword [rsp + 0x418]
mov qword [rsp + 0x3c0], 0
lea rdx, [rsp + 0x3f0]
lea r8, [rsp + 0x3c0]
call fcn.140053920
mov r9, qword [rsp + 0x130]
mov rcx, qword [rsp + 0x418]
mov qword [rsp + 0x3a8], 0
lea rdx, [0x1400b6540]
lea r8, [rsp + 0x3a8]
call fcn.140053920
mov rax, qword [rsp + 0x430]
cmp qword [rax + 0x58], 0xc8
setge al
and al, 1
cmp al, 0
je 0x140036482
mov rax, qword [rsp + 0x430]
cmp qword [rax + 0x58], 0x1f4
setle al
and al, 1
cmp al, 0
je 0x140036482
mov rax, qword [rsp + 0x430]
mov qword [rsp + 0x120], rax
mov rax, qword [rax]
and rax, 0xffffffffffffffc0
mov qword [rsp + 0x450], rax
movabs rcx, 0x9e3779b97f4a7c15
add rax, rcx
mov qword [rsp + 0x448], rax
mov rax, qword [rsp + 0x448]
mov rcx, qword [rsp + 0x448]
shr rcx, 0x1e
xor rax, rcx
movabs rcx, 0xbf58476d1ce4e5b9
imul rax, rcx
mov qword [rsp + 0x448], rax
mov rax, qword [rsp + 0x448]
mov rcx, qword [rsp + 0x448]
shr rcx, 0x1b
xor rax, rcx
movabs rcx, 0x94d049bb133111eb
imul rax, rcx
mov qword [rsp + 0x448], rax
mov rcx, qword [rsp + 0x448]
mov rax, qword [rsp + 0x448]
shr rax, 0x1f
xor rcx, rax
lea rax, str.date
mov qword [rsp + 0x468], rax
mov qword [rsp + 0x460], rcx
lea rax, str.date
mov qword [rsp + 0x458], rax
mov rax, qword [rsp + 0x458]
mov rax, qword [rax]
mov rdx, qword [rsp + 0x458]
mov rdx, qword [rdx + 8]
mov qword [rsp + 0x128], rdx
mov qword [rsp + 0x4a8], rax
mov qword [rsp + 0x4a0], rcx
mov qword [rsp + 0x498], rdx
movabs rdx, 0xcbf29ce484222325
add rcx, rdx
mov qword [rsp + 0x490], rcx
mov qword [rsp + 0x488], rax
mov qword [rsp + 0x480], 0
mov qword [rsp + 0x478], 0
mov rax, qword [rsp + 0x128]
cmp qword [rsp + 0x480], rax
jge 0x1400361c0
mov rax, qword [rsp + 0x490]
mov rcx, qword [rsp + 0x488]
movzx ecx, byte [rcx]
xor rax, rcx
movabs rcx, 0x100000001b3
imul rax, rcx
mov qword [rsp + 0x490], rax
mov rax, qword [rsp + 0x488]
add rax, 1
mov qword [rsp + 0x470], rax
mov rax, qword [rsp + 0x470]
mov qword [rsp + 0x488], rax
mov rax, qword [rsp + 0x480]
add rax, 1
mov qword [rsp + 0x480], rax
mov rax, qword [rsp + 0x478]
add rax, 1
mov qword [rsp + 0x478], rax
jmp 0x140036131
mov rax, qword [rsp + 0x120]
movabs rcx, 0x7fffffffffffffff
and rcx, qword [rsp + 0x490]
mov qword [rsp + 0x490], rcx
mov rcx, qword [rsp + 0x490]
cmp qword [rsp + 0x490], 0
sete dl
and dl, 1
movzx edx, dl
or rcx, rdx
mov qword [rsp + 0x118], rcx
cmp qword [rax + 8], 0
je 0x140036393
mov rax, qword [rsp + 0x120]
mov rdx, qword [rsp + 0x118]
mov qword [rsp + 0x508], 0
mov r9, qword [rax]
mov rcx, r9
and rcx, 0x3f
mov r8d, 1
shl r8, cl
mov rcx, r8
xor r8d, r8d
cmp r9, 0
cmove rcx, r8
mov qword [rsp + 0xf0], rcx
mov r8, rcx
sub r8, 1
mov qword [rsp + 0xf8], r8
and rdx, r8
mov qword [rsp + 0x510], rdx
mov rax, qword [rax]
and rax, 0xffffffffffffffc0
mov qword [rsp + 0x100], rax
mov rdx, rcx
shl rdx, 4
add rax, rdx
mov qword [rsp + 0x108], rax
shl rcx, 4
add rax, rcx
mov qword [rsp + 0x110], rax
mov rax, qword [rsp + 0x110]
mov rcx, qword [rsp + 0x510]
mov rax, qword [rax + rcx*8]
mov qword [rsp + 0xe8], rax
cmp rax, 0
je 0x140036393
mov rcx, qword [rsp + 0xf8]
mov rax, qword [rsp + 0xf0]
mov rdx, qword [rsp + 0x118]
and rdx, rcx
add rax, qword [rsp + 0x510]
sub rax, rdx
and rax, rcx
cmp qword [rsp + 0x508], rax
ja 0x140036393
mov rax, qword [rsp + 0xe8]
mov rcx, qword [rsp + 0x118]
cmp rax, rcx
jne 0x14003635b
mov rcx, qword [rsp + 0x100]
mov rax, qword [rsp + 0x510]
shl rax, 4
add rcx, rax
lea rdx, str.date
call fcn.140001290
test al, 1
je 0x14003635b
mov rax, qword [rsp + 0x108]
mov rcx, qword [rsp + 0x510]
shl rcx, 4
add rax, rcx
mov qword [rsp + 0xe0], rax
jmp 0x14003639d
mov rcx, qword [rsp + 0xf8]
mov rax, qword [rsp + 0x510]
add rax, 1
and rax, rcx
mov qword [rsp + 0x510], rax
mov rax, qword [rsp + 0x508]
add rax, 1
mov qword [rsp + 0x508], rax
jmp 0x1400362a1
xor eax, eax
mov qword [rsp + 0xe0], rax
mov rax, qword [rsp + 0xe0]
cmp rax, 0
setne al
and al, 1
cmp al, 0
jne 0x140036482
mov r9, qword [rsp + 0x130]
mov rcx, qword [rsp + 0x418]
mov qword [rsp + 0x390], 0
lea rdx, str._e_v_
lea r8, [rsp + 0x390]
call fcn.140053920
mov r8, qword [rsp + 0x130]
mov rax, qword [rsp + 0x418]
mov qword [rsp + 0xd8], rax
mov rax, qword [rsp + 0x420]
mov rdx, qword [rax]
xorps xmm0, xmm0
movaps xmmword [rsp + 0x370], xmm0
lea rcx, [rsp + 0x370]
call fcn.14003fa80
mov rcx, qword [rsp + 0xd8]
mov r9, qword [rsp + 0x130]
mov qword [rsp + 0x368], 0
lea rdx, [rsp + 0x370]
lea r8, [rsp + 0x368]
call fcn.140053920
mov r9, qword [rsp + 0x130]
mov rcx, qword [rsp + 0x418]
mov qword [rsp + 0x350], 0
lea rdx, [0x1400b6578]
lea r8, [rsp + 0x350]
call fcn.140053920
mov rax, qword [rsp + 0x138]
cmp rax, 0xffffffffffffffff
setg al
and al, 1
cmp al, 0
je 0x140036a40
mov rax, qword [rsp + 0x430]
mov qword [rsp + 0xc8], rax
mov rax, qword [rax]
and rax, 0xffffffffffffffc0
mov qword [rsp + 0x440], rax
movabs rcx, 0x9e3779b97f4a7c15
add rax, rcx
mov qword [rsp + 0x438], rax
mov rax, qword [rsp + 0x438]
mov rcx, qword [rsp + 0x438]
shr rcx, 0x1e
xor rax, rcx
movabs rcx, 0xbf58476d1ce4e5b9
imul rax, rcx
mov qword [rsp + 0x438], rax
mov rax, qword [rsp + 0x438]
mov rcx, qword [rsp + 0x438]
shr rcx, 0x1b
xor rax, rcx
movabs rcx, 0x94d049bb133111eb
imul rax, rcx
mov qword [rsp + 0x438], rax
mov rcx, qword [rsp + 0x438]
mov rax, qword [rsp + 0x438]
shr rax, 0x1f
xor rcx, rax
lea rax, str.content_length
mov qword [rsp + 0x4c0], rax
mov qword [rsp + 0x4b8], rcx
lea rax, str.content_length
mov qword [rsp + 0x4b0], rax
mov rax, qword [rsp + 0x4b0]
mov rax, qword [rax]
mov rdx, qword [rsp + 0x4b0]
mov rdx, qword [rdx + 8]
mov qword [rsp + 0xd0], rdx
mov qword [rsp + 0x500], rax
mov qword [rsp + 0x4f8], rcx
mov qword [rsp + 0x4f0], rdx
movabs rdx, 0xcbf29ce484222325
add rcx, rdx
mov qword [rsp + 0x4e8], rcx
mov qword [rsp + 0x4e0], rax
mov qword [rsp + 0x4d8], 0
mov qword [rsp + 0x4d0], 0
mov rax, qword [rsp + 0xd0]
cmp qword [rsp + 0x4d8], rax
jge 0x140036661
mov rax, qword [rsp + 0x4e8]
mov rcx, qword [rsp + 0x4e0]
movzx ecx, byte [rcx]
xor rax, rcx
movabs rcx, 0x100000001b3
imul rax, rcx
mov qword [rsp + 0x4e8], rax
mov rax, qword [rsp + 0x4e0]
add rax, 1
mov qword [rsp + 0x4c8], rax
mov rax, qword [rsp + 0x4c8]
mov qword [rsp + 0x4e0], rax
mov rax, qword [rsp + 0x4d8]
add rax, 1
mov qword [rsp + 0x4d8], rax
mov rax, qword [rsp + 0x4d0]
add rax, 1
mov qword [rsp + 0x4d0], rax
jmp 0x1400365d2
mov rax, qword [rsp + 0xc8]
movabs rcx, 0x7fffffffffffffff
and rcx, qword [rsp + 0x4e8]
mov qword [rsp + 0x4e8], rcx
mov rcx, qword [rsp + 0x4e8]
cmp qword [rsp + 0x4e8], 0
sete dl
and dl, 1
movzx edx, dl
or rcx, rdx
mov qword [rsp + 0xc0], rcx
cmp qword [rax + 8], 0
je 0x140036834
mov rax, qword [rsp + 0xc8]
mov rdx, qword [rsp + 0xc0]
mov qword [rsp + 0x518], 0
mov r9, qword [rax]
mov rcx, r9
and rcx, 0x3f
mov r8d, 1
shl r8, cl
mov rcx, r8
xor r8d, r8d
cmp r9, 0
cmove rcx, r8
mov qword [rsp + 0x98], rcx
mov r8, rcx
sub r8, 1
mov qword [rsp + 0xa0], r8
and rdx, r8
mov qword [rsp + 0x520], rdx
mov rax, qword [rax]
and rax, 0xffffffffffffffc0
mov qword [rsp + 0xa8], rax
mov rdx, rcx
shl rdx, 4
add rax, rdx
mov qword [rsp + 0xb0], rax
shl rcx, 4
add rax, rcx
mov qword [rsp + 0xb8], rax
mov rax, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0x520]
mov rax, qword [rax + rcx*8]
mov qword [rsp + 0x90], rax
cmp rax, 0
je 0x140036834
mov rcx, qword [rsp + 0xa0]
mov rax, qword [rsp + 0x98]
mov rdx, qword [rsp + 0xc0]
and rdx, rcx
add rax, qword [rsp + 0x520]
sub rax, rdx
and rax, rcx
cmp qword [rsp + 0x518], rax
ja 0x140036834
mov rax, qword [rsp + 0x90]
mov rcx, qword [rsp + 0xc0]
cmp rax, rcx
jne 0x1400367fc
mov rcx, qword [rsp + 0xa8]
mov rax, qword [rsp + 0x520]
shl rax, 4
add rcx, rax
lea rdx, str.content_length
call fcn.140001290
test al, 1
je 0x1400367fc
mov rax, qword [rsp + 0xb0]
mov rcx, qword [rsp + 0x520]
shl rcx, 4
add rax, rcx
mov qword [rsp + 0x88], rax
jmp 0x14003683e
mov rcx, qword [rsp + 0xa0]
mov rax, qword [rsp + 0x520]
add rax, 1
and rax, rcx
mov qword [rsp + 0x520], rax
mov rax, qword [rsp + 0x518]
add rax, 1
mov qword [rsp + 0x518], rax
jmp 0x140036742
xor eax, eax
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x88]
cmp rax, 0
setne al
and al, 1
cmp al, 0
jne 0x140036a40
mov r8, qword [rsp + 0x130]
mov rcx, qword [rsp + 0x140]
mov rdx, qword [rsp + 0x420]
call fcn.140039040
cmp al, 0
je 0x140036a40
mov rax, qword [rsp + 0x138]
cmp rax, 0
sete al
and al, 1
cmp al, 0
je 0x1400368c6
mov r9, qword [rsp + 0x130]
mov rcx, qword [rsp + 0x418]
mov qword [rsp + 0x338], 0
lea rdx, str.content_length:_0_r_n
lea r8, [rsp + 0x338]
call fcn.140053920
jmp 0x140036a3e
mov r9, qword [rsp + 0x130]
mov rcx, qword [rsp + 0x418]
mov qword [rsp + 0x320], 0
lea rdx, str.content_length:
lea r8, [rsp + 0x320]
call fcn.140053920
mov rax, qword [rsp + 0x138]
movabs rcx, 0xde0b6b3a7640000
cmp rax, rcx
setl cl
and cl, 1
xor eax, eax
cmp cl, 0
mov byte [rsp + 0x87], al
je 0x140036945
mov rax, qword [rsp + 0x138]
movabs rcx, 0xf21f494c589c0000
cmp rax, rcx
setg al
and al, 1
cmp al, 0
setne al
mov byte [rsp + 0x87], al
mov r9, qword [rsp + 0x130]
mov al, byte [rsp + 0x87]
and al, 1
cmp al, 0
setne cl
and cl, 1
lea rdx, [0x1400b6628]
lea r8, str.C:_Users_Jshaw_Odin_odin_http_response.odin
call fcn.14003d400
mov r8, qword [rsp + 0x138]
mov r9, qword [rsp + 0x130]
xorps xmm0, xmm0
movaps xmmword [rsp + 0x2f0], xmm0
mov dword [rsp + 0x300], 0
mov rax, qword [rsp + 0x418]
mov qword [rsp + 0x78], rax
lea rax, [rsp + 0x2f0]
mov qword [rsp + 0x2e0], rax
mov qword [rsp + 0x2e8], setsockopt
xorps xmm0, xmm0
movaps xmmword [rsp + 0x2d0], xmm0
lea rcx, [rsp + 0x2d0]
lea rdx, [rsp + 0x2e0]
call fcn.140050b30
mov rcx, qword [rsp + 0x78]
mov r9, qword [rsp + 0x130]
mov qword [rsp + 0x2c8], 0
lea rdx, [rsp + 0x2d0]
lea r8, [rsp + 0x2c8]
call fcn.140053920
mov r9, qword [rsp + 0x130]
mov rcx, qword [rsp + 0x418]
mov qword [rsp + 0x2b0], 0
lea rdx, [0x1400b6638]
lea r8, [rsp + 0x2b0]
call fcn.140053920
jmp 0x140036a40
mov r8, qword [rsp + 0x130]
mov rdx, qword [rsp + 0x418]
xorps xmm0, xmm0
movaps xmmword [rsp + 0x290], xmm0
lea rcx, [rsp + 0x290]
call fcn.140054870
mov rax, qword [rsp + 0x290]
mov rcx, qword [rsp + 0x298]
mov qword [rsp + 0x288], rcx
mov qword [rsp + 0x280], rax
mov rax, qword [rsp + 0x430]
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x278], 0xffffffffffffffff
mov rcx, qword [rsp + 0x70]
mov rax, qword [rsp + 0x278]
add rax, 1
mov qword [rsp + 0x278], rax
mov r8, qword [rcx]
mov r9, r8
and r9, 0x3f
mov edx, 1
mov rcx, r9
shl rdx, cl
xor ecx, ecx
cmp r9, 0x40
cmovb rcx, rdx
xor edx, edx
cmp r8, 0
cmove rcx, rdx
mov qword [rsp + 0x68], rcx
cmp rax, rcx
jge 0x140036c47
mov rdx, qword [rsp + 0x68]
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x278]
mov qword [rsp + 0x50], rcx
mov rax, qword [rax]
and rax, 0xffffffffffffffc0
mov qword [rsp + 0x58], rax
shl rdx, 4
add rax, rdx
mov qword [rsp + 0x60], rax
add rax, rdx
mov rax, qword [rax + rcx*8]
test rax, rax
setne cl
shr rax, 0x3f
test rax, rax
sete al
movzx eax, al
and cl, 1
movzx ecx, cl
and rax, rcx
test rax, 1
je 0x140036aa1
mov r9, qword [rsp + 0x130]
mov rcx, qword [rsp + 0x60]
mov rax, qword [rsp + 0x58]
mov r10, qword [rsp + 0x50]
shl r10, 4
mov rdx, qword [rax + r10]
mov r8, qword [rax + r10 + 8]
mov rax, qword [rcx + r10]
mov rcx, qword [rcx + r10 + 8]
mov qword [rsp + 0x270], r8
mov qword [rsp + 0x268], rdx
mov qword [rsp + 0x260], rcx
mov qword [rsp + 0x258], rax
mov rcx, qword [rsp + 0x418]
mov qword [rsp + 0x250], 0
lea rdx, [rsp + 0x268]
lea r8, [rsp + 0x250]
call fcn.140053920
mov r9, qword [rsp + 0x130]
mov rcx, qword [rsp + 0x418]
mov qword [rsp + 0x238], 0
lea rdx, [0x1400b6648]
lea r8, [rsp + 0x238]
call fcn.140053920
mov r8, qword [rsp + 0x130]
lea rcx, [rsp + 0x280]
lea rdx, [rsp + 0x258]
call fcn.14003a420
mov r9, qword [rsp + 0x130]
mov rcx, qword [rsp + 0x418]
mov qword [rsp + 0x220], 0
lea rdx, [0x1400b6658]
lea r8, [rsp + 0x220]
call fcn.140053920
jmp 0x140036aa1
mov rax, qword [rsp + 0x430]
add rax, 0x28
mov qword [rsp + 0x40], rax
add rax, 8
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x208], 0xffffffffffffffff
mov rcx, qword [rsp + 0x48]
mov rax, qword [rsp + 0x208]
add rax, 1
mov qword [rsp + 0x208], rax
cmp rax, qword [rcx]
jge 0x140036d2a
mov rcx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x208]
imul rax, rax, 0x90
add rax, qword [rcx]
mov qword [rsp + 0x38], rax
lea rcx, [rsp + 0x178]
xor edx, edx
mov r8d, 0x90
call fcn.14009bf90
mov rdx, qword [rsp + 0x38]
lea rcx, [rsp + 0x178]
mov r8d, 0x90
call fcn.14009c350
mov r8, qword [rsp + 0x130]
lea rcx, [rsp + 0x280]
lea rdx, [rsp + 0x178]
call fcn.140018fe0
mov r9, qword [rsp + 0x130]
mov rcx, qword [rsp + 0x418]
mov qword [rsp + 0x170], 0
lea rdx, [0x1400b6668]
lea r8, [rsp + 0x170]
call fcn.140053920
jmp 0x140036c6d
mov r9, qword [rsp + 0x130]
mov rcx, qword [rsp + 0x418]
mov qword [rsp + 0x158], 0
lea rdx, [0x1400b6678]
lea r8, [rsp + 0x158]
call fcn.140053920
nop
add rsp, 0x528
ret