Function at 0x4b6e40
Capabilities:
Access peb ldr_data

Disassembly:
lea r12, [rsp - 0x60]
cmp r12, qword [r14 + 0x10]
jbe 0x4b7a26
sub rsp, 0xe0
mov qword [rsp + 0xd8], rbp
lea rbp, [rsp + 0xd8]
mov byte [rsp + 0xf8], cl
mov qword [rsp + 0xf0], rbx
mov qword [rsp + 0xe8], rax
mov rax, qword [rsp + 0xe0]
call fcn.004a1b60
mov rcx, qword [rsp + 0xf0]
cmp rcx, 2
jl 0x4b73a1
mov rax, qword [rsp + 0xe8]
movzx edx, byte [rax]
mov byte [rsp + 0x2e], dl
lea rbx, [rax + 1]
mov qword [rsp + 0x98], rbx
mov qword [rsp], rbx
lea rsi, [rcx - 1]
mov qword [rsp + 0x40], rsi
mov qword [rsp + 8], rsi
mov byte [rsp + 0x10], dl
call fcn.0043f8e0
xorps xmm15, xmm15
mov r14, qword gs:[0x28]
mov r14, qword [r14]
mov rax, qword [rsp + 0x18]
test rax, rax
jl 0x4b733e
mov qword [rsp + 0x38], rax
lea rcx, [rax + 2]
mov qword [rsp + 0x60], rcx
movzx ebx, byte [rsp + 0x2e]
cmp bl, 0x22
je 0x4b7092
cmp bl, 0x27
je 0x4b7092
nop dword [rax]
cmp bl, 0x60
jne 0x4b702f
movzx ebx, byte [rsp + 0xf8]
test bl, bl
je 0x4b700b
mov rdx, qword [rsp + 0xf0]
cmp rdx, rcx
jb 0x4b7a20
nop
mov rax, qword [rsp + 0xe8]
mov qword [rsp], rax
mov qword [rsp + 8], rcx
mov byte [rsp + 0x10], 0xd
call fcn.0043f8e0
xorps xmm15, xmm15
mov r14, qword gs:[0x28]
mov r14, qword [r14]
cmp qword [rsp + 0x18], 0xffffffffffffffff
je 0x4b6fc5
mov rdx, qword [rsp + 0x38]
lea rcx, [rdx - 1]
mov qword [rsp + 0x78], rcx
lea rax, [0x0058df80]
xor ebx, ebx
call fcn.004868e0
mov rdx, qword [rsp + 0xe8]
mov rsi, qword [rsp + 0xf0]
mov rdi, qword [rsp + 0x38]
mov r8, qword [rsp + 0x78]
mov ecx, 1
xor ebx, ebx
nop
jmp 0x4b792e
mov rbx, qword [rsp + 0x38]
lea rcx, [rbx + 1]
mov rdx, qword [rsp + 0xf0]
cmp rdx, rcx
jb 0x4b7926
nop
cmp rcx, 1
jb 0x4b791c
mov rcx, rbx
neg rbx
sar rbx, 0x3f
and ebx, 1
mov rsi, qword [rsp + 0xe8]
lea rax, [rsi + rbx]
mov rbx, rcx
jmp 0x4b7894
mov rdx, qword [rsp + 0xf0]
cmp rdx, rcx
jb 0x4b7917
mov rbx, rax
mov rsi, qword [rsp + 0xe8]
mov rax, rsi
jmp 0x4b7894
lea rax, [0x00740b40]
call fcn.004a0800
mov rcx, qword [0x00740b40]
mov qword [rsp + 0x90], rcx
mov rdx, qword [0x00740b48]
mov qword [rsp + 0xd0], rdx
call fcn.004a1ba0
xor eax, eax
xor ebx, ebx
mov rcx, qword [rsp + 0xe8]
mov rdi, qword [rsp + 0xf0]
mov rsi, qword [rsp + 0x90]
mov r8, qword [rsp + 0xd0]
mov rbp, qword [rsp + 0xd8]
add rsp, 0xe0
ret
mov rdx, qword [rsp + 0xf0]
nop word [rax + rax]
cmp rdx, rcx
jb 0x4b788f
nop
mov rax, qword [rsp + 0xe8]
mov qword [rsp], rax
mov qword [rsp + 8], rcx
mov byte [rsp + 0x10], 0x5c
call fcn.0043f8e0
xorps xmm15, xmm15
mov r14, qword gs:[0x28]
mov r14, qword [r14]
cmp qword [rsp + 0x18], 0xffffffffffffffff
nop
je 0x4b70e6
xor eax, eax
jmp 0x4b7124
nop
mov rax, qword [rsp + 0xe8]
mov qword [rsp], rax
mov rcx, qword [rsp + 0x60]
mov qword [rsp + 8], rcx
mov byte [rsp + 0x10], 0xa
call fcn.0043f8e0
xorps xmm15, xmm15
mov r14, qword gs:[0x28]
mov r14, qword [r14]
cmp qword [rsp + 0x18], 0xffffffffffffffff
sete al
test al, al
je 0x4b72ce
movzx ecx, byte [rsp + 0x2e]
cmp cl, 0x22
jne 0x4b7187
mov rbx, qword [rsp + 0x38]
lea rsi, [rbx + 1]
mov rdx, qword [rsp + 0xf0]
cmp rdx, rsi
jb 0x4b7887
cmp rsi, 1
jb 0x4b787a
mov rcx, rbx
neg rbx
sar rbx, 0x3f
and ebx, 1
mov rdx, qword [rsp + 0xe8]
lea rax, [rdx + rbx]
mov rbx, rcx
call fcn.004a7c00
mov rdx, qword [rsp + 0x60]
mov esi, eax
jmp 0x4b7209
cmp cl, 0x27
jne 0x4b7202
mov rbx, qword [rsp + 0x38]
lea rsi, [rbx + 1]
mov rdx, qword [rsp + 0xf0]
nop dword [rax]
cmp rdx, rsi
jb 0x4b7872
cmp rsi, 1
jb 0x4b7865
mov rcx, rbx
neg rbx
sar rbx, 0x3f
and ebx, 1
mov rdx, qword [rsp + 0xe8]
lea rax, [rdx + rbx]
mov rbx, rcx
call fcn.004a7040
lea rcx, [rbx + 2]
mov rdx, qword [rsp + 0x60]
nop dword [rax]
cmp rcx, rdx
jne 0x4b71fd
cmp eax, 0xfffd
je 0x4b71f3
mov esi, 1
jmp 0x4b7209
cmp rbx, 1
setne sil
jmp 0x4b7209
xor esi, esi
nop
jmp 0x4b7209
mov rdx, qword [rsp + 0x60]
xor esi, esi
test sil, sil
je 0x4b72ce
movzx ebx, byte [rsp + 0xf8]
test bl, bl
je 0x4b7255
mov rbx, qword [rsp + 0x38]
lea rcx, [rbx + 1]
cmp rcx, rdx
ja 0x4b7860
cmp rcx, 1
jb 0x4b7852
mov rcx, rbx
neg rbx
sar rbx, 0x3f
and ebx, 1
mov rsi, qword [rsp + 0xe8]
lea rax, [rsi + rbx]
jmp 0x4b7260
mov rcx, rdx
mov rax, qword [rsp + 0xe8]
mov qword [rsp + 0x88], rcx
mov qword [rsp + 0xd0], rax
call fcn.004a1ba0
mov rax, qword [rsp + 0xf0]
mov rcx, qword [rsp + 0x38]
sub rax, rcx
lea rdi, [rax - 2]
mov rax, rdi
neg rdi
sar rdi, 0x3f
mov rcx, qword [rsp + 0x60]
and rcx, rdi
mov rdx, qword [rsp + 0xe8]
add rcx, rdx
mov rbx, qword [rsp + 0x88]
mov rdi, rax
xor esi, esi
xor r8d, r8d
mov rax, qword [rsp + 0xd0]
mov rbp, qword [rsp + 0xd8]
add rsp, 0xe0
ret
movzx esi, byte [rsp + 0xf8]
test sil, sil
jne 0x4b72e2
xor eax, eax
xor ecx, ecx
nop
jmp 0x4b7325
mov rdx, qword [rsp + 0x38]
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 + 0x70], rcx
lea rax, [0x0058df80]
xor ebx, ebx
call fcn.004868e0
movzx esi, byte [rsp + 0xf8]
mov rcx, rax
mov rax, qword [rsp + 0x70]
movzx edi, byte [rsp + 0x2e]
mov rbx, qword [rsp + 0x98]
mov r8, qword [rsp + 0x40]
xor edx, edx
jmp 0x4b7421
lea rax, [0x00740b40]
call fcn.004a0800
mov rcx, qword [0x00740b40]
mov qword [rsp + 0x90], rcx
mov rdx, qword [0x00740b48]
mov qword [rsp + 0xd0], rdx
call fcn.004a1ba0
xor eax, eax
xor ebx, ebx
mov rcx, qword [rsp + 0xe8]
mov rdi, qword [rsp + 0xf0]
mov rsi, qword [rsp + 0x90]
mov r8, qword [rsp + 0xd0]
mov rbp, qword [rsp + 0xd8]
add rsp, 0xe0
ret
lea rax, [0x00740b40]
call fcn.004a0800
mov rcx, qword [0x00740b40]
mov qword [rsp + 0x90], rcx
mov rdx, qword [0x00740b48]
mov qword [rsp + 0xd0], rdx
call fcn.004a1ba0
xor eax, eax
xor ebx, ebx
mov rcx, qword [rsp + 0xe8]
mov rdi, qword [rsp + 0xf0]
mov rsi, qword [rsp + 0x90]
mov r8, qword [rsp + 0xd0]
mov rbp, qword [rsp + 0xd8]
add rsp, 0xe0
ret
mov esi, r8d
mov r8, rdi
movzx edi, byte [rsp + 0x2e]
mov r9, rbx
mov rbx, rcx
mov rcx, r9
mov r10, rdx
mov rdx, rax
mov rax, r10
test r8, r8
je 0x4b76cb
cmp byte [rbx], dil
je 0x4b76b2
mov qword [rsp + 0x68], rdx
mov qword [rsp + 0x70], rax
mov qword [rsp + 0xd0], rbx
mov qword [rsp + 0xa8], rcx
mov rax, rbx
mov rbx, r8
mov ecx, edi
call fcn.004b6620
mov rdx, qword [rsp + 0xd0]
cmp byte [rdx], 0xa
je 0x4b764f
test rsi, rsi
jne 0x4b764f
movzx r8d, byte [rsp + 0xf8]
nop dword [rax]
test r8b, r8b
jne 0x4b749c
mov rax, qword [rsp + 0x68]
mov rbx, qword [rsp + 0xa8]
mov rdx, qword [rsp + 0x70]
jmp 0x4b7636
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0xa0], rcx
cmp eax, 0x80
jl 0x4b74b8
test bl, bl
jne 0x4b7549
mov dword [rsp + 0x30], eax
mov rdx, qword [rsp + 0x70]
mov r9, qword [rsp + 0x68]
mov r10, rdx
sub rdx, r9
cmp rdx, 1
jl 0x4b74dc
mov rdx, qword [rsp + 0xa8]
jmp 0x4b7503
lea rsi, [r9 + 1]
lea rax, [0x0058df80]
mov rbx, qword [rsp + 0xa8]
mov rcx, r9
mov rdi, r10
call fcn.004869c0
mov r9, rbx
mov rdx, rax
mov r10, rcx
mov qword [rsp + 0x70], r10
mov qword [rsp + 0xc8], rdx
mov qword [rsp + 0x88], r9
lea rax, [rdx + r9]
nop dword [rax]
call fcn.004a0840
mov rcx, qword [rsp + 0x88]
mov edx, dword [rsp + 0x30]
mov rbx, qword [rsp + 0xc8]
mov byte [rbx + rcx], dl
inc rcx
mov rax, qword [rsp + 0x70]
jmp 0x4b761a
mov dword [rsp + 0x34], 0
mov ebx, 4
mov rcx, rbx
mov edi, eax
lea rax, [rsp + 0x34]
call fcn.004a7460
cmp rax, 4
ja 0x4b7845
mov rcx, qword [rsp + 0x68]
lea rsi, [rcx + rax]
mov qword [rsp + 0x88], rsi
mov rdi, qword [rsp + 0x70]
cmp rdi, rsi
jb 0x4b7594
mov rdx, qword [rsp + 0xa8]
jmp 0x4b75c5
mov qword [rsp + 0x50], rax
lea rax, [0x0058df80]
mov rbx, qword [rsp + 0xa8]
call fcn.004869c0
mov rsi, qword [rsp + 0x88]
mov rdi, rcx
mov rdx, rax
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x68]
cmp rcx, rsi
ja 0x4b783a
mov qword [rsp + 0xc0], rdx
mov qword [rsp + 0x70], rdi
mov r8, rcx
sub rcx, rdi
sar rcx, 0x3f
and rcx, r8
lea r8, [rdx + rcx]
mov rbx, rax
lea rcx, [rsp + 0x34]
mov esi, 1
mov rax, r8
mov rdi, rbx
nop
call fcn.004870c0
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x88]
mov rbx, qword [rsp + 0xc0]
mov rdi, qword [rsp + 0x48]
movzx r8d, byte [rsp + 0xf8]
mov rdx, rax
mov rax, rcx
mov rcx, qword [rsp + 0xa0]
movzx esi, byte [rsp + 0x2e]
nop dword [rax + rax]
cmp sil, 0x27
jne 0x4b7404
jmp 0x4b76e2
lea rax, [0x00740b40]
call fcn.004a0800
mov rcx, qword [0x00740b40]
mov qword [rsp + 0x90], rcx
mov rdx, qword [0x00740b48]
mov qword [rsp + 0xd0], rdx
call fcn.004a1ba0
xor eax, eax
xor ebx, ebx
mov rcx, qword [rsp + 0xe8]
mov rdi, qword [rsp + 0xf0]
mov rsi, qword [rsp + 0x90]
mov r8, qword [rsp + 0xd0]
mov rbp, qword [rsp + 0xd8]
add rsp, 0xe0
ret
mov rax, rdx
mov r9d, esi
mov esi, edi
mov rdi, r8
mov r8d, r9d
mov r10, rcx
mov rcx, rbx
mov rbx, r10
jmp 0x4b76e2
mov rax, rdx
mov r9d, esi
mov esi, edi
mov rdi, r8
mov r8d, r9d
mov r10, rcx
mov rcx, rbx
mov rbx, r10
test rdi, rdi
je 0x4b77cf
cmp byte [rcx], sil
jne 0x4b77cf
lea rsi, [rdi - 1]
mov qword [rsp + 0x88], rsi
neg rsi
sar rsi, 0x3f
and esi, 1
add rsi, rcx
mov qword [rsp + 0xd0], rsi
test r8b, r8b
jne 0x4b777a
mov rdx, qword [rsp + 0xf0]
mov rax, rdx
sub rdx, rdi
lea rcx, [rdx + 1]
cmp rax, rcx
jb 0x4b7832
mov qword [rsp + 0x80], rcx
nop dword [rax]
call fcn.004a1ba0
mov rax, qword [rsp + 0xe8]
mov rbx, qword [rsp + 0x80]
mov rcx, qword [rsp + 0xd0]
mov rdi, qword [rsp + 0x88]
xor esi, esi
xor r8d, r8d
mov rbp, qword [rsp + 0xd8]
add rsp, 0xe0
ret
mov rcx, rax
xor eax, eax
nop
call fcn.0048a900
mov qword [rsp + 0xb8], rax
mov qword [rsp + 0x80], rbx
call fcn.004a1ba0
mov rax, qword [rsp + 0xb8]
mov rbx, qword [rsp + 0x80]
mov rcx, qword [rsp + 0xd0]
mov rdi, qword [rsp + 0x88]
xor esi, esi
xor r8d, r8d
mov rbp, qword [rsp + 0xd8]
add rsp, 0xe0
ret
lea rax, [0x00740b40]
call fcn.004a0800
mov rcx, qword [0x00740b40]
mov qword [rsp + 0x90], rcx
mov rdx, qword [0x00740b48]
mov qword [rsp + 0xd0], rdx
call fcn.004a1ba0
xor eax, eax
xor ebx, ebx
mov rcx, qword [rsp + 0xe8]
mov rdi, qword [rsp + 0xf0]
mov rsi, qword [rsp + 0x90]
mov r8, qword [rsp + 0xd0]
mov rbp, qword [rsp + 0xd8]
add rsp, 0xe0
ret
mov rdx, rax
call fcn.0049f500
mov rax, rcx
mov rcx, rsi
call fcn.0049f580
mov rcx, rax
mov edx, 4
call fcn.0049f500
mov eax, 1
call fcn.0049f580
nop dword [rax]
call fcn.0049f500
mov eax, 1
mov rcx, rsi
call fcn.0049f580
mov rcx, rsi
call fcn.0049f500
mov eax, 1
mov rcx, rsi
call fcn.0049f580
mov rcx, rsi
call fcn.0049f500
call fcn.0049f500
mov rdi, qword [rsp + 0x60]
cmp rdx, rdi
jb 0x4b790c
mov qword [rsp + 0x88], rcx
mov qword [rsp + 0xd0], rax
call fcn.004a1ba0
mov rax, qword [rsp + 0xf0]
mov rcx, qword [rsp + 0x38]
sub rax, rcx
lea rdi, [rax - 2]
mov rax, rdi
neg rdi
sar rdi, 0x3f
mov rcx, qword [rsp + 0x60]
and rcx, rdi
mov rdx, qword [rsp + 0xe8]
add rcx, rdx
mov rbx, qword [rsp + 0x88]
mov rdi, rax
xor esi, esi
xor r8d, r8d
mov rax, qword [rsp + 0xd0]
mov rbp, qword [rsp + 0xd8]
add rsp, 0xe0
ret
mov rax, rdi
mov rcx, rdx
call fcn.0049f580
call fcn.0049f500
mov eax, 1
call fcn.0049f580
call fcn.0049f500
inc rcx
lea r9, [rdi + 1]
cmp rcx, r9
jge 0x4b79e9
nop dword [rax + rax]
cmp rsi, rcx
jbe 0x4b7a13
movzx r9d, byte [rdx + rcx]
cmp r9b, 0xd
je 0x4b792b
mov qword [rsp + 0x58], rcx
mov byte [rsp + 0x2f], r9b
mov r10, r8
sub r8, rbx
cmp r8, 1
jge 0x4b7988
lea rsi, [rbx + 1]
mov rcx, rbx
mov rdi, r10
mov rbx, rax
lea rax, [0x0058df80]
nop
call fcn.004869c0
mov r10, rcx
mov qword [rsp + 0x78], r10
mov qword [rsp + 0x88], rbx
mov qword [rsp + 0xb0], rax
lea rcx, [rax + rbx]
mov rax, rcx
call fcn.004a0840
mov rcx, qword [rsp + 0x88]
movzx edx, byte [rsp + 0x2f]
mov rax, qword [rsp + 0xb0]
mov byte [rax + rcx], dl
lea rbx, [rcx + 1]
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rsp + 0xe8]
mov rsi, qword [rsp + 0xf0]
mov rdi, qword [rsp + 0x38]
mov r8, qword [rsp + 0x78]
jmp 0x4b792b
mov rcx, rbx
mov rbx, rax
xor eax, eax
call fcn.0048a900
mov rdx, qword [rsp + 0xf0]
mov rsi, qword [rsp + 0xe8]
mov rcx, rbx
mov rbx, qword [rsp + 0x38]
jmp 0x4b7894
mov rax, rcx
mov rcx, rsi
call fcn.0049f4c0
nop
call fcn.0049f500
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov byte [rsp + 0x18], cl
call fcn.0049cdc0
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
movzx ecx, byte [rsp + 0x18]
jmp fcn.004b6e40