Function at 0x140004240
Capabilities:
Check http status code
Get file size
Read and send data from client to server
Read data from internet
Read file on windows
Receive data
Send data

Disassembly:
push rbp
push r12
push r13
push r14
push r15
mov eax, 0x3140
call fcn.1401815e0
sub rsp, rax
lea rbp, [rsp + 0x30]
mov qword [rbp + 0xf0], 0xfffffffffffffffe
mov qword [rbp + 0x3148], rbx
mov qword [rbp + 0x3150], rsi
mov qword [rbp + 0x3158], rdi
mov rax, qword [0x1402526c8]
xor rax, rbp
mov qword [rbp + 0x3100], rax
mov r15, rcx
call fcn.14002dca4
mov rcx, rax
xor ebx, ebx
mov edx, ebx
test rax, rax
setne dl
test edx, edx
jne 0x1400042b1
mov ecx, 0x80004005
call fcn.140001900
int3
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0x18], rax
lea rdx, str._______________________________ceb3bc13bbea0941a04b2f8226f5d7ea
test rdx, 0xffffffffffff0000
jne 0x1400042ef
movzx edi, dx
mov ecx, edi
call fcn.1400402fc
test rax, rax
je 0x1400042ff
mov r8d, edi
mov rdx, rax
lea rcx, [rbp + 0x18]
call fcn.1400054e0
jmp 0x1400042ff
mov r8d, 0x3f
lea rcx, [rbp + 0x18]
call fcn.1400016b0
nop
call fcn.14002dca4
mov rdx, rax
mov ecx, ebx
test rax, rax
setne cl
test ecx, ecx
jne 0x14000431e
mov ecx, 0x80004005
call fcn.140001900
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
lea rdi, [rax + 0x18]
mov qword [rbp + 0x10], rdi
mov r14, qword [r15 + 0x58]
mov r13, qword [r15 + 0x90]
or rbx, 0xffffffffffffffff
test r14, r14
je 0x14000470f
test r13, r13
je 0x14000470f
mov rsi, r14
test r14, r14
je 0x140004709
mov r14, qword [r14]
mov rsi, qword [rsi + 0x10]
mov rcx, qword [rsi - 0x18]
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rcx, rax
cmp dword [rsi - 8], 0
jl 0x14000438a
cmp rax, qword [rsi - 0x18]
jne 0x14000438a
lea r12, [rsi - 0x18]
lock inc dword [rsi - 8]
mov rdi, qword [rbp + 0x10]
jmp 0x1400043c5
mov rax, qword [rax]
mov r8d, 2
mov edx, dword [rsi - 0x10]
call qword [rax]
mov r12, rax
test rax, rax
je 0x140004703
mov ecx, dword [rsi - 0x10]
mov dword [rax + 8], ecx
mov ecx, dword [rsi - 0x10]
inc ecx
movsxd rdx, ecx
lea r9, [rdx + rdx]
mov r8, rsi
add rdx, rdx
lea rcx, [rax + 0x18]
call fcn.14017e110
lea rax, [r12 + 0x18]
mov qword [rbp + 0x50], rax
mov rsi, qword [r13 + 0x10]
mov r13, qword [r13]
mov qword [rbp + 0x38], r13
mov rcx, qword [rsi - 0x18]
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rcx, rax
cmp dword [rsi - 8], 0
jl 0x140004401
cmp rax, qword [rsi - 0x18]
jne 0x140004401
lea r12, [rsi - 0x18]
lock inc dword [rsi - 8]
mov rdi, qword [rbp + 0x10]
jmp 0x14000443c
mov rax, qword [rax]
mov r8d, 2
mov edx, dword [rsi - 0x10]
call qword [rax]
mov r12, rax
test rax, rax
je 0x1400046fd
mov ecx, dword [rsi - 0x10]
mov dword [rax + 8], ecx
mov ecx, dword [rsi - 0x10]
inc ecx
movsxd rdx, ecx
lea r9, [rdx + rdx]
mov r8, rsi
add rdx, rdx
lea rcx, [rax + 0x18]
call fcn.14017e110
lea rax, [r12 + 0x18]
mov qword [rbp + 0x40], rax
lea r8, [rbp + 0x18]
lea rdx, [0x140205030]
lea rcx, [rbp + 0x98]
call fcn.1400050b0
nop
lea r8, [0x140204fbc]
mov rdx, rax
lea rcx, [rbp + 0xa0]
call fcn.140005260
nop
lea r8, str.Content_Disposition:_form_data__name_
mov rdx, rax
lea rcx, [rbp + 0x88]
call fcn.140005260
nop
lea r8, [rbp + 0x50]
mov rdx, rax
lea rcx, [rbp + 0xb0]
call fcn.140004f30
nop
lea r8, str.__r_n_r_n
mov rdx, rax
lea rcx, [rbp + 0x78]
call fcn.140005260
nop
lea r8, [rbp + 0x40]
mov rdx, rax
lea rcx, [rbp + 0xa8]
call fcn.140004f30
nop
lea r8, [0x140204fbc]
mov rdx, rax
lea rcx, [rbp + 0x58]
call fcn.140005260
nop
mov r13, qword [rax]
movsxd rcx, dword [r13 - 0x10]
mov rax, r13
sub rax, rdi
sar rax, 1
mov qword [rbp + 0x60], rax
mov esi, dword [rdi - 0x10]
mov dword [rbp + 0x24], esi
xor edx, edx
mov eax, edx
test ecx, ecx
setns al
test eax, eax
je 0x1400046f2
test r13, r13
jne 0x140004510
mov r12d, edx
jmp 0x140004520
mov rdx, rcx
mov rcx, r13
call fcn.14017e6a4
mov r12, rax
xor edx, edx
mov ecx, 0x7fffffff
sub ecx, r12d
cmp ecx, esi
setge dl
test edx, edx
je 0x1400046e7
add esi, r12d
js 0x1400046dc
mov ecx, 1
sub ecx, dword [rdi - 8]
mov eax, dword [rdi - 0xc]
sub eax, esi
or eax, ecx
jge 0x14000455e
mov edx, esi
lea rcx, [rbp + 0x10]
call fcn.140001650
mov rdi, qword [rbp + 0x10]
mov eax, dword [rbp + 0x24]
mov rcx, qword [rbp + 0x60]
cmp rcx, rax
ja 0x14000456e
lea r13, [rdi + rcx*2]
movsxd rdx, r12d
add rdx, rdx
lea rcx, [rdi + rax*2]
mov r9, rdx
mov r8, r13
call fcn.14017e110
cmp esi, dword [rdi - 0xc]
jg 0x1400046d1
mov dword [rdi - 0x10], esi
movsxd rax, esi
xor r13d, r13d
mov word [rdi + rax*2], r13w
mov rdx, qword [rbp + 0x58]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x1400045b9
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0xa8]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x1400045db
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0x78]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x1400045fa
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0xb0]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14000461c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0x88]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14000463e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0xa0]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140004660
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0x98]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140004682
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0x40]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x1400046a1
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0x50]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x1400046bf
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
test r14, r14
je 0x140004712
mov rdi, qword [rbp + 0x10]
mov r13, qword [rbp + 0x38]
jmp 0x140004347
mov ecx, 0x80070057
call fcn.140001900
int3
mov ecx, 0x80070057
call fcn.140001900
int3
mov ecx, 0x80070057
call fcn.140001900
int3
mov ecx, 0x80070057
call fcn.140001900
nop
call fcn.140001830
nop
call fcn.140001830
int3
call fcn.14002eedc
int3
xor r13d, r13d
lea r8, [0x140205030]
lea rdx, [rbp + 0x10]
lea rcx, [rbp + 0x80]
call fcn.140005260
nop
lea r8, [rbp + 0x18]
mov rdx, rax
lea rcx, [rbp + 0x70]
call fcn.140004f30
nop
lea r8, str._r_nContent_Disposition:_form_data__name_LocalFile___filename_minidump.zip__r_nContent_Type:_application_x_zip_compressed_r_n_r_n
mov rdx, rax
lea rcx, [rbp]
call fcn.140005260
nop
mov rdx, qword [rbp + 0x70]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14000476e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0x80]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14000478f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea r8, [rbp + 0x18]
lea rdx, str._r_n__
lea rcx, [rbp + 0x90]
call fcn.1400050b0
nop
lea r8, [0x140205030]
mov rdx, rax
lea rcx, [rbp + 8]
call fcn.140005260
nop
mov rdx, qword [rbp + 0x90]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x1400047dc
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
xor edx, edx
mov rcx, qword [r15 + 0xc8]
call qword [sym.imp.KERNEL32.dll_GetFileSize]
mov r12d, eax
mov rcx, qword [rbp]
mov eax, dword [rcx - 0x10]
mov rcx, qword [rbp + 8]
mov edi, dword [rcx - 0x10]
add edi, eax
add edi, r12d
mov ecx, edi
call fcn.14002b25c
mov r14, rax
test rax, rax
jne 0x140004872
mov rdx, qword [rbp + 8]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14000482f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14000484e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0x10]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14000486d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
jmp 0x140004ed0
mov rsi, qword [rbp]
cmp dword [rsi - 8], 1
jle 0x14000488c
mov edx, dword [rsi - 0x10]
lea rcx, [rbp]
call fcn.140001550
mov rsi, qword [rbp]
test rsi, rsi
jne 0x140004896
mov rax, r13
jmp 0x1400048ef
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
cmp eax, 0x3fffffff
jle 0x1400048ad
mov rax, r13
jmp 0x1400048eb
lea r8d, [rax + rax]
cdqe
add rax, rax
lea rcx, [rax + 0xf]
cmp rcx, rax
ja 0x1400048c9
movabs rcx, 0xffffffffffffff0
and rcx, 0xfffffffffffffff0
mov rax, rcx
call fcn.1401815e0
sub rsp, rcx
lea rcx, [rsp + 0x30]
mov r9d, 3
mov rdx, rsi
call fcn.140005040
mov rsi, qword [rbp]
movsxd r8, dword [rsi - 0x10]
mov rdx, rax
mov rcx, r14
call fcn.14017eea0
mov rdx, qword [rbp]
movsxd rsi, dword [rdx - 0x10]
add rsi, r14
mov qword [rsp + 0x20], r13
lea r9, [rbp + 0x68]
mov r8d, r12d
mov rdx, rsi
mov rcx, qword [r15 + 0xc8]
call qword [sym.imp.KERNEL32.dll_ReadFile]
mov dword [rbp + 0x24], eax
test eax, eax
jne 0x140004997
mov rcx, r14
call fcn.14002b264
nop
mov rdx, qword [rbp + 8]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140004954
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140004973
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0x10]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140004992
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
jmp 0x140004ed0
add r12, rsi
mov rsi, qword [rbp + 8]
cmp dword [rsi - 8], 1
jle 0x1400049b4
mov edx, dword [rsi - 0x10]
lea rcx, [rbp + 8]
call fcn.140001550
mov rsi, qword [rbp + 8]
test rsi, rsi
jne 0x1400049be
mov rax, r13
jmp 0x140004a17
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
cmp eax, 0x3fffffff
jle 0x1400049d5
mov rax, r13
jmp 0x140004a13
lea r8d, [rax + rax]
cdqe
add rax, rax
lea rcx, [rax + 0xf]
cmp rcx, rax
ja 0x1400049f1
movabs rcx, 0xffffffffffffff0
and rcx, 0xfffffffffffffff0
mov rax, rcx
call fcn.1401815e0
sub rsp, rcx
lea rcx, [rsp + 0x30]
mov r9d, 3
mov rdx, rsi
call fcn.140005040
mov rsi, qword [rbp + 8]
movsxd r8, dword [rsi - 0x10]
mov rdx, rax
mov rcx, r12
call fcn.14017eea0
xor r11d, r11d
mov qword [rbp + 0xb8], r11
mov qword [rbp + 0xc0], r11
mov qword [rbp + 0xc8], r11
mov qword [rbp + 0xd0], r11
mov qword [rbp + 0xd8], r11
mov qword [rbp + 0xe0], r11
mov qword [rbp + 0xe8], r11
mov dword [rbp + 0xb8], 0x38
mov dword [rbp + 0xe4], edi
lea rsi, [r15 + 0x38]
nop
mov qword [rsp + 0x20], r13
mov r9d, 8
xor r8d, r8d
lea rdx, [rbp + 0xb8]
mov rcx, qword [r15 + 0x28]
call qword [sym.imp.WININET.dll_HttpSendRequestExW]
mov r12d, eax
mov rdx, rsi
mov rcx, qword [r15 + 0x28]
call fcn.140003ae0
test al, al
jne 0x140004a70
test r12d, r12d
jne 0x140004b12
mov rcx, r14
call fcn.14002b264
nop
mov rdx, qword [rbp + 8]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140004acf
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140004aee
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0x10]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140004b0d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
jmp 0x140004ed0
mov r13, r14
call fcn.14003f3fc
mov rax, qword [rax + 8]
mov qword [rbp + 0x38], rax
test edi, edi
je 0x140004b84
nop word [rax + rax]
mov dword [rbp + 0x28], 0
mov esi, 0x1000
cmp edi, esi
cmovb esi, edi
lea r9, [rbp + 0x28]
mov r8d, esi
mov rdx, r13
mov rcx, qword [r15 + 0x28]
call qword [sym.imp.WININET.dll_InternetWriteFile]
mov r12d, eax
mov rax, qword [rbp + 0x38]
cmp byte [rax + 0x354], 0
jne 0x140004e6a
test r12d, r12d
je 0x140004e6a
mov eax, dword [rbp + 0x28]
cmp eax, esi
jne 0x140004b80
add r13, rax
sub edi, eax
jne 0x140004b30
lea rsi, [r15 + 0x38]
test r12d, r12d
je 0x140004e6a
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, qword [r15 + 0x28]
call qword [sym.imp.WININET.dll_HttpEndRequestW]
test eax, eax
je 0x140004e6a
mov dword [rbp + 0x2c], 4
xor edi, edi
mov qword [rsp + 0x20], rdi
lea r9, [rbp + 0x2c]
mov r8, rsi
mov edx, 0x20000013
mov rcx, qword [r15 + 0x28]
call qword [sym.imp.WININET.dll_HttpQueryInfoW]
test eax, eax
jne 0x140004c3a
mov rcx, r14
call fcn.14002b264
nop
mov rdx, qword [rbp + 8]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140004bf7
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140004c16
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0x10]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140004c35
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
jmp 0x140004ed0
cmp dword [rsi], 0xc8
jne 0x140004de1
mov dword [rbp + 0x30], 0x1000
mov qword [rsp + 0x20], rdi
lea r9, [rbp + 0x30]
lea r8, [rbp + 0x1100]
mov edx, 1
mov rcx, qword [r15 + 0x28]
call qword [sym.imp.WININET.dll_HttpQueryInfoW]
test eax, eax
je 0x140004de1
lea rdx, str.text_html
lea rcx, [rbp + 0x1100]
call fcn.14017e6c4
test rax, rax
jne 0x140004ca8
lea rdx, str.text_xml
lea rcx, [rbp + 0x1100]
call fcn.14017e6c4
test rax, rax
je 0x140004de1
mov dword [rbp + 0x20], edi
movsxd rsi, dword [rbp + 0x24]
nop
lea r9, [rbp + 0x20]
mov r8d, 0x1000
lea rdx, [rbp + 0x100]
mov rcx, qword [r15 + 0x28]
call qword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
je 0x140004dc6
cmp dword [rbp + 0x20], 0
jbe 0x140004dc6
call fcn.14002dca4
mov ecx, edi
test rax, rax
setne cl
test ecx, ecx
je 0x140004dd6
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x18]
add rax, 0x18
mov qword [rbp + 0x48], rax
mov eax, dword [rbp + 0x20]
mov byte [rbp + rax + 0x100], 0
lea rcx, [rbp + 0x100]
call qword [sym.imp.KERNEL32.dll_lstrlenA]
lea r8d, [rax + 1]
cmp r8d, 0x3fffffff
jle 0x140004d2d
mov rdx, rdi
jmp 0x140004d74
movsxd rax, r8d
add rax, rax
lea rcx, [rax + 0xf]
cmp rcx, rax
ja 0x140004d46
movabs rcx, 0xffffffffffffff0
and rcx, 0xfffffffffffffff0
mov rax, rcx
call fcn.1401815e0
sub rsp, rcx
lea rcx, [rsp + 0x30]
mov r9d, 3
lea rdx, [rbp + 0x100]
call fcn.140004fe0
mov rdx, rax
test rax, rax
jne 0x140004d78
mov ecx, edi
jmp 0x140004d89
xor eax, eax
mov rcx, rbx
mov rdi, rdx
repne scasw ax, word [rdi]
not rcx
dec rcx
mov r8d, ecx
lea rcx, [rbp + 0x48]
call fcn.1400016b0
lea rcx, [r15 + 0x30]
mov rdi, qword [rbp + 0x48]
mov r8d, dword [rdi - 0x10]
mov rdx, rdi
call fcn.140005330
nop
lea rdx, [rdi - 0x18]
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140004dc4
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
xor edi, edi
test rsi, rsi
je 0x140004de1
cmp dword [rbp + 0x20], 0
je 0x140004de1
jmp 0x140004cb0
mov ecx, 0x80004005
call fcn.140001900
int3
mov rcx, r14
call fcn.14002b264
nop
mov rdx, qword [rbp + 8]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140004e09
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140004e28
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0x10]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140004e47
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rax, qword [rbp + 0x18]
lea rdx, [rax - 0x18]
lock xadd dword [rdx + 0x10], ebx
dec ebx
test ebx, ebx
jg 0x140004e63
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov al, 1
jmp 0x140004eee
mov rcx, r14
call fcn.14002b264
nop
mov rdx, qword [rbp + 8]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140004e92
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140004eb1
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0x10]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140004ed0
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rax, qword [rbp + 0x18]
lea rdx, [rax - 0x18]
lock xadd dword [rdx + 0x10], ebx
dec ebx
test ebx, ebx
jg 0x140004eec
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
xor al, al
mov rcx, qword [rbp + 0x3100]
xor rcx, rbp
call fcn.14017e0f0
mov rbx, qword [rbp + 0x3148]
mov rsi, qword [rbp + 0x3150]
mov rdi, qword [rbp + 0x3158]
lea rsp, [rbp + 0x3110]
pop r15
pop r14
pop r13
pop r12
pop rbp
ret