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

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
lea rbp, [rsp - 0x318]
sub rsp, 0x418
mov rax, qword [0x140104100]
xor rax, rsp
mov qword [rbp + 0x2f0], rax
mov r12, qword [rdx]
mov ebx, r9d
mov dword [rsp + 0x24], ebx
mov edi, r8d
mov dword [rsp + 0x20], r8d
mov rsi, rdx
mov qword [rsp + 0x28], rdx
mov r13, rcx
test rcx, rcx
jne 0x1400643e7
test r12, r12
je 0x1400643dd
cmp dword [r12 + 0x14], 1
jne 0x1400643ac
mov eax, dword [r12 + 0x10]
mov rdx, qword [r12]
test eax, eax
je 0x1400643ac
nop word [rax + rax]
mov byte [rdx], 0
lea rdx, [rdx + 1]
add eax, 0xffffffff
jne 0x1400643a0
mov rax, qword [0x1401075e8]
xor ebx, ebx
mov qword [r12], rbx
mov rcx, r12
mov dword [r12 + 0x10], ebx
test rax, rax
je 0x1400643d5
call rax
mov eax, 0xffffff53
mov qword [rsi], rbx
jmp 0x140064963
call fcn.1400b0cd0
mov qword [rsi], rbx
mov eax, 0xffffff53
jmp 0x140064963
mov r9, qword [rcx + 0x58]
lea rcx, [rsp + 0x30]
mov r8d, dword [r12 + 0x10]
mov rdx, qword [r12]
mov qword [rsp + 0x410], r14
mov qword [rsp + 0x408], r15
call fcn.140081e50
mov r9, r13
lea rcx, [rsp + 0x30]
mov r8d, ebx
mov edx, 5
call fcn.140085360
mov esi, dword [rsp + 0x50]
mov r14d, eax
mov ecx, dword [rsp + 0x38]
test eax, eax
jns 0x14006443f
movzx r15d, byte [rbp + 0x2e8]
jmp 0x140064517
movsxd rbx, dword [rbp - 0x50]
test ebx, ebx
jle 0x1400644ad
lea eax, [rbx + 1]
movsxd rcx, eax
mov rax, qword [0x140107638]
test rax, rax
je 0x14006445d
call rax
jmp 0x140064462
call fcn.1400b5720
mov rdi, rax
test rax, rax
jne 0x14006447d
movzx r15d, byte [rbp + 0x2e8]
mov r14d, 0xffffff83
jmp 0x14006450f
mov rdx, qword [rbp - 0x58]
mov r8, rbx
mov rcx, rdi
call fcn.1400ce550
movzx r15d, byte [rbp + 0x2e8]
mov ecx, dword [rsp + 0x38]
or r15b, 1
mov byte [rbp + 0x2e8], r15b
mov byte [rbx + rdi], 0
mov qword [rbp - 0x58], rdi
jmp 0x1400644b5
movzx r15d, byte [rbp + 0x2e8]
cmp esi, 0x285
jne 0x14006450f
cmp qword [rsp + 0x30], 0
je 0x14006450f
test ecx, ecx
je 0x14006450f
mov rax, qword [0x140107638]
mov edi, ecx
mov ecx, edi
test rax, rax
je 0x1400644dd
call rax
jmp 0x1400644e2
call fcn.1400b5720
mov rbx, rax
test rax, rax
jne 0x1400644f2
mov r14d, 0xffffff83
jmp 0x14006450f
mov rdx, qword [rsp + 0x30]
mov r8, rdi
mov rcx, rbx
call fcn.1400ce550
mov qword [rsp + 0x30], rbx
mov dword [rsp + 0x3c], 1
mov ecx, dword [rsp + 0x38]
mov edi, dword [rsp + 0x20]
xor ebx, ebx
cmp dword [rsp + 0x24], ebx
je 0x140064564
sub esi, 0x206
je 0x140064548
cmp esi, 0x7f
jne 0x140064564
movzx eax, word [r13 + 0xd8]
test ax, ax
js 0x14006453d
cmp ecx, eax
jae 0x140064564
mov r14d, 0xfffffe67
jmp 0x14006474e
movzx eax, word [r13 + 0xda]
test ax, ax
js 0x140064559
cmp ecx, eax
jae 0x140064564
mov r14d, 0xfffffe66
jmp 0x14006474e
test r14d, r14d
jne 0x14006474e
movzx eax, r15b
shr al, 4
and al, 1
cmp edi, 1
je 0x1400645a7
test al, al
jne 0x14006458a
mov r14d, 0xfffffe9b
jmp 0x14006474e
test byte [rbp + 0x2e9], 0x40
jne 0x1400645a7
test byte [rbp + 0x256], 4
jne 0x1400645a7
mov r14d, 0xfffffe9b
jmp 0x14006474e
lea rdx, [rbp + 0x22c]
mov rcx, r13
call fcn.140064170
test eax, eax
jne 0x140064746
mov rax, qword [0x140107638]
mov ecx, 0x68
test rax, rax
je 0x1400645d3
call rax
jmp 0x1400645d8
call fcn.1400b5720
mov rsi, rax
test rax, rax
je 0x140064740
xor eax, eax
xorps xmm0, xmm0
mov dword [rsi], eax
movups xmmword [rsi + 0xc], xmm0
mov qword [rsi + 0x1c], rax
mov dword [rsi + 0x24], eax
mov eax, dword [rsp + 0x50]
mov dword [rsi + 4], eax
cmp dword [rsp + 0x3c], ebx
je 0x140064612
mov rax, qword [rsp + 0x30]
mov qword [rsi + 0x10], rax
mov eax, dword [rsp + 0x38]
mov dword [rsi], eax
movzx r15d, byte [rbp + 0x2e8]
test r15b, 1
je 0x14006462e
mov eax, dword [rbp - 0x50]
mov dword [rsi + 0x18], eax
mov rax, qword [rbp - 0x58]
mov qword [rsi + 0x20], rax
movzx eax, byte [rbp + 0x254]
movzx ecx, r15b
movups xmm0, xmmword [rbp + 0x22c]
mov byte [rsi + 0xb], al
movzx eax, byte [rbp + 0x255]
mov byte [rsi + 0xa], al
movzx eax, byte [rbp + 0x2e9]
shr al, 5
shr cl, 5
xor cl, byte [rsi + 0xc]
and cl, 1
xor cl, byte [rsi + 0xc]
xor al, cl
and al, 2
xor al, cl
mov byte [rsi + 0xc], al
mov rax, qword [rsp + 0x68]
mov qword [rsi + 0x28], rax
mov rax, qword [rsp + 0x70]
mov qword [rsi + 0x30], rax
mov eax, dword [rbp + 0x23c]
movups xmmword [rsi + 0x4c], xmm0
mov dword [rsi + 0x5c], eax
mov eax, dword [rbp - 0x78]
movups xmm0, xmmword [rsp + 0x78]
movups xmmword [rsi + 0x38], xmm0
mov dword [rsi + 0x48], eax
movzx eax, word [rbp + 0x256]
test r15b, r15b
js 0x1400646ab
mov eax, 0xffff
mov word [rsi + 8], ax
lea rcx, [r13 + 0xa8]
mov qword [rsi + 0x60], rbx
movzx eax, byte [rsi + 0x4d]
movzx edi, byte [rsi + 0x4c]
shl edi, 8
or edi, eax
mov qword [rsp + 0x30], rbx
movzx eax, byte [rsi + 0x4e]
shl eax, 8
shl edi, 0x10
or edi, eax
mov qword [rbp - 0x58], rbx
movzx eax, byte [rsi + 0x4f]
or edi, eax
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x70], rbx
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, 0xba2e8ba3
lea rcx, [r13 + 0xa8]
mul edi
shr edx, 3
imul eax, edx, 0xb
sub edi, eax
lea rdx, [rdi*8]
mov rax, qword [rdx + r13]
mov qword [rsi + 0x60], rax
mov qword [rdx + r13], rsi
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rax, qword [r13 + 0x88]
test rax, rax
je 0x14006474e
mov r8d, dword [rsp + 0x20]
mov edx, dword [r12 + 0x10]
mov rcx, qword [r12]
call rax
jmp 0x14006474e
mov r14d, 0xfffffed1
movzx r15d, byte [rbp + 0x2e8]
test r15b, 1
je 0x140064776
mov rcx, qword [rbp - 0x58]
test rcx, rcx
je 0x140064776
mov rax, qword [0x1401075e8]
test rax, rax
je 0x14006476d
call rax
jmp 0x140064776
mov rcx, qword [rbp - 0x58]
call fcn.1400b0cd0
cmp dword [rsp + 0x3c], 1
jne 0x1400647a1
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x1400647a1
mov rax, qword [0x1401075e8]
test rax, rax
je 0x140064797
call rax
jmp 0x1400647a1
mov rcx, qword [rsp + 0x30]
call fcn.1400b0cd0
test r15b, 0x40
mov r15, qword [rsp + 0x408]
je 0x140064801
mov rbx, qword [rsp + 0x58]
test rbx, rbx
je 0x140064801
nop dword [rax]
mov rcx, qword [rbx + 0x10]
mov rdi, qword [rbx]
test rcx, rcx
je 0x1400647e1
mov rax, qword [0x1401075e8]
test rax, rax
je 0x1400647dc
call rax
jmp 0x1400647e1
call fcn.1400b0cd0
mov rax, qword [0x1401075e8]
mov rcx, rbx
test rax, rax
je 0x1400647f4
call rax
jmp 0x1400647f9
call fcn.1400b0cd0
mov rbx, rdi
test rdi, rdi
jne 0x1400647c0
mov rbx, qword [rsp + 0x60]
test rbx, rbx
je 0x140064851
nop dword [rax + rax]
mov rcx, qword [rbx + 0x10]
mov rdi, qword [rbx]
test rcx, rcx
je 0x140064831
mov rax, qword [0x1401075e8]
test rax, rax
je 0x14006482c
call rax
jmp 0x140064831
call fcn.1400b0cd0
mov rax, qword [0x1401075e8]
mov rcx, rbx
test rax, rax
je 0x140064844
call rax
jmp 0x140064849
call fcn.1400b0cd0
mov rbx, rdi
test rdi, rdi
jne 0x140064810
mov rbx, qword [rsp + 0x68]
test rbx, rbx
je 0x1400648a1
nop dword [rax + rax]
mov rcx, qword [rbx + 8]
mov rdi, qword [rbx]
test rcx, rcx
je 0x140064881
mov rax, qword [0x1401075e8]
test rax, rax
je 0x14006487c
call rax
jmp 0x140064881
call fcn.1400b0cd0
mov rax, qword [0x1401075e8]
mov rcx, rbx
test rax, rax
je 0x140064894
call rax
jmp 0x140064899
call fcn.1400b0cd0
mov rbx, rdi
test rdi, rdi
jne 0x140064860
mov rbx, qword [rsp + 0x70]
test rbx, rbx
je 0x1400648f1
nop dword [rax + rax]
mov rcx, qword [rbx + 8]
mov rdi, qword [rbx]
test rcx, rcx
je 0x1400648d1
mov rax, qword [0x1401075e8]
test rax, rax
je 0x1400648cc
call rax
jmp 0x1400648d1
call fcn.1400b0cd0
mov rax, qword [0x1401075e8]
mov rcx, rbx
test rax, rax
je 0x1400648e4
call rax
jmp 0x1400648e9
call fcn.1400b0cd0
mov rbx, rdi
test rdi, rdi
jne 0x1400648b0
lea rcx, [rbp + 0x298]
call fcn.1400838b0
mov rdi, qword [rsp + 0x28]
mov rcx, qword [rdi]
test rcx, rcx
je 0x14006494c
cmp dword [rcx + 0x14], 1
jne 0x14006492c
mov eax, dword [rcx + 0x10]
mov rdx, qword [rcx]
test eax, eax
je 0x14006492c
nop word [rax + rax]
mov byte [rdx], 0
lea rdx, [rdx + 1]
add eax, 0xffffffff
jne 0x140064920
mov rax, qword [0x1401075e8]
xor ebx, ebx
mov qword [rcx], rbx
mov dword [rcx + 0x10], ebx
test rax, rax
je 0x140064944
call rax
jmp 0x140064949
call fcn.1400b0cd0
mov qword [rdi], rbx
test r14d, r14d
mov eax, 1
cmove r14d, eax
mov eax, r14d
mov r14, qword [rsp + 0x410]
mov rcx, qword [rbp + 0x2f0]
xor rcx, rsp
call fcn.1400a3910
add rsp, 0x418
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret