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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
mov eax, 0x4468
call fcn.140092cb0
sub rsp, rax
mov edi, r8d
mov rsi, rdx
mov rbx, rcx
mov rax, qword [rcx + 0x258]
mov ecx, dword [rax + 0xc]
add ecx, dword [rax + 8]
je 0x140004d58
mov edx, dword [rax + 0x10]
mov ecx, dword [rax + 0x14]
cmp dx, 0xb
mov r8d, 0xa
cmovl edx, r8d
movzx edx, dx
movzx r9d, word [rax + 0x12]
cmp r9w, 0xb
cmovge r8d, r9d
movzx r8d, r8w
add edx, ecx
lea r13d, [r8 + rdx]
add r13d, 0xffffffec
mov edx, dword [rax + 0x18]
cmp edx, r13d
cmovl r13d, edx
cmp r13d, 4
jge 0x1400044c9
xor ebp, ebp
cmp ecx, 0x78
jge 0x140004f30
mov eax, ebp
add rsp, 0x4468
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rdx, qword [rax + 0x20]
and edx, 0x3fff
cmp byte [rbx + rdx + 0x268], 0
je 0x1400044a8
mov rdx, qword [rax + 0x30]
mov rcx, qword [rax + 0x40]
mov r14, qword [rcx + 0x40]
or rdx, qword [rax + 0x38]
jne 0x140004cdd
xor r15d, r15d
mov rdx, qword [rcx + 0x30]
xor r12d, r12d
or rdx, qword [rcx + 0x38]
mov r9d, 0
je 0x140004519
mov rcx, qword [r14 + 0x40]
mov rdx, qword [rcx + 0x30]
or rdx, qword [rcx + 0x38]
setne r9b
mov r10d, 4
lea r11d, [rdi - 0x7d00]
mov ecx, 0x7d00
sub ecx, edi
mov dword [rsp + 0x50], ecx
mov dword [rsp + 0x3c], 0
mov ecx, r15d
mov rdx, qword [r14 + 0x40]
mov r14, qword [rdx + 0x40]
mov rdx, qword [r14 + 0x20]
mov r8, qword [r14 + 0x30]
or r8, qword [r14 + 0x38]
setne r15b
and r15b, cl
cmp rdx, qword [rax + 0x20]
jne 0x1400045c6
mov ecx, dword [rsp + 0x3c]
cmp ecx, 1
je 0x14000456f
cmp r10d, edi
jge 0x140004d43
mov eax, r15d
or al, r9b
test al, 1
je 0x1400045e7
test r15b, r15b
mov eax, r11d
cmovne eax, r12d
test r9b, 1
cmove eax, dword [rsp + 0x50]
mov dword [rsi], eax
mov bpl, 1
cmp ecx, 1
je 0x1400044b3
test eax, eax
je 0x1400044b3
mov rax, qword [rbx + 0x258]
mov rcx, qword [rax + 0x20]
and ecx, 0x3fff
cmp byte [rbx + rcx + 0x268], 1
jbe 0x140004cc4
jmp 0x140004d43
mov ecx, r10d
or ecx, 1
cmp ecx, r13d
jle 0x140004cee
add r10d, 2
cmp r10d, r13d
jle 0x140004539
jmp 0x140004d50
mov dword [rsp + 0x2c], r11d
mov qword [rsp + 0x60], r10
mov dword [rsp + 0x30], r9d
mov r8d, 0x268
lea rcx, [rsp + 0x90]
mov rdx, rbx
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
xor eax, eax
xor ecx, ecx
xor edx, edx
jmp 0x14000461d
inc rax
cmp rax, 0x5a
je 0x140004656
mov r8d, dword [rsp + rax*4 + 0x90]
test r8d, r8d
je 0x140004614
cmp r8d, 8
mov r9d, edx
sbb r9d, 0xffffffff
cmp r8d, 8
mov r10d, ecx
adc r10d, 0
cmp r8d, 8
cmovae ecx, edx
mov dword [rsp + rax*4 + 0x42f8], ecx
mov edx, r9d
mov ecx, r10d
jmp 0x140004614
mov ebp, dword [rsp + 0x2f4]
mov rax, rbp
xor rax, 1
mov qword [rsp + 0x88], rax
mov dword [rsp + 0x28], 0xffffffff
mov dword [rsp + 0x24], 0xffffffff
mov dword [rsp + 0x54], 0
lea rcx, [rsp + 0x90]
mov edx, ebp
call fcn.140015f50
mov qword [rsp + 0x70], rbp
mov word [rsp + rbp*2 + 0x54], ax
mov r10, qword [rsp + 0x60]
lea eax, [r10 - 2]
mov dword [rsp + 0x6c], eax
xor r8d, r8d
mov eax, dword [rsp + 0x2f4]
mov qword [rsp + 0x78], r14
mov dword [rsp + 0x38], r15d
mov r9d, dword [rsp + 0x30]
mov r11d, dword [rsp + 0x2c]
mov edx, eax
xor edx, 1
movzx ecx, word [rsp + rdx*2 + 0x24]
test cx, cx
je 0x140004952
mov dword [rsp + 0x34], r8d
mov rax, qword [rsp + 0x2e8]
mov r8, qword [rax + 0x30]
or r8, qword [rax + 0x38]
movzx r8d, byte [0x1400f5410]
jne 0x140004afe
test r8b, r8b
jne 0x140004e94
lea rcx, [rsp + 0x90]
call fcn.140015f50
mov dword [rsp + 0x48], eax
mov r10d, dword [rsp + 0x2f4]
mov rdx, r10
xor rdx, 1
cmp word [rsp + rdx*2 + 0x28], 0
mov r8, qword [rsp + 0x2e8]
je 0x140004762
mov rcx, r10
shl rcx, 4
vmovdqa xmm1, xmmword [r8 + rcx + 0x50]
vmovdqa xmm0, xmmword [rsp + rcx + 0x280]
vpand xmm1, xmm1, xmmword [rsp + 0x210]
vptest xmm1, xmm0
jne 0x140004d75
mov al, 1
mov dword [rsp + 0x58], eax
xor ebp, ebp
mov ecx, dword [r8 + 0x114]
mov qword [rsp + 0x40], r8
mov r10d, dword [r8 + 0x118]
mov dword [rsp + 0x2f4], edx
mov r8d, r10d
sar r8d, 7
and r10d, 0x7f
mov r9d, dword [rsp + r10*4 + 0x42f8]
movsxd r14, r8d
mov dword [rsp + r14*4 + 0x42f8], r9d
mov dword [rsp + r10*4 + 0x42f8], 0
mov r12d, dword [rsp + r10*4 + 0x90]
mov r9, r10
shl r9, 4
lea r15, [0x142239ec0]
mov r8, qword [r9 + r15]
mov r9, qword [r9 + r15 + 8]
mov r11, r14
shl r11, 4
mov rax, qword [r11 + r15]
mov r11, qword [r11 + r15 + 8]
or r11, r9
xor qword [rsp + 0x208], r11
or rax, r8
xor qword [rsp + 0x200], rax
mov r15d, r12d
and r15d, 7
shl r15, 4
xor qword [rsp + r15 + 0x208], r11
xor qword [rsp + r15 + 0x200], rax
mov r15d, r12d
sar r15d, 3
shl r15, 4
xor qword [rsp + r15 + 0x288], r11
xor qword [rsp + r15 + 0x280], rax
mov dword [rsp + r10*4 + 0x90], 0
mov dword [rsp + r14*4 + 0x90], r12d
test rcx, rcx
je 0x1400048b3
mov dword [rsp + r10*4 + 0x90], ecx
mov eax, ecx
and eax, 7
shl rax, 4
mov r10, qword [rsp + rax + 0x208]
or r10, r9
mov r11, qword [rsp + rax + 0x200]
or r11, r8
mov qword [rsp + rax + 0x200], r11
mov qword [rsp + rax + 0x208], r10
or qword [rsp + 0x200], r11
or qword [rsp + 0x208], r10
mov eax, ecx
sar eax, 3
shl rax, 4
or qword [rsp + rax + 0x280], r8
or qword [rsp + rax + 0x288], r9
inc dword [rsp + rcx*4 + 0x2a0]
and ecx, 0xfffffff8
inc dword [rsp + rcx*4 + 0x2a0]
mov rax, qword [rsp + 0x40]
mov rax, qword [rax + 0x40]
mov qword [rsp + 0x2e8], rax
mov eax, edx
movzx r15d, word [rsp + rax*2 + 0x54]
lea rcx, [rsp + 0x90]
call fcn.140015f50
mov edx, dword [rsp + 0x2f4]
mov word [rsp + rdx*2 + 0x54], ax
cmp byte [rsp + 0x58], 0
mov r14, qword [rsp + 0x78]
mov r12d, 0
je 0x140004ee6
mov r8d, dword [rsp + 0x34]
cmp r8d, dword [rsp + 0x6c]
not eax
mov ecx, 0xffff
cmovne eax, ecx
andn eax, r15d, eax
mov ecx, dword [rsp + 0x48]
and ecx, eax
and bp, word [rsp + rdx*2 + 0x28]
and ebp, ecx
mov word [rsp + rdx*2 + 0x28], bp
mov r9d, dword [rsp + 0x30]
mov r10, qword [rsp + 0x60]
mov r11d, dword [rsp + 0x2c]
mov r15d, dword [rsp + 0x38]
and word [rsp + rdx*2 + 0x24], cx
inc r8d
mov eax, edx
cmp r8d, r10d
jne 0x1400046c8
jmp 0x140004c99
mov eax, eax
cmp word [rsp + rax*2 + 0x24], 0
je 0x140004c99
mov dword [rsp + 0x34], r8d
mov rax, qword [rsp + 0x2e8]
mov ecx, dword [rax + 0x114]
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x40], rax
mov r10d, dword [rax + 0x118]
mov dword [rsp + 0x2f4], edx
mov r8d, r10d
sar r8d, 7
and r10d, 0x7f
mov r9d, dword [rsp + r10*4 + 0x42f8]
movsxd r11, r8d
mov dword [rsp + r11*4 + 0x42f8], r9d
mov dword [rsp + r10*4 + 0x42f8], 0
mov r8d, dword [rsp + r10*4 + 0x90]
mov r9, r10
shl r9, 4
lea r15, [0x142239ec0]
mov rcx, qword [r9 + r15]
mov r9, qword [r9 + r15 + 8]
mov rbp, r11
shl rbp, 4
mov rax, qword [rbp + r15]
mov rbp, qword [rbp + r15 + 8]
or rbp, r9
xor qword [rsp + 0x208], rbp
mov qword [rsp + 0x58], rcx
or rax, rcx
xor qword [rsp + 0x200], rax
mov r15d, r8d
and r15d, 7
shl r15, 4
xor qword [rsp + r15 + 0x208], rbp
xor qword [rsp + r15 + 0x200], rax
mov r15d, r8d
sar r15d, 3
shl r15, 4
xor qword [rsp + r15 + 0x288], rbp
xor qword [rsp + r15 + 0x280], rax
mov dword [rsp + r10*4 + 0x90], 0
mov dword [rsp + r11*4 + 0x90], r8d
mov r11, qword [rsp + 0x48]
test r11, r11
je 0x140004acf
mov dword [rsp + r10*4 + 0x90], r11d
mov eax, r11d
and eax, 7
shl rax, 4
mov r8, qword [rsp + rax + 0x208]
or r8, r9
mov r10, qword [rsp + rax + 0x200]
mov rcx, qword [rsp + 0x58]
or r10, rcx
mov qword [rsp + rax + 0x200], r10
mov qword [rsp + rax + 0x208], r8
or qword [rsp + 0x200], r10
or qword [rsp + 0x208], r8
mov eax, r11d
sar eax, 3
shl rax, 4
or qword [rsp + rax + 0x280], rcx
or qword [rsp + rax + 0x288], r9
inc dword [rsp + r11*4 + 0x2a0]
and r11d, 0xfffffff8
inc dword [rsp + r11*4 + 0x2a0]
mov rax, qword [rsp + 0x40]
mov rax, qword [rax + 0x40]
mov qword [rsp + 0x2e8], rax
mov r15d, dword [rsp + 0x38]
mov r9d, dword [rsp + 0x30]
mov r10, qword [rsp + 0x60]
mov r11d, dword [rsp + 0x2c]
mov r8d, dword [rsp + 0x34]
jmp 0x14000493f
neg r8b
movsx r8d, r8b
and ecx, r8d
mov word [rsp + rdx*2 + 0x24], cx
mov word [rsp + rdx*2 + 0x28], 0
mov ecx, dword [rax + 0x114]
mov qword [rsp + 0x40], rcx
mov r10d, dword [rax + 0x118]
mov dword [rsp + 0x2f4], edx
mov r8d, r10d
sar r8d, 7
and r10d, 0x7f
mov r9d, dword [rsp + r10*4 + 0x42f8]
movsxd r11, r8d
mov dword [rsp + r11*4 + 0x42f8], r9d
mov dword [rsp + r10*4 + 0x42f8], 0
mov ecx, dword [rsp + r10*4 + 0x90]
mov r9, r10
shl r9, 4
lea rbp, [0x142239ec0]
mov r12, qword [r9 + rbp]
mov r9, qword [r9 + rbp + 8]
mov r15, r11
shl r15, 4
mov r8, qword [r15 + rbp]
mov r15, qword [r15 + rbp + 8]
or r15, r9
xor qword [rsp + 0x208], r15
mov qword [rsp + 0x48], r12
or r8, r12
xor qword [rsp + 0x200], r8
mov ebp, ecx
and ebp, 7
shl rbp, 4
xor qword [rsp + rbp + 0x208], r15
xor qword [rsp + rbp + 0x200], r8
mov ebp, ecx
sar ebp, 3
shl rbp, 4
xor qword [rsp + rbp + 0x288], r15
xor qword [rsp + rbp + 0x280], r8
mov dword [rsp + r10*4 + 0x90], 0
mov dword [rsp + r11*4 + 0x90], ecx
mov r11, qword [rsp + 0x40]
test r11, r11
je 0x140004c6c
mov dword [rsp + r10*4 + 0x90], r11d
mov ecx, r11d
and ecx, 7
shl rcx, 4
mov r8, qword [rsp + rcx + 0x208]
or r8, r9
mov r10, qword [rsp + rcx + 0x200]
mov r15, qword [rsp + 0x48]
or r10, r15
mov qword [rsp + rcx + 0x200], r10
mov qword [rsp + rcx + 0x208], r8
or qword [rsp + 0x200], r10
or qword [rsp + 0x208], r8
mov ecx, r11d
sar ecx, 3
shl rcx, 4
or qword [rsp + rcx + 0x280], r15
or qword [rsp + rcx + 0x288], r9
inc dword [rsp + r11*4 + 0x2a0]
and r11d, 0xfffffff8
inc dword [rsp + r11*4 + 0x2a0]
mov rax, qword [rax + 0x40]
mov qword [rsp + 0x2e8], rax
mov r15d, dword [rsp + 0x38]
mov r9d, dword [rsp + 0x30]
mov r10, qword [rsp + 0x60]
mov r11d, dword [rsp + 0x2c]
mov r8d, dword [rsp + 0x34]
xor r12d, r12d
jmp 0x14000493f
mov rax, qword [rsp + 0x70]
movzx ecx, word [rsp + rax*2 + 0x24]
test cx, cx
mov r8, qword [rsp + 0x88]
jne 0x140004d05
xor eax, eax
cmp word [rsp + r8*2 + 0x24], 0
jne 0x140004d05
mov ecx, dword [rsp + 0x3c]
jmp 0x14000458c
mov rax, qword [rax + 0x40]
mov rax, qword [rax + 0x20]
mov rcx, qword [r14 + 0x40]
cmp rax, qword [rcx + 0x20]
sete bpl
jmp 0x1400044b3
mov rdx, qword [r14 + 0x30]
or rdx, qword [r14 + 0x38]
setne r15b
jmp 0x1400044f6
mov rcx, qword [r14 + 0x40]
mov rdx, qword [rcx + 0x30]
or rdx, qword [rcx + 0x38]
setne cl
and r9b, cl
jmp 0x1400045d5
mov rax, qword [rsp + 0x70]
cmp word [rsp + rax*2 + 0x28], 0
movzx edx, word [rsp + r8*2 + 0x28]
jne 0x140004f26
mov eax, dword [rsp + 0x50]
test dx, dx
jne 0x140004cbb
mov eax, dword [rsp + 0x50]
test cx, cx
je 0x140004cbb
cmp word [rsp + r8*2 + 0x24], 0
mov eax, 0
cmove eax, r11d
jmp 0x140004cbb
mov dword [rsp + 0x3c], 1
jmp 0x1400045c6
mov ecx, dword [rax + 0x14]
jmp 0x1400044a8
mov ecx, dword [rbx + 0x240]
add ecx, dword [rbx + 0x220]
jne 0x140004465
mov dword [rsi], 0
jmp 0x140004f51
mov al, 1
mov dword [rsp + 0x58], eax
mov rcx, rdx
shl rcx, 4
mov qword [rsp + 0x40], r8
vmovdqa xmm1, xmmword [r8 + rcx + 0x70]
vmovdqa xmm2, xmmword [rsp + 0x250]
vptest xmm2, xmm1
jne 0x140004daa
xor ebp, ebp
mov r8, qword [rsp + 0x40]
jmp 0x14000476a
vpand xmm1, xmm2, xmm1
vpextrq rcx, xmm1, 1
vpand xmm0, xmm0, xmmword [rsp + 0x270]
vmovq r8, xmm1
vmovq r11, xmm0
vpextrq r9, xmm0, 1
tzcnt r15, r11
tzcnt r12, r9
or r12, 0x40
test r11, r11
cmovne r12, r15
lea eax, [r10*8 + 1]
mov dword [rsp + 0x68], eax
xor ebp, ebp
tzcnt r10, r8
tzcnt r15, rcx
or r15, 0x40
test r8, r8
cmovne r15, r10
mov r14, r8
add r14, 0xffffffffffffffff
mov rax, rcx
adc rax, 0xffffffffffffffff
mov qword [rsp + 0x80], rax
shl r15, 4
imul r9, r12, 0x5a0
lea r10, [0x14223a460]
add r10, r9
lea rax, [0x142239ec0]
mov r9, qword [r15 + rax]
mov r11, qword [r15 + rax + 8]
xor r11, qword [r15 + r10 + 8]
xor r9, qword [r15 + r10]
tzcnt r10, r9
tzcnt r15, r11
or r15, 0x40
test r9, r9
cmovne r15, r10
mov eax, dword [rsp + 0x68]
cmp dword [rsp + r15*4 + 0x90], eax
jne 0x140004e78
mov r9b, byte [rsp + r15*4 + 0x42f8]
bts ebp, r9d
and r8, r14
and rcx, qword [rsp + 0x80]
mov r9, r8
or r9, rcx
je 0x140004da0
jmp 0x140004df0
cmp byte [0x1400f3454], 0
je 0x140004f59
lea rbp, [rsp + 0x90]
mov rcx, rbp
mov edx, 0xffffffff
call fcn.1400181c0
mov edx, dword [rbp + 0x264]
test al, al
je 0x140004f68
mov r8b, byte [0x1400f5410]
mov rax, qword [rsp + 0x2e8]
xor rdx, 1
movzx ecx, word [rsp + rdx*2 + 0x24]
mov r14, qword [rsp + 0x78]
jmp 0x140004afe
andn eax, eax, dword [rsp + 0x48]
and bp, word [rsp + rdx*2 + 0x28]
and ebp, eax
mov word [rsp + rdx*2 + 0x28], bp
mov cx, 0xffff
test ax, ax
mov r15d, dword [rsp + 0x38]
mov r9d, dword [rsp + 0x30]
mov r10, qword [rsp + 0x60]
mov r11d, dword [rsp + 0x2c]
mov r8d, dword [rsp + 0x34]
jne 0x14000493a
xor ecx, ecx
jmp 0x140004935
xor eax, eax
test dx, dx
jmp 0x140004d3a
lea r14, [rsp + 0x90]
mov rcx, rbx
mov rdx, r14
call fcn.140018150
add edi, 0xffff8300
cmp rax, r14
cmove ebp, edi
mov dword [rsi], ebp
mov bpl, 1
jmp 0x1400044b3
lea rcx, [rsp + 0x90]
call fcn.140015f50
jmp 0x140004f88
xor edx, 1
mov bpl, byte [0x1400f5410]
lea rcx, [rsp + 0x90]
call fcn.140015f50
test bpl, bpl
je 0x140004714
mov dword [rsp + 0x48], eax
mov r8, qword [rsp + 0x2e8]
mov edx, dword [rsp + 0x2f4]
xor edx, 1
mov dword [rsp + 0x58], 0
jmp 0x140004768