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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x188
mov rsi, rcx
test r8, r8
je 0x140043c69
cmp r8, 1
jne 0x140043ca3
mov ax, 2
xor ecx, ecx
jmp 0x140043c70
mov ecx, 1
xor eax, eax
mov qword [rsi + 8], rcx
mov word [rsi + 0x10], ax
mov word [rsi + 0x16], 0
mov dword [rsi + 0x12], 0
mov qword [rsi + 0x18], r8
mov dword [rsi], 2
add rsp, 0x188
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
movzx edi, word [rdx]
cmp edi, 0x10b
je 0x140043ccd
cmp edi, 0x20b
jne 0x140043ce5
mov eax, 1
cmp r8, 3
jb 0x140043cf3
jne 0x140043d59
mov cx, 3
jmp 0x140043cf7
mov ecx, 1
cmp r8, 3
jb 0x140043d2d
jne 0x140043d79
mov eax, 3
jmp 0x140043d32
mov qword [rsi + 8], 6
mov qword [rsi + 0x10], rdi
jmp 0x140043c89
mov cx, 2
xor r9d, r9d
mov qword [rsi + 8], rax
mov word [rsi + 0x10], cx
mov word [rsi + 0x12], 0
mov dword [rsi + 0x14], 0
mov dword [rsi + 0x18], r9d
movabs rax, 0x1800000000
mov qword [rsi + 0x1c], rax
mov dword [rsi + 0x24], 0
jmp 0x140043c89
mov eax, 2
xor r9d, r9d
mov dword [rsi + 8], ecx
mov dword [rsi + 0xc], 0
mov dword [rsi + 0x10], eax
mov dword [rsi + 0x14], 0
mov dword [rsi + 0x18], r9d
mov dword [rsi + 0x1c], 0
jmp 0x140043c89
mov cx, 4
cmp r8, 5
jb 0x140043e38
lea r9, [r8 - 4]
cmp r9, 4
jae 0x140043e42
xor eax, eax
jmp 0x140043cfa
mov eax, 4
cmp r8, 5
jb 0x140043e3d
lea r9, [r8 - 4]
xor ecx, ecx
cmp r9, 4
jb 0x140043d35
cmp r8, 9
jb 0x140043ed5
lea r9, [r8 - 8]
cmp r9, 4
jb 0x140043d35
cmp r8, 0xd
jb 0x140043eed
lea r9, [r8 - 0xc]
cmp r9, 4
jb 0x140043d35
cmp r8, 0x11
jb 0x140043f05
lea r9, [r8 - 0x10]
cmp r9, 4
jb 0x140043d35
cmp r8, 0x15
jb 0x140043f1d
lea r9, [r8 - 0x14]
cmp r9, 4
jb 0x140043d35
cmp r8, 0x19
jb 0x140043f35
lea r9, [r8 - 0x18]
cmp r9, 4
jb 0x140043d35
cmp r8, 0x1d
jb 0x140043f73
lea rcx, [r8 - 0x1c]
xor r9d, r9d
mov ax, 4
cmp rcx, 4
jb 0x140043f7d
jne 0x14004407d
mov r9d, 1
jmp 0x140043f7d
jmp 0x140043cfa
jmp 0x140043d35
cmp r8, 9
jb 0x140043ecc
lea r9, [r8 - 8]
cmp r9, 4
jb 0x140043d75
cmp r8, 0xd
jb 0x140043ee4
lea r9, [r8 - 0xc]
cmp r9, 4
jb 0x140043d75
cmp r8, 0x11
jb 0x140043efc
lea r9, [r8 - 0x10]
cmp r9, 4
jb 0x140043d75
cmp r8, 0x15
jb 0x140043f14
lea r9, [r8 - 0x14]
cmp r9, 4
jb 0x140043d75
cmp r8, 0x19
jb 0x140043f2c
lea rcx, [r8 - 0x18]
movaps xmm2, xmmword [0x14016e2e0]
cmp rcx, 8
jae 0x140043f44
mov rax, rcx
movaps xmm0, xmm2
jmp 0x140043f63
mov cx, 8
jmp 0x140043cfa
mov eax, 8
mov ecx, 1
jmp 0x140043d35
mov cx, 0xc
jmp 0x140043cfa
mov eax, 0xc
mov ecx, 1
jmp 0x140043d35
mov cx, 0x10
jmp 0x140043cfa
mov eax, 0x10
mov ecx, 1
jmp 0x140043d35
mov cx, 0x14
jmp 0x140043cfa
mov eax, 0x14
mov ecx, 1
jmp 0x140043d35
movaps xmm0, xmmword [0x14016e2d0]
jmp 0x140043f66
mov eax, 0x18
mov ecx, 1
jmp 0x140043d35
jne 0x140043f4f
movaps xmm0, xmmword [0x14016e2f0]
jmp 0x140043f63
lea rax, [r8 - 0x20]
movaps xmm1, xmmword [0x14016e300]
cmp rax, 4
jae 0x140043faf
movaps xmm0, xmm1
movzx eax, ax
movups xmmword [rsi + 8], xmm0
mov qword [rsi + 0x18], rax
jmp 0x140043c89
mov r9d, 1
mov ax, 0x1c
mov dword [rsi + 8], r9d
mov dword [rsi + 0xc], 0
mov word [rsi + 0x10], ax
mov dword [rsi + 0x12], 0
mov word [rsi + 0x16], 0
mov word [rsi + 0x18], cx
mov word [rsi + 0x1a], 0
mov dword [rsi + 0x1c], 0
jmp 0x140043c89
cmp rcx, 0xd
jb 0x140044071
lea rax, [r8 - 0x24]
cmp rax, 4
jb 0x140043f60
mov eax, 1
cmp rcx, 0x11
jb 0x1400440c0
mov r9, rcx
and r9, 0xfffffffffffffffe
movaps xmm0, xmmword [0x14016e330]
cmp r9, 0x10
je 0x140043f63
cmp rcx, 0x13
jb 0x1400440db
cmp r9, 0x12
je 0x140043f63
cmp rcx, 0x15
jb 0x14004416f
cmp r9, 0x14
je 0x140043f63
cmp rcx, 0x17
jb 0x14004418f
cmp r9, 0x16
je 0x140043f63
cmp rcx, 0x19
jb 0x1400441af
cmp r9, 0x18
je 0x140043f63
cmp rcx, 0x1b
jb 0x1400441cf
cmp r9, 0x1a
je 0x140043f63
cmp rcx, 0x1d
jb 0x1400441ef
lea r10, [r8 - 0x34]
cmp r10, 4
jae 0x14004420f
mov rax, r10
movaps xmm0, xmm1
jmp 0x140043f63
movaps xmm0, xmmword [0x14016e310]
jmp 0x140043f4d
lea r10, [r8 - 0x20]
cmp r10, 4
jae 0x14004408f
mov rcx, r10
jmp 0x140043f7d
cmp rcx, 9
jb 0x1400440cc
lea r10, [r8 - 0x24]
cmp r10, 4
jb 0x140044087
cmp rcx, 0xd
jb 0x1400440e7
mov r10, rcx
and r10, 0xfffffffffffffffe
cmp r10, 0xc
jne 0x1400440fb
mov ecx, 1
mov ax, 2
jmp 0x140043f7d
movaps xmm0, xmmword [0x14016e320]
jmp 0x140043f63
mov ax, 8
mov r9d, 1
jmp 0x140043f7d
movaps xmm0, xmmword [0x14016e340]
jmp 0x140043f63
mov ecx, 1
mov ax, 0xc
mov r9d, 1
jmp 0x140043f7d
cmp rcx, 0xf
jb 0x14004417b
cmp r10, 0xe
je 0x1400440b2
cmp rcx, 0x11
jb 0x14004419b
cmp r10, 0x10
je 0x1400440b2
cmp rcx, 0x13
jb 0x1400441bb
cmp r10, 0x12
je 0x1400440b2
cmp rcx, 0x15
jb 0x1400441db
cmp r10, 0x14
je 0x1400440b2
cmp rcx, 0x17
jb 0x1400441fb
cmp r10, 0x16
je 0x1400440b2
cmp rcx, 0x19
jb 0x14004429f
lea r11, [r8 - 0x34]
cmp r11, 4
jae 0x1400442ba
mov rcx, r11
jmp 0x140043f7d
movaps xmm0, xmmword [0x14016e350]
jmp 0x140043f63
mov ecx, 1
mov ax, 0xe
mov r9d, 1
jmp 0x140043f7d
movaps xmm0, xmmword [0x14016e360]
jmp 0x140043f63
mov ecx, 1
mov ax, 0x10
mov r9d, 1
jmp 0x140043f7d
movaps xmm0, xmmword [0x14016e2d0]
jmp 0x140043f63
mov ecx, 1
mov ax, 0x12
mov r9d, 1
jmp 0x140043f7d
movaps xmm0, xmmword [0x14016e370]
jmp 0x140043f63
mov ecx, 1
mov ax, 0x14
mov r9d, 1
jmp 0x140043f7d
movaps xmm0, xmmword [0x14016e380]
jmp 0x140043f4d
mov ecx, 1
mov ax, 0x16
mov r9d, 1
jmp 0x140043f7d
cmp rcx, 0x21
jb 0x1400442ae
lea r10, [r8 - 0x38]
cmp r10, 4
jb 0x140044066
cmp rcx, 0x25
jb 0x1400444a2
lea r10, [r8 - 0x3c]
cmp r10, 4
jb 0x140044066
cmp rcx, 0x29
jb 0x1400444bd
lea r10, [r8 - 0x40]
cmp r10, 4
jb 0x140044066
cmp rcx, 0x2d
jb 0x1400444d8
cmp r9, 0x2c
je 0x140043f63
cmp rcx, 0x2f
jb 0x1400444f3
cmp r9, 0x2e
je 0x140043f63
cmp rcx, 0x31
jb 0x140044513
lea rax, [r8 - 0x48]
cmp rax, 8
jae 0x140044533
movaps xmm0, xmm2
jmp 0x140043f63
mov ax, 0x18
mov r9d, 1
jmp 0x140043f7d
movaps xmm0, xmmword [0x14016e390]
jmp 0x140043f4d
cmp rcx, 0x1d
jb 0x1400444ae
lea r11, [r8 - 0x38]
cmp r11, 4
jb 0x140044167
cmp rcx, 0x21
jb 0x1400444c9
lea r11, [r8 - 0x3c]
cmp r11, 4
jb 0x140044167
cmp rcx, 0x25
jb 0x1400444e4
lea r11, [r8 - 0x40]
cmp r11, 4
jb 0x140044167
cmp rcx, 0x29
jb 0x1400444ff
cmp r10, 0x28
je 0x1400440b2
cmp rcx, 0x2b
jb 0x14004451f
cmp r10, 0x2a
je 0x1400440b2
cmp rcx, 0x2d
jb 0x1400446f8
lea r10, [r8 - 0x48]
cmp r10, 4
jb 0x140044087
cmp rcx, 0x31
jb 0x140044713
lea r10, [r8 - 0x4c]
cmp r10, 4
jb 0x140044087
cmp rcx, 0x35
jb 0x14004472e
lea r10, [r8 - 0x50]
cmp r10, 4
jb 0x140044087
cmp rcx, 0x39
jb 0x140044749
lea r10, [r8 - 0x54]
cmp r10, 4
jb 0x140044087
cmp rcx, 0x3d
jb 0x140044764
lea r10, [r8 - 0x58]
cmp r10, 4
jb 0x140044087
cmp rcx, 0x41
jb 0x14004495a
lea rcx, [r8 - 0x5c]
cmp rcx, 3
jbe 0x140043f7d
movzx eax, byte [rdx + 2]
mov byte [rsp + 0x2d], al
movzx eax, byte [rdx + 3]
mov byte [rsp + 0x2c], al
mov eax, dword [rdx + 4]
mov dword [rsp + 0x5c], eax
mov eax, dword [rdx + 8]
mov dword [rsp + 0x58], eax
mov r13d, dword [rdx + 0xc]
mov eax, dword [rdx + 0x10]
mov dword [rsp + 0x68], eax
mov eax, dword [rdx + 0x14]
mov dword [rsp + 0x60], eax
mov eax, dword [rdx + 0x18]
mov dword [rsp + 0x54], eax
mov eax, dword [rdx + 0x1c]
mov qword [rsp + 0x90], rax
mov eax, dword [rdx + 0x20]
mov dword [rsp + 0x3c], eax
mov r14d, dword [rdx + 0x24]
movzx eax, word [rdx + 0x28]
mov word [rsp + 0x2e], ax
movzx r12d, word [rdx + 0x2a]
movzx ebx, word [rdx + 0x2c]
movzx ebp, word [rdx + 0x2e]
movzx eax, word [rdx + 0x30]
mov word [rsp + 0x36], ax
mov qword [rsp + 0x98], 0x60
movzx eax, word [rdx + 0x32]
mov word [rsp + 0x34], ax
mov eax, dword [rdx + 0x34]
mov dword [rsp + 0x40], eax
mov eax, dword [rdx + 0x38]
mov dword [rsp + 0x50], eax
mov eax, dword [rdx + 0x3c]
mov dword [rsp + 0x4c], eax
mov eax, dword [rdx + 0x40]
mov dword [rsp + 0x48], eax
movzx eax, word [rdx + 0x44]
mov word [rsp + 0x32], ax
movzx eax, word [rdx + 0x46]
mov word [rsp + 0x30], ax
mov eax, dword [rdx + 0x48]
mov qword [rsp + 0x88], rax
mov eax, dword [rdx + 0x4c]
mov qword [rsp + 0x80], rax
mov eax, dword [rdx + 0x50]
mov qword [rsp + 0x78], rax
mov eax, dword [rdx + 0x54]
mov qword [rsp + 0x70], rax
mov eax, dword [rdx + 0x58]
mov dword [rsp + 0x44], eax
mov eax, dword [rdx + 0x5c]
mov dword [rsp + 0x38], eax
jmp 0x14004469a
movaps xmm0, xmmword [0x14016e3a0]
jmp 0x140043f4d
mov ax, 0x1c
mov r9d, 1
jmp 0x140043f7d
movaps xmm0, xmmword [0x14016e3b0]
jmp 0x140043f4d
mov ax, 0x20
mov r9d, 1
jmp 0x140043f7d
movaps xmm0, xmmword [0x14016e3c0]
jmp 0x140043f63
mov ax, 0x24
mov r9d, 1
jmp 0x140043f7d
movaps xmm0, xmmword [0x14016e3d0]
jmp 0x140043f63
mov ecx, 1
mov ax, 0x28
mov r9d, 1
jmp 0x140043f7d
movaps xmm0, xmmword [0x14016e3e0]
jmp 0x140043f4d
mov ecx, 1
mov ax, 0x2a
mov r9d, 1
jmp 0x140043f7d
cmp rcx, 0x39
jb 0x140044707
lea rax, [r8 - 0x50]
cmp rax, 8
jb 0x140044297
cmp rcx, 0x41
jb 0x140044722
lea rax, [r8 - 0x58]
cmp rax, 8
jb 0x140044297
cmp rcx, 0x49
jb 0x14004473d
lea rax, [r8 - 0x60]
movaps xmm0, xmm2
cmp rax, 8
jb 0x140043f63
cmp rcx, 0x51
jb 0x140044758
lea rax, [r8 - 0x68]
cmp rax, 4
jb 0x140043f60
cmp rcx, 0x55
jb 0x140044773
lea rax, [r8 - 0x6c]
movaps xmm0, xmm1
cmp rax, 3
jbe 0x140043f63
movzx eax, byte [rdx + 2]
mov byte [rsp + 0x2d], al
movzx eax, byte [rdx + 3]
mov byte [rsp + 0x2c], al
mov eax, dword [rdx + 4]
mov dword [rsp + 0x5c], eax
mov eax, dword [rdx + 8]
mov dword [rsp + 0x58], eax
mov r13d, dword [rdx + 0xc]
mov eax, dword [rdx + 0x10]
mov dword [rsp + 0x68], eax
mov eax, dword [rdx + 0x14]
mov dword [rsp + 0x60], eax
mov rax, qword [rdx + 0x18]
mov qword [rsp + 0x90], rax
mov eax, dword [rdx + 0x20]
mov dword [rsp + 0x3c], eax
mov r14d, dword [rdx + 0x24]
movzx eax, word [rdx + 0x28]
mov word [rsp + 0x2e], ax
movzx r12d, word [rdx + 0x2a]
movzx ebx, word [rdx + 0x2c]
movzx ebp, word [rdx + 0x2e]
movzx eax, word [rdx + 0x30]
mov word [rsp + 0x36], ax
movzx eax, word [rdx + 0x32]
mov word [rsp + 0x34], ax
mov qword [rsp + 0x98], 0x70
mov eax, dword [rdx + 0x34]
mov dword [rsp + 0x40], eax
mov eax, dword [rdx + 0x38]
mov dword [rsp + 0x50], eax
mov eax, dword [rdx + 0x3c]
mov dword [rsp + 0x4c], eax
mov eax, dword [rdx + 0x40]
mov dword [rsp + 0x48], eax
movzx eax, word [rdx + 0x44]
mov word [rsp + 0x32], ax
movzx eax, word [rdx + 0x46]
mov word [rsp + 0x30], ax
mov rax, qword [rdx + 0x48]
mov qword [rsp + 0x88], rax
mov rax, qword [rdx + 0x50]
mov qword [rsp + 0x80], rax
mov rax, qword [rdx + 0x58]
mov qword [rsp + 0x78], rax
mov rax, qword [rdx + 0x60]
mov qword [rsp + 0x70], rax
mov eax, dword [rdx + 0x68]
mov dword [rsp + 0x44], eax
mov eax, dword [rdx + 0x6c]
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x54], 0
mov r9d, dword [rsp + 0x38]
lea rax, [rsp + 0x98]
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0xc8]
call fcn.140041b70
mov r15d, dword [rsp + 0xc8]
cmp r15d, 2
jne 0x14004477f
movups xmm0, xmmword [rsp + 0xd0]
movups xmm1, xmmword [rsp + 0xe0]
movups xmmword [rsp + 0xb4], xmm1
movups xmmword [rsp + 0xa4], xmm0
movups xmmword [rsi + 0x18], xmm1
movups xmmword [rsi + 8], xmm0
jmp 0x140043c89
mov ax, 0x2c
mov r9d, 1
jmp 0x140043f7d
movaps xmm0, xmmword [0x14016e3f0]
jmp 0x140043f4d
mov ax, 0x30
mov r9d, 1
jmp 0x140043f7d
movaps xmm0, xmmword [0x14016e400]
jmp 0x140043f4d
mov ax, 0x34
mov r9d, 1
jmp 0x140043f7d
movaps xmm0, xmmword [0x14016e410]
jmp 0x140043f4d
mov ax, 0x38
mov r9d, 1
jmp 0x140043f7d
movaps xmm0, xmmword [0x14016e420]
jmp 0x140043f4d
mov ax, 0x3c
mov r9d, 1
jmp 0x140043f7d
movaps xmm0, xmmword [0x14016e430]
jmp 0x140043f4d
movzx eax, bp
shl rax, 0x30
movzx ecx, bx
shl rcx, 0x20
or rcx, rax
movzx eax, r12w
shl rax, 0x10
or rax, rcx
movzx ebx, word [rsp + 0x2e]
or rbx, rax
shl r14, 0x20
mov r12d, dword [rsp + 0x3c]
or r12, r14
mov eax, dword [rsp + 0x60]
mov qword [rsp + 0x60], rax
mov eax, dword [rsp + 0x68]
mov qword [rsp + 0x68], rax
mov r13d, r13d
mov r14d, dword [rsp + 0x58]
mov ebp, dword [rsp + 0x5c]
mov eax, dword [rsp + 0xec]
mov dword [rsp + 0xc0], eax
movups xmm0, xmmword [rsp + 0xcc]
movups xmm1, xmmword [rsp + 0xdc]
movaps xmmword [rsp + 0xb0], xmm1
movaps xmmword [rsp + 0xa0], xmm0
lea rdx, [rsp + 0xf0]
lea rcx, [rsi + 0x28]
mov r8d, 0x98
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [rsp + 0xc0]
mov dword [rsi + 0x24], eax
movaps xmm0, xmmword [rsp + 0xa0]
movaps xmm1, xmmword [rsp + 0xb0]
movups xmmword [rsi + 0x14], xmm1
movups xmmword [rsi + 4], xmm0
mov dword [rsi], r15d
mov qword [rsi + 0xc0], rbp
mov qword [rsi + 0xc8], r14
mov qword [rsi + 0xd0], r13
mov rax, qword [rsp + 0x68]
mov qword [rsi + 0xd8], rax
mov rax, qword [rsp + 0x60]
mov qword [rsi + 0xe0], rax
mov eax, dword [rsp + 0x54]
mov dword [rsi + 0xe8], eax
mov word [rsi + 0xec], di
movzx eax, byte [rsp + 0x2d]
mov byte [rsi + 0xee], al
movzx eax, byte [rsp + 0x2c]
mov byte [rsi + 0xef], al
mov rax, qword [rsp + 0x90]
mov qword [rsi + 0xf0], rax
mov qword [rsi + 0xf8], r12
mov qword [rsi + 0x100], rbx
movzx eax, word [rsp + 0x36]
mov word [rsi + 0x108], ax
movzx eax, word [rsp + 0x34]
mov word [rsi + 0x10a], ax
mov eax, dword [rsp + 0x40]
mov dword [rsi + 0x10c], eax
mov eax, dword [rsp + 0x50]
mov dword [rsi + 0x110], eax
mov eax, dword [rsp + 0x4c]
mov dword [rsi + 0x114], eax
mov eax, dword [rsp + 0x48]
mov dword [rsi + 0x118], eax
movzx eax, word [rsp + 0x32]
mov word [rsi + 0x11c], ax
movzx eax, word [rsp + 0x30]
mov word [rsi + 0x11e], ax
mov rax, qword [rsp + 0x88]
mov qword [rsi + 0x120], rax
mov rax, qword [rsp + 0x80]
mov qword [rsi + 0x128], rax
mov rax, qword [rsp + 0x78]
mov qword [rsi + 0x130], rax
mov rax, qword [rsp + 0x70]
mov qword [rsi + 0x138], rax
mov eax, dword [rsp + 0x44]
mov dword [rsi + 0x140], eax
mov eax, dword [rsp + 0x38]
mov dword [rsi + 0x144], eax
mov qword [rsi + 0x148], 0
jmp 0x140043c8f
mov ax, 0x40
mov r9d, 1
jmp 0x140043f7d