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

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
mov eax, 0x2fd8
call fcn.14008e440
sub rsp, rax
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0x2f40], xmm7
movaps xmmword [rbp + 0x2f30], xmm6
and rsp, 0xffffffffffffffe0
mov qword [rsp + 0x7a8], r9
mov r14, rdx
mov qword [rsp + 0xa68], rcx
movabs rbx, 0x8000000000000000
mov rax, qword [rdx + 0xa8]
test byte [rax + 0x3c], 1
mov qword [rsp + 0x730], r8
mov qword [rsp + 0x78], rdx
jne 0x140046e02
lea rax, [r14 + 0x60]
cmp byte [r14 + 0x78], 3
lea rcx, [0x14009a5d0]
cmovne rcx, rax
mov al, byte [rcx + 0x18]
cmp al, 2
jne 0x140046e0f
cmp byte [r14 + 0x84], 0
je 0x140046e02
mov r13, r8
mov bl, byte [r14 + 0x82]
lea rsi, [rsp + 0xb60]
push 0xa
pop rax
mov qword [rsi], rax
mov qword [rsi + 8], rax
mov qword [rsi + 0x10], 0x64
mov qword [rsi + 0x18], 0xfa
lea rdi, [rsp + 0x1a40]
and qword [rdi], 0
mov qword [rdi + 8], 8
and qword [rdi + 0x10], 0
mov byte [rsi + 0x20], 0
mov rax, qword [rsp + 0x7a8]
lea r15, [rax*8]
xor r12d, r12d
lea r14, [rsp + 0x1380]
cmp r15, r12
je 0x140046e48
mov r8, qword [r13 + r12]
mov rcx, r14
mov rdx, rsi
call fcn.140082b38
mov rcx, rdi
mov rdx, r14
call fcn.1400626af
mov rcx, r14
call fcn.140060b5f
add r12, 8
jmp 0x140046dd4
mov byte [rsp + 0x1378], 2
jmp 0x140046fe1
mov rdx, qword [rcx]
mov r8, qword [rcx + 8]
lock inc qword [rdx]
jle case.default.0x1400482a3
mov rcx, qword [rcx + 0x10]
mov qword [rsp + 0x1360], rdx
mov qword [rsp + 0x1368], r8
mov qword [rsp + 0x1370], rcx
mov byte [rsp + 0x1378], al
jmp 0x140046fe1
cmp bl, 2
je 0x140046e6c
and bl, 1
jne 0x140046e6c
lea rsi, [rsp + 0x1a40]
mov rcx, rsi
call fcn.14006275f
mov rcx, rsi
call fcn.140062cc5
jmp 0x140046e79
lea rcx, [rsp + 0x1a40]
call fcn.14006a258
mov r14, qword [rsp + 0x78]
mov r8, qword [rsp + 0x1a50]
mov qword [rsp + 0xae0], r8
movdqu xmm0, xmmword [rsp + 0x1a40]
movdqa xmmword [rsp + 0xad0], xmm0
mov cl, byte [r14 + 0x82]
cmp cl, 2
setne al
test cl, 1
sete r9b
mov rcx, qword [rsp + 0xad8]
xor edx, edx
movabs rbx, 0x8000000000000000
cmp qword [rsp + 0xad0], rbx
cmovne rdx, rcx
je 0x140046f42
and al, r9b
mov r9, r8
shl r9, 5
test r9, r9
je 0x140046ef5
add r9, 0xffffffffffffffe0
cmp byte [rcx + 0x18], 0
lea rcx, [rcx + 0x20]
jne 0x140046ee0
jmp 0x140046f42
cmp qword [r14 + 0xa0], 1
jne 0x140046f42
mov rcx, qword [r14 + 0x98]
mov rcx, qword [rcx]
cmp qword [rcx + 0x30], 0
jne 0x140046f42
cmp dword [rcx + 0x38], 0
setne cl
or al, cl
jne 0x140046f42
lea rsi, [rsp + 0xb60]
mov rcx, rsi
call fcn.14005fd4c
mov r12, rbx
mov rbx, qword [rsi]
lea rax, [r12 + 7]
cmp rbx, rax
jne 0x14005a60f
mov rbx, r12
lea rcx, [rsp + 0x2060]
and qword [rcx], 0
call fcn.14000bed3
cmp qword [rsp + 0x7a8], 1
jne 0x140046f87
cmp qword [r14 + 0xa0], 0
je case.default.0x1400482a3
mov rax, qword [r14 + 0x98]
mov rax, qword [rax]
cmp dword [rax + 0x38], 0
jne 0x140046f87
cmp qword [rax + 0x30], 0
je 0x14005967f
xchg dl, dh
xor dword [rcx], eax
add byte [rbx + rcx*4 + 0x6c], cl
add cl, byte [rax]
add byte [rax], al
add ah, bh
invalid
and al, 0x35
invalid
mov word [rax + rax], fs
invalid
lea rdx, [rsp + 0xb6b]
mov dil, byte [rdx - 3]
mov r14b, byte [rdx - 2]
mov r15b, byte [rdx - 1]
lea rcx, [rsp + 0x1380]
mov r8d, 0x135
call sub.VCRUNTIME140.dll_memcpy
lea rdx, [rsp + 0xca0]
lea rcx, [rsp + 0x1a40]
mov r8d, 0xe0
call sub.VCRUNTIME140.dll_memcpy
mov rax, rbx
xor rax, r12
cmp rax, 7
invalid
push 4
pop rcx
cmovb rcx, rax
lea rax, [0x1400f3a28]
movsxd rcx, dword [rax + rcx*4]
add rcx, rax
jmp rcx
lea rdx, [rsp + 0x17d0]
and qword [rdx], 0
lea rsi, [rsp + 0xb60]
mov rcx, rsi
call fcn.1400605f6
lea rax, [r12 + 4]
cmp qword [rsi], rax
jne case.default.0x1400482a3
mov rbx, qword [rsp + 0xb68]
push 0x20
pop rcx
push 8
pop rdx
call fcn.140032f6e
mov rsi, rax
push 1
pop rax
mov qword [rsi], rax
mov qword [rsi + 8], rax
mov qword [rsi + 0x10], rbx
mov byte [rsi + 0x18], dil
lea rax, [0x14009aae0]
jmp 0x14005b222
mov ebx, 0
add byte [rax], al
add byte [rax + 0x10ff8348], al
mov eax, dword [rsp + rdi + 0x1350]
lea rdx, [rsp + 0x17d0]
lea rdx, [rsp + 0x17d0]
and qword [rdx], 0
lea rdx, [rsp + 0x17d0]
and qword [rdx], 0
lea rsi, [rsp + 0xb60]
mov rcx, rsi
call fcn.1400605f6
lea rax, [r12 + 4]
cmp qword [rsi], rax
jne case.default.0x1400482a3
lea rdx, [rsp + 0x1395]
lea rcx, [rsp + 0xb70]
mov rdi, qword [rcx - 8]
mov r8d, 0x120
call sub.VCRUNTIME140.dll_memcpy
push 0x20
pop rdx
mov ecx, 0x160
add al, ch
pop rdi
jle 0x14005b10b
dec dword [rax - 0x77]
invalid
push 1
pop rax
mov qword [rsi], rax
mov qword [rsi + 8], rax
mov dword [rsi + 8], eax
lea rdx, [rsp + 0x17d0]
and qword [rdx], 0
lea rsi, [rsp + 0xb60]
mov rcx, rsi
call fcn.1400605f6
lea rax, [r12 + 4]
and al, 4
lea rdx, [rsp + 0x17d0]
and qword [rdx], 0
lea rsi, [rsp + 0xb60]
mov rcx, rsi
call fcn.1400605f6
lea rax, [r12 + 4]
cmp qword [rsi], rax
jne case.default.0x1400482a3
mov rbx, qword [rsp + 0xb68]
push 8
pop rdx
mov ecx, 0x118
call fcn.140032f6e
mov rsi, rax
push 1
pop rax
mov qword [rsi], rax
mov qword [rsi + 8], rax
mov byte [rsi + 0x10], dil
mov byte [rsi + 0x11], r14b
mov byte [rsi + 0x12], r15b
lea rcx, [rsi + 0x13]
lea rdx, [rsp + 0x1380]
mov r8d, 0xfd
call sub.VCRUNTIME140.dll_memcpy
mov qword [rsi + 0x110], rbx
lea rax, [0x14009ac30]
lea rcx, [rsp + 0x1d10]
mov byte [rcx], dil
mov byte [rcx + 1], r14b
mov byte [rcx + 2], r15b
movdqu xmm0, xmmword [rsp + 0x1380]
movdqu xmmword [rcx + 3], xmm0
mov rax, qword [rsp + 0x138d]
mov qword [rcx + 0x10], rax
call fcn.140060af5
mov rsi, rax
lea rax, [0x14009ab88]
jmp 0x14005b22c
add byte [rax - 0x73], cl
test byte [rax + rdx], ah
sbb eax, 0x100f0000
or byte [rdi], cl
adc byte [rax + 0x18], cl
invalid
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
or byte [rbx + rcx*4 + 0x74], 0x24
je 0x14005fac3
add byte [rax], al
add byte [rax], al
or byte [rax + 0x39], 0xc3
mov dword [rsp + 0x518], esi
invalid
or eax, 0x92156
add al, 0x89
test byte [rsp + rax], ah
add al, 1
add byte [rax], al
mov dword [rsp + 0x100], 8
jmp 0x140061add
invalid
rol eax, 0x20
add byte [rax], al
test byte [rcx + rcx - 0xb80000], bl
and al, 0x10
mov esi, dword [rsp + 0x48]
and al, 0x60
add byte [r9], r8b
out dx, al
xchg byte [rsp + rax], dl
add byte [rcx + 0x448b48d7], cl
and al, 0x60
mov ecx, dword [rsp + 0x528]
sbb cl, byte [rdi + 0x63]
sbb al, 0x98
cmp edx, esi
lea edi, [rsp + 0x2f0]
lea eax, [rbp + rax*4]
mov esp, 0x9024
mov ebp, dword [rsp + 0x88]
out dx, eax
add dword [rdi], ecx
invalid
int1
loop 0x140062359
add al, ah
std
inc dword [rax + rax*8 - 0x74b71d8b]
loop 0x1400623c2
mov rcx, qword [rsp + 0x48]
mov dword [rcx + rax*4], esp
and al, 0x81
invalid
cmp edx, ecx
adc byte [rcx - 0x77], cl
sbb byte [rcx - 0x77], cl
mov dword [rax + 0x20], ecx
mov byte [r8 + 0x28], r10b
mov qword [rsp + 0x20], r13
add dword [rax], eax
or al, ch
invalid
ror byte [rdi], 0x84
push rsi
add eax, dword [rax]
add byte [rbx + 0xa42484], cl
movsb byte [rdi], byte [rsi]
add byte [rax], al
invalid
mov eax, dword [rsp + 0x40]
lea r14, [rax - 1]
adc byte [rax - 0x7b], cl
add ecx, eax
mov edx, dword [rdi + 0x148]
invalid
add al, 9
xor edi, edi
invalid
mov eax, dword [rsp + 0x40]
mov eax, dword [rsp + 0x30]
cmp dh, bh
invalid
and al, 0x40
add byte [rcx], 0
and al, 0x28
invalid
mov edx, dword [rsp + 0x28]
mov edx, dword [rsp + 0x28]
test eax, 0xebfffddb
push rsi
mov rcx, qword [rsp + 0x30]
and al, 0x30
mov eax, dword [rsp + 0x40]
mov ecx, dword [rsp + 0x30]
call fcn.1400648e6
xor byte [rax - 0x75], cl
test dword [rax], ebp
std
invalid
idiv ah
invalid
and al, 0x7c
add byte [rax], al
add byte [rax], al
stc
mov eax, 0x48000000
mov edx, eax
add dword [rax - 0x77], ecx
xor byte [rax - 0x75], cl
add byte [rax], 0
add byte [rax - 0x77], cl
and al, 0x70
add al, 0x89
and al, 0x54
and al, 0x54
ror byte [rdi], cl
test byte [rbp + 2], dh
add byte [rax], al
lea edx, [rsp + 0x50]
mov ecx, dword [rsp + 0x30]
and al, 0x28
invalid
add byte [rax], al
add byte [rax - 0x75], cl
xchg edi, eax
add qword [rax], rax
add byte [rax + 0x6b], cl
invalid
lea ecx, [0x1400f3cb4]
and al, 0x90
add byte [rax], al
add byte [rcx + rcx*4 - 0x16], al
invalid
or dword [rax], eax
mov qword [rsp + 0x20], rax
mov edx, dword [rsp + 0x68]
add dword [rdi], ecx
or al, byte [rax]
add byte [rcx - 0x77], cl
invalid
and al, 0x50
mov dword [rsp + 0x70], eax
test eax, eax
mov edi, dword [rsp + 0x88]
add al, 0xfe
push rsp
and al, 0x50
and al, 0x54
push rsp
add al, byte [rax]
sub cl, byte [rbp + rcx*4 + 4]
add dword [rax], eax
add byte [rax - 0x7d], cl
jl 0x140063f83
invalid
cmp byte [rax], al
and al, 0x28
and al, 0x30
or byte [rax - 0x73], cl
sub byte [rdi], cl
test ah, bl
add byte [rax], al
mov ecx, 0x48000006
mov eax, dword [rsp + 0x30]
and al, 0x30
add byte [rax - 0x75], cl
and al, 0x30
and al, 0x30
sub byte [rbx + rcx*4 + 0x44], cl
and al, 0x38
sub byte [rbx + rcx*4 + 0x44], cl
cmp al, ch
fadd qword [rdi]
invalid
ret 0xfffd
mov edx, dword [rsi + 0x98]
lea eax, [rdx + rcx]
add al, 0xf
mov esp, 0x8d480840
invalid
lea ecx, [0x1400f3bdc]
cmp byte [rax], al
add byte [rax], al
mov edx, r13d
fld dword [rsi]
add byte [rax], al
invalid
scasd eax, dword [rdi]
xor byte [rax + 0xfbf083c], al
invalid
idiv edi
dec dword [rax - 0x75]
mov word [rax + rax*4], fs
and al, 0x80
add eax, 0x8d480000
add al, 0xdd
add byte [rax], al
invalid
add byte [rax], al
add byte [rax - 0x77], cl
mov dword [rsp + 0x70], eax
mov dword [rsi + 0x10], eax
mov ebp, dword [rax + 4]
jl 0x14006433d
push rsp
test eax, eax
add byte [rax], al
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x28]
mov r8, qword [rsp + 0x38]
and al, 0x38
and al, 0x38
invalid
and al, 0x38
add byte [rdi], cl
invalid
je 0x14006457f
mov rcx, qword [rsp + 0x40]
adc byte [rcx], al
add byte [rax], al
pop rsi
mov dword [rax + 0x70], eax
and dword [rcx], 0
add byte [rax], al
invalid
or byte [rax - 0x77], cl
and al, 0x50
dec dword [rcx + 0xe02494]
add byte [rax], al
add rax, qword [r8]
enter 0xffffffffffffc031, 0xffffffffffffff80
call 0x184065cb4
mov eax, eax
invalid
shl byte [rcx + rax], 0x88
and al, 0x6e
and al, 0x6e
test byte [rax + rsi*4], ah
add byte [rax], al
add byte [rdx + 0x44882843], cl
mov al, byte [rbx + 0x28]
invalid
invalid
invalid
mov ah, 0x24
enter 0, 0
add byte [rax], al
and al, 0x78
mov edx, ecx
mov ecx, dword [rdi + 0xb8]
and al, 0x74
and al, 0x70
jo 0x140065ea3
invalid
pop rax
add al, 0x8b
invalid
add al, 0x8a
jmp 0x12a065ca8
and al, 0x50
invalid
std
invalid
add byte [rax - 0x75], cl
adc dword [rcx], 1
add byte [rax], al
add byte [rax + 0xf00083c], al
add cl, ch
and al, 0x50
and al, 0x60
and al, 0x60
and al, 0x60
or byte [rax - 0x73], cl
invalid
add byte [rax], al
mov eax, dword [rsi + riz*8]
push rax
invalid
add byte [rax], al
mov rcx, qword [rsp + 0x50]
push rax
pop rax
pop rax
and al, 0x60
add byte [rax], al
and al, 0x50
mov rdx, qword [rsp + 0x48]
mov edx, dword [rsp + 0x48]
lea ecx, [0x14009b4f1]
or byte [rax], al
and al, 0x58
std
and al, 0x48
mov ecx, edi
lea eax, [rsi*8]
adc al, 1
fld qword [rax]
add byte [rax], al
cmp dword [rsp + 0x58], 0
push rax
and al, 0x48
and dword [rdi + rax], 0
add dword [rax], eax
and al, 0x58
and al, 0x50
xchg edi, eax
add byte [rax], al
add byte [rax - 0x75], cl
mov rax, qword [rsp + 0x58]
pop qword [rax]
add byte [rax], al
and al, 0x58
sub cl, byte [rax - 0x75]
and al, 0x50
and al, 0x48
mov eax, dword [rsp + 0x58]
invalid
mov eax, dword [rdi + 0xa8]
or byte [rsi], al
add byte [rax], al
or dword [rax + 1], 0x48e0ffc8
test ch, ch
idiv edi
invalid
and al, 0x50
mov esp, edx
add byte [rax], al
mov eax, dword [rsp + 0xf0]
lodsb al, byte [rsi]
test ch, ch
in eax, dx
add bl, ch
pop rdi
add al, 0xc5
add byte [rax], al
add byte [rax], al
add byte [rax - 0x7d], cl
add byte [rcx - 0x75], cl
je case.0x140061959.291
mov eax, dword [rsp + 0x20]
mov dword [rsp + 0x70], eax
ror byte [rcx - 0x73], 0x40
add dword [rax - 0x77], ecx
xor byte [r9 - 0x75], r9b
xor byte [rcx - 0x75], cl
invalid
jg 0x14006714b
std
pop rdi
ret 0x772
mov edx, dword [rdi + 0x20]
lea eax, [rdx*8]
cmp eax, edi
clc
add byte [rax], al
add byte [rax], al
add byte [rax], al
and byte [r9 + 1], r15b
add al, 0x24
and al, 0x20
add byte [rax - 0x75], cl
add byte [rbx + rdi - 0x5c], cl
wait
and al, 0x58
jbe case.0x14006618b.127
cmp esi, dword [rsp + 0x70]
or eax, 0x8ca05
invalid
mov dword [rsp + 0x48], esi
pop rax
cmp esi, dword [rsp + 0x118]
mov ah, 0x24
sbb byte [rcx], al
invalid
and al, 0x58
pop rax
fcom st(2)
mov ecx, dword [rsp + 0x40]
imul edx, ebx, 0xe2e9ffff
mov eax, dword [rsp + 0x40]
invalid
invalid
in eax, dx
xor dword [rax + 6], 0
add byte [rax - 1], cl
inc rbx
test byte [rax + rdx], ah
add dword [rax], eax
add byte [rcx - 0x73], cl
and al, 1
add dword [rax], eax
add byte [rdx + 0x7b881], cl
invalid
add byte [rax], al
mov byte [rsp + 0x3e], al
and al, 0x3e
mov rax, qword ds:[rcx]
invalid
mov dword [rsp + 0x98], eax
add byte [rax - 0x75], cl
sbb dword [rax + 0x4800000a], 0x30248489
add dword [rax], eax
add byte [rax], al
xor rdx, 2
mov qword [rsp + 0x118], rdx
invalid
invalid
invalid
enter 0, 0
add byte [rax], al
add byte [rax], al
movabs al, byte [0x7824548b48000000]
mov al, 0
add byte [rax], al
add byte [rax + 0x3f247c], al
fiadd word [0xc94eb281]
je 0x14006b2a7
and byte [rax - 0x73], cl
mov word [rax + rax*4], fs
std
dec dword [rax - 0x75]
invalid
invalid
mov esi, ebp
dec dword [rbp - 0x77]
mov ah, 0x24
add byte [rax], 0
add al, byte [rax]
add bl, dh
movq mm0, qword [rsp + 0x80]
and al, 0x20
rol byte [rax], 1
add byte [rax], al
invalid
sbb byte [rcx - 0x77], cl
add eax, dword [rax]
add byte [rax + 0x39], cl
sti
cmp eax, esi
mov dword [rsp + 0xb0], ebx
mov ecx, edi
mov dword [rsi + 0x10], eax
movq mm0, qword [rsp + 0x58]
mov eax, dword [rax]
clc
add dh, byte [rbx + 0x1a]
mov dword [rsp + 0x28], edx
mov dword [rsp + 0x20], ecx
sub ebx, ecx
enter 0xa0, 0
add byte [rcx + rax - 0x37], cl
add ecx, ecx
add ecx, ecx
mov ecx, esi
dec dword [rax - 0x7f]
invalid
ror byte [rcx + rdi - 0x3e], 0xf
xchg edx, eax
ror byte [rax - 0x7d], 0xfa
add eax, 0x4bb
add byte [rax + 0xf], cl
fimul dword [r9 + r13*2 - 0x3d]
movabs al, byte [0x854803e0c1000000]
add byte [rax], al
shl eax, 3
test rcx, rcx
add byte [rax], al
and al, 0x28
add byte [rax - 0x73], cl
invalid
jl 0x14006f9ef
cmp byte [rbp + rcx*4 + 0x4c], cl
and al, 0x20
ret 0xa1e8
add byte [rax + 0x50c48348], al
ror byte [rdi], 0xb
mov dh, 0xf9
dec dword [rax - 0x77]
invalid
invalid
add al, 0
add byte [rax], al
invalid
add al, ch
retf
invalid
add al, 0
add byte [rax], al
mov eax, dword [rcx]
cmp eax, eax
sbb eax, 0x3e1c148
loope case.0x14005a670.2497
mov ecx, edi
xchg esp, eax
and al, 0xc0
add byte [rax], al
invalid
and al, 0x50
add al, 0x82
invalid
mov eax, ecx
cmovb eax, ecx
add dword [rax], eax
mov dword [rax + 0x10], ecx
sub byte [rbx + 0xf004860], al
adc dword [rax + 0x38], eax
or cl, byte [rdi]
or byte [rax], r10b
sub eax, dword [rdx]
add byte [rcx + rax - 0x1d], cl
add ebx, esp
mov eax, dword [rcx + rsi + 8]
add dword [rbp + 0x38], eax
adc byte [rdx + 0x3b], cl
sbb al, 0x30
test dword [rax + 0x48000000], esi
mov ebp, ebx
cmp ecx, dword [rdi]
xchg esp, eax
cmovb ebp, ecx
idiv dh
call 0x144e7d29f
and al, 0x38
cmp dword [rsp + 0x38], 0
sub esp, 0x28
mov qword [rsp + 0x20], 2
and al, 0x20
add al, byte [rax]
add byte [rax], al
lea r9, [0x14009a4c8]
invalid
mov eax, esi
add byte [rax], al
add byte [rax - 0x77], cl
mov eax, esi
in al, dx
cmp byte [rcx + rcx*4 - 0x39], al
add al, ch
pushfq
sti
dec dword [rax - 0x7b]
invalid
lea esi, [rsp + 0x20]
and byte [rdi], cl
adc dword [rsi], eax
invalid
loope 0x140072798
bnd call fcn.14007269f
and al, 0x50
movaps xmmword [rsp + 0x60], xmm0
dec dword [rax - 0x43]
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax + 0x38458b49], al
and al, 0x88
cmp byte [r8 - 0x7b], r9b
ror byte [rdi], 0x84
mov esi, 0x48000000
dec eax
and al, 0xa8
add byte [rax], al
mov word [rax + rbp*8], fs
add dword [rax], eax
add byte [rax - 0x73], cl
test byte [rax + rbx], ah
add al, byte [rax]
add byte [rax], al
invalid
push rbp
mov edi, edx
jno 0x140072d0d
add byte [rax], al
add byte [rax - 0x77], cl
mov rdi, rcx