Function at 0x503f20
Capabilities:
Access peb ldr_data

Disassembly:
lea r12, [rsp - 0x18]
cmp r12, qword [r14 + 0x10]
jbe 0x5042d0
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.00505000
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.005014c0
mov rcx, qword [rsp + 0xc0]
test rcx, rcx
jbe 0x5042c8
mov rbx, qword [rsp + 0xb8]
mov rax, qword [rbx]
mul rax
mov rsi, qword [rsp + 0x78]
cmp rsi, 1
jbe 0x5042bb
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 0x50404b
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 0x50412e
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 0x5042b0
mov qword [rdi + r13*8], rdx
mov r13, r11
shl r11, 1
nop
cmp rsi, r11
jbe 0x5042a5
mov r15, r13
shl r13, 4
mov qword [rdi + r13], rax
cmp r12, r11
jb 0x504298
nop dword [rax]
cmp r15, r11
ja 0x50428d
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.0050cc40
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 0x504004
jmp 0x504285
lea rbx, [rcx + rcx]
lea rbx, [rbx - 1]
cmp rdx, rbx
jb 0x50427a
nop
cmp rbx, 1
jb 0x50426d
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.0050caa0
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 0x504265
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.0050c820
xorps xmm15, xmm15
mov r14, qword gs:[0x28]
mov r14, qword [r14]
nop
lea rax, [0x008aae40]
lea rbx, [0x006948e0]
mov rcx, qword [rsp + 0x80]
call fcn.00477ca0
mov rbp, qword [rsp + 0x90]
add rsp, 0x98
ret
mov rax, rdx
call fcn.00463840
mov eax, 1
mov rcx, rbx
call fcn.00463900
mov rcx, rbx
nop dword [rax]
call fcn.004638c0
mov rax, rdx
call fcn.00463840
mov rax, r15
mov rcx, r11
call fcn.00463900
mov rcx, r11
mov rdx, r12
nop
call fcn.004638c0
mov rax, r11
mov rcx, rsi
call fcn.00463840
mov rax, r13
mov rcx, rsi
call fcn.00463840
mov eax, 1
mov rcx, rsi
call fcn.00463840
xor eax, eax
call fcn.00463840
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.00461140
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.00503f20