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

Disassembly:
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r15
sub rsp, 0x48
mov r15, qword [rcx]
xor esi, esi
mov ebp, edx
mov edi, esi
mov rdx, rcx
cmp dword [r15 + 0x280], esi
je 0x1400460df
mov eax, dword [rcx + 0x40]
test eax, eax
je 0x1400460df
mov qword [rsp + 0x30], r13
lea r13d, [rax - 1]
mov eax, esi
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x28], r14
mov dword [rsp + 0x80], eax
cmp dword [r15 + 0x28], eax
jle 0x140045fcc
mov ecx, esi
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x88], rcx
nop dword [rax + rax]
mov rbx, qword [r15 + 0x20]
mov rbx, qword [rcx + rbx + 8]
test rbx, rbx
je 0x140045fa3
cmp ebp, 2
jne 0x140045f13
cmp byte [rbx + 0x10], 2
mov ebp, esi
jne 0x140045f0f
mov r14, qword [rbx + 8]
cmp byte [rbx + 0x11], sil
je 0x140045eba
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], sil
jne 0x140045eba
mov rcx, rbx
call fcn.140033ad0
mov rcx, qword [r14]
mov r8d, r13d
mov edx, 2
call fcn.1400302d0
mov ebp, eax
test eax, eax
jne 0x140045efb
test r13d, r13d
jns 0x140045ee0
test byte [r14 + 0x26], 8
je 0x140045ee0
mov dword [r14 + 0x3c], esi
mov rcx, r14
call fcn.140036a30
mov ebp, eax
mov rax, qword [r14 + 0x18]
mov rcx, qword [rax + 0x50]
mov eax, dword [rcx + 0x1c]
bswap eax
mov dword [r14 + 0x3c], eax
cmp byte [rbx + 0x11], sil
je 0x140045f0f
sub dword [rbx + 0x14], 1
jne 0x140045f0f
mov rcx, rbx
call fcn.140033aa0
test ebp, ebp
jne 0x140045f8b
cmp byte [rbx + 0x10], 2
mov ebp, esi
jne 0x140045f8b
mov r14, qword [rbx + 8]
cmp byte [rbx + 0x11], sil
je 0x140045f36
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], sil
jne 0x140045f36
mov rcx, rbx
call fcn.140033ad0
mov rcx, qword [r14]
mov r8d, r13d
mov edx, 1
call fcn.1400302d0
mov ebp, eax
test eax, eax
jne 0x140045f77
test r13d, r13d
jns 0x140045f5c
test byte [r14 + 0x26], 8
je 0x140045f5c
mov dword [r14 + 0x3c], esi
mov rcx, r14
call fcn.140036a30
mov ebp, eax
mov rax, qword [r14 + 0x18]
mov rcx, qword [rax + 0x50]
mov eax, dword [rcx + 0x1c]
bswap eax
mov dword [r14 + 0x3c], eax
cmp byte [rbx + 0x11], sil
je 0x140045f8b
sub dword [rbx + 0x14], 1
jne 0x140045f8b
mov rcx, rbx
call fcn.140033aa0
mov eax, dword [rsp + 0x80]
test edi, edi
mov rcx, qword [rsp + 0x88]
cmove edi, ebp
mov ebp, dword [rsp + 0x78]
inc eax
add rcx, 0x20
mov dword [rsp + 0x80], eax
mov qword [rsp + 0x88], rcx
cmp eax, dword [r15 + 0x28]
jl 0x140045e80
mov r12, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x70]
dec dword [r15 + 0x280]
mov dword [rdx + 0x40], esi
test edi, edi
jne 0x1400460a9
cmp ebp, 2
jne 0x140046049
mov edi, esi
cmp qword [r15 + 0x1d8], rsi
je 0x140046045
mov ebx, esi
mov r14, rsi
cmp ebx, dword [r15 + 0x1b4]
jge 0x140046040
mov rax, qword [r15 + 0x1d8]
mov rdx, qword [r14 + rax]
mov rax, qword [rdx + 8]
mov rcx, qword [rdx + 0x10]
mov r8, qword [rax]
test rcx, rcx
je 0x140046036
cmp dword [r8], 2
jl 0x140046036
mov rax, qword [r8 + 0xb0]
test rax, rax
je 0x140046036
cmp dword [rdx + 0x20], r13d
jle 0x140046036
mov edx, r13d
call rax
mov edi, eax
inc ebx
add r14, 8
test edi, edi
je 0x140045ff3
mov rdx, qword [rsp + 0x70]
test edi, edi
jne 0x1400460ae
mov edi, esi
cmp qword [r15 + 0x1d8], rsi
je 0x1400460a4
mov rbx, rsi
cmp esi, dword [r15 + 0x1b4]
jge 0x1400460a4
mov rax, qword [r15 + 0x1d8]
mov rdx, qword [rbx + rax]
mov rax, qword [rdx + 8]
mov rcx, qword [rdx + 0x10]
mov r8, qword [rax]
test rcx, rcx
je 0x14004609a
cmp dword [r8], 2
jl 0x14004609a
mov rax, qword [r8 + 0xa8]
test rax, rax
je 0x14004609a
cmp dword [rdx + 0x20], r13d
jle 0x14004609a
mov edx, r13d
call rax
mov edi, eax
inc esi
add rbx, 8
test edi, edi
je 0x140046057
mov rdx, qword [rsp + 0x70]
cmp ebp, 2
jne 0x1400460c4
mov rcx, qword [rdx + 0x58]
mov qword [r15 + 0x288], rcx
mov rcx, qword [rdx + 0x60]
mov qword [r15 + 0x290], rcx
mov rbx, qword [rsp + 0x40]
mov eax, edi
mov r14, qword [rsp + 0x28]
mov r13, qword [rsp + 0x30]
add rsp, 0x48
pop r15
pop rdi
pop rsi
pop rbp
ret
mov eax, esi
add rsp, 0x48
pop r15
pop rdi
pop rsi
pop rbp
ret