Function at 0x4503cb
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, 0x98
mov rbp, rdx
mov r9, qword [rdx]
mov rax, qword [r8 + 0x18]
mov qword [rsp + 0x68], rax
mul r9
mov r14, rax
mov rsi, rdx
mov rax, qword [r8 + 0x10]
mov qword [rsp + 0x60], rax
mul r9
mov r13, rax
mov rdi, rdx
mov r10, qword [r8]
mov qword [rsp + 0x58], r10
mov rax, qword [r8 + 8]
mov qword [rsp + 0x50], rax
mul r9
mov rbx, rdx
mov r8, rax
mov rax, r10
mul r9
mov r12, rax
mov r15, rdx
xor eax, eax
add r15, r8
mov r9, qword [rbp + 8]
mov rdx, qword [rbp + 0x10]
mov qword [rsp + 0x88], rdx
mov rdx, qword [rbp + 0x18]
mov qword [rsp + 0x90], rdx
setb al
setb byte [rsp + 0x15]
add rbx, r13
setb dl
add rbx, rax
adc dl, 0
and dl, 1
mov byte [rsp + 6], dl
add rdi, r14
movzx eax, dl
setb dl
add rdi, rax
adc dl, 0
and dl, 1
mov byte [rsp + 7], dl
movzx r11d, dl
add r11, rsi
movabs rdx, 0xffffffff00000001
mov rax, r12
mul rdx
mov r13, rax
mov r14, rdx
mov edx, 0xffffffff
mov rax, r12
mul rdx
mov r8, rax
mov rbp, rdx
mov rdx, 0xffffffffffffffff
mov rax, r12
mul rdx
mov rsi, rdx
xor edx, edx
add rsi, r8
setb dl
setb byte [rsp + 0x18]
add rdx, rbp
xor r8d, r8d
add rax, r12
setb r8b
setb byte [rsp + 0x19]
add rsi, r15
setb al
add rsi, r8
adc al, 0
and al, 1
add rdx, rbx
mov byte [rsp + 0x10], al
setb al
movzx r10d, byte [rsp + 0x10]
and r10d, 1
add r10, rdx
adc al, 0
and al, 1
add r13, rdi
mov byte [rsp + 0x11], al
setb al
movzx ebx, byte [rsp + 0x11]
and ebx, 1
add rbx, r13
adc al, 0
and al, 1
add r14, r11
mov byte [rsp + 0x12], al
setb r11b
movzx r15d, byte [rsp + 0x12]
and r15d, 1
add r15, r14
adc r11b, 0
mov rax, qword [rsp + 0x68]
mul r9
mov qword [rsp + 0x48], rdx
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x60]
mul r9
mov r8, rax
mov rdi, rdx
and r11b, 1
mov rax, qword [rsp + 0x50]
mul r9
mov r13, rdx
mov rbp, rax
mov rax, qword [rsp + 0x58]
mul r9
mov r12, rax
mov r14, rdx
add r14, rbp
setb byte [rsp + 0x14]
add r13, r8
setb al
movzx r9d, byte [rsp + 0x14]
and r9d, 1
add r9, r13
adc al, 0
and al, 1
mov byte [rsp + 3], al
add rdi, qword [rsp + 0x80]
setb r8b
movzx eax, al
add rdi, rax
adc r8b, 0
and r8b, 1
mov byte [rsp + 0xb], r8b
movzx eax, r8b
add rax, qword [rsp + 0x48]
xor edx, edx
add r12, rsi
setb dl
setb byte [rsp + 0x1c]
add r14, r10
setb r8b
add r14, rdx
adc r8b, 0
and r8b, 1
mov byte [rsp + 0xa], r8b
add r9, rbx
setb r10b
movzx edx, r8b
add r9, rdx
adc r10b, 0
and r10b, 1
mov byte [rsp + 9], r10b
add rdi, r15
setb r8b
movzx edx, r10b
add rdi, rdx
adc r8b, 0
mov byte [rsp + 0x13], r11b
and r8b, 1
mov byte [rsp + 4], r8b
movzx edx, byte [rsp + 0x13]
and edx, 1
movzx r10d, r8b
add r10, rax
setb al
add r10, rdx
adc al, 0
and al, 1
mov byte [rsp + 0x48], al
mov rax, r12
movabs rdx, 0xffffffff00000001
mul rdx
mov rsi, rdx
mov rbx, rax
mov rax, r12
mov edx, 0xffffffff
mul rdx
mov r8, rdx
mov r13, rax
mov rax, r12
mov rdx, 0xffffffffffffffff
mul rdx
mov r15, rdx
xor r11d, r11d
add r15, r13
setb r11b
setb byte [rsp + 0x21]
add r11, r8
xor edx, edx
add rax, r12
setb dl
setb byte [rsp + 0x22]
add r15, r14
setb al
add r15, rdx
adc al, 0
and al, 1
mov byte [rsp + 0x70], al
add r11, r9
setb dl
movzx eax, al
add r11, rax
adc dl, 0
and dl, 1
mov eax, edx
mov byte [rsp + 5], dl
add rbx, rdi
setb dl
movzx eax, al
add rbx, rax
adc dl, 0
and dl, 1
mov byte [rsp + 0xf], dl
add rsi, r10
setb bpl
movzx eax, dl
add rsi, rax
adc bpl, 0
and bpl, 1
mov byte [rsp + 0x26], bpl
mov rax, qword [rsp + 0x68]
mov r10, qword [rsp + 0x88]
mul r10
mov r8, rax
mov qword [rsp + 0x78], rdx
add bpl, byte [rsp + 0x48]
mov rax, qword [rsp + 0x60]
mul r10
mov rdi, rdx
mov r9, rax
mov rax, qword [rsp + 0x50]
mul r10
mov r12, r10
mov r14, rdx
mov r10, rax
mov rax, qword [rsp + 0x58]
mul r12
mov r13, rax
mov r12, rdx
xor eax, eax
add r12, r10
setb al
setb byte [rsp + 0x27]
add r14, r9
setb dl
add r14, rax
adc dl, 0
and dl, 1
mov byte [rsp + 0xd], dl
add rdi, r8
movzx eax, dl
setb dl
add rdi, rax
adc dl, 0
mov qword [rsp + 0x88], rcx
and dl, 1
mov byte [rsp + 0x80], dl
movzx eax, dl
add rax, qword [rsp + 0x78]
xor ecx, ecx
add r13, r15
setb cl
setb byte [rsp + 0x2a]
add r12, r11
setb dl
add r12, rcx
adc dl, 0
and dl, 1
mov byte [rsp + 0x78], dl
add r14, rbx
setb r8b
movzx ecx, dl
add r14, rcx
adc r8b, 0
and r8b, 1
mov byte [rsp + 0xe], r8b
add rdi, rsi
setb dl
movzx ecx, r8b
add rdi, rcx
adc dl, 0
and dl, 1
mov byte [rsp + 0xc], dl
movzx r10d, bpl
add r10, rax
setb cl
movzx eax, dl
add r10, rax
adc cl, 0
and cl, 1
mov r11d, ecx
mov byte [rsp + 8], cl
mov rax, r13
movabs rcx, 0xffffffff00000001
mul rcx
mov rsi, rdx
mov rbx, rax
mov rax, r13
mov ecx, 0xffffffff
mul rcx
mov r8, rdx
mov r9, rax
mov rax, r13
mov rcx, 0xffffffffffffffff
mul rcx
mov r15, rdx
xor ecx, ecx
add r15, r9
setb cl
setb byte [rsp + 0x2f]
add rcx, r8
xor edx, edx
add rax, r13
setb dl
setb byte [rsp + 0x30]
add r15, r12
setb al
add r15, rdx
mov edx, eax
adc dl, 0
mov al, byte [rsp + 6]
mov byte [rsp + 0x16], al
and dl, 1
mov byte [rsp + 6], dl
add rcx, r14
movzx eax, dl
setb dl
add rcx, rax
adc dl, 0
mov al, byte [rsp + 7]
mov byte [rsp + 0x17], al
and dl, 1
mov byte [rsp + 7], dl
add rbx, rdi
movzx eax, dl
setb dl
add rbx, rax
adc dl, 0
mov al, byte [rsp + 3]
mov byte [rsp + 0x1a], al
and dl, 1
mov byte [rsp + 3], dl
add rsi, r10
mov al, byte [rsp + 0xb]
mov byte [rsp + 0x1b], al
setb bpl
movzx eax, dl
add rsi, rax
mov al, byte [rsp + 0xa]
mov byte [rsp + 0x1d], al
mov al, byte [rsp + 9]
mov byte [rsp + 0x1e], al
adc bpl, 0
and bpl, 1
mov byte [rsp + 0x34], bpl
mov rax, qword [rsp + 0x68]
mov r10, qword [rsp + 0x90]
mul r10
mov r8, rax
mov r9, rdx
add bpl, r11b
mov rax, qword [rsp + 0x60]
mul r10
mov r12, rdx
mov rdi, rax
mov rax, qword [rsp + 0x50]
mul r10
mov r11, rdx
mov r13, rax
mov rax, qword [rsp + 0x58]
mul r10
mov r14, rax
mov r10, rdx
xor eax, eax
add r10, r13
setb al
setb byte [rsp + 0x35]
add r11, rdi
setb dl
add r11, rax
adc dl, 0
and dl, 1
mov byte [rsp + 0x68], dl
add r12, r8
movzx eax, dl
setb dl
add r12, rax
adc dl, 0
and dl, 1
mov byte [rsp + 0x60], dl
movzx eax, dl
add rax, r9
xor edx, edx
add r14, r15
setb byte [rsp + 0x38]
setb dl
add r10, rcx
mov cl, byte [rsp + 4]
mov byte [rsp + 0x1f], cl
setb cl
add r10, rdx
adc cl, 0
and cl, 1
mov edx, ecx
mov byte [rsp + 0x58], cl
add r11, rbx
mov cl, byte [rsp + 0x48]
mov byte [rsp + 0x20], cl
setb r8b
movzx ecx, dl
add r11, rcx
adc r8b, 0
and r8b, 1
mov byte [rsp + 0x50], r8b
add r12, rsi
movzx r15d, bpl
setb dl
movzx ecx, r8b
add r12, rcx
adc dl, 0
and dl, 1
mov byte [rsp + 0x48], dl
add r15, rax
movzx eax, dl
setb cl
add r15, rax
adc cl, 0
and cl, 1
mov r8d, ecx
mov byte [rsp + 4], cl
mov rax, r14
movabs rbp, 0xffffffff00000001
mul rbp
mov rbp, rdx
mov r13, rax
mov rax, r14
mov ecx, 0xffffffff
mul rcx
mov rsi, rdx
mov rbx, rax
mov rax, r14
mov rcx, 0xffffffffffffffff
mul rcx
mov rdi, rdx
xor r9d, r9d
add rdi, rbx
setb r9b
setb byte [rsp + 0x3d]
add r9, rsi
xor ecx, ecx
add rax, r14
setb cl
setb byte [rsp + 0x3e]
add rdi, r10
setb al
add rdi, rcx
mov ecx, eax
adc cl, 0
mov al, byte [rsp + 0x70]
mov byte [rsp + 0x23], al
and cl, 1
mov byte [rsp + 0x90], cl
add r9, r11
movzx eax, cl
setb cl
add r9, rax
adc cl, 0
mov al, byte [rsp + 5]
mov byte [rsp + 0x24], al
and cl, 1
mov byte [rsp + 5], cl
add r13, r12
movzx eax, cl
setb r11b
add r13, rax
adc r11b, 0
and r11b, 1
add rbp, r15
movzx eax, r11b
setb r14b
add rbp, rax
mov qword [rsp + 0x70], rbp
adc r14b, 0
and r14b, 1
mov byte [rsp + 0x42], r14b
add r14b, r8b
xor esi, esi
mov r10, rdi
add r10, 1
mov r8d, 0
adc r8b, 0xff
mov al, byte [rsp + 0xf]
mov byte [rsp + 0x25], al
and r8b, 1
movzx eax, r8b
mov rbx, r9
sub rbx, rax
mov ecx, 0
sbb rcx, rcx
movabs rax, 0xffffffff00000001
add rbx, rax
adc cl, 0xff
and cl, 1
movzx r15d, cl
mov r12, r13
sub r12, r15
mov edx, 0
sbb rdx, rdx
and edx, 1
mov r15, rbp
sub r15, rdx
mov eax, 0
sbb rax, rax
mov bpl, byte [rsp + 0xd]
mov byte [rsp + 0x28], bpl
mov ebp, 0xffffffff
add r15, rbp
adc al, 0xff
movzx r14d, r14b
and al, 1
movzx ebp, al
cmp r14, rbp
mov byte [rsp + 0x43], r8b
mov byte [rsp + 0x44], cl
mov byte [rsp + 0x45], dl
mov byte [rsp + 0x46], al
sbb rsi, rsi
and esi, 1
mov byte [rsp + 0x47], sil
mov rax, rsi
neg rax
and rdi, rax
dec rsi
and r10, rsi
or r10, rdi
and r9, rax
and rbx, rsi
or rbx, r9
and r13, rax
and r12, rsi
or r12, r13
and rax, qword [rsp + 0x70]
and rsi, r15
or rsi, rax
mov al, byte [rsp + 0x80]
mov byte [rsp + 0x29], al
mov al, byte [rsp + 0x78]
mov byte [rsp + 0x2b], al
mov al, byte [rsp + 0xe]
mov byte [rsp + 0x2c], al
mov al, byte [rsp + 0xc]
mov byte [rsp + 0x2d], al
mov al, byte [rsp + 8]
mov byte [rsp + 0x2e], al
mov al, byte [rsp + 6]
mov byte [rsp + 0x31], al
mov al, byte [rsp + 7]
mov byte [rsp + 0x32], al
mov al, byte [rsp + 3]
mov byte [rsp + 0x33], al
mov al, byte [rsp + 0x68]
mov byte [rsp + 0x36], al
mov al, byte [rsp + 0x60]
mov byte [rsp + 0x37], al
mov al, byte [rsp + 0x58]
mov byte [rsp + 0x39], al
mov al, byte [rsp + 0x50]
mov byte [rsp + 0x3a], al
mov al, byte [rsp + 0x48]
mov byte [rsp + 0x3b], al
mov al, byte [rsp + 4]
mov byte [rsp + 0x3c], al
mov al, byte [rsp + 0x90]
mov byte [rsp + 0x3f], al
mov al, byte [rsp + 5]
mov byte [rsp + 0x40], al
mov byte [rsp + 0x41], r11b
mov rax, qword [rsp + 0x88]
mov qword [rax], r10
mov qword [rax + 8], rbx
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], rsi
add rsp, 0x98
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret