Function at 0x4ecdc0
Capabilities:
Access peb ldr_data

Disassembly:
lea r12, [rsp - 0x18]
cmp r12, qword [r14 + 0x10]
jbe 0x4ed170
sub rsp, 0x98
mov qword [rsp + 0x90], rbp
lea rbp, [rsp + 0x90]
mov qword [rsp + 0xc0], rsi
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0xc8], r8
mov qword [rsp + 0x78], rbx
mov qword [rsp + 0xb8], rdi
mov qword [rsp + 0xb0], rcx
shl rsi, 1
mov rax, rsi
call fcn.004edea0
mov qword [rsp + 0x80], rax
mov rcx, qword [rax + 0x10]
mov qword [rsp + 0x58], rcx
mov rdx, qword [rax]
mov qword [rsp + 0x88], rdx
mov rbx, qword [rax + 8]
mov qword [rsp + 0x50], rbx
mov rax, rdx
call fcn.004ea360
mov rcx, qword [rsp + 0xc0]
test rcx, rcx
jbe 0x4ed168
mov rbx, qword [rsp + 0xb8]
mov rax, qword [rbx]
mul rax
mov rsi, qword [rsp + 0x78]
cmp rsi, 1
jbe 0x4ed15b
mov rdi, qword [rsp + 0xa0]
mov qword [rdi + 8], rdx
mov qword [rdi], rax
mov r8, qword [rsp + 0x88]
mov rdx, qword [rsp + 0x58]
mov r9, qword [rsp + 0xc8]
mov eax, 1
jmp 0x4eceeb
mov r10, qword [rsp + 0x60]
mov r8, qword [rsp + 0x88]
mov qword [r8 + r10], rax
mov r10, qword [rsp + 0x68]
lea rax, [r10 + 1]
mov r10, qword [rsp + 0xc0]
mov rdi, qword [rsp + 0xa0]
mov rsi, qword [rsp + 0x78]
mov rdx, qword [rsp + 0x58]
mov r9, qword [rsp + 0xc8]
mov rbx, qword [rsp + 0xb8]
mov rcx, r10
cmp rcx, rax
jle 0x4ecfce
mov r10, qword [rbx + rax*8]
mov r11, rax
mov rax, r10
mov r12, rdx
mul rax
lea r13, [r11 + r11]
lea r13, [r13 + 1]
cmp rsi, r13
jbe 0x4ed150
mov qword [rdi + r13*8], rdx
mov r13, r11
shl r11, 1
nop
cmp rsi, r11
jbe 0x4ed145
mov r15, r13
shl r13, 4
mov qword [rdi + r13], rax
cmp r12, r11
jb 0x4ed138
nop dword [rax]
cmp r15, r11
ja 0x4ed12d
mov qword [rsp + 0x70], r11
mov qword [rsp + 0x68], r15
mov qword [rsp + 0x60], r13
mov rax, r15
shl r15, 3
sub r12, rax
mov rdx, r12
neg r12
sar r12, 0x3f
and r15, r12
lea rsi, [r8 + r15]
mov qword [rsp], rsi
sub r11, rax
mov qword [rsp + 8], r11
mov qword [rsp + 0x10], rdx
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], r9
mov qword [rsp + 0x30], r10
call fcn.004f5ae0
xorps xmm15, xmm15
mov r14, qword gs:[0x28]
mov r14, qword [r14]
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x70]
cmp rcx, rdx
ja 0x4ecea4
jmp 0x4ed125
lea rbx, [rcx + rcx]
lea rbx, [rbx - 1]
cmp rdx, rbx
jb 0x4ed11a
nop
cmp rbx, 1
jb 0x4ed10d
mov qword [rsp + 0x70], rbx
lea rax, [rdx - 1]
mov rbx, rax
neg rax
sar rax, 0x3f
and rax, 8
add rax, r8
mov qword [rsp], rax
lea rcx, [rcx + rcx]
lea rcx, [rcx - 2]
mov qword [rsp + 8], rcx
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rax
mov qword [rsp + 0x20], rcx
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x30], 1
call fcn.004f5940
xorps xmm15, xmm15
mov r14, qword gs:[0x28]
mov r14, qword [r14]
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x70]
nop word [rax + rax]
cmp rcx, rdx
jbe 0x4ed105
mov rbx, qword [rsp + 0x88]
mov qword [rbx + rdx*8], rax
mov rax, qword [rsp + 0xa0]
mov qword [rsp], rax
mov rdx, qword [rsp + 0x78]
mov qword [rsp + 8], rdx
mov rsi, qword [rsp + 0xb0]
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rax
mov qword [rsp + 0x20], rdx
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x38], rcx
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x40], rax
nop dword [rax + rax]
call fcn.004f56c0
xorps xmm15, xmm15
mov r14, qword gs:[0x28]
mov r14, qword [r14]
nop
lea rax, [0x009f9f00]
lea rbx, [0x0061afe0]
mov rcx, qword [rsp + 0x80]
call fcn.0046bfc0
mov rbp, qword [rsp + 0x90]
add rsp, 0x98
ret
mov rax, rdx
call fcn.004633e0
mov eax, 1
mov rcx, rbx
call fcn.004634a0
mov rcx, rbx
nop dword [rax]
call fcn.00463460
mov rax, rdx
call fcn.004633e0
mov rax, r15
mov rcx, r11
call fcn.004634a0
mov rcx, r11
mov rdx, r12
nop
call fcn.00463460
mov rax, r11
mov rcx, rsi
call fcn.004633e0
mov rax, r13
mov rcx, rsi
call fcn.004633e0
mov eax, 1
mov rcx, rsi
call fcn.004633e0
xor eax, eax
call fcn.004633e0
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x30], r8
call fcn.00460ce0
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
mov rsi, qword [rsp + 0x28]
mov r8, qword [rsp + 0x30]
jmp fcn.004ecdc0