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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
mov eax, dword [rdx]
mov rbx, rdx
mov dword [0x1400df540], eax
mov eax, dword [rdx + 4]
mov dword [0x1400df544], eax
movsd xmm0, qword [rdx + 8]
movsd qword [0x1400df548], xmm0
movss xmm1, dword [rdx + 0x10]
movss dword [0x1400df550], xmm1
movss xmm0, dword [rdx + 0x14]
movss dword [0x1400df554], xmm0
mov rax, qword [rdx + 0x18]
mov qword [0x1400df558], rax
mov rax, qword [rdx + 0x20]
mov qword [0x1400df560], rax
mov rax, qword [rdx + 0x28]
mov qword [0x1400df568], rax
mov rax, qword [rdx + 0x30]
mov qword [0x1400df570], rax
movss xmm0, dword [rdx + 0x38]
movss dword [0x1400df578], xmm0
movzx eax, byte [rdx + 0x3c]
mov byte [0x1400df57c], al
mov rax, qword [rdx + 0x40]
mov qword [0x1400df580], rax
movsd xmm0, qword [rdx + 0x48]
movsd qword [0x1400df588], xmm0
movzx eax, byte [rdx + 0x50]
mov byte [0x1400df590], al
movzx eax, byte [rdx + 0x51]
mov byte [0x1400df591], al
movzx eax, byte [rdx + 0x52]
mov byte [0x1400df592], al
movzx eax, byte [rdx + 0x53]
mov byte [0x1400df593], al
movzx eax, byte [rdx + 0x54]
mov byte [0x1400df594], al
movzx eax, byte [rdx + 0x55]
mov byte [0x1400df595], al
movzx eax, byte [rdx + 0x56]
mov byte [0x1400df596], al
movzx eax, byte [rdx + 0x57]
mov byte [0x1400df597], al
movzx eax, byte [rdx + 0x58]
mov byte [0x1400df598], al
movzx eax, byte [rdx + 0x59]
mov byte [0x1400df599], al
movzx eax, byte [rdx + 0x5a]
mov byte [0x1400df59a], al
movzx eax, byte [rdx + 0x5b]
mov byte [0x1400df59b], al
movzx eax, byte [rdx + 0x5c]
mov byte [0x1400df59c], al
movzx eax, byte [rdx + 0x5d]
mov byte [0x1400df59d], al
movzx eax, byte [rdx + 0x5e]
mov byte [0x1400df59e], al
movzx eax, byte [rdx + 0x5f]
mov byte [0x1400df59f], al
movss xmm0, dword [rdx + 0x60]
movss dword [0x1400df5a0], xmm0
movss xmm1, dword [rdx + 0x64]
movss dword [0x1400df5a4], xmm1
movss xmm0, dword [rdx + 0x68]
movss dword [0x1400df5a8], xmm0
movss xmm1, dword [rdx + 0x6c]
movss dword [0x1400df5ac], xmm1
movss xmm0, dword [rdx + 0x70]
movss dword [0x1400df5b0], xmm0
movss xmm1, dword [rdx + 0x74]
movss dword [0x1400df5b4], xmm1
movzx eax, byte [rdx + 0x78]
mov byte [0x1400df5b8], al
movzx eax, byte [rdx + 0x79]
mov byte [0x1400df5b9], al
movzx eax, byte [rdx + 0x7a]
mov byte [0x1400df5ba], al
movzx eax, byte [rdx + 0x7b]
mov byte [0x1400df5bb], al
mov rax, qword [rdx + 0x80]
mov qword [0x1400df5c0], rax
mov rax, qword [rdx + 0x88]
lea rcx, [rdx + 0xf4]
mov qword [0x1400df5c8], rax
lea r10, [0x1400df630]
mov rax, qword [rdx + 0x90]
lea rsi, [0x1400df540]
mov qword [0x1400df5d0], rax
sub r10, rdx
mov rax, qword [rdx + 0x98]
mov r9d, 0x14d
mov qword [0x1400df5d8], rax
mov r8d, r9d
mov rax, qword [rdx + 0xa0]
mov qword [0x1400df5e0], rax
mov rax, qword [rdx + 0xa8]
mov qword [0x1400df5e8], rax
mov rax, qword [rdx + 0xb0]
mov qword [0x1400df5f0], rax
mov rax, qword [rdx + 0xb8]
mov qword [0x1400df5f8], rax
mov rax, qword [rdx + 0xc0]
mov qword [0x1400df600], rax
movzx eax, word [rdx + 0xc8]
mov word [0x1400df608], ax
movzx eax, byte [rdx + 0xca]
mov byte [0x1400df60a], al
movzx eax, byte [rdx + 0xcb]
mov byte [0x1400df60b], al
movzx eax, byte [rdx + 0xcc]
mov byte [0x1400df60c], al
movzx eax, byte [rdx + 0xcd]
mov byte [0x1400df60d], al
movzx eax, byte [rdx + 0xce]
mov byte [0x1400df60e], al
movzx eax, byte [rdx + 0xcf]
mov byte [0x1400df60f], al
movzx eax, byte [rdx + 0xd0]
mov byte [0x1400df610], al
movss xmm0, dword [rdx + 0xd4]
movss dword [0x1400df614], xmm0
mov eax, dword [rdx + 0xd8]
mov dword [0x1400df618], eax
mov eax, dword [rdx + 0xdc]
mov dword [0x1400df61c], eax
mov eax, dword [rdx + 0xe0]
mov dword [0x1400df620], eax
mov eax, dword [rdx + 0xe4]
mov dword [0x1400df624], eax
movsd xmm0, qword [rdx + 0xe8]
mov rdx, rsi
sub rdx, rbx
movsd qword [0x1400df628], xmm0
nop dword [rax]
mov eax, dword [rcx - 4]
mov dword [r10 + rcx - 0xf4], eax
mov eax, dword [rcx]
mov dword [rdx + rcx], eax
lea rcx, [rcx + 8]
sub r8, 1
jne 0x140052c70
lea r10, [0x1400e0098]
mov r8, r9
sub r10, rbx
lea rcx, [rbx + 0xb59]
nop
movzx eax, byte [rcx - 1]
mov byte [r10 + rcx - 0xb59], al
movzx eax, byte [rcx]
mov byte [rcx + rdx], al
lea rcx, [rcx + 2]
sub r8, 1
jne 0x140052ca0
movss xmm0, dword [rbx + 0xdf4]
lea rcx, [0x1400e03b0]
movss dword [0x1400e0334], xmm0
sub rcx, rbx
movss xmm1, dword [rbx + 0xdf8]
movss dword [0x1400e0338], xmm1
movss xmm0, dword [rbx + 0xdfc]
movss dword [0x1400e033c], xmm0
movss xmm1, dword [rbx + 0xe00]
movss dword [0x1400e0340], xmm1
movss xmm0, dword [rbx + 0xe04]
movss dword [0x1400e0344], xmm0
movss xmm1, dword [rbx + 0xe08]
movss dword [0x1400e0348], xmm1
movss xmm0, dword [rbx + 0xe0c]
movss dword [0x1400e034c], xmm0
movss xmm1, dword [rbx + 0xe10]
movss dword [0x1400e0350], xmm1
movss xmm0, dword [rbx + 0xe14]
movss dword [0x1400e0354], xmm0
movss xmm1, dword [rbx + 0xe18]
movss dword [0x1400e0358], xmm1
movss xmm0, dword [rbx + 0xe1c]
movss dword [0x1400e035c], xmm0
movss xmm1, dword [rbx + 0xe20]
movss dword [0x1400e0360], xmm1
movss xmm0, dword [rbx + 0xe24]
movss dword [0x1400e0364], xmm0
movss xmm1, dword [rbx + 0xe28]
movss dword [0x1400e0368], xmm1
movss xmm0, dword [rbx + 0xe2c]
movss dword [0x1400e036c], xmm0
movss xmm1, dword [rbx + 0xe30]
movss dword [0x1400e0370], xmm1
mov rax, qword [rbx + 0xe38]
mov qword [0x1400e0378], rax
mov rax, qword [rbx + 0xe40]
mov qword [0x1400e0380], rax
movsd xmm0, qword [rbx + 0xe48]
movsd qword [0x1400e0388], xmm0
movzx eax, byte [rbx + 0xe50]
mov byte [0x1400e0390], al
movzx eax, byte [rbx + 0xe51]
mov byte [0x1400e0391], al
movzx eax, byte [rbx + 0xe52]
mov byte [0x1400e0392], al
movzx eax, byte [rbx + 0xe53]
mov byte [0x1400e0393], al
movzx eax, byte [rbx + 0xe54]
mov byte [0x1400e0394], al
movss xmm0, dword [rbx + 0xe58]
movss dword [0x1400e0398], xmm0
movss xmm1, dword [rbx + 0xe5c]
movss dword [0x1400e039c], xmm1
mov eax, dword [rbx + 0xe60]
mov dword [0x1400e03a0], eax
mov eax, dword [rbx + 0xe64]
mov dword [0x1400e03a4], eax
movzx eax, byte [rbx + 0xe68]
mov byte [0x1400e03a8], al
movzx eax, byte [rbx + 0xe69]
mov byte [0x1400e03a9], al
movzx eax, byte [rbx + 0xe6a]
mov byte [0x1400e03aa], al
movzx eax, byte [rbx + 0xe6b]
mov byte [0x1400e03ab], al
mov eax, dword [rbx + 0xe6c]
mov dword [0x1400e03ac], eax
lea rax, [rbx + 0xe80]
nop dword [rax]
nop word [rax + rax]
movups xmm0, xmmword [rax - 0x10]
lea rax, [rax + 0x20]
movups xmmword [rcx + rax - 0xea0], xmm0
movups xmm0, xmmword [rax - 0x20]
movups xmmword [rdx + rax - 0x20], xmm0
sub r9, 1
jne 0x140052ec0
movzx eax, byte [rbx + 0x3810]
mov byte [0x1400e2d50], al
movsd xmm0, qword [rbx + 0x3814]
movsd qword [0x1400e2d54], xmm0
movsd xmm1, qword [rbx + 0x381c]
movsd qword [0x1400e2d5c], xmm1
movsd xmm0, qword [rbx + 0x3824]
movsd qword [0x1400e2d64], xmm0
movsd xmm1, qword [rbx + 0x382c]
movsd qword [0x1400e2d6c], xmm1
movsd xmm0, qword [rbx + 0x3834]
movsd qword [0x1400e2d74], xmm0
movsd xmm1, qword [rbx + 0x383c]
movsd qword [0x1400e2d7c], xmm1
movsd xmm0, qword [rbx + 0x3848]
movsd qword [0x1400e2d88], xmm0
movsd xmm1, qword [rbx + 0x3850]
movsd qword [0x1400e2d90], xmm1
movsd xmm0, qword [rbx + 0x3858]
movsd qword [0x1400e2d98], xmm0
movsd xmm1, qword [rbx + 0x3860]
movsd qword [0x1400e2da0], xmm1
movsd xmm0, qword [rbx + 0x3868]
movsd qword [0x1400e2da8], xmm0
movzx eax, byte [rbx + 0x3870]
mov byte [0x1400e2db0], al
movzx eax, byte [rbx + 0x3871]
mov byte [0x1400e2db1], al
movzx eax, byte [rbx + 0x3872]
mov byte [0x1400e2db2], al
movzx eax, byte [rbx + 0x3873]
mov byte [0x1400e2db3], al
movzx eax, byte [rbx + 0x3874]
mov byte [0x1400e2db4], al
movzx eax, byte [rbx + 0x3875]
mov byte [0x1400e2db5], al
movzx eax, byte [rbx + 0x3876]
mov byte [0x1400e2db6], al
movzx eax, byte [rbx + 0x3877]
mov byte [0x1400e2db7], al
movzx eax, byte [rbx + 0x3878]
mov byte [0x1400e2db8], al
movzx eax, byte [rbx + 0x3879]
mov byte [0x1400e2db9], al
movzx eax, word [rbx + 0x387a]
mov word [0x1400e2dba], ax
movzx eax, word [rbx + 0x387c]
mov word [0x1400e2dbc], ax
movzx eax, word [rbx + 0x387e]
mov word [0x1400e2dbe], ax
movzx eax, word [rbx + 0x3880]
mov word [0x1400e2dc0], ax
movzx eax, word [rbx + 0x3882]
mov word [0x1400e2dc2], ax
movzx eax, word [rbx + 0x3884]
mov word [0x1400e2dc4], ax
movzx eax, word [rbx + 0x3886]
mov word [0x1400e2dc6], ax
movzx eax, word [rbx + 0x3888]
mov word [0x1400e2dc8], ax
movzx eax, word [rbx + 0x388a]
mov word [0x1400e2dca], ax
movzx eax, word [rbx + 0x388c]
mov word [0x1400e2dcc], ax
movzx eax, byte [rbx + 0x388e]
mov byte [0x1400e2dce], al
movzx eax, byte [rbx + 0x388f]
mov byte [0x1400e2dcf], al
movzx eax, byte [rbx + 0x3890]
mov byte [0x1400e2dd0], al
movzx eax, byte [rbx + 0x3891]
mov byte [0x1400e2dd1], al
movzx eax, byte [rbx + 0x3892]
mov byte [0x1400e2dd2], al
movzx eax, byte [rbx + 0x3893]
mov byte [0x1400e2dd3], al
movzx eax, byte [rbx + 0x3894]
mov byte [0x1400e2dd4], al
movzx eax, byte [rbx + 0x3895]
mov byte [0x1400e2dd5], al
movzx eax, byte [rbx + 0x3896]
mov byte [0x1400e2dd6], al
lea rcx, [0x1400e2e50]
movzx eax, byte [rbx + 0x3897]
mov byte [0x1400e2dd7], al
movzx eax, byte [rbx + 0x3898]
mov byte [0x1400e2dd8], al
movzx eax, byte [rbx + 0x3899]
mov byte [0x1400e2dd9], al
movzx eax, byte [rbx + 0x389a]
mov byte [0x1400e2dda], al
movzx eax, byte [rbx + 0x389b]
mov byte [0x1400e2ddb], al
movzx eax, byte [rbx + 0x389c]
mov byte [0x1400e2ddc], al
movzx eax, byte [rbx + 0x389d]
mov byte [0x1400e2ddd], al
movss xmm0, dword [rbx + 0x38a0]
movss dword [0x1400e2de0], xmm0
movss xmm1, dword [rbx + 0x38a4]
movss dword [0x1400e2de4], xmm1
movss xmm0, dword [rbx + 0x38a8]
movss dword [0x1400e2de8], xmm0
movss xmm1, dword [rbx + 0x38ac]
movss dword [0x1400e2dec], xmm1
movss xmm0, dword [rbx + 0x38b0]
movss dword [0x1400e2df0], xmm0
movss xmm1, dword [rbx + 0x38b4]
movss dword [0x1400e2df4], xmm1
movss xmm0, dword [rbx + 0x38b8]
movss dword [0x1400e2df8], xmm0
movss xmm1, dword [rbx + 0x38bc]
movss dword [0x1400e2dfc], xmm1
movss xmm0, dword [rbx + 0x38c0]
movss dword [0x1400e2e00], xmm0
movss xmm1, dword [rbx + 0x38c4]
movss dword [0x1400e2e04], xmm1
movsd xmm0, qword [rbx + 0x38c8]
movsd qword [0x1400e2e08], xmm0
movsd xmm1, qword [rbx + 0x38d0]
movsd qword [0x1400e2e10], xmm1
movsd xmm0, qword [rbx + 0x38d8]
movsd qword [0x1400e2e18], xmm0
movsd xmm1, qword [rbx + 0x38e0]
movsd qword [0x1400e2e20], xmm1
movsd xmm0, qword [rbx + 0x38e8]
movsd qword [0x1400e2e28], xmm0
movss xmm1, dword [rbx + 0x38f0]
movss dword [0x1400e2e30], xmm1
movss xmm0, dword [rbx + 0x38f4]
movss dword [0x1400e2e34], xmm0
movss xmm1, dword [rbx + 0x38f8]
movss dword [0x1400e2e38], xmm1
movss xmm0, dword [rbx + 0x38fc]
movss dword [0x1400e2e3c], xmm0
movss xmm1, dword [rbx + 0x3900]
movss dword [0x1400e2e40], xmm1
movss xmm0, dword [rbx + 0x3904]
movss dword [0x1400e2e44], xmm0
movzx eax, byte [rbx + 0x3908]
mov byte [0x1400e2e48], al
movzx eax, byte [rbx + 0x3909]
mov byte [0x1400e2e49], al
movzx eax, byte [rbx + 0x390a]
mov byte [0x1400e2e4a], al
movzx eax, byte [rbx + 0x390b]
mov byte [0x1400e2e4b], al
movzx eax, word [rbx + 0x390c]
mov word [0x1400e2e4c], ax
call fcn.140001030
movsxd rdi, dword [rbx + 0x3910]
mov ecx, dword [0x1400e2e54]
cmp edi, ecx
jle 0x140053350
test ecx, ecx
je 0x140053338
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x14005333d
mov eax, 8
cmp eax, edi
lea rcx, [0x1400e2e50]
mov edx, edi
cmovg edx, eax
call fcn.14002b5b0
mov dword [0x1400e2e50], edi
mov rdx, qword [rbx + 0x3918]
test rdx, rdx
je 0x140053374
mov rcx, qword [0x1400e2e58]
mov r8, rdi
add r8, r8
call sub.VCRUNTIME140.dll_memcpy
mov rbx, qword [rsp + 0x30]
mov rax, rsi
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret