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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rbp
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x37]
sub rsp, 0xd0
mov rax, qword [0x140072048]
xor rax, rsp
mov qword [rbp + 0x27], rax
mov rsi, rcx
call fcn.14001f7a0
test al, al
je 0x140021e5f
xorps xmm0, xmm0
movups xmmword [rbp + 7], xmm0
mov qword [rbp + 0x17], 0xa
mov qword [rbp + 0x1f], reloc.OLEAUT32.dll_SafeArrayDestroy
movsd xmm0, qword [str._iCritical]
movsd qword [rbp + 7], xmm0
movzx eax, word [0x140067680]
mov word [rbp + 0xf], ax
mov byte [rbp + 0x11], 0
lea rdx, [rbp + 7]
mov rcx, rsi
call fcn.1400043b0
mov rbx, rax
cmp byte [rax + 0xb0], 0
je 0x1400217fe
mov bl, 1
jmp 0x140021e25
xor r12d, r12d
mov qword [rax + 0x10], r12
mov dword [rax], r12d
mov dword [rax + 4], 2
mov word [rax + 0xb4], 0x100
mov byte [rax + 0xb1], 1
mov byte [rax + 0xb3], 1
xorps xmm0, xmm0
movups xmmword [rbp - 0x19], xmm0
mov ecx, 0x90
call fcn.140030ae4
mov rcx, rax
mov qword [rbp - 0x19], rax
mov qword [rbp - 9], 0x8c
mov qword [rbp - 1], 0x8f
movaps xmm0, xmmword [str.0F_28_F0_83_3D_F6_01_00_00_01_0F_85_1C_00_00_00_48_B9_00_04_FF_3F_01_00_00_00_48_39_39_0F_85_09_00_00_00_B9_10_27_00_00_F3_0F_2A_F1_48_8B_CF]
movups xmmword [rax], xmm0
movaps xmm1, xmmword [0x1400676a0]
movups xmmword [rax + 0x10], xmm1
movaps xmm0, xmmword [0x1400676b0]
movups xmmword [rax + 0x20], xmm0
movaps xmm1, xmmword [0x1400676c0]
movups xmmword [rax + 0x30], xmm1
movaps xmm0, xmmword [0x1400676d0]
movups xmmword [rax + 0x40], xmm0
movaps xmm1, xmmword [0x1400676e0]
movups xmmword [rax + 0x50], xmm1
movaps xmm0, xmmword [0x1400676f0]
movups xmmword [rax + 0x60], xmm0
movaps xmm1, xmmword [0x140067700]
movups xmmword [rax + 0x70], xmm1
movsd xmm0, qword [0x140067710]
movsd qword [rax + 0x80], xmm0
mov eax, dword [0x140067718]
mov dword [rcx + 0x88], eax
mov byte [rcx + 0x8c], r12b
xorps xmm0, xmm0
movups xmmword [rbp - 0x39], xmm0
lea ecx, [r12 + 0x20]
call fcn.140030ae4
mov qword [rbp - 0x39], rax
mov qword [rbp - 0x29], SafeArrayGetElement
mov qword [rbp - 0x21], 0x1f
movups xmm0, xmmword [str.48_8B_CF_0F_28_F0]
movups xmmword [rax], xmm0
movzx ecx, byte [0x140067730]
mov byte [rax + 0x10], cl
mov byte [rax + 0x11], r12b
xorps xmm0, xmm0
movups xmmword [rbp - 0x59], xmm0
lea ecx, [r12 + 0x30]
call fcn.140030ae4
mov qword [rbp - 0x59], rax
mov qword [rbp - 0x49], 0x29
mov qword [rbp - 0x41], 0x2f
movups xmm0, xmmword [str.48_8B_CF_0F_28_F0_FF___0F_28__F3_0F_58]
movups xmmword [rax], xmm0
movups xmm1, xmmword [0x140067748]
movups xmmword [rax + 0x10], xmm1
movsd xmm0, qword [0x140067758]
movsd qword [rax + 0x20], xmm0
movzx ecx, byte [0x140067760]
mov byte [rax + 0x28], cl
mov byte [rax + 0x29], r12b
lea r9, [rbp - 0x19]
lea r8, [rbp - 0x39]
lea rdx, [rbp - 0x59]
mov rcx, rbx
call fcn.140003ae0
nop
mov rdx, qword [rbp - 0x41]
cmp rdx, 0x10
jb 0x1400219ab
inc rdx
mov rcx, qword [rbp - 0x59]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400219a5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140021e8d
call fcn.140030ab0
nop
mov rdx, qword [rbp - 0x21]
cmp rdx, 0x10
jb 0x1400219e7
inc rdx
mov rcx, qword [rbp - 0x39]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400219e1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140021e93
call fcn.140030ab0
nop
mov rdx, qword [rbp - 1]
cmp rdx, 0x10
jb 0x140021a22
inc rdx
mov rcx, qword [rbp - 0x19]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140021a1d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140021ea5
call fcn.140030ab0
movabs r14, 0x13fff0400
mov dword [rsp + 0x38], r12d
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x28], r12
mov edi, 1
mov dword [rsp + 0x20], edi
xor r9d, r9d
xor r8d, r8d
mov rdx, rbx
lea rcx, [rsi + 0xf8]
call fcn.14002c390
test al, al
jne 0x140021cac
xorps xmm0, xmm0
movups xmmword [rbp - 0x59], xmm0
mov ecx, 0x90
call fcn.140030ae4
mov rcx, rax
mov qword [rbp - 0x59], rax
mov qword [rbp - 0x49], 0x8f
mov qword [rbp - 0x41], 0x8f
movaps xmm0, xmmword [str.83_3D_F9_01_00_00_01_0F_85_1C_00_00_00_48_B9_00_04_08_9A_F7_7F_00_00_48_39_39_0F_85_09_00_00_00_B9_10_27_00_00_F3_0F_2A_F1_48_8B_CF_F3_0F_58_FE]
movups xmmword [rax], xmm0
movaps xmm1, xmmword [0x140067780]
movups xmmword [rax + 0x10], xmm1
movaps xmm0, xmmword [0x140067790]
movups xmmword [rax + 0x20], xmm0
movaps xmm1, xmmword [0x1400677a0]
movups xmmword [rax + 0x30], xmm1
movaps xmm0, xmmword [0x1400677b0]
movups xmmword [rax + 0x40], xmm0
movaps xmm1, xmmword [0x1400677c0]
movups xmmword [rax + 0x50], xmm1
movaps xmm0, xmmword [0x1400677d0]
movups xmmword [rax + 0x60], xmm0
movaps xmm1, xmmword [0x1400677e0]
movups xmmword [rax + 0x70], xmm1
movsd xmm0, qword [0x1400677f0]
movsd qword [rax + 0x80], xmm0
mov eax, dword [0x1400677f8]
mov dword [rcx + 0x88], eax
movzx eax, word [0x1400677fc]
mov word [rcx + 0x8c], ax
movzx eax, byte [0x1400677fe]
mov byte [rcx + 0x8e], al
mov byte [rcx + 0x8f], 0
xorps xmm0, xmm0
movups xmmword [rbp - 0x39], xmm0
lea ecx, [rdi + 0x1f]
call fcn.140030ae4
mov qword [rbp - 0x39], rax
mov qword [rbp - 0x29], SafeArrayGetElement
mov qword [rbp - 0x21], 0x1f
movups xmm0, xmmword [str.48_8B_CF_F3_0F_58_FE]
movups xmmword [rax], xmm0
mov ecx, dword [0x140067810]
mov dword [rax + 0x10], ecx
mov byte [rax + 0x14], 0
xorps xmm0, xmm0
movups xmmword [rbp - 0x19], xmm0
lea ecx, [rdi + 0x1f]
call fcn.140030ae4
mov qword [rbp - 0x19], rax
mov qword [rbp - 9], reloc.OLEAUT32.dll_SafeArrayUnaccessData
mov qword [rbp - 1], 0x1f
movups xmm0, xmmword [str.48_8B_CF_F3_0F_58_FE_E8]
movups xmmword [rax], xmm0
mov ecx, dword [0x140067828]
mov dword [rax + 0x10], ecx
movzx ecx, word [0x14006782c]
mov word [rax + 0x14], cx
movzx ecx, byte [0x14006782e]
mov byte [rax + 0x16], cl
mov byte [rax + 0x17], 0
lea r9, [rbp - 0x59]
lea r8, [rbp - 0x39]
lea rdx, [rbp - 0x19]
mov rcx, rbx
call fcn.140003ae0
nop
mov rdx, qword [rbp - 1]
cmp rdx, 0x10
jb 0x140021bf8
inc rdx
mov rcx, qword [rbp - 0x19]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140021bf2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140021e99
call fcn.140030ab0
nop
mov rdx, qword [rbp - 0x21]
cmp rdx, 0x10
jb 0x140021c34
inc rdx
mov rcx, qword [rbp - 0x39]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140021c2e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140021e9f
call fcn.140030ab0
nop
mov rdx, qword [rbp - 0x41]
cmp rdx, 0x10
jb 0x140021c6f
inc rdx
mov rcx, qword [rbp - 0x59]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140021c6a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140021ea5
call fcn.140030ab0
movabs r14, 0x7ff79a080400
mov dword [rsp + 0x38], r12d
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x28], r12
mov dword [rsp + 0x20], edi
xor r9d, r9d
mov r8b, 1
mov rdx, rbx
lea rcx, [rsi + 0xf8]
call fcn.14002c390
test al, al
jne 0x140021cac
xor bl, bl
jmp 0x140021e25
mov rdx, 0xffffffffffffffff
lea rcx, [rsi + 0xf8]
call fcn.14002b6e0
mov qword [rbx + 0x18], rax
xorps xmm0, xmm0
movups xmmword [rbp - 0x59], xmm0
mov qword [rbp - 0x49], 7
mov qword [rbp - 0x41], reloc.OLEAUT32.dll_SafeArrayDestroy
mov rax, qword [str.iPlayer]
mov dword [rbp - 0x59], eax
movzx eax, word [0x140066f74]
mov word [rbp - 0x55], ax
movzx eax, byte [0x140066f76]
mov byte [rbp - 0x53], al
mov byte [rbp - 0x52], 0
lea rdx, [rbp - 0x59]
mov rcx, rsi
call fcn.1400293f0
mov r9, r14
and r9d, 0xfff
add r9, qword [rax + 0x18]
lea rdx, [rbx + 0xf8]
mov r8, r14
mov rcx, rbx
call fcn.140003f70
nop
mov rdx, qword [rbp - 0x41]
cmp rdx, 0x10
jb 0x140021d65
inc rdx
mov rcx, qword [rbp - 0x59]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140021d60
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140021eab
call fcn.140030ab0
xorps xmm0, xmm0
movups xmmword [rbp - 0x59], xmm0
mov qword [rbp - 0x49], rdi
mov qword [rbp - 0x41], reloc.OLEAUT32.dll_SafeArrayDestroy
mov word [rbp - 0x59], 0x39
mov rbx, qword [rbx + 0x18]
add rbx, 0x200
lea rdx, [rbp - 0x59]
mov rcx, rsi
call fcn.1400293f0
mov qword [rax + 0x10], rbx
mov dword [rax + 0x3c], edi
mov ecx, dword [rax + 0x4c]
cmp ecx, 0x7fffffff
je 0x140021db1
cmp ecx, 1
jge 0x140021db1
mov dword [rax + 0x3c], ecx
mov edi, ecx
mov edx, dword [rax + 0x50]
cmp edx, 0x80000000
je 0x140021dc3
cmp edi, ecx
jge 0x140021dc3
mov dword [rax + 0x3c], edx
mov dword [rax + 0x40], r12d
mov byte [rax + 0xb4], 1
mov byte [rax + 0xb2], 0
mov dword [rax], 2
mov rdx, qword [rbp - 0x41]
cmp rdx, 0x10
jb 0x140021e16
inc rdx
mov rcx, qword [rbp - 0x59]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140021e11
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140021eb1
call fcn.140030ab0
lea rdx, [rbp + 7]
mov rcx, rsi
call fcn.140023a80
movzx ebx, al
mov rdx, qword [rbp + 0x1f]
cmp rdx, 0x10
jb 0x140021e5c
inc rdx
mov rcx, qword [rbp + 7]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140021e57
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140021e87
call fcn.140030ab0
movzx eax, bl
mov rcx, qword [rbp + 0x27]
xor rcx, rsp
call fcn.140030a90
lea r11, [rsp + 0xd0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret
call fcn.140037434
nop
call fcn.140037434
nop
call fcn.140037434
nop
call fcn.140037434
nop
call fcn.140037434
nop
call fcn.140037434
int3
call fcn.140037434
int3
call fcn.140037434
int3