Function at 0x4d15e0
Capabilities:
Access peb ldr_data

Disassembly:
lea r12, [rsp - 0x58]
cmp r12, qword [r14 + 0x10]
jbe 0x4d1c78
push rbp
mov rbp, rsp
sub rsp, 0xd0
mov qword [rsp + 0x120], r11
mov qword [rsp + 0x118], r10
mov qword [rsp + 0x110], r9
mov qword [rsp + 0x108], r8
mov qword [rsp + 0x100], rsi
mov qword [rsp + 0xf8], rdi
mov qword [rsp + 0xe8], rbx
mov qword [rsp + 0xe0], rax
lea rcx, [r10 + 1]
mov rax, rcx
call fcn.004cb9a0
mov rcx, qword [rsp + 0x118]
lea rdx, [rcx - 1]
mov rbx, qword [rsp + 0x100]
mov rsi, rbx
sub rbx, rcx
cmp rcx, rdx
jbe 0x4d1c6f
mov r8, qword [rsp + 0x110]
mov rdx, qword [r8 + rcx*8 - 8]
nop
nop
nop
bsr r9, rdx
mov r10, 0xffffffffffffffff
cmove r9, r10
lea r10, [r9 - 0x3f]
neg r10
inc r9
neg r9
mov rdi, rcx
mov rcx, r9
mov r11, rdx
shl r11, cl
cmp r10, 0x40
sbb r9, r9
and r11, r9
test r11, r11
je 0x4d1c6a
mov r9, r11
not r11
nop word [rax + rax]
cmp r11, r9
jae 0x4d1c65
mov qword [rsp + 0x88], rbx
mov qword [rsp + 0xb8], rax
mov qword [rsp + 0x70], rdx
mov rcx, rdx
mov rdx, r11
mov r10, rax
mov rax, 0xffffffffffffffff
div r9
mov qword [rsp + 0x90], rax
mov r9, qword [r10 + 8]
mov qword [rsp + 0x78], r9
mov rdx, qword [r10 + 0x10]
mov qword [rsp + 0x80], rdx
mov r11, qword [r10]
mov qword [rsp + 0xc0], r11
mov r12, qword [rsp + 0xf8]
mov r13, qword [rsp + 0x120]
mov r15, rbx
jmp 0x4d17a0
lea rbx, [rax - 1]
mov rax, qword [rsp + 0x90]
mov r13, qword [rsp + 0x120]
mov rdx, qword [rsp + 0x110]
mov rdi, qword [rsp + 0x80]
mov r10, qword [rsp + 0xc0]
mov r15, qword [rsp + 0x70]
mov rcx, r15
mov rdx, rdi
mov rdi, qword [rsp + 0x118]
mov r8, qword [rsp + 0x110]
mov r9, qword [rsp + 0x78]
mov r10, qword [rsp + 0xb8]
mov r11, qword [rsp + 0xc0]
mov r12, qword [rsp + 0xf8]
mov r15, qword [rsp + 0x88]
nop word [rax + rax]
test rbx, rbx
jl 0x4d1b56
lea r10, [rdi + rbx]
mov qword [rsp + 0xb0], r10
cmp rsi, r10
jle 0x4d17d9
nop word [rax + rax]
jbe 0x4d1c58
mov r10, qword [r12 + r10*8]
mov qword [rsp + 0x50], r10
mov r10, qword [rsp + 0xb0]
jmp 0x4d17f0
mov qword [rsp + 0x98], rax
xor eax, eax
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x58], rbx
mov r10, qword [rsp + 0x50]
nop word [rax + rax]
cmp r10, rcx
je 0x4d188b
lea r15, [rbx + rdi]
lea r15, [r15 - 1]
cmp rsi, r15
jbe 0x4d1c4d
mov rbx, qword [r12 + r15*8]
mov rdi, rax
mov rax, r10
call 0x4c47e0
mov rcx, qword [rsp + 0x118]
lea rdx, [rcx - 2]
cmp rcx, rdx
jbe 0x4d1c45
mov rsi, qword [rsp + 0x110]
mov rdi, qword [rsi + rcx*8 - 0x10]
mov rdx, rax
mov rax, rdi
mov r8, rdx
mul rdx
mov r9, qword [rsp + 0x58]
lea r10, [r9 + rcx]
lea r10, [r10 - 2]
mov r11, qword [rsp + 0x100]
cmp r11, r10
jbe 0x4d1c38
mov r12, qword [rsp + 0xf8]
mov r10, qword [r12 + r10*8]
mov r13, qword [rsp + 0x70]
jmp 0x4d1bc7
mov r10, 0xffffffffffffffff
cmp rdi, rdx
ja 0x4d1bb3
mov qword [rsp + 0x60], r10
mov qword [rsp], r11
mov qword [rsp + 8], rdi
mov qword [rsp + 0x10], rdx
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x20], rdi
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x30], r10
mov qword [rsp + 0x38], 0
call fcn.004d37a0
xorps xmm15, xmm15
mov r14, qword [0x00724e58]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rax, qword [rsp + 0x118]
mov rcx, qword [rsp + 0x78]
cmp rax, rcx
jae 0x4d1bae
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0xc0]
mov qword [rsi + rax*8], rbx
mov rdi, qword [rsp + 0x58]
lea r8, [rcx + rdi]
mov r9, qword [rsp + 0x100]
cmp r9, r8
jge 0x4d192b
nop
test rbx, rbx
jne 0x4d192b
lea rbx, [rcx - 1]
jmp 0x4d192e
mov rbx, rcx
lea r8, [rbx + rdi]
mov rdx, qword [rsp + 0x108]
nop word [rax + rax]
cmp rdx, r8
jb 0x4d1ba6
cmp rdi, r8
ja 0x4d1b9b
sub rdx, rdi
mov r10, rdx
neg rdx
mov r11, rdi
shl rdi, 3
sar rdx, 0x3f
and rdx, rdi
mov rdi, qword [rsp + 0xf8]
add rdx, rdi
cmp r9, r11
jb 0x4d1b90
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0xa8], r10
mov qword [rsp + 0xc8], rdx
mov qword [rsp], rdx
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], r10
mov qword [rsp + 0x18], rdx
sub r9, r11
mov qword [rsp + 0xa0], r9
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x28], r10
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x38], rcx
mov rdi, qword [rsp + 0x80]
mov qword [rsp + 0x40], rdi
call fcn.004d34e0
xorps xmm15, xmm15
mov r14, qword [0x00724e58]
mov r14, qword gs:[r14]
mov r14, qword [r14]
cmp qword [rsp + 0x48], 0
jne 0x4d1a12
mov rcx, qword [rsp + 0x118]
mov rsi, qword [rsp + 0x100]
mov r9, qword [rsp + 0xf8]
mov r10, qword [rsp + 0x60]
jmp 0x4d1b02
mov rdx, qword [rsp + 0x108]
mov rcx, qword [rsp + 0xb0]
cmp rdx, rcx
jb 0x4d1b8b
mov rax, qword [rsp + 0x58]
cmp rax, rcx
ja 0x4d1b86
mov rax, qword [rsp + 0xc8]
mov qword [rsp], rax
mov rcx, qword [rsp + 0x118]
mov qword [rsp + 8], rcx
mov rdx, qword [rsp + 0xa8]
mov qword [rsp + 0x10], rdx
mov qword [rsp + 0x18], rax
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], rdx
mov rax, qword [rsp + 0x110]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], rcx
mov rdx, qword [rsp + 0x120]
mov qword [rsp + 0x40], rdx
call fcn.004d3440
xorps xmm15, xmm15
mov r14, qword [0x00724e58]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rcx, qword [rsp + 0x118]
mov rax, qword [rsp + 0x68]
cmp rcx, rax
jge 0x4d1aea
mov rsi, qword [rsp + 0x100]
mov rax, qword [rsp + 0xb0]
cmp rsi, rax
jbe 0x4d1b7e
mov r8, qword [rsp + 0x48]
mov r9, qword [rsp + 0xf8]
add qword [r9 + rax*8], r8
jmp 0x4d1afa
mov rsi, qword [rsp + 0x100]
mov r9, qword [rsp + 0xf8]
mov r10, qword [rsp + 0x60]
dec r10
mov rax, qword [rsp + 0x58]
mov r8, qword [rsp + 0x88]
cmp rax, r8
jne 0x4d1b37
mov r11, qword [rsp + 0xe8]
nop dword [rax]
cmp r11, r8
jne 0x4d1b40
test r10, r10
jne 0x4d1b40
mov r12, qword [rsp + 0xe0]
jmp 0x4d172e
mov r11, qword [rsp + 0xe8]
nop
cmp r11, rax
jbe 0x4d1b76
mov r12, qword [rsp + 0xe0]
mov qword [r12 + rax*8], r10
jmp 0x4d172e
nop
lea rax, [0x0069f4a0]
lea rbx, [0x005699c0]
mov rcx, r10
call fcn.00472bc0
add rsp, 0xd0
pop rbp
ret
mov rcx, r11
call fcn.0045ea60
mov rcx, rsi
call fcn.0045ea60
call fcn.0045eb20
call fcn.0045eae0
mov rax, r11
mov rcx, r9
call fcn.0045eb20
mov rax, rdi
mov rcx, r8
call fcn.0045eb20
mov rcx, r8
call fcn.0045eae0
call fcn.0045ea60
mov rcx, rdi
call fcn.0045eae0
mov rbx, rax
mul rdi
mov r8, rbx
mov rbx, r15
cmp rbx, rdx
jb 0x4d1bd3
jne 0x4d1be7
cmp rax, r10
jbe 0x4d1be7
lea r15, [rbx + r13]
lea rax, [r8 - 1]
nop dword [rax + rax]
cmp rbx, r15
jbe 0x4d1bbb
jmp 0x4d1bea
mov rax, r8
mov rcx, r13
mov rdx, qword [rsp + 0x80]
mov rbx, r9
mov rsi, r11
mov rdi, qword [rsp + 0x118]
mov r8, qword [rsp + 0x110]
mov r9, qword [rsp + 0x78]
mov r11, qword [rsp + 0xc0]
mov r13, qword [rsp + 0x120]
mov r15, qword [rsp + 0x88]
mov r10, rax
mov rax, qword [rsp + 0x90]
jmp 0x4d1892
mov rax, r10
mov rcx, r11
nop
call fcn.0045ea60
mov rax, rdx
call fcn.0045ea60
mov rax, r15
mov rcx, rsi
call fcn.0045ea60
mov rax, r10
mov rcx, rsi
nop
call fcn.0045ea60
call fcn.004328e0
call fcn.00432880
mov rax, rdx
call fcn.0045ea60
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
mov qword [rsp + 0x38], r9
mov qword [rsp + 0x40], r10
mov qword [rsp + 0x48], r11
call fcn.0045c780
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]
mov r9, qword [rsp + 0x38]
mov r10, qword [rsp + 0x40]
mov r11, qword [rsp + 0x48]
jmp fcn.004d15e0