Function at 0x487e20
Capabilities:
Access peb ldr_data

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x488439
push rbp
mov rbp, rsp
sub rsp, 0x78
mov qword [rsp + 0x88], rax
mov qword [rsp + 0x98], rcx
test rdi, rdi
je 0x487f73
cmp rdi, 1
je 0x487f65
cmp rbx, rdi
je 0x487f3e
nop
jl 0x487f31
mov qword [rsp + 0xa0], rdi
mov qword [rsp + 0x98], rcx
mov qword [rsp + 0x90], rbx
mov qword [rsp + 0x88], rax
cmp qword [0x0077cf48], rdi
jge 0x487ec5
mov rdx, rbx
sub rbx, rdi
mov qword [rsp + 0x70], rbx
movzx r8d, byte [rcx]
mov byte [rsp + 0x2e], r8b
movzx r9d, byte [rcx + 1]
mov byte [rsp + 0x2c], r9b
lea r10, [rbx + 1]
mov qword [rsp + 0x30], r10
xor esi, esi
xor r11d, r11d
nop dword [rax + rax]
jmp 0x4881f3
cmp rbx, 0x40
jle 0x487efc
mov rdx, rbx
sub rbx, rdi
mov qword [rsp + 0x70], rbx
movzx esi, byte [rcx]
mov byte [rsp + 0x2f], sil
movzx r8d, byte [rcx + 1]
mov byte [rsp + 0x2d], r8b
lea r9, [rbx + 1]
mov qword [rsp + 0x38], r9
xor r10d, r10d
xor r11d, r11d
jmp 0x487fc0
mov qword [rsp], rax
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rcx
mov qword [rsp + 0x18], rdi
call fcn.00404d00
xorps xmm15, xmm15
mov r14, qword [0x0077cf80]
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.00404960
test al, al
je 0x487f58
xor eax, eax
add rsp, 0x78
pop rbp
ret
mov rax, 0xffffffffffffffff
add rsp, 0x78
pop rbp
ret
movzx ecx, byte [rcx]
call fcn.00485bc0
add rsp, 0x78
pop rbp
ret
xor eax, eax
add rsp, 0x78
pop rbp
ret
mov rbx, qword [rsp + 0x70]
mov rdi, qword [rsp + 0xa0]
mov r12, qword [rsp + 0x98]
movzx r8d, byte [rsp + 0x2d]
mov rax, qword [rsp + 0x88]
mov rdx, qword [rsp + 0x90]
mov r9, qword [rsp + 0x38]
movzx esi, byte [rsp + 0x2f]
mov r10, qword [rsp + 0x60]
mov r11, rcx
mov rcx, r12
nop dword [rax + rax]
cmp r10, r9
jge 0x4881a5
cmp rdx, r10
jbe 0x4881e5
mov qword [rsp + 0x58], r11
movzx r12d, byte [rax + r10]
nop dword [rax]
cmp r12b, sil
je 0x488078
cmp rdx, r9
jb 0x4881db
lea r12, [r10 + 1]
cmp r12, r9
ja 0x4881d0
mov qword [rsp + 0x48], r10
mov rdx, rbx
sub rdx, r10
mov rdi, rdx
neg rdx
sar rdx, 0x3f
and r12, rdx
lea rdx, [rax + r12]
mov ecx, esi
mov rax, rdx
mov rbx, rdi
call fcn.00485bc0
test rax, rax
jl 0x4880f8
mov rsi, qword [rsp + 0x48]
lea r10, [rax + rsi]
lea r10, [r10 + 1]
mov rax, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x98]
mov rdx, qword [rsp + 0x90]
mov rbx, qword [rsp + 0x70]
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]
lea r12, [r10 + 1]
nop dword [rax]
cmp rdx, r12
jbe 0x4881c5
mov qword [rsp + 0x68], r10
mov qword [rsp + 0x60], r12
movzx r13d, byte [rax + r10 + 1]
cmp r13b, r8b
jne 0x4880dc
lea r13, [rdi + r10]
cmp rdx, r13
jb 0x4881bd
cmp r10, r13
ja 0x4881b2
mov rdx, rdi
neg rdi
sar rdi, 0x3f
and rdi, r10
lea rsi, [rax + rdi]
mov rbx, rcx
mov rcx, rdx
mov rax, rsi
call fcn.00404960
test al, al
jne 0x488105
mov r12, qword [rsp + 0x60]
mov rax, r12
nop
call fcn.00404300
mov rcx, qword [rsp + 0x58]
inc rcx
cmp rax, rcx
jge 0x487f7b
jmp 0x488110
mov rax, 0xffffffffffffffff
add rsp, 0x78
pop rbp
ret
mov rax, qword [rsp + 0x68]
add rsp, 0x78
pop rbp
ret
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.00404d00
xorps xmm15, xmm15
mov r14, qword [0x0077cf80]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rax, qword [rsp + 0x20]
nop
test rax, rax
jl 0x488198
mov rcx, qword [rsp + 0x68]
lea rax, [rax + rcx]
lea rax, [rax + 1]
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 rax, r10
mov rcx, r13
call fcn.00473080
mov rcx, r13
call fcn.00473000
mov rax, r12
mov rcx, rdx
call fcn.00472fc0
mov rax, r12
mov rcx, r9
call fcn.00473080
mov rcx, r9
nop
call fcn.00473000
mov rax, r10
mov rcx, rdx
call fcn.00472fc0
mov rsi, r13
cmp rsi, r10
jge 0x4883e9
nop dword [rax]
cmp rdx, rsi
jbe 0x48842d
mov qword [rsp + 0x50], r11
movzx r12d, byte [rax + rsi]
cmp r12b, r8b
je 0x4882b1
nop dword [rax]
cmp rdx, r10
jb 0x488425
lea r12, [rsi + 1]
cmp r12, r10
ja 0x488418
mov qword [rsp + 0x40], rsi
mov rdx, rbx
sub rdx, rsi
mov rdi, rdx
neg rdx
sar rdx, 0x3f
and rdx, r12
add rdx, rax
mov ecx, r8d
mov rax, rdx
mov rbx, rdi
call fcn.00485bc0
nop
test rax, rax
jl 0x4883dc
mov r8, qword [rsp + 0x40]
lea rsi, [rax + r8]
lea rsi, [rsi + 1]
mov rax, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x98]
mov rdx, qword [rsp + 0x90]
mov rbx, qword [rsp + 0x70]
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]
cmp rdx, r12
jbe 0x48840d
mov qword [rsp + 0x68], rsi
movzx r13d, byte [rsi + rax + 1]
cmp r13b, r9b
jne 0x488359
lea r13, [rsi + rdi]
cmp rdx, r13
jb 0x488405
nop
cmp rsi, r13
ja 0x4883f6
mov qword [rsp + 0x60], r12
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.00404960
test al, al
jne 0x4883d1
mov rax, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x98]
mov rdx, qword [rsp + 0x90]
mov rbx, qword [rsp + 0x70]
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]
mov r12, qword [rsp + 0x60]
inc r11
mov r13, r12
sar r12, 4
add r12, 4
cmp r12, r11
jg 0x4881f0
cmp r13, r10
jge 0x4881f0
sub rdx, rsi
dec rdx
mov r8, rdx
neg rdx
sar rdx, 0x3f
and r13, rdx
lea rbx, [r13 + rax]
lea rax, [0x005dd950]
mov rdx, rcx
mov rcx, r8
mov r9, rdi
mov rdi, rdx
mov rsi, r9
call fcn.00488560
test rax, rax
jge 0x4883be
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 rax, rsi
mov rcx, r13
nop dword [rax]
call fcn.00473080
mov rcx, r13
call fcn.00473000
mov rax, r12
mov rcx, rdx
call fcn.00472fc0
mov rax, r12
mov rcx, r10
nop
call fcn.00473080
mov rcx, r10
call fcn.00473000
mov rax, rsi
mov rcx, rdx
call fcn.00472fc0
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
call fcn.00470ce0
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
jmp fcn.00487e20