Function at 0x4b3730
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x2c8
movdqa xmmword [rsp + 0x2b0], xmm8
movdqa xmmword [rsp + 0x2a0], xmm7
movdqa xmmword [rsp + 0x290], xmm6
mov r15, r9
mov r14, r8
mov rbx, rdx
mov r12, qword [rsp + 0x338]
mov dword [rsp + 0x114], 0
mov dword [rsp + 0x144], 0
mov r13, qword [rcx]
cmp dword [rcx + 0x30], 0
je 0x4b37a1
mov rcx, r13
mov rdx, rbx
call fcn.004688d0
xor esi, esi
jmp 0x4b3ad1
mov rdi, rcx
mov dword [rsp + 0x1fc], 0
test r14, r14
je 0x4b37e7
mov eax, dword [r14 + 4]
not eax
or eax, 0xfffffdff
cmp eax, 0xffffffff
je 0x4b37cb
cmp qword [r14 + 0x50], 0
je 0x4b37ff
xor eax, eax
mov qword [rsp + 0x148], rax
mov rcx, qword [rbx + 8]
test rcx, rcx
jne 0x4b3830
lea rax, [rbx + 0x10]
jmp 0x4b3880
xor eax, eax
mov qword [rsp + 0x148], rax
xor r14d, r14d
mov rcx, qword [rbx + 8]
test rcx, rcx
jne 0x4b3830
jmp 0x4b37de
mov rax, qword [r14 + 0x20]
mov qword [rsp + 0x148], rax
mov qword [r14 + 0x20], 0
mov rcx, r13
mov rdx, r14
mov r8d, 1
call fcn.00468620
xor r14d, r14d
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x4b37de
mov r8, rbx
movabs rdx, 0xffffffff00000000
movabs rbp, 0x100000000
mov r9, rdi
mov rax, qword [rdi]
mov rax, qword [rax + 0x20]
lea rbx, [rax + 0x18]
xor edi, edi
nop word [rax + rax]
add rdx, rbp
add rdi, 1
lea rsi, [rbx + 0x20]
cmp qword [rbx], rcx
mov rbx, rsi
jne 0x4b3860
sar rdx, 0x1b
add rax, rdx
mov rbx, r8
mov rdi, r9
mov r9, qword [rax]
mov r8, qword [rbx + 0x18]
mov rcx, rdi
xor edx, edx
call fcn.004190c0
mov rsi, rax
mov rdx, qword [rbx + 0x28]
test rdx, rdx
je 0x4b38ba
mov rcx, qword [rdi]
test rcx, rcx
je 0x4b38af
cmp qword [rcx + 0x300], 0
jne 0x4b38b5
add dword [rdx + 0x2c], 0xffffffff
jne 0x4b38ba
call fcn.0047f4d0
mov qword [rbx + 0x28], rsi
test rsi, rsi
je 0x4b3965
add dword [rsi + 0x2c], 1
mov eax, dword [rbx + 0x48]
mov ecx, eax
xor ecx, 0xfffffffd
test ecx, eax
je 0x4b397a
mov rax, rsi
mov rsi, rdi
mov r12, rbx
mov r8, qword [rbx + 0x60]
mov r9, rax
mov rax, qword [rax + 0x10]
test rax, rax
je 0x4b393a
lea rcx, [0x005fade0]
mov rdx, qword [rax]
xor ebp, ebp
jmp 0x4b391d
movzx ebx, byte [rbx + rcx]
cmp bl, byte [rdi + rcx]
jne 0x4b3931
add rbp, 1
movzx ebx, byte [rdx + rbp]
movzx edi, byte [r8 + rbp]
cmp bl, dil
jne 0x4b3910
test bl, bl
jne 0x4b3919
jmp 0x4b396c
mov rax, qword [rax + 0x28]
test rax, rax
jne 0x4b38fb
lea rdx, [0x006038e9]
mov rdi, rsi
xor esi, esi
mov rcx, rdi
xor r9d, r9d
call fcn.00419aa0
mov byte [rdi + 0x1d], 1
mov rbx, r12
mov r12, qword [rsp + 0x338]
jmp 0x4b3ab1
xor esi, esi
jmp 0x4b3ab1
mov rbx, r12
mov qword [r12 + 0x68], rax
mov rdi, rsi
mov rsi, r9
mov qword [rsp + 0xd8], rbx
mov qword [rsp + 0xc0], r14
mov rcx, qword [rsi + 0x60]
mov rax, qword [r13 + 0x20]
test rcx, rcx
je 0x4b39c6
lea rdx, [rax + 0x18]
mov r12d, 0xffffffff
xor ebp, ebp
nop word [rax + rax]
add rbp, 1
add r12d, 1
lea rbx, [rdx + 0x20]
cmp qword [rdx], rcx
mov rdx, rbx
jne 0x4b39b0
jmp 0x4b39cc
mov r12d, 0xffff8000
movsxd rbp, r12d
shl rbp, 5
mov rcx, qword [rdi]
mov rbx, qword [rcx + 0x1f8]
test rbx, rbx
je 0x4b39f8
cmp byte [rcx + 0xc5], 0
jne 0x4b39f8
cmp byte [rdi + 0x124], 0
je 0x4b3ee6
mov al, byte [rsi + 0x30]
mov byte [rsp + 0xff], al
cmp qword [rsi + 0x58], 0
mov qword [rsp + 0x100], rbp
je 0x4b3a40
cmp byte [rdi + 0xd7], 0
jne 0x4b3a57
lea rax, [rsp + 0x140]
mov qword [rsp + 0x20], rax
mov rcx, rdi
mov rdx, rsi
mov r8d, 0x7f
xor r9d, r9d
call fcn.0050e530
mov rbx, rax
jmp 0x4b3a64
mov rax, qword [rdi]
mov rax, qword [rax + 0x20]
mov rax, qword [rax + 0x38]
test rax, rax
je 0x4b3a57
cmp qword [rax + 0x40], 0
jne 0x4b3a11
mov dword [rsp + 0x140], 0
xor ebx, ebx
mov r14b, byte [rsi + 0x3f]
mov rcx, rdi
mov rdx, rsi
call fcn.004ddca0
test eax, eax
jne 0x4b3a97
mov byte [rsp + 0x77], r14b
mov r8d, dword [rsp + 0x140]
mov rcx, rdi
mov rdx, rsi
call fcn.0050cf20
test eax, eax
je 0x4b3be6
xor esi, esi
mov r14, qword [rsp + 0xc0]
mov r12, qword [rsp + 0x338]
mov rbx, qword [rsp + 0xd8]
mov rcx, r13
mov rdx, rbx
call fcn.004688d0
mov rdx, qword [rsp + 0x148]
test rdx, rdx
je 0x4b3ad1
mov rcx, r13
call fcn.0047fbe0
test r12, r12
je 0x4b3ae1
mov rcx, r13
mov rdx, r12
call fcn.0047fb60
test r14, r14
je 0x4b3af7
mov rcx, r13
mov rdx, r14
mov r8d, 1
call fcn.00468620
test r15, r15
je 0x4b3eae
cmp dword [r15], 0
jle 0x4b3b2b
lea rbx, [r15 + 8]
xor ebp, ebp
mov rdx, qword [rbx]
mov rcx, r13
call fcn.00408130
add rbp, 1
movsxd rax, dword [r15]
add rbx, 0x10
cmp rbp, rax
jl 0x4b3b10
test r13, r13
je 0x4b3b69
cmp qword [r13 + 0x300], 0
je 0x4b3b4a
mov rcx, r13
mov rdx, r15
call fcn.004297f0
jmp 0x4b3eae
cmp qword [r13 + 0x1f0], r15
jbe 0x4b3b69
cmp qword [r13 + 0x1e0], r15
jbe 0x4b3bd0
cmp qword [r13 + 0x1e8], r15
jbe 0x4b3e9d
cmp dword [0x005f6010], 0
je 0x4b3bc2
mov rcx, qword [0x0213b0e8]
test rcx, rcx
je 0x4b3b84
call qword [0x005f6090]
mov rcx, r15
call qword [0x005f6048]
cdqe
sub qword [0x0213b040], rax
add qword [0x0213b088], 0xffffffffffffffff
mov rcx, r15
call qword [0x005f6038]
mov rcx, qword [0x0213b0e8]
test rcx, rcx
je 0x4b3eae
call qword [0x005f60a0]
jmp 0x4b3eae
mov rcx, r15
call qword [0x005f6038]
jmp 0x4b3eae
mov rax, qword [r13 + 0x1d8]
mov qword [r15], rax
mov qword [r13 + 0x1d8], r15
jmp 0x4b3eae
mov rcx, rdi
call fcn.004c6120
test rax, rax
je 0x4b3a97
mov qword [rsp + 0x90], rsi
mov qword [rsp + 0xb0], r13
cmp byte [rdi + 0x1e], 0
jne 0x4b3c23
mov edx, dword [rax + 0xc8]
mov ecx, edx
and ecx, 0x10
xor edx, 0x10
or edx, ecx
mov dword [rax + 0xc8], edx
cmp qword [rsp + 0xc0], 0
setne sil
mov qword [rsp + 0x118], rbx
test rbx, rbx
setne dl
mov ecx, esi
and cl, dl
xor sil, dl
or sil, cl
mov rbp, qword [rdi + 0xa0]
test rbp, rbp
mov qword [rsp + 0x78], rdi
cmove rbp, rdi
mov r13d, 1
mov ecx, r12d
shl r13d, cl
mov edx, 0xfffffffe
rol edx, cl
mov ebx, dword [rbp + 0x74]
mov ecx, ebx
not ecx
or edx, ecx
cmp edx, 0xffffffff
mov qword [rsp + 0x88], rax
jne 0x4b3c9f
mov ecx, ebx
and ecx, r13d
xor ebx, r13d
or ebx, ecx
mov dword [rbp + 0x74], ebx
cmp r12d, 1
jne 0x4b3c9f
mov rcx, rbp
call fcn.004306d0
cmp qword [rsp + 0xc0], 0
sete al
mov ecx, dword [rbp + 0x70]
mov edx, ecx
and edx, r13d
xor ecx, r13d
or ecx, edx
mov dword [rbp + 0x70], ecx
mov cl, byte [rbp + 0x20]
mov edx, ecx
not dl
mov ebx, esi
not bl
or bl, dl
and dl, 0x5c
and cl, 0xa3
or cl, dl
or sil, 0x5c
xor sil, cl
not bl
or bl, sil
mov byte [rbp + 0x20], bl
test r15, r15
sete cl
cmp cl, al
mov qword [rsp + 0x98], r15
je 0x4b403f
test r15, r15
jne 0x4b403f
cmp qword [rsp + 0x118], 0
jne 0x4b403f
mov al, 1
test al, al
je 0x4b403f
mov rax, qword [rsp + 0x78]
cmp qword [rax + 0x188], 0
jne 0x4b403f
mov rax, qword [rsp + 0xc0]
cmp qword [rax + 0x68], 0
jne 0x4b403f
mov rax, qword [rsp + 0x90]
cmp byte [rax + 0x3f], 1
je 0x4b403f
mov rax, qword [rsp + 0x78]
mov r13, qword [rax]
mov eax, dword [rsp + 0x330]
mov ebp, eax
cmp eax, 0xb
jne 0x4b3d8a
mov rax, qword [rsp + 0x90]
cmp word [rax + 0x34], 0
js 0x4b3d85
mov rax, qword [rsp + 0x90]
movzx ebp, byte [rax + 0x3e]
cmp ebp, 0xb
jne 0x4b3d8a
mov ebp, 2
mov rax, qword [rsp + 0xc0]
mov rax, qword [rax + 0x28]
cmp dword [rax], 1
jne 0x4b403f
cmp qword [rax + 0x30], 0
jne 0x4b403f
mov rcx, qword [rsp + 0xc0]
cmp qword [rcx + 0x30], 0
jne 0x4b403f
mov rcx, qword [rsp + 0xc0]
cmp qword [rcx + 0x48], 0
jne 0x4b403f
mov rcx, qword [rsp + 0xc0]
cmp qword [rcx + 0x38], 0
jne 0x4b403f
mov rcx, qword [rsp + 0xc0]
cmp qword [rcx + 0x60], 0
jne 0x4b403f
mov rcx, qword [rsp + 0xc0]
cmp qword [rcx + 0x50], 0
jne 0x4b403f
mov rcx, qword [rsp + 0xc0]
mov ecx, dword [rcx + 4]
mov edx, ecx
xor edx, 0xfffffffe
test edx, ecx
jne 0x4b403f
mov rcx, qword [rsp + 0xc0]
mov rcx, qword [rcx + 0x20]
cmp dword [rcx], 1
jne 0x4b403f
mov rcx, qword [rcx + 8]
cmp byte [rcx], 0xb4
jne 0x4b403f
mov qword [rsp + 0xe8], r13
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x4b3f7d
movabs rbx, 0xffffffff00000000
movabs r9, 0x100000000
mov rcx, qword [rsp + 0xe8]
mov r8, qword [rcx + 0x20]
lea rdi, [r8 + 0x18]
xor ecx, ecx
add rbx, r9
add rcx, 1
lea rsi, [rdi + 0x20]
cmp qword [rdi], rdx
mov rdi, rsi
jne 0x4b3e7e
sar rbx, 0x1b
add r8, rbx
jmp 0x4b3f81
mov rax, qword [r13 + 0x1c8]
mov qword [r15], rax
mov qword [r13 + 0x1c8], r15
mov rcx, r13
mov rdx, rsi
call fcn.00408130
movaps xmm6, xmmword [rsp + 0x290]
movaps xmm7, xmmword [rsp + 0x2a0]
movaps xmm8, xmmword [rsp + 0x2b0]
add rsp, 0x2c8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov r8, qword [rsi]
mov rax, qword [rax + rbp]
mov rcx, qword [rcx + 0x200]
mov rdx, qword [rdi + 0x168]
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], rax
mov edx, 0x12
xor r9d, r9d
call rbx
cmp eax, 1
jne 0x4b3f2f
lea rdx, [0x005ff140]
mov rcx, rdi
call fcn.00419aa0
mov dword [rdi + 0x18], 0x17
jmp 0x4b3a97
mov ecx, eax
not ecx
or ecx, 2
cmp ecx, 0xffffffff
mov rbx, qword [rsp + 0xd8]
je 0x4b3f70
lea rdx, [0x00602fdd]
mov rcx, rdi
call fcn.00419aa0
mov dword [rdi + 0x18], 1
xor esi, esi
mov r14, qword [rsp + 0xc0]
mov r12, qword [rsp + 0x338]
jmp 0x4b3ab1
test eax, eax
jne 0x4b3a97
jmp 0x4b39f8
lea r8, [rax + 0x10]
mov r9, qword [r8]
mov r8, qword [rax + 0x18]
mov rcx, qword [rsp + 0x78]
xor edx, edx
call fcn.004190c0
test rax, rax
mov r15, qword [rsp + 0x98]
je 0x4b403f
mov r13, rax
mov eax, dword [rax + 0x28]
mov rcx, qword [rsp + 0x90]
cmp eax, dword [rcx + 0x28]
jne 0x4b3fca
mov rax, qword [r13 + 0x60]
mov rcx, qword [rsp + 0x90]
cmp rax, qword [rcx + 0x60]
je 0x4b403f
mov rax, qword [rsp + 0x90]
mov ebx, dword [rax + 0x30]
mov edi, dword [r13 + 0x30]
mov edx, edi
not edx
and edx, ebx
mov ecx, ebx
not ecx
and ecx, edi
or dl, cl
js 0x4b403f
cmp byte [r13 + 0x3f], 0
jne 0x4b403f
mov rax, qword [rsp + 0x90]
movzx edx, word [rax + 0x36]
cmp dx, word [r13 + 0x36]
jne 0x4b403f
mov rax, qword [rsp + 0x90]
movzx ecx, word [rax + 0x34]
cmp cx, word [r13 + 0x34]
jne 0x4b403f
mov ecx, ebx
xor ecx, 0xfffeffff
and ecx, ebx
setne bl
mov eax, edi
xor eax, 0xfffeffff
test eax, edi
setne al
cmp bl, al
je 0x4b7f2f
test ecx, ecx
je 0x4b7f2f
mov r14, qword [rsp + 0x78]
mov rcx, r14
mov edx, r12d
mov rsi, qword [rsp + 0x90]
mov r8, rsi
call fcn.0051b460
mov ebp, eax
lea rbx, [r14 + 0x38]
mov eax, dword [r14 + 0x38]
lea edx, [rax + 1]
movsx ecx, word [rsi + 0x36]
add ecx, eax
add ecx, 1
mov dword [r14 + 0x38], ecx
cmp byte [rsi + 0x3f], 1
mov dword [rsp + 0x130], edx
mov qword [rsp + 0x80], rdx
jne 0x4b4099
add eax, 2
add ecx, 1
mov dword [rbx], ecx
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0xd8]
lea rcx, [rax + 8]
mov eax, dword [rsi + 0x30]
not eax
or eax, 0xfffffbbf
cmp eax, 0xffffffff
sete dil
mov eax, 0xffffffff
mov qword [rsp + 0x100], rax
test r15, r15
mov qword [rsp + 0xe0], rbx
mov dword [rsp + 0xa8], ebp
mov qword [rsp + 0xc8], rcx
je 0x4b4138
mov byte [r15 + 4], 1
mov edx, dword [r15]
test edx, edx
jle 0x4b4138
mov dword [rsp + 0xe8], edi
movabs rbp, 0x100000000
movabs rax, 0xea9c0abf1325344f
mov rcx, rax
not rcx
add rcx, rdx
add rcx, rax
mov eax, edx
and eax, 7
cmp rcx, 7
mov qword [rsp + 0xa0], rdx
jae 0x4b42fc
xor ebx, ebx
mov rdx, qword [rsp + 0x98]
jmp 0x4b449f
mov r8, rsi
mov rax, qword [rsp + 0x80]
lea ebx, [rax + 1]
cmp qword [rsp + 0xc0], 0
je 0x4b41c7
mov rax, qword [rsp + 0xe0]
mov ebp, dword [rax]
add ebp, 1
mov dword [rax], ebp
mov rcx, qword [rsp + 0x88]
movsxd rdx, dword [rcx + 0x90]
lea eax, [rdx + 1]
cmp dword [rcx + 0x94], edx
mov r13, qword [rsp + 0xb0]
mov rsi, r8
mov qword [rsp + 0xe8], rdx
jle 0x4b425f
mov dword [rcx + 0x90], eax
mov rcx, qword [rcx + 0x88]
lea rdx, [rdx + rdx*2]
mov dword [rcx + rdx*8], 0xa
mov dword [rcx + rdx*8 + 4], ebp
mov dword [rcx + rdx*8 + 8], 0
mov dword [rcx + rdx*8 + 0xc], eax
mov qword [rcx + rdx*8 + 0x10], 0
jmp 0x4b4273
pxor xmm0, xmm0
movdqu xmmword [rsp + 0x188], xmm0
movdqu xmmword [rsp + 0x178], xmm0
movdqu xmmword [rsp + 0x168], xmm0
mov qword [rsp + 0x160], r14
mov r10d, 0
mov rdi, qword [rsp + 0x148]
test rdi, rdi
mov r13, qword [rsp + 0xb0]
mov r15, qword [rsp + 0x98]
mov rsi, r8
je 0x4b4782
mov ebp, dword [rdi]
lea rcx, [rsp + 0x160]
mov rdx, rdi
call fcn.004d5870
mov r10d, ebp
test eax, eax
je 0x4b4782
mov rcx, r13
mov rdx, qword [rsp + 0xd8]
call fcn.004688d0
xor esi, esi
mov r14, qword [rsp + 0xc0]
mov r12, qword [rsp + 0x338]
mov rdx, rdi
jmp 0x4b3ac9
mov dword [rsp + 0x20], eax
mov edx, 0xa
mov r8d, ebp
xor r9d, r9d
call fcn.0047df60
mov r15, qword [rsp + 0x98]
mov byte [rsp + 0x1f8], 0xd
mov dword [rsp + 0x1fc], ebp
mov dword [rsp + 0x200], 0
xor ecx, ecx
test dil, dil
mov eax, ebx
cmove eax, ecx
mov qword [rsp + 0x210], 0
mov dword [rsp + 0x204], eax
movsx eax, word [rsi + 0x36]
mov dword [rsp + 0x208], eax
lea r8, [rsp + 0x1f8]
mov rcx, r14
mov rdx, qword [rsp + 0xc0]
call fcn.0049e470
test eax, eax
je 0x4b4718
mov r14, qword [rsp + 0xc0]
mov r12, qword [rsp + 0x338]
mov rbx, qword [rsp + 0xd8]
xor esi, esi
jmp 0x4b3ab1
movabs r14, 0xc235dcc41ba9352f
movabs rcx, 0x5656124ccc73ac4b
movabs rdi, 0x24b1b2c38869f149
add ebp, 0xfffffff8
xor ebp, edx
not ebp
and ebp, edx
xor ebx, ebx
mov r15, rdi
not r15
movabs r10, 0xffffffffffffffc
and r10, rdi
mov r13, rcx
not r13
movabs r11, 0xffffffffffffffb
and r11, rcx
movabs r8, 0xffffffffffffff8
and r8, r14
mov rdx, qword [rsp + 0x98]
mov rcx, rbx
shl rcx, 4
mov dword [rdx + rcx + 0x10], 0xffffffff
mov ecx, ebx
and ecx, 1
mov rsi, rbx
xor rsi, 1
or rsi, rcx
shl rsi, 4
mov dword [rdx + rsi + 0x10], 0xffffffff
mov ecx, ebx
and ecx, 2
mov rdi, rbx
xor rdi, 2
or rdi, rcx
shl rdi, 4
mov dword [rdx + rdi + 0x10], 0xffffffff
mov r9, rbx
not r9
mov rcx, r9
movabs rdi, 0x24b1b2c38869f149
and rcx, rdi
mov rsi, rbx
and rsi, r15
or rsi, rcx
mov ecx, r15d
and ecx, 3
or rcx, r10
xor rcx, rsi
mov esi, edi
or esi, r15d
and esi, ebx
and esi, 3
or rsi, rcx
shl rsi, 4
mov dword [rdx + rsi + 0x10], 0xffffffff
mov rcx, r9
movabs rdi, 0x5656124ccc73ac4b
and rcx, rdi
mov rsi, rbx
and rsi, r13
or rsi, rcx
mov ecx, r13d
and ecx, 4
or rcx, r11
xor rcx, rsi
mov esi, edi
or esi, r13d
and esi, ebx
and esi, 4
or rsi, rcx
shl rsi, 4
mov dword [rdx + rsi + 0x10], 0xffffffff
mov ecx, ebx
and ecx, 5
mov rsi, rbx
xor rsi, 5
or rsi, rcx
shl rsi, 4
mov dword [rdx + rsi + 0x10], 0xffffffff
mov ecx, ebx
and ecx, 6
mov rsi, rbx
xor rsi, 6
or rsi, rcx
shl rsi, 4
mov dword [rdx + rsi + 0x10], 0xffffffff
mov rcx, r14
not rcx
and r9, r14
mov rsi, rbx
and rsi, rcx
or rsi, r9
mov edi, ecx
and edi, 7
or rdi, r8
xor rdi, rsi
or ecx, r14d
and ecx, ebx
and ecx, 7
or rcx, rdi
shl rcx, 4
mov dword [rdx + rcx + 0x10], 0xffffffff
add rbx, 8
add rbp, 0xfffffffffffffff8
jne 0x4b4360
test rax, rax
je 0x4b44c9
mov rcx, rdx
mov rdx, rbx
shl rdx, 4
add rdx, rcx
add rdx, 0x10
mov dword [rdx], 0xffffffff
add rbx, 1
add rdx, 0x10
add rax, 0xffffffffffffffff
jne 0x4b44b5
mov rsi, qword [rsp + 0xa0]
test esi, esi
mov r14, qword [rsp + 0x78]
mov rax, qword [rsp + 0x90]
mov edi, dword [rsp + 0xe8]
jle 0x4b47e1
mov r8, rax
movzx r10d, word [rax + 0x36]
mov eax, 0xffffffff
mov qword [rsp + 0x100], rax
lea rbp, [0x005fade0]
lea r13, [0x00607536]
lea r11, [0x006034f1]
xor r15d, r15d
jmp 0x4b4529
add r15, 1
cmp r15, rsi
je 0x4b413b
test r10w, r10w
jle 0x4b4658
mov dword [rsp + 0xe8], edi
mov r9, qword [r8 + 8]
mov rsi, r15
shl rsi, 4
mov rax, qword [rsp + 0x98]
mov rcx, qword [rax + rsi + 8]
mov word [rsp + 0xb8], r10w
movsx r10, r10w
xor ebx, ebx
lea rdx, [rbx + rbx*2]
mov rdx, qword [r9 + rdx*8]
xor r14d, r14d
jmp 0x4b457e
movzx eax, byte [rdi + rbp]
cmp al, byte [r8 + rbp]
jne 0x4b4594
add r14, 1
movzx edi, byte [rcx + r14]
movzx r8d, byte [rdx + r14]
cmp dil, r8b
jne 0x4b4570
test dil, dil
jne 0x4b457a
jmp 0x4b45c7
add rbx, 1
cmp rbx, r10
jl 0x4b4561
mov r14, qword [rsp + 0x78]
mov r8, qword [rsp + 0x90]
mov rsi, qword [rsp + 0xa0]
mov edi, dword [rsp + 0xe8]
movzx r10d, word [rsp + 0xb8]
jmp 0x4b465a
movabs rax, 0x100000000
lea rcx, [rax - 1]
xor rcx, rbx
not rcx
and rcx, rbx
mov rax, qword [rsp + 0x98]
mov dword [rax + rsi + 0x10], ebx
mov rsi, qword [rsp + 0x90]
mov rax, qword [rsi + 8]
lea rdx, [rcx + rcx*2]
movzx edi, word [rax + rdx*8 + 0x12]
not edi
or edi, 0xff9f
cmp di, 0xffff
jne 0x4b47e9
movsx eax, word [rsi + 0x34]
cmp ebx, eax
mov rax, qword [rsp + 0x100]
cmove eax, r15d
mov qword [rsp + 0x100], rax
cmp r15, rcx
mov edi, dword [rsp + 0xe8]
movzx edi, dil
mov eax, 0
cmovne edi, eax
mov r8, rsi
movzx r10d, word [rsi + 0x36]
mov r14, qword [rsp + 0x78]
mov rsi, qword [rsp + 0xa0]
jmp 0x4b465a
xor ebx, ebx
movsx eax, r10w
cmp ebx, eax
jl 0x4b451c
mov rax, r15
shl rax, 4
mov rcx, qword [rsp + 0x98]
mov r9, qword [rcx + rax + 8]
xor eax, eax
lea rbx, [0x0060753e]
jmp 0x4b4698
test cl, cl
je 0x4b46f8
add rax, 1
movzx ecx, byte [r9 + rax]
movzx edx, byte [rax + r13]
cmp cl, dl
je 0x4b4690
movzx ecx, byte [rcx + rbp]
cmp cl, byte [rdx + rbp]
je 0x4b4694
xor eax, eax
jmp 0x4b46bb
test cl, cl
je 0x4b46f8
add rax, 1
movzx ecx, byte [r9 + rax]
movzx edx, byte [rax + r11]
cmp cl, dl
je 0x4b46b3
movzx ecx, byte [rcx + rbp]
cmp cl, byte [rdx + rbp]
je 0x4b46b7
xor eax, eax
jmp 0x4b46e7
movzx ecx, byte [rcx + rbp]
cmp cl, byte [rdx + rbp]
jne 0x4b47c3
add rax, 1
movzx ecx, byte [r9 + rax]
movzx edx, byte [rax + rbx]
cmp cl, dl
jne 0x4b46d6
test cl, cl
jne 0x4b46e3
cmp byte [rsp + 0xff], 0
js 0x4b47c3
xor edi, edi
mov eax, r15d
mov qword [rsp + 0x100], rax
jmp 0x4b451c
mov dword [rsp + 0xf4], ebx
cmp dword [r14 + 0x30], 0
jne 0x4b3a97
mov eax, dword [rsp + 0x204]
mov qword [rsp + 0x158], rax
mov rsi, qword [rsp + 0x88]
movsxd rax, dword [rsi + 0x90]
cmp dword [rsi + 0x94], eax
jle 0x4b4815
lea ecx, [rax + 1]
mov dword [rsi + 0x90], ecx
mov rcx, qword [rsi + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x44
mov dword [rcx + rax*8 + 4], ebp
pxor xmm0, xmm0
movdqu xmmword [rcx + rax*8 + 8], xmm0
jmp 0x4b4838
xor eax, eax
mov qword [rsp + 0x158], rax
mov dword [rsp + 0xf4], ebx
mov eax, 0xffffffff
mov qword [rsp + 0xd0], rax
mov al, 1
mov dword [rsp + 0xf8], eax
mov r14, qword [rsp + 0xc0]
mov r12, qword [rsp + 0x338]
mov rdi, qword [rsp + 0x78]
jmp 0x4b4d91
lea rdx, [0x00604ae4]
mov rcx, r14
mov r8, qword [rsp + 0xc8]
call fcn.00419aa0
mov byte [r14 + 0x1d], 1
jmp 0x4b47fe
mov r8, rax
jmp 0x4b413b
mov r8, qword [rax + rdx*8]
lea rdx, [0x00604abb]
mov rcx, qword [rsp + 0x78]
call fcn.00419aa0
xor esi, esi
mov r13, qword [rsp + 0xb0]
mov r15, qword [rsp + 0x98]
jmp 0x4b3a99
mov dword [rsp + 0x20], 0
mov rcx, rsi
mov edx, 0x44
mov r8d, ebp
xor r9d, r9d
call fcn.0047df60
mov rsi, qword [rsp + 0x88]
mov rax, qword [rsi + 0x18]
mov byte [rax + 0x1f], 0
mov dword [rax + 0x28], 0
mov eax, dword [rsi + 0x90]
mov rcx, qword [rsi]
cmp byte [rcx + 0x67], 0
mov rdx, qword [rsp + 0x118]
je 0x4b4867
lea rcx, [0x0213b3e8]
jmp 0x4b4889
lea ecx, [rax - 1]
mov rbp, qword [rsp + 0xe8]
test ebp, ebp
cmovns ecx, ebp
movsxd rcx, ecx
lea rcx, [rcx + rcx*2]
shl rcx, 3
add rcx, qword [rsi + 0x88]
mov dword [rcx + 8], eax
mov rax, qword [rsp + 0xc0]
mov rax, qword [rax + 0x20]
mov r10d, dword [rax]
test rdx, rdx
mov dword [rsp + 0xac], r10d
je 0x4b48f6
mov rdi, qword [rsp + 0x78]
mov eax, dword [rdi + 0x34]
mov qword [rsp + 0xd0], rax
add eax, 1
mov dword [rdi + 0x34], eax
mov al, byte [rdi + 0x1f]
test al, al
je 0x4b4a36
lea ecx, [rax - 1]
mov byte [rdi + 0x1f], cl
movzx ecx, cl
mov ebp, dword [rdi + rcx*4 + 0xd8]
cmp al, 1
je 0x4b4a47
add al, 0xfe
mov byte [rdi + 0x1f], al
movzx eax, al
mov r12d, dword [rdi + rax*4 + 0xd8]
jmp 0x4b4a59
mov rdi, qword [rsp + 0x78]
mov rcx, rdi
call fcn.004c6120
mov r8d, dword [rax + 0x90]
xor ecx, ecx
mov qword [rsp + 0xd0], rcx
mov rsi, qword [rsp + 0x90]
cmp byte [rsi + 0x3f], 1
jne 0x4b493c
mov rdx, qword [rsi + 0x50]
test rdx, rdx
je 0x4b493c
mov rbp, qword [rdi]
cmp qword [rdx], rbp
je 0x4b493e
mov rdx, qword [rdx + 0x28]
test rdx, rdx
jne 0x4b492e
xor edx, edx
mov r10d, dword [rsp + 0xac]
mov cl, 1
mov dword [rsp + 0xf8], ecx
cmp r8d, 2
jl 0x4b4d81
mov rcx, qword [rax]
cmp byte [rcx + 0x67], 0
je 0x4b5252
mov al, byte [0x0213b3e8]
mov rbx, qword [0x0213b3f8]
cmp al, 0xad
je 0x4b52d5
cmp al, 0x70
jne 0x4b49fc
mov ebp, dword [0x0213b3f4]
mov eax, dword [0x0213b3f0]
cmp rbx, rdx
je 0x4b71ca
cmp ebp, r12d
jne 0x4b49fc
mov rcx, qword [rsp + 0x90]
mov edx, dword [rcx + 0x28]
mov ebp, 1
mov r13, qword [rsp + 0xb0]
mov r15, qword [rsp + 0x98]
mov rsi, qword [rsp + 0x88]
mov r10d, dword [rsp + 0xac]
mov rcx, qword [rsp + 0x90]
cmp eax, edx
je 0x4b48a8
mov rbx, qword [rcx + 0x10]
test rbx, rbx
je 0x4b49f4
cmp eax, dword [rbx + 0x58]
je 0x4b48a8
mov rbx, qword [rbx + 0x28]
test rbx, rbx
jne 0x4b49e2
add ebp, 1
cmp ebp, r8d
jne 0x4b49d1
mov r13, qword [rsp + 0xb0]
mov r15, qword [rsp + 0x98]
mov r14, qword [rsp + 0xc0]
mov r12, qword [rsp + 0x338]
mov rdi, qword [rsp + 0x78]
mov rsi, qword [rsp + 0x90]
mov r10d, dword [rsp + 0xac]
jmp 0x4b4d91
mov rax, qword [rsp + 0xe0]
mov ebp, dword [rax]
add ebp, 1
mov dword [rax], ebp
jmp 0x4b4a4f
mov rax, qword [rsp + 0xe0]
mov r12d, dword [rax]
add r12d, 1
mov dword [rax], r12d
movsxd rax, dword [rsi + 0x90]
cmp dword [rsi + 0x94], eax
jle 0x4b4aa7
lea ecx, [rax + 1]
mov dword [rsi + 0x90], ecx
mov rcx, qword [rsi + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x76
mov rdx, qword [rsp + 0xd0]
mov dword [rcx + rax*8 + 4], edx
mov dword [rcx + rax*8 + 8], r10d
mov dword [rcx + rax*8 + 0xc], 0
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4b4acf
mov dword [rsp + 0x20], 0
mov rcx, rsi
mov edx, 0x76
mov r8, qword [rsp + 0xd0]
mov r9d, r10d
call fcn.0047df60
mov rsi, qword [rsp + 0x88]
mov r8d, dword [rsp + 0x1fc]
mov r14d, dword [rsi + 0x90]
cmp dword [rsi + 0x94], r14d
jle 0x4b4b16
movsxd rax, r14d
lea ecx, [rax + 1]
mov dword [rsi + 0x90], ecx
mov rcx, qword [rsi + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0xb
mov dword [rcx + rax*8 + 4], r8d
pxor xmm0, xmm0
movdqu xmmword [rcx + rax*8 + 8], xmm0
jmp 0x4b4b39
mov dword [rsp + 0x20], 0
mov rcx, rsi
mov edx, 0xb
xor r9d, r9d
call fcn.0047df60
mov rsi, qword [rsp + 0x88]
mov r14d, eax
mov r9d, dword [rsp + 0xac]
movsxd rax, dword [rsi + 0x90]
cmp dword [rsi + 0x94], eax
jle 0x4b4b8b
lea ecx, [rax + 1]
mov dword [rsi + 0x90], ecx
mov rcx, qword [rsi + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x61
mov rdx, qword [rsp + 0x158]
mov dword [rcx + rax*8 + 4], edx
mov dword [rcx + rax*8 + 8], r9d
mov dword [rcx + rax*8 + 0xc], ebp
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4b4bac
mov dword [rsp + 0x20], ebp
mov rcx, rsi
mov edx, 0x61
mov r8, qword [rsp + 0x158]
call fcn.0047df60
mov rsi, qword [rsp + 0x88]
movsxd rax, dword [rsi + 0x90]
cmp dword [rsi + 0x94], eax
jle 0x4b4bfa
lea ecx, [rax + 1]
mov dword [rsi + 0x90], ecx
mov rcx, qword [rsi + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x7f
mov rdx, qword [rsp + 0xd0]
mov dword [rcx + rax*8 + 4], edx
mov dword [rcx + rax*8 + 8], r12d
mov dword [rcx + rax*8 + 0xc], 0
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4b4c22
mov dword [rsp + 0x20], 0
mov rcx, rsi
mov edx, 0x7f
mov r8, qword [rsp + 0xd0]
mov r9d, r12d
call fcn.0047df60
mov rsi, qword [rsp + 0x88]
movsxd rax, dword [rsi + 0x90]
cmp dword [rsi + 0x94], eax
jle 0x4b4c6c
lea ecx, [rax + 1]
mov dword [rsi + 0x90], ecx
mov rcx, qword [rsi + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], pe_nt_image_headers64
mov rdx, qword [rsp + 0xd0]
mov dword [rcx + rax*8 + 4], edx
mov dword [rcx + rax*8 + 8], ebp
mov dword [rcx + rax*8 + 0xc], r12d
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4b4c91
mov dword [rsp + 0x20], r12d
mov rcx, rsi
mov edx, pe_nt_image_headers64
mov r8, qword [rsp + 0xd0]
mov r9d, ebp
call fcn.0047df60
mov rsi, qword [rsp + 0x88]
movsxd rax, dword [rsi + 0x90]
cmp dword [rsi + 0x94], eax
jle 0x4b4cd4
lea ecx, [rax + 1]
mov dword [rsi + 0x90], ecx
mov rcx, qword [rsi + 0x88]
lea rax, [rax + rax*2]
mov qword [rcx + rax*8], 8
mov dword [rcx + rax*8 + 8], r14d
mov dword [rcx + rax*8 + 0xc], 0
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4b4cf7
mov dword [rsp + 0x20], 0
mov rcx, rsi
mov edx, 8
xor r8d, r8d
mov r9d, r14d
call fcn.0047df60
mov rsi, qword [rsp + 0x88]
mov r10d, dword [rsp + 0xac]
mov eax, dword [rsi + 0x90]
mov rcx, qword [rsi]
cmp byte [rcx + 0x67], 0
je 0x4b4d17
lea rcx, [0x0213b3e8]
jmp 0x4b4d33
lea ecx, [rax - 1]
test r14d, r14d
cmovns ecx, r14d
movsxd rcx, ecx
lea rcx, [rcx + rcx*2]
shl rcx, 3
add rcx, qword [rsi + 0x88]
mov rsi, qword [rsp + 0x90]
mov dword [rcx + 8], eax
test ebp, ebp
je 0x4b4d59
movzx eax, byte [rdi + 0x1f]
cmp rax, 7
ja 0x4b4d59
lea ecx, [rax + 1]
mov byte [rdi + 0x1f], cl
mov dword [rdi + rax*4 + 0xd8], ebp
test r12d, r12d
je 0x4b4d76
movzx eax, byte [rdi + 0x1f]
cmp rax, 7
ja 0x4b4d76
lea ecx, [rax + 1]
mov byte [rdi + 0x1f], cl
mov dword [rdi + rax*4 + 0xd8], r12d
mov dword [rsp + 0xf8], 0
mov r14, qword [rsp + 0xc0]
mov r12, qword [rsp + 0x338]
test r15, r15
sete al
test r10d, r10d
setle cl
cmp al, cl
je 0x4b5158
test r15, r15
jne 0x4b5158
movsx eax, word [rsi + 0x34]
mov r8d, dword [rsi + 0x30]
test eax, eax
jle 0x4b4e02
mov ecx, r8d
and ecx, 0x60
je 0x4b4e02
mov cl, 1
test cl, cl
je 0x4b4e02
mov rdx, qword [rsi + 8]
movzx ecx, ax
lea rbp, [rcx + rcx*2]
lea rdx, [rdx + rbp*8]
add rdx, 0xfffffffffffffffa
lea rbp, [rcx + 1]
add rcx, 0xffffffffffffffff
movzx edi, word [rdx]
mov ebx, edi
xor ebx, 0xffffff9f
and ebx, edi
cmp bx, 1
adc eax, 0xffffffff
add rdx, 0xffffffffffffffe8
add rbp, 0xffffffffffffffff
cmp rbp, 1
jg 0x4b4ddf
mov qword [rsp + 0x100], rax
mov ecx, r8d
xor ecx, 0xffffff9d
and ecx, r8d
setne dl
mov r8, rsi
movzx esi, word [rsi + 0x36]
test si, si
setle bl
xor eax, eax
cmp dl, bl
je 0x4b4e56
test ecx, ecx
mov rdi, qword [rsp + 0x78]
je 0x4b513d
mov rbp, qword [r8 + 8]
cmp esi, 1
mov r15d, 1
cmova r15d, esi
cmp r15d, 8
jae 0x4b4e60
xor edx, edx
xor eax, eax
jmp 0x4b510c
mov rdi, qword [rsp + 0x78]
jmp 0x4b513d
mov dword [rsp + 0xb8], esi
mov dword [rsp + 0xac], r10d
mov edx, r15d
xor edx, 7
and edx, r15d
lea rax, [rbp + 0x12]
mov qword [rsp + 0xe8], rax
pxor xmm8, xmm8
mov qword [rsp + 0xa0], rbp
mov rbp, 0xffffffffffffffff
xor r8d, r8d
movdqa xmm1, xmmword [0x005fa4b0]
pcmpeqd xmm2, xmm2
movdqa xmm4, xmmword [0x005fa4c0]
pxor xmm5, xmm5
pxor xmm3, xmm3
movabs r13, 0xc646490bf62a5242
mov eax, r8d
and eax, 1
mov rbx, r8
xor rbx, 1
or rbx, rax
movabs rcx, 0x9d6d14790fe1e08b
mov r11, rcx
not r11
mov rax, rbp
and rax, rcx
mov rdi, r8
and rdi, r11
or rdi, rax
mov rax, rcx
and rax, 0xfffffffffffffffd
mov esi, r11d
and esi, 2
or rsi, rax
xor rsi, rdi
or r11d, ecx
mov r9d, ebp
not r9d
and r11d, r9d
and r11d, 2
or r11, rsi
movabs rcx, 0x1c82aae0ac4f232f
mov r14, rcx
not r14
mov rax, rbp
and rax, rcx
mov rdi, r8
and rdi, r14
or rdi, rax
mov rax, rcx
and rax, 0xfffffffffffffffc
mov esi, r14d
and esi, 3
or rsi, rax
xor rsi, rdi
or r14d, ecx
and r14d, r9d
and r14d, 3
or r14, rsi
movabs rcx, 0xb7793d2adeda8b76
mov r10, rcx
not r10
mov rax, rbp
and rax, rcx
mov rsi, r8
and rsi, r10
or rsi, rax
mov rax, rcx
and rax, 0xfffffffffffffffb
mov edi, r10d
and edi, 4
or rdi, rax
xor rdi, rsi
or r10d, ecx
and r10d, r9d
and r10d, 4
or r10, rdi
mov esi, r8d
and esi, 5
mov rax, r8
xor rax, 5
or rax, rsi
mov r12, r13
not r12
mov rsi, rbp
and rsi, r13
mov rdi, r8
and rdi, r12
or rdi, rsi
mov rsi, r13
and rsi, 0xfffffffffffffff9
mov ecx, r12d
and ecx, 6
or rcx, rsi
xor rcx, rdi
or r12d, r13d
and r12d, r9d
and r12d, 6
or r12, rcx
mov ecx, r8d
and ecx, 7
mov rdi, r8
xor rdi, 7
or rdi, rcx
mov rsi, qword [rsp + 0xe8]
movzx ecx, word [rsi]
movd xmm0, ecx
lea rcx, [rbx + rbx*2]
mov rbx, qword [rsp + 0xa0]
pinsrw xmm0, word [rbx + rcx*8 + 0x12], 1
lea rcx, [r11 + r11*2]
pinsrw xmm0, word [rbx + rcx*8 + 0x12], 2
lea rcx, [r14 + r14*2]
pinsrw xmm0, word [rbx + rcx*8 + 0x12], 3
lea rcx, [r10 + r10*2]
movzx ecx, word [rbx + rcx*8 + 0x12]
movd xmm7, ecx
lea rax, [rax + rax*2]
pinsrw xmm7, word [rbx + rax*8 + 0x12], 1
lea rax, [r12 + r12*2]
pinsrw xmm7, word [rbx + rax*8 + 0x12], 2
lea rax, [rdi + rdi*2]
pinsrw xmm7, word [rbx + rax*8 + 0x12], 3
movdqa xmm6, xmm0
pxor xmm6, xmm1
pand xmm6, xmm0
movdqa xmm0, xmm7
pxor xmm0, xmm1
pand xmm0, xmm7
pcmpeqw xmm6, xmm8
pxor xmm6, xmm2
punpcklwd xmm6, xmm6
pand xmm6, xmm4
paddd xmm5, xmm6
pcmpeqw xmm0, xmm8
pxor xmm0, xmm2
punpcklwd xmm0, xmm0
pand xmm0, xmm4
paddd xmm3, xmm0
add r8, 8
add rbp, 0xfffffffffffffff8
add rsi, 0xc0
mov qword [rsp + 0xe8], rsi
cmp rdx, r8
jne 0x4b4ec1
paddd xmm3, xmm5
pshufd xmm0, xmm3, 0x4e
paddd xmm0, xmm3
pshufd xmm1, xmm0, 0xe5
paddd xmm1, xmm0
movd eax, xmm1
cmp rdx, r15
mov r13, qword [rsp + 0xb0]
mov r14, qword [rsp + 0xc0]
mov r12, qword [rsp + 0x338]
mov rdi, qword [rsp + 0x78]
mov r8, qword [rsp + 0x90]
mov r10d, dword [rsp + 0xac]
mov esi, dword [rsp + 0xb8]
mov rbp, qword [rsp + 0xa0]
je 0x4b513d
sub r15, rdx
lea rcx, [rdx + rdx*2]
lea rbp, [rbp + rcx*8 + 0x12]
movzx ecx, word [rbp]
not ecx
or ecx, 0xff9d
xor ebx, ebx
cmp cx, 0xffff
setne bl
add eax, ebx
add rdx, 1
add rbp, 0x18
add r15, 0xffffffffffffffff
jne 0x4b5118
movsx r9d, si
sub r9d, eax
cmp r10d, r9d
mov r15, qword [rsp + 0x98]
mov rsi, r8
jne 0x4b521b
test r15, r15
je 0x4b5169
mov r9d, dword [r15]
cmp r10d, r9d
jne 0x4b5239
movabs rdx, 0x100000000
mov rax, qword [r13 + 0x30]
mov rcx, rax
mov qword [rsp + 0xa0], rdx
xor rcx, rdx
not rcx
xor ebx, ebx
test rcx, rax
je 0x4b5323
cmp byte [rdi + 0x1e], 0
jne 0x4b5323
cmp qword [rdi + 0xa8], 0
jne 0x4b5323
cmp byte [rdi + 0xd5], 0
jne 0x4b5323
mov ebp, r10d
mov rax, qword [rsp + 0xe0]
mov ebx, dword [rax]
add ebx, 1
mov dword [rax], ebx
mov rcx, qword [rsp + 0x88]
movsxd rax, dword [rcx + 0x90]
cmp dword [rcx + 0x94], eax
jle 0x4b5308
lea edx, [rax + 1]
mov dword [rcx + 0x90], edx
mov rcx, qword [rcx + 0x88]
lea rax, [rax + rax*2]
mov qword [rcx + rax*8], 0x47
mov dword [rcx + rax*8 + 8], ebx
mov dword [rcx + rax*8 + 0xc], 0
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4b5320
mov dword [rsp + 0x20], r10d
lea rdx, [0x00604b04]
mov rcx, rdi
mov r8, qword [rsp + 0xc8]
call fcn.00419aa0
jmp 0x4b524b
lea rdx, [0x00604b38]
mov rcx, rdi
mov r8d, r10d
call fcn.00419aa0
xor esi, esi
jmp 0x4b3aa9
mov rax, qword [rax + 0x88]
mov ebp, 1
mov rsi, qword [rsp + 0x88]
jmp 0x4b527c
cmp qword [rax + rbx*8 + 0x10], rdx
je 0x4b48a8
add rbp, 1
cmp rbp, r8
je 0x4b52e6
lea rbx, [rbp*2]
add rbx, rbp
mov cl, byte [rax + rbx*8]
cmp cl, 0xad
je 0x4b5268
cmp cl, 0x70
jne 0x4b5273
cmp dword [rax + rbx*8 + 0xc], r12d
jne 0x4b5273
mov ebx, dword [rax + rbx*8 + 8]
mov rcx, qword [rsp + 0x90]
cmp ebx, dword [rcx + 0x28]
je 0x4b48a8
mov rcx, qword [rsp + 0x90]
mov rdi, qword [rcx + 0x10]
test rdi, rdi
je 0x4b5273
cmp ebx, dword [rdi + 0x58]
je 0x4b48a8
mov rdi, qword [rdi + 0x28]
test rdi, rdi
jne 0x4b52c1
jmp 0x4b5273
cmp rbx, rdx
mov rsi, qword [rsp + 0x88]
je 0x4b48a8
mov r14, qword [rsp + 0xc0]
mov r12, qword [rsp + 0x338]
mov rdi, qword [rsp + 0x78]
mov rsi, qword [rsp + 0x90]
jmp 0x4b4d91
mov dword [rsp + 0x20], 0
mov edx, 0x47
xor r8d, r8d
mov r9d, ebx
call fcn.0047df60
mov r10d, ebp
mov dword [rsp + 0xac], r10d
mov qword [rsp + 0x138], rbx
cmp byte [rsp + 0x77], 2
jne 0x4b5359
xor eax, eax
mov qword [rsp + 0x128], rax
mov r11, qword [rsp + 0x88]
mov rbx, qword [rsp + 0xd8]
jmp 0x4b54f3
lea rax, [rsp + 0x144]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x114]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0xffffffff
mov rcx, rdi
mov rdx, rsi
mov r8d, 0x71
xor r9d, r9d
call fcn.0050d2b0
mov ebp, eax
lea eax, [rbp + 2]
movsxd rdx, eax
shl rdx, 2
mov rcx, r13
call fcn.00429840
test rax, rax
je 0x4b5402
mov r12, qword [rsi + 0x10]
mov rdx, qword [rsp + 0xe0]
mov ecx, dword [rdx]
add ecx, 1
mov dword [rdx], ecx
mov rdx, rax
mov qword [rsp + 0x128], rax
mov dword [rax], ecx
test ebp, ebp
mov r11, qword [rsp + 0x88]
jle 0x4b5412
mov eax, ebp
mov rcx, rax
xor rcx, 0xfffffffffffffffe
mov qword [rsp + 0xb8], rcx
cmp ebp, 1
mov qword [rsp + 0xe8], rax
jne 0x4b541f
xor ecx, ecx
jmp 0x4b54a0
mov rbx, qword [rsp + 0xd8]
mov rsi, rax
jmp 0x4b3ab1
mov rbx, qword [rsp + 0xd8]
jmp 0x4b54eb
mov rbp, rax
not rbp
movabs rax, 0x100000000
lea r10, [rax - 2]
not r10
or r10, rbp
not r10
xor ecx, ecx
mov rbx, r10
mov r8, qword [rsp + 0x128]
mov r9, qword [rsp + 0xe0]
movzx edi, word [r12 + 0x60]
mov esi, dword [r9]
mov ebp, ecx
and ebp, 1
mov rdx, rcx
xor rdx, 1
or rdx, rbp
mov rax, qword [r12 + 0x28]
lea ebp, [rsi + rdi]
add ebp, 1
mov dword [r9], ebp
mov dword [r8 + rdx*4], ebp
movzx edx, word [rax + 0x60]
mov ebp, dword [r9]
mov r12, qword [rax + 0x28]
add edx, ebp
add edx, 1
mov dword [r9], edx
mov dword [r8 + rcx*4 + 8], edx
add rcx, 2
add rbx, 0xfffffffffffffffe
cmp r10, rcx
jne 0x4b5451
mov rax, qword [rsp + 0xb8]
test dword [rsp + 0xe8], eax
je 0x4b54d6
movzx eax, word [r12 + 0x60]
mov rbp, qword [rsp + 0xe0]
mov edx, dword [rbp]
add eax, edx
add eax, 1
mov dword [rbp], eax
mov rdx, qword [rsp + 0x128]
mov dword [rdx + rcx*4 + 4], eax
mov rbx, qword [rsp + 0xd8]
mov rdi, qword [rsp + 0x78]
mov rsi, qword [rsp + 0x90]
mov r12, qword [rsp + 0x338]
test r12, r12
je 0x4b5a07
mov al, byte [rsi + 0x3f]
cmp al, 2
je 0x4b5526
cmp al, 1
jne 0x4b5542
mov r8, qword [rsi]
lea rdx, [0x00604b51]
mov rcx, rdi
call fcn.00419aa0
mov rsi, qword [rsp + 0x128]
jmp 0x4b3ab1
lea rdx, [0x00604b7f]
mov rcx, rdi
call fcn.00419aa0
mov rsi, qword [rsp + 0x128]
jmp 0x4b3ab1
mov rax, qword [r12]
test rax, rax
je 0x4b558a
mov ecx, dword [rax]
test ecx, ecx
jle 0x4b558a
neg rcx
lea rbp, [rax + 0x1c]
mov edx, 1
xor ebx, ebx
mov edi, dword [rbp]
not edi
or edi, 0xffffffdf
cmp edi, 0xffffffff
jne 0x4b5ba9
add rbx, 1
lea rdi, [rcx + rdx]
add rdi, 1
add rdx, 1
add rbp, 0x20
cmp rdi, 1
jne 0x4b555f
mov ecx, dword [rsp + 0x114]
mov rbx, qword [rsp + 0xd8]
mov dword [rbx + 0x4c], ecx
pxor xmm6, xmm6
mov rdi, qword [rsp + 0x78]
mov qword [r12 + 0x40], rbx
mov edx, dword [rsp + 0xf4]
mov dword [r12 + 0x48], edx
mov dword [r12 + 0x4c], ecx
mov ecx, dword [rsp + 0x144]
mov dword [r12 + 0x50], ecx
test rax, rax
je 0x4b59ed
lea rax, [rsp + 0x268]
movdqu xmmword [rax + 0x10], xmm6
movdqu xmmword [rax], xmm6
mov qword [rax + 0x20], 0
mov qword [rsp + 0x258], rdi
mov qword [rsp + 0x260], rbx
xor eax, eax
mov qword [rsp + 0x150], r12
mov rdx, qword [r12]
test rdx, rdx
je 0x4b59d5
mov dword [rsp + 0x120], eax
lea rcx, [rsp + 0x258]
call fcn.004d5870
test eax, eax
jne 0x4b68dc
mov qword [rsp + 0xb8], r12
mov r12, qword [r12 + 8]
test r12, r12
je 0x4b5788
mov ebp, dword [rsp + 0x280]
mov eax, ebp
xor eax, 0x8009010
and eax, ebp
mov dword [rsp + 0x280], eax
mov rcx, qword [rsp + 0x258]
mov qword [rsp + 0x220], rcx
lea rax, [fcn.004d5a10]
mov qword [rsp + 0x228], rax
mov ebx, ebp
not ebx
mov eax, ebx
or eax, 0xfff7ffff
cmp eax, 0xffffffff
mov eax, 0
lea rdx, [0x004d8f00]
cmove rax, rdx
mov qword [rsp + 0x230], rax
mov qword [rsp + 0x238], 0
lea rax, [rsp + 0x258]
mov qword [rsp + 0x248], rax
mov eax, dword [r12 + 0x28]
add eax, dword [rcx + 0x12c]
mov dword [rcx + 0x12c], eax
mov rdx, qword [rcx]
mov r8d, dword [rdx + 0x94]
cmp r8d, eax
jl 0x4b68c8
or ebx, 0xf7ff6fef
lea rcx, [rsp + 0x220]
mov rdx, r12
call fcn.004cea30
mov r8, qword [rsp + 0x220]
mov ecx, dword [r12 + 0x28]
sub dword [r8 + 0x12c], ecx
mov edi, dword [rsp + 0x280]
mov edx, edi
not edx
mov ecx, edi
and ecx, 0x8010
mov eax, dword [r12 + 4]
mov esi, eax
and esi, ecx
xor ecx, eax
or ecx, esi
mov dword [r12 + 4], ecx
mov eax, edx
and eax, 0x27e41118
and edi, 0xd81beee7
or edi, eax
or edx, ebx
and ebx, 0x27e41118
and ebp, 0x8008000
or ebp, ebx
xor ebp, edi
not edx
or edx, ebp
mov dword [rsp + 0x280], edx
cmp dword [rsp + 0x27c], 0
jg 0x4b68d4
cmp dword [r8 + 0x30], 0
mov rbx, qword [rsp + 0xd8]
mov rdi, qword [rsp + 0x78]
mov rcx, qword [rsp + 0xb8]
jle 0x4b5790
jmp 0x4b68dc
mov rcx, qword [rsp + 0xb8]
mov rax, qword [rbx + 0x28]
mov rsi, qword [rcx]
mov r12d, dword [rbx + 0x4c]
cmp byte [rax + 0x30], 0
js 0x4b57ba
cmp dword [rsi], 1
jne 0x4b57ba
mov rcx, qword [rsi + 8]
cmp byte [rcx], 0xa7
jne 0x4b57ba
cmp word [rcx + 0x30], 0xffff
je 0x4b59ad
mov qword [rsp + 0xe8], rsi
movdqa xmmword [rsp + 0x160], xmm6
movdqa xmmword [rsp + 0x170], xmm6
movdqa xmmword [rsp + 0x1a0], xmm6
movdqa xmmword [rsp + 0x1d0], xmm6
movdqa xmmword [rsp + 0x1e0], xmm6
movdqa xmmword [rsp + 0x1c0], xmm6
movdqa xmmword [rsp + 0x1b0], xmm6
movdqa xmmword [rsp + 0x190], xmm6
movdqa xmmword [rsp + 0x180], xmm6
mov byte [rsp + 0x160], 0x71
lea rcx, [rsp + 0x1a8]
mov qword [rsp + 0x170], rcx
mov byte [rsp + 0x1a8], 0xa7
mov dword [rsp + 0x1d4], r12d
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x4b5982
mov rax, qword [rsp + 0xe8]
add rax, 8
mov qword [rsp + 0x108], rax
jmp 0x4b586b
mov rbx, qword [rbx + 0x28]
test rbx, rbx
je 0x4b5982
cmp byte [rbx + 0x62], 0
je 0x4b585e
mov rax, qword [rsp + 0xe8]
mov eax, dword [rax]
movzx ecx, word [rbx + 0x5e]
cmp eax, ecx
jne 0x4b585e
mov r8, qword [rbx + 0x48]
test r8, r8
je 0x4b58b3
mov rax, qword [rsp + 0xb8]
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x4b585e
mov rcx, rdi
mov r9d, r12d
call fcn.004cf220
test eax, eax
jne 0x4b585e
movzx ecx, word [rbx + 0x5e]
movzx eax, cx
test cx, cx
je 0x4b5976
mov r13d, eax
xor edx, edx
mov rax, qword [rbx + 0x40]
mov rax, qword [rax + rdx*8]
mov qword [rsp + 0x168], rax
mov rax, qword [rbx + 8]
movzx eax, word [rax + rdx*2]
cmp ax, 0xfffe
mov qword [rsp + 0xc8], rdx
jne 0x4b5907
mov rax, qword [rbx + 0x50]
mov rcx, rdx
shl rcx, 5
mov rbp, qword [rax + rcx + 8]
cmp byte [rbp], 0x71
je 0x4b5927
mov qword [rsp + 0x170], rbp
jmp 0x4b591f
lea rcx, [rsp + 0x1a8]
mov qword [rsp + 0x170], rcx
mov word [rsp + 0x1d8], ax
lea rbp, [rsp + 0x160]
mov r14, qword [rsp + 0x108]
mov rsi, r13
xor r15d, r15d
mov rdx, qword [r14]
mov rcx, rdi
mov r8, rbp
mov r9d, r12d
call fcn.004cf220
cmp eax, 1
jle 0x4b595e
add r15, 1
add r14, 0x20
add r13, 0xffffffffffffffff
jne 0x4b5935
jmp 0x4b585e
mov rdx, qword [rsp + 0xc8]
add rdx, 1
mov r13, rsi
cmp rdx, rsi
jne 0x4b58c1
mov rax, qword [rsp + 0xb8]
mov qword [rax + 0x38], rbx
mov rax, qword [rsp + 0xb8]
cmp qword [rax + 0x38], 0
mov r13, qword [rsp + 0xb0]
mov r15, qword [rsp + 0x98]
mov rbx, qword [rsp + 0xd8]
je 0x4b5c17
mov eax, dword [rsp + 0x120]
add eax, 1
mov r12, qword [rsp + 0xb8]
mov r12, qword [r12 + 0x20]
test r12, r12
mov rsi, qword [rsp + 0x90]
jne 0x4b5603
mov r14, qword [rsp + 0xc0]
mov r11, qword [rsp + 0x88]
mov r12, qword [rsp + 0x150]
mov r12, qword [r12 + 0x20]
test r12, r12
je 0x4b5a07
mov ecx, dword [rsp + 0x114]
mov rax, qword [r12]
jmp 0x4b55a5
cmp byte [rsp + 0xf8], 0
je 0x4b5a69
test r14, r14
je 0x4b5afb
mov r8d, dword [rsp + 0x1fc]
mov ebp, dword [r11 + 0x90]
cmp dword [r11 + 0x94], ebp
jle 0x4b5b0d
movsxd rax, ebp
lea ecx, [rax + 1]
mov dword [r11 + 0x90], ecx
mov rcx, qword [r11 + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0xb
mov dword [rcx + rax*8 + 4], r8d
pxor xmm0, xmm0
movdqu xmmword [rcx + rax*8 + 8], xmm0
jmp 0x4b5b2f
mov eax, dword [r11 + 0x90]
cmp dword [r11 + 0x94], eax
jle 0x4b5ab8
movsxd rcx, eax
lea eax, [rcx + 1]
mov dword [r11 + 0x90], eax
mov rax, qword [r11 + 0x88]
mov qword [rsp + 0x108], rcx
lea rcx, [rcx + rcx*2]
mov dword [rax + rcx*8], 0x23
mov rdx, qword [rsp + 0xd0]
mov dword [rax + rcx*8 + 4], edx
pxor xmm0, xmm0
movdqu xmmword [rax + rcx*8 + 8], xmm0
jmp 0x4b5ae8
mov dword [rsp + 0x20], 0
mov rcx, r11
mov edx, 0x23
mov r8, qword [rsp + 0xd0]
xor r9d, r9d
call fcn.0047df60
mov r11, qword [rsp + 0x88]
mov qword [rsp + 0x108], rax
mov eax, dword [r11 + 0x90]
mov dword [rsp + 0xc8], eax
jmp 0x4b5cb6
mov dword [rsp + 0xc8], 0
xor eax, eax
jmp 0x4b5cae
mov dword [rsp + 0x20], 0
mov rcx, r11
mov edx, 0xb
xor r9d, r9d
call fcn.0047df60
mov r11, qword [rsp + 0x88]
mov ebp, eax
mov rax, qword [rsp + 0x100]
test eax, eax
mov dword [rsp + 0xc8], ebp
js 0x4b5cac
mov rcx, qword [rsp + 0x158]
lea r8d, [rax + rcx]
movsxd rax, dword [r11 + 0x90]
cmp dword [r11 + 0x94], eax
jle 0x4b5c87
lea ecx, [rax + 1]
mov dword [r11 + 0x90], ecx
mov rcx, qword [r11 + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x50
mov dword [rcx + rax*8 + 4], r8d
mov rdx, qword [rsp + 0x80]
mov dword [rcx + rax*8 + 8], edx
mov dword [rcx + rax*8 + 0xc], 0
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4b5cac
neg rdx
movabs rcx, 0x100000000
neg rcx
or rcx, rdx
not rcx
shl rcx, 5
mov al, byte [rax + rcx + 0x18]
test al, al
sete cl
cmp al, 3
sete dl
xor dl, cl
lea r8, [0x00603cc6]
lea rcx, [0x00603ccc]
cmovne rcx, r8
cmp al, 3
cmovne r8, rcx
test al, al
cmovne r8, rcx
lea rdx, [0x00603caa]
mov rcx, qword [rsp + 0x78]
call fcn.00419aa0
mov rbx, qword [rsp + 0xd8]
mov rsi, qword [rsp + 0x128]
jmp 0x4b3ab1
cmp dword [rsp + 0x120], 0
jne 0x4b5c34
mov rax, qword [rsp + 0xb8]
cmp qword [rax + 0x20], 0
je 0x4b7edc
mov r9d, dword [rsp + 0x120]
add r9d, 1
lea r8, [0x00604ba2]
lea rdx, [rsp + 0x220]
mov ecx, 0x10
call fcn.00408910
lea rdx, [0x00604ba6]
lea r8, [rsp + 0x220]
mov rcx, qword [rsp + 0x78]
call fcn.00419aa0
mov r13, qword [rsp + 0xb0]
mov r15, qword [rsp + 0x98]
jmp 0x4b68d4
mov dword [rsp + 0x20], 0
mov rcx, r11
mov edx, 0x50
mov r9, qword [rsp + 0x80]
call fcn.0047df60
mov r11, qword [rsp + 0x88]
mov eax, ebp
mov qword [rsp + 0x108], rax
mov r14b, byte [rsp + 0x77]
movzx eax, word [rsi + 0x36]
test ax, ax
jle 0x4b6661
lea rax, [r15 + 0x10]
mov qword [rsp + 0xb8], rax
xor ebp, ebp
add qword [rsp + 0xa0], 0xffffffffffffffff
pxor xmm6, xmm6
mov dword [rsp + 0xe8], 0
mov r12d, dword [rsp + 0xf4]
jmp 0x4b5d35
lea ecx, [rax + 1]
mov dword [r11 + 0x90], ecx
mov rcx, qword [r11 + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x4c
mov dword [rcx + rax*8 + 4], r12d
movdqu xmmword [rcx + rax*8 + 8], xmm6
add rbp, 1
add r12d, 1
movsx rax, word [rsi + 0x36]
cmp rbp, rax
jge 0x4b6661
movsx rax, word [rsi + 0x34]
mov rcx, qword [rsp + 0xa0]
xor rcx, rax
not rcx
and rcx, rax
cmp rbp, rcx
jne 0x4b5d85
movsxd rax, dword [r11 + 0x90]
cmp dword [r11 + 0x94], eax
jg 0x4b5cf8
mov dword [rsp + 0x20], 0
mov rcx, r11
mov edx, 0x4c
mov r8d, r12d
xor r9d, r9d
call fcn.0047df60
mov r11, qword [rsp + 0x88]
jmp 0x4b5d1f
mov rax, qword [rsi + 8]
lea rcx, [rbp*2]
add rcx, rbp
movzx edi, word [rax + rcx*8 + 0x12]
mov ebx, edi
not ebx
mov edx, ebx
or edx, 0xffffff9d
cmp edx, 0xffffffff
je 0x4b5dc5
add dword [rsp + 0xe8], 1
or ebx, 0xffffffdf
cmp ebx, 0xffffffff
je 0x4b5e26
add r12d, 0xffffffff
mov rdi, qword [rsp + 0x78]
jmp 0x4b5d1f
test r15, r15
je 0x4b5e55
movsxd rdx, dword [r15]
test rdx, rdx
jle 0x4b5df9
mov rbx, qword [rsp + 0xb8]
xor r9d, r9d
mov edi, dword [rbx]
cmp rbp, rdi
je 0x4b5e6e
add r9, 1
add rbx, 0x10
cmp r9, rdx
jl 0x4b5de1
movzx eax, word [rax + rcx*8 + 0x10]
test eax, eax
je 0x4b5fe4
cmp byte [rsi + 0x3f], 0
mov rdi, qword [rsp + 0x78]
je 0x4b6076
xor edx, edx
cmp byte [rdi + 0x23], 0
jne 0x4b5ff5
jmp 0x4b60a3
mov edx, edi
xor edx, 0xffbf
test edx, edi
je 0x4b5f48
mov eax, dword [rsp + 0x140]
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
mov rdi, qword [rsp + 0x78]
jne 0x4b5d50
jmp 0x4b5d1f
cmp dword [rsp + 0xac], 0
je 0x4b6057
mov r9d, ebp
sub r9d, dword [rsp + 0xe8]
mov rdi, qword [rsp + 0x78]
cmp byte [rsp + 0xf8], 0
je 0x4b5ef4
cmp qword [rsp + 0xc0], 0
je 0x4b60d0
mov rax, qword [rsp + 0x158]
cmp eax, dword [rsp + 0xf4]
je 0x4b5d1f
add r9d, eax
movsxd rax, dword [r11 + 0x90]
cmp dword [r11 + 0x94], eax
jle 0x4b625c
lea ecx, [rax + 1]
mov dword [r11 + 0x90], ecx
mov rcx, qword [r11 + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x51
mov dword [rcx + rax*8 + 4], r9d
mov dword [rcx + rax*8 + 8], r12d
mov dword [rcx + rax*8 + 0xc], 0
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4b5d1f
movsxd rax, dword [r11 + 0x90]
cmp dword [r11 + 0x94], eax
jle 0x4b60b6
lea ecx, [rax + 1]
mov dword [r11 + 0x90], ecx
mov rcx, qword [r11 + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x5e
mov rdx, qword [rsp + 0xd0]
mov dword [rcx + rax*8 + 4], edx
mov dword [rcx + rax*8 + 8], r9d
mov dword [rcx + rax*8 + 0xc], r12d
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4b5d1f
test r15, r15
jne 0x4b5dce
movzx eax, word [rax + rcx*8 + 0x10]
test eax, eax
je 0x4b5f64
cmp byte [rsi + 0x3f], 0
je 0x4b628f
xor ebx, ebx
mov rax, qword [rsp + 0x78]
cmp byte [rax + 0x23], 0
je 0x4b62c1
mov word [rsp + 0x184], 2
lea rax, [0x004ce7b0]
mov qword [rsp + 0x168], rax
lea rax, [0x004cea20]
mov qword [rsp + 0x170], rax
mov dword [rsp + 0x188], 0
test rbx, rbx
je 0x4b5fcc
lea rcx, [rsp + 0x160]
mov rdx, rbx
call fcn.004cea30
cmp word [rsp + 0x184], 0
je 0x4b6350
mov rdi, qword [rsp + 0x78]
mov rcx, rdi
mov rdx, rbx
mov r8d, r12d
call fcn.004cb260
jmp 0x4b6387
xor edx, edx
mov rdi, qword [rsp + 0x78]
cmp byte [rdi + 0x23], 0
je 0x4b60a3
mov word [rsp + 0x184], 2
lea rax, [0x004ce7b0]
mov qword [rsp + 0x168], rax
lea rax, [0x004cea20]
mov qword [rsp + 0x170], rax
mov dword [rsp + 0x188], 0
test rdx, rdx
je 0x4b604f
lea rcx, [rsp + 0x160]
mov rbx, rdx
call fcn.004cea30
mov rdx, rbx
cmp word [rsp + 0x184], 0
je 0x4b617d
mov rcx, rdi
jmp 0x4b64d8
movzx eax, word [rax + rcx*8 + 0x10]
test eax, eax
mov rdi, qword [rsp + 0x78]
je 0x4b606f
cmp byte [rsi + 0x3f], 0
je 0x4b6277
xor ebx, ebx
jmp 0x4b6479
mov rcx, qword [rsi + 0x50]
test rcx, rcx
je 0x4b5e15
cmp dword [rcx], eax
jl 0x4b5e15
add eax, 0xffffffff
cdqe
shl rax, 5
mov rdx, qword [rcx + rax + 8]
cmp byte [rdi + 0x23], 0
jne 0x4b5ff5
mov rbx, qword [rdi]
test rdx, rdx
jne 0x4b6180
xor edx, edx
jmp 0x4b6199
mov dword [rsp + 0x20], r12d
mov rcx, r11
mov edx, 0x5e
mov r8, qword [rsp + 0xd0]
jmp 0x4b5d76
cmp qword [rdi + 0x10], 0
je 0x4b5d1f
movsxd rax, r9d
shl rax, 5
mov rcx, qword [rsp + 0x148]
mov rbx, qword [rcx + rax + 8]
mov rcx, rdi
mov rdx, rbx
mov r8d, r12d
call fcn.004c68a0
cmp eax, r12d
je 0x4b6538
test rbx, rbx
je 0x4b611f
mov ebx, dword [rbx + 4]
mov ecx, ebx
xor ecx, 0xffbfffff
mov edx, 0x50
test ecx, ebx
jne 0x4b6124
mov edx, 0x51
mov rcx, qword [rdi + 0x10]
movsxd rbx, dword [rcx + 0x90]
cmp dword [rcx + 0x94], ebx
jle 0x4b6326
lea edi, [rbx + 1]
mov dword [rcx + 0x90], edi
mov rcx, qword [rcx + 0x88]
lea rbx, [rbx + rbx*2]
mov byte [rcx + rbx*8], dl
mov word [rcx + rbx*8 + 2], 0
mov dword [rcx + rbx*8 + 4], eax
mov dword [rcx + rbx*8 + 8], r12d
mov dword [rcx + rbx*8 + 0xc], 0
mov qword [rcx + rbx*8 + 0x10], 0
mov byte [rcx + rbx*8 + 1], 0
jmp 0x4b6339
mov rbx, qword [rdi]
mov rcx, rbx
xor r8d, r8d
xor r9d, r9d
call fcn.004d3ed0
mov rdx, rax
mov r11, qword [rsp + 0x88]
cmp byte [rbx + 0x67], 0
je 0x4b61ad
test rdx, rdx
jne 0x4b6523
jmp 0x4b5d1f
cmp qword [rdi + 0x10], 0
je 0x4b619f
mov rcx, rdi
mov qword [rsp + 0x120], rdx
mov r8d, r12d
call fcn.004c68a0
mov rdx, qword [rsp + 0x120]
mov r11, qword [rsp + 0x88]
cmp eax, r12d
je 0x4b619f
mov qword [rsp + 0x150], rbx
test rdx, rdx
je 0x4b61fe
mov ecx, dword [rdx + 4]
not ecx
or ecx, 0xffbfffff
mov edx, 0x50
cmp ecx, 0xffffffff
jne 0x4b6203
mov edx, 0x51
mov rcx, qword [rdi + 0x10]
movsxd rbx, dword [rcx + 0x90]
cmp dword [rcx + 0x94], ebx
jle 0x4b62d4
lea edi, [rbx + 1]
mov dword [rcx + 0x90], edi
mov rcx, qword [rcx + 0x88]
lea rbx, [rbx + rbx*2]
mov byte [rcx + rbx*8], dl
mov word [rcx + rbx*8 + 2], 0
mov dword [rcx + rbx*8 + 4], eax
mov dword [rcx + rbx*8 + 8], r12d
mov dword [rcx + rbx*8 + 0xc], 0
mov qword [rcx + rbx*8 + 0x10], 0
mov byte [rcx + rbx*8 + 1], 0
jmp 0x4b62e7
mov dword [rsp + 0x20], 0
mov rcx, r11
mov edx, 0x51
mov r8d, r9d
mov r9d, r12d
jmp 0x4b5d76
mov rcx, qword [rsi + 0x50]
test rcx, rcx
je 0x4b6288
cmp dword [rcx], eax
jge 0x4b6449
xor ebx, ebx
jmp 0x4b6457
mov rcx, qword [rsi + 0x50]
test rcx, rcx
je 0x4b5f64
cmp dword [rcx], eax
jl 0x4b5f64
add eax, 0xffffffff
cdqe
shl rax, 5
mov rbx, qword [rcx + rax + 8]
mov rax, qword [rsp + 0x78]
cmp byte [rax + 0x23], 0
jne 0x4b5f75
mov rsi, qword [rax]
test rbx, rbx
jne 0x4b6358
xor ebx, ebx
jmp 0x4b636c
mov dword [rsp + 0x20], 0
mov r8d, eax
mov r9d, r12d
call fcn.0047df60
mov r13, qword [rsp + 0xb0]
mov r15, qword [rsp + 0x98]
mov rdi, qword [rsp + 0x78]
mov r11, qword [rsp + 0x88]
mov rsi, qword [rsp + 0x90]
mov r14b, byte [rsp + 0x77]
mov rbx, qword [rsp + 0x150]
mov rdx, qword [rsp + 0x120]
jmp 0x4b619f
mov dword [rsp + 0x20], 0
mov r8d, eax
mov r9d, r12d
call fcn.0047df60
mov r13, qword [rsp + 0xb0]
mov r15, qword [rsp + 0x98]
mov rdi, qword [rsp + 0x78]
jmp 0x4b6397
mov rax, qword [rsp + 0x78]
mov rsi, qword [rax]
mov rcx, rsi
mov rdx, rbx
xor r8d, r8d
xor r9d, r9d
call fcn.004d3ed0
mov rbx, rax
cmp byte [rsi + 0x67], 0
mov rdi, qword [rsp + 0x78]
je 0x4b63b1
test rbx, rbx
je 0x4b6387
mov rcx, rsi
mov rdx, rbx
call fcn.00468370
mov r13, qword [rsp + 0xb0]
mov r15, qword [rsp + 0x98]
mov r11, qword [rsp + 0x88]
mov rsi, qword [rsp + 0x90]
mov r14b, byte [rsp + 0x77]
jmp 0x4b5d1f
cmp qword [rdi + 0x10], 0
je 0x4b6377
mov rcx, rdi
mov rdx, rbx
mov r8d, r12d
call fcn.004c68a0
cmp eax, r12d
je 0x4b6377
test rbx, rbx
je 0x4b63e4
mov edi, dword [rbx + 4]
mov ecx, edi
xor ecx, 0xffbfffff
mov edx, 0x50
test ecx, edi
jne 0x4b63e9
mov edx, 0x51
mov rcx, qword [rsp + 0x78]
mov rcx, qword [rcx + 0x10]
movsxd r8, dword [rcx + 0x90]
cmp dword [rcx + 0x94], r8d
jle 0x4b6644
lea edi, [r8 + 1]
mov dword [rcx + 0x90], edi
mov rcx, qword [rcx + 0x88]
lea rdi, [r8 + r8*2]
mov byte [rcx + rdi*8], dl
mov word [rcx + rdi*8 + 2], 0
mov dword [rcx + rdi*8 + 4], eax
mov dword [rcx + rdi*8 + 8], r12d
mov dword [rcx + rdi*8 + 0xc], 0
mov qword [rcx + rdi*8 + 0x10], 0
mov byte [rcx + rdi*8 + 1], 0
jmp 0x4b6657
add eax, 0xffffffff
cdqe
shl rax, 5
mov rbx, qword [rcx + rax + 8]
mov r13, qword [rsp + 0xb0]
mov r15, qword [rsp + 0x98]
mov rdi, qword [rsp + 0x78]
mov rsi, qword [rsp + 0x90]
mov r14b, byte [rsp + 0x77]
cmp byte [rdi + 0x23], 0
je 0x4b64ed
mov word [rsp + 0x184], 2
lea rax, [0x004ce7b0]
mov qword [rsp + 0x168], rax
lea rax, [0x004cea20]
mov qword [rsp + 0x170], rax
mov dword [rsp + 0x188], 0
test rbx, rbx
je 0x4b64d2
lea rcx, [rsp + 0x160]
mov rdx, rbx
call fcn.004cea30
cmp word [rsp + 0x184], 0
je 0x4b64fd
mov rcx, rdi
mov rdx, rbx
mov r8d, r12d
call fcn.004cb260
mov r11, qword [rsp + 0x88]
jmp 0x4b5d1f
mov rax, rbx
mov rbx, qword [rdi]
test rax, rax
je 0x4b6516
mov rdx, rax
jmp 0x4b6503
mov rdx, rbx
mov rbx, qword [rdi]
mov rcx, rbx
xor r8d, r8d
xor r9d, r9d
call fcn.004d3ed0
mov rdx, rax
jmp 0x4b6518
xor edx, edx
cmp byte [rbx + 0x67], 0
je 0x4b6545
test rdx, rdx
je 0x4b6538
mov rcx, rbx
call fcn.00468370
mov r11, qword [rsp + 0x88]
jmp 0x4b5d1f
mov r11, qword [rsp + 0x88]
jmp 0x4b5d1f
cmp qword [rdi + 0x10], 0
je 0x4b651e
mov rcx, rdi
mov qword [rsp + 0x120], rdx
mov rdx, qword [rsp + 0x120]
mov r8d, r12d
call fcn.004c68a0
mov rdx, qword [rsp + 0x120]
cmp eax, r12d
je 0x4b651e
mov qword [rsp + 0x150], rbx
test rdx, rdx
je 0x4b659e
mov rcx, qword [rsp + 0x120]
mov ecx, dword [rcx + 4]
not ecx
or ecx, 0xffbfffff
mov edx, 0x50
cmp ecx, 0xffffffff
jne 0x4b65a3
mov edx, 0x51
mov rcx, qword [rsp + 0x78]
mov rcx, qword [rcx + 0x10]
movsxd rbx, dword [rcx + 0x90]
cmp dword [rcx + 0x94], ebx
jle 0x4b65fa
lea edi, [rbx + 1]
mov dword [rcx + 0x90], edi
mov rcx, qword [rcx + 0x88]
lea rbx, [rbx + rbx*2]
mov byte [rcx + rbx*8], dl
mov word [rcx + rbx*8 + 2], 0
mov dword [rcx + rbx*8 + 4], eax
mov dword [rcx + rbx*8 + 8], r12d
mov dword [rcx + rbx*8 + 0xc], 0
mov qword [rcx + rbx*8 + 0x10], 0
mov byte [rcx + rbx*8 + 1], 0
jmp 0x4b660d
mov dword [rsp + 0x20], 0
mov r8d, eax
mov r9d, r12d
call fcn.0047df60
mov r13, qword [rsp + 0xb0]
mov r15, qword [rsp + 0x98]
mov rdi, qword [rsp + 0x78]
mov rsi, qword [rsp + 0x90]
mov r14b, byte [rsp + 0x77]
mov rbx, qword [rsp + 0x150]
mov rdx, qword [rsp + 0x120]
jmp 0x4b651e
mov dword [rsp + 0x20], 0
mov r8d, eax
mov r9d, r12d
call fcn.0047df60
mov rdi, qword [rsp + 0x78]
jmp 0x4b6377
mov ebx, dword [rdi + 0x44]
lea ecx, [rbx - 1]
mov dword [rsp + 0xe8], ecx
mov dword [rdi + 0x44], ecx
mov ecx, dword [rsp + 0x140]
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
mov rbp, qword [rsp + 0x118]
je 0x4b6bf8
test ax, ax
je 0x4b66b2
movsx edx, ax
lea eax, [rdx + 1]
mov ecx, dword [rdi + 0x28]
cmp ecx, edx
jle 0x4b66cb
mov r12d, dword [rdi + 0x2c]
lea edx, [r12 + rax]
mov dword [rdi + 0x2c], edx
sub ecx, eax
mov dword [rdi + 0x28], ecx
jmp 0x4b66f1
mov al, byte [rdi + 0x1f]
test al, al
je 0x4b66df
add al, 0xff
mov byte [rdi + 0x1f], al
movzx eax, al
mov r12d, dword [rdi + rax*4 + 0xd8]
jmp 0x4b66f1
mov rdx, qword [rsp + 0xe0]
mov ecx, dword [rdx]
lea r12d, [rcx + 1]
add ecx, eax
mov dword [rdx], ecx
jmp 0x4b66f1
mov rax, qword [rsp + 0xe0]
mov r12d, dword [rax]
add r12d, 1
mov dword [rax], r12d
cmp dword [rsp + 0x100], 0
js 0x4b67d5
cmp byte [rsp + 0xf8], 0
je 0x4b6827
cmp qword [rdi + 0x10], 0
je 0x4b693e
mov eax, dword [rsp + 0x100]
shl rax, 5
mov rcx, qword [rsp + 0x148]
mov rbp, qword [rcx + rax + 8]
mov rcx, rdi
mov rdx, rbp
mov r8d, r12d
call fcn.004c68a0
mov r11, qword [rsp + 0x88]
cmp eax, r12d
je 0x4b693e
mov qword [rsp + 0xa0], rbx
test rbp, rbp
je 0x4b6771
mov ecx, dword [rbp + 4]
not ecx
or ecx, 0xffbfffff
mov edx, 0x50
cmp ecx, 0xffffffff
jne 0x4b6776
mov edx, 0x51
mov rcx, qword [rsp + 0x78]
mov rcx, qword [rcx + 0x10]
movsxd rbp, dword [rcx + 0x90]
cmp dword [rcx + 0x94], ebp
jle 0x4b68f9
lea ebx, [rbp + 1]
mov dword [rcx + 0x90], ebx
mov rcx, qword [rcx + 0x88]
lea rbp, [rbp + rbp*2]
mov byte [rcx + rbp*8], dl
mov word [rcx + rbp*8 + 2], 0
mov dword [rcx + rbp*8 + 4], eax
mov dword [rcx + rbp*8 + 8], r12d
mov dword [rcx + rbp*8 + 0xc], 0
mov qword [rcx + rbp*8 + 0x10], 0
mov byte [rcx + rbp*8 + 1], 0
jmp 0x4b690c
movsxd rax, dword [r11 + 0x90]
cmp dword [r11 + 0x94], eax
jle 0x4b687e
lea ecx, [rax + 1]
mov dword [r11 + 0x90], ecx
mov rcx, qword [r11 + 0x88]
lea rax, [rax + rax*2]
movabs rdx, 0xffffffff00000047
mov qword [rcx + rax*8], rdx
mov dword [rcx + rax*8 + 8], r12d
mov dword [rcx + rax*8 + 0xc], 0
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4b6aa6
movsxd rax, dword [r11 + 0x90]
cmp dword [r11 + 0x94], eax
jle 0x4b689c
lea ecx, [rax + 1]
mov dword [r11 + 0x90], ecx
mov rcx, qword [r11 + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x5e
mov rdx, qword [rsp + 0xd0]
mov dword [rcx + rax*8 + 4], edx
mov rdx, qword [rsp + 0x100]
mov dword [rcx + rax*8 + 8], edx
mov dword [rcx + rax*8 + 0xc], r12d
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4b693e
mov dword [rsp + 0x20], 0
mov rcx, r11
mov edx, 0x47
mov r8d, 0xffffffff
mov r9d, r12d
jmp 0x4b6a99
mov dword [rsp + 0x20], r12d
mov rcx, r11
mov edx, 0x5e
mov r8, qword [rsp + 0xd0]
mov r9, qword [rsp + 0x100]
call fcn.0047df60
mov r11, qword [rsp + 0x88]
jmp 0x4b693e
lea rdx, [0x00603afc]
call fcn.00419aa0
mov rbx, qword [rsp + 0xd8]
mov r14, qword [rsp + 0xc0]
mov r12, qword [rsp + 0x338]
mov rsi, qword [rsp + 0x128]
jmp 0x4b3ab1
mov dword [rsp + 0x20], 0
mov r8d, eax
mov r9d, r12d
call fcn.0047df60
mov r13, qword [rsp + 0xb0]
mov r15, qword [rsp + 0x98]
mov rdi, qword [rsp + 0x78]
mov r11, qword [rsp + 0x88]
mov rsi, qword [rsp + 0x90]
mov r14b, byte [rsp + 0x77]
mov rbx, qword [rsp + 0xa0]
mov ebp, dword [r11 + 0x90]
cmp dword [r11 + 0x94], ebp
jle 0x4b697e
movsxd rax, ebp
lea ecx, [rax + 1]
mov dword [r11 + 0x90], ecx
mov rcx, qword [r11 + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x33
mov dword [rcx + rax*8 + 4], r12d
pxor xmm0, xmm0
movdqu xmmword [rcx + rax*8 + 8], xmm0
jmp 0x4b69a3
mov dword [rsp + 0x20], 0
mov rcx, r11
mov edx, 0x33
mov r8d, r12d
xor r9d, r9d
call fcn.0047df60
mov r11, qword [rsp + 0x88]
mov ebp, eax
movsxd rax, dword [r11 + 0x90]
cmp dword [r11 + 0x94], eax
jle 0x4b69ee
lea ecx, [rax + 1]
mov dword [r11 + 0x90], ecx
mov rcx, qword [r11 + 0x88]
lea rax, [rax + rax*2]
movabs rdx, 0xffffffff00000047
mov qword [rcx + rax*8], rdx
mov dword [rcx + rax*8 + 8], r12d
mov dword [rcx + rax*8 + 0xc], 0
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4b6a14
mov dword [rsp + 0x20], 0
mov rcx, r11
mov edx, 0x47
mov r8d, 0xffffffff
mov r9d, r12d
call fcn.0047df60
mov r11, qword [rsp + 0x88]
mov eax, dword [r11 + 0x90]
mov rcx, qword [r11]
cmp byte [rcx + 0x67], 0
je 0x4b6a2d
lea rcx, [0x0213b3e8]
jmp 0x4b6a47
lea ecx, [rax - 1]
test ebp, ebp
cmovns ecx, ebp
movsxd rcx, ecx
lea rcx, [rcx + rcx*2]
shl rcx, 3
add rcx, qword [r11 + 0x88]
mov dword [rcx + 8], eax
cmp dword [r11 + 0x94], eax
jle 0x4b6a83
movsxd rcx, eax
add eax, 1
mov dword [r11 + 0x90], eax
mov rax, qword [r11 + 0x88]
lea rcx, [rcx + rcx*2]
mov dword [rax + rcx*8], 0xc
mov dword [rax + rcx*8 + 4], r12d
pxor xmm0, xmm0
movdqu xmmword [rax + rcx*8 + 8], xmm0
jmp 0x4b6aa6
mov dword [rsp + 0x20], 0
mov rcx, r11
mov edx, 0xc
mov r8d, r12d
xor r9d, r9d
call fcn.0047df60
mov r11, qword [rsp + 0x88]
lea ebp, [r12 + 1]
movsx eax, word [rsi + 0x38]
add eax, 0xffffffff
movsxd rcx, dword [r11 + 0x90]
cmp dword [r11 + 0x94], ecx
jle 0x4b6b02
lea edx, [rcx + 1]
mov dword [r11 + 0x90], edx
mov rdx, qword [r11 + 0x88]
lea rcx, [rcx + rcx*2]
mov dword [rdx + rcx*8], 0x50
mov r8, rbx
mov ebx, dword [rsp + 0xf4]
mov dword [rdx + rcx*8 + 4], ebx
mov rbx, r8
mov dword [rdx + rcx*8 + 8], ebp
mov dword [rdx + rcx*8 + 0xc], eax
mov qword [rdx + rcx*8 + 0x10], 0
jmp 0x4b6b1e
mov dword [rsp + 0x20], eax
mov rcx, r11
mov edx, 0x50
mov r8d, dword [rsp + 0xf4]
mov r9d, ebp
call fcn.0047df60
mov eax, dword [rsi + 0x30]
not eax
or eax, 0xffffff9f
cmp eax, 0xffffffff
je 0x4b6b38
mov rcx, rdi
mov edx, ebp
mov r8, rsi
call fcn.005166c0
cmp r14b, 2
je 0x4b6b51
mov rcx, qword [rsp + 0x88]
mov rdx, rsi
mov r8d, ebp
call fcn.004d5160
movzx eax, word [rsi + 0x36]
mov ecx, eax
not ecx
and ecx, 0xfffffcc8
and eax, 0x337
or eax, ecx
xor eax, 0x337
cwde
add eax, r12d
mov ecx, dword [rsp + 0xe8]
mov dword [rsp + 0x40], ecx
mov ecx, dword [rsp + 0x330]
mov dword [rsp + 0x38], ecx
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x20], 1
mov rcx, rdi
mov rbp, qword [rsp + 0x118]
mov rdx, rbp
mov r8d, 0x7f
xor r9d, r9d
call fcn.0050f580
movsx eax, word [rsi + 0x36]
test eax, eax
je 0x4b6bd3
cmp dword [rdi + 0x28], eax
mov r11, qword [rsp + 0x88]
jg 0x4b6bf8
add eax, 1
mov dword [rdi + 0x28], eax
mov dword [rdi + 0x2c], r12d
jmp 0x4b6bf8
test r12d, r12d
mov r11, qword [rsp + 0x88]
je 0x4b6bf8
movzx eax, byte [rdi + 0x1f]
cmp rax, 7
ja 0x4b6bf8
lea ecx, [rax + 1]
mov byte [rdi + 0x1f], cl
mov dword [rdi + rax*4 + 0xd8], r12d
cmp r14b, 2
mov r12, qword [rsp + 0x138]
je 0x4b76ba
mov qword [rsp + 0xa0], rbx
cmp byte [rsi + 0x3f], 1
mov rbx, qword [rsp + 0x100]
jne 0x4b6c93
movsxd rax, dword [r11 + 0x90]
cmp dword [r11 + 0x94], eax
jle 0x4b6c6b
lea ecx, [rax + 1]
mov dword [r11 + 0x90], ecx
mov rcx, qword [r11 + 0x88]
lea rax, [rax + rax*2]
mov qword [rcx + rax*8], 0x4b
mov edx, dword [rsp + 0x130]
mov dword [rcx + rax*8 + 8], edx
mov dword [rcx + rax*8 + 0xc], 0
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4b6c93
mov dword [rsp + 0x20], 0
mov rcx, r11
mov edx, 0x4b
xor r8d, r8d
mov r9d, dword [rsp + 0x130]
call fcn.0047df60
mov r11, qword [rsp + 0x88]
test ebx, ebx
js 0x4b6dae
cmp byte [rsp + 0xf8], 0
je 0x4b6e3a
cmp qword [rsp + 0xc0], 0
jne 0x4b6f73
mov eax, ebx
shl rax, 5
mov rcx, qword [rsp + 0x148]
mov rbp, qword [rcx + rax + 8]
cmp byte [rbp], 0x79
jne 0x4b6ce3
mov rax, qword [rsp + 0x90]
cmp byte [rax + 0x3f], 1
jne 0x4b7238
mov rdi, qword [rsp + 0x78]
cmp qword [rdi + 0x10], 0
mov r11, qword [rsp + 0x88]
mov rsi, qword [rsp + 0x90]
je 0x4b6f73
mov rcx, rdi
mov rdx, rbp
mov rbx, qword [rsp + 0x80]
mov r8d, ebx
call fcn.004c68a0
mov r11, qword [rsp + 0x88]
cmp eax, ebx
je 0x4b6f73
test rbp, rbp
je 0x4b6d43
mov ecx, dword [rbp + 4]
not ecx
or ecx, 0xffbfffff
mov edx, 0x50
cmp ecx, 0xffffffff
jne 0x4b6d48
mov edx, 0x51
mov rcx, qword [rsp + 0x78]
mov rcx, qword [rcx + 0x10]
movsxd rbp, dword [rcx + 0x90]
cmp dword [rcx + 0x94], ebp
jle 0x4b7ee9
lea ebx, [rbp + 1]
mov dword [rcx + 0x90], ebx
mov rcx, qword [rcx + 0x88]
lea rbp, [rbp + rbp*2]
mov byte [rcx + rbp*8], dl
mov word [rcx + rbp*8 + 2], 0
mov dword [rcx + rbp*8 + 4], eax
mov rax, qword [rsp + 0x80]
mov dword [rcx + rbp*8 + 8], eax
mov dword [rcx + rbp*8 + 0xc], 0
mov qword [rcx + rbp*8 + 0x10], 0
mov byte [rcx + rbp*8 + 1], 0
jmp 0x4b7f01
cmp byte [rsi + 0x3f], 1
sete al
mov dl, byte [rsp + 0xff]
test dl, dl
setns cl
cmp cl, al
je 0x4b6eea
test dl, dl
js 0x4b6eea
mov r8d, dword [rsp + 0x114]
movsxd rax, dword [r11 + 0x90]
cmp dword [r11 + 0x94], eax
jle 0x4b725b
lea ecx, [rax + 1]
mov rdx, qword [rsp + 0x88]
mov dword [rdx + 0x90], ecx
mov rcx, qword [rdx + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x7f
mov dword [rcx + rax*8 + 4], r8d
mov rdx, qword [rsp + 0x80]
mov dword [rcx + rax*8 + 8], edx
mov edx, dword [rsp + 0xa8]
mov dword [rcx + rax*8 + 0xc], edx
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4b7280
movsxd rax, dword [r11 + 0x90]
cmp dword [r11 + 0x94], eax
jle 0x4b6f47
lea ecx, [rax + 1]
mov dword [r11 + 0x90], ecx
mov rcx, qword [r11 + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x5e
mov rdx, qword [rsp + 0xd0]
mov dword [rcx + rax*8 + 4], edx
mov dword [rcx + rax*8 + 8], ebx
mov rdx, qword [rsp + 0x80]
mov dword [rcx + rax*8 + 0xc], edx
mov qword [rcx + rax*8 + 0x10], 0
cmp byte [rsi + 0x3f], 1
mov ebp, dword [r11 + 0x90]
movsxd rax, ebp
je 0x4b6f87
cmp dword [r11 + 0x94], ebp
jle 0x4b6fdb
lea ecx, [rbp + 1]
mov dword [r11 + 0x90], ecx
mov rcx, qword [r11 + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x33
mov rdx, qword [rsp + 0x80]
mov dword [rcx + rax*8 + 4], edx
pxor xmm0, xmm0
movdqu xmmword [rcx + rax*8 + 8], xmm0
mov rsi, r11
jmp 0x4b7000
movsxd rax, dword [r11 + 0x90]
cmp dword [r11 + 0x94], eax
jle 0x4b719d
lea ecx, [rax + 1]
mov rdx, qword [rsp + 0x88]
mov dword [rdx + 0x90], ecx
mov rcx, qword [rdx + 0x88]
lea rax, [rax + rax*2]
mov qword [rcx + rax*8], 0x4b
mov rdx, qword [rsp + 0x80]
mov dword [rcx + rax*8 + 8], edx
mov dword [rcx + rax*8 + 0xc], 0
mov qword [rcx + rax*8 + 0x10], 0
xor r14d, r14d
jmp 0x4b7286
mov rax, qword [rsp + 0x80]
mov dword [rsp + 0x20], eax
mov rcx, r11
mov edx, 0x5e
mov r8, qword [rsp + 0xd0]
mov r9d, ebx
call fcn.0047df60
mov r11, qword [rsp + 0x88]
cmp byte [rsi + 0x3f], 1
mov ebp, dword [r11 + 0x90]
movsxd rax, ebp
jne 0x4b6ea3
lea r9d, [rbp + 2]
cmp dword [r11 + 0x94], ebp
jle 0x4b705f
add ebp, 1
mov dword [r11 + 0x90], ebp
mov rcx, qword [r11 + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x32
mov rdx, qword [rsp + 0x80]
mov dword [rcx + rax*8 + 4], edx
mov dword [rcx + rax*8 + 8], r9d
mov dword [rcx + rax*8 + 0xc], 0
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4b7084
mov dword [rsp + 0x20], 0
mov rcx, r11
mov edx, 0x33
mov r8, qword [rsp + 0x80]
xor r9d, r9d
mov rsi, r11
call fcn.0047df60
mov ebp, eax
mov r8d, dword [rsp + 0x114]
movsxd rax, dword [rsi + 0x90]
cmp dword [rsi + 0x94], eax
mov rcx, rsi
jle 0x4b7099
lea edx, [rax + 1]
mov dword [rcx + 0x90], edx
mov rdx, qword [rcx + 0x88]
lea rax, [rax + rax*2]
mov dword [rdx + rax*8], 0x7f
mov dword [rdx + rax*8 + 4], r8d
mov rbx, qword [rsp + 0x80]
mov dword [rdx + rax*8 + 8], ebx
mov ebx, dword [rsp + 0xa8]
mov dword [rdx + rax*8 + 0xc], ebx
mov qword [rdx + rax*8 + 0x10], 0
mov rsi, rcx
jmp 0x4b70b9
mov dword [rsp + 0x20], 0
mov rcx, r11
mov edx, 0x32
mov r8, qword [rsp + 0x80]
call fcn.0047df60
mov r11, qword [rsp + 0x88]
mov r13, qword [rsp + 0xb0]
mov r15, qword [rsp + 0x98]
jmp 0x4b711b
mov eax, dword [rsp + 0xa8]
mov dword [rsp + 0x20], eax
mov edx, 0x7f
mov r9, qword [rsp + 0x80]
mov rsi, rcx
call fcn.0047df60
mov eax, dword [rsi + 0x90]
mov rcx, qword [rsi]
cmp byte [rcx + 0x67], 0
je 0x4b70d1
lea rcx, [0x0213b3e8]
jmp 0x4b70f3
lea ecx, [rax - 1]
test ebp, ebp
cmovns ecx, ebp
movsxd rcx, ecx
lea rcx, [rcx + rcx*2]
shl rcx, 3
mov rdx, qword [rsp + 0x88]
add rcx, qword [rdx + 0x88]
mov dword [rcx + 8], eax
mov r13, qword [rsp + 0xb0]
mov r15, qword [rsp + 0x98]
mov rdi, qword [rsp + 0x78]
mov r11, qword [rsp + 0x88]
mov rsi, qword [rsp + 0x90]
mov rbp, qword [rsp + 0x118]
movsxd rax, dword [r11 + 0x90]
cmp dword [r11 + 0x94], eax
mov r12, qword [rsp + 0x138]
jle 0x4b7175
lea ecx, [rax + 1]
mov dword [r11 + 0x90], ecx
mov rcx, qword [r11 + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0xc
mov rdx, qword [rsp + 0x80]
mov dword [rcx + rax*8 + 4], edx
pxor xmm0, xmm0
movdqu xmmword [rcx + rax*8 + 8], xmm0
xor r14d, r14d
jmp 0x4b72b3
mov dword [rsp + 0x20], 0
xor r14d, r14d
mov rcx, r11
mov edx, 0xc
mov r8, qword [rsp + 0x80]
xor r9d, r9d
call fcn.0047df60
jmp 0x4b72b3
mov dword [rsp + 0x20], 0
xor r14d, r14d
mov rcx, qword [rsp + 0x88]
mov edx, 0x4b
xor r8d, r8d
mov r9, qword [rsp + 0x80]
call fcn.0047df60
jmp 0x4b7286
mov edx, 1
mov r13, qword [rsp + 0xb0]
mov r15, qword [rsp + 0x98]
mov rsi, qword [rsp + 0x88]
mov r10d, dword [rsp + 0xac]
jmp 0x4b71fd
add edx, 1
cmp edx, r8d
je 0x4b52e6
cmp ebp, r12d
jne 0x4b71f1
mov rcx, qword [rsp + 0x90]
cmp eax, dword [rcx + 0x28]
je 0x4b48a8
mov rcx, qword [rsp + 0x90]
mov rbx, qword [rcx + 0x10]
test rbx, rbx
je 0x4b71f1
cmp eax, dword [rbx + 0x58]
je 0x4b48a8
mov rbx, qword [rbx + 0x28]
test rbx, rbx
jne 0x4b7224
jmp 0x4b71f1
mov r8d, dword [rsp + 0x114]
mov rcx, qword [rsp + 0x88]
movsxd rax, dword [rcx + 0x90]
cmp dword [rcx + 0x94], eax
jg 0x4b6ded
mov eax, dword [rsp + 0xa8]
mov dword [rsp + 0x20], eax
mov rcx, qword [rsp + 0x88]
mov edx, 0x7f
mov r9, qword [rsp + 0x80]
call fcn.0047df60
mov r14d, 1
mov r13, qword [rsp + 0xb0]
mov r15, qword [rsp + 0x98]
mov rdi, qword [rsp + 0x78]
mov rsi, qword [rsp + 0x90]
mov rbp, qword [rsp + 0x118]
mov r12, qword [rsp + 0x138]
mov r8d, dword [rsp + 0xa8]
test r8d, r8d
jle 0x4b732c
mov rcx, qword [rdi + 0x10]
movsxd rax, dword [rcx + 0x90]
cmp dword [rcx + 0x94], eax
jle 0x4b7312
lea edx, [rax + 1]
mov dword [rcx + 0x90], edx
mov rcx, qword [rcx + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x9f
mov dword [rcx + rax*8 + 4], r8d
mov rdx, qword [rsp + 0x80]
mov dword [rcx + rax*8 + 8], edx
mov dword [rcx + rax*8 + 0xc], 0
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4b732c
mov dword [rsp + 0x20], 0
mov edx, 0x9f
mov r9, qword [rsp + 0x80]
call fcn.0047df60
mov eax, dword [rsi + 0x30]
mov ecx, eax
xor ecx, 0xffffff9f
test ecx, eax
je 0x4b734a
mov rcx, rdi
mov edx, dword [rsp + 0xf4]
mov r8, rsi
call fcn.005166c0
cmp byte [rsi + 0x3f], 1
jne 0x4b73c6
mov rbx, qword [rsi + 0x50]
test rbx, rbx
je 0x4b7367
cmp qword [rbx], r13
je 0x4b7369
mov rbx, qword [rbx + 0x28]
test rbx, rbx
jne 0x4b7359
xor ebx, ebx
mov rbp, qword [rdi + 0xa0]
test rbp, rbp
cmove rbp, rdi
mov eax, dword [rbp + 0x128]
test eax, eax
jle 0x4b749f
mov rcx, qword [rbp + 0x180]
xor edx, edx
mov r15, qword [rsp + 0x98]
mov r8, qword [rsp + 0x88]
mov r12, qword [rsp + 0x138]
mov rsi, qword [rsp + 0x90]
cmp qword [rcx + rdx*8], rsi
je 0x4b761c
add rdx, 1
cmp rax, rdx
jne 0x4b73ae
jmp 0x4b74a6
mov dword [rsp + 0x160], 0
mov r9d, dword [rsp + 0x114]
mov eax, dword [rsp + 0x144]
mov rdx, qword [rsp + 0x100]
shr edx, 0x1f
or dl, 0x8a
xor dl, 0x8b
mov rcx, qword [rsp + 0x338]
mov qword [rsp + 0x60], rcx
lea rcx, [rsp + 0x160]
mov qword [rsp + 0x50], rcx
mov ecx, dword [rsp + 0xe8]
mov dword [rsp + 0x48], ecx
mov ecx, dword [rsp + 0x330]
mov byte [rsp + 0x40], cl
mov ebx, dword [rsp + 0x130]
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], eax
mov byte [rsp + 0x38], dl
mov qword [rsp + 0x58], 0
mov dword [rsp + 0x30], 0
mov rcx, rdi
mov rdx, rsi
mov r8, qword [rsp + 0x128]
call fcn.00516c10
mov dword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
mov rcx, rdi
mov rdx, rsi
xor r8d, r8d
mov r9d, ebx
call fcn.005101a0
cmp dword [rsp + 0x160], 0
je 0x4b750b
xor eax, eax
mov rcx, qword [rsp + 0x88]
cmp qword [rcx + 0x120], 0
sete al
jmp 0x4b7510
mov rcx, qword [rbp + 0x180]
lea eax, [rax*8 + 8]
movsxd rdx, eax
call fcn.00404830
test rax, rax
je 0x4b7569
mov qword [rbp + 0x180], rax
movsxd rcx, dword [rbp + 0x128]
lea edx, [rcx + 1]
mov dword [rbp + 0x128], edx
mov rdx, qword [rsp + 0x90]
mov qword [rax + rcx*8], rdx
mov r13, qword [rsp + 0xb0]
mov r15, qword [rsp + 0x98]
mov rdi, qword [rsp + 0x78]
mov r8, qword [rsp + 0x88]
mov r12, qword [rsp + 0x138]
jmp 0x4b761c
mov eax, 1
mov rbx, qword [rsp + 0xa0]
mov r8d, dword [rsp + 0x114]
mov r9d, dword [rsp + 0x144]
mov dword [rsp + 0x40], eax
mov dword [rsp + 0x38], r14d
mov rax, qword [rsp + 0x128]
mov qword [rsp + 0x28], rax
mov eax, dword [rsp + 0x130]
mov dword [rsp + 0x20], eax
mov dword [rsp + 0x30], 0
mov rcx, rdi
mov rdx, rsi
call fcn.0051aaa0
mov r11, qword [rsp + 0x88]
jmp 0x4b76ba
mov rbp, qword [rbp]
cmp byte [rbp + 0x67], 0
mov r13, qword [rsp + 0xb0]
mov r15, qword [rsp + 0x98]
mov rdi, qword [rsp + 0x78]
mov r8, qword [rsp + 0x88]
mov r12, qword [rsp + 0x138]
jne 0x4b761c
cmp byte [rbp + 0x68], 0
jne 0x4b761c
mov byte [rbp + 0x67], 1
cmp dword [rbp + 0xe4], 0
jle 0x4b75b9
mov dword [rbp + 0x198], 1
add dword [rbp + 0x1a0], 1
mov word [rbp + 0x1a4], 0
mov rcx, qword [rbp + 0x160]
test rcx, rcx
mov r13, qword [rsp + 0xb0]
mov r15, qword [rsp + 0x98]
mov rdi, qword [rsp + 0x78]
mov r8, qword [rsp + 0x88]
mov r12, qword [rsp + 0x138]
je 0x4b761c
lea rdx, [0x005fc480]
call fcn.00419aa0
mov r8, qword [rsp + 0x88]
mov rax, qword [rbp + 0x160]
mov dword [rax + 0x18], 7
mov rax, qword [rsp + 0x90]
movsx r9d, word [rax + 0x36]
add r9d, 2
mov qword [rsp + 0x28], rbx
mov eax, dword [rsp + 0x130]
mov dword [rsp + 0x20], eax
mov dword [rsp + 0x30], 0xfffffff5
mov rcx, r8
mov edx, 7
mov r8d, 1
call fcn.004c62a0
mov r11, qword [rsp + 0x88]
mov eax, dword [r11 + 0x90]
test eax, eax
jle 0x4b7690
mov edx, dword [rsp + 0x330]
cmp edx, 0xb
mov ecx, 2
cmovne ecx, edx
mov rdx, qword [r11 + 0x88]
add eax, 0xffffffff
lea rax, [rax + rax*2]
mov word [rdx + rax*8 + 2], cx
mov rax, qword [rdi + 0xa0]
test rax, rax
cmove rax, rdi
mov byte [rax + 0x21], 1
mov rsi, qword [rsp + 0x90]
mov rbp, qword [rsp + 0x118]
mov rbx, qword [rsp + 0xa0]
test r12d, r12d
mov r14, qword [rsp + 0xc0]
je 0x4b7732
movsxd rax, dword [r11 + 0x90]
cmp dword [r11 + 0x94], eax
jle 0x4b770c
lea ecx, [rax + 1]
mov dword [r11 + 0x90], ecx
mov rcx, qword [r11 + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x56
mov dword [rcx + rax*8 + 4], r12d
mov qword [rcx + rax*8 + 8], 1
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4b7732
mov dword [rsp + 0x20], 0
mov rcx, r11
mov edx, 0x56
mov r8d, r12d
mov r9d, 1
call fcn.0047df60
mov r11, qword [rsp + 0x88]
test rbp, rbp
je 0x4b779f
movzx eax, word [rsi + 0x36]
mov ecx, eax
not ecx
and ecx, 0xffffc461
and eax, 0x3b9e
or eax, ecx
xor eax, 0x3b9e
cwde
mov rcx, qword [rsp + 0x80]
add ecx, eax
mov eax, dword [rsp + 0xe8]
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0x330]
mov dword [rsp + 0x38], eax
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x30], ecx
mov dword [rsp + 0x20], 2
mov rcx, rdi
mov rdx, rbp
mov r8d, 0x7f
xor r9d, r9d
call fcn.0050f580
mov r11, qword [rsp + 0x88]
mov rcx, qword [r11 + 0x18]
neg ebx
mov eax, dword [rcx + 0x44]
add eax, dword [rcx + 0x48]
js 0x4b77c0
mov eax, dword [r11 + 0x90]
mov rcx, qword [rcx + 0x50]
movsxd rdx, ebx
mov dword [rcx + rdx*4], eax
jmp 0x4b77d3
mov rdx, r11
mov r8d, ebx
call fcn.004d3e00
mov r11, qword [rsp + 0x88]
mov rbx, qword [rsp + 0xd8]
mov rsi, qword [rsp + 0x128]
cmp byte [rsp + 0xf8], 0
je 0x4b7848
test r14, r14
je 0x4b79f0
movsxd rax, dword [r11 + 0x90]
cmp dword [r11 + 0x94], eax
jle 0x4b798a
lea ecx, [rax + 1]
mov dword [r11 + 0x90], ecx
mov rcx, qword [r11 + 0x88]
lea rax, [rax + rax*2]
mov qword [rcx + rax*8], 8
mov edx, dword [rsp + 0xc8]
mov dword [rcx + rax*8 + 8], edx
mov dword [rcx + rax*8 + 0xc], 0
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4b79b2
movsxd rax, dword [r11 + 0x90]
cmp dword [r11 + 0x94], eax
jle 0x4b789e
lea ecx, [rax + 1]
mov dword [r11 + 0x90], ecx
mov rcx, qword [r11 + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x26
mov rdx, qword [rsp + 0xd0]
mov dword [rcx + rax*8 + 4], edx
mov edx, dword [rsp + 0xc8]
mov dword [rcx + rax*8 + 8], edx
mov dword [rcx + rax*8 + 0xc], 0
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4b78cb
mov dword [rsp + 0x20], 0
mov rcx, r11
mov edx, 0x26
mov r8, qword [rsp + 0xd0]
mov r9d, dword [rsp + 0xc8]
call fcn.0047df60
mov r11, qword [rsp + 0x88]
mov eax, dword [r11 + 0x90]
mov rcx, qword [r11]
cmp byte [rcx + 0x67], 0
je 0x4b78e4
lea rcx, [0x0213b3e8]
jmp 0x4b7906
lea ecx, [rax - 1]
mov rdx, qword [rsp + 0x108]
test edx, edx
cmovns ecx, edx
movsxd rcx, ecx
lea rcx, [rcx + rcx*2]
shl rcx, 3
add rcx, qword [r11 + 0x88]
mov dword [rcx + 8], eax
cmp dword [r11 + 0x94], eax
jle 0x4b7956
movsxd rcx, eax
add eax, 1
mov dword [r11 + 0x90], eax
mov rax, qword [r11 + 0x88]
lea rcx, [rcx + rcx*2]
mov dword [rax + rcx*8], 0x7a
mov rdx, qword [rsp + 0xd0]
mov dword [rax + rcx*8 + 4], edx
pxor xmm0, xmm0
movdqu xmmword [rax + rcx*8 + 8], xmm0
cmp byte [rdi + 0x1e], 0
jne 0x4b7a1a
jmp 0x4b79f6
mov dword [rsp + 0x20], 0
mov rcx, r11
mov edx, 0x7a
mov r8, qword [rsp + 0xd0]
xor r9d, r9d
call fcn.0047df60
mov r11, qword [rsp + 0x88]
cmp byte [rdi + 0x1e], 0
jne 0x4b7a1a
jmp 0x4b79f6
mov dword [rsp + 0x20], 0
mov rcx, r11
mov edx, 8
xor r8d, r8d
mov r9d, dword [rsp + 0xc8]
call fcn.0047df60
mov r11, qword [rsp + 0x88]
mov eax, dword [r11 + 0x90]
mov rcx, qword [r11]
cmp byte [rcx + 0x67], 0
je 0x4b79cb
lea rcx, [0x0213b3e8]
jmp 0x4b79ed
lea ecx, [rax - 1]
mov rdx, qword [rsp + 0x108]
test edx, edx
cmovns ecx, edx
movsxd rcx, ecx
lea rcx, [rcx + rcx*2]
shl rcx, 3
add rcx, qword [r11 + 0x88]
mov dword [rcx + 8], eax
cmp byte [rdi + 0x1e], 0
jne 0x4b7a1a
cmp qword [rdi + 0xa8], 0
jne 0x4b7a1a
cmp qword [rdi + 0x98], 0
je 0x4b7a1a
mov rcx, rdi
call fcn.00515e00
mov r11, qword [rsp + 0x88]
test r12d, r12d
je 0x4b7a5d
movsxd rax, dword [r11 + 0x90]
cmp dword [r11 + 0x94], eax
jle 0x4b7a6a
lea ecx, [rax + 1]
mov dword [r11 + 0x90], ecx
mov rcx, qword [r11 + 0x88]
lea rax, [rax + rax*2]
mov byte [rcx + rax*8], 0x53
pxor xmm0, xmm0
movdqu xmmword [rcx + rax*8 + 1], xmm0
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4b7a8d
mov r12, qword [rsp + 0x338]
jmp 0x4b3ab1
mov dword [rsp + 0x20], 0
mov rcx, r11
mov edx, 0x53
xor r8d, r8d
xor r9d, r9d
call fcn.0047df60
mov r11, qword [rsp + 0x88]
movsxd rax, dword [r11 + 0x90]
cmp dword [r11 + 0x94], eax
jle 0x4b7ad2
lea ecx, [rax + 1]
mov dword [r11 + 0x90], ecx
mov rcx, qword [r11 + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x54
mov dword [rcx + rax*8 + 4], r12d
mov qword [rcx + rax*8 + 8], 1
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4b7af8
mov dword [rsp + 0x20], 0
mov rcx, r11
mov edx, 0x54
mov r8d, r12d
mov r9d, 1
call fcn.0047df60
mov r11, qword [rsp + 0x88]
mov rbp, qword [r11]
movzx eax, word [r11 + 0xc0]
test rax, rax
mov r12, qword [rsp + 0x338]
je 0x4b7e5b
mov rdi, rbp
mov qword [rsp + 0x128], rsi
mov rsi, rbx
mov rbp, qword [r11 + 0x98]
test rbp, rbp
je 0x4b7e1e
imul r12, rax, 0x70
add r12, rbp
mov rbx, qword [rbp + 0x18]
cmp qword [rbx + 0x300], 0
jne 0x4b7b84
test rbx, rbx
je 0x4b7d1d
movabs r15, 0x553c603d3d8254c7
not r15
mov r13, qword [rsp + 0xb0]
mov rsi, qword [rsp + 0xd8]
mov r11, qword [rsp + 0x88]
jmp 0x4b7bc3
add rbp, 0x38
cmp rbp, r12
jae 0x4b7e1e
cmp dword [rbp + 0x20], 0
je 0x4b7b77
mov rdx, qword [rbp + 0x28]
mov rcx, rbx
call fcn.00408130
mov r11, qword [rsp + 0x88]
jmp 0x4b7b77
mov rcx, rbp
call fcn.00449ce0
mov r11, qword [rsp + 0x88]
mov word [rbp + 0x14], 0
add rbp, 0x38
cmp rbp, r12
jae 0x4b7e1e
mov eax, dword [rbp + 0x14]
mov ecx, eax
xor ecx, 0x6fff
test cx, ax
jne 0x4b7ba0
cmp dword [rbp + 0x20], 0
je 0x4b7bb6
mov rdx, qword [rbp + 0x28]
cmp qword [rbx + 0x300], 0
je 0x4b7bf8
mov rcx, rbx
call fcn.004297f0
mov dword [rbp + 0x20], 0
jmp 0x4b7ba8
cmp qword [rbx + 0x1f0], rdx
jbe 0x4b7c31
mov rcx, rdx
cmp qword [rbx + 0x1e0], rdx
jbe 0x4b7cd6
mov rdx, rcx
cmp qword [rbx + 0x1e8], rcx
mov r13, qword [rsp + 0xb0]
mov rsi, qword [rsp + 0xd8]
jbe 0x4b7d07
test rdx, rdx
je 0x4b7bef
mov r14, rdx
cmp dword [0x005f6010], 0
je 0x4b7ce9
mov rcx, qword [0x0213b0e8]
test rcx, rcx
je 0x4b7c58
call qword [0x005f6090]
mov rcx, r14
call qword [0x005f6048]
cdqe
mov rcx, qword [0x0213b040]
movabs rdx, 0xbebc6cc2a925dbf9
add rcx, rdx
sub rcx, rax
sub rcx, rdx
mov qword [0x0213b040], rcx
mov rax, qword [0x0213b088]
add rax, r15
movabs rcx, 0x553c603d3d8254c7
add rax, rcx
mov qword [0x0213b088], rax
mov rcx, r14
call qword [0x005f6038]
mov rcx, qword [0x0213b0e8]
test rcx, rcx
mov r13, qword [rsp + 0xb0]
mov rsi, qword [rsp + 0xd8]
je 0x4b7bef
call qword [0x005f60a0]
jmp 0x4b7bef
mov rax, qword [rbx + 0x1d8]
mov qword [rcx], rax
mov qword [rbx + 0x1d8], rcx
jmp 0x4b7cf2
mov rcx, r14
call qword [0x005f6038]
mov r13, qword [rsp + 0xb0]
mov rsi, qword [rsp + 0xd8]
jmp 0x4b7bef
mov rax, qword [rbx + 0x1c8]
mov qword [rdx], rax
mov qword [rbx + 0x1c8], rdx
jmp 0x4b7bef
movabs r15, 0xa4d98f4243a211c7
mov r13, qword [rsp + 0xb0]
mov rsi, qword [rsp + 0xd8]
mov r11, qword [rsp + 0x88]
jmp 0x4b7d64
mov rcx, rbp
call fcn.00449ce0
mov r11, qword [rsp + 0x88]
mov word [rbp + 0x14], 0
add rbp, 0x38
cmp rbp, r12
jae 0x4b7e1e
mov eax, dword [rbp + 0x14]
mov ecx, eax
xor ecx, 0x6fff
test cx, ax
jne 0x4b7d41
cmp dword [rbp + 0x20], 0
je 0x4b7d57
mov rbx, qword [rbp + 0x28]
test rbx, rbx
je 0x4b7e12
cmp dword [0x005f6010], 0
je 0x4b7e01
mov rcx, qword [0x0213b0e8]
test rcx, rcx
je 0x4b7da2
call qword [0x005f6090]
mov rcx, rbx
call qword [0x005f6048]
mov rcx, qword [0x0213b040]
cdqe
sub rcx, r15
sub rcx, rax
add rcx, r15
mov qword [0x0213b040], rcx
add qword [0x0213b088], 0xffffffffffffffff
mov rcx, rbx
call qword [0x005f6038]
mov rcx, qword [0x0213b0e8]
test rcx, rcx
mov r13, qword [rsp + 0xb0]
mov rsi, qword [rsp + 0xd8]
mov r11, qword [rsp + 0x88]
je 0x4b7e12
call qword [0x005f60a0]
jmp 0x4b7e0a
mov rcx, rbx
call qword [0x005f6038]
mov r11, qword [rsp + 0x88]
mov dword [rbp + 0x20], 0
jmp 0x4b7d51
mov rdx, qword [r11 + 0x98]
mov rbp, rdi
mov rcx, rdi
call fcn.00408130
mov r11, qword [rsp + 0x88]
mov r15, qword [rsp + 0x98]
mov r14, qword [rsp + 0xc0]
mov r12, qword [rsp + 0x338]
mov rbx, rsi
mov rsi, qword [rsp + 0x128]
mov word [r11 + 0xc0], 1
mov edx, 0x70
mov rcx, rbp
call fcn.00429840
mov rcx, qword [rsp + 0x88]
mov qword [rcx + 0x98], rax
test rax, rax
je 0x4b7ea8
mov word [rax + 0x14], 1
mov qword [rax + 0x18], rbp
mov dword [rax + 0x20], 0
mov word [rax + 0x4c], 1
mov qword [rax + 0x50], rbp
mov dword [rax + 0x58], 0
mov rcx, qword [rcx]
cmp byte [rcx + 0x67], 0
jne 0x4b3ab1
mov qword [rsp + 0x20], 0
lea rdx, [0x00604b94]
mov rcx, rax
mov r8, 0xffffffffffffffff
mov r9b, 1
call fcn.00414070
jmp 0x4b3ab1
mov byte [rsp + 0x220], 0
jmp 0x4b5c59
mov dword [rsp + 0x20], 0
mov r8d, eax
mov r9, qword [rsp + 0x80]
call fcn.0047df60
mov rdi, qword [rsp + 0x78]
mov r11, qword [rsp + 0x88]
mov rsi, qword [rsp + 0x90]
cmp byte [rsi + 0x3f], 1
mov ebp, dword [r11 + 0x90]
movsxd rax, ebp
je 0x4b6f87
jmp 0x4b6ea3
test dx, dx
jle 0x4b8342
xor r14d, r14d
mov rax, qword [rsp + 0x90]
mov rdx, qword [rax + 8]
mov rcx, qword [r13 + 8]
lea rax, [r14*8]
lea rbx, [rax + rax*2]
mov qword [rsp + 0xa0], rdx
movzx eax, word [rdx + rbx + 0x12]
not eax
or eax, 0xffffff9f
mov qword [rsp + 0x80], rcx
movzx ecx, word [rcx + rbx + 0x12]
not ecx
or ecx, 0xff9f
cmp ax, cx
mov r15, qword [rsp + 0x98]
jne 0x4b403f
not eax
test ax, ax
je 0x4b7ffb
lea rax, [r14 + r14*2]
mov rcx, qword [rsp + 0x80]
movzx ecx, word [rcx + rax*8 + 0x10]
test ecx, ecx
je 0x4b7fb6
cmp byte [r13 + 0x3f], 0
je 0x4b822c
xor edx, edx
mov rcx, qword [rsp + 0xa0]
movzx eax, word [rcx + rax*8 + 0x10]
test eax, eax
je 0x4b7fdb
mov rcx, qword [rsp + 0x90]
cmp byte [rcx + 0x3f], 0
je 0x4b826a
xor r8d, r8d
xor ecx, ecx
mov r9d, 0xffffffff
call fcn.004cf220
test eax, eax
mov r15, qword [rsp + 0x98]
jne 0x4b403f
mov rax, qword [rsp + 0xa0]
mov al, byte [rax + rbx + 0xc]
mov rcx, qword [rsp + 0x80]
cmp al, byte [rcx + rbx + 0xc]
jne 0x4b403f
mov rax, qword [rsp + 0xa0]
add rax, rbx
add rax, 0x12
mov rcx, qword [rsp + 0x80]
lea rdx, [rcx + rbx]
add rdx, 0x12
movzx r8d, word [rax]
mov eax, r8d
xor eax, 0xfdff
test ax, r8w
je 0x4b8087
lea rax, [r14 + r14*2]
mov rcx, qword [rsp + 0xa0]
mov rcx, qword [rcx + rax*8]
add rcx, 0xffffffffffffffff
cmp byte [rcx + 1], 0
lea rcx, [rcx + 1]
jne 0x4b805e
mov eax, r8d
not eax
or eax, 0xfffb
cmp ax, 0xffff
je 0x4b80a7
lea r9, [rcx + 1]
cmp byte [rcx + 1], 0
mov rcx, r9
jne 0x4b8078
jmp 0x4b80aa
movzx edx, word [rdx]
mov eax, edx
xor eax, 0xfdff
test ax, dx
mov r15, qword [rsp + 0x98]
je 0x4b8156
xor r9d, r9d
jmp 0x4b80c9
mov r9, rcx
movzx edx, word [rdx]
mov eax, edx
xor eax, 0xfdff
test ax, dx
mov r15, qword [rsp + 0x98]
je 0x4b403f
add r9, 1
lea rax, [r14 + r14*2]
mov rcx, qword [rsp + 0x80]
mov rcx, qword [rcx + rax*8]
add rcx, 0xffffffffffffffff
cmp byte [rcx + 1], 0
lea rcx, [rcx + 1]
jne 0x4b80dd
mov eax, edx
xor eax, 0xfffb
test ax, dx
je 0x4b8102
lea rdx, [rcx + 1]
cmp byte [rcx + 1], 0
mov rcx, rdx
jne 0x4b80f3
jmp 0x4b8105
mov rdx, rcx
test r9, r9
mov r15, qword [rsp + 0x98]
je 0x4b403f
xor ecx, ecx
jmp 0x4b813a
lea rsi, [0x005fade0]
movzx ebx, byte [rdi + rsi]
cmp bl, byte [rax + rsi]
mov r15, qword [rsp + 0x98]
jne 0x4b403f
add rcx, 1
movzx edi, byte [r9 + rcx]
movzx eax, byte [rdx + rcx + 1]
cmp dil, al
jne 0x4b811a
test dil, dil
mov r15, qword [rsp + 0x98]
jne 0x4b8136
lea rcx, [r14 + r14*2]
mov rax, qword [rsp + 0xa0]
mov eax, dword [rax + rcx*8 + 8]
not eax
or eax, 0xfffffff0
cmp eax, 0xffffffff
je 0x4b818a
mov rax, qword [rsp + 0x80]
mov eax, dword [rax + rcx*8 + 8]
not eax
or eax, 0xfffffff0
cmp eax, 0xffffffff
je 0x4b403f
not r8d
or r8d, 0xff9f
cmp r8w, 0xffff
setne al
test r14, r14
setne dl
cmp dl, al
je 0x4b81fd
test r14, r14
je 0x4b81fd
mov rax, qword [rsp + 0xa0]
movzx eax, word [rax + rcx*8 + 0x10]
test eax, eax
je 0x4b81ce
mov rdx, qword [rsp + 0x90]
cmp byte [rdx + 0x3f], 0
je 0x4b829a
xor eax, eax
mov rdx, qword [rsp + 0x80]
movzx ecx, word [rdx + rcx*8 + 0x10]
test ecx, ecx
je 0x4b81ec
cmp byte [r13 + 0x3f], 0
je 0x4b82df
test rax, rax
mov r15, qword [rsp + 0x98]
jne 0x4b403f
movabs rax, 0xc9a7bae375549f4c
sub r14, rax
add r14, rax
add r14, 1
mov rax, qword [rsp + 0x90]
movsx rax, word [rax + 0x36]
cmp r14, rax
jl 0x4b7f3b
jmp 0x4b8342
mov rdx, qword [r13 + 0x50]
test rdx, rdx
je 0x4b7fb6
cmp dword [rdx], ecx
jl 0x4b7fb6
add ecx, 0xffffffff
movsxd rcx, ecx
shl rcx, 5
mov rdx, qword [rdx + rcx + 8]
mov rcx, qword [rsp + 0xa0]
movzx eax, word [rcx + rax*8 + 0x10]
test eax, eax
jne 0x4b7fc9
jmp 0x4b7fdb
mov rcx, qword [rsp + 0x90]
mov rcx, qword [rcx + 0x50]
test rcx, rcx
je 0x4b7fdb
cmp dword [rcx], eax
jl 0x4b7fdb
add eax, 0xffffffff
cdqe
shl rax, 5
mov r8, qword [rcx + rax + 8]
jmp 0x4b7fde
mov rdx, qword [rsp + 0x90]
mov rdx, qword [rdx + 0x50]
test rdx, rdx
je 0x4b81ce
cmp dword [rdx], eax
jl 0x4b81ce
add eax, 0xffffffff
cdqe
shl rax, 5
mov rax, qword [rdx + rax + 8]
mov rdx, qword [rsp + 0x80]
movzx ecx, word [rdx + rcx*8 + 0x10]
test ecx, ecx
jne 0x4b81e1
jmp 0x4b81ec
mov rdx, qword [r13 + 0x50]
test rdx, rdx
je 0x4b81ec
cmp dword [rdx], ecx
jl 0x4b81ec
add ecx, 0xffffffff
movsxd rcx, ecx
shl rcx, 5
mov rdx, qword [rdx + rcx + 8]
test rdx, rdx
sete cl
test rax, rax
setne bl
cmp bl, cl
mov r15, qword [rsp + 0x98]
je 0x4b403f
test rax, rax
je 0x4b81fd
mov rcx, qword [rax + 8]
mov rdx, qword [rdx + 8]
call fcn.005f4bf0
test eax, eax
je 0x4b81fd
jmp 0x4b403f
mov rax, qword [rsp + 0x90]
mov rsi, qword [rax + 0x10]
test rsi, rsi
je 0x4b8406
mov dword [rsp + 0x130], 0
mov ebx, 1
cmp byte [rsi + 0x62], 0
mov eax, dword [rsp + 0x130]
cmovne eax, ebx
mov dword [rsp + 0x130], eax
mov rdi, qword [r13 + 0x10]
test rdi, rdi
mov r15, qword [rsp + 0x98]
je 0x4b403f
mov rcx, rsi
mov rdx, rdi
call fcn.0051b5c0
test eax, eax
jne 0x4b83b6
mov rdi, qword [rdi + 0x28]
test rdi, rdi
mov r15, qword [rsp + 0x98]
jne 0x4b8391
jmp 0x4b403f
mov eax, dword [rdi + 0x58]
cmp eax, dword [rsi + 0x58]
mov r15, qword [rsp + 0x98]
jne 0x4b83f7
mov rax, qword [r13 + 0x60]
mov rcx, qword [rsp + 0x90]
cmp rax, qword [rcx + 0x60]
jne 0x4b83f7
mov rax, qword [0x005f61a0]
test rax, rax
je 0x4b403f
mov ecx, 0x19b
call rax
test eax, eax
je 0x4b403f
mov rsi, qword [rsi + 0x28]
test rsi, rsi
jne 0x4b8367
jmp 0x4b8411
mov dword [rsp + 0x130], 0
mov rax, qword [rsp + 0x90]
mov r14, qword [rax + 0x20]
test r14, r14
je 0x4b8492
mov rdi, qword [r13 + 0x20]
test rdi, rdi
mov r15, qword [rsp + 0x98]
je 0x4b403f
mov eax, dword [rdi]
cmp eax, dword [r14]
jne 0x4b403f
test eax, eax
jle 0x4b8492
mov esi, 0x18
xor ebx, ebx
mov r15, qword [rsp + 0x98]
movzx eax, byte [rdi + rsi]
cmp al, byte [r14 + rsi]
jne 0x4b403f
mov r8, qword [r14 + rsi - 0x10]
mov rdx, qword [rdi + rsi - 0x10]
xor ecx, ecx
mov r9d, 0xffffffff
call fcn.004cf220
test eax, eax
jne 0x4b403f
add rbx, 1
movsxd rax, dword [rdi]
add rsi, 0x20
cmp rbx, rax
jl 0x4b8455
mov rax, qword [rsp + 0xe8]
mov rax, qword [rax + 0x30]
mov ecx, eax
not ecx
or rcx, 0xffffffffffffbfff
cmp rcx, 0xffffffffffffffff
mov r15, qword [rsp + 0x98]
je 0x4b84ca
mov rcx, qword [rsp + 0x90]
cmp qword [rcx + 0x48], 0
jne 0x4b403f
not rax
movabs rcx, 0x100000000
not rcx
or rcx, rax
cmp rcx, 0xffffffffffffffff
jne 0x4b403f
mov rax, qword [r13 + 0x60]
test rax, rax
je 0x4b8527
mov rcx, qword [rsp + 0xe8]
mov rcx, qword [rcx + 0x20]
add rcx, 0x18
mov dword [rsp + 0xa8], 0xffffffff
xor edx, edx
add rdx, 1
add dword [rsp + 0xa8], 1
lea rbx, [rcx + 0x20]
cmp qword [rcx], rax
mov rcx, rbx
jne 0x4b850d
jmp 0x4b8532
mov dword [rsp + 0xa8], 0xffff8000
mov rsi, qword [rsp + 0x78]
mov rcx, rsi
call fcn.004c6120
mov r14, rax
mov rax, qword [rsi + 0xa0]
test rax, rax
cmove rax, rsi
mov edx, 1
mov ecx, dword [rsp + 0xa8]
shl edx, cl
mov edi, 0xfffffffe
rol edi, cl
mov ebx, dword [rax + 0x74]
mov ecx, ebx
not ecx
or edi, ecx
cmp edi, 0xffffffff
jne 0x4b85b2
mov edi, edx
not edi
mov esi, ecx
and esi, 0xe2041040
and ebx, 0x1dfbefbf
or ebx, esi
or ecx, edi
and edi, 0xe2041040
and edx, 0x1dfbefbf
or edx, edi
xor edx, ebx
not ecx
or ecx, edx
mov dword [rax + 0x74], ecx
cmp dword [rsp + 0xa8], 1
jne 0x4b85b2
mov rcx, rax
call fcn.004306d0
mov qword [rsp + 0x80], r14
mov rsi, qword [rsp + 0x78]
mov eax, dword [rsi + 0x34]
mov qword [rsp + 0xb8], rax
add eax, 2
mov dword [rsi + 0x34], eax
mov rcx, rsi
mov edx, r12d
mov r8, qword [rsp + 0x90]
call fcn.0051b460
mov dword [rsp + 0xf8], eax
mov al, byte [rsi + 0x1f]
test al, al
je 0x4b860e
add al, 0xff
mov rcx, qword [rsp + 0x78]
mov byte [rcx + 0x1f], al
movzx eax, al
mov eax, dword [rcx + rax*4 + 0xd8]
mov dword [rsp + 0x108], eax
jmp 0x4b8623
mov rax, qword [rsp + 0x78]
mov ecx, dword [rax + 0x38]
add ecx, 1
mov dword [rsp + 0x108], ecx
mov dword [rax + 0x38], ecx
mov rcx, qword [rsp + 0x80]
movsxd rax, dword [rcx + 0x90]
cmp dword [rcx + 0x94], eax
jle 0x4b867c
lea ecx, [rax + 1]
mov rdx, qword [rsp + 0x80]
mov dword [rdx + 0x90], ecx
mov rcx, qword [rdx + 0x88]
lea rax, [rax + rax*2]
mov qword [rcx + rax*8], 0x4b
mov edx, dword [rsp + 0x108]
mov dword [rcx + rax*8 + 8], edx
mov dword [rcx + rax*8 + 0xc], 0
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4b86a1
mov dword [rsp + 0x20], 0
mov rcx, qword [rsp + 0x80]
mov edx, 0x4b
xor r8d, r8d
mov r9d, dword [rsp + 0x108]
call fcn.0047df60
mov rax, qword [rsp + 0x78]
mov al, byte [rax + 0x1f]
test al, al
je 0x4b86ca
add al, 0xff
mov rcx, qword [rsp + 0x78]
mov byte [rcx + 0x1f], al
movzx eax, al
mov eax, dword [rcx + rax*4 + 0xd8]
mov dword [rsp + 0xd0], eax
jmp 0x4b86df
mov rax, qword [rsp + 0x78]
mov ecx, dword [rax + 0x38]
add ecx, 1
mov dword [rsp + 0xd0], ecx
mov dword [rax + 0x38], ecx
mov rax, qword [rsp + 0x78]
mov rsi, qword [rax + 0x10]
cmp r12d, 1
je 0x4b8731
mov rax, qword [rsp + 0x78]
mov rax, qword [rax]
mov rax, qword [rax + 0x20]
mov rcx, qword [rsp + 0x100]
mov rax, qword [rax + rcx + 8]
cmp byte [rax + 0x11], 0
je 0x4b8731
mov rax, qword [rsp + 0x90]
mov r8d, dword [rax + 0x28]
mov rax, qword [rax]
mov qword [rsp + 0x20], rax
mov rcx, qword [rsp + 0x78]
mov edx, r12d
mov r9b, 1
call fcn.004c63a0
mov rax, qword [rsp + 0x90]
lea r15, [rax + 0x10]
mov rcx, qword [rsp + 0xb8]
add ecx, 1
mov dword [rsp + 0xc8], ecx
cmp byte [rax + 0x30], 0
js 0x4b87b5
mov rax, qword [rsp + 0x90]
mov r9d, dword [rax + 0x28]
movsx ebx, word [rax + 0x38]
mov eax, dword [rsi + 0x90]
cmp dword [rsi + 0x94], eax
jle 0x4b881a
movsxd rcx, eax
lea edx, [rcx + 1]
mov dword [rsi + 0x90], edx
mov rdx, qword [rsi + 0x88]
lea rcx, [rcx + rcx*2]
mov dword [rdx + rcx*8], 0x71
mov edi, dword [rsp + 0xc8]
mov dword [rdx + rcx*8 + 4], edi
mov dword [rdx + rcx*8 + 8], r9d
mov dword [rdx + rcx*8 + 0xc], r12d
mov qword [rdx + rcx*8 + 0x10], 0
jmp 0x4b8834
mov rax, r15
mov rbx, qword [rax]
mov ecx, dword [rbx + 0x64]
not ecx
or ecx, 0xfffffffc
lea rax, [rbx + 0x28]
cmp ecx, 0xfffffffd
jne 0x4b87b8
mov r9d, dword [rbx + 0x58]
movsxd rax, dword [rsi + 0x90]
cmp dword [rsi + 0x94], eax
jle 0x4b8859
lea ecx, [rax + 1]
mov dword [rsi + 0x90], ecx
mov rcx, qword [rsi + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x71
mov edx, dword [rsp + 0xc8]
mov dword [rcx + rax*8 + 4], edx
mov dword [rcx + rax*8 + 8], r9d
mov dword [rcx + rax*8 + 0xc], r12d
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4b8873
mov dword [rsp + 0x20], r12d
mov rcx, rsi
mov edx, 0x71
mov r8d, dword [rsp + 0xc8]
call fcn.0047df60
mov rcx, qword [rsi]
cmp byte [rcx + 0x67], 0
jne 0x4b88c2
mov rcx, qword [rsi + 0x88]
cdqe
lea rax, [rax + rax*2]
mov byte [rcx + rax*8 + 1], 0xfd
mov dword [rcx + rax*8 + 0x10], ebx
jmp 0x4b88c2
mov dword [rsp + 0x20], r12d
mov rcx, rsi
mov edx, 0x71
mov r8d, dword [rsp + 0xc8]
call fcn.0047df60
mov rcx, qword [rsp + 0x78]
mov rdi, qword [rcx + 0x10]
mov rdx, rbx
call fcn.004c65a0
test rax, rax
je 0x4b88c2
mov rcx, qword [rdi]
cmp byte [rcx + 0x67], 0
je 0x4b88a1
mov edx, 0xfffffff8
mov r8, rax
call fcn.00444fc0
jmp 0x4b88c2
mov rcx, qword [rdi + 0x88]
mov edx, dword [rdi + 0x90]
add edx, 0xffffffff
movsxd rdx, edx
lea rdx, [rdx + rdx*2]
mov byte [rcx + rdx*8 + 1], 0xf8
mov qword [rcx + rdx*8 + 0x10], rax
lea rax, [r14 + 0x90]
mov qword [rsp + 0xe0], rax
add r14, 0x94
mov qword [rsp + 0xa0], r14
mov rax, qword [rsp + 0xe8]
mov eax, dword [rax + 0x2c]
mov ecx, eax
xor ecx, 0xfffffffb
mov dword [rsp + 0xac], 0
test ecx, eax
jne 0x4b8a80
mov rax, qword [rsp + 0x90]
cmp word [rax + 0x34], 0
js 0x4b891e
cmp dword [rsp + 0x130], 0
jne 0x4b8940
jmp 0x4b8934
cmp dword [rsp + 0x130], 0
jne 0x4b8940
cmp qword [r15], 0
jne 0x4b8940
mov al, 1
test al, al
je 0x4b8940
lea eax, [rbp - 1]
cmp eax, 2
jb 0x4b8a80
mov rax, qword [rsp + 0xe0]
mov esi, dword [rax]
mov rax, qword [rsp + 0xa0]
cmp dword [rax], esi
jle 0x4b8993
movsxd rax, esi
lea ecx, [rax + 1]
mov rdx, qword [rsp + 0x80]
mov dword [rdx + 0x90], ecx
mov rcx, qword [rdx + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x23
mov edx, dword [rsp + 0xc8]
mov dword [rcx + rax*8 + 4], edx
pxor xmm0, xmm0
movdqu xmmword [rcx + rax*8 + 8], xmm0
jmp 0x4b89ba
mov dword [rsp + 0x20], 0
mov rcx, qword [rsp + 0x80]
mov edx, 0x23
mov r8d, dword [rsp + 0xc8]
xor r9d, r9d
call fcn.0047df60
mov esi, eax
mov rax, qword [rsp + 0xe0]
mov ecx, dword [rax]
mov rax, qword [rsp + 0xa0]
mov dword [rsp + 0xac], ecx
cmp dword [rax], ecx
jle 0x4b8a14
movsxd rax, dword [rsp + 0xac]
lea ecx, [rax + 1]
mov rdx, qword [rsp + 0x80]
mov dword [rdx + 0x90], ecx
mov rcx, qword [rdx + 0x88]
lea rax, [rax + rax*2]
mov byte [rcx + rax*8], 8
pxor xmm0, xmm0
movdqu xmmword [rcx + rax*8 + 1], xmm0
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4b8a3b
mov dword [rsp + 0x20], 0
mov rcx, qword [rsp + 0x80]
mov edx, 8
xor r8d, r8d
xor r9d, r9d
call fcn.0047df60
mov dword [rsp + 0xac], eax
mov rcx, qword [rsp + 0x80]
mov eax, dword [rcx + 0x90]
mov rcx, qword [rcx]
cmp byte [rcx + 0x67], 0
je 0x4b8a5b
lea rcx, [0x0213b3e8]
jmp 0x4b8a7d
lea ecx, [rax - 1]
test esi, esi
cmovns ecx, esi
movsxd rcx, ecx
lea rcx, [rcx + rcx*2]
shl rcx, 3
mov rdx, qword [rsp + 0x80]
add rcx, qword [rdx + 0x88]
mov dword [rcx + 8], eax
cmp byte [r13 + 0x30], 0
js 0x4b8b56
mov rax, qword [rsp + 0x78]
mov rbx, qword [rax + 0x10]
cmp dword [rsp + 0xa8], 1
je 0x4b8af0
mov rax, qword [rsp + 0x78]
mov rax, qword [rax]
mov rax, qword [rax + 0x20]
movsxd rcx, dword [rsp + 0xa8]
shl rcx, 5
mov rax, qword [rax + rcx + 8]
cmp byte [rax + 0x11], 0
je 0x4b8af0
mov rsi, r13
mov r8d, dword [r13 + 0x28]
mov rax, qword [r13]
mov qword [rsp + 0x20], rax
mov rcx, qword [rsp + 0x78]
mov edx, dword [rsp + 0xa8]
xor r9d, r9d
call fcn.004c63a0
cmp byte [r13 + 0x30], 0
js 0x4b8eaa
mov rax, r13
mov r9d, dword [r13 + 0x28]
movsx esi, word [r13 + 0x38]
mov eax, dword [rbx + 0x90]
cmp dword [rbx + 0x94], eax
jle 0x4b8c10
movsxd rcx, eax
lea edx, [rcx + 1]
mov dword [rbx + 0x90], edx
mov rdx, qword [rbx + 0x88]
lea rcx, [rcx + rcx*2]
mov dword [rdx + rcx*8], 0x70
mov rdi, qword [rsp + 0xb8]
mov dword [rdx + rcx*8 + 4], edi
mov dword [rdx + rcx*8 + 8], r9d
mov edi, dword [rsp + 0xa8]
mov dword [rdx + rcx*8 + 0xc], edi
mov qword [rdx + rcx*8 + 0x10], 0
jmp 0x4b8c30
cmp r12d, 1
je 0x4b8b9f
mov rax, qword [rsp + 0x78]
mov rax, qword [rax]
mov rax, qword [rax + 0x20]
mov rcx, qword [rsp + 0x100]
mov rax, qword [rax + rcx + 8]
cmp byte [rax + 0x11], 0
je 0x4b8b9f
mov rax, qword [rsp + 0x90]
mov r8d, dword [rax + 0x28]
mov rax, qword [rax]
mov qword [rsp + 0x20], rax
mov rcx, qword [rsp + 0x78]
mov edx, r12d
mov r9b, 1
call fcn.004c63a0
mov dword [rsp + 0xf4], 0
cmp dword [rsp + 0xa8], 1
je 0x4b95bf
mov rax, qword [rsp + 0x78]
mov rax, qword [rax]
mov rax, qword [rax + 0x20]
movsxd rcx, dword [rsp + 0xa8]
shl rcx, 5
mov rax, qword [rax + rcx + 8]
cmp byte [rax + 0x11], 0
je 0x4b95bf
mov r8d, dword [r13 + 0x28]
mov rax, qword [r13]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0xf4], 0
mov rcx, qword [rsp + 0x78]
mov edx, dword [rsp + 0xa8]
xor r9d, r9d
call fcn.004c63a0
jmp 0x4b95bf
mov eax, dword [rsp + 0xa8]
mov dword [rsp + 0x20], eax
mov rcx, rbx
mov edx, 0x70
mov r8, qword [rsp + 0xb8]
call fcn.0047df60
mov rcx, qword [rbx]
cmp byte [rcx + 0x67], 0
jne 0x4b8c4f
mov rcx, qword [rbx + 0x88]
cdqe
lea rax, [rax + rax*2]
mov byte [rcx + rax*8 + 1], 0xfd
mov dword [rcx + rax*8 + 0x10], esi
mov rax, qword [rsp + 0xe0]
mov ecx, dword [rax]
mov rax, qword [rsp + 0xa0]
mov dword [rsp + 0xf4], ecx
cmp dword [rax], ecx
jle 0x4b8caf
movsxd rax, dword [rsp + 0xf4]
lea ecx, [rax + 1]
mov rdx, qword [rsp + 0x80]
mov dword [rdx + 0x90], ecx
mov rcx, qword [rdx + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x23
mov rdx, qword [rsp + 0xb8]
mov dword [rcx + rax*8 + 4], edx
pxor xmm0, xmm0
movdqu xmmword [rcx + rax*8 + 8], xmm0
jmp 0x4b8cdb
mov dword [rsp + 0x20], 0
mov rcx, qword [rsp + 0x80]
mov edx, 0x23
mov r8, qword [rsp + 0xb8]
xor r9d, r9d
call fcn.0047df60
mov dword [rsp + 0xf4], eax
mov rax, qword [rsp + 0x90]
cmp word [rax + 0x34], 0
js 0x4b8d57
mov rax, qword [rsp + 0xe0]
mov esi, dword [rax]
mov rax, qword [rsp + 0xa0]
cmp dword [rax], esi
jle 0x4b8dc7
movsxd rax, esi
lea ecx, [rax + 1]
mov rdx, qword [rsp + 0x80]
mov dword [rdx + 0x90], ecx
mov rcx, qword [rdx + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x87
mov rdx, qword [rsp + 0xb8]
mov dword [rcx + rax*8 + 4], edx
mov edx, dword [rsp + 0xd0]
mov dword [rcx + rax*8 + 8], edx
mov dword [rcx + rax*8 + 0xc], 0
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4b8df3
cmp qword [r15], 0
jne 0x4b8d76
mov rax, qword [rsp + 0xe8]
mov eax, dword [rax + 0x2c]
not eax
or eax, 0xfffffff7
cmp eax, 0xffffffff
je 0x4b93cc
mov rax, qword [rsp + 0xe0]
mov esi, dword [rax]
mov rax, qword [rsp + 0xa0]
cmp dword [rax], esi
jle 0x4b8e79
movsxd rax, esi
lea ecx, [rax + 1]
mov rdx, qword [rsp + 0x80]
mov dword [rdx + 0x90], ecx
mov rcx, qword [rdx + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x87
mov rdx, qword [rsp + 0xb8]
mov dword [rcx + rax*8 + 4], edx
jmp 0x4b90fc
mov dword [rsp + 0x20], 0
mov rcx, qword [rsp + 0x80]
mov edx, 0x87
mov r8, qword [rsp + 0xb8]
mov r9d, dword [rsp + 0xd0]
call fcn.0047df60
mov esi, eax
mov rax, qword [rsp + 0xe8]
mov eax, dword [rax + 0x2c]
mov ecx, eax
xor ecx, 0xfffffffb
test ecx, eax
jne 0x4b90b4
mov rax, qword [rsp + 0xe0]
mov r14d, dword [rax]
mov rax, qword [rsp + 0xa0]
cmp dword [rax], r14d
jle 0x4b8f29
movsxd rax, r14d
lea ecx, [rax + 1]
mov rdx, qword [rsp + 0x80]
mov dword [rdx + 0x90], ecx
mov rcx, qword [rdx + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x1e
mov edx, dword [rsp + 0xc8]
mov dword [rcx + rax*8 + 4], edx
mov dword [rcx + rax*8 + 8], 0
mov edx, dword [rsp + 0xd0]
mov dword [rcx + rax*8 + 0xc], edx
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4b8f54
mov dword [rsp + 0x20], 0
mov rcx, qword [rsp + 0x80]
mov edx, 0x87
mov r8, qword [rsp + 0xb8]
mov r9d, dword [rsp + 0xd0]
call fcn.0047df60
mov esi, eax
jmp 0x4b913c
mov rsi, qword [r13 + 0x10]
test rsi, rsi
je 0x4b8ecb
mov eax, dword [rsi + 0x64]
mov ecx, eax
xor ecx, 0xfffffffc
and ecx, eax
cmp ecx, 2
je 0x4b8ecd
mov rsi, qword [rsi + 0x28]
test rsi, rsi
jne 0x4b8eb3
xor esi, esi
mov r9d, dword [rsi + 0x58]
movsxd rax, dword [rbx + 0x90]
cmp dword [rbx + 0x94], eax
jle 0x4b9373
lea ecx, [rax + 1]
mov dword [rbx + 0x90], ecx
mov rcx, qword [rbx + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x70
mov rdx, qword [rsp + 0xb8]
mov dword [rcx + rax*8 + 4], edx
mov dword [rcx + rax*8 + 8], r9d
mov edx, dword [rsp + 0xa8]
mov dword [rcx + rax*8 + 0xc], edx
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4b9393
mov eax, dword [rsp + 0xd0]
mov dword [rsp + 0x20], eax
mov rcx, qword [rsp + 0x80]
mov edx, 0x1e
mov r8d, dword [rsp + 0xc8]
xor r9d, r9d
call fcn.0047df60
mov r14d, eax
mov rdx, qword [rsp + 0x90]
movzx eax, word [rdx + 0x34]
mov rcx, qword [rsp + 0x78]
mov rcx, qword [rcx]
mov r8, qword [rdx]
test ax, ax
js 0x4b8fe6
mov rdx, qword [rsp + 0x90]
mov rdx, qword [rdx + 8]
lea rax, [rax + rax*2]
mov r9, qword [rdx + rax*8]
lea rdx, [0x005ff166]
call fcn.00419c10
mov rdi, rax
mov rcx, qword [rsp + 0x78]
call fcn.004c6120
mov rbx, rax
cmp ebp, 2
jne 0x4b8fc1
mov rcx, qword [rsp + 0x78]
mov rax, qword [rcx + 0xa0]
test rax, rax
cmove rax, rcx
mov byte [rax + 0x21], 1
mov ebp, 2
mov qword [rsp + 0x28], rdi
mov dword [rsp + 0x30], 0xfffffffa
mov dword [rsp + 0x20], 0
mov rcx, rbx
mov edx, 0x46
mov r8d, 0x613
jmp 0x4b9046
lea rdx, [0x00604ab2]
call fcn.00419c10
mov rdi, rax
mov rcx, qword [rsp + 0x78]
call fcn.004c6120
mov rbx, rax
cmp ebp, 2
jne 0x4b9023
mov rcx, qword [rsp + 0x78]
mov rax, qword [rcx + 0xa0]
test rax, rax
cmove rax, rcx
mov byte [rax + 0x21], 1
mov ebp, 2
mov qword [rsp + 0x28], rdi
mov dword [rsp + 0x30], 0xfffffffa
mov dword [rsp + 0x20], 0
mov rcx, rbx
mov edx, 0x46
mov r8d, 0xa13
mov r9d, ebp
call fcn.004c62a0
mov eax, dword [rbx + 0x90]
test eax, eax
jle 0x4b906d
mov rcx, qword [rbx + 0x88]
add eax, 0xffffffff
lea rax, [rax + rax*2]
mov word [rcx + rax*8 + 2], 2
mov rcx, qword [rsp + 0x80]
mov eax, dword [rcx + 0x90]
mov rcx, qword [rcx]
cmp byte [rcx + 0x67], 0
je 0x4b908d
lea rcx, [0x0213b3e8]
jmp 0x4b90b1
lea ecx, [rax - 1]
test r14d, r14d
cmovns ecx, r14d
movsxd rcx, ecx
lea rcx, [rcx + rcx*2]
shl rcx, 3
mov rdx, qword [rsp + 0x80]
add rcx, qword [rdx + 0x88]
mov dword [rcx + 8], eax
cmp dword [rsp + 0xf8], 0
jle 0x4b913c
mov rax, qword [rsp + 0x78]
mov rcx, qword [rax + 0x10]
movsxd rax, dword [rcx + 0x90]
cmp dword [rcx + 0x94], eax
jle 0x4b911a
lea edx, [rax + 1]
mov dword [rcx + 0x90], edx
mov rcx, qword [rcx + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x9f
mov edx, dword [rsp + 0xf8]
mov dword [rcx + rax*8 + 4], edx
mov edx, dword [rsp + 0xd0]
mov dword [rcx + rax*8 + 8], edx
mov dword [rcx + rax*8 + 0xc], 0
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4b913c
mov dword [rsp + 0x20], 0
mov edx, 0x9f
mov r8d, dword [rsp + 0xf8]
mov r9d, dword [rsp + 0xd0]
call fcn.0047df60
mov rax, qword [rsp + 0xe8]
mov eax, dword [rax + 0x2c]
mov ecx, eax
xor ecx, 0xfffffffb
test ecx, eax
je 0x4b91a1
mov rax, qword [rsp + 0xe0]
movsxd rax, dword [rax]
mov rcx, qword [rsp + 0xa0]
cmp dword [rcx], eax
jle 0x4b91a7
lea ecx, [rax + 1]
mov rdx, qword [rsp + 0x80]
mov dword [rdx + 0x90], ecx
mov rcx, qword [rdx + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x89
mov edx, dword [rsp + 0xc8]
mov dword [rcx + rax*8 + 4], edx
pxor xmm0, xmm0
movdqu xmmword [rcx + rax*8 + 8], xmm0
jmp 0x4b91cc
mov bx, 0xa9
jmp 0x4b91d0
mov dword [rsp + 0x20], 0
mov rcx, qword [rsp + 0x80]
mov edx, 0x89
mov r8d, dword [rsp + 0xc8]
xor r9d, r9d
call fcn.0047df60
mov bx, 0x98
mov rax, qword [rsp + 0xe0]
movsxd rax, dword [rax]
mov rcx, qword [rsp + 0xa0]
cmp dword [rcx], eax
jle 0x4b9237
lea ecx, [rax + 1]
mov rdx, qword [rsp + 0x80]
mov dword [rdx + 0x90], ecx
mov rcx, qword [rdx + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x81
mov edx, dword [rsp + 0xc8]
mov dword [rcx + rax*8 + 4], edx
mov rdx, qword [rsp + 0xb8]
mov dword [rcx + rax*8 + 8], edx
mov edx, dword [rsp + 0xd0]
mov dword [rcx + rax*8 + 0xc], edx
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4b9264
mov eax, dword [rsp + 0xd0]
mov dword [rsp + 0x20], eax
mov rcx, qword [rsp + 0x80]
mov edx, 0x81
mov r8d, dword [rsp + 0xc8]
mov r9, qword [rsp + 0xb8]
call fcn.0047df60
mov rax, qword [rsp + 0xe0]
movsxd rax, dword [rax]
mov rcx, qword [rsp + 0xa0]
cmp dword [rcx], eax
jle 0x4b92ca
lea ecx, [rax + 1]
mov rdx, qword [rsp + 0x80]
mov dword [rdx + 0x90], ecx
mov rcx, qword [rdx + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], pe_nt_image_headers64
mov edx, dword [rsp + 0xc8]
mov dword [rcx + rax*8 + 4], edx
mov edx, dword [rsp + 0x108]
mov dword [rcx + rax*8 + 8], edx
mov edx, dword [rsp + 0xd0]
mov dword [rcx + rax*8 + 0xc], edx
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4b92f7
mov eax, dword [rsp + 0xd0]
mov dword [rsp + 0x20], eax
mov rcx, qword [rsp + 0x80]
mov edx, pe_nt_image_headers64
mov r8d, dword [rsp + 0xc8]
mov r9d, dword [rsp + 0x108]
call fcn.0047df60
mov rax, qword [rsp + 0xe8]
mov eax, dword [rax + 0x2c]
not eax
or eax, 0xfffffffb
cmp eax, 0xffffffff
jne 0x4b9430
mov rax, qword [rsp + 0x80]
mov rax, qword [rax]
cmp byte [rax + 0x67], 0
jne 0x4b9430
mov rax, qword [rsp + 0x80]
mov ecx, dword [rax + 0x90]
add ecx, 0xffffffff
mov rax, qword [rax + 0x88]
movsxd rcx, ecx
lea rcx, [rcx + rcx*2]
cmp byte [rax + rcx*8 + 1], 0
je 0x4b9418
lea rdx, [rax + rcx*8]
mov rcx, qword [rsp + 0x80]
mov r8, qword [rsp + 0x90]
mov r9d, 0xfffffffb
call fcn.0047e190
jmp 0x4b9430
mov eax, dword [rsp + 0xa8]
mov dword [rsp + 0x20], eax
mov rcx, rbx
mov edx, 0x70
mov r8, qword [rsp + 0xb8]
call fcn.0047df60
mov rcx, qword [rsp + 0x78]
mov rdi, qword [rcx + 0x10]
mov rdx, rsi
call fcn.004c65a0
test rax, rax
je 0x4b8c4f
mov rcx, qword [rdi]
cmp byte [rcx + 0x67], 0
je 0x4b9f6f
mov edx, 0xfffffff8
mov r8, rax
call fcn.00444fc0
jmp 0x4b8c4f
mov rax, qword [rsp + 0xe0]
mov esi, dword [rax]
mov rax, qword [rsp + 0xa0]
cmp dword [rax], esi
jle 0x4b9f95
movsxd rax, esi
lea ecx, [rax + 1]
mov rdx, qword [rsp + 0x80]
mov dword [rdx + 0x90], ecx
mov rcx, qword [rdx + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x7f
mov edx, dword [rsp + 0xc8]
jmp 0x4b90f8
lea rdx, [rax + rcx*8]
add rdx, 1
mov rbp, qword [rsp + 0x90]
mov qword [rax + rcx*8 + 0x10], rbp
mov byte [rdx], 0xfb
mov rax, qword [rsp + 0xe0]
movsxd rax, dword [rax]
test rax, rax
jle 0x4b945b
mov rcx, qword [rsp + 0x80]
mov rcx, qword [rcx + 0x88]
lea edx, [rax - 1]
lea rdx, [rdx + rdx*2]
mov word [rcx + rdx*8 + 2], bx
mov rcx, qword [rsp + 0xa0]
cmp dword [rcx], eax
jle 0x4b94ad
lea ecx, [rax + 1]
mov rdx, qword [rsp + 0x80]
mov dword [rdx + 0x90], ecx
mov rcx, qword [rdx + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x26
mov rdx, qword [rsp + 0xb8]
mov dword [rcx + rax*8 + 4], edx
mov dword [rcx + rax*8 + 8], esi
mov dword [rcx + rax*8 + 0xc], 0
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4b94d2
mov dword [rsp + 0x20], 0
mov rcx, qword [rsp + 0x80]
mov edx, 0x26
mov r8, qword [rsp + 0xb8]
mov r9d, esi
call fcn.0047df60
mov rax, qword [rsp + 0xe0]
movsxd rax, dword [rax]
mov rcx, qword [rsp + 0xa0]
cmp dword [rcx], eax
jle 0x4b9524
lea ecx, [rax + 1]
mov rdx, qword [rsp + 0x80]
mov dword [rdx + 0x90], ecx
mov rcx, qword [rdx + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x7a
mov rdx, qword [rsp + 0xb8]
mov dword [rcx + rax*8 + 4], edx
pxor xmm0, xmm0
movdqu xmmword [rcx + rax*8 + 8], xmm0
jmp 0x4b9549
mov dword [rsp + 0x20], 0
mov rcx, qword [rsp + 0x80]
mov edx, 0x7a
mov r8, qword [rsp + 0xb8]
xor r9d, r9d
call fcn.0047df60
mov rax, qword [rsp + 0xe0]
movsxd rax, dword [rax]
mov rcx, qword [rsp + 0xa0]
cmp dword [rcx], eax
jle 0x4b959a
lea ecx, [rax + 1]
mov rdx, qword [rsp + 0x80]
mov dword [rdx + 0x90], ecx
mov rcx, qword [rdx + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x7a
mov edx, dword [rsp + 0xc8]
mov dword [rcx + rax*8 + 4], edx
pxor xmm0, xmm0
movdqu xmmword [rcx + rax*8 + 8], xmm0
jmp 0x4b95bf
mov dword [rsp + 0x20], 0
mov rcx, qword [rsp + 0x80]
mov edx, 0x7a
mov r8d, dword [rsp + 0xc8]
xor r9d, r9d
call fcn.0047df60
mov rax, qword [r15]
test rax, rax
je 0x4b9d1e
mov r15, rax
mov rax, r13
add rax, 0x10
mov qword [rsp + 0x130], rax
pxor xmm6, xmm6
jmp 0x4b962a
lea ecx, [rax + 1]
mov rdx, qword [rsp + 0x80]
mov dword [rdx + 0x90], ecx
mov rcx, qword [rdx + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x7a
mov edx, dword [rsp + 0xc8]
mov dword [rcx + rax*8 + 4], edx
movdqu xmmword [rcx + rax*8 + 8], xmm6
mov rax, r15
mov rax, qword [r15 + 0x28]
mov r15, rax
test rax, rax
je 0x4b9d1e
mov rcx, qword [rsp + 0x130]
mov r14, qword [rcx]
mov rcx, r15
mov rdx, r14
call fcn.0051b5c0
lea rcx, [r14 + 0x28]
test eax, eax
je 0x4b9632
mov r9d, dword [r14 + 0x58]
mov rax, qword [rsp + 0xe0]
movsxd rax, dword [rax]
mov rcx, qword [rsp + 0xa0]
cmp dword [rcx], eax
jle 0x4b96ad
lea ecx, [rax + 1]
mov rdx, qword [rsp + 0x80]
mov dword [rdx + 0x90], ecx
mov rcx, qword [rdx + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x70
mov rdx, qword [rsp + 0xb8]
mov dword [rcx + rax*8 + 4], edx
mov dword [rcx + rax*8 + 8], r9d
mov edx, dword [rsp + 0xa8]
mov dword [rcx + rax*8 + 0xc], edx
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4b96d2
mov eax, dword [rsp + 0xa8]
mov dword [rsp + 0x20], eax
mov rcx, qword [rsp + 0x80]
mov edx, 0x70
mov r8, qword [rsp + 0xb8]
call fcn.0047df60
mov rcx, qword [rsp + 0x78]
mov rdi, qword [rcx + 0x10]
mov rdx, r14
call fcn.004c65a0
test rax, rax
je 0x4b9721
mov rcx, qword [rdi]
cmp byte [rcx + 0x67], 0
je 0x4b9700
mov edx, 0xfffffff8
mov r8, rax
call fcn.00444fc0
jmp 0x4b9721
mov rcx, qword [rdi + 0x88]
mov edx, dword [rdi + 0x90]
add edx, 0xffffffff
movsxd rdx, edx
lea rdx, [rdx + rdx*2]
mov byte [rcx + rdx*8 + 1], 0xf8
mov qword [rcx + rdx*8 + 0x10], rax
mov r9d, dword [r15 + 0x58]
mov rax, qword [rsp + 0xe0]
movsxd rax, dword [rax]
mov rcx, qword [rsp + 0xa0]
cmp dword [rcx], eax
jle 0x4b977f
lea ecx, [rax + 1]
mov rdx, qword [rsp + 0x80]
mov dword [rdx + 0x90], ecx
mov rcx, qword [rdx + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x71
mov edx, dword [rsp + 0xc8]
mov dword [rcx + rax*8 + 4], edx
mov dword [rcx + rax*8 + 8], r9d
mov dword [rcx + rax*8 + 0xc], r12d
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4b979e
mov dword [rsp + 0x20], r12d
mov rcx, qword [rsp + 0x80]
mov edx, 0x71
mov r8d, dword [rsp + 0xc8]
call fcn.0047df60
mov rcx, qword [rsp + 0x78]
mov rdi, qword [rcx + 0x10]
mov rdx, r15
call fcn.004c65a0
test rax, rax
je 0x4b97ed
mov rcx, qword [rdi]
cmp byte [rcx + 0x67], 0
je 0x4b97cc
mov edx, 0xfffffff8
mov r8, rax
call fcn.00444fc0
jmp 0x4b97ed
mov rcx, qword [rdi + 0x88]
mov edx, dword [rdi + 0x90]
add edx, 0xffffffff
movsxd rdx, edx
lea rdx, [rdx + rdx*2]
mov byte [rcx + rdx*8 + 1], 0xf8
mov qword [rcx + rdx*8 + 0x10], rax
mov rax, qword [rsp + 0xe0]
movsxd rcx, dword [rax]
mov rax, rcx
mov qword [rsp + 0x100], rcx
test rcx, rcx
jle 0x4b982d
mov rax, qword [rsp + 0x80]
mov rax, qword [rax + 0x88]
mov rcx, qword [rsp + 0x100]
add ecx, 0xffffffff
lea rcx, [rcx + rcx*2]
mov word [rax + rcx*8 + 2], 1
mov rax, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x100]
cmp dword [rax], ecx
jle 0x4b9880
mov rdx, qword [rsp + 0x100]
lea eax, [rdx + 1]
mov rcx, qword [rsp + 0x80]
mov dword [rcx + 0x90], eax
mov rax, qword [rcx + 0x88]
lea rcx, [rdx + rdx*2]
mov dword [rax + rcx*8], 0x23
mov rdx, qword [rsp + 0xb8]
mov dword [rax + rcx*8 + 4], edx
movdqu xmmword [rax + rcx*8 + 8], xmm6
jmp 0x4b98ad
mov dword [rsp + 0x20], 0
mov rcx, qword [rsp + 0x80]
mov edx, 0x23
mov r8, qword [rsp + 0xb8]
xor r9d, r9d
call fcn.0047df60
mov qword [rsp + 0x100], rax
mov rax, qword [rsp + 0xe8]
mov eax, dword [rax + 0x2c]
not eax
or eax, 0xfffffffb
cmp eax, 0xffffffff
je 0x4b991b
movzx r10d, word [r14 + 0x60]
test r10d, r10d
je 0x4b993e
mov r9, qword [r14 + 0x40]
mov r8d, r10d
xor ecx, ecx
mov rbx, qword [r9 + rcx*8]
test rbx, rbx
je 0x4b9940
xor edx, edx
jmp 0x4b98f7
lea rsi, [0x005fade0]
movzx eax, byte [rdi + rsi]
cmp al, byte [rbp + rsi]
jne 0x4b9940
add rdx, 1
lea rax, [0x005fc4bb]
movzx edi, byte [rdx + rax]
movzx ebp, byte [rbx + rdx]
cmp dil, bpl
jne 0x4b98e2
test dil, dil
jne 0x4b98f3
add rcx, 1
cmp rcx, r8
jb 0x4b98d5
jmp 0x4b9940
mov bx, 8
cmp byte [r13 + 0x30], 0
jns 0x4b999d
mov eax, dword [r15 + 0x64]
mov ecx, eax
xor ecx, 0xfffffffc
and ecx, eax
xor ebx, ebx
cmp ecx, 2
sete bl
or ebx, 8
jmp 0x4b999d
xor ecx, ecx
mov bx, 8
cmp ecx, r10d
jne 0x4b999d
mov rax, qword [rsp + 0xe0]
movsxd rax, dword [rax]
mov rcx, qword [rsp + 0xa0]
cmp dword [rcx], eax
jle 0x4b9a33
lea ecx, [rax + 1]
mov rdx, qword [rsp + 0x80]
mov dword [rdx + 0x90], ecx
mov rcx, qword [rdx + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x89
mov edx, dword [rsp + 0xc8]
mov dword [rcx + rax*8 + 4], edx
movdqu xmmword [rcx + rax*8 + 8], xmm6
jmp 0x4b9a58
mov rax, qword [rsp + 0xe0]
movsxd rax, dword [rax]
mov rcx, qword [rsp + 0xa0]
cmp dword [rcx], eax
jle 0x4b9a04
lea ecx, [rax + 1]
mov rdx, qword [rsp + 0x80]
mov dword [rdx + 0x90], ecx
mov rcx, qword [rdx + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x86
mov rdx, qword [rsp + 0xb8]
mov dword [rcx + rax*8 + 4], edx
mov edx, dword [rsp + 0x108]
mov dword [rcx + rax*8 + 8], edx
mov dword [rcx + rax*8 + 0xc], 1
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4b9aea
mov dword [rsp + 0x20], 1
mov rcx, qword [rsp + 0x80]
mov edx, 0x86
mov r8, qword [rsp + 0xb8]
mov r9d, dword [rsp + 0x108]
call fcn.0047df60
jmp 0x4b9aea
mov dword [rsp + 0x20], 0
mov rcx, qword [rsp + 0x80]
mov edx, 0x89
mov r8d, dword [rsp + 0xc8]
xor r9d, r9d
call fcn.0047df60
mov rax, qword [rsp + 0xe0]
movsxd rax, dword [rax]
mov rcx, qword [rsp + 0xa0]
cmp dword [rcx], eax
jle 0x4b9abc
lea ecx, [rax + 1]
mov rdx, qword [rsp + 0x80]
mov dword [rdx + 0x90], ecx
mov rcx, qword [rdx + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x81
mov edx, dword [rsp + 0xc8]
mov dword [rcx + rax*8 + 4], edx
mov rdx, qword [rsp + 0xb8]
mov dword [rcx + rax*8 + 8], edx
mov dword [rcx + rax*8 + 0xc], 0
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4b9ae6
mov dword [rsp + 0x20], 0
mov rcx, qword [rsp + 0x80]
mov edx, 0x81
mov r8d, dword [rsp + 0xc8]
mov r9, qword [rsp + 0xb8]
call fcn.0047df60
mov bx, 0x98
mov rax, qword [rsp + 0xe0]
movsxd rax, dword [rax]
mov rcx, qword [rsp + 0xa0]
cmp dword [rcx], eax
jle 0x4b9b4d
lea ecx, [rax + 1]
mov rdx, qword [rsp + 0x80]
mov dword [rdx + 0x90], ecx
mov rcx, qword [rdx + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x8a
mov edx, dword [rsp + 0xc8]
mov dword [rcx + rax*8 + 4], edx
mov edx, dword [rsp + 0x108]
mov dword [rcx + rax*8 + 8], edx
mov dword [rcx + rax*8 + 0xc], 0
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4b9b77
mov dword [rsp + 0x20], 0
mov rcx, qword [rsp + 0x80]
mov edx, 0x8a
mov r8d, dword [rsp + 0xc8]
mov r9d, dword [rsp + 0x108]
call fcn.0047df60
mov rax, qword [rsp + 0xe0]
movsxd rax, dword [rax]
test rax, rax
jle 0x4b9ba2
mov rcx, qword [rsp + 0x80]
mov rcx, qword [rcx + 0x88]
lea edx, [rax - 1]
lea rdx, [rdx + rdx*2]
mov word [rcx + rdx*8 + 2], bx
mov rcx, qword [rsp + 0x100]
lea r9d, [rcx + 1]
mov rcx, qword [rsp + 0xa0]
cmp dword [rcx], eax
jle 0x4b9c01
lea ecx, [rax + 1]
mov rdx, qword [rsp + 0x80]
mov dword [rdx + 0x90], ecx
mov rcx, qword [rdx + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x26
mov rdx, qword [rsp + 0xb8]
mov dword [rcx + rax*8 + 4], edx
mov dword [rcx + rax*8 + 8], r9d
mov dword [rcx + rax*8 + 0xc], 0
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4b9c23
mov dword [rsp + 0x20], 0
mov rcx, qword [rsp + 0x80]
mov edx, 0x26
mov r8, qword [rsp + 0xb8]
call fcn.0047df60
mov rcx, qword [rsp + 0x80]
mov eax, dword [rcx + 0x90]
mov rcx, qword [rcx]
cmp byte [rcx + 0x67], 0
lea rcx, [0x0213b3e8]
jne 0x4b9c6b
lea ecx, [rax - 1]
mov rdx, qword [rsp + 0x100]
test edx, edx
cmovns ecx, edx
movsxd rcx, ecx
lea rcx, [rcx + rcx*2]
shl rcx, 3
mov rdx, qword [rsp + 0x80]
add rcx, qword [rdx + 0x88]
mov dword [rcx + 8], eax
mov rcx, qword [rsp + 0xa0]
cmp dword [rcx], eax
jle 0x4b9cb4
movsxd rcx, eax
add eax, 1
mov rdx, qword [rsp + 0x80]
mov dword [rdx + 0x90], eax
mov rax, qword [rdx + 0x88]
lea rcx, [rcx + rcx*2]
mov dword [rax + rcx*8], 0x7a
mov rdx, qword [rsp + 0xb8]
mov dword [rax + rcx*8 + 4], edx
movdqu xmmword [rax + rcx*8 + 8], xmm6
jmp 0x4b9cd9
mov dword [rsp + 0x20], 0
mov rcx, qword [rsp + 0x80]
mov edx, 0x7a
mov r8, qword [rsp + 0xb8]
xor r9d, r9d
call fcn.0047df60
mov rax, qword [rsp + 0xe0]
movsxd rax, dword [rax]
mov rcx, qword [rsp + 0xa0]
cmp dword [rcx], eax
jg 0x4b95e3
mov dword [rsp + 0x20], 0
mov rcx, qword [rsp + 0x80]
mov edx, 0x7a
mov r8d, dword [rsp + 0xc8]
xor r9d, r9d
call fcn.0047df60
jmp 0x4b9617
cmp dword [rsp + 0xf4], 0
je 0x4b9d74
mov rcx, qword [rsp + 0x80]
mov eax, dword [rcx + 0x90]
mov rcx, qword [rcx]
cmp byte [rcx + 0x67], 0
je 0x4b9d48
lea rcx, [0x0213b3e8]
jmp 0x4b9d71
lea ecx, [rax - 1]
mov edx, dword [rsp + 0xf4]
test edx, edx
cmovns ecx, edx
movsxd rcx, ecx
lea rcx, [rcx + rcx*2]
shl rcx, 3
mov rdx, qword [rsp + 0x80]
add rcx, qword [rdx + 0x88]
mov dword [rcx + 8], eax
cmp dword [rsp + 0xd0], 0
je 0x4b9da6
mov rax, qword [rsp + 0x78]
movzx eax, byte [rax + 0x1f]
cmp rax, 7
ja 0x4b9da6
lea ecx, [rax + 1]
mov rdx, qword [rsp + 0x78]
mov byte [rdx + 0x1f], cl
mov ecx, dword [rsp + 0xd0]
mov dword [rdx + rax*4 + 0xd8], ecx
cmp dword [rsp + 0x108], 0
je 0x4b9dd8
mov rax, qword [rsp + 0x78]
movzx eax, byte [rax + 0x1f]
cmp rax, 7
ja 0x4b9dd8
lea ecx, [rax + 1]
mov rdx, qword [rsp + 0x78]
mov byte [rdx + 0x1f], cl
mov ecx, dword [rsp + 0x108]
mov dword [rdx + rax*4 + 0xd8], ecx
cmp dword [rsp + 0xac], 0
je 0x4b9e47
mov rax, qword [rsp + 0x78]
cmp qword [rax + 0x98], 0
je 0x4b9dfb
mov rcx, qword [rsp + 0x78]
call fcn.00515e00
mov rax, qword [rsp + 0xe0]
movsxd rax, dword [rax]
mov rcx, qword [rsp + 0xa0]
cmp dword [rcx], eax
jle 0x4b9e88
lea ecx, [rax + 1]
mov rdx, qword [rsp + 0x80]
mov dword [rdx + 0x90], ecx
mov rcx, qword [rdx + 0x88]
lea rax, [rax + rax*2]
mov byte [rcx + rax*8], 0x46
pxor xmm0, xmm0
movdqu xmmword [rcx + rax*8 + 1], xmm0
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4b9ea8
xor esi, esi
mov r13, qword [rsp + 0xb0]
mov r15, qword [rsp + 0x98]
mov r14, qword [rsp + 0xc0]
xor r12d, r12d
mov rbx, qword [rsp + 0xd8]
mov rdi, qword [rsp + 0x78]
mov r11, qword [rsp + 0x88]
cmp byte [rdi + 0x1e], 0
jne 0x4b7a1a
jmp 0x4b79f6
mov dword [rsp + 0x20], 0
mov rcx, qword [rsp + 0x80]
mov edx, 0x46
xor r8d, r8d
xor r9d, r9d
call fcn.0047df60
mov rcx, qword [rsp + 0x80]
mov eax, dword [rcx + 0x90]
mov rcx, qword [rcx]
cmp byte [rcx + 0x67], 0
je 0x4b9ec8
lea rcx, [0x0213b3e8]
jmp 0x4b9ef1
lea ecx, [rax - 1]
mov edx, dword [rsp + 0xac]
test edx, edx
cmovns ecx, edx
movsxd rcx, ecx
lea rcx, [rcx + rcx*2]
shl rcx, 3
mov rdx, qword [rsp + 0x80]
add rcx, qword [rdx + 0x88]
mov dword [rcx + 8], eax
mov rcx, qword [rsp + 0xa0]
cmp dword [rcx], eax
jle 0x4b9f3d
movsxd rcx, eax
add eax, 1
mov rdx, qword [rsp + 0x80]
mov dword [rdx + 0x90], eax
mov rax, qword [rdx + 0x88]
lea rcx, [rcx + rcx*2]
mov dword [rax + rcx*8], 0x7a
mov edx, dword [rsp + 0xc8]
mov dword [rax + rcx*8 + 4], edx
pxor xmm0, xmm0
movdqu xmmword [rax + rcx*8 + 8], xmm0
jmp 0x4b9f62
mov dword [rsp + 0x20], 0
mov rcx, qword [rsp + 0x80]
mov edx, 0x7a
mov r8d, dword [rsp + 0xc8]
xor r9d, r9d
call fcn.0047df60
mov r15, qword [rsp + 0x98]
jmp 0x4b403f
mov rcx, qword [rdi + 0x88]
mov edx, dword [rdi + 0x90]
add edx, 0xffffffff
movsxd rdx, edx
lea rdx, [rdx + rdx*2]
mov byte [rcx + rdx*8 + 1], 0xf8
mov qword [rcx + rdx*8 + 0x10], rax
jmp 0x4b8c4f
mov dword [rsp + 0x20], 0
mov rcx, qword [rsp + 0x80]
mov edx, 0x7f
mov r8d, dword [rsp + 0xc8]
jmp 0x4b8e96