Function at 0x21e1370
Capabilities:
Initialize winhttp library
Prepare http request
Receive http response

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x3a0]
sub rsp, 0x4a0
mov rax, qword [0x021ff040]
xor rax, rsp
mov qword [rbp + 0x390], rax
mov r14, rdx
mov r15, rcx
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x58], rdx
mov dword [rsp + 0x40], 1
xorps xmm0, xmm0
movups xmmword [rcx], xmm0
xor edi, edi
mov qword [rcx + 0x10], rdi
mov qword [rcx + 0x18], rdi
xor r8d, r8d
lea rdx, [0x021fbb1b]
call fcn.021e1ab0
nop
mov dword [rsp + 0x40], 1
mov dword [rsp + 0x20], edi
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, str.NZT_1.0
call qword [sym.imp.WINHTTP.dll_WinHttpOpen]
mov rsi, rax
mov qword [rsp + 0x48], rax
test rax, rax
jne 0x21e14e6
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r9d, eax
lea rax, str.WinHttpOpen_failed:
add r9, rax
mov rbx, 0xffffffffffffffff
inc rbx
cmp byte [r9 + rbx], 0
jne 0x21e1424
mov rax, qword [r15 + 0x18]
cmp rbx, rax
ja 0x21e14d6
mov rdi, r15
cmp rax, 0xf
jbe 0x21e1447
mov rdi, qword [r15]
mov qword [r15 + 0x10], rbx
mov r8, rbx
mov rdx, r9
mov rcx, rdi
call fcn.021f2990
mov byte [rdi + rbx], 0
xor edi, edi
mov rdx, qword [r14 + 0x18]
cmp rdx, 0xf
jbe 0x21e1499
inc rdx
mov rcx, qword [r14]
cmp rdx, 0x1000
jb 0x21e1494
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x21e1a3f
mov rcx, r8
call fcn.021e3a68
mov byte [r14], 0
mov qword [r14 + 0x18], 0xf
mov qword [r14 + 0x10], rdi
mov rax, r15
mov rcx, qword [rbp + 0x390]
xor rcx, rsp
call fcn.021e3530
mov rbx, qword [rsp + 0x4f0]
add rsp, 0x4a0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov rdx, rbx
mov rcx, r15
call fcn.021e1bb0
jmp 0x21e145f
mov r8d, 0x50
xor r9d, r9d
lea rdx, str.64.95.10.243
mov rcx, rsi
call qword [sym.imp.WINHTTP.dll_WinHttpConnect]
mov r13, rax
test rax, rax
jne 0x21e157f
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r9d, eax
lea rax, str.WinHttpConnect_failed:
add r9, rax
mov rbx, 0xffffffffffffffff
inc rbx
cmp byte [r9 + rbx], 0
jne 0x21e1521
mov rax, qword [r15 + 0x18]
cmp rbx, rax
ja 0x21e1566
mov rdi, r15
cmp rax, 0xf
jbe 0x21e1540
mov rdi, qword [r15]
mov qword [r15 + 0x10], rbx
mov r8, rbx
mov rdx, r9
mov rcx, rdi
call fcn.021f2990
mov byte [rdi + rbx], 0
xor edi, edi
mov rcx, rsi
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
jmp 0x21e145f
mov rdx, rbx
mov rcx, r15
call fcn.021e1bb0
mov rcx, rsi
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
jmp 0x21e145f
mov dword [rsp + 0x30], edi
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], rdi
xor r9d, r9d
lea r8, str._api_mytest
lea rdx, str.POST
mov rcx, r13
call qword [sym.imp.WINHTTP.dll_WinHttpOpenRequest]
mov r12, rax
test rax, rax
jne 0x21e1640
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r9d, eax
lea rax, str.WinHttpOpenRequest_failed:
add r9, rax
mov rbx, 0xffffffffffffffff
nop dword [rax]
inc rbx
cmp byte [r9 + rbx], 0
jne 0x21e15d0
mov rax, qword [r15 + 0x18]
cmp rbx, rax
ja 0x21e161e
mov rdi, r15
cmp rax, 0xf
jbe 0x21e15ef
mov rdi, qword [r15]
mov qword [r15 + 0x10], rbx
mov r8, rbx
mov rdx, r9
mov rcx, rdi
call fcn.021f2990
mov byte [rdi + rbx], 0
xor edi, edi
mov rcx, r13
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov rcx, rsi
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
jmp 0x21e145f
mov rdx, rbx
mov rcx, r15
call fcn.021e1bb0
mov rcx, r13
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov rcx, rsi
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
jmp 0x21e145f
mov r9, r14
cmp qword [r14 + 0x18], 0xf
jbe 0x21e164d
mov r9, qword [r14]
mov eax, dword [r14 + 0x10]
mov qword [rsp + 0x30], rdi
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], eax
xor r8d, r8d
xor edx, edx
mov rcx, r12
call qword [sym.imp.WINHTTP.dll_WinHttpSendRequest]
test eax, eax
jne 0x21e16f4
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r9d, eax
lea rax, str.WinHttpSendRequest_failed:
add r9, rax
mov rbx, 0xffffffffffffffff
nop
inc rbx
cmp byte [r9 + rbx], 0
jne 0x21e1690
mov rax, qword [r15 + 0x18]
cmp rbx, rax
ja 0x21e16c9
cmp rax, 0xf
mov rdi, r15
jbe 0x21e16af
mov rdi, qword [r15]
mov qword [r15 + 0x10], rbx
mov r8, rbx
mov rdx, r9
mov rcx, rdi
call fcn.021f2990
mov byte [rdi + rbx], 0
xor edi, edi
jmp 0x21e16d4
mov rdx, rbx
mov rcx, r15
call fcn.021e1bb0
mov rcx, r12
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov rcx, r13
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov rcx, rsi
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
jmp 0x21e145f
xor edx, edx
mov rcx, r12
call qword [sym.imp.WINHTTP.dll_WinHttpReceiveResponse]
test eax, eax
jne 0x21e172f
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r9d, eax
lea rax, str.WinHttpReceiveResponse_failed:
add r9, rax
mov rbx, 0xffffffffffffffff
nop dword [rax]
inc rbx
cmp byte [r9 + rbx], 0
jne 0x21e1720
jmp 0x21e169a
mov dword [rsp + 0x60], edi
xorps xmm0, xmm0
movups xmmword [rsp + 0x68], xmm0
mov qword [rsp + 0x78], rdi
mov qword [rbp - 0x80], 0xf
mov byte [rsp + 0x68], 0
mov rbx, 0xffffffffffffffff
nop dword [rax]
nop dword [rax + rax]
lea r9, [rsp + 0x60]
mov r8d, 0x3ff
lea rdx, [rbp - 0x70]
mov rcx, r12
call qword [sym.imp.WINHTTP.dll_WinHttpReadData]
test eax, eax
je 0x21e1925
mov eax, dword [rsp + 0x60]
test eax, eax
je 0x21e1812
cmp rax, 0x400
jae 0x21e1a33
mov byte [rbp + rax - 0x70], 0
lea rax, [rbp - 0x70]
mov rsi, rbx
inc rsi
cmp byte [rax + rsi], 0
jne 0x21e17a4
mov rcx, qword [rsp + 0x78]
mov rdx, qword [rbp - 0x80]
mov rax, rdx
sub rax, rcx
cmp rsi, rax
ja 0x21e17f1
lea rax, [rsi + rcx]
mov qword [rsp + 0x78], rax
lea rdi, [rsp + 0x68]
cmp rdx, 0xf
cmova rdi, qword [rsp + 0x68]
add rdi, rcx
mov r8, rsi
lea rdx, [rbp - 0x70]
mov rcx, rdi
call fcn.021f2990
mov byte [rdi + rsi], 0
jmp 0x21e1807
mov qword [rsp + 0x20], rsi
lea r9, [rbp - 0x70]
mov rdx, rsi
lea rcx, [rsp + 0x68]
call fcn.021e1cf0
cmp dword [rsp + 0x60], 0
ja 0x21e1760
lea rax, [rsp + 0x68]
cmp r15, rax
je 0x21e1869
lea r9, [rsp + 0x68]
cmp qword [rbp - 0x80], 0xf
cmova r9, qword [rsp + 0x68]
mov rbx, qword [rsp + 0x78]
mov rax, qword [r15 + 0x18]
cmp rbx, rax
ja 0x21e185e
mov rdi, r15
cmp rax, 0xf
jbe 0x21e1846
mov rdi, qword [r15]
mov qword [r15 + 0x10], rbx
mov r8, rbx
mov rdx, r9
mov rcx, rdi
call fcn.021f2990
mov byte [rdi + rbx], 0
jmp 0x21e1869
mov rdx, rbx
mov rcx, r15
call fcn.021e1bb0
mov rcx, r12
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov rcx, r13
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
nop
mov rdx, qword [rbp - 0x80]
cmp rdx, 0xf
jbe 0x21e18c3
inc rdx
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x21e18be
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x21e1a39
call fcn.021e3a68
xor ebx, ebx
mov qword [rsp + 0x78], rbx
mov qword [rbp - 0x80], 0xf
mov byte [rsp + 0x68], bl
mov rdx, qword [r14 + 0x18]
cmp rdx, 0xf
jbe 0x21e1910
inc rdx
mov rcx, qword [r14]
cmp rdx, 0x1000
jb 0x21e190b
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x21e1a3f
mov rcx, r8
call fcn.021e3a68
mov qword [r14 + 0x10], rbx
mov qword [r14 + 0x18], 0xf
mov byte [r14], 0
jmp 0x21e14a9
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r9d, eax
lea rax, str.WinHttpReadData_failed:
add r9, rax
nop dword [rax + rax]
inc rbx
cmp byte [r9 + rbx], 0
jne 0x21e1940
mov rax, qword [r15 + 0x18]
cmp rbx, rax
ja 0x21e1977
mov rdi, r15
cmp rax, 0xf
jbe 0x21e195f
mov rdi, qword [r15]
mov qword [r15 + 0x10], rbx
mov r8, rbx
mov rdx, r9
mov rcx, rdi
call fcn.021f2990
mov byte [rdi + rbx], 0
jmp 0x21e1982
mov rdx, rbx
mov rcx, r15
call fcn.021e1bb0
mov rcx, r12
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov rcx, r13
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.WINHTTP.dll_WinHttpCloseHandle]
nop
mov rdx, qword [rbp - 0x80]
cmp rdx, 0xf
jbe 0x21e19d8
inc rdx
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x21e19d3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x21e1a27
call fcn.021e3a68
xor edi, edi
mov qword [rsp + 0x78], rdi
mov qword [rbp - 0x80], 0xf
mov byte [rsp + 0x68], dil
mov rdx, qword [r14 + 0x18]
cmp rdx, 0xf
jbe 0x21e1499
inc rdx
mov rcx, qword [r14]
cmp rdx, 0x1000
jb 0x21e1494
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x21e1a2d
jmp 0x21e1491
call fcn.021e9ebc
nop
call fcn.021e9ebc
nop
call fcn.021e3658
nop
call fcn.021e9ebc
nop
call fcn.021e9ebc
int3