Function at 0x18008c040
Capabilities:
Connect to http server
Create http request
Read and send data from client to server
Read file on windows
Send data
Send http request

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xb8]
sub rsp, 0x1b8
mov rax, qword [0x18012a010]
xor rax, rsp
mov qword [rbp + 0xa0], rax
xor r15d, r15d
mov qword [rsp + 0x58], r9
mov rdi, r9
mov rsi, r8
mov rbx, rdx
mov qword [rsp + 0x60], r8
mov r14, rcx
mov qword [rsp + 0x48], rdx
mov qword [rsp + 0x50], rcx
cmp qword [rcx + 0x10], r15
je 0x18008c934
cmp qword [rdx + 0x10], r15
je 0x18008c934
cmp qword [r9 + 0x10], r15
je 0x18008c934
mov rdx, r8
lea rcx, [rbp - 0x78]
call fcn.1800c2490
mov rcx, rax
call fcn.18008bab0
lea r9, [rbp + 0x95]
mov r8d, eax
test eax, eax
jns 0x18008c120
neg r8d
nop dword [rax]
nop word [rax + rax]
dec r9
mov eax, 0xcccccccd
mul r8d
shr edx, 3
movzx eax, dl
shl al, 2
lea ecx, [rax + rdx]
add cl, cl
sub r8b, cl
add r8b, 0x30
mov byte [r9], r8b
mov r8d, edx
test edx, edx
jne 0x18008c0e0
dec r9
mov byte [r9], 0x2d
jmp 0x18008c14a
dec r9
mov eax, 0xcccccccd
mul r8d
shr edx, 3
movzx eax, dl
shl al, 2
lea ecx, [rax + rdx]
add cl, cl
sub r8b, cl
add r8b, 0x30
mov byte [r9], r8b
mov r8d, edx
test edx, edx
jne 0x18008c120
lea rax, [rbp + 0x95]
mov qword [rsp + 0x78], r15
mov qword [rbp - 0x80], 0xf
mov byte [rsp + 0x68], r15b
cmp r9, rax
je 0x18008c17f
lea r8, [rbp + 0x95]
mov rdx, r9
sub r8, r9
lea rcx, [rsp + 0x68]
call fcn.1800c2b50
lea rdx, [rsp + 0x68]
lea rcx, [rbp - 0x18]
call fcn.180089d10
mov rdx, qword [rbp - 0x80]
cmp rdx, 0x10
jb 0x18008c1c9
mov rcx, qword [rsp + 0x68]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008c1c4
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18008cd16
call fcn.1800cf9b0
mov rbx, qword [rbp - 8]
mov qword [rbp - 0x28], r15
mov qword [rbp - 0x20], 0xf
mov byte [rbp - 0x38], r15b
lea rdx, [rbx + 0x30]
cmp rdx, 0x10
jb 0x18008c1f4
lea rcx, [rbp - 0x38]
call fcn.1800c8f90
mov qword [rbp - 0x28], r15
mov r8d, 0x30
lea rdx, str.Content_Type:_multipart_form_data__boundary____
lea rcx, [rbp - 0x38]
call fcn.1800c22c0
cmp qword [rbp], 0x10
lea rdx, [rbp - 0x18]
mov r8, rbx
lea rcx, [rbp - 0x38]
cmovae rdx, qword [rbp - 0x18]
call fcn.1800c22c0
mov rbx, qword [rbp - 8]
mov qword [rbp + 0x90], r15
mov qword [rbp + 0x98], 0xf
mov byte [rbp + 0x80], r15b
lea rdx, [rbx + 6]
cmp rdx, 0x10
jb 0x18008c25e
lea rcx, [rbp + 0x80]
call fcn.1800c8f90
mov qword [rbp + 0x90], r15
mov r8d, 6
lea rdx, str.______
lea rcx, [rbp + 0x80]
call fcn.1800c22c0
cmp qword [rbp], 0x10
lea rdx, [rbp - 0x18]
mov r8, rbx
lea rcx, [rbp + 0x80]
cmovae rdx, qword [rbp - 0x18]
call fcn.1800c22c0
mov r8d, 0x39
lea rdx, str._r_nContent_Disposition:_form_data__name_data___filename_
lea rcx, [rbp + 0x80]
call fcn.1800c22c0
mov rdx, rdi
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x68], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x78], xmm1
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], 0xf
mov byte [rax], r15b
cmp qword [rdi + 0x18], 0x10
jb 0x18008c2da
mov rdx, qword [rdi]
mov r8, qword [rdi + 0x10]
lea rcx, [rsp + 0x68]
call fcn.1800c22c0
mov r8d, 0x2d
lea rdx, str.__r_nContent_Type:_application_octet_stream_r_n_r_n
lea rcx, [rbp - 0x78]
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x78], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x68], xmm1
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], 0xf
mov byte [rax], r15b
call fcn.1800c22c0
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x28], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x38], xmm1
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], 0xf
mov byte [rax], r15b
mov rdx, qword [rbp - 0x60]
cmp rdx, 0x10
jb 0x18008c375
mov rcx, qword [rbp - 0x78]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008c370
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18008cd1c
call fcn.1800cf9b0
mov rdx, qword [rbp - 0x80]
mov qword [rbp - 0x68], r15
mov qword [rbp - 0x60], 0xf
mov byte [rbp - 0x78], r15b
cmp rdx, 0x10
jb 0x18008c3c1
mov rcx, qword [rsp + 0x68]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008c3bc
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18008cd1c
call fcn.1800cf9b0
mov rdx, qword [rbp + 0x98]
mov qword [rsp + 0x78], r15
mov qword [rbp - 0x80], 0xf
mov byte [rsp + 0x68], r15b
cmp rdx, 0x10
jb 0x18008c414
mov rcx, qword [rbp + 0x80]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008c40f
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18008cd1c
call fcn.1800cf9b0
mov rbx, qword [rbp - 8]
mov qword [rbp + 0x90], r15
mov qword [rbp + 0x98], 0xf
mov byte [rbp + 0x80], r15b
lea rdx, [rbx + 8]
cmp rdx, 0x10
jb 0x18008c44e
lea rcx, [rbp + 0x80]
call fcn.1800c8f90
mov qword [rbp + 0x90], r15
mov r8d, 8
lea rdx, str._r_n______
lea rcx, [rbp + 0x80]
call fcn.1800c22c0
cmp qword [rbp], 0x10
lea rdx, [rbp - 0x18]
mov r8, rbx
lea rcx, [rbp + 0x80]
cmovae rdx, qword [rbp - 0x18]
call fcn.1800c22c0
mov r8d, 4
lea rdx, str.___r_n
lea rcx, [rbp + 0x80]
call fcn.1800c22c0
movups xmm0, xmmword [rax]
movups xmmword [rbp + 8], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x18], xmm1
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], 0xf
mov byte [rax], r15b
mov rdx, qword [rbp + 0x98]
cmp rdx, 0x10
jb 0x18008c4fc
mov rcx, qword [rbp + 0x80]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008c4f7
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18008cd22
call fcn.1800cf9b0
cmp qword [rbp - 0x20], 0x10
lea rax, [rbp - 0x38]
lea r12, [rbp + 0x28]
mov r13, 0xffffffffffffffff
cmovae rax, qword [rbp - 0x38]
mov r15, r13
cmp qword [rbp + 0x40], 0x10
mov qword [rbp - 0x48], rax
lea rax, [rbp + 8]
cmovae r12, qword [rbp + 0x28]
cmp qword [rbp + 0x20], 0x10
cmovae rax, qword [rbp + 8]
mov qword [rbp - 0x50], rax
nop dword [rax + rax]
inc r15
cmp byte [r12 + r15], 0
jne 0x18008c540
nop word [rax + rax]
inc r13
cmp byte [rax + r13], 0
jne 0x18008c550
xor ebx, ebx
xorps xmm0, xmm0
xorps xmm1, xmm1
mov qword [rbp + 0x6c], rbx
mov ecx, 0x10000
mov qword [rbp + 0x78], rbx
movdqu xmmword [rbp + 0x4c], xmm0
mov dword [rsp + 0x44], ebx
movdqu xmmword [rbp + 0x5c], xmm1
call fcn.1800cfd74
xor edx, edx
mov qword [rbp - 0x58], rax
mov r8d, 0x10000
mov rcx, rax
call fcn.1800d2e20
cmp qword [rsi + 0x18], 0x10
mov rcx, rsi
jb 0x18008c5a3
mov rcx, qword [rsi]
xor r9d, r9d
mov qword [rsp + 0x30], rbx
mov dword [rsp + 0x28], 0x8000080
mov edx, 0x80000000
mov dword [rsp + 0x20], 3
lea r8d, [r9 + 1]
call qword [sym.imp.KERNEL32.dll_CreateFileA]
mov rdx, rsi
lea rcx, [rsp + 0x68]
mov rdi, rax
call fcn.1800c2490
mov rcx, rax
call fcn.18008bab0
xor r9d, r9d
mov dword [rsp + 0x40], eax
xor r8d, r8d
mov dword [rsp + 0x20], ebx
lea rcx, [0x18010e0f0]
lea edx, [r9 + 1]
call qword [sym.imp.WININET.dll_InternetOpenA]
mov r14, rax
mov rax, qword [rsp + 0x50]
mov rdx, rax
cmp qword [rax + 0x18], 0x10
jb 0x18008c616
mov rdx, qword [rax]
mov qword [rsp + 0x38], rbx
mov r8d, 0x50
mov dword [rsp + 0x30], ebx
xor r9d, r9d
mov dword [rsp + 0x28], 3
mov rcx, r14
mov qword [rsp + 0x20], rbx
call qword [sym.imp.WININET.dll_InternetConnectA]
mov rsi, rax
mov rax, qword [rsp + 0x48]
mov r8, rax
cmp qword [rax + 0x18], 0x10
jb 0x18008c653
mov r8, qword [rax]
mov qword [rsp + 0x38], rbx
lea rdx, str.POST
mov dword [rsp + 0x30], ebx
xor r9d, r9d
mov qword [rsp + 0x28], rbx
mov rcx, rsi
mov qword [rsp + 0x20], rbx
call qword [sym.imp.WININET.dll_HttpOpenRequestA]
mov rdx, qword [rbp - 0x48]
mov r9d, 0xa0000000
mov rcx, rax
mov r8d, 0xffffffff
mov rbx, rax
call qword [sym.imp.WININET.dll_HttpAddRequestHeadersA]
lea eax, [r15 + r13]
mov dword [rbp + 0x48], 0x38
add eax, dword [rsp + 0x40]
lea rdx, [rbp + 0x48]
mov r9d, 8
mov dword [rbp + 0x74], eax
xor r8d, r8d
mov qword [rsp + 0x20], 0
mov rcx, rbx
call qword [sym.imp.WININET.dll_HttpSendRequestExW]
test r15d, r15d
je 0x18008c6f2
nop dword [rax + rax]
lea r9, [rbp - 0x48]
mov r8d, r15d
mov rdx, r12
mov rcx, rbx
call qword [sym.imp.WININET.dll_InternetWriteFile]
test eax, eax
je 0x18008c6f2
mov ecx, dword [rbp - 0x48]
add r12, rcx
sub r15d, ecx
jne 0x18008c6d0
mov eax, dword [rsp + 0x40]
test eax, eax
je 0x18008c77b
nop
sub eax, dword [rsp + 0x44]
lea r9, [rbp - 0x40]
mov r12, qword [rbp - 0x58]
mov r8d, 8
cmp eax, r8d
mov rdx, r12
mov rcx, rdi
cmovb r8d, eax
xor r15d, r15d
mov qword [rsp + 0x20], r15
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x18008ca7c
mov r15d, dword [rbp - 0x40]
test r15d, r15d
je 0x18008c766
nop
lea r9, [rbp - 0x48]
mov r8d, r15d
mov rdx, r12
mov rcx, rbx
call qword [sym.imp.WININET.dll_InternetWriteFile]
test eax, eax
je 0x18008c762
mov ecx, dword [rbp - 0x48]
add r12, rcx
sub r15d, ecx
jne 0x18008c740
mov r15d, dword [rbp - 0x40]
mov eax, dword [rsp + 0x44]
add eax, r15d
cmp eax, dword [rsp + 0x40]
mov dword [rsp + 0x44], eax
mov eax, dword [rsp + 0x40]
jb 0x18008c700
test r13d, r13d
je 0x18008c7b2
mov r15, qword [rbp - 0x50]
nop dword [rax]
nop dword [rax + rax]
lea r9, [rbp - 0x48]
mov r8d, r13d
mov rdx, r15
mov rcx, rbx
call qword [sym.imp.WININET.dll_InternetWriteFile]
test eax, eax
je 0x18008c7b2
mov ecx, dword [rbp - 0x48]
add r15, rcx
sub r13d, ecx
jne 0x18008c790
xor r9d, r9d
xor edx, edx
mov rcx, rbx
lea r8d, [r9 + 8]
call qword [sym.imp.WININET.dll_HttpEndRequestA]
test rbx, rbx
je 0x18008c7d2
mov rcx, rbx
call qword [sym.imp.WININET.dll_InternetCloseHandle]
test rsi, rsi
je 0x18008c7e0
mov rcx, rsi
call qword [sym.imp.WININET.dll_InternetCloseHandle]
test r14, r14
je 0x18008c7ee
mov rcx, r14
call qword [sym.imp.WININET.dll_InternetCloseHandle]
lea rax, [rdi - 1]
cmp rax, 0xfffffffffffffffd
ja 0x18008c801
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rdx, qword [rbp + 0x20]
cmp rdx, 0x10
jb 0x18008c83c
mov rcx, qword [rbp + 8]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008c837
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18008cd0a
call fcn.1800cf9b0
mov rdx, qword [rbp + 0x40]
xor r15d, r15d
mov qword [rbp + 0x18], r15
mov qword [rbp + 0x20], 0xf
mov byte [rbp + 8], r15b
cmp rdx, 0x10
jb 0x18008c88a
mov rcx, qword [rbp + 0x28]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008c885
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18008cd0a
call fcn.1800cf9b0
mov rdx, qword [rbp - 0x20]
mov qword [rbp + 0x38], r15
mov qword [rbp + 0x40], 0xf
mov byte [rbp + 0x28], r15b
cmp rdx, 0x10
jb 0x18008c8d5
mov rcx, qword [rbp - 0x38]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008c8d0
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18008cd0a
call fcn.1800cf9b0
mov rdx, qword [rbp]
mov qword [rbp - 0x28], r15
mov qword [rbp - 0x20], 0xf
mov byte [rbp - 0x38], r15b
cmp rdx, 0x10
jb 0x18008c920
mov rcx, qword [rbp - 0x18]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008c91b
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18008cd0a
call fcn.1800cf9b0
mov r14, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x58]
mov rdx, qword [r14 + 0x18]
cmp rdx, 0x10
jb 0x18008c96e
mov rcx, qword [r14]
inc rdx
cmp rdx, 0x1000
jb 0x18008c969
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x18008cd10
mov rcx, r8
call fcn.1800cf9b0
mov qword [r14 + 0x10], r15
mov qword [r14 + 0x18], 0xf
mov byte [r14], 0
mov rdx, qword [rbx + 0x18]
cmp rdx, 0x10
jb 0x18008c9b8
mov rcx, qword [rbx]
inc rdx
cmp rdx, 0x1000
jb 0x18008c9b3
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x18008cd10
mov rcx, r8
call fcn.1800cf9b0
mov qword [rbx + 0x10], r15
mov qword [rbx + 0x18], 0xf
mov byte [rbx], 0
mov rdx, qword [rsi + 0x18]
cmp rdx, 0x10
jb 0x18008ca01
mov rcx, qword [rsi]
inc rdx
cmp rdx, 0x1000
jb 0x18008c9fc
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x18008cd10
mov rcx, r8
call fcn.1800cf9b0
mov qword [rsi + 0x10], r15
mov qword [rsi + 0x18], 0xf
mov byte [rsi], 0
mov rdx, qword [rdi + 0x18]
cmp rdx, 0x10
jb 0x18008ca4a
mov rcx, qword [rdi]
inc rdx
cmp rdx, 0x1000
jb 0x18008ca45
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x18008cd10
mov rcx, r8
call fcn.1800cf9b0
mov qword [rdi + 0x10], r15
mov qword [rdi + 0x18], 0xf
mov byte [rdi], 0
mov rcx, qword [rbp + 0xa0]
xor rcx, rsp
call fcn.1800cf6f0
add rsp, 0x1b8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
test rbx, rbx
je 0x18008ca8a
mov rcx, rbx
call qword [sym.imp.WININET.dll_InternetCloseHandle]
test rsi, rsi
je 0x18008ca98
mov rcx, rsi
call qword [sym.imp.WININET.dll_InternetCloseHandle]
test r14, r14
je 0x18008caa6
mov rcx, r14
call qword [sym.imp.WININET.dll_InternetCloseHandle]
lea rax, [rdi - 1]
cmp rax, 0xfffffffffffffffd
ja 0x18008cab9
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rdx, qword [rbp + 0x20]
cmp rdx, 0x10
jb 0x18008caf4
mov rcx, qword [rbp + 8]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008caef
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18008cd0a
call fcn.1800cf9b0
mov rdx, qword [rbp + 0x40]
mov qword [rbp + 0x18], r15
mov qword [rbp + 0x20], 0xf
mov byte [rbp + 8], r15b
cmp rdx, 0x10
jb 0x18008cb3f
mov rcx, qword [rbp + 0x28]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008cb3a
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18008cd0a
call fcn.1800cf9b0
mov rdx, qword [rbp - 0x20]
mov qword [rbp + 0x38], r15
mov qword [rbp + 0x40], 0xf
mov byte [rbp + 0x28], r15b
cmp rdx, 0x10
jb 0x18008cb8a
mov rcx, qword [rbp - 0x38]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008cb85
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18008cd0a
call fcn.1800cf9b0
mov rdx, qword [rbp]
mov qword [rbp - 0x28], r15
mov qword [rbp - 0x20], 0xf
mov byte [rbp - 0x38], r15b
cmp rdx, 0x10
jb 0x18008cbd5
mov rcx, qword [rbp - 0x18]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18008cbd0
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18008cd0a
call fcn.1800cf9b0
mov rbx, qword [rsp + 0x50]
mov rdx, qword [rbx + 0x18]
cmp rdx, 0x10
jb 0x18008cc14
mov rcx, qword [rbx]
inc rdx
cmp rdx, 0x1000
jb 0x18008cc0f
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x18008cd0a
mov rcx, r8
call fcn.1800cf9b0
mov qword [rbx + 0x10], r15
mov qword [rbx + 0x18], 0xf
mov byte [rbx], r15b
mov rbx, qword [rsp + 0x48]
mov rdx, qword [rbx + 0x18]
cmp rdx, 0x10
jb 0x18008cc62
mov rcx, qword [rbx]
inc rdx
cmp rdx, 0x1000
jb 0x18008cc5d
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x18008cd0a
mov rcx, r8
call fcn.1800cf9b0
mov qword [rbx + 0x10], r15
mov qword [rbx + 0x18], 0xf
mov byte [rbx], r15b
mov rbx, qword [rsp + 0x60]
mov rdx, qword [rbx + 0x18]
cmp rdx, 0x10
jb 0x18008ccac
mov rcx, qword [rbx]
inc rdx
cmp rdx, 0x1000
jb 0x18008cca7
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x18008cd0a
mov rcx, r8
call fcn.1800cf9b0
mov qword [rbx + 0x10], r15
mov qword [rbx + 0x18], 0xf
mov byte [rbx], r15b
mov rbx, qword [rsp + 0x58]
mov rdx, qword [rbx + 0x18]
cmp rdx, 0x10
jb 0x18008ccf6
mov rcx, qword [rbx]
inc rdx
cmp rdx, 0x1000
jb 0x18008ccf1
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x18008cd0a
mov rcx, r8
call fcn.1800cf9b0
mov qword [rbx + 0x10], r15
mov qword [rbx + 0x18], 0xf
mov byte [rbx], r15b
jmp 0x18008ca59
call fcn.1800dec10
int3
call fcn.1800dec10
int3
call fcn.1800dec10
int3
call fcn.1800dec10
int3
call fcn.1800dec10
int3