Function at 0x1400eb440
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, 0x108
movaps xmmword [rsp + 0xf0], xmm6
mov ebx, r8d
mov r13, rdx
mov r12, rcx
mov rax, qword [0x14019ac40]
xor rax, rsp
mov qword [rsp + 0xe8], rax
cmp qword [rcx + 0x3c8], 0
je 0x1400eb48e
mov r15b, 1
cmp qword [r12 + 0x3f0], 0
jne 0x1400eb4a7
mov rax, qword [r12 + 0x3f8]
xor r15d, r15d
cmp rax, qword [r12 + 0x400]
jne 0x1400eb597
mov eax, dword [r12 + 0x4a0]
test rax, rax
je 0x1400eb597
mov rcx, qword [r12 + 0x498]
shl rax, 5
cmp byte [rcx + rax - 0x14], 0
je 0x1400eb597
add rcx, rax
mov eax, dword [rcx - 0x18]
mov rbx, qword [r12 + 0x30]
mov dword [rbx + 0x148], eax
mov dword [rbx + 0x14c], 0x3b1
lea rax, [rbx + 0x128]
cmp qword [rbx + 0x140], 0x10
jb 0x1400eb4fe
mov rax, qword [rax]
mov qword [rbx + 0x138], 0
mov byte [rax], 0
mov byte [rbx + 0x150], 0
mov dword [rbx + 0x2f8], 0
mov edi, dword [rbx + 0x368]
test rdi, rdi
je 0x1400eb6a6
mov rsi, qword [rbx + 0x360]
shl rdi, 6
movaps xmm6, xmmword [0x14016c7a0]
jmp 0x1400eb559
call fcn.14016a23c
movups xmmword [rsi + rdi - 0x18], xmm6
mov byte [rsi + rdi - 0x28], 0
add rdi, 0xffffffffffffffc0
je 0x1400eb6a6
mov rax, qword [rsi + rdi - 0x10]
cmp rax, 0x10
jb 0x1400eb545
mov rcx, qword [rsi + rdi - 0x28]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x1400eb540
mov rbp, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rbp
cmp rcx, 0x20
jae 0x1400ecd19
add rax, 0x28
mov rdx, rax
mov rcx, rbp
jmp 0x1400eb540
mov rcx, qword [r12 + 0x3d0]
test rcx, rcx
mov byte [rsp + 0x2f], bl
je 0x1400eb5b2
cmp byte [rcx + 0x20], 0
je 0x1400ebe1a
mov eax, dword [r12 + 0x330]
test eax, eax
je 0x1400eb7b3
test bl, bl
jne 0x1400eb7b3
mov rcx, qword [r12 + 0x3c8]
test rcx, rcx
je 0x1400eb5e4
cmp byte [rcx + 0x2e0], 0
jne 0x1400eb7b3
mov rbp, qword [r12 + 0x30]
mov dword [rbp + 0x148], eax
mov dword [rbp + 0x14c], 0x386
lea rax, [rbp + 0x128]
cmp qword [rbp + 0x140], 0x10
jb 0x1400eb60d
mov rax, qword [rax]
mov qword [rbp + 0x138], 0
mov byte [rax], 0
mov byte [rbp + 0x150], 0
mov dword [rbp + 0x2f8], 0
mov edi, dword [rbp + 0x368]
test rdi, rdi
je 0x1400eb783
mov rbx, qword [rbp + 0x360]
shl rdi, 6
movaps xmm6, xmmword [0x14016c7a0]
jmp 0x1400eb673
add rax, 0x28
mov rdx, rax
mov rcx, rsi
call fcn.14016a23c
movups xmmword [rbx + rdi - 0x18], xmm6
mov byte [rbx + rdi - 0x28], 0
add rdi, 0xffffffffffffffc0
je 0x1400eb783
mov rax, qword [rbx + rdi - 0x10]
cmp rax, 0x10
jb 0x1400eb65f
mov rcx, qword [rbx + rdi - 0x28]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x1400eb65a
mov rsi, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rsi
cmp rcx, 0x20
jb 0x1400eb650
jmp 0x1400ecd19
mov dword [rbx + 0x368], 0
mov rcx, rbx
xor edx, edx
call fcn.140065870
mov r15b, 1
mov rcx, r12
mov dl, 1
call fcn.1400ecd70
mov r14, rax
xorps xmm0, xmm0
movups xmmword [r13], xmm0
mov dword [r13 + 0x10], 0
mov rax, qword [r12 + 0x3c8]
mov rdi, qword [rax + 0x70]
mov rcx, qword [rax + 0x78]
cmp rcx, rdi
je 0x1400eb720
mov dl, byte [rcx - 1]
cmp dl, 0xd
je 0x1400eb6fc
cmp dl, 0xa
jne 0x1400eb720
lea rbp, [rcx - 1]
cmp rbp, rdi
je 0x1400eb723
mov bl, byte [rcx - 2]
cmp bl, 0xd
je 0x1400eb716
cmp bl, 0xa
jne 0x1400ec16a
add rcx, 0xfffffffffffffffe
cmp bl, dl
cmove rcx, rbp
mov rdi, rcx
mov qword [rax + 0x2e8], rdi
mov rsi, qword [r12 + 0x3c8]
mov eax, dword [rsi + 0x2e8]
mov r9d, edi
sub r9d, eax
mov dword [r13 + 4], r9d
mov r8, qword [rsi + 0x2e8]
lea rdx, [rsp + 0xa8]
mov rcx, rsi
call fcn.1400d2fd0
mov eax, dword [rsp + 0xa8]
mov dword [r13], eax
mov word [r13 + 0x10], 0x181
mov qword [rsi + 0x2e8], rdi
mov eax, dword [r13]
mov dword [r13 + 4], eax
mov qword [r13 + 8], r14
jmp 0x1400ec66d
mov dword [rbp + 0x368], 0
mov rcx, rbp
xor edx, edx
call fcn.140065870
mov qword [r12 + 0x328], 0
mov dword [r12 + 0x330], 0
mov bl, byte [rsp + 0x2f]
mov eax, dword [r12 + 0x338]
test eax, eax
je 0x1400eb8c7
test bl, bl
jne 0x1400eb8c7
mov rcx, qword [r12 + 0x3c8]
test rcx, rcx
je 0x1400eb7e5
cmp byte [rcx + 0x2e0], 0
jne 0x1400eb8c7
mov rbp, qword [r12 + 0x30]
mov dword [rbp + 0x148], eax
mov dword [rbp + 0x14c], 0x387
lea rax, [rbp + 0x128]
cmp qword [rbp + 0x140], 0x10
jb 0x1400eb80e
mov rax, qword [rax]
mov qword [rbp + 0x138], 0
mov byte [rax], 0
mov byte [rbp + 0x150], 0
mov dword [rbp + 0x2f8], 0
mov edi, dword [rbp + 0x368]
test rdi, rdi
je 0x1400eb8a3
mov rbx, qword [rbp + 0x360]
shl rdi, 6
movaps xmm6, xmmword [0x14016c7a0]
jmp 0x1400eb865
call fcn.14016a23c
movups xmmword [rbx + rdi - 0x18], xmm6
mov byte [rbx + rdi - 0x28], 0
add rdi, 0xffffffffffffffc0
je 0x1400eb8a3
mov rax, qword [rbx + rdi - 0x10]
cmp rax, 0x10
jb 0x1400eb855
mov rcx, qword [rbx + rdi - 0x28]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x1400eb850
mov rsi, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rsi
cmp rcx, 0x20
jae 0x1400ecd19
add rax, 0x28
mov rdx, rax
mov rcx, rsi
jmp 0x1400eb850
mov dword [rbp + 0x368], 0
mov rcx, rbp
xor edx, edx
call fcn.140065870
mov dword [r12 + 0x338], 0
mov bl, byte [rsp + 0x2f]
mov rax, qword [r12 + 0x3f8]
cmp rax, qword [r12 + 0x400]
je 0x1400ebabf
cmp qword [r12 + 0x2d0], 0
je 0x1400eb9c5
mov rax, qword [r12 + 0x3d0]
test rax, rax
je 0x1400eb9c5
mov rcx, qword [r12 + 0x58]
mov edx, dword [rax + 0x10]
mov byte [rsp + 0xa8], 0
lea eax, [rdx + 1]
cmp eax, 2
jae 0x1400ec0d8
xor eax, eax
cmp eax, dword [r12 + 0x2e0]
jne 0x1400eb9c5
xorps xmm0, xmm0
movups xmmword [r13], xmm0
mov dword [r13 + 0x10], 0
mov rdi, qword [r12 + 0x3c8]
mov rsi, qword [rdi + 0x78]
mov eax, dword [rdi + 0x2e8]
mov r9d, esi
sub r9d, eax
mov dword [r13 + 4], r9d
mov r8, qword [rdi + 0x2e8]
lea rdx, [rsp + 0xa8]
mov rcx, rdi
call fcn.1400d2fd0
mov eax, dword [rsp + 0xa8]
mov dword [r13], eax
mov word [r13 + 0x10], 1
mov qword [rdi + 0x2e8], rsi
mov rcx, qword [r12 + 0x3c8]
mov qword [r12 + 0x3c8], 0
test rcx, rcx
je 0x1400eb9a9
mov rax, qword [rcx]
mov edx, 1
call qword [rax + 8]
mov qword [r12 + 0x3d0], 0
mov rcx, r12
call fcn.1400dec20
mov r15b, 1
jmp 0x1400ec66d
mov esi, r15d
xor r14d, r14d
mov r15d, 0
test bl, bl
je 0x1400ebca4
test sil, sil
je 0x1400ec446
mov rcx, r12
xor edx, edx
call fcn.1400ecd70
mov rbp, rax
mov rax, qword [r12 + 0x3c8]
mov rbx, qword [rax + 0x70]
mov rax, qword [rax + 0x78]
cmp rax, rbx
je 0x1400eba35
mov cl, byte [rax - 1]
cmp cl, 0xd
je 0x1400eba11
cmp cl, 0xa
jne 0x1400eba35
lea rdx, [rax - 1]
cmp rdx, rbx
je 0x1400eba38
mov bl, byte [rax - 2]
cmp bl, 0xd
je 0x1400eba2b
cmp bl, 0xa
jne 0x1400ec384
add rax, 0xfffffffffffffffe
cmp bl, cl
cmove rax, rdx
mov rbx, rax
xorps xmm0, xmm0
movups xmmword [r13], xmm0
mov dword [r13 + 0x10], 0
mov rax, qword [r12 + 0x3c8]
mov qword [rax + 0x2e8], rbx
mov rdi, qword [r12 + 0x3c8]
mov eax, dword [rdi + 0x2e8]
mov r9d, ebx
sub r9d, eax
mov dword [r13 + 4], r9d
mov r8, qword [rdi + 0x2e8]
lea rdx, [rsp + 0xa8]
mov rcx, rdi
call fcn.1400d2fd0
mov eax, dword [rsp + 0xa8]
mov dword [r13], eax
mov word [r13 + 0x10], 0x181
mov qword [rdi + 0x2e8], rbx
mov eax, dword [r13]
mov dword [r13 + 4], eax
mov qword [r13 + 8], rbp
cmp qword [r12 + 0x3d0], 0
jne 0x1400ec451
jmp 0x1400ec48f
mov rax, qword [r12 + 0x3c8]
xor r14d, r14d
mov rsi, qword [rax + 0x70]
mov rax, qword [rax + 0x78]
cmp rax, rsi
je 0x1400ebb08
mov cl, byte [rax - 1]
cmp cl, 0xd
je 0x1400ebae4
cmp cl, 0xa
jne 0x1400ebb08
lea rdx, [rax - 1]
cmp rdx, rsi
je 0x1400ebb0b
mov bl, byte [rax - 2]
cmp bl, 0xd
je 0x1400ebafe
cmp bl, 0xa
jne 0x1400ec10e
add rax, 0xfffffffffffffffe
cmp bl, cl
cmove rax, rdx
mov rsi, rax
xorps xmm0, xmm0
movups xmmword [r13], xmm0
mov dword [r13 + 0x10], 0
mov rax, qword [r12 + 0x3c8]
mov qword [rax + 0x2e8], rsi
mov rdi, qword [r12 + 0x3c8]
mov eax, dword [rdi + 0x2e8]
mov r9d, esi
sub r9d, eax
mov dword [r13 + 4], r9d
mov r8, qword [rdi + 0x2e8]
lea rdx, [rsp + 0xa8]
mov rcx, rdi
call fcn.1400d2fd0
mov eax, dword [rsp + 0xa8]
mov dword [r13], eax
mov word [r13 + 0x10], 1
mov qword [rdi + 0x2e8], rsi
cmp qword [r12 + 0x2d0], 0
je 0x1400ebb9a
mov rax, qword [r12 + 0x3c8]
mov eax, dword [rax + 0x80]
cmp eax, dword [r12 + 0x2e0]
jne 0x1400ebb9a
add dword [r13], 0xffffffff
mov rcx, r12
call fcn.1400df060
xor al, 1
or r14b, al
je 0x1400ebcfb
cmp byte [r12 + 0x2c0], 0
jne 0x1400ebbf3
mov rcx, qword [r12 + 0x3c8]
mov qword [r12 + 0x3c8], 0
test rcx, rcx
je 0x1400ebbe7
mov rax, qword [rcx]
mov edx, 1
call qword [rax + 8]
cmp byte [r12 + 0x2c0], 0
jne 0x1400ebbf3
mov qword [r12 + 0x3d0], 0
cmp dword [r12 + 0x2c4], 0
je 0x1400ebe8f
mov rcx, r12
call fcn.1400deee0
mov r15b, 1
test rax, rax
je 0x1400ec66d
lea rsi, [rsp + 0xb8]
mov qword [rsp + 0xa8], rsi
movabs rcx, 0x400000000
mov qword [rsp + 0xb0], rcx
lea rdx, [rsp + 0xa8]
mov rcx, rax
call fcn.1400ed490
mov rdi, qword [rsp + 0xa8]
mov ebx, dword [rsp + 0xb0]
test rbx, rbx
je 0x1400ebc8d
shl rbx, 3
xor ebp, ebp
nop word cs:[rax + rax]
nop dword [rax]
mov rdx, qword [rdi + rbp]
mov rcx, r12
call fcn.1400ea910
add rbp, 8
cmp rbx, rbp
jne 0x1400ebc70
mov rdi, qword [rsp + 0xa8]
cmp rdi, rsi
je 0x1400ec66d
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
jmp 0x1400ec66d
mov rax, qword [r12 + 0x3d0]
test rax, rax
je 0x1400ec437
mov rcx, qword [r12 + 0x58]
mov edx, dword [rax + 0x10]
mov byte [rsp + 0xa8], 0
lea eax, [rdx + 1]
cmp eax, 2
jae 0x1400ec0fa
mov eax, dword [r12 + 0x8d0]
test eax, eax
je 0x1400ec40d
mov rdx, qword [r12 + 0x3d0]
mov r14d, dword [rdx + 0x10]
cmp r14d, eax
je 0x1400ec3eb
jmp 0x1400ec426
mov rax, qword [r12 + 0x3c8]
mov eax, dword [rax + 0x80]
mov rdi, qword [r12 + 0x30]
mov dword [rdi + 0x148], eax
mov dword [rdi + 0x14c], 0x3bb
lea rax, [rdi + 0x128]
cmp qword [rdi + 0x140], 0x10
jb 0x1400ebd32
mov rax, qword [rax]
mov qword [rdi + 0x138], 0
mov byte [rax], 0
lea rax, [rdi + 0x150]
mov qword [rsp + 0xa8], rax
mov qword [rsp + 0xb0], 0
mov qword [rsp + 0xb8], rdi
mov word [rsp + 0xc0], 1
mov byte [rdi + 0x150], 0
mov dword [rdi + 0x2f8], 0
mov ebx, dword [rdi + 0x368]
test rbx, rbx
je 0x1400ebdf3
mov rsi, qword [rdi + 0x360]
shl rbx, 6
movaps xmm6, xmmword [0x14016c7a0]
jmp 0x1400ebdb5
call fcn.14016a23c
movups xmmword [rsi + rbx - 0x18], xmm6
mov byte [rsi + rbx - 0x28], 0
add rbx, 0xffffffffffffffc0
je 0x1400ebdf3
mov rax, qword [rsi + rbx - 0x10]
cmp rax, 0x10
jb 0x1400ebda5
mov rcx, qword [rsi + rbx - 0x28]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x1400ebda0
mov rbp, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rbp
cmp rcx, 0x20
jae 0x1400ecd19
add rax, 0x28
mov rdx, rax
mov rcx, rbp
jmp 0x1400ebda0
mov dword [rdi + 0x368], 0
mov rcx, qword [r12 + 0x20]
mov rax, qword [rcx + 0x60]
cmp qword [rcx + 0x68], 0xf
jbe 0x1400ebff2
mov rcx, qword [rcx + 0x50]
jmp 0x1400ebff6
mov r14, qword [rcx + 0x28]
test r14, r14
je 0x1400eb5b2
call fcn.1400deac0
test rax, rax
je 0x1400eb5b2
mov rbp, rax
mov rcx, qword [r12 + 0x68]
mov rdx, rax
call fcn.1401335e0
mov qword [rax + 0x10], r14
test byte [r14 + 3], 1
je 0x1400ec198
lea rdx, [rsp + 0xa8]
mov rcx, r12
mov r8, r14
call fcn.1400e0940
mov rcx, qword [rsp + 0xa8]
mov rax, qword [rsp + 0xb8]
cmp rcx, 7
ja 0x1400ec172
test rax, rax
jne 0x1400ec17b
jmp 0x1400ec198
mov rax, qword [r12 + 0x738]
xor ecx, ecx
cmp rax, qword [r12 + 0x730]
sete cl
mov ecx, dword [r12 + rcx*4 + 0x740]
mov rbx, rax
test rcx, rcx
je 0x1400ebed5
lea rdx, [rcx*8]
mov rbx, rax
nop
cmp qword [rbx], 0xfffffffffffffffe
jb 0x1400ebed5
add rbx, 8
add rdx, 0xfffffffffffffff8
jne 0x1400ebec0
jmp 0x1400ebc02
lea r15, [rax + rcx*8]
cmp rbx, r15
je 0x1400ebc02
movaps xmm6, xmmword [0x14016c7a0]
mov eax, dword [rbx]
mov r14, qword [r12 + 0x30]
mov dword [r14 + 0x148], eax
mov dword [r14 + 0x14c], 0x421
lea rax, [r14 + 0x128]
cmp qword [r14 + 0x140], 0x10
jb 0x1400ebf16
mov rax, qword [rax]
mov qword [r14 + 0x138], 0
mov byte [rax], 0
mov byte [r14 + 0x150], 0
mov dword [r14 + 0x2f8], 0
mov esi, dword [r14 + 0x368]
test rsi, rsi
je 0x1400ebfa2
mov rdi, qword [r14 + 0x360]
shl rsi, 6
jmp 0x1400ebf6f
add rax, 0x28
mov rdx, rax
mov rcx, rbp
call fcn.14016a23c
movups xmmword [rdi + rsi - 0x18], xmm6
mov byte [rdi + rsi - 0x28], 0
add rsi, 0xffffffffffffffc0
je 0x1400ebfa2
mov rax, qword [rdi + rsi - 0x10]
cmp rax, 0x10
jb 0x1400ebf5f
mov rcx, qword [rdi + rsi - 0x28]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x1400ebf5a
mov rbp, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rbp
cmp rcx, 0x20
jb 0x1400ebf50
jmp 0x1400ecd19
mov dword [r14 + 0x368], 0
mov rcx, r14
xor edx, edx
call fcn.140065870
add rbx, 8
cmp rbx, r15
je 0x1400ebc02
nop word cs:[rax + rax]
nop
cmp qword [rbx], 0xfffffffffffffffe
jb 0x1400ebfe4
add rbx, 8
cmp r15, rbx
jne 0x1400ebfd0
jmp 0x1400ebc02
cmp r15, rbx
jne 0x1400ebee9
jmp 0x1400ebc02
add rcx, 0x50
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x50], rax
lea rcx, [rsp + 0xa8]
lea rdx, [rsp + 0x48]
call fcn.14005f0e0
mov rax, qword [rsp + 0xa8]
test rax, rax
jne 0x1400ec034
lea rcx, [rsp + 0xa8]
call fcn.14005f260
mov qword [rsp + 0xa8], rax
movzx ecx, byte [rax]
mov byte [rax + rcx + 1], 2
mov rax, qword [rsp + 0xa8]
movzx ecx, byte [rax]
lea edx, [rcx + 1]
mov byte [rax], dl
mov qword [rax + rcx*8 + 0x10], 0
cmp byte [rsp + 0xc0], 0
je 0x1400ec089
mov rcx, qword [rsp + 0xb8]
mov dl, byte [rsp + 0xc1]
call fcn.140065870
mov qword [rsp + 0xb8], 0
mov word [rsp + 0xc0], 0
mov rdi, qword [rsp + 0xa8]
test rdi, rdi
je 0x1400ebbad
mov rax, qword [rsp + 0xb0]
test rax, rax
je 0x1400ebbad
cmp rax, rdi
ja 0x1400ec0e5
lea rcx, [rax + 0x3a00]
cmp rcx, rdi
jb 0x1400ec0e5
mov ecx, dword [rax + 0x3a80]
lea edx, [rcx + 1]
mov dword [rax + 0x3a80], edx
mov qword [rax + rcx*8 + 0x3a00], rdi
jmp 0x1400ebbad
test edx, edx
js 0x1400ec116
add rcx, 0xc0
jmp 0x1400ec145
mov rcx, rdi
call fcn.14005ede0
mov rcx, rdi
call fcn.14016a7e0
jmp 0x1400ebbad
test edx, edx
js 0x1400ec38c
add rcx, 0xc0
jmp 0x1400ec3b7
mov rsi, rdx
jmp 0x1400ebb0b
mov eax, 0xfffffffe
sub rax, rdx
mov edx, eax
mov ebp, eax
shr ebp, 6
mov rbx, qword [rcx + 0xe8]
mov rbp, qword [rbx + rbp*8]
bt rbp, rax
jae 0x1400ec722
add rcx, 0xd0
mov bl, byte [rsp + 0x2f]
mov rax, qword [rcx]
test rax, rax
je 0x1400eb919
mov ecx, edx
lea rcx, [rcx + rcx*2]
lea rax, [rax + rcx*8]
mov eax, dword [rax]
test eax, eax
jns 0x1400eb91b
jmp 0x1400eb919
mov rdi, rbp
jmp 0x1400eb723
test rax, rax
je 0x1400ec746
mov rcx, qword [rsp + 0xb0]
mov rax, qword [rcx + rax*8 - 8]
mov rax, qword [rax + 0x10]
test rax, rax
je 0x1400ec198
or byte [rax + 0xed], 4
mov rax, qword [r12 + 0x3d0]
mov rsi, qword [rax + 0x30]
test rsi, rsi
je 0x1400eb5b2
test dword [r14], 0x1000000
jne 0x1400ec2e0
cmp rsi, r14
je 0x1400eb5b2
mov rcx, qword [r12 + 0x68]
mov rdx, rbp
call fcn.1401335e0
cmp word [rax + 4], 1
jne 0x1400eb5b2
mov rax, qword [r14 + 0x10]
mov edi, dword [rax]
add rax, 0x10
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x80], rdi
mov rax, qword [rsi + 0x10]
mov ecx, dword [rax]
add rax, 0x10
cmp rdi, rcx
cmovb rdi, rcx
shr rdi, 1
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x70], rcx
lea rcx, [rsp + 0x78]
lea rdx, [rsp + 0x68]
mov r8b, 1
mov r9d, edi
call fcn.140023a70
mov eax, eax
cmp rdi, rax
jb 0x1400eb5b2
mov qword [rsp + 0x30], rsi
mov esi, r15d
mov rax, qword [r12 + 0x3d0]
mov eax, dword [rax + 0x38]
mov r15, qword [r12 + 0x30]
mov dword [r15 + 0x148], eax
mov dword [r15 + 0x14c], 0x44c
lea rax, [r15 + 0x128]
cmp qword [r15 + 0x140], 0x10
jb 0x1400ec26e
mov rax, qword [rax]
mov qword [r15 + 0x138], 0
mov byte [rax], 0
lea rbp, [r15 + 0x150]
mov qword [rsp + 0xa8], rbp
mov qword [rsp + 0xb0], 0
mov qword [rsp + 0xb8], r15
mov word [rsp + 0xc0], 1
mov byte [r15 + 0x150], 0
mov dword [r15 + 0x2f8], 0
mov ebx, dword [r15 + 0x368]
test rbx, rbx
je 0x1400ec823
mov rbp, qword [r15 + 0x360]
shl rbx, 6
movaps xmm6, xmmword [0x14016c7a0]
jmp 0x1400ec351
mov rax, qword [r12 + 0x38]
test byte [rax + 0xc], 0x10
je 0x1400eb5b2
lea rdx, [rsp + 0xa8]
mov rcx, r12
mov r8, r14
call fcn.1400e0940
cmp qword [rsp + 0xa8], 8
jae 0x1400eb5b2
cmp rsi, r14
je 0x1400eb5b2
cmp qword [rsp + 0xb8], 0
je 0x1400ec1c3
jmp 0x1400eb5b2
add rax, 0x28
mov rdx, rax
mov rcx, rdi
call fcn.14016a23c
movups xmmword [rbp + rbx - 0x18], xmm6
mov byte [rbp + rbx - 0x28], 0
add rbx, 0xffffffffffffffc0
je 0x1400ec81b
mov rax, qword [rbp + rbx - 0x10]
cmp rax, 0x10
jb 0x1400ec33d
mov rcx, qword [rbp + rbx - 0x28]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x1400ec338
mov rdi, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rdi
cmp rcx, 0x20
jb 0x1400ec32e
jmp 0x1400ecd19
mov rbx, rdx
jmp 0x1400eba38
mov eax, 0xfffffffe
sub rax, rdx
mov edx, eax
mov ebp, eax
shr ebp, 6
mov rbx, qword [rcx + 0xe8]
mov rbp, qword [rbx + rbp*8]
bt rbp, rax
jae 0x1400ec778
add rcx, 0xd0
mov rax, qword [rcx]
test rax, rax
je 0x1400ebcd1
mov ecx, edx
lea rcx, [rcx + rcx*2]
lea rax, [rax + rcx*8]
cmp dword [rax], 0
js 0x1400ebcd1
cmp dword [rax + 8], 0
je 0x1400ebcd1
mov rdx, qword [r12 + 0x3d0]
mov eax, dword [rdx + 0x10]
mov rcx, qword [r12 + 0x58]
mov edi, dword [rcx + 0xc8]
sub edi, dword [rdx + 0x14]
mov byte [rsp + 0xa8], 0
lea edx, [rax + 1]
cmp edx, 2
jae 0x1400ec70c
mov rax, qword [r12 + 0x3d0]
test rax, rax
je 0x1400ec437
mov r14d, dword [rax + 0x10]
mov eax, dword [r12 + 0x8d0]
cmp eax, r14d
sete r15b
test sil, sil
je 0x1400ec446
jmp 0x1400eb9e2
xor r14d, r14d
xor r15d, r15d
test sil, sil
jne 0x1400eb9e2
cmp qword [r12 + 0x3d0], 0
je 0x1400ec48f
mov rcx, r12
call fcn.1400df060
test al, al
je 0x1400ec48f
mov rcx, qword [r12 + 0x58]
mov rax, qword [r12 + 0x3d0]
mov edx, dword [rax + 0x10]
mov byte [rsp + 0xa8], 0
lea eax, [rdx + 1]
cmp eax, 2
jae 0x1400ec69c
xor edx, edx
mov rcx, r12
call fcn.1400def90
mov ebp, eax
jmp 0x1400ec491
xor ebp, ebp
mov rbx, qword [r12 + 0x3e0]
test rbx, rbx
je 0x1400ec505
lea rax, [r12 + 0x3e0]
mov ecx, dword [r12 + 0x8dc]
cmp rcx, 8
jne 0x1400ec4c8
mov qword [rax], 0
mov rcx, rbx
call fcn.1401112e0
mov rcx, rbx
jmp 0x1400ec500
lea edx, [rcx + 1]
mov dword [r12 + 0x8dc], edx
lea rcx, [r12 + rcx*8]
add rcx, 0x8e0
cmp rax, rcx
je 0x1400ec505
mov qword [rax], 0
mov rdi, qword [rcx]
mov qword [rcx], rbx
test rdi, rdi
je 0x1400ec505
mov rcx, rdi
call fcn.1401112e0
mov rcx, rdi
call fcn.14016a7e0
mov rcx, r12
call fcn.1400ed6a0
mov rcx, qword [r12 + 0x3e0]
test rcx, rcx
je 0x1400ec528
mov rdx, r13
call fcn.140113bf0
mov bl, byte [rsp + 0x2f]
jmp 0x1400ec541
mov rcx, qword [r12 + 0x3c8]
test rcx, rcx
mov bl, byte [rsp + 0x2f]
je 0x1400ec541
mov rdx, r13
call fcn.1400dad50
cmp qword [r12 + 0x410], 0
je 0x1400ec5b5
test bl, bl
jne 0x1400ec5b5
mov rcx, qword [r12 + 0x3d0]
test rcx, rcx
je 0x1400ec5b5
mov rdi, qword [r12 + 0x58]
mov rax, qword [rcx]
lea rdx, [rsp + 0x40]
call qword [rax + 0x18]
mov edx, dword [rsp + 0x40]
mov rcx, rdi
call fcn.14005d4e0
mov edi, eax
mov rcx, qword [r12 + 0x3d0]
mov rbx, qword [r12 + 0x410]
mov rax, qword [rcx]
lea rdx, [rsp + 0x38]
call qword [rax + 0x18]
mov edx, dword [rsp + 0x38]
mov rax, qword [rbx]
mov dword [rsp + 0x20], r14d
mov rcx, rbx
mov bl, byte [rsp + 0x2f]
mov r8d, 1
mov r9d, edi
call qword [rax + 8]
test r15b, r15b
je 0x1400ec5c2
mov rcx, r12
call fcn.1400dfab0
test bl, bl
mov r15d, esi
jne 0x1400ec66d
mov rcx, qword [r12 + 0x3d0]
test rcx, rcx
sete al
xor bpl, 1
or bpl, al
jne 0x1400ec66d
mov rax, qword [r12 + 0x3c8]
test rax, rax
je 0x1400ec647
cmp byte [rax + 0x2e0], 0
je 0x1400ec647
mov rdx, qword [r12 + 0x3f8]
mov rbp, qword [r12 + 0x400]
add rdx, 0x30
mov r14b, 1
cmp rdx, rbp
jne 0x1400ec633
jmp 0x1400ebaca
cmp qword [rdx + 0x18], 0
jne 0x1400ec659
add rdx, 0x30
cmp rbp, rdx
je 0x1400ebaca
mov rbx, qword [rdx + 0x10]
test rbx, rbx
je 0x1400ec61f
cmp byte [rbx + 0x2e0], 0
jne 0x1400ec626
jmp 0x1400ec659
mov rdx, qword [r12 + 0x3f8]
cmp rdx, qword [r12 + 0x400]
je 0x1400ec6a9
mov ecx, dword [rcx + 0x10]
mov r14b, 1
cmp ecx, dword [r12 + 0x8d0]
je 0x1400ebaca
mov rcx, qword [rsp + 0xe8]
xor rcx, rsp
call fcn.14016a260
mov eax, r15d
movaps xmm6, xmmword [rsp + 0xf0]
add rsp, 0x108
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
test edx, edx
js 0x1400ec6b1
add rcx, 0xc0
jmp 0x1400ec6dc
mov r14b, 1
jmp 0x1400ebaca
mov eax, 0xfffffffe
sub rax, rdx
mov edx, eax
mov ebp, eax
shr ebp, 6
mov rbx, qword [rcx + 0xe8]
mov rbp, qword [rbx + rbp*8]
bt rbp, rax
jae 0x1400ec798
add rcx, 0xd0
mov rax, qword [rcx]
test rax, rax
je 0x1400ec481
mov ecx, edx
lea rcx, [rcx + rcx*2]
lea rax, [rax + rcx*8]
cmp dword [rax], 0
js 0x1400ec481
mov rax, qword [rax + 0x10]
and rax, 0xfffffffffffffff8
mov rdx, qword [rax + 8]
jmp 0x1400ec483
test eax, eax
js 0x1400ec7b8
add rcx, 0xc0
mov edx, eax
jmp 0x1400ec7e1
lea r8, [rsp + 0xa8]
call fcn.140059ed0
cmp byte [rsp + 0xa8], 0
mov bl, byte [rsp + 0x2f]
jne 0x1400eb919
jmp 0x1400ec15b
and rcx, 0xfffffffffffffff8
je 0x1400ec198
lea rdx, [rsp + 0x48]
call fcn.140136980
mov rax, qword [rsp + 0x48]
test rax, rax
jne 0x1400ec188
xor eax, eax
test rax, rax
jne 0x1400ec191
jmp 0x1400ec198
lea r8, [rsp + 0xa8]
call fcn.140059ed0
cmp byte [rsp + 0xa8], 0
jne 0x1400ebcd1
jmp 0x1400ec3cd
lea r8, [rsp + 0xa8]
call fcn.140059ed0
cmp byte [rsp + 0xa8], 0
jne 0x1400ec481
jmp 0x1400ec6f2
mov edx, 0xfffffffe
sub edx, eax
mov eax, edx
shr eax, 6
mov rbp, qword [rcx + 0xe8]
mov rax, qword [rbp + rax*8]
bt rax, rdx
jae 0x1400ec97f
add rcx, 0xd0
mov rax, qword [rcx]
test rax, rax
je 0x1400ec40d
mov ecx, edx
lea rcx, [rcx + rcx*2]
lea rax, [rax + rcx*8]
cmp dword [rax], 0
js 0x1400ec40d
add edi, 1
and edi, 0x7fffffff
mov ecx, 0x80000000
and ecx, dword [rax + 0xc]
or ecx, edi
mov dword [rax + 0xc], ecx
jmp 0x1400ec40d
mov rbp, qword [rsp + 0xa8]
mov dword [r15 + 0x368], 0
mov rax, qword [r12 + 0x3d0]
mov edi, dword [rax + 0x38]
test rbp, rbp
jne 0x1400ec856
lea rcx, [rsp + 0xa8]
call fcn.14005f260
mov rbp, rax
mov qword [rsp + 0xa8], rax
mov al, byte [rsp + 0x8a]
mov byte [rsp + 0x9a], al
movzx eax, word [rsp + 0x88]
mov word [rsp + 0x98], ax
mov r8d, dword [rbp + 0x1a8]
cmp r8d, dword [rbp + 0x1ac]
jae 0x1400ecd1f
mov rax, rdi
shl rax, 0x20
or rax, rdi
mov rcx, qword [rbp + 0x1a0]
mov edx, r8d
lea rdx, [rdx + rdx*2]
mov qword [rcx + rdx*4], rax
mov byte [rcx + rdx*4 + 8], 1
movzx eax, word [rsp + 0x98]
mov word [rcx + rdx*4 + 9], ax
mov al, byte [rsp + 0x9a]
mov byte [rcx + rdx*4 + 0xb], al
add dword [rbp + 0x1a8], 1
mov rax, qword [rsp + 0xa8]
test rax, rax
jne 0x1400ec8ea
lea rcx, [rsp + 0xa8]
call fcn.14005f260
mov qword [rsp + 0xa8], rax
movzx ecx, byte [rax]
mov byte [rax + rcx + 1], 5
mov rax, qword [rsp + 0xa8]
movzx ecx, byte [rax]
lea edx, [rcx + 1]
mov byte [rax], dl
mov qword [rax + rcx*8 + 0x10], r14
cmp byte [rsp + 0xc0], 0
je 0x1400ec93b
mov rcx, qword [rsp + 0xb8]
mov dl, byte [rsp + 0xc1]
call fcn.140065870
mov qword [rsp + 0xb8], 0
mov word [rsp + 0xc0], 0
mov rbp, qword [rsp + 0xa8]
test rbp, rbp
je 0x1400ec9af
mov rax, qword [rsp + 0xb0]
test rax, rax
je 0x1400ec9af
cmp rax, rbp
ja 0x1400ec99f
lea rcx, [rax + 0x3a00]
cmp rcx, rbp
jb 0x1400ec99f
mov ecx, dword [rax + 0x3a80]
lea edx, [rcx + 1]
mov dword [rax + 0x3a80], edx
mov qword [rax + rcx*8 + 0x3a00], rbp
jmp 0x1400ec9af
lea r8, [rsp + 0xa8]
call fcn.140059ed0
cmp byte [rsp + 0xa8], 0
jne 0x1400ec40d
jmp 0x1400ec7f7
mov rcx, rbp
call fcn.14005ede0
mov rcx, rbp
call fcn.14016a7e0
mov rax, qword [r12 + 0x3d0]
mov eax, dword [rax + 0x3c]
mov r15, qword [r12 + 0x30]
mov dword [r15 + 0x148], eax
mov dword [r15 + 0x14c], 0x405
lea rax, [r15 + 0x128]
cmp qword [r15 + 0x140], 0x10
jb 0x1400ec9e5
mov rax, qword [rax]
mov qword [r15 + 0x138], 0
mov byte [rax], 0
lea rbp, [r15 + 0x150]
mov qword [rsp + 0x48], rbp
mov qword [rsp + 0x50], 0
mov qword [rsp + 0x58], r15
mov word [rsp + 0x60], 1
mov byte [r15 + 0x150], 0
mov dword [r15 + 0x2f8], 0
mov ebx, dword [r15 + 0x368]
test rbx, rbx
je 0x1400eca9e
mov rbp, qword [r15 + 0x360]
shl rbx, 6
movaps xmm6, xmmword [0x14016c7a0]
jmp 0x1400eca66
add rax, 0x28
mov rdx, rax
mov rcx, rdi
call fcn.14016a23c
movups xmmword [rbp + rbx - 0x18], xmm6
mov byte [rbp + rbx - 0x28], 0
add rbx, 0xffffffffffffffc0
je 0x1400eca99
mov rax, qword [rbp + rbx - 0x10]
cmp rax, 0x10
jb 0x1400eca56
mov rcx, qword [rbp + rbx - 0x28]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x1400eca51
mov rdi, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rdi
cmp rcx, 0x20
jb 0x1400eca47
jmp 0x1400ecd19
mov rbp, qword [rsp + 0x48]
mov dword [r15 + 0x368], 0
mov rax, qword [r12 + 0x3d0]
mov edi, dword [rax + 0x3c]
test rbp, rbp
jne 0x1400ecacb
lea rcx, [rsp + 0x48]
call fcn.14005f260
mov rbp, rax
mov qword [rsp + 0x48], rax
mov al, byte [rsp + 0x8a]
mov byte [rsp + 0x9a], al
movzx eax, word [rsp + 0x88]
mov word [rsp + 0x98], ax
mov r8d, dword [rbp + 0x1a8]
cmp r8d, dword [rbp + 0x1ac]
mov r15d, esi
mov bl, byte [rsp + 0x2f]
jae 0x1400ecd45
mov rsi, qword [rsp + 0x30]
mov rax, rdi
shl rax, 0x20
or rax, rdi
mov rcx, qword [rbp + 0x1a0]
mov edx, r8d
lea rdx, [rdx + rdx*2]
mov qword [rcx + rdx*4], rax
mov byte [rcx + rdx*4 + 8], 1
movzx eax, word [rsp + 0x98]
mov word [rcx + rdx*4 + 9], ax
mov al, byte [rsp + 0x9a]
mov byte [rcx + rdx*4 + 0xb], al
add dword [rbp + 0x1a8], 1
mov rax, qword [rsp + 0x48]
test rax, rax
jne 0x1400ecb62
lea rcx, [rsp + 0x48]
call fcn.14005f260
mov qword [rsp + 0x48], rax
movzx ecx, byte [rax]
mov byte [rax + rcx + 1], 5
mov rax, qword [rsp + 0x48]
movzx ecx, byte [rax]
lea edx, [rcx + 1]
mov byte [rax], dl
mov qword [rax + rcx*8 + 0x10], rsi
mov rax, qword [rsp + 0x48]
test rax, rax
jne 0x1400ecb95
lea rcx, [rsp + 0x48]
call fcn.14005f260
mov qword [rsp + 0x48], rax
movzx ecx, byte [rax]
mov byte [rax + rcx + 1], 5
mov rax, qword [rsp + 0x48]
movzx ecx, byte [rax]
lea edx, [rcx + 1]
mov byte [rax], dl
mov qword [rax + rcx*8 + 0x10], r14
mov rax, qword [r14 + 0x10]
mov ecx, dword [rax]
add rax, 0x10
mov rdx, qword [r12 + 0x3d0]
mov ebp, dword [rdx + 0x3c]
mov rdx, rbp
shl rdx, 0x20
or rdx, rbp
mov qword [rsp + 0x98], rax
mov qword [rsp + 0xa0], rcx
mov qword [rsp + 0x88], rdx
mov byte [rsp + 0x90], 1
lea rcx, [rsp + 0xa8]
lea rdx, [rsp + 0x88]
lea r8, [rsp + 0x98]
call fcn.1400da250
cmp dword [rsp + 0xa8], 0
je 0x1400ecc4f
cmp dword [rsp + 0xac], 0
je 0x1400ecc4f
mov rcx, qword [rsp + 0x48]
test rcx, rcx
jne 0x1400ecc3b
lea rcx, [rsp + 0x48]
call fcn.14005f260
mov rcx, rax
mov qword [rsp + 0x48], rax
add rcx, 0x210
lea rdx, [rsp + 0xa8]
call fcn.1400de8f0
mov rax, qword [rsp + 0xd8]
cmp rax, 0x10
jb 0x1400ecc96
mov rcx, qword [rsp + 0xc0]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x1400ecc91
mov rbp, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rbp
cmp rcx, 0x20
jae 0x1400ecd19
add rax, 0x28
mov rdx, rax
mov rcx, rbp
call fcn.14016a23c
cmp byte [rsp + 0x60], 0
je 0x1400eccbb
mov rcx, qword [rsp + 0x58]
mov dl, byte [rsp + 0x61]
call fcn.140065870
mov qword [rsp + 0x58], 0
mov word [rsp + 0x60], 0
mov rbp, qword [rsp + 0x48]
test rbp, rbp
je 0x1400eb5b2
mov rax, qword [rsp + 0x50]
test rax, rax
je 0x1400eb5b2
cmp rax, rbp
ja 0x1400ecd04
lea rcx, [rax + 0x3a00]
cmp rcx, rbp
jb 0x1400ecd04
mov ecx, dword [rax + 0x3a80]
lea edx, [rcx + 1]
mov dword [rax + 0x3a80], edx
mov qword [rax + rcx*8 + 0x3a00], rbp
jmp 0x1400eb5b2
mov rcx, rbp
call fcn.14005ede0
mov rcx, rbp
call fcn.14016a7e0
jmp 0x1400eb5b2
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
lea rcx, [rbp + 0x1a0]
add r8, 1
lea rdx, [rcx + 0x10]
mov r9d, 0xc
call fcn.1400290c0
mov r8d, dword [rbp + 0x1a8]
jmp 0x1400ec888
lea rcx, [rbp + 0x1a0]
add r8, 1
lea rdx, [rcx + 0x10]
mov r9d, 0xc
call fcn.1400290c0
mov r8d, dword [rbp + 0x1a8]
jmp 0x1400ecb04