Function at 0x4b3460
Capabilities:
Access peb ldr_data

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x4b395d
push rbp
mov rbp, rsp
sub rsp, 0x78
mov qword [rsp + 0x88], rax
mov qword [rsp + 0x98], rcx
test rdi, rdi
je 0x4b35b3
cmp rdi, 1
je 0x4b35a5
cmp rbx, rdi
je 0x4b357e
nop
jl 0x4b3571
mov qword [rsp + 0xa0], rdi
mov qword [rsp + 0x98], rcx
mov qword [rsp + 0x90], rbx
mov qword [rsp + 0x88], rax
cmp qword [0x006a10e8], rdi
jge 0x4b3505
mov rdx, rbx
sub rdx, rdi
mov qword [rsp + 0x70], rdx
movzx r8d, byte [rcx]
mov byte [rsp + 0x2e], r8b
movzx r9d, byte [rcx + 1]
mov byte [rsp + 0x2c], r9b
lea r10, [rdx + 1]
mov qword [rsp + 0x30], r10
xor esi, esi
xor r11d, r11d
nop dword [rax + rax]
jmp 0x4b37b2
cmp rbx, 0x40
jle 0x4b353c
mov rdx, rbx
sub rdx, rdi
mov qword [rsp + 0x70], rdx
movzx esi, byte [rcx]
mov byte [rsp + 0x2f], sil
movzx r8d, byte [rcx + 1]
mov byte [rsp + 0x2d], r8b
lea r9, [rdx + 1]
mov qword [rsp + 0x38], r9
xor r10d, r10d
xor r11d, r11d
jmp 0x4b3600
mov qword [rsp], rax
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rcx
mov qword [rsp + 0x18], rdi
call fcn.00404740
xorps xmm15, xmm15
mov r14, qword [0x006a1118]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rax, qword [rsp + 0x20]
add rsp, 0x78
pop rbp
ret
mov rax, 0xffffffffffffffff
add rsp, 0x78
pop rbp
ret
mov rbx, rax
mov rax, rcx
mov rcx, rdi
call fcn.004043a0
test al, al
je 0x4b3598
xor eax, eax
add rsp, 0x78
pop rbp
ret
mov rax, 0xffffffffffffffff
add rsp, 0x78
pop rbp
ret
movzx ecx, byte [rcx]
call fcn.004b1e00
add rsp, 0x78
pop rbp
ret
xor eax, eax
add rsp, 0x78
pop rbp
ret
mov rax, qword [rsp + 0x88]
mov rdx, qword [rsp + 0x70]
mov rbx, qword [rsp + 0x90]
movzx esi, byte [rsp + 0x2f]
mov rdi, qword [rsp + 0xa0]
movzx r8d, byte [rsp + 0x2d]
mov r9, qword [rsp + 0x38]
mov r10, qword [rsp + 0x60]
mov r11, rcx
mov rcx, qword [rsp + 0x98]
nop dword [rax + rax]
cmp r10, r9
jge 0x4b37a2
mov qword [rsp + 0x58], r11
movzx r12d, byte [rax + r10]
cmp r12b, sil
je 0x4b3695
mov qword [rsp + 0x48], r10
mov rbx, rdx
sub rbx, r10
mov rdi, rbx
neg rdi
sar rdi, 0x3f
lea r8, [r10 + 1]
and rdi, r8
add rdi, rax
mov ecx, esi
mov rax, rdi
nop dword [rax]
call fcn.004b1e00
test rax, rax
jl 0x4b3795
mov rdx, qword [rsp + 0x48]
lea r10, [rax + rdx]
lea r10, [r10 + 1]
mov rax, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x98]
mov rdx, qword [rsp + 0x70]
mov rbx, qword [rsp + 0x90]
movzx esi, byte [rsp + 0x2f]
mov rdi, qword [rsp + 0xa0]
movzx r8d, byte [rsp + 0x2d]
mov r9, qword [rsp + 0x38]
mov r11, qword [rsp + 0x58]
mov qword [rsp + 0x68], r10
movzx r12d, byte [rax + r10 + 1]
cmp r12b, r8b
jne 0x4b36d2
mov rdx, rdi
neg rdi
sar rdi, 0x3f
and rdi, r10
lea rsi, [rax + rdi]
mov rbx, rcx
mov rcx, rdx
mov rax, rsi
nop
call fcn.004043a0
test al, al
jne 0x4b378a
mov r10, qword [rsp + 0x68]
lea rax, [r10 + 1]
mov qword [rsp + 0x60], rax
nop dword [rax + rax]
call fcn.00403d60
mov rcx, qword [rsp + 0x58]
inc rcx
cmp rax, rcx
jge 0x4b35bb
mov rax, qword [rsp + 0x90]
mov rcx, qword [rsp + 0x68]
sub rax, rcx
dec rax
mov rdx, rax
neg rax
sar rax, 0x3f
mov rbx, qword [rsp + 0x60]
and rbx, rax
mov rax, qword [rsp + 0x88]
add rax, rbx
mov qword [rsp], rax
mov qword [rsp + 8], rdx
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x10], rax
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0x18], rax
call fcn.00404740
xorps xmm15, xmm15
mov r14, qword [0x006a1118]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rax, qword [rsp + 0x20]
test rax, rax
jl 0x4b377d
mov rcx, qword [rsp + 0x68]
lea rax, [rcx + rax]
lea rax, [rax + 1]
add rsp, 0x78
pop rbp
ret
mov rax, 0xffffffffffffffff
add rsp, 0x78
pop rbp
ret
mov rax, qword [rsp + 0x68]
add rsp, 0x78
pop rbp
ret
mov rax, 0xffffffffffffffff
add rsp, 0x78
pop rbp
ret
mov rax, 0xffffffffffffffff
add rsp, 0x78
pop rbp
ret
mov rsi, r13
cmp rsi, r10
jge 0x4b3950
mov qword [rsp + 0x50], r11
movzx r12d, byte [rax + rsi]
cmp r12b, r8b
je 0x4b3845
mov qword [rsp + 0x40], rsi
mov rbx, rdx
sub rbx, rsi
mov rdi, rbx
neg rdi
sar rdi, 0x3f
lea r9, [rsi + 1]
and rdi, r9
add rdi, rax
mov ecx, r8d
mov rax, rdi
call fcn.004b1e00
test rax, rax
jl 0x4b3943
mov rdx, qword [rsp + 0x40]
lea rsi, [rax + rdx]
lea rsi, [rsi + 1]
mov rax, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x98]
mov rdx, qword [rsp + 0x70]
mov rbx, qword [rsp + 0x90]
mov rdi, qword [rsp + 0xa0]
movzx r8d, byte [rsp + 0x2e]
movzx r9d, byte [rsp + 0x2c]
mov r10, qword [rsp + 0x30]
mov r11, qword [rsp + 0x50]
mov qword [rsp + 0x68], rsi
movzx r12d, byte [rax + rsi + 1]
cmp r12b, r9b
jne 0x4b38bb
mov rdx, rdi
neg rdi
sar rdi, 0x3f
and rdi, rsi
add rdi, rax
mov rbx, rcx
mov rcx, rdx
mov rax, rdi
call fcn.004043a0
test al, al
jne 0x4b3938
mov rax, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x98]
mov rdx, qword [rsp + 0x70]
mov rbx, qword [rsp + 0x90]
mov rsi, qword [rsp + 0x68]
mov rdi, qword [rsp + 0xa0]
movzx r8d, byte [rsp + 0x2e]
movzx r9d, byte [rsp + 0x2c]
mov r10, qword [rsp + 0x30]
mov r11, qword [rsp + 0x50]
lea r12, [rsi + 1]
inc r11
mov r13, r12
sar r12, 4
add r12, 4
cmp r12, r11
jg 0x4b37af
cmp r13, r10
jge 0x4b37af
sub rbx, rsi
lea rdx, [rbx - 1]
mov r8, rdx
neg rdx
sar rdx, 0x3f
and r13, rdx
lea rbx, [r13 + rax]
lea rax, [0x0054a410]
mov rdx, rcx
mov rcx, r8
mov r9, rdi
mov rdi, rdx
mov rsi, r9
call fcn.004b3a60
test rax, rax
jge 0x4b3925
mov rax, 0xffffffffffffffff
add rsp, 0x78
pop rbp
ret
mov rcx, qword [rsp + 0x68]
lea rax, [rax + rcx]
lea rax, [rax + 1]
add rsp, 0x78
pop rbp
ret
mov rax, qword [rsp + 0x68]
add rsp, 0x78
pop rbp
ret
mov rax, 0xffffffffffffffff
add rsp, 0x78
pop rbp
ret
mov rax, 0xffffffffffffffff
add rsp, 0x78
pop rbp
ret
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
call fcn.0046bca0
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
jmp fcn.004b3460