Function at 0x140053b90
Capabilities:
Send data

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x328]
sub rsp, 0x428
mov rax, qword [0x140300040]
xor rax, rsp
mov qword [rbp + 0x310], rax
mov r12, r9
mov r15, r8
mov r14, rdx
mov rsi, rcx
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x50], rdx
mov qword [rsp + 0x58], r8
mov qword [rsp + 0x60], r9
mov r13, qword [rbp + 0x390]
mov qword [rsp + 0x68], r13
mov rbx, qword [rbp + 0x398]
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x70], rbx
cmp dword [0x14030c204], 0
je 0x140053ccc
mov rdx, qword [rcx]
sub rdx, 0x18
mov rdi, 0xffffffffffffffff
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140053c32
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140038ca6.0]
nop
mov rdx, qword [r14]
sub rdx, 0x18
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140053c56
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140038ca6.0]
nop
mov rdx, qword [r15]
sub rdx, 0x18
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140053c7a
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140038ca6.0]
nop
mov rdx, qword [r12]
sub rdx, 0x18
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140053c9f
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140038ca6.0]
nop
mov rdx, qword [r13]
sub rdx, 0x18
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140053cc4
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140038ca6.0]
nop
mov rdx, qword [rbx]
jmp 0x1400543c6
xor edx, edx
mov r8d, 0xf8
lea rcx, [rbp + 0x210]
call fcn.14022eb00
lea rcx, [rbp + 0x210]
call fcn.14005e8f0
nop
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x80], xmm0
movups xmmword [rbp - 0x70], xmm0
movups xmmword [rbp - 0x60], xmm0
mov qword [rbp - 0x50], rax
lea rax, vtable.XWriteStream.0
mov qword [rbp - 0x80], rax
lea rax, vtable.XMemoryWriteStream.0
mov qword [rbp - 0x80], rax
xor edi, edi
mov qword [rbp - 0x78], rdi
mov qword [rbp - 0x70], rdi
mov qword [rbp - 0x68], rdi
mov qword [rbp - 0x60], rdi
mov dword [rbp - 0x58], edi
mov qword [rbp - 0x50], 0x6400000
mov rdx, qword [r14]
lea rcx, [rbp + 0x210]
call fcn.14005eb10
test eax, eax
jne 0x140053ea8
lea rax, vtable.XMemoryWriteStream.0
mov qword [rbp - 0x80], rax
mov qword [rbp - 0x78], rdi
mov qword [rbp - 0x70], rdi
mov qword [rbp - 0x68], rdi
mov qword [rbp - 0x60], rdi
mov dword [rbp - 0x58], edi
lea rax, vtable.XWriteStream.0
mov qword [rbp - 0x80], rax
lea rcx, [rbp + 0x210]
call fcn.14005ea20
nop
lea rax, [rbp + 0x2f0]
mov qword [rsp + 0x40], rax
mov rdx, qword [rbp + 0x2f0]
add rdx, 0xffffffffffffffe8
mov rdi, 0xffffffffffffffff
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140053dbd
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140038ca6.0]
nop
lea rcx, [rbp + 0x2a0]
call fcn.14005d8a0
nop
mov rdx, qword [rsi]
sub rdx, 0x18
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140053dee
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140038ca6.0]
nop
mov rdx, qword [r14]
sub rdx, 0x18
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140053e12
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140038ca6.0]
nop
mov rdx, qword [r15]
sub rdx, 0x18
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140053e36
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140038ca6.0]
nop
mov rdx, qword [r12]
sub rdx, 0x18
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140053e5b
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140038ca6.0]
nop
mov rdx, qword [r13]
sub rdx, 0x18
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140053e80
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140038ca6.0]
nop
mov rdx, qword [rbx]
sub rdx, 0x18
lock xadd dword [rdx + 0x10], edi
sub edi, 1
jg 0x140053ea1
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140038ca6.0]
xor eax, eax
jmp 0x1400543e9
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x180], xmm0
movups xmmword [rbp + 0x190], xmm0
movups xmmword [rbp + 0x1a0], xmm0
movups xmmword [rbp + 0x1b0], xmm0
movups xmmword [rbp + 0x1c0], xmm0
movups xmmword [rbp + 0x1d0], xmm0
movups xmmword [rbp + 0x1e0], xmm0
movups xmmword [rbp + 0x1f0], xmm0
mov qword [rbp + 0x200], rax
lea rax, [rbp + 0x188]
mov qword [rbp + 0x180], rax
mov r8d, 3
mov rdx, qword [r12]
lea rcx, [rbp + 0x180]
call fcn.14002e1f0
nop
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0xf0], xmm0
movups xmmword [rbp + 0x100], xmm0
movups xmmword [rbp + 0x110], xmm0
movups xmmword [rbp + 0x120], xmm0
movups xmmword [rbp + 0x130], xmm0
movups xmmword [rbp + 0x140], xmm0
movups xmmword [rbp + 0x150], xmm0
movups xmmword [rbp + 0x160], xmm0
mov qword [rbp + 0x170], rax
lea rax, [rbp + 0xf8]
mov qword [rbp + 0xf0], rax
mov r8d, 3
mov rdx, qword [r13]
lea rcx, [rbp + 0xf0]
call fcn.14002e1f0
nop
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x60], xmm0
movups xmmword [rbp + 0x70], xmm0
movups xmmword [rbp + 0x80], xmm0
movups xmmword [rbp + 0x90], xmm0
movups xmmword [rbp + 0xa0], xmm0
movups xmmword [rbp + 0xb0], xmm0
movups xmmword [rbp + 0xc0], xmm0
movups xmmword [rbp + 0xd0], xmm0
mov qword [rbp + 0xe0], rax
lea rax, [rbp + 0x68]
mov qword [rbp + 0x60], rax
mov r8d, 3
mov rdx, qword [rbx]
lea rcx, [rbp + 0x60]
call fcn.14002e1f0
nop
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x30], xmm0
movups xmmword [rbp - 0x20], xmm0
movups xmmword [rbp - 0x10], xmm0
movups xmmword [rbp], xmm0
movups xmmword [rbp + 0x10], xmm0
movups xmmword [rbp + 0x20], xmm0
movups xmmword [rbp + 0x30], xmm0
movups xmmword [rbp + 0x40], xmm0
mov qword [rbp + 0x50], rax
lea rax, [rbp - 0x28]
mov qword [rbp - 0x30], rax
mov r8d, 3
mov rdx, qword [r15]
lea rcx, [rbp - 0x30]
call fcn.14002e1f0
nop
mov r9, qword [rbp - 0x30]
mov rdi, 0xffffffffffffffff
mov rax, rdi
inc rax
cmp byte [r9 + rax], 0
jne 0x140054025
xor ebx, ebx
mov qword [rsp + 0x28], rbx
mov dword [rsp + 0x20], eax
lea r8, str.name
lea rdx, [rbp - 0x80]
call fcn.14005f190
mov r9, qword [rbp + 0x180]
mov rax, rdi
inc rax
cmp byte [r9 + rax], bl
jne 0x140054054
mov qword [rsp + 0x28], rbx
mov dword [rsp + 0x20], eax
lea r8, str.version
lea rdx, [rbp - 0x80]
call fcn.14005f190
mov r9, qword [rbp + 0xf0]
mov rax, rdi
inc rax
cmp byte [r9 + rax], bl
jne 0x140054080
mov qword [rsp + 0x28], rbx
mov dword [rsp + 0x20], eax
lea r8, str.buildDate
lea rdx, [rbp - 0x80]
call fcn.14005f190
mov r9, qword [rbp + 0x60]
mov rax, rdi
nop dword [rax]
inc rax
cmp byte [r9 + rax], bl
jne 0x1400540b0
mov qword [rsp + 0x28], rbx
mov dword [rsp + 0x20], eax
lea r8, str.param
lea rdx, [rbp - 0x80]
call fcn.14005f190
mov rax, qword [rsi]
mov ebx, dword [rax - 0x10]
cmp dword [rax - 8], 1
jle 0x1400540e8
mov edx, ebx
mov rcx, rsi
call fcn.1400298a0
lea rax, str.data.txt
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], ebx
mov r9, qword [rsi]
lea r8, str.user_file
lea rdx, [rbp - 0x80]
call fcn.14005f190
mov r8d, 2
lea rdx, [0x140299f14]
lea rcx, [rbp - 0x80]
call fcn.14004b470
lea rcx, str.__XHTTP_BOUNDARY_2848588jklJKL
call qword [sym.imp.KERNEL32.dll_lstrlenA]
movsxd r8, eax
lea rdx, str.__XHTTP_BOUNDARY_2848588jklJKL
lea rcx, [rbp - 0x80]
call fcn.14004b470
mov r8d, 2
lea rdx, [0x140299f14]
lea rcx, [rbp - 0x80]
call fcn.14004b470
mov edx, dword [rbp - 0x68]
lea rcx, [rbp + 0x210]
call fcn.14005f580
lea r9, [rbp - 0x40]
mov r8d, dword [rbp - 0x68]
mov rdx, qword [rbp - 0x78]
mov rcx, qword [rbp + 0x228]
call qword [sym.imp.WININET.dll_InternetWriteFile]
xor ebx, ebx
test eax, eax
jne 0x140054196
mov qword [rbp + 0x210], rbx
mov dword [rbp + 0x210], 0xbad70024
xor r9d, r9d
xor edx, edx
lea r8d, [r9 + 8]
mov rcx, qword [rbp + 0x228]
call qword [sym.imp.WININET.dll_HttpEndRequestW]
test eax, eax
jne 0x1400541c5
mov qword [rbp + 0x210], 0
mov dword [rbp + 0x210], 0xbad70025
mov qword [rbp - 0x48], rbx
call fcn.140019590
mov rcx, rax
test rax, rax
je 0x14005440c
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [case.0x140038ca6.0]
add rax, 0x18
mov qword [rbp - 0x48], rax
lea rdx, [rbp - 0x48]
lea rcx, [rbp + 0x210]
call fcn.14005fa80
nop
mov rdx, qword [rbp - 0x48]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140054225
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140038ca6.0]
nop
lea rax, [rbp - 0x28]
mov rcx, qword [rbp - 0x30]
cmp rcx, rax
je 0x140054238
call fcn.140207144
nop
lea rax, [rbp + 0x68]
mov rcx, qword [rbp + 0x60]
cmp rcx, rax
je 0x14005424b
call fcn.140207144
nop
lea rax, [rbp + 0xf8]
mov rcx, qword [rbp + 0xf0]
cmp rcx, rax
je 0x140054264
call fcn.140207144
nop
lea rax, [rbp + 0x188]
mov rcx, qword [rbp + 0x180]
cmp rcx, rax
je 0x14005427d
call fcn.140207144
nop
lea rax, vtable.XMemoryWriteStream.0
mov qword [rbp - 0x80], rax
mov rcx, qword [rbp - 0x78]
test rcx, rcx
je 0x14005429c
cmp dword [rbp - 0x58], 0
je 0x14005429c
call fcn.140207144
mov qword [rbp - 0x78], rbx
mov qword [rbp - 0x70], rbx
mov qword [rbp - 0x68], rbx
mov qword [rbp - 0x60], rbx
mov dword [rbp - 0x58], ebx
lea rax, vtable.XWriteStream.0
mov qword [rbp - 0x80], rax
lea rcx, [rbp + 0x210]
call fcn.14005ea20
nop
lea rax, [rbp + 0x2f0]
mov qword [rsp + 0x78], rax
mov rdx, qword [rbp + 0x2f0]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400542fb
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140038ca6.0]
nop
lea rcx, [rbp + 0x2a0]
call fcn.14005d8a0
nop
mov rdx, qword [rsi]
sub rdx, 0x18
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14005432c
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140038ca6.0]
nop
mov rdx, qword [r14]
sub rdx, 0x18
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140054350
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140038ca6.0]
nop
mov rdx, qword [r15]
sub rdx, 0x18
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140054374
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140038ca6.0]
nop
mov rdx, qword [r12]
sub rdx, 0x18
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140054399
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140038ca6.0]
nop
mov rdx, qword [r13]
sub rdx, 0x18
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400543be
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140038ca6.0]
nop
mov rdx, qword [rsp + 0x40]
mov rdx, qword [rdx]
sub rdx, 0x18
lock xadd dword [rdx + 0x10], edi
sub edi, 1
jg 0x1400543e4
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140038ca6.0]
mov eax, 1
mov rcx, qword [rbp + 0x310]
xor rcx, rsp
call fcn.1401f74b0
add rsp, 0x428
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov ecx, 0x80004005
call fcn.140019300
int3