Function at 0x47dd20
Capabilities:
Access peb ldr_data

Disassembly:
lea r12, [rsp - 0x38]
cmp r12, qword [r14 + 0x10]
jbe 0x47e5ce
push rbp
mov rbp, rsp
sub rsp, 0xb0
mov qword [rsp + 0xc0], rax
cmp rbx, 2
jl 0x47e1c9
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, [rax + 1]
mov qword [rsp + 0x90], rdx
lea rsi, [rbx - 1]
mov qword [rsp + 0x58], rsi
mov qword [rsp], rdx
mov qword [rsp + 8], rsi
mov byte [rsp + 0x10], cl
call fcn.00403bc0
xorps xmm15, xmm15
mov r14, qword [0x009b5010]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rcx, qword [rsp + 0x18]
test rcx, rcx
jl 0x47e19e
mov qword [rsp + 0x48], rcx
lea rax, [rcx + 2]
mov qword [rsp + 0x60], rax
movzx r9d, byte [rsp + 0x42]
cmp r9b, 0x22
je 0x47df24
cmp r9b, 0x27
je 0x47df24
nop dword [rax]
cmp r9b, 0x60
jne 0x47def9
movzx r9d, byte [rsp + 0xd0]
test r9b, r9b
je 0x47ded4
mov rdx, qword [rsp + 0xc8]
cmp rdx, rax
jb 0x47e5c5
nop
mov rcx, qword [rsp + 0xc0]
mov qword [rsp], rcx
mov qword [rsp + 8], rax
mov byte [rsp + 0x10], 0xd
call fcn.00403bc0
xorps xmm15, xmm15
mov r14, qword [0x009b5010]
mov r14, qword gs:[r14]
mov r14, qword [r14]
cmp qword [rsp + 0x18], 0xffffffffffffffff
je 0x47de8f
mov rcx, qword [rsp + 0x48]
lea rdx, [rcx - 1]
mov qword [rsp + 0x80], rdx
lea rax, [0x00650540]
xor ebx, ebx
mov rcx, rdx
call fcn.0044f700
mov rdx, qword [rsp + 0xc0]
mov rsi, qword [rsp + 0xc8]
mov rcx, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x80]
mov ebx, 1
xor r8d, r8d
jmp 0x47e515
mov rcx, qword [rsp + 0x48]
lea r9, [rcx + 1]
mov rdx, qword [rsp + 0xc8]
cmp rdx, r9
jb 0x47e50a
cmp r9, 1
jb 0x47e4fe
mov rax, rcx
neg rcx
sar rcx, 0x3f
and ecx, 1
mov r9, qword [rsp + 0xc0]
lea r10, [r9 + rcx]
mov rcx, rax
jmp 0x47e4b5
mov rdx, qword [rsp + 0xc8]
nop dword [rax]
cmp rdx, rax
jb 0x47e4f6
mov r9, qword [rsp + 0xc0]
mov r10, r9
jmp 0x47e4b5
mov rsi, qword [0x0091b5a0]
mov r8, qword [0x0091b5a8]
xor eax, eax
xor ebx, ebx
mov rcx, qword [rsp + 0xc0]
mov rdi, qword [rsp + 0xc8]
add rsp, 0xb0
pop rbp
ret
mov rdx, qword [rsp + 0xc8]
cmp rdx, rax
jb 0x47e4ad
nop
mov rcx, qword [rsp + 0xc0]
mov qword [rsp], rcx
mov qword [rsp + 8], rax
mov byte [rsp + 0x10], 0x5c
call fcn.00403bc0
xorps xmm15, xmm15
mov r14, qword [0x009b5010]
mov r14, qword gs:[r14]
mov r14, qword [r14]
cmp qword [rsp + 0x18], 0xffffffffffffffff
je 0x47df6f
xor eax, eax
jmp 0x47dfac
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.00403bc0
xorps xmm15, xmm15
mov r14, qword [0x009b5010]
mov r14, qword gs:[r14]
mov r14, qword [r14]
cmp qword [rsp + 0x18], 0xffffffffffffffff
sete al
test al, al
je 0x47e12f
movzx ecx, byte [rsp + 0x42]
cmp cl, 0x22
jne 0x47e012
mov rbx, qword [rsp + 0x48]
lea rsi, [rbx + 1]
mov rdx, qword [rsp + 0xc8]
cmp rdx, rsi
jb 0x47e4a5
nop dword [rax + rax]
cmp rsi, 1
jb 0x47e499
mov rcx, rbx
neg rcx
sar rcx, 0x3f
and ecx, 1
mov rdx, qword [rsp + 0xc0]
lea rax, [rdx + rcx]
call fcn.00476fa0
mov rdx, qword [rsp + 0x60]
mov r9d, eax
jmp 0x47e08f
cmp cl, 0x27
jne 0x47e087
mov rbx, qword [rsp + 0x48]
lea rsi, [rbx + 1]
mov rdx, qword [rsp + 0xc8]
cmp rdx, rsi
jb 0x47e491
cmp rsi, 1
jb 0x47e485
mov rcx, rbx
neg rcx
sar rcx, 0x3f
and ecx, 1
mov rdx, qword [rsp + 0xc0]
lea rax, [rdx + rcx]
call fcn.00476600
lea rcx, [rbx + 2]
mov rdx, qword [rsp + 0x60]
cmp rcx, rdx
jne 0x47e082
cmp eax, 0xfffd
je 0x47e076
mov r9d, 1
jmp 0x47e08f
cmp rbx, 1
setne r9b
nop
jmp 0x47e08f
xor r9d, r9d
jmp 0x47e08f
mov rdx, qword [rsp + 0x60]
xor r9d, r9d
test r9b, r9b
je 0x47e12f
movzx r9d, byte [rsp + 0xd0]
test r9b, r9b
je 0x47e0e8
mov rcx, qword [rsp + 0x48]
lea r9, [rcx + 1]
cmp r9, rdx
ja 0x47e478
nop dword [rax + rax]
cmp r9, 1
jb 0x47e46c
mov rax, rcx
neg rcx
sar rcx, 0x3f
and ecx, 1
mov r9, qword [rsp + 0xc0]
lea r10, [r9 + rcx]
mov rcx, rax
jmp 0x47e0fb
mov rcx, qword [rsp + 0x48]
mov r9, qword [rsp + 0xc0]
mov rax, rdx
mov r10, r9
mov rdi, qword [rsp + 0xc8]
sub rdi, rcx
add rdi, 0xfffffffffffffffe
mov r11, rdi
neg r11
sar r11, 0x3f
and rdx, r11
lea rcx, [r9 + rdx]
mov rbx, rax
xor esi, esi
xor r8d, r8d
mov rax, r10
add rsp, 0xb0
pop rbp
ret
movzx r9d, byte [rsp + 0xd0]
test r9b, r9b
jne 0x47e143
xor eax, eax
xor ecx, ecx
jmp 0x47e187
mov rdx, qword [rsp + 0x48]
lea rsi, [rdx + rdx*2]
lea rsi, [rsi + 6]
lea rdx, [rdx + rdx*2]
shr rsi, 0x3f
lea rcx, [rdx + rsi]
lea rcx, [rcx + 6]
sar rcx, 1
mov qword [rsp + 0x78], rcx
lea rax, [0x00650540]
xor ebx, ebx
call fcn.0044f700
movzx r9d, byte [rsp + 0xd0]
mov rcx, rax
mov rax, qword [rsp + 0x78]
movzx r10d, byte [rsp + 0x42]
mov rdx, qword [rsp + 0x90]
mov rsi, qword [rsp + 0x58]
xor ebx, ebx
jmp 0x47e200
mov rsi, qword [0x0091b5a0]
mov r8, qword [0x0091b5a8]
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 [0x0091b5a0]
mov r8, qword [0x0091b5a8]
mov rcx, rax
mov rdi, rbx
xor eax, eax
xor ebx, ebx
add rsp, 0xb0
pop rbp
ret
mov rsi, rdi
mov rax, r10
mov r10d, r11d
mov r8, rdx
mov rdx, rcx
mov rcx, r8
nop dword [rax]
test rsi, rsi
je 0x47e388
cmp byte [rdx], r10b
je 0x47e377
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x70], rbx
mov qword [rsp + 0xa0], rcx
mov qword [rsp + 0xa8], rdx
mov rax, rdx
mov rbx, rsi
mov ecx, r10d
call fcn.0047d820
mov rdx, qword [rsp + 0xa8]
cmp byte [rdx], 0xa
je 0x47e34c
test rsi, rsi
jne 0x47e34c
movzx r9d, byte [rsp + 0xd0]
nop dword [rax]
test r9b, r9b
je 0x47e323
mov qword [rsp + 0x68], rdi
mov qword [rsp + 0x98], rcx
cmp eax, 0x80
jl 0x47e284
nop dword [rax]
test bl, bl
jne 0x47e2eb
mov rbx, qword [rsp + 0x70]
inc rbx
mov r10, qword [rsp + 0x78]
cmp r10, rbx
jb 0x47e2a2
mov rdx, qword [rsp + 0xa0]
nop
jmp 0x47e2e5
mov dword [rsp + 0x44], eax
mov rax, qword [rsp + 0xa0]
mov rcx, r10
mov edi, 1
lea rsi, [0x00650540]
nop dword [rax]
call fcn.0044f7e0
mov rdi, qword [rsp + 0x68]
movzx r9d, byte [rsp + 0xd0]
mov rdx, rax
mov r10, rcx
mov eax, dword [rsp + 0x44]
mov rcx, qword [rsp + 0x98]
mov byte [rbx + rdx - 1], al
jmp 0x47e335
mov rbx, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x78]
mov edi, eax
mov rax, qword [rsp + 0xa0]
nop
call fcn.004769e0
mov rdi, qword [rsp + 0x68]
movzx r9d, byte [rsp + 0xd0]
mov r10, rcx
mov rdx, rax
mov rcx, qword [rsp + 0x98]
jmp 0x47e335
mov rbx, qword [rsp + 0x70]
mov rdx, qword [rsp + 0xa0]
mov r10, qword [rsp + 0x78]
movzx r11d, byte [rsp + 0x42]
nop dword [rax + rax]
cmp r11b, 0x27
jne 0x47e1ea
jmp 0x47e3a0
mov rsi, qword [0x0091b5a0]
mov r8, qword [0x0091b5a8]
xor eax, eax
xor ebx, ebx
mov rcx, qword [rsp + 0xc0]
mov rdi, qword [rsp + 0xc8]
add rsp, 0xb0
pop rbp
ret
mov r11d, r10d
mov rdi, rsi
mov rax, rcx
mov rcx, rdx
mov rdx, rax
jmp 0x47e3a0
mov r11d, r10d
mov rdi, rsi
mov rax, rcx
mov rcx, rdx
mov rdx, rax
nop word [rax + rax]
test rdi, rdi
je 0x47e439
cmp byte [rcx], r11b
jne 0x47e439
lea r10, [rdi - 1]
mov r11, r10
neg r10
sar r10, 0x3f
and r10d, 1
add rcx, r10
test r9b, r9b
jne 0x47e3fe
mov rbx, qword [rsp + 0xc8]
mov rdx, rbx
sub rbx, rdi
inc rbx
nop dword [rax]
cmp rdx, rbx
jb 0x47e464
mov rax, qword [rsp + 0xc0]
mov rdi, r11
xor esi, esi
xor r8d, r8d
add rsp, 0xb0
pop rbp
ret
mov qword [rsp + 0x88], r11
mov qword [rsp + 0xa8], rcx
xor eax, eax
mov rcx, rbx
mov rbx, rdx
call fcn.00453940
mov rcx, qword [rsp + 0xa8]
mov rdi, qword [rsp + 0x88]
xor esi, esi
xor r8d, r8d
add rsp, 0xb0
pop rbp
ret
mov rsi, qword [0x0091b5a0]
mov r8, qword [0x0091b5a8]
xor eax, eax
xor ebx, ebx
mov rcx, qword [rsp + 0xc0]
mov rdi, qword [rsp + 0xc8]
add rsp, 0xb0
pop rbp
ret
mov rcx, rbx
call fcn.0046c480
mov eax, 1
xor ecx, ecx
call fcn.0046c500
mov rcx, r9
nop dword [rax + rax]
call fcn.0046c480
mov eax, 1
xor ecx, ecx
call fcn.0046c500
mov rcx, rsi
call fcn.0046c480
mov eax, 1
xor ecx, ecx
call fcn.0046c500
mov rcx, rsi
call fcn.0046c480
mov rcx, rax
call fcn.0046c480
mov r11, qword [rsp + 0x60]
cmp rdx, r11
jb 0x47e4eb
sub rdx, rcx
lea rdi, [rdx - 2]
mov rdx, rdi
neg rdx
sar rdx, 0x3f
and r11, rdx
lea rcx, [r9 + r11]
mov rbx, rax
xor esi, esi
xor r8d, r8d
mov rax, r10
add rsp, 0xb0
pop rbp
ret
mov rax, r11
mov rcx, rdx
call fcn.0046c500
mov rcx, rax
call fcn.0046c480
mov eax, 1
xor ecx, ecx
call fcn.0046c500
mov rcx, r9
call fcn.0046c480
inc rbx
lea r9, [rcx + 1]
cmp rbx, r9
jge 0x47e58a
nop
cmp rsi, rbx
jbe 0x47e5b7
movzx r9d, byte [rdx + rbx]
cmp r9b, 0xd
je 0x47e512
inc r8
cmp rdi, r8
jae 0x47e583
mov qword [rsp + 0x50], rbx
mov byte [rsp + 0x43], r9b
mov rbx, r8
mov rcx, rdi
mov edi, 1
lea rsi, [0x00650540]
call fcn.0044f7e0
mov rdx, qword [rsp + 0xc0]
mov rsi, qword [rsp + 0xc8]
movzx r9d, byte [rsp + 0x43]
mov r8, rbx
mov rdi, rcx
mov rcx, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x50]
mov byte [r8 + rax - 1], r9b
jmp 0x47e512
mov rbx, rax
mov rcx, r8
xor eax, eax
call fcn.00453940
mov rcx, qword [rsp + 0x48]
mov rdx, qword [rsp + 0xc8]
mov r9, qword [rsp + 0xc0]
mov r10, rax
mov rax, rbx
jmp 0x47e4b5
mov rax, rbx
mov rcx, rsi
nop dword [rax]
call fcn.0046c440
mov rcx, rax
call fcn.0046c480
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov byte [rsp + 0x18], cl
nop dword [rax]
call fcn.0046a160
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
movzx ecx, byte [rsp + 0x18]
jmp fcn.0047dd20