Function at 0x140022550
Capabilities:
Set http header

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x80
mov r13, rdx
mov r12, rcx
lea rcx, vtable.CVolCommonBaseWithMemManager.0
mov qword [rbp - 0x60], rcx
lea rdx, vtable.CVolObject.0
mov qword [rbp - 0x60], rdx
xor edi, edi
mov qword [rbp - 0x58], rdi
mov qword [rbp - 0x50], rdi
lea rax, vtable.CWString.0
mov qword [rbp - 0x60], rax
lea rax, [rbp - 0x40]
mov qword [rbp + 0x48], rax
mov qword [rbp - 0x40], rcx
mov qword [rbp - 0x40], rdx
mov qword [rbp - 0x38], rdi
mov qword [rbp - 0x30], rdi
lea rax, vtable.CVolMem.0
mov qword [rbp - 0x40], rax
mov qword [rbp - 0x28], rdi
mov qword [rbp - 0x18], rdi
mov qword [rbp - 0x20], rdi
mov eax, 0x40
mov qword [rbp - 0x10], rax
mov qword [rbp - 0x48], rdi
mov qword [rbp - 0x10], 0xfe
mov r15d, edi
mov rcx, qword [r13 + 0x48]
lea r14, [rdi - 1]
test rcx, 0xfffffffffffffff8
jbe 0x14002275e
lea r12, [0x14027a600]
test rcx, rcx
mov rdx, rdi
je 0x14002260f
mov rdx, qword [r13 + 0x38]
mov rdx, qword [rdx + r15*8]
test rdx, rdx
cmove rdx, r12
lea rcx, [rbp - 0x60]
call fcn.140030240
mov rdi, qword [rbp - 0x48]
test rdi, rdi
je 0x1400226ff
mov rax, r14
lea rax, [rax + 1]
cmp word [rdi + rax*2], 0
jne 0x140022633
lea rsi, [rax*2 + 2]
xor ebx, ebx
mov qword [rbp - 0x18], rbx
cmp qword [rbp - 0x20], rsi
jl 0x1400226bc
cmp rsi, 2
jne 0x140022678
movzx ecx, word [rdi]
mov rax, qword [rbp - 0x28]
mov word [rax], cx
mov rbx, qword [rbp - 0x18]
add rbx, rsi
mov qword [rbp - 0x18], rbx
xor edi, edi
mov qword [rbp - 0x48], rdi
jmp 0x140022705
cmp rsi, 4
jne 0x140022699
mov ecx, dword [rdi]
mov rax, qword [rbp - 0x28]
mov dword [rax], ecx
mov rbx, qword [rbp - 0x18]
add rbx, rsi
mov qword [rbp - 0x18], rbx
xor edi, edi
mov qword [rbp - 0x48], rdi
jmp 0x140022705
cmp rsi, 8
jne 0x1400226bc
mov rcx, qword [rdi]
mov rax, qword [rbp - 0x28]
mov qword [rax], rcx
mov rbx, qword [rbp - 0x18]
add rbx, rsi
mov qword [rbp - 0x18], rbx
xor edi, edi
mov qword [rbp - 0x48], rdi
jmp 0x140022705
test rsi, rsi
jle 0x1400226f7
mov rdx, rsi
lea rcx, [rbp - 0x40]
call fcn.14002e670
mov r8, rsi
mov rcx, rax
test rdi, rdi
je 0x1400226ec
mov rdx, rdi
call fcn.1401f4dc0
mov rbx, qword [rbp - 0x18]
xor edi, edi
mov qword [rbp - 0x48], rdi
jmp 0x140022705
xor edx, edx
call fcn.1401f5470
mov rbx, qword [rbp - 0x18]
xor edi, edi
mov qword [rbp - 0x48], rdi
jmp 0x140022705
mov rbx, qword [rbp - 0x18]
xor edi, edi
cmp rbx, 2
jb 0x14002271f
mov rax, qword [rbp - 0x28]
cmp word [rax + rbx - 2], 0
jne 0x14002271f
sub rbx, 2
mov qword [rbp - 0x18], rbx
lea rdx, [rbx + 6]
lea rcx, [rbp - 0x40]
call fcn.14002e670
lea rcx, [rax + rbx]
mov eax, dword [0x140286cfc]
mov dword [rcx], eax
movzx eax, word [0x140286d00]
mov word [rcx + 4], ax
inc r15
mov rcx, qword [r13 + 0x48]
mov rax, rcx
shr rax, 3
cmp r15, rax
jl 0x140022603
mov r12, qword [rbp + 0x40]
mov rbx, qword [rbp - 0x48]
test rbx, rbx
je 0x140022846
mov rax, r14
nop
lea rax, [rax + 1]
cmp word [rbx + rax*2], 0
jne 0x140022770
lea rdi, [rax*2 + 2]
xor ecx, ecx
mov qword [rbp - 0x18], rcx
cmp qword [rbp - 0x20], rdi
jl 0x1400227ff
cmp rdi, 2
jne 0x1400227b7
movzx ecx, word [rbx]
mov rax, qword [rbp - 0x28]
mov word [rax], cx
mov rcx, qword [rbp - 0x18]
add rcx, rdi
mov qword [rbp - 0x18], rcx
xor edi, edi
mov ebx, edi
mov qword [rbp - 0x48], rbx
jmp 0x14002284a
cmp rdi, 4
jne 0x1400227da
mov ecx, dword [rbx]
mov rax, qword [rbp - 0x28]
mov dword [rax], ecx
mov rcx, qword [rbp - 0x18]
add rcx, rdi
mov qword [rbp - 0x18], rcx
xor edi, edi
mov ebx, edi
mov qword [rbp - 0x48], rbx
jmp 0x14002284a
cmp rdi, 8
jne 0x1400227ff
mov rcx, qword [rbx]
mov rax, qword [rbp - 0x28]
mov qword [rax], rcx
mov rcx, qword [rbp - 0x18]
add rcx, rdi
mov qword [rbp - 0x18], rcx
xor edi, edi
mov ebx, edi
mov qword [rbp - 0x48], rbx
jmp 0x14002284a
test rdi, rdi
jle 0x14002283c
mov rdx, rdi
lea rcx, [rbp - 0x40]
call fcn.14002e670
mov r8, rdi
mov rcx, rax
test rbx, rbx
je 0x140022831
mov rdx, rbx
call fcn.1401f4dc0
mov rcx, qword [rbp - 0x18]
xor edi, edi
mov ebx, edi
mov qword [rbp - 0x48], rbx
jmp 0x14002284a
xor edx, edx
call fcn.1401f5470
mov rcx, qword [rbp - 0x18]
xor edi, edi
mov ebx, edi
mov qword [rbp - 0x48], rbx
jmp 0x14002284a
mov rcx, qword [rbp - 0x18]
mov rax, qword [rbp - 0x28]
test rcx, rcx
cmove rax, rdi
test rbx, rbx
je 0x14002286c
mov rdx, r14
nop dword [rax]
inc rdx
cmp word [rbx + rdx*2], 0
jne 0x140022860
jmp 0x14002287e
test rcx, rcx
je 0x140022994
mov rdx, rcx
shr rdx, 1
dec rdx
lea r8, [rdx - 1]
test r8, r8
js 0x140022895
cmp word [rax + r8*2], 0x20
ja 0x140022895
sub r8, 1
jns 0x140022887
lea rax, [r8 + 1]
cmp rax, rdx
je 0x140022994
lea rdx, [r8*2 + 2]
lea rcx, [rbp - 0x40]
call fcn.14002e670
mov rdx, qword [rbp - 0x20]
mov rax, rdx
mov rsi, qword [rbp - 0x18]
sub rax, rsi
cmp rax, 2
jl 0x1400228e0
mov rax, qword [rbp - 0x28]
mov word [rax + rsi], di
mov rcx, qword [rbp - 0x18]
add rcx, 2
mov qword [rbp - 0x18], rcx
jmp 0x140022990
lea rbx, [rsi + 2]
cmp rbx, rsi
jne 0x1400228f2
mov rcx, qword [rbp - 0x28]
jmp 0x140022988
test rbx, rbx
jne 0x14002291c
mov rdx, qword [rbp - 0x28]
test rdx, rdx
je 0x14002290b
lea rcx, [rbp - 0x40]
mov rax, qword [rbp - 0x40]
call qword [rax + 0x18]
mov qword [rbp - 0x28], rdi
mov qword [rbp - 0x18], rdi
mov qword [rbp - 0x20], rdi
mov rcx, rdi
jmp 0x140022988
mov rcx, qword [rbp - 0x28]
test rcx, rcx
jne 0x140022933
mov rdx, rbx
lea rcx, [rbp - 0x40]
call fcn.14002e5f0
jmp 0x140022985
mov rdi, qword [rbp - 0x10]
test rdi, rdi
mov eax, 0x40
cmovle rdi, rax
cmp rdx, rbx
jl 0x140022958
sub rdx, rbx
cmp rdx, rdi
jg 0x140022958
mov qword [rbp - 0x18], rbx
xor edi, edi
jmp 0x140022988
mov rax, rbx
cqo
idiv rdi
sub rdi, rdx
add rdi, rbx
mov r8, rdi
mov rdx, rcx
lea rcx, [rbp - 0x40]
mov rax, qword [rbp - 0x40]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x20], rdi
mov qword [rbp - 0x18], rbx
xor edi, edi
mov rcx, rax
mov word [rcx + rsi], di
mov rcx, qword [rbp - 0x18]
mov rbx, qword [rbp - 0x48]
test rbx, rbx
je 0x1400229ad
nop dword [rax]
inc r14
cmp word [rbx + r14*2], 0
jne 0x1400229a0
jmp 0x1400229cb
test rcx, rcx
jne 0x1400229be
mov r14, rdi
lea rbx, [0x14027a600]
jmp 0x1400229cb
mov r14, rcx
shr r14, 1
dec r14
mov rbx, qword [rbp - 0x28]
mov r9d, 0xa0000000
mov r8d, r14d
mov rdx, rbx
mov rcx, r12
call qword [sym.imp.WINHTTP.dll_WinHttpAddRequestHeaders]
mov ebx, eax
lea rax, [rbp - 0x40]
mov qword [rbp + 0x48], rax
lea rax, vtable.CVolMem.0
mov qword [rbp - 0x40], rax
mov rdx, qword [rbp - 0x28]
test rdx, rdx
je 0x140022a09
lea rcx, [rbp - 0x40]
mov rax, qword [rbp - 0x40]
call qword [rax + 0x18]
mov qword [rbp - 0x28], rdi
mov qword [rbp - 0x18], rdi
mov qword [rbp - 0x20], rdi
lea rax, vtable.CVolObject.0
mov qword [rbp - 0x40], rax
mov qword [rbp - 0x60], rax
mov eax, ebx
mov rbx, qword [rsp + 0xd0]
add rsp, 0x80
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret