Function at 0x140001636
Capabilities:
Check http status code

Disassembly:
jmp 0x140015860
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x38
xor ebx, ebx
mov rdi, rcx
mov r12, qword [rdi + 0x838]
mov r15, qword [rdi + 0x888]
mov rsi, qword [rdi + 0x890]
sub r12, qword [rdi + 0x840]
mov qword [rcx + 0x900], rbx
mov qword [rcx + 0x960], rbx
mov qword [rcx + 0x978], rbx
mov qword [rcx + 0x990], rbx
mov rcx, qword [rcx + 0x178]
mov rax, qword [rcx + 0x9a10]
mov qword [rbp + 0x58], r12
mov qword [rbp + 0x60], rsi
mov qword [rbp - 0x10], rbx
mov qword [rbp - 0x18], rax
test r15, r15
jne 0x1400158e8
mov rcx, qword [rdi + 0x818]
lea rdx, str.missing_class_reference
call fcn.14000169a
int3
mov eax, dword [r15 + 8]
add rcx, 0xb040
lea edx, [rax + rax]
shl rdx, 5
add rdx, qword [rdi + 0x6f8]
call fcn.140001528
mov r11d, dword [r15 + 8]
mov rcx, qword [rdi + 0x178]
lea edx, [r11 + r11 + 1]
add rcx, 0xb2c0
shl rdx, 5
add rdx, qword [rdi + 0x6f8]
call fcn.140001528
test rsi, rsi
je 0x14001597d
mov eax, dword [rsi + 8]
mov rcx, qword [rdi + 0x178]
lea edx, [rax + rax]
add rcx, 0xb180
shl rdx, 5
add rdx, qword [rdi + 0x6f8]
call fcn.140001528
mov r11d, dword [rsi + 8]
mov rcx, qword [rdi + 0x178]
lea edx, [r11 + r11 + 1]
add rcx, 0xb400
shl rdx, 5
add rdx, qword [rdi + 0x6f8]
call fcn.140001528
cmp qword [rdi + 0x48], rbx
jne 0x140015c50
mov r14d, ebx
mov r13d, dword [rdi + 0x838]
lea rax, [rdi + 0x8f8]
mov edx, 4
sub r13d, dword [rdi + 0x840]
mov rcx, rax
sub r13d, r12d
call fcn.1400013ac
mov edx, 0xa
mov rcx, rdi
mov dword [rax], r13d
call fcn.140001690
mov rdx, qword [rbp - 0x18]
mov rcx, qword [rdi + 0x838]
movzx ebx, byte [rdx]
inc rdx
lea rax, [rcx + 1]
xor r12b, r12b
mov qword [rdi + 0x838], rax
mov qword [rbp - 0x18], rdx
mov byte [rcx], bl
cmp ebx, 0xc4
jne 0x140015a0d
mov rcx, qword [rdi + 0x838]
movzx ebx, byte [rdx]
inc rdx
lea rax, [rcx + 1]
mov qword [rbp - 0x18], rdx
mov r12b, 1
mov qword [rdi + 0x838], rax
mov byte [rcx], bl
cmp ebx, 0x10
je 0x1400160fc
cmp ebx, 0x11
je 0x1400160d6
cmp ebx, 0x84
je 0x140016056
cmp ebx, 0xa9
jle 0x140015a6b
cmp ebx, 0xab
jle 0x140015b76
cmp ebx, 0xbc
je 0x1400160fc
cmp ebx, 0xfd
je 0x140015b09
cmp ebx, 0xfe
je 0x140015a9e
cmp ebx, 0xff
je 0x14001612d
lea eax, [rbx - 0xe6]
cmp eax, 2
ja 0x140015d6a
add ebx, 0xffffff1a
mov dword [rbp + 0x50], 0xb7
je 0x140015cac
dec ebx
je 0x140015ca7
mov rbx, qword [rbp - 0x10]
jmp 0x140015caf
mov rcx, qword [rdi + 0x178]
dec qword [rdi + 0x838]
add rcx, 0xb930
call fcn.1400013cf
mov rcx, rdi
movsxd rdx, eax
mov ebx, eax
call fcn.140001690
test ebx, ebx
jle 0x1400160f3
mov r8d, ebx
mov rcx, qword [rdi + 0x178]
mov rax, qword [rcx + 0xba90]
movzx edx, byte [rax]
inc rax
dec r8
mov qword [rcx + 0xba90], rax
mov rcx, qword [rdi + 0x838]
lea rax, [rcx + 1]
mov qword [rdi + 0x838], rax
mov byte [rcx], dl
jne 0x140015ad0
jmp 0x1400160f3
mov rcx, qword [rdi + 0x178]
dec qword [rdi + 0x838]
add rcx, 0xb7f0
call fcn.1400013cf
mov rcx, qword [rdi + 0x178]
mov r8b, 1
add rcx, 0xb680
mov ebx, eax
mov rdx, qword [rcx + 0x18]
call fcn.14000101e
cmp qword [rdi + 0x48], 0
jne 0x140015c50
dec ebx
je 0x140015b66
dec ebx
jne 0x1400160f3
mov rdx, rax
mov rcx, rdi
call fcn.14000100a
jmp 0x1400160f3
mov rdx, rax
mov rcx, rdi
call fcn.1400010cd
jmp 0x1400160f3
mov rcx, qword [rdi + 0x178]
add rcx, 0x9b30
call fcn.1400013cf
mov cl, byte [rdi + 0x838]
mov r12, qword [rbp + 0x58]
sub cl, byte [rdi + 0x840]
mov esi, eax
sub cl, r12b
test cl, 3
je 0x140015bcb
mov rdx, qword [rdi + 0x838]
lea rcx, [rdx + 1]
mov qword [rdi + 0x838], rcx
mov byte [rdx], 0
mov al, byte [rdi + 0x838]
sub al, byte [rdi + 0x840]
sub al, r12b
test al, 3
jne 0x140015ba3
lea eax, [rsi*8 + 0x1e]
mov rcx, rdi
movsxd rdx, eax
call fcn.140001690
mov r8d, 4
mov edx, r14d
mov rcx, rdi
call fcn.1400010c8
cmp ebx, 0xaa
jne 0x140015c61
mov rcx, qword [rdi + 0x178]
add rcx, 0x9c70
call fcn.1400013cf
mov rcx, rdi
mov edx, eax
mov ebx, eax
call fcn.1400015dc
lea edx, [rbx + rsi - 1]
mov rcx, rdi
call fcn.1400015dc
test esi, esi
jle 0x140015c3e
mov rbx, rsi
mov r8d, 4
mov edx, r14d
mov rcx, rdi
call fcn.1400010c8
dec rbx
jne 0x140015c28
mov rsi, qword [rbp + 0x60]
inc r14d
cmp qword [rdi + 0x48], 0
je 0x14001598a
add rsp, 0x38
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov edx, esi
mov rcx, rdi
call fcn.1400015dc
test esi, esi
jle 0x140015c3e
mov rbx, rsi
mov rcx, qword [rdi + 0x178]
add rcx, 0x9c70
call fcn.1400013cf
mov rcx, rdi
mov edx, eax
call fcn.1400015dc
mov r8d, 4
mov edx, r14d
mov rcx, rdi
call fcn.1400010c8
dec rbx
jne 0x140015c72
jmp 0x140015c3e
mov rbx, rsi
jmp 0x140015caf
mov rbx, r15
mov rax, qword [rdi + 0x838]
mov byte [rax - 1], 0xb7
mov rcx, qword [rdi + 0x178]
add rcx, 0xb570
call fcn.1400013cf
mov esi, eax
test rbx, rbx
je 0x14001621f
mov ecx, dword [rbx + 8]
lea r9d, [rcx + rcx + 1]
shl r9, 5
add r9, qword [rdi + 0x6f8]
cmp qword [rdi + 0x48], 0
jne 0x140015c50
xor r10d, r10d
xor ebx, ebx
xor r11d, r11d
test r9, r9
je 0x140015d08
cmp r10d, dword [r9]
jb 0x140015d0d
xor r8d, r8d
jmp 0x140015d28
mov rdx, qword [r9 + 8]
test rdx, rdx
je 0x140015d20
lea rcx, [r10 + r10*4]
lea r8, [rdx + rcx*8]
jmp 0x140015d28
mov rax, qword [r9 + 0x10]
mov r8, qword [r11 + rax]
test r8, r8
je 0x140015d56
mov rax, qword [r8 + 0x10]
mov rcx, qword [rax + 8]
mov rax, qword [rdi + 0x810]
mov rdx, qword [rcx + 0x10]
cmp qword [rdx], rax
jne 0x140015d4d
mov eax, ebx
inc ebx
cmp eax, esi
je 0x140015d56
inc r10d
add r11, 8
jmp 0x140015cfe
mov rdx, r8
mov rcx, rdi
call fcn.14000100a
mov r12, qword [rbp + 0x58]
jmp 0x140015c3e
lea r9, [rbp + 0x50]
lea r8, [rbp + 0x48]
mov edx, ebx
mov rcx, rdi
call fcn.1400015a0
mov rsi, rax
test rax, rax
je 0x140015df7
cmp byte [rbp + 0x48], 0
jne 0x140015d99
mov rdx, qword [rdi + 0x838]
mov cl, byte [rbp + 0x50]
mov byte [rdx - 1], cl
jmp 0x140015dd5
mov rax, qword [rdi + 0x838]
lea rcx, [rdi + 0x8f8]
mov edx, 4
mov byte [rax - 1], 0x2a
call fcn.1400013ac
lea ecx, [r13 + 1]
mov dword [rax], ecx
mov rcx, qword [rdi + 0x838]
inc r14d
lea rax, [rcx + 1]
mov qword [rdi + 0x838], rax
mov al, byte [rbp + 0x50]
mov byte [rcx], al
mov rdx, qword [rsi + 0x18]
xor r8d, r8d
mov rcx, rsi
call fcn.14000101e
cmp qword [rdi + 0x48], 0
jne 0x140015c50
mov rdx, rax
jmp 0x140015d59
lea eax, [rbx - 0x99]
cmp eax, 0xf
jbe 0x140016033
lea eax, [rbx - 0xc6]
cmp eax, 3
jbe 0x140016033
mov edx, ebx
call fcn.1400015c3
mov rsi, rax
test rax, rax
je 0x140015fd3
cmp byte [rax + 0x21], 0
mov rdx, qword [rax + 0x18]
mov rcx, rax
setne r8b
call fcn.14000101e
cmp qword [rdi + 0x48], 0
mov r12, rax
jne 0x140015c50
test rax, rax
jne 0x140015e64
mov rcx, qword [rdi + 0x178]
add rcx, 0xaa00
cmp rsi, rcx
cmove r12, r15
mov dword [rbp + 0x50], ebx
cmp ebx, 0xee
jg 0x140015eab
cmp ebx, 0xec
jge 0x140015ed3
cmp ebx, 0x12
je 0x140015e9e
cmp ebx, 0x13
je 0x140015ed3
cmp ebx, 0x14
je 0x140015eda
cmp ebx, 0xbb
je 0x140015ea5
cmp ebx, 0xe8
jle 0x140015ee2
cmp ebx, 0xeb
jg 0x140015ee2
mov ebx, 0x12
jmp 0x140015edf
mov qword [rbp - 0x10], r12
jmp 0x140015ee2
mov ecx, ebx
sub ecx, 0xef
je 0x140015eda
dec ecx
je 0x140015e9e
dec ecx
je 0x140015ed3
dec ecx
je 0x140015ecc
dec ecx
jne 0x140015ee2
mov ebx, 0xb8
jmp 0x140015edf
mov ebx, 0xb7
jmp 0x140015edf
mov ebx, 0x13
jmp 0x140015edf
mov ebx, 0x14
mov dword [rbp + 0x50], ebx
mov rax, qword [rdi + 0x838]
mov rdx, r12
mov rcx, rdi
mov byte [rax - 1], bl
cmp ebx, 0x12
jne 0x140015f01
call fcn.1400010cd
jmp 0x140015d61
call fcn.14000100a
cmp ebx, 0xc5
jne 0x140015f42
mov rcx, qword [rdi + 0x178]
mov rax, qword [rcx + 0x9dd0]
movzx edx, byte [rax]
inc rax
mov qword [rcx + 0x9dd0], rax
mov rcx, qword [rdi + 0x838]
lea rax, [rcx + 1]
mov qword [rdi + 0x838], rax
mov byte [rcx], dl
jmp 0x140015d61
cmp ebx, 0xb9
jne 0x140015f90
mov rax, qword [r12 + 0x10]
mov rcx, qword [rax + 8]
mov rax, qword [rcx + 0x10]
mov rcx, qword [rax + 8]
call fcn.140001334
mov rdx, qword [rdi + 0x838]
lea rcx, [rdx + 1]
inc al
mov qword [rdi + 0x838], rcx
mov byte [rdx], al
mov rcx, qword [rdi + 0x838]
lea rax, [rcx + 1]
mov qword [rdi + 0x838], rax
mov byte [rcx], 0
jmp 0x140015d61
mov r12, qword [rbp + 0x58]
mov rsi, qword [rbp + 0x60]
cmp ebx, 0xba
jne 0x140015c42
mov rcx, qword [rdi + 0x838]
lea rax, [rcx + 1]
mov qword [rdi + 0x838], rax
mov byte [rcx], 0
mov rcx, qword [rdi + 0x838]
lea rax, [rcx + 1]
mov qword [rdi + 0x838], rax
mov byte [rcx], 0
jmp 0x140015c42
lea eax, [rbx - 0x15]
cmp eax, 4
jbe 0x140015fef
lea eax, [rbx - 0x36]
cmp eax, 4
jbe 0x140015fef
cmp ebx, 0xa9
jne 0x140015d61
mov rcx, qword [rdi + 0x178]
add rcx, 0xa030
call fcn.1400013cf
mov r11d, eax
test r12b, r12b
je 0x140016019
mov edx, eax
mov rcx, rdi
call fcn.14000129e
jmp 0x140015d61
mov rcx, qword [rdi + 0x838]
lea rax, [rcx + 1]
mov qword [rdi + 0x838], rax
mov byte [rcx], r11b
jmp 0x140015d61
mov edx, r14d
cmp ebx, 0xc8
jge 0x14001604e
mov r8d, 2
call fcn.1400010c8
jmp 0x140015d61
mov r8d, 4
jmp 0x140016044
mov rcx, qword [rdi + 0x178]
add rcx, 0xa030
call fcn.1400013cf
mov rcx, qword [rdi + 0x178]
mov esi, eax
test r12b, r12b
je 0x140016080
add rcx, 0x9ec0
jmp 0x140016087
add rcx, 0x9d80
add rcx, 0x30
call fcn.1400013cf
mov ebx, eax
test r12b, r12b
je 0x1400160a8
mov edx, esi
mov rcx, rdi
call fcn.14000129e
mov edx, ebx
jmp 0x14001600c
mov rcx, qword [rdi + 0x838]
lea rax, [rcx + 1]
mov qword [rdi + 0x838], rax
mov byte [rcx], sil
mov rcx, qword [rdi + 0x838]
lea rax, [rcx + 1]
mov qword [rdi + 0x838], rax
mov byte [rcx], bl
jmp 0x140015d61
mov rcx, qword [rdi + 0x178]
add rcx, 0x9ef0
call fcn.1400013cf
mov rcx, rdi
mov edx, eax
call fcn.14000129e
mov r12, qword [rbp + 0x58]
jmp 0x140015c42
mov rcx, qword [rdi + 0x178]
mov rax, qword [rcx + 0x9dd0]
movzx edx, byte [rax]
inc rax
mov qword [rcx + 0x9dd0], rax
mov rcx, qword [rdi + 0x838]
lea rax, [rcx + 1]
mov qword [rdi + 0x838], rax
mov byte [rcx], dl
jmp 0x1400160f3
dec qword [rdi + 0x838]
mov rax, qword [rdi + 0x178]
xor r13d, r13d
mov qword [rax + 0x9a10], rdx
cmp dword [rdi + 0x960], r13d
jle 0x140015c50
xor r14d, r14d
mov rax, qword [rdi + 0x958]
mov rcx, qword [rdi + 0x178]
movzx r15d, byte [r13 + rax]
mov rax, qword [rdi + 0x970]
add rcx, 0xa170
movsxd rsi, dword [r14 + rax]
mov rax, qword [rdi + 0x988]
mov ebx, dword [r14 + rax]
add rsi, qword [rdi + 0x840]
call fcn.1400013cf
lea edx, [rbx + rax]
mov rcx, rdi
call fcn.14000124e
mov edx, ebx
mov rcx, rdi
mov r12d, eax
call fcn.14000124e
sub r12d, eax
cmp qword [rdi + 0x48], 0
jne 0x140015c50
cmp r15d, 2
je 0x1400161e4
cmp r15d, 4
jne 0x140016206
mov eax, r12d
mov byte [rsi + 3], r12b
sar eax, 0x18
mov byte [rsi], al
mov eax, r12d
sar eax, 0x10
mov byte [rsi + 1], al
mov eax, r12d
sar eax, 8
mov byte [rsi + 2], al
jmp 0x140016206
movzx ecx, r12w
cmp ecx, ecx
je 0x1400161fc
lea rcx, str.Internal_buffer_overflow
xor edx, edx
call fcn.14000141f
jmp 0x140016206
mov eax, ecx
mov byte [rsi + 1], cl
sar eax, 8
mov byte [rsi], al
inc r13d
add r14, 4
cmp r13d, dword [rdi + 0x960]
jl 0x140016155
jmp 0x140015c50
mov rcx, qword [rdi + 0x818]
lea rdx, str.missing_class_reference
call fcn.14000169a
int3