Function at 0x140004790
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xf8
mov qword [rsp + 0x68], rcx
xor eax, eax
cmp rax, qword [rdx + 0x48]
jno 0x1400056a7
mov rdi, rdx
mov rbx, qword [rdx + 8]
mov rax, qword [rdx + 0x68]
imul rcx, qword [rdx + 0x10], 0xf0
add rcx, rbx
mov qword [rsp + 0x98], rcx
lea rcx, [0x140029165]
shr rcx, 0x10
mov qword [rsp + 0x90], rcx
mov bp, 0xa
mov r11d, 0x2d
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rdx
jmp 0x140004844
test r9d, 0x4000
mov r8d, 0x14
mov r9d, 0xa
cmove r8d, r9d
test dl, dl
cmovne r8d, r9d
add rbx, 0xf0
test cl, 1
mov ecx, 0xa
cmovne ecx, r11d
cmp cx, ax
cmovbe ecx, eax
cmp cx, r8w
cmovbe ecx, r8d
cmp bp, cx
cmovbe ebp, ecx
cmp rbx, qword [rsp + 0x98]
je 0x140005223
mov dword [rsp + 0x40], ebp
mov rax, qword [rbx + 0x80]
test rax, rax
je 0x140004950
mov r15, qword [rax + 0x20]
cmp r15, 0xffff
ja 0x1400056a7
mov rax, qword [rbx + 0x88]
test rax, rax
je 0x140004963
mov rax, qword [rax + 0x20]
cmp rax, 0xffff
ja 0x1400056a7
cmp word [rbx + 0xc4], 0
mov qword [rsp + 0x70], rax
je 0x140004978
mov r12, qword [rbx + 0xc6]
mov esi, r12d
shr esi, 0x10
mov rbp, r12
shr rbp, 0x18
mov r13, r12
shr r13, 0x20
mov rax, r12
shr rax, 0x28
mov qword [rsp + 0x88], rax
mov qword [rsp + 0x80], r12
shr r12, 0x30
movzx eax, word [rbx + 0x38]
mov r8w, 0x33
test ax, ax
jne 0x140004904
cmp byte [rbx + 0xce], 0
mov r8d, 0xa
mov ecx, 0x14
cmovne r8d, ecx
movzx edi, byte [rbx + 0xd2]
movzx ecx, byte [rbx + 0xd1]
mov r9w, 0x2d
test cl, cl
jne 0x1400049f1
mov r9d, dword [rbx + 0xc0]
mov dl, 1
test r9d, r9d
je 0x1400049b5
test edi, edi
je 0x1400049b7
cmp edi, 3
jne 0x1400049d4
shr r9d, 0x10
xor edx, edx
mov r10d, r9d
jmp 0x1400049d4
xor r15d, r15d
mov rax, qword [rbx + 0x88]
test rax, rax
jne 0x140004887
xor eax, eax
cmp word [rbx + 0xc4], 0
mov qword [rsp + 0x70], rax
jne 0x1400048aa
mov ax, 0x7bc
mov qword [rsp + 0x80], rax
mov bp, 1
xor r12d, r12d
mov qword [rsp + 0x88], 0
xor r13d, r13d
mov si, 1
movzx eax, word [rbx + 0x38]
mov r8w, 0x33
test ax, ax
jne 0x140004904
jmp 0x1400048ee
jmp 0x1400049d4
test r9b, 0x10
mov r10d, 0x41fd
mov edx, 0x81b4
cmove r10d, edx
xor edx, edx
test r9b, 1
cmovne r10d, edx
test r10d, 0x4000
mov r9d, 0x14
mov r10d, 0xa
cmove r9d, r10d
test dl, dl
cmovne r9d, r10d
movzx r10d, byte [rbx + 0xd3]
cmp word [rbx + 0xb8], 0
mov edx, 0xa
cmovne edx, r11d
cmp dx, r8w
mov r11d, edx
cmovbe r11d, r8d
cmp r11w, r9w
cmovbe r11d, r9d
cmp r11w, r10w
cmovbe r11d, r10d
mov dword [rsp + 0x7c], r11d
mov r9w, 0x33
test ax, ax
je 0x140004a40
mov r8w, 0x2d
test cl, cl
je 0x140004a5f
jmp 0x140004ab7
cmp byte [rbx + 0xce], 0
mov r9d, 0xa
mov eax, 0x14
cmovne r9d, eax
mov r8w, 0x2d
test cl, cl
jne 0x140004ab7
mov ecx, dword [rbx + 0xc0]
mov al, 1
test ecx, ecx
je 0x140004a7e
test edi, edi
je 0x140004a80
cmp edi, 3
jne 0x140004a9b
shr ecx, 0x10
xor eax, eax
mov r8d, ecx
jmp 0x140004a9b
jmp 0x140004a9b
test cl, 0x10
mov r8d, 0x41fd
mov eax, 0x81b4
cmove r8d, eax
xor eax, eax
test cl, 1
cmovne r8d, eax
test r8d, 0x4000
mov r8d, 0x14
mov ecx, 0xa
cmove r8d, ecx
test al, al
cmovne r8d, ecx
cmp dx, r9w
cmova r9d, edx
cmp r9w, r8w
cmovbe r9d, r8d
mov dword [rsp + 0x3c], r9d
mov rdx, qword [rbx + 0x50]
mov r8, qword [rbx + 0x58]
lea rcx, [rsp + 0xb8]
call fcn.14000dfe0
test byte [rsp + 0xb8], 1
je 0x140004b10
xor eax, eax
movzx r10d, byte [rbx + 0xce]
cmp byte [rbx + 0xb8], 1
jne 0x140004bc0
movzx r14d, word [rbx + 0xba]
jmp 0x140004bc3
mov rcx, qword [rbx + 0x50]
mov rdx, qword [rbx + 0x58]
cmp rdx, 8
jae 0x140004d50
test rdx, rdx
je 0x140004aeb
mov ax, 0x800
cmp byte [rcx + rdx - 1], 0
js 0x140004aed
mov r8, rdx
dec r8
je 0x140004aeb
cmp byte [rcx + rdx - 2], 0
js 0x140004aed
mov r8, rdx
add r8, 0xfffffffffffffffe
je 0x140004aeb
cmp byte [rcx + rdx - 3], 0
js 0x140004aed
mov r8, rdx
add r8, 0xfffffffffffffffd
je 0x140004aeb
cmp byte [rcx + rdx - 4], 0
js 0x140004aed
mov r8, rdx
add r8, 0xfffffffffffffffc
je 0x140004aeb
cmp byte [rcx + rdx - 5], 0
js 0x140004aed
mov r8, rdx
add r8, 0xfffffffffffffffb
je 0x140004aeb
cmp byte [rcx + rdx - 6], 0
js 0x140004aed
mov r8, rdx
add r8, 0xfffffffffffffffa
je 0x140004aeb
lea r8, [rdx - 7]
cmp byte [rcx + rdx - 7], 0
setns cl
test r8, r8
sete dl
test cl, dl
jne 0x140004aeb
jmp 0x140004aed
xor r14d, r14d
mov rcx, qword [rbx + 0x58]
mov r8, qword [rbx + 0x70]
mov r11d, 0xffffffff
cmp r8, r11
cmovae r8, r11
mov r9, qword [rbx + 0x78]
cmp r9, r11
cmovae r9, r11
cmp rcx, 0xffff
ja 0x1400056a7
add r15w, word [rsp + 0x70]
jb 0x140005255
mov rdx, r12
mov r12, qword [rbx + 0x68]
mov qword [rsp + 0x70], r12
cmp r12, 0x10000
jae 0x1400056a7
mov r11, r13
mov r13, r15
mov r15d, edi
movzx eax, ax
or eax, r10d
shr edx, 1
and edx, 0x7f
movzx r10d, byte [rsp + 0x88]
shl r10d, 5
or r10d, edx
mov rdi, r11
shl edi, 0xb
or edi, r10d
movzx r10d, bpl
movzx r11d, sil
shl r11d, 5
or r11d, r10d
mov rdx, qword [rsp + 0x80]
shl edx, 9
add edx, 0xffff8800
or edx, r11d
mov r10d, dword [rbx + 0xbc]
mov r12, qword [rbx + 0x90]
mov esi, dword [rbx + 0xc0]
mov r11d, dword [rsp + 0x3c]
mov word [rsp + 0x46], r11w
mov word [rsp + 0x48], ax
mov word [rsp + 0x4a], r14w
mov word [rsp + 0x4c], di
mov eax, 0xffffffff
cmp r12, rax
cmovae r12, rax
mov word [rsp + 0x4e], dx
mov dword [rsp + 0x50], r10d
mov dword [rsp + 0x54], r8d
mov dword [rsp + 0x58], r9d
mov word [rsp + 0x5c], cx
mov word [rsp + 0x5e], r13w
mov r10, qword [rsp + 0x47]
lea rax, [rsp + 0x4f]
movups xmm0, xmmword [rax]
mov r9, qword [rsp + 0x30]
mov r14, r9
add r14, 0x2e
mov r8, r14
mov rax, 0xffffffffffffffff
cmovb r8, rax
movaps xmmword [rsp + 0xa0], xmm0
mov rcx, qword [rsp + 0x28]
mov rax, qword [rcx + 0x50]
mov rdx, qword [rcx + 0x60]
cmp r8, rax
jbe 0x140004d0f
sub r8, rdx
sub rax, rdx
cmp r8, rax
ja 0x140004dc6
mov r8, r9
sub r8, rdx
jbe 0x140004e00
mov rdi, qword [rsp + 0x28]
add rdx, qword [rdi + 0x58]
mov rcx, rdx
xor edx, edx
mov rbp, r10
call sub.VCRUNTIME140.dll_memset
mov r10, rbp
mov r11d, dword [rsp + 0x3c]
mov r9, qword [rsp + 0x30]
mov qword [rdi + 0x60], r9
mov rdx, r9
jmp 0x140004e05
mov ax, 0x800
movabs r8, 0x8080808080808080
test qword [rcx], r8
jne 0x140004aed
lea r8, [rcx + 7]
and r8, 0xfffffffffffffff8
sub r8, rcx
mov r9d, 8
cmove r8, r9
add rdx, 0xfffffffffffffff8
cmp r8, rdx
jae 0x140004dad
nop word cs:[rax + rax]
movabs r9, 0x8080808080808080
test qword [rcx + r8], r9
jne 0x140004aed
add r8, 8
cmp r8, rdx
jb 0x140004d90
movabs r8, 0x8080808080808080
test qword [rcx + rdx], r8
jne 0x140004aed
jmp 0x140004aeb
mov rdi, qword [rsp + 0x28]
lea rcx, [rdi + 0x50]
mov rbp, r10
call fcn.1400226c0
mov r10, rbp
mov r11d, dword [rsp + 0x3c]
mov r9, qword [rsp + 0x30]
mov rdx, qword [rdi + 0x60]
mov r8, r9
sub r8, rdx
ja 0x140004d1b
nop word cs:[rax + rax]
mov rdi, qword [rsp + 0x28]
shl r15d, 8
movzx eax, r15w
mov ecx, dword [rsp + 0x7c]
or ecx, eax
shr r13d, 8
mov rax, qword [rdi + 0x58]
mov dword [rax + r9], 0x2014b50
mov word [rax + r9 + 4], cx
mov byte [rax + r9 + 6], r11b
mov qword [rax + r9 + 7], r10
movaps xmm0, xmmword [rsp + 0xa0]
movups xmmword [rax + r9 + 0xf], xmm0
mov byte [rax + r9 + 0x1f], r13b
mov rcx, qword [rsp + 0x70]
mov word [rax + r9 + 0x20], cx
mov dword [rax + r9 + 0x22], 0
mov dword [rax + r9 + 0x26], esi
mov dword [rax + r9 + 0x2a], r12d
cmp r14, rdx
jbe 0x140004e6d
mov qword [rdi + 0x60], r14
mov qword [rdi + 0x68], r14
mov r12, qword [rbx + 0x58]
test r12, r12
je 0x140004f00
mov r15, r14
add r15, r12
mov r8, r15
mov rax, 0xffffffffffffffff
cmovb r8, rax
mov r13, qword [rbx + 0x50]
mov rax, qword [rdi + 0x50]
mov rbp, qword [rdi + 0x60]
cmp r8, rax
jbe 0x140004eb2
sub r8, rbp
sub rax, rbp
cmp r8, rax
ja 0x14000519f
mov r8, r14
sub r8, rbp
jbe 0x140004ecf
add rbp, qword [rdi + 0x58]
mov rcx, rbp
xor edx, edx
call sub.VCRUNTIME140.dll_memset
mov qword [rdi + 0x60], r14
mov rbp, r14
add r14, qword [rdi + 0x58]
mov rcx, r14
mov rdx, r13
mov r8, r12
call sub.VCRUNTIME140.dll_memcpy
cmp r15, rbp
jbe 0x140004eea
mov qword [rdi + 0x60], r15
mov qword [rdi + 0x68], r15
mov rax, qword [rbx + 0x80]
test rax, rax
jne 0x140004f13
jmp 0x140004fb0
mov r15, r14
mov rax, qword [rbx + 0x80]
test rax, rax
je 0x140004fb0
mov r12, qword [rax + 0x20]
test r12, r12
je 0x140004fb0
mov r14, r15
add r14, r12
mov r8, r14
mov rcx, 0xffffffffffffffff
cmovb r8, rcx
mov r13, qword [rax + 0x18]
mov rax, qword [rdi + 0x50]
mov rbp, qword [rdi + 0x60]
cmp r8, rax
jbe 0x140004f54
sub r8, rbp
sub rax, rbp
cmp r8, rax
ja 0x1400051e1
mov r8, r15
sub r8, rbp
jbe 0x140004f71
add rbp, qword [rdi + 0x58]
mov rcx, rbp
xor edx, edx
call sub.VCRUNTIME140.dll_memset
mov qword [rdi + 0x60], r15
mov rbp, r15
add r15, qword [rdi + 0x58]
mov rcx, r15
mov rdx, r13
mov r8, r12
call sub.VCRUNTIME140.dll_memcpy
cmp r14, rbp
jbe 0x140004f8c
mov qword [rdi + 0x60], r14
mov qword [rdi + 0x68], r14
mov rax, qword [rbx + 0x88]
test rax, rax
jne 0x140004fc3
jmp 0x140005060
mov r14, r15
mov rax, qword [rbx + 0x88]
test rax, rax
je 0x140005060
mov r12, qword [rax + 0x20]
test r12, r12
je 0x140005060
mov r15, r14
add r15, r12
mov r8, r15
mov rcx, 0xffffffffffffffff
cmovb r8, rcx
mov r13, qword [rax + 0x18]
mov rax, qword [rdi + 0x50]
mov rbp, qword [rdi + 0x60]
cmp r8, rax
jbe 0x140005004
sub r8, rbp
sub rax, rbp
cmp r8, rax
ja 0x140005202
mov r8, r14
sub r8, rbp
jbe 0x140005021
add rbp, qword [rdi + 0x58]
mov rcx, rbp
xor edx, edx
call sub.VCRUNTIME140.dll_memset
mov qword [rdi + 0x60], r14
mov rbp, r14
add r14, qword [rdi + 0x58]
mov rcx, r14
mov rdx, r13
mov r8, r12
call sub.VCRUNTIME140.dll_memcpy
cmp r15, rbp
jbe 0x14000503c
mov qword [rdi + 0x60], r15
mov qword [rdi + 0x68], r15
mov r14, qword [rbx + 0x68]
test r14, r14
jne 0x14000506c
mov qword [rsp + 0x30], r15
jmp 0x1400050e3
mov r15, r14
mov r14, qword [rbx + 0x68]
test r14, r14
je 0x140005049
mov r8, r15
add r8, r14
mov qword [rsp + 0x30], r8
mov rax, 0xffffffffffffffff
cmovb r8, rax
mov r12, qword [rbx + 0x60]
mov rax, qword [rdi + 0x50]
mov r13, qword [rdi + 0x60]
cmp r8, rax
jbe 0x1400050a2
sub r8, r13
sub rax, r13
cmp r8, rax
ja 0x1400051c0
mov r8, r15
sub r8, r13
jbe 0x1400050bf
add r13, qword [rdi + 0x58]
mov rcx, r13
xor edx, edx
call sub.VCRUNTIME140.dll_memset
mov qword [rdi + 0x60], r15
mov r13, r15
add r15, qword [rdi + 0x58]
mov rcx, r15
mov rdx, r12
mov r8, r14
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [rsp + 0x30]
cmp rax, r13
jbe 0x1400050df
mov qword [rdi + 0x60], rax
mov qword [rdi + 0x68], rax
mov ebp, dword [rsp + 0x40]
mov r11d, 0x2d
movzx ecx, word [rbx + 0xb8]
mov ax, 0x33
cmp word [rbx + 0x38], 0
je 0x140005120
mov r8w, 0x2d
cmp byte [rbx + 0xd1], 0
jne 0x14000481d
jmp 0x140005146
cmp byte [rbx + 0xce], 0
mov eax, 0xa
mov edx, 0x14
cmovne eax, edx
mov r8w, 0x2d
cmp byte [rbx + 0xd1], 0
jne 0x14000481d
mov r8d, dword [rbx + 0xc0]
mov dl, 1
test r8d, r8d
je 0x140004800
movzx r10d, byte [rbx + 0xd2]
test r10d, r10d
je 0x14000517d
cmp r10d, 3
jne 0x140004800
shr r8d, 0x10
xor edx, edx
mov r9d, r8d
jmp 0x140004800
test r8b, 0x10
mov r9d, 0x41fd
mov edx, 0x81b4
cmove r9d, edx
xor edx, edx
test r8b, 1
cmovne r9d, edx
jmp 0x140004800
lea rcx, [rdi + 0x50]
mov rdx, rbp
call fcn.1400226c0
mov rbp, qword [rdi + 0x60]
mov r8, r14
sub r8, rbp
ja 0x140004eba
jmp 0x140004ecf
lea rcx, [rdi + 0x50]
mov rdx, r13
call fcn.1400226c0
mov r13, qword [rdi + 0x60]
mov r8, r15
sub r8, r13
ja 0x1400050aa
jmp 0x1400050bf
lea rcx, [rdi + 0x50]
mov rdx, rbp
call fcn.1400226c0
mov rbp, qword [rdi + 0x60]
mov r8, r15
sub r8, rbp
ja 0x140004f5c
jmp 0x140004f71
lea rcx, [rdi + 0x50]
mov rdx, rbp
call fcn.1400226c0
mov rbp, qword [rdi + 0x60]
mov r8, r14
sub r8, rbp
ja 0x14000500c
jmp 0x140005021
mov r9, qword [rsp + 0x30]
mov rsi, r9
mov rax, qword [rsp + 0x60]
sub rsi, rax
mov rbx, qword [rdi + 0x30]
cmp rsi, rax
cmova rax, rsi
cmp rbx, 0xffff
ja 0x1400052a6
shr rax, 0x20
jne 0x1400052a6
mov rax, rdi
jmp 0x14000541f
mov qword [rsp + 0x47], 1
lea rax, [0x140029165]
mov word [rsp + 0x4f], ax
mov rax, qword [rsp + 0x90]
mov dword [rsp + 0x51], eax
shr rax, 0x20
mov word [rsp + 0x55], ax
mov qword [rsp + 0x57], 0x35
lea rax, [rsp + 0x4f]
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0xd0], xmm0
mov rcx, qword [rsp + 0x68]
movups xmmword [rcx + 8], xmm0
jmp 0x1400054d0
mov rcx, rdi
mov rdi, r9
add rdi, 0x38
mov r8, 0xffffffffffffffff
cmovae r8, rdi
mov rax, qword [rcx + 0x50]
mov rdx, qword [rcx + 0x60]
cmp r8, rax
jbe 0x1400052d3
sub r8, rdx
sub rax, rdx
cmp r8, rax
ja 0x1400052fc
mov r8, r9
sub r8, rdx
jbe 0x14000531b
mov r14, qword [rsp + 0x28]
add rdx, qword [r14 + 0x58]
mov rcx, rdx
xor edx, edx
call sub.VCRUNTIME140.dll_memset
mov r9, qword [rsp + 0x30]
mov qword [r14 + 0x60], r9
mov rdx, r9
jmp 0x140005320
mov r14, qword [rsp + 0x28]
lea rcx, [r14 + 0x50]
call fcn.1400226c0
mov r9, qword [rsp + 0x30]
mov rdx, qword [r14 + 0x60]
mov r8, r9
sub r8, rdx
ja 0x1400052db
mov r14, qword [rsp + 0x28]
mov rax, qword [r14 + 0x58]
mov dword [rax + r9], 0x6064b50
mov qword [rax + r9 + 4], 0x2c
mov word [rax + r9 + 0xc], bp
mov word [rax + r9 + 0xe], bp
mov qword [rax + r9 + 0x10], 0
mov qword [rax + r9 + 0x18], rbx
mov qword [rax + r9 + 0x20], rbx
mov qword [rax + r9 + 0x28], rsi
mov rcx, qword [rsp + 0x60]
mov qword [rax + r9 + 0x30], rcx
cmp rdi, rdx
jbe 0x140005371
mov qword [r14 + 0x60], rdi
mov rdx, rdi
jmp 0x140005375
mov rdx, qword [r14 + 0x60]
mov qword [r14 + 0x68], rdi
mov rax, rdi
add rax, 0x14
mov r8, 0xffffffffffffffff
cmovae r8, rax
mov rax, qword [r14 + 0x50]
cmp r8, rax
jbe 0x14000539f
sub r8, rdx
sub rax, rdx
cmp r8, rax
ja 0x1400053c5
mov r8, rdi
sub r8, rdx
jbe 0x1400053e4
mov rbx, qword [rsp + 0x28]
add rdx, qword [rbx + 0x58]
mov rcx, rdx
xor edx, edx
call sub.VCRUNTIME140.dll_memset
mov r9, qword [rsp + 0x30]
mov qword [rbx + 0x60], rdi
jmp 0x1400053ec
mov rbx, qword [rsp + 0x28]
lea rcx, [rbx + 0x50]
call fcn.1400226c0
mov r9, qword [rsp + 0x30]
mov rdx, qword [rbx + 0x60]
mov r8, rdi
sub r8, rdx
ja 0x1400053a7
mov rdi, rdx
mov rbx, qword [rsp + 0x28]
mov rax, qword [rbx + 0x58]
mov qword [rax + r9 + 0x38], 0x7064b50
mov qword [rax + r9 + 0x40], r9
mov dword [rax + r9 + 0x48], 1
add r9, 0x4c
cmp r9, rdi
mov rax, rbx
jbe 0x140005417
mov qword [rax + 0x60], r9
mov qword [rax + 0x68], r9
mov rbx, qword [rax + 0x30]
cmp rbx, 0xffff
mov edi, 0xffff
cmovb rdi, rbx
mov r14, qword [rax + 0xb8]
test r14, r14
js 0x1400056a7
mov rax, qword [rsp + 0x28]
mov r15, qword [rax + 0xb0]
je 0x1400054da
movzx eax, byte [0x14002d118]
xor ecx, ecx
mov rdx, r14
call fcn.140016930
test rax, rax
je 0x1400056a7
mov rbx, rax
mov rcx, rax
mov rdx, r15
mov r8, r14
call sub.VCRUNTIME140.dll_memcpy
cmp r14, 0xffff
jbe 0x1400054ef
mov rcx, qword [0x14002d0f0]
xor edx, edx
mov r8, rbx
call qword [sym.imp.KERNEL32.dll_HeapFree]
lea rax, [0x14002984d]
mov rcx, rax
shr rcx, 0x10
and rcx, 0xffffffffffff0000
mov edx, eax
shr edx, 0x10
or rdx, rcx
mov rcx, qword [rsp + 0x68]
mov word [rcx + 8], ax
shr rax, 0x30
mov word [rcx + 0xe], ax
mov dword [rcx + 0xa], edx
mov qword [rcx + 0x10], 0x25
mov eax, 1
jmp 0x140005690
mov ebx, 1
mov ecx, 1
mov rdx, r15
mov r8, r14
call sub.VCRUNTIME140.dll_memcpy
mov r13d, 0xffffffff
mov rax, qword [rsp + 0x60]
cmp rax, r13
mov r12d, 0xffffffff
cmovb r12, rax
cmp rsi, r13
cmovb r13, rsi
mov rbp, r14
shl rbp, 0x20
shl r13, 0x10
mov rcx, qword [rsp + 0x28]
mov rsi, qword [rcx + 0x68]
mov r15, rsi
add r15, 0x16
mov r8, 0xffffffffffffffff
cmovae r8, r15
mov rax, qword [rcx + 0x50]
mov rdx, qword [rcx + 0x60]
cmp r8, rax
mov qword [rsp + 0x30], rbx
jbe 0x140005555
sub r8, rdx
sub rax, rdx
cmp r8, rax
ja 0x140005616
or r12, rbp
or r13, rdi
mov r8, rsi
mov rbx, qword [rsp + 0x28]
mov rbp, qword [rbx + 0x58]
sub r8, rdx
jbe 0x140005580
add rdx, rbp
mov rcx, rdx
xor edx, edx
call sub.VCRUNTIME140.dll_memset
mov qword [rbx + 0x60], rsi
mov rdx, rsi
mov qword [rbp + rsi], 0x6054b50
mov word [rbp + rsi + 8], di
mov dword [rbp + rsi + 0xa], r13d
shr r13, 0x20
mov word [rbp + rsi + 0xe], r13w
mov dword [rbp + rsi + 0x10], r12d
shr r12, 0x20
mov word [rbp + rsi + 0x14], r12w
cmp r15, rdx
mov rdi, qword [rsp + 0x28]
mov rbx, qword [rsp + 0x30]
jbe 0x1400055c2
mov qword [rdi + 0x60], r15
mov rdx, r15
mov qword [rdi + 0x68], r15
test r14, r14
je 0x14000567d
mov rsi, r15
add rsi, r14
mov r8, 0xffffffffffffffff
cmovae r8, rsi
mov rax, qword [rdi + 0x50]
cmp r8, rax
jbe 0x1400055f4
sub r8, rdx
sub rax, rdx
cmp r8, rax
ja 0x14000562d
mov r8, r15
sub r8, rdx
jbe 0x140005642
add rdx, qword [rdi + 0x58]
mov rcx, rdx
xor edx, edx
call sub.VCRUNTIME140.dll_memset
mov qword [rdi + 0x60], r15
mov r12, rdi
mov rdi, r15
jmp 0x140005649
mov rbx, qword [rsp + 0x28]
lea rcx, [rbx + 0x50]
call fcn.1400226c0
mov rdx, qword [rbx + 0x60]
jmp 0x140005555
lea rcx, [rdi + 0x50]
call fcn.1400226c0
mov rdx, qword [rdi + 0x60]
mov r8, r15
sub r8, rdx
ja 0x1400055fc
mov r12, rdi
mov rdi, qword [rdi + 0x60]
add r15, qword [r12 + 0x58]
mov rcx, r15
mov rdx, rbx
mov r8, r14
call sub.VCRUNTIME140.dll_memcpy
cmp rsi, rdi
jbe 0x140005666
mov qword [r12 + 0x60], rsi
mov qword [r12 + 0x68], rsi
mov rcx, qword [0x14002d0f0]
xor edx, edx
mov r8, rbx
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rcx, qword [rsp + 0x68]
mov rax, qword [rsp + 0x60]
mov qword [rcx + 8], rax
mov eax, 5
mov qword [rcx], rax
add rsp, 0xf8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
ud2