Function at 0x140046a30
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, 0xa8
mov rsi, rcx
mov rax, qword [rcx + 0x48]
mov r8d, 0x11
mov rcx, rax
cmp rax, 0x12
jb 0x140046a60
mov rcx, qword [rsi + 8]
mov r8, rax
mov ebx, dword [rdx]
mov ebp, dword [rdx + 4]
mov r14d, dword [rdx + 8]
mov r15d, dword [rdx + 0xc]
mov r12d, dword [rdx + 0x10]
mov r13d, dword [rdx + 0x14]
mov r11d, dword [rdx + 0x18]
mov r9d, dword [rdx + 0x1c]
mov dword [rsp + 0x48], r9d
mov r9d, dword [rdx + 0x20]
mov dword [rsp + 0x44], r9d
mov r9d, dword [rdx + 0x24]
mov dword [rsp + 0x40], r9d
mov r10d, dword [rdx + 0x28]
mov r9d, dword [rdx + 0x2c]
mov dword [rsp + 0x3c], r9d
mov r9d, dword [rdx + 0x30]
mov dword [rsp + 0x38], r9d
mov r9d, dword [rdx + 0x34]
mov dword [rsp + 0x34], r9d
mov r9d, dword [rdx + 0x38]
mov dword [rsp + 0x30], r9d
mov r9d, dword [rdx + 0x3c]
mov dword [rsp + 0x2c], r9d
mov edx, dword [rdx + 0x40]
mov dword [rsp + 0x28], edx
sub r8, rcx
lea rdi, [rsi + 0x48]
cmp r8, 0x10
mov dword [rsp + 0x24], r10d
ja 0x140046b54
cmp rcx, 0xffffffffffffffee
ja 0x140046e7f
add rcx, 0x10
bsr rcx, rcx
xor rcx, 0x3f
je 0x140046e7f
mov dword [rsp + 0x4c], ebx
mov ebx, ebp
mov ebp, r14d
mov r14d, r15d
mov r15d, r12d
mov r12d, r13d
mov r13d, r11d
mov rdx, 0xffffffffffffffff
shr rdx, cl
inc rdx
mov rcx, rsi
call fcn.140045d10
movabs rcx, 0x8000000000000001
cmp rax, rcx
jne 0x140046e7a
mov rax, qword [rdi]
mov r11d, r13d
mov r13d, r12d
mov r12d, r15d
mov r15d, r14d
mov r14d, ebp
mov ebp, ebx
mov ebx, dword [rsp + 0x4c]
mov r10d, dword [rsp + 0x24]
cmp rax, 0x12
jb 0x140046b76
lea rcx, [rsi + 8]
mov rdx, qword [rsi + 8]
mov r9, qword [rsi + 0x10]
cmp rdx, rax
jb 0x140046b8a
xor r8d, r8d
mov rax, rdx
jmp 0x140046d2b
lea r9, [rsi + 4]
mov rdx, rax
mov rcx, rdi
mov eax, 0x11
cmp rdx, rax
jae 0x140046b6b
mov dword [r9 + rdx*4], ebx
lea r10, [rdx + 1]
mov r8d, 1
cmp r10, rax
je 0x140046d26
mov dword [r9 + rdx*4 + 4], ebp
lea r10, [rdx + 2]
mov r8d, 2
cmp r10, rax
je 0x140046d26
mov dword [r9 + rdx*4 + 8], r14d
lea r10, [rdx + 3]
mov r8d, 3
cmp r10, rax
je 0x140046d26
mov dword [r9 + rdx*4 + 0xc], r15d
lea r10, [rdx + 4]
mov r8d, 4
cmp r10, rax
je 0x140046d26
mov dword [r9 + rdx*4 + 0x10], r12d
lea r10, [rdx + 5]
mov r8d, 5
cmp r10, rax
je 0x140046d26
mov dword [r9 + rdx*4 + 0x14], r13d
lea r10, [rdx + 6]
mov r8d, 6
cmp r10, rax
je 0x140046d26
mov dword [r9 + rdx*4 + 0x18], r11d
lea r10, [rdx + 7]
mov r8d, 7
cmp r10, rax
je 0x140046d26
mov r8d, dword [rsp + 0x48]
mov dword [r9 + rdx*4 + 0x1c], r8d
lea r10, [rdx + 8]
mov r8d, 8
cmp r10, rax
je 0x140046d26
mov r8d, dword [rsp + 0x44]
mov dword [r9 + rdx*4 + 0x20], r8d
lea r10, [rdx + 9]
mov r8d, 9
cmp r10, rax
je 0x140046d26
mov r8d, dword [rsp + 0x40]
mov dword [r9 + rdx*4 + 0x24], r8d
lea r10, [rdx + 0xa]
mov r8d, 0xa
cmp r10, rax
je 0x140046d26
mov r8d, dword [rsp + 0x24]
mov dword [r9 + rdx*4 + 0x28], r8d
lea r10, [rdx + 0xb]
mov r8d, 0xb
cmp r10, rax
je 0x140046d26
mov r8d, dword [rsp + 0x3c]
mov dword [r9 + rdx*4 + 0x2c], r8d
lea r10, [rdx + 0xc]
mov r8d, 0xc
cmp r10, rax
je 0x140046d26
mov r8d, dword [rsp + 0x38]
mov dword [r9 + rdx*4 + 0x30], r8d
lea r10, [rdx + 0xd]
mov r8d, 0xd
cmp r10, rax
je 0x140046d26
mov r8d, dword [rsp + 0x34]
mov dword [r9 + rdx*4 + 0x34], r8d
lea r10, [rdx + 0xe]
mov r8d, 0xe
cmp r10, rax
je 0x140046d26
mov r8d, dword [rsp + 0x30]
mov dword [r9 + rdx*4 + 0x38], r8d
lea r10, [rdx + 0xf]
mov r8d, 0xf
cmp r10, rax
je 0x140046d26
mov r8d, dword [rsp + 0x2c]
mov dword [r9 + rdx*4 + 0x3c], r8d
lea r10, [rdx + 0x10]
mov r8d, 0x10
cmp r10, rax
jne 0x140046e41
mov r10d, dword [rsp + 0x24]
mov qword [rcx], rax
mov qword [rsp + 0x50], r8
mov qword [rsp + 0x58], 0x11
mov dword [rsp + 0x60], ebx
mov dword [rsp + 0x64], ebp
mov dword [rsp + 0x68], r14d
mov dword [rsp + 0x6c], r15d
mov dword [rsp + 0x70], r12d
mov dword [rsp + 0x74], r13d
mov dword [rsp + 0x78], r11d
mov eax, dword [rsp + 0x48]
mov dword [rsp + 0x7c], eax
mov eax, dword [rsp + 0x44]
mov dword [rsp + 0x80], eax
mov eax, dword [rsp + 0x40]
mov dword [rsp + 0x84], eax
mov dword [rsp + 0x88], r10d
mov eax, dword [rsp + 0x3c]
mov dword [rsp + 0x8c], eax
mov eax, dword [rsp + 0x38]
mov dword [rsp + 0x90], eax
mov eax, dword [rsp + 0x34]
mov dword [rsp + 0x94], eax
mov eax, dword [rsp + 0x30]
mov dword [rsp + 0x98], eax
mov eax, dword [rsp + 0x2c]
mov dword [rsp + 0x9c], eax
mov eax, dword [rsp + 0x28]
mov dword [rsp + 0xa0], eax
lea rbx, [rsi + 4]
lea r14, [rsi + 8]
mov rcx, qword [rsp + 0x50]
cmp qword [rsp + 0x58], rcx
je 0x140046e66
nop dword [rax]
lea rax, [rcx + 1]
mov qword [rsp + 0x50], rax
mov r9, qword [rdi]
cmp r9, 0x12
jb 0x140046e00
mov rax, qword [rsi + 8]
mov rdx, qword [rsi + 0x10]
mov r8, r14
jmp 0x140046e0f
mov rax, r9
mov rdx, rbx
mov r8, rdi
mov r9d, 0x11
mov ebp, dword [rsp + rcx*4 + 0x60]
cmp rax, r9
je 0x140046e2c
mov dword [rdx + rax*4], ebp
inc qword [r8]
mov rcx, qword [rsp + 0x50]
cmp qword [rsp + 0x58], rcx
jne 0x140046de0
jmp 0x140046e66
mov rcx, rsi
call fcn.140045f10
mov rax, qword [rsi + 8]
mov rdx, qword [rsi + 0x10]
mov r8, r14
jmp 0x140046e18
mov r8d, dword [rsp + 0x28]
mov dword [r9 + rdx*4 + 0x40], r8d
add rdx, 0x11
mov r8d, 0x11
cmp rdx, rax
mov r10d, dword [rsp + 0x24]
je 0x140046d2b
mov qword [rcx], rdx
add rsp, 0xa8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
test rax, rax
jne 0x140046e97
lea rcx, str.capacity_overflow
lea r8, [0x140180500]
mov edx, 0x11
call fcn.14000a990
mov rcx, rax
call fcn.140006e69
int3