Function at 0x475820
Capabilities:
Access peb ldr_data

Disassembly:
lea r12, [rsp - 0x38]
cmp r12, qword [r14 + 0x10]
jbe 0x475f5c
push rbp
mov rbp, rsp
sub rsp, 0xb0
mov qword [rsp + 0xc0], rax
cmp rbx, 2
jl 0x475c16
mov byte [rsp + 0xd0], cl
mov qword [rsp + 0xc8], rbx
mov qword [rsp + 0xc0], rax
movzx ecx, byte [rax]
mov byte [rsp + 0x42], cl
lea rdx, [rbx - 1]
mov qword [rsp + 0x58], rdx
lea rsi, [rax + 1]
mov qword [rsp + 0x98], rsi
mov qword [rsp], rsi
mov qword [rsp + 8], rdx
mov byte [rsp + 0x10], cl
call fcn.004037a0
xorps xmm15, xmm15
mov r14, qword [0x0074e078]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rax, qword [rsp + 0x18]
test rax, rax
jl 0x475beb
mov qword [rsp + 0x48], rax
lea rdx, [rax + 2]
mov qword [rsp + 0x60], rdx
movzx r9d, byte [rsp + 0x42]
cmp r9b, 0x22
je 0x4759da
cmp r9b, 0x27
je 0x4759da
nop dword [rax]
cmp r9b, 0x60
jne 0x4759af
movzx r9d, byte [rsp + 0xd0]
test r9b, r9b
je 0x47599c
nop
mov rax, qword [rsp + 0xc0]
mov qword [rsp], rax
mov qword [rsp + 8], rdx
mov byte [rsp + 0x10], 0xd
call fcn.004037a0
xorps xmm15, xmm15
mov r14, qword [0x0074e078]
mov r14, qword gs:[r14]
mov r14, qword [r14]
cmp qword [rsp + 0x18], 0xffffffffffffffff
je 0x475975
mov rcx, qword [rsp + 0x48]
lea rdx, [rcx - 1]
mov qword [rsp + 0x80], rdx
lea rax, [0x00551280]
xor ebx, ebx
mov rcx, rdx
call fcn.004444c0
mov rdx, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x80]
mov ebx, 1
xor edi, edi
jmp 0x475ed1
mov rdx, qword [rsp + 0x48]
mov r9, rdx
neg r9
sar r9, 0x3f
and r9d, 1
mov r10, qword [rsp + 0xc0]
lea rax, [r10 + r9]
mov rcx, rdx
jmp 0x475e95
mov rcx, rax
mov r10, qword [rsp + 0xc0]
mov rax, r10
jmp 0x475e95
mov rsi, qword [0x006bdd70]
mov r8, qword [0x006bdd78]
xor eax, eax
xor ebx, ebx
mov rcx, qword [rsp + 0xc0]
mov rdi, qword [rsp + 0xc8]
add rsp, 0xb0
pop rbp
ret
nop
mov rax, qword [rsp + 0xc0]
mov qword [rsp], rax
mov qword [rsp + 8], rdx
mov byte [rsp + 0x10], 0x5c
call fcn.004037a0
xorps xmm15, xmm15
mov r14, qword [0x0074e078]
mov r14, qword gs:[r14]
mov r14, qword [r14]
cmp qword [rsp + 0x18], 0xffffffffffffffff
je 0x475a14
xor eax, eax
jmp 0x475a51
nop
nop
mov rax, qword [rsp + 0xc0]
mov qword [rsp], rax
mov rcx, qword [rsp + 0x60]
mov qword [rsp + 8], rcx
mov byte [rsp + 0x10], 0xa
call fcn.004037a0
xorps xmm15, xmm15
mov r14, qword [0x0074e078]
mov r14, qword gs:[r14]
mov r14, qword [r14]
cmp qword [rsp + 0x18], 0xffffffffffffffff
sete al
test al, al
je 0x475b76
movzx ecx, byte [rsp + 0x42]
nop
cmp cl, 0x22
je 0x475acb
cmp cl, 0x27
je 0x475a71
xor eax, eax
jmp 0x475af3
mov rbx, qword [rsp + 0x48]
mov rcx, rbx
neg rcx
sar rcx, 0x3f
and ecx, 1
mov rdx, qword [rsp + 0xc0]
lea rax, [rdx + rcx]
call fcn.00466080
lea rcx, [rbx + 2]
mov rdx, qword [rsp + 0x60]
nop dword [rax]
cmp rcx, rdx
jne 0x475abe
cmp eax, 0xfffd
je 0x475ab4
mov r9d, 1
jmp 0x475ac1
cmp rbx, 1
setne r9b
jmp 0x475ac1
xor r9d, r9d
movzx ecx, byte [rsp + 0x42]
mov eax, r9d
jmp 0x475af3
mov rbx, qword [rsp + 0x48]
mov rcx, rbx
neg rcx
sar rcx, 0x3f
and ecx, 1
mov rdx, qword [rsp + 0xc0]
lea rax, [rdx + rcx]
call fcn.00466720
movzx ecx, byte [rsp + 0x42]
test al, al
je 0x475b7b
movzx edx, byte [rsp + 0xd0]
test dl, dl
je 0x475b2b
mov rdx, qword [rsp + 0x48]
mov r9, rdx
neg r9
sar r9, 0x3f
and r9d, 1
mov r10, qword [rsp + 0xc0]
lea rax, [r10 + r9]
mov rcx, rdx
jmp 0x475b40
mov rcx, qword [rsp + 0x48]
mov r10, qword [rsp + 0xc0]
mov rdx, qword [rsp + 0x60]
mov rax, r10
mov rdi, qword [rsp + 0xc8]
sub rdi, rcx
add rdi, 0xfffffffffffffffe
mov r9, rdi
neg r9
sar r9, 0x3f
mov r11, qword [rsp + 0x60]
and r11, r9
lea rcx, [r10 + r11]
mov rbx, rdx
xor esi, esi
xor r8d, r8d
add rsp, 0xb0
pop rbp
ret
movzx ecx, byte [rsp + 0x42]
movzx edx, byte [rsp + 0xd0]
test dl, dl
jne 0x475b8d
xor eax, eax
xor ebx, ebx
jmp 0x475bda
mov rdx, qword [rsp + 0x48]
lea rsi, [rdx + rdx*2]
lea rdx, [rdx + rdx*2]
lea rdx, [rdx + 6]
shr rdx, 0x3f
lea rcx, [rsi + rdx]
lea rcx, [rcx + 6]
sar rcx, 1
mov qword [rsp + 0x78], rcx
lea rax, [0x00551280]
xor ebx, ebx
nop dword [rax + rax]
call fcn.004444c0
movzx ecx, byte [rsp + 0x42]
movzx edx, byte [rsp + 0xd0]
mov rbx, rax
mov rax, qword [rsp + 0x78]
mov rsi, qword [rsp + 0x98]
mov r9, qword [rsp + 0x58]
xor edi, edi
jmp 0x475c49
mov rsi, qword [0x006bdd70]
mov r8, qword [0x006bdd78]
xor eax, eax
xor ebx, ebx
mov rcx, qword [rsp + 0xc0]
mov rdi, qword [rsp + 0xc8]
add rsp, 0xb0
pop rbp
ret
mov rsi, qword [0x006bdd70]
mov r8, qword [0x006bdd78]
mov rcx, rax
mov rdi, rbx
xor eax, eax
xor ebx, ebx
add rsp, 0xb0
pop rbp
ret
mov rax, r9
mov r9, rdi
mov rdi, rbx
mov rbx, rsi
mov rsi, rcx
mov ecx, r10d
test r9, r9
je 0x475dc8
cmp byte [rsi], cl
je 0x475db7
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x70], rdi
mov qword [rsp + 0xa0], rbx
mov qword [rsp + 0xa8], rsi
mov rax, rsi
mov rbx, r9
call fcn.00475320
mov rdx, qword [rsp + 0xa8]
cmp byte [rdx], 0xa
je 0x475d8c
test rsi, rsi
jne 0x475d8c
movzx edx, byte [rsp + 0xd0]
test dl, dl
je 0x475d62
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x90], rcx
cmp eax, 0x80
jl 0x475cc4
nop dword [rax]
test bl, bl
jne 0x475d2a
mov rbx, qword [rsp + 0x70]
inc rbx
mov r9, qword [rsp + 0x78]
cmp r9, rbx
jb 0x475ce2
mov rsi, qword [rsp + 0xa0]
nop
jmp 0x475d24
mov dword [rsp + 0x44], eax
mov rax, qword [rsp + 0xa0]
mov rcx, r9
mov edi, 1
lea rsi, [0x00551280]
nop dword [rax]
call fcn.004445a0
movzx edx, byte [rsp + 0xd0]
mov rdi, qword [rsp + 0x50]
mov rsi, rax
mov r9, rcx
mov eax, dword [rsp + 0x44]
mov rcx, qword [rsp + 0x90]
mov byte [rbx + rsi - 1], al
jmp 0x475d74
mov rbx, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x78]
mov edi, eax
mov rax, qword [rsp + 0xa0]
nop
call fcn.004663a0
movzx edx, byte [rsp + 0xd0]
mov rdi, qword [rsp + 0x50]
mov r9, rcx
mov rsi, rax
mov rcx, qword [rsp + 0x90]
jmp 0x475d74
mov rbx, qword [rsp + 0x70]
mov rsi, qword [rsp + 0xa0]
mov r9, qword [rsp + 0x78]
movzx r10d, byte [rsp + 0x42]
nop word [rax + rax]
cmp r10b, 0x27
jne 0x475c37
jmp 0x475de0
mov rsi, qword [0x006bdd70]
mov r8, qword [0x006bdd78]
xor eax, eax
xor ebx, ebx
mov rcx, qword [rsp + 0xc0]
mov rdi, qword [rsp + 0xc8]
add rsp, 0xb0
pop rbp
ret
mov r10d, ecx
mov rcx, rsi
mov rsi, rbx
mov rbx, rdi
mov rdi, r9
jmp 0x475de0
mov r10d, ecx
mov rcx, rsi
mov rsi, rbx
mov rbx, rdi
mov rdi, r9
nop word [rax + rax]
test rdi, rdi
je 0x475e6a
cmp byte [rcx], r10b
jne 0x475e6a
lea r9, [rdi - 1]
mov r10, r9
neg r9
sar r9, 0x3f
and r9d, 1
add rcx, r9
test dl, dl
je 0x475e43
mov qword [rsp + 0x88], r10
mov qword [rsp + 0xa8], rcx
xor eax, eax
mov rcx, rbx
mov rbx, rsi
nop
call fcn.00447680
mov rcx, qword [rsp + 0xa8]
mov rdi, qword [rsp + 0x88]
xor esi, esi
xor r8d, r8d
add rsp, 0xb0
pop rbp
ret
mov rbx, qword [rsp + 0xc8]
sub rbx, rdi
inc rbx
mov rax, qword [rsp + 0xc0]
mov rdi, r10
xor esi, esi
xor r8d, r8d
add rsp, 0xb0
pop rbp
ret
mov rsi, qword [0x006bdd70]
mov r8, qword [0x006bdd78]
xor eax, eax
xor ebx, ebx
mov rcx, qword [rsp + 0xc0]
mov rdi, qword [rsp + 0xc8]
add rsp, 0xb0
pop rbp
ret
mov rdi, qword [rsp + 0xc8]
sub rdi, rcx
add rdi, 0xfffffffffffffffe
mov r9, rdi
neg r9
sar r9, 0x3f
mov r11, qword [rsp + 0x60]
and r11, r9
lea rcx, [r10 + r11]
mov rbx, rdx
xor esi, esi
xor r8d, r8d
add rsp, 0xb0
pop rbp
ret
inc rbx
mov rdi, r9
lea r8, [rcx + 1]
cmp rbx, r8
jge 0x475f3a
movzx r8d, byte [rdx + rbx]
nop
cmp r8b, 0xd
je 0x475f35
lea r9, [rdi + 1]
cmp rsi, r9
jae 0x475f2e
mov qword [rsp + 0x68], rbx
mov byte [rsp + 0x43], r8b
mov rbx, r9
mov rcx, rsi
mov edi, 1
lea rsi, [0x00551280]
call fcn.004445a0
mov rdx, qword [rsp + 0xc0]
movzx r8d, byte [rsp + 0x43]
mov r9, rbx
mov rsi, rcx
mov rcx, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x68]
mov byte [r9 + rax - 1], r8b
jmp 0x475ecb
mov r9, rdi
jmp 0x475ecb
mov rbx, rax
mov rcx, rdi
xor eax, eax
call fcn.00447680
mov rcx, qword [rsp + 0x48]
mov r10, qword [rsp + 0xc0]
mov rdx, rbx
jmp 0x475e95
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov byte [rsp + 0x18], cl
call fcn.00458b40
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
movzx ecx, byte [rsp + 0x18]
nop
jmp fcn.00475820