Function at 0x140045fc0
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 0x14004628f
mov eax, dword [rcx + 0x40]
test eax, eax
je 0x14004628f
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 0x14004617c
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 0x140046153
cmp ebp, 2
jne 0x1400460c3
cmp byte [rbx + 0x10], 2
mov ebp, esi
jne 0x1400460bf
mov r14, qword [rbx + 8]
cmp byte [rbx + 0x11], sil
je 0x14004606a
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], sil
jne 0x14004606a
mov rcx, rbx
call fcn.140033c80
mov rcx, qword [r14]
mov r8d, r13d
mov edx, 2
call fcn.140030480
mov ebp, eax
test eax, eax
jne 0x1400460ab
test r13d, r13d
jns 0x140046090
test byte [r14 + 0x26], 8
je 0x140046090
mov dword [r14 + 0x3c], esi
mov rcx, r14
call fcn.140036be0
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 0x1400460bf
sub dword [rbx + 0x14], 1
jne 0x1400460bf
mov rcx, rbx
call fcn.140033c50
test ebp, ebp
jne 0x14004613b
cmp byte [rbx + 0x10], 2
mov ebp, esi
jne 0x14004613b
mov r14, qword [rbx + 8]
cmp byte [rbx + 0x11], sil
je 0x1400460e6
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], sil
jne 0x1400460e6
mov rcx, rbx
call fcn.140033c80
mov rcx, qword [r14]
mov r8d, r13d
mov edx, 1
call fcn.140030480
mov ebp, eax
test eax, eax
jne 0x140046127
test r13d, r13d
jns 0x14004610c
test byte [r14 + 0x26], 8
je 0x14004610c
mov dword [r14 + 0x3c], esi
mov rcx, r14
call fcn.140036be0
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 0x14004613b
sub dword [rbx + 0x14], 1
jne 0x14004613b
mov rcx, rbx
call fcn.140033c50
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 0x140046030
mov r12, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x70]
dec dword [r15 + 0x280]
mov dword [rdx + 0x40], esi
test edi, edi
jne 0x140046259
cmp ebp, 2
jne 0x1400461f9
mov edi, esi
cmp qword [r15 + 0x1d8], rsi
je 0x1400461f5
mov ebx, esi
mov r14, rsi
cmp ebx, dword [r15 + 0x1b4]
jge 0x1400461f0
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 0x1400461e6
cmp dword [r8], 2
jl 0x1400461e6
mov rax, qword [r8 + 0xb0]
test rax, rax
je 0x1400461e6
cmp dword [rdx + 0x20], r13d
jle 0x1400461e6
mov edx, r13d
call rax
mov edi, eax
inc ebx
add r14, 8
test edi, edi
je 0x1400461a3
mov rdx, qword [rsp + 0x70]
test edi, edi
jne 0x14004625e
mov edi, esi
cmp qword [r15 + 0x1d8], rsi
je 0x140046254
mov rbx, rsi
cmp esi, dword [r15 + 0x1b4]
jge 0x140046254
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 0x14004624a
cmp dword [r8], 2
jl 0x14004624a
mov rax, qword [r8 + 0xa8]
test rax, rax
je 0x14004624a
cmp dword [rdx + 0x20], r13d
jle 0x14004624a
mov edx, r13d
call rax
mov edi, eax
inc esi
add rbx, 8
test edi, edi
je 0x140046207
mov rdx, qword [rsp + 0x70]
cmp ebp, 2
jne 0x140046274
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