Function at 0x49e470
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x218
movaps xmmword [rsp + 0x200], xmm6
mov r12, r8
mov r13, rdx
mov rbx, rcx
mov rbp, qword [rcx]
call fcn.004c6120
mov edi, 1
test r13, r13
je 0x49e644
cmp dword [rbx + 0x30], 0
jne 0x49e644
mov rsi, rax
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x1f8]
test rax, rax
je 0x49e4dc
cmp byte [rcx + 0xc5], 0
jne 0x49e4dc
cmp byte [rbx + 0x124], 0
je 0x49e662
cmp byte [r12], 6
ja 0x49e57e
mov rdi, qword [r13 + 0x48]
test rdi, rdi
je 0x49e54b
mov rcx, qword [rbx]
test rcx, rcx
je 0x49e529
mov edx, 0x18
call fcn.00429840
test rax, rax
je 0x49e538
mov rcx, qword [rbx + 0xb8]
mov qword [rax], rcx
mov qword [rbx + 0xb8], rax
mov qword [rax + 8], rdi
lea rcx, [0x0041fb70]
mov qword [rax + 0x10], rcx
jmp 0x49e543
mov ecx, 0x18
call fcn.00404550
test rax, rax
jne 0x49e507
mov rcx, qword [rbx]
mov rdx, rdi
call fcn.0047fbe0
mov qword [r13 + 0x48], 0
mov eax, dword [r13 + 4]
mov ecx, eax
xor ecx, 0x400001
and ecx, eax
mov eax, ecx
not eax
and eax, 0xb9aff898
mov edx, ecx
and edx, 0x46500767
or edx, eax
xor edx, 0xb9eff898
and ecx, 0x400000
or ecx, edx
mov dword [r13 + 4], ecx
mov qword [rsp + 0x70], rsi
xor r14d, r14d
mov rcx, rbx
mov rdx, r13
xor r8d, r8d
call fcn.004da8f0
mov edi, 1
cmp dword [rbx + 0x30], 0
je 0x49e5ce
mov ecx, dword [rbx + 0x130]
test ecx, ecx
je 0x49e63d
mov rax, qword [rbx + 0x10]
jns 0x49e5bc
mov ecx, dword [rax + 0x90]
add ecx, 0xffffffff
mov rdx, qword [rax]
cmp byte [rdx + 0x67], 0
je 0x49e627
lea rcx, [0x0213b3e8]
jmp 0x49e639
mov esi, dword [r13 + 4]
mov eax, esi
xor eax, 0xff7fffff
test eax, esi
mov qword [rsp + 0x48], rbx
je 0x49e6bb
mov rbx, qword [r13 + 0x28]
lea rcx, [rbx + 8]
mov rdx, rbx
call fcn.004e2530
test eax, eax
je 0x49e6ac
mov r8, qword [rbx + 0x20]
test r8, r8
jne 0x49e60e
mov rax, qword [rbx + 0x28]
mov r8, qword [rax]
lea rdx, [0x006041ae]
mov rbx, qword [rsp + 0x48]
mov rcx, rbx
call fcn.00419aa0
jmp 0x49e59f
movsxd rcx, ecx
lea rcx, [rcx + rcx*2]
shl rcx, 3
add rcx, qword [rax + 0x88]
mov r14d, dword [rcx + 8]
mov dword [rbx + 0x130], r14d
mov eax, edi
movaps xmm6, xmmword [rsp + 0x200]
add rsp, 0x218
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, qword [rcx + 0x200]
mov rdx, qword [rbx + 0x168]
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], 0
mov edx, 0x15
xor r8d, r8d
xor r9d, r9d
call rax
cmp eax, 1
jne 0x49e78d
lea rdx, [0x005ff140]
mov rcx, rbx
call fcn.00419aa0
mov dword [rbx + 0x18], 0x17
jmp 0x49e644
and esi, 0xff7fffff
mov dword [r13 + 4], esi
mov rbx, qword [rsp + 0x48]
mov qword [rsp + 0x80], rbp
cmp byte [r12], 9
jne 0x49e6d5
mov rcx, rbx
mov rdx, r13
call fcn.004e2630
cmp qword [r13 + 0x70], 0
mov qword [rsp + 0x58], r13
mov qword [rsp + 0xb0], r12
je 0x49f1a5
cmp qword [r13 + 0x50], 0
jne 0x49f1a5
mov eax, dword [r13 + 4]
not eax
or eax, 0xffefffff
cmp eax, 0xffffffff
jne 0x49f1a5
cmp byte [rbx + 0x124], 1
ja 0x49f1a5
mov rcx, rbx
call fcn.004c6120
mov r15, rax
mov rsi, qword [rbx]
mov rax, qword [r13 + 0x28]
mov qword [rsp + 0x50], rax
mov rax, qword [r13 + 0x30]
mov qword [rsp + 0x78], rax
mov rax, qword [r13 + 0x38]
mov qword [rsp + 0x68], rax
mov rax, qword [r13 + 0x40]
mov qword [rsp + 0x90], rax
mov r12, qword [r13 + 0x70]
mov ebp, dword [r13 + 4]
test rsi, rsi
je 0x49e7be
mov edx, 0x68
mov rcx, rsi
call fcn.00429840
test rax, rax
jne 0x49e7d1
mov rax, qword [rsi + 0x160]
test rax, rax
je 0x49e59f
mov dword [rax + 0x18], 7
add dword [rax + 0x30], 1
jmp 0x49e59f
mov ecx, eax
xor ecx, 2
test ecx, eax
je 0x49e7b1
lea rdx, [0x00602fdd]
mov rcx, rbx
call fcn.00419aa0
mov dword [rbx + 0x18], 1
jmp 0x49e644
test eax, eax
jne 0x49e644
jmp 0x49e4dc
mov ecx, 0x68
call fcn.00404550
test rax, rax
je 0x49e59f
mov qword [rsp + 0x60], rax
lea rdi, [r13 + 0x28]
xorps xmm6, xmm6
movups xmmword [rax + 0x50], xmm6
movups xmmword [rax + 0x40], xmm6
movups xmmword [rax + 0x30], xmm6
movups xmmword [rax + 0x20], xmm6
movups xmmword [rax + 0x10], xmm6
movups xmmword [rax], xmm6
mov qword [rax + 0x60], 0
movups xmmword [rsp + 0x158], xmm6
mov qword [rsp + 0x168], 0
mov qword [rsp + 0x140], rbx
lea rax, [0x004e9e00]
mov qword [rsp + 0x148], rax
lea rax, [0x004df440]
mov qword [rsp + 0x150], rax
lea rcx, [rsp + 0x140]
mov rdx, r13
call fcn.004cec80
mov eax, dword [r13 + 4]
mov ecx, eax
xor ecx, 0xfffffff7
test ecx, eax
mov qword [rsp + 0x1c8], rdi
mov dword [rsp + 0x180], ebp
je 0x49e97f
mov qword [rsp + 0xa8], rsi
mov ecx, eax
xor ecx, 0x100008
and ecx, eax
mov eax, ecx
not eax
and eax, 0x5fa8c8ed
mov edx, ecx
and edx, 0xa0573712
or edx, eax
xor edx, 0x5fb8c8ed
and ecx, 0x100000
or ecx, edx
movups xmmword [rdi + 0x10], xmm6
movups xmmword [rdi], xmm6
mov dword [r13 + 4], ecx
mov r8, qword [r12 + 0x10]
mov rsi, qword [rsp + 0x48]
mov rcx, rsi
xor edx, edx
mov r9d, 1
call fcn.004e9af0
mov r8, qword [r12 + 0x18]
mov rcx, rsi
mov rdx, rax
mov r9d, 1
call fcn.004e9af0
mov qword [rsp + 0x88], rax
test rax, rax
je 0x49ea16
mov rdi, qword [r13 + 0x48]
test rdi, rdi
je 0x49ea16
mov eax, dword [rdi]
mov rcx, qword [rsp + 0x88]
mov r14d, dword [rcx]
cmp eax, r14d
jg 0x49ea16
mov rsi, qword [rsp + 0x88]
mov dword [rsi], eax
cmp eax, dword [rdi]
jne 0x49ea0e
test eax, eax
jle 0x49e9f6
mov ebp, 0x18
xor ebx, ebx
movzx eax, byte [rsi + rbp]
cmp al, byte [rdi + rbp]
jne 0x49ea0e
mov r8, qword [rdi + rbp - 0x10]
mov rdx, qword [rsi + rbp - 0x10]
xor ecx, ecx
mov r9d, 0xffffffff
call fcn.004cf220
test eax, eax
jne 0x49ea0e
add rbx, 1
movsxd rax, dword [rsi]
add rbp, 0x20
cmp rbx, rax
jl 0x49e929
mov rdi, qword [r13 + 0x48]
test rdi, rdi
mov rcx, qword [rsp + 0xa8]
jne 0x49e9fe
jmp 0x49ea06
lea rcx, [0x004e9ab0]
mov qword [rsp + 0x148], rcx
mov qword [rsp + 0x150], 0
mov rbx, qword [r13 + 0x48]
test rbx, rbx
je 0x49e866
mov ebp, dword [rbx]
test ebp, ebp
jle 0x49e866
add rbx, 8
lea edi, [rbp + 1]
lea r14, [rsp + 0x140]
jmp 0x49e9d1
add ebp, 0xffffffff
add rbx, 0x20
add edi, 0xffffffff
cmp edi, 1
jle 0x49e9e5
mov rdx, qword [rbx]
test rdx, rdx
je 0x49e9c2
mov rcx, r14
call fcn.004cea30
test eax, eax
je 0x49e9c2
mov eax, dword [r13 + 4]
mov rdi, qword [rsp + 0x1c8]
jmp 0x49e866
mov rcx, qword [rsp + 0xa8]
mov rdx, rdi
call fcn.0047fbe0
mov qword [r13 + 0x48], 0
mov dword [rsi], r14d
mov rsi, qword [rsp + 0x48]
mov eax, dword [rsi + 0x34]
mov dword [r12 + 0x58], eax
add eax, 4
mov dword [rsi + 0x34], eax
mov rbx, qword [r13 + 0x20]
xorps xmm6, xmm6
movups xmmword [rsp + 0xf8], xmm6
mov qword [rsp + 0x1b8], 0
mov qword [rsp + 0x1a8], 0
mov qword [rsp + 0x198], r12
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x1a0], rax
mov r14, qword [rsp + 0x60]
mov qword [rsp + 0x1b0], r14
mov qword [rsp + 0xe0], rsi
lea rax, [0x004e9f20]
mov qword [rsp + 0xe8], rax
lea rax, [0x004ea1a0]
mov qword [rsp + 0xf0], rax
lea rax, [rsp + 0x198]
mov qword [rsp + 0x108], rax
test rbx, rbx
je 0x49eaec
mov ebp, dword [rbx]
test ebp, ebp
jle 0x49eaec
add rbx, 8
lea esi, [rbp + 1]
lea rdi, [rsp + 0xe0]
jmp 0x49eace
add ebp, 0xffffffff
add rbx, 0x20
add esi, 0xffffffff
cmp esi, 1
jle 0x49eae2
mov rdx, qword [rbx]
test rdx, rdx
je 0x49eabf
mov rcx, rdi
call fcn.004cea30
test eax, eax
je 0x49eabf
mov rdx, qword [rsp + 0x1a8]
jmp 0x49eaee
xor edx, edx
mov rbx, qword [r13 + 0x48]
movups xmmword [rsp + 0xf8], xmm6
mov qword [rsp + 0x1b8], 0
mov qword [rsp + 0x1a8], rdx
mov qword [rsp + 0x198], r12
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x1a0], rax
mov qword [rsp + 0x1b0], r14
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0xe0], rax
lea rax, [0x004e9f20]
mov qword [rsp + 0xe8], rax
lea rax, [0x004ea1a0]
mov qword [rsp + 0xf0], rax
lea rax, [rsp + 0x198]
mov qword [rsp + 0x108], rax
test rbx, rbx
je 0x49ebad
mov ebp, dword [rbx]
test ebp, ebp
jle 0x49ebad
add rbx, 8
lea esi, [rbp + 1]
lea rdi, [rsp + 0xe0]
jmp 0x49eb91
add ebp, 0xffffffff
add rbx, 0x20
add esi, 0xffffffff
cmp esi, 1
jle 0x49eba5
mov rdx, qword [rbx]
test rdx, rdx
je 0x49eb82
mov rcx, rdi
call fcn.004cea30
test eax, eax
je 0x49eb82
mov rdx, qword [rsp + 0x1a8]
test rdx, rdx
je 0x49ebb6
mov eax, dword [rdx]
jmp 0x49ebb8
xor eax, eax
mov rsi, qword [rsp + 0x48]
mov dword [r12 + 0x78], eax
mov r8, qword [r12 + 0x10]
mov rcx, rsi
xor r9d, r9d
call fcn.004e9af0
mov r8, qword [r12 + 0x18]
mov rcx, rsi
mov rdx, rax
xor r9d, r9d
call fcn.004e9af0
mov r14, rax
test r12, r12
je 0x49ee11
xorps xmm6, xmm6
lea rdi, [rsp + 0xe0]
mov r13, r12
jmp 0x49ec41
lea ecx, [rax + 1]
mov dword [r15 + 0x90], ecx
mov rcx, qword [r15 + 0x88]
lea rax, [rax + rax*2]
mov qword [rcx + rax*8], 0x4b
mov dword [rcx + rax*8 + 8], r9d
mov dword [rcx + rax*8 + 0xc], 0
mov qword [rcx + rax*8 + 0x10], 0
mov r13, qword [r13 + 0x40]
test r13, r13
je 0x49ee11
mov rax, qword [r13 + 0x50]
mov rcx, qword [r13 + 0x70]
mov rbp, qword [rcx + 0x20]
mov eax, dword [rax + 4]
not eax
or eax, 0xffefffff
cmp eax, 0xffffffff
je 0x49ed22
lea rax, [rsp + 0xf8]
movups xmmword [rax], xmm6
mov qword [rsp + 0x1b8], 0
mov qword [rsp + 0x1a8], r14
mov qword [rsp + 0x198], r12
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x1a0], rax
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x1b0], rax
mov qword [rsp + 0xe0], rsi
lea rax, [0x004e9f20]
mov qword [rsp + 0xe8], rax
lea rax, [0x004ea1a0]
mov qword [rsp + 0xf0], rax
lea rax, [rsp + 0x198]
mov qword [rsp + 0x108], rax
test rbp, rbp
je 0x49ed18
mov ebx, dword [rbp]
test ebx, ebx
jle 0x49ed18
add rbp, 8
lea esi, [rbx + 1]
jmp 0x49ecfb
add ebx, 0xffffffff
add rbp, 0x20
add esi, 0xffffffff
cmp esi, 1
jle 0x49ed10
mov rdx, qword [rbp]
test rdx, rdx
je 0x49ecec
mov rcx, rdi
call fcn.004cea30
test eax, eax
je 0x49ecec
mov r14, qword [rsp + 0x1a8]
test r14, r14
je 0x49ed2c
mov eax, dword [r14]
jmp 0x49ed2e
test r14, r14
je 0x49ed41
mov eax, dword [r14]
jmp 0x49ed43
xor eax, eax
mov rsi, qword [rsp + 0x48]
mov dword [r13 + 0x7c], eax
mov byte [r13 + 0x8c], 1
jmp 0x49ed5b
xor eax, eax
mov dword [r13 + 0x7c], eax
mov rcx, rsi
mov rdx, r14
mov r8, rbp
xor r9d, r9d
call fcn.004e9af0
mov r14, rax
mov rdx, qword [r13 + 0x48]
test rdx, rdx
je 0x49edc3
mov rcx, qword [rsp + 0xa8]
xor r8d, r8d
xor r9d, r9d
call fcn.004d3ed0
test r14, r14
je 0x49eda5
movsxd rcx, dword [r14]
cmp dword [r14 + 4], ecx
jle 0x49edb2
lea edx, [rcx + 1]
mov dword [r14], edx
shl rcx, 5
movups xmmword [r14 + rcx + 0x10], xmm6
mov qword [r14 + rcx + 0x20], 0
mov qword [r14 + rcx + 8], rax
jmp 0x49edc3
mov rcx, qword [rsi]
mov rdx, rax
call fcn.0050cd80
jmp 0x49edc0
mov rcx, qword [rsi]
mov rdx, r14
mov r8, rax
call fcn.0050ce50
mov r14, rax
mov eax, dword [rsi + 0x38]
lea r9d, [rax + 1]
mov dword [r13 + 0x5c], r9d
add eax, 2
mov dword [rsi + 0x38], eax
mov dword [r13 + 0x60], eax
movsxd rax, dword [r15 + 0x90]
cmp dword [r15 + 0x94], eax
jg 0x49ec01
mov dword [rsp + 0x20], 0
mov rcx, r15
mov edx, 0x4b
xor r8d, r8d
call fcn.0047df60
mov r13, qword [r13 + 0x40]
test r13, r13
jne 0x49ec41
test r14, r14
mov r12, qword [rsp + 0xb0]
mov r13, qword [rsp + 0x58]
jne 0x49eed5
mov dword [rsp + 0xe0], 0
lea rcx, [0x00602f63]
lea rdx, [rsp + 0xe0]
call fcn.0047a900
mov edi, eax
xor eax, eax
test edi, edi
sete al
lea rdx, [rax + rax]
add rdx, 0x48
mov rcx, qword [rsp + 0xa8]
call fcn.00429840
test rax, rax
je 0x49eec7
xorps xmm0, xmm0
movups xmmword [rax], xmm0
movups xmmword [rax + 0x30], xmm0
movups xmmword [rax + 0x20], xmm0
movups xmmword [rax + 0x10], xmm0
mov qword [rax + 0x40], 0
mov byte [rax], 0x9b
mov word [rax + 0x32], 0xffff
test edi, edi
je 0x49eeaf
mov ecx, dword [rsp + 0xe0]
xor edx, edx
test ecx, ecx
sete dl
shl edx, 0x1c
add edx, 0x10800800
mov dword [rax + 4], edx
mov dword [rax + 8], ecx
jmp 0x49eec0
mov rcx, rax
add rcx, 0x48
mov qword [rax + 8], rcx
mov word [rax + 0x48], 0x30
mov dword [rax + 0x28], 1
mov rcx, qword [rsi]
mov rdx, rax
call fcn.0050cd80
mov r14, rax
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x40], 0
mov dword [rsp + 0x38], 0
mov rcx, rsi
mov rdx, r14
mov r8, qword [rsp + 0x50]
mov r9, qword [rsp + 0x78]
call fcn.004aa3b0
mov rdi, rax
mov rcx, qword [rsi]
mov edx, 0x70
call fcn.00429840
test rax, rax
je 0x49f0de
movabs rcx, 0x100000001
mov qword [rax], rcx
xorps xmm6, xmm6
movups xmmword [rax + 0x48], xmm6
movups xmmword [rax + 8], xmm6
movups xmmword [rax + 0x18], xmm6
movups xmmword [rax + 0x28], xmm6
movups xmmword [rax + 0x38], xmm6
movups xmmword [rax + 0x58], xmm6
mov qword [rax + 0x68], 0
mov dword [rax + 0x4c], 0xffffffff
movups xmmword [rax + 0x10], xmm6
mov r15, qword [rsp + 0x1c8]
mov qword [r15], rax
mov qword [rax + 0x30], rdi
mov rcx, rsi
mov rdx, rax
call fcn.004ddc30
mov eax, dword [rdi + 4]
mov ecx, eax
not ecx
and ecx, 0x71d79892
mov edx, eax
and edx, 0x8e28676d
or edx, ecx
xor edx, 0x79d798d2
and eax, 0x8000040
or eax, edx
mov dword [rdi + 4], eax
mov rcx, rsi
mov rdx, rdi
mov r8b, 0x40
call fcn.004d5000
mov rbp, rax
mov ecx, dword [rsp + 0x180]
mov eax, ecx
xor eax, 0xfffffff7
and eax, ecx
mov ecx, dword [rdi + 4]
mov edx, ecx
not edx
mov ebx, eax
not ebx
mov esi, edx
and esi, 0x995ab34d
and ecx, 0x66a54cb2
or ecx, esi
or edx, ebx
and ebx, 0x995ab34d
and eax, 0x66a54cb2
or eax, ebx
xor eax, ecx
not edx
or edx, eax
mov dword [rdi + 4], edx
test rbp, rbp
mov r14d, 0
je 0x49f113
movups xmm0, xmmword [rbp]
movups xmm1, xmmword [rbp + 0x10]
movups xmm2, xmmword [rbp + 0x20]
movups xmm3, xmmword [rbp + 0x30]
mov rbx, qword [rsp + 0x60]
movups xmmword [rbx + 0x30], xmm3
mov rax, qword [rbp + 0x60]
mov qword [rbx + 0x60], rax
movups xmm3, xmmword [rbp + 0x50]
movups xmmword [rbx + 0x50], xmm3
movups xmm3, xmmword [rbp + 0x40]
movups xmmword [rbx + 0x40], xmm3
movups xmmword [rbx + 0x20], xmm2
movups xmmword [rbx + 0x10], xmm1
movups xmmword [rbx], xmm0
mov eax, dword [rbx + 0x30]
mov ecx, eax
not ecx
and ecx, 0x2d6c5366
mov edx, eax
and edx, 0xd293ac99
or edx, ecx
xor edx, 0x2d6c1366
and eax, 0x4000
or eax, edx
mov dword [rbx + 0x30], eax
mov rax, qword [r15]
mov qword [rax + 0x28], rbx
movaps xmmword [rsp + 0x140], xmm6
movaps xmmword [rsp + 0x150], xmm6
movaps xmmword [rsp + 0x160], xmm6
lea rax, [0x004e9dc0]
mov qword [rsp + 0x148], rax
lea rax, [0x004e9de0]
mov qword [rsp + 0x150], rax
lea rax, [0x004e9df0]
mov qword [rsp + 0x158], rax
lea rcx, [rsp + 0x140]
mov rdx, rdi
call fcn.004cec80
mov sil, 1
mov qword [rsp + 0x60], rbp
jmp 0x49f115
mov rax, qword [rsp + 0x1c8]
mov qword [rax], 0
mov sil, 1
test rdi, rdi
mov r14d, 0
je 0x49f115
mov rcx, qword [rsp + 0xa8]
mov rdx, rdi
mov r8d, 1
call fcn.00468620
jmp 0x49f115
xor esi, esi
mov rax, qword [rsp + 0xa8]
mov bl, byte [rax + 0x67]
mov rax, qword [rsp + 0x48]
mov rcx, qword [rax]
test rcx, rcx
je 0x49f139
mov edx, 0x18
call fcn.00429840
jmp 0x49f143
mov ecx, 0x18
call fcn.00404550
test rax, rax
je 0x49f174
mov rdx, qword [rsp + 0x48]
mov rcx, qword [rdx + 0xb8]
mov qword [rax], rcx
mov qword [rdx + 0xb8], rax
mov rcx, qword [rsp + 0x60]
mov qword [rax + 8], rcx
lea rcx, [fcn.00408130]
mov qword [rax + 0x10], rcx
jmp 0x49f186
mov rax, qword [rsp + 0x48]
mov rcx, qword [rax]
mov rdx, qword [rsp + 0x60]
call fcn.00408130
test bl, bl
sete al
xor al, sil
not al
and al, sil
mov edi, 1
cmp al, 1
mov rbx, qword [rsp + 0x48]
jne 0x49e59f
mov rbp, qword [r13 + 0x28]
mov ecx, dword [r13 + 4]
xorps xmm6, xmm6
movups xmmword [rsp + 0x1b0], xmm6
movups xmmword [rsp + 0x1a0], xmm6
mov qword [rsp + 0x1c0], 0
lea rax, [r13 + 0x48]
mov qword [rsp + 0xa8], rax
mov rax, qword [r13 + 0x48]
mov qword [rsp + 0x198], rax
mov r14, qword [r13 + 0x50]
test r14, r14
je 0x49f29d
mov rsi, qword [rbx]
mov rax, qword [r12 + 0x20]
mov qword [rsp + 0x100], rax
movups xmm0, xmmword [r12]
movups xmm1, xmmword [r12 + 0x10]
movaps xmmword [rsp + 0xf0], xmm1
movaps xmmword [rsp + 0xe0], xmm0
mov rcx, rbx
call fcn.004c6120
mov r15, rax
mov r13b, byte [rsp + 0xe0]
cmp r13b, 0xc
jne 0x4a07b4
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0x20]
mov r8d, dword [rsp + 0xe4]
mov r9d, dword [rax]
movsxd rax, dword [r15 + 0x90]
cmp dword [r15 + 0x94], eax
jle 0x4a0794
lea ecx, [rax + 1]
mov dword [r15 + 0x90], ecx
mov rcx, qword [r15 + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x76
mov dword [rcx + rax*8 + 4], r8d
mov dword [rcx + rax*8 + 8], r9d
mov dword [rcx + rax*8 + 0xc], 0
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4a07a9
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x60], rax
shr ecx, 3
and ecx, 1
mov dword [rsp + 0x68], ecx
movabs rax, 0x84e6e2d20129601c
movabs rcx, 0x4f9c5416f9c91bac
movabs rdx, 0x4bff3e98089f4608
movabs rdi, 0x366312029078ed5b
mov esi, 0xfffffffe
add esi, 0xfffffffa
not esi
mov qword [rsp + 0xd0], rsi
movabs rsi, 0x7fffffffffffffc
and rsi, rdx
mov qword [rsp + 0x90], rsi
movabs rdx, 0x7fffffffffffffa
and rdx, rcx
mov qword [rsp + 0x88], rdx
movabs rcx, 0x7fffffffffffff9
and rcx, rdi
mov qword [rsp + 0x1c8], rcx
movabs rcx, 0x7fffffffffffff8
and rcx, rax
mov qword [rsp + 0x180], rcx
xor edi, edi
nop word cs:[rax + rax]
nop dword [rax + rax]
mov eax, dword [rbp]
cmp edi, eax
jge 0x4a09c6
movsxd rax, edi
mov qword [rsp + 0x50], rax
imul r15, rax, 0x68
mov rax, rbp
mov r14, qword [rbp + r15 + 0x28]
mov rsi, qword [rbp + r15 + 0x30]
mov al, byte [rbp + r15 + 0x44]
mov ecx, eax
xor cl, 0xe7
and cl, al
cmp cl, 8
jne 0x49f3e0
mov rcx, qword [r13 + 0x30]
mov edx, dword [rbp + r15 + 0x4c]
call fcn.004cff60
test eax, eax
je 0x49f3e0
mov rax, qword [rsp + 0x80]
mov eax, dword [rax + 0x60]
mov ecx, eax
xor ecx, 0xffffdfff
test ecx, eax
jne 0x49f3e0
mov rbx, rbp
lea rax, [r15 + rbp]
add rax, 0x44
and byte [rax], 0xd7
mov rcx, qword [r13 + 0x30]
mov edx, dword [rax + 8]
mov bl, byte [rbp + 0x44]
mov eax, ebx
xor al, 0xbf
and al, bl
mov rbx, qword [rsp + 0x48]
movzx r8d, al
call fcn.004e2c20
nop
test rsi, rsi
je 0x49f4fb
movsx r8d, word [r14 + 0x36]
mov rax, qword [rsi + 0x20]
mov eax, dword [rax]
cmp eax, r8d
jne 0x4a0c07
mov eax, dword [rsi + 4]
not eax
mov ecx, eax
or ecx, 0xfffffff7
cmp ecx, 0xffffffff
jne 0x49f4fb
mov rdx, qword [rsi + 0x48]
test rdx, rdx
je 0x49f482
mov rcx, qword [rsp + 0xa8]
cmp qword [rcx], 0
jne 0x49f42d
cmp dword [rbp], 2
jl 0x49f47a
cmp qword [rsi + 0x60], 0
setne cl
or eax, 0xf7ffffff
cmp eax, 0xffffffff
sete bl
cmp bl, cl
mov rbx, qword [rsp + 0x48]
je 0x49f47a
not eax
test eax, eax
jne 0x49f47a
mov eax, dword [r13 + 4]
mov ecx, eax
xor ecx, 0xf7ffffff
test ecx, eax
jne 0x49f47a
mov rax, qword [rsp + 0x80]
mov eax, dword [rax + 0x60]
mov ecx, eax
xor ecx, 0xfffbffff
test ecx, eax
je 0x49f5ad
test edi, edi
je 0x49f514
mov rbp, qword [rbx]
mov eax, dword [rbp + 0x60]
mov ecx, eax
xor ecx, 0xfffffffe
test ecx, eax
jne 0x49f4bb
mov rcx, qword [rsp + 0x58]
cmp qword [rcx + 0x70], 0
jne 0x49f4bb
mov rcx, qword [rsp + 0x58]
mov rcx, qword [rcx + 0x28]
mov qword [rsp + 0x78], rcx
mov rsi, qword [rcx + r15 + 0x30]
cmp qword [rsi + 0x70], 0
je 0x49f545
mov rax, qword [rsp + 0x80]
cmp byte [rax + 0x67], 0
mov rbx, qword [rsp + 0x48]
mov r13, qword [rsp + 0x58]
mov r14d, 0
jne 0x4a2f95
mov rbp, qword [r13 + 0x28]
cmp byte [r12], 9
jb 0x49f4fb
mov rax, qword [rsp + 0xa8]
mov rax, qword [rax]
mov qword [rsp + 0x198], rax
mov eax, edi
add eax, 1
mov r14, qword [r13 + 0x50]
mov edi, eax
test r14, r14
je 0x49f350
jmp 0x49f1f1
mov eax, dword [r13 + 4]
mov ecx, eax
xor ecx, 0xfffbffff
test ecx, eax
je 0x49f482
xor eax, eax
cmp dword [rbp], 1
je 0x49f4fd
mov cl, byte [rbp + 0xac]
not cl
or cl, 0xdd
cmp cl, 0xff
jne 0x49f4fd
jmp 0x49f482
mov rcx, qword [rsp + 0x48]
mov rcx, qword [rcx + 0x168]
mov qword [rsp + 0xa0], rcx
mov rcx, qword [rsp + 0x78]
mov r14d, dword [rcx + r15 + 0x4c]
mov r10, qword [rsi + 0x28]
mov rcx, qword [rsi + 0x60]
test rcx, rcx
je 0x49f5c7
mov rdx, qword [rsp + 0x58]
cmp qword [rdx + 0x60], 0
jne 0x49f4bb
cmp qword [rcx + 0x18], 0
jne 0x49f4bb
mov rdx, qword [rsp + 0x58]
mov edx, dword [rdx + 4]
mov dword [rsp + 0xb8], edx
not edx
or edx, 0xfffffeff
cmp edx, 0xffffffff
jne 0x49f4bb
jmp 0x49f5d6
mov rcx, qword [rsp + 0x80]
call fcn.0047fbe0
mov qword [rsi + 0x48], 0
jmp 0x49f482
mov rdx, qword [rsp + 0x58]
mov edx, dword [rdx + 4]
mov dword [rsp + 0xb8], edx
mov r11d, dword [r10]
test r11d, r11d
je 0x49f4bb
mov ebx, dword [rsi + 4]
mov edx, ebx
xor edx, 0xfffffffe
test edx, ebx
jne 0x49f4bb
test rcx, rcx
je 0x49f63b
cmp dword [rsp + 0x68], 0
setne byte [rsp + 0xc0]
sete r8b
mov rdx, qword [rsp + 0x78]
mov r13d, dword [rdx]
cmp r13d, 1
setg r9b
cmp r13d, 2
setl r13b
cmp byte [rsp + 0xc0], r9b
jne 0x49f4bb
or r8b, r13b
xor r8b, 1
jne 0x49f4bb
mov rdx, qword [rsp + 0xa8]
mov r8, qword [rdx]
test r8, r8
je 0x49f656
cmp qword [rsi + 0x48], 0
jne 0x49f4bb
cmp dword [rsp + 0x68], 0
je 0x49f668
cmp qword [rsi + 0x48], 0
jne 0x49f4bb
test rcx, rcx
je 0x49f69b
mov edx, dword [rsp + 0xb8]
mov ecx, edx
xor ecx, 0xfffffffe
test ecx, edx
jne 0x49f4bb
mov rcx, qword [rsp + 0x58]
cmp qword [rcx + 0x30], 0
jne 0x49f4bb
mov cl, 1
test cl, cl
je 0x49f4bb
mov ecx, ebx
xor ecx, 0xffffdfff
test ecx, ebx
jne 0x49f4bb
mov dword [rsp + 0x190], r14d
mov rcx, qword [rsp + 0x78]
movzx r13d, byte [rcx + r15 + 0x44]
mov ecx, r13d
xor ecx, 0x9f
test ecx, r13d
je 0x49f75d
cmp dword [rsp + 0x68], 0
setne dl
cmp r11d, 1
setg cl
test dl, cl
mov r12, qword [rsp + 0xb0]
jne 0x49f4bb
xor dl, cl
jne 0x49f4bb
mov rcx, qword [r10 + 0x28]
cmp byte [rcx + 0x3f], 1
je 0x49f4bb
mov ecx, dword [rsp + 0xb8]
not ecx
or ecx, 0xfffffffe
mov edx, r13d
xor edx, 0xef
and edx, r13d
mov ebx, edx
not ebx
mov r9d, ebx
or ebx, ecx
not ecx
and r9d, 0xd3e59da2
and edx, 0x5d
or edx, r9d
or ecx, 0xd3e59da2
xor ecx, edx
not ebx
or ebx, ecx
jne 0x49f4bb
mov dword [rsp + 0x1e0], 1
mov cl, 1
mov dword [rsp + 0xd8], ecx
jmp 0x49f773
mov dword [rsp + 0xd8], 0
mov dword [rsp + 0x1e0], 0
test edi, edi
mov r12, qword [rsp + 0xb0]
jle 0x49f790
mov cl, byte [r10 + 0x44]
mov edx, ecx
xor dl, 0xbf
test dl, cl
jne 0x49f4bb
mov rcx, qword [rsp + 0x78]
mov ebx, dword [rcx + r15 + 0x48]
mov ecx, ebx
xor ecx, 0xfffffeff
test ecx, ebx
je 0x49f7ba
mov rcx, qword [rsp + 0x78]
mov rcx, qword [rcx + r15 + 0x68]
cmp byte [rcx + 0x12], 0
je 0x49f4bb
cmp r11d, 2
jl 0x49f82c
add r11d, 0xffffffff
imul rcx, r11, 0x68
mov dl, byte [r10 + rcx + 0x44]
mov ecx, edx
xor cl, 0xdf
test cl, dl
je 0x49f82c
mov r10d, r13d
xor r10b, 0xfb
and r10b, r13b
sete cl
mov edx, ebx
xor edx, 0xfffffbff
test edx, ebx
setne dl
cmp cl, dl
je 0x49f4bb
test r10b, r10b
jne 0x49f4bb
mov rcx, qword [rsp + 0x78]
cmp qword [rcx + r15 + 0x50], 0
setne dl
mov ecx, ebx
xor ecx, 0xfffff7ff
and ecx, ebx
sete bl
cmp bl, dl
je 0x49f4bb
test ecx, ecx
jne 0x49f4bb
cmp qword [rsi + 0x50], 0
je 0x49f9e7
cmp dword [rsp + 0x68], 0
sete cl
setne bl
cmp qword [rsi + 0x48], 0
sete r9b
setne dl
xor dl, bl
mov r12, qword [rsp + 0xb0]
jne 0x49f4bb
or cl, r9b
xor cl, 1
jne 0x49f4bb
mov ecx, dword [rsp + 0xb8]
not ecx
mov r9d, ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
setne dl
sete cl
cmp dl, byte [rsp + 0xd8]
jne 0x49f4bb
mov edx, dword [rsp + 0xd8]
xor dl, 1
or cl, dl
xor cl, 1
jne 0x49f4bb
mov rcx, rsi
test rcx, rcx
je 0x49f8f3
mov edx, dword [rcx + 4]
not edx
or edx, 0xfffffff6
cmp edx, 0xffffffff
mov r12, qword [rsp + 0xb0]
jne 0x49f4bb
mov rdx, qword [rcx + 0x50]
test rdx, rdx
je 0x49f8d7
cmp byte [rcx], 0x87
jne 0x49f4bb
mov rbx, qword [rcx + 0x28]
cmp dword [rbx], 0
jle 0x49f4bb
cmp qword [rcx + 0x70], 0
mov rcx, rdx
je 0x49f8a7
jmp 0x49f4bb
test r8, r8
je 0x49f92a
mov r10d, dword [r8]
test r10d, r10d
jle 0x49f92a
shl r10, 5
xor edx, edx
xor ecx, ecx
cmp word [r8 + rdx + 0x20], 0
mov r12, qword [rsp + 0xb0]
je 0x49f4bb
add rcx, 1
add rdx, 0x20
cmp r10, rdx
jne 0x49f908
or r9d, 0xffffdfff
cmp r9d, 0xffffffff
mov r12, qword [rsp + 0xb0]
jne 0x49f4bb
mov rcx, qword [rsp + 0x78]
cmp dword [rcx], 2
jl 0x49f9e7
not eax
or eax, 0xff7fffff
cmp eax, 0xffffffff
mov r12, qword [rsp + 0xb0]
jne 0x49f4bb
mov rax, qword [rsp + 0x48]
cmp dword [rax + 0x84], 0x1f4
jg 0x49f4bb
mov al, 1
test al, al
je 0x49f4bb
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 0x34]
lea r14, [rax*4 + 4]
test rbp, rbp
je 0x49f9ab
mov rcx, rbp
mov rdx, r14
call fcn.00429840
jmp 0x49f9b3
mov rcx, r14
call fcn.00404550
mov qword [rsp + 0x98], rax
cmp qword [rsp + 0x98], 0
je 0x49f9e7
mov rbx, qword [rsp + 0x98]
mov rcx, rbx
xor edx, edx
mov r8, r14
call fcn.005f4c10
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 0x34]
mov dword [rbx], eax
jmp 0x49f9f1
xor eax, eax
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x78]
lea rcx, [rax + r15]
add rcx, 0x30
mov qword [rsp + 0xc8], rcx
mov rdx, qword [rax + r15 + 0x18]
mov rax, qword [rsp + 0x48]
mov qword [rax + 0x168], rdx
mov rcx, qword [rax]
mov rax, qword [rcx + 0x1f8]
test rax, rax
je 0x49faaa
cmp byte [rcx + 0xc5], 0
jne 0x49faaa
mov rbx, qword [rsp + 0x48]
cmp byte [rbx + 0x124], 0
jne 0x49faaa
mov rcx, qword [rcx + 0x200]
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], 0
mov edx, 0x15
xor r8d, r8d
xor r9d, r9d
call rax
cmp eax, 1
jne 0x49fa85
mov rbx, qword [rsp + 0x48]
mov rcx, rbx
lea rdx, [0x005ff140]
call fcn.00419aa0
mov dword [rbx + 0x18], 0x17
jmp 0x49faaa
not eax
or eax, 2
cmp eax, 0xffffffff
je 0x49faaa
mov rbx, qword [rsp + 0x48]
mov rcx, rbx
lea rdx, [0x00602fdd]
call fcn.00419aa0
mov dword [rbx + 0x18], 1
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0xa0]
mov qword [rax + 0x168], rcx
mov r12, qword [rsp + 0xc8]
mov rax, qword [r12]
mov qword [rsp + 0x1e8], rax
mov rbx, qword [rsp + 0x78]
mov rdx, qword [rbx + r15 + 0x10]
mov rcx, rbp
call fcn.00408130
mov rdx, qword [r12 - 0x18]
mov rcx, rbp
call fcn.00408130
mov rdx, qword [rbx + r15 + 0x20]
mov rcx, rbp
call fcn.00408130
mov qword [r12], 0
movups xmmword [rbx + r15 + 0x10], xmm6
mov qword [rbx + r15 + 0x20], 0
mov r13, qword [rsi + 0x50]
test r13, r13
je 0x49fd7a
mov rax, qword [rsp + 0x78]
add rax, r15
add rax, 0x28
mov qword [rsp + 0xc0], rax
cmp qword [rsp + 0x98], 0
je 0x49fca4
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0x50]
mov qword [rsp + 0xa0], rax
jmp 0x49fb76
mov rsi, qword [rsp + 0xa0]
mov rax, qword [rsp + 0x58]
mov qword [rax + 0x50], rsi
mov r13, qword [r13 + 0x50]
test r13, r13
je 0x49fd7a
mov rbx, qword [rsp + 0x58]
mov rsi, qword [rbx + 0x48]
mov r12, qword [rbx + 0x60]
mov r14, qword [rsp + 0xc0]
mov rax, qword [r14]
mov qword [rsp + 0xb8], rax
mov qword [r14], 0
mov qword [rbx + 0x60], 0
mov rax, qword [rsp + 0xa8]
movups xmmword [rax], xmm6
mov rcx, rbp
mov rdx, rbx
xor r8d, r8d
call fcn.004d2d20
mov qword [rbx + 0x60], r12
mov qword [rbx + 0x48], rsi
mov byte [rbx], 0x87
mov rcx, qword [rsp + 0xb8]
mov qword [r14], rcx
test rax, rax
je 0x49fb58
mov rsi, rax
mov rcx, qword [rsp + 0x48]
mov eax, dword [rcx + 0x84]
add eax, 1
mov dword [rcx + 0x84], eax
mov dword [rsi + 0x10], eax
cmp byte [rbp + 0x67], 0
jne 0x49fc6e
mov r14, rsi
mov r8, qword [rsi + 0x28]
mov rcx, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x98]
mov rdx, rbx
mov r9d, edi
call fcn.004ea620
movaps xmmword [rsp + 0xe0], xmm6
movaps xmmword [rsp + 0xf0], xmm6
mov qword [rsp + 0x100], 0
mov qword [rsp + 0x108], rbx
lea rax, [0x004ea6d0]
mov qword [rsp + 0xe8], rax
lea rax, [0x004df440]
mov qword [rsp + 0xf0], rax
lea rcx, [rsp + 0xe0]
mov rdx, rsi
call fcn.004cec80
mov rax, qword [rsp + 0xa0]
mov qword [rsi + 0x50], rax
test rax, rax
je 0x49fc8b
mov rax, qword [rsp + 0xa0]
mov qword [rax + 0x58], rsi
mov rax, qword [rsp + 0x58]
mov rcx, rsi
mov qword [rsi + 0x58], rax
mov qword [rsp + 0xa0], rsi
jmp 0x49fb60
mov rax, qword [rsp + 0x58]
mov r14, qword [rax + 0x60]
mov rcx, qword [rax + 0x48]
mov qword [rsp + 0xa0], rcx
mov rsi, qword [rax + 0x50]
mov rax, qword [rsp + 0xc0]
mov rax, qword [rax]
mov qword [rsp + 0xb8], rax
jmp 0x49fceb
mov rax, rsi
mov rcx, qword [rsp + 0x58]
mov qword [rcx + 0x50], rax
mov r13, qword [r13 + 0x50]
test r13, r13
je 0x49fd7a
mov r12, qword [rsp + 0xc0]
mov qword [r12], 0
mov rbx, qword [rsp + 0x58]
mov qword [rbx + 0x60], 0
mov rax, qword [rsp + 0xa8]
movups xmmword [rax], xmm6
mov rcx, rbp
mov rdx, rbx
xor r8d, r8d
call fcn.004d2d20
mov qword [rbx + 0x60], r14
mov rcx, qword [rsp + 0xa0]
mov qword [rbx + 0x48], rcx
mov byte [rbx], 0x87
mov rcx, qword [rsp + 0xb8]
mov qword [r12], rcx
test rax, rax
je 0x49fcd2
mov rdx, qword [rsp + 0x48]
mov ecx, dword [rdx + 0x84]
add ecx, 1
mov dword [rdx + 0x84], ecx
mov dword [rax + 0x10], ecx
mov qword [rax + 0x50], rsi
test rsi, rsi
je 0x49fd69
mov qword [rsi + 0x58], rax
mov rcx, qword [rsp + 0x58]
mov qword [rax + 0x58], rcx
mov rsi, rax
jmp 0x49fcd5
mov rcx, rbp
mov rdx, qword [rsp + 0x98]
call fcn.00408130
cmp byte [rbp + 0x67], 0
je 0x49fda8
mov rax, qword [rsp + 0x1e8]
mov rcx, qword [rsp + 0xc8]
mov qword [rcx], rax
jmp 0x4a0766
mov rax, qword [rsp + 0x78]
mov rbx, qword [rax + r15 + 0x28]
test rbx, rbx
je 0x49fe60
mov rax, qword [rsp + 0x78]
lea r13, [rax + r15]
add r13, 0x28
mov eax, dword [rbx + 0x2c]
cmp eax, 1
jne 0x49fdf7
mov rax, qword [rsp + 0x48]
mov rsi, qword [rax + 0xa0]
test rsi, rsi
cmove rsi, rax
mov rcx, qword [rsi]
test rcx, rcx
je 0x49fdff
mov edx, 0x18
call fcn.00429840
jmp 0x49fe09
add eax, 0xffffffff
mov dword [rbx + 0x2c], eax
jmp 0x49fe58
mov ecx, 0x18
call fcn.00404550
test rax, rax
je 0x49fe30
mov rcx, qword [rsi + 0xb8]
mov qword [rax], rcx
mov qword [rsi + 0xb8], rax
mov qword [rax + 8], rbx
lea rcx, [0x00402000]
mov qword [rax + 0x10], rcx
jmp 0x49fe58
mov rcx, qword [rsi]
test rcx, rcx
je 0x49fe42
cmp qword [rcx + 0x300], 0
jne 0x49fe50
mov eax, dword [rbx + 0x2c]
lea edx, [rax - 1]
mov dword [rbx + 0x2c], edx
cmp eax, 1
jne 0x49fe58
mov rdx, rbx
call fcn.0047f4d0
mov qword [r13], 0
mov rax, qword [rsp + 0x78]
add rax, r15
add rax, 0x44
mov qword [rsp + 0x1f0], rax
add edi, 1
mov rcx, qword [rsp + 0x50]
lea rax, [rcx + rcx*2]
lea rax, [rcx + rax*4]
mov qword [rsp + 0x130], rax
mov dword [rsp + 0xb8], 0xffffffff
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0xc8], rax
mov rax, qword [rsp + 0x1e8]
mov qword [rsp + 0x138], rax
jmp 0x49fee7
mov rax, qword [rsp + 0xc8]
mov rax, qword [rax + 0x50]
mov rcx, qword [rsp + 0x138]
mov rcx, qword [rcx + 0x50]
mov qword [rsp + 0x138], rcx
mov qword [rsp + 0xc8], rax
test rax, rax
je 0x4a06f5
mov rax, qword [rsp + 0x78]
mov al, byte [rax + r15 + 0x44]
mov ecx, eax
xor cl, 0xbf
mov byte [rsp + 0x178], cl
mov rcx, qword [rsp + 0x138]
mov rcx, qword [rcx + 0x28]
mov qword [rsp + 0x188], rcx
mov ecx, dword [rcx]
mov qword [rsp + 0xa0], rcx
mov rdx, qword [rsp + 0xc8]
mov rcx, qword [rdx + 0x28]
mov qword [rsp + 0x78], rcx
cmp rdx, qword [rsp + 0x58]
je 0x49ff40
mov dword [rsp + 0xdc], 0
jmp 0x49ff51
mov rcx, qword [rsp + 0x1f0]
mov cl, byte [rcx]
mov dword [rsp + 0xdc], ecx
and byte [rsp + 0x178], al
cmp dword [rsp + 0xa0], 2
jl 0x49ffa8
mov rax, qword [rsp + 0xa0]
mov r8d, eax
mov eax, 1
sub r8d, eax
mov rcx, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x78]
mov r9d, edi
call fcn.004ea1d0
mov qword [rsp + 0x78], rax
test rax, rax
je 0x4a06f5
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsp + 0xc8]
mov qword [rcx + 0x28], rax
jmp 0x49ffb6
cmp dword [rsp + 0xa0], 1
jne 0x4a0278
xor ebx, ebx
mov r9, qword [rsp + 0x50]
mov r14, qword [rsp + 0x78]
mov r12, qword [rsp + 0xa0]
mov r13b, byte [rsp + 0x178]
mov rsi, qword [rsp + 0x188]
jmp 0x4a00b2
mov rcx, rbp
mov rdx, rsi
call fcn.004297f0
mov r9, qword [rsp + 0x50]
mov r14, qword [rsp + 0x78]
mov r12, qword [rsp + 0xa0]
mov r13b, byte [rsp + 0x178]
mov rsi, qword [rsp + 0x188]
mov rbx, qword [rsp + 0xb8]
mov r8, qword [rsp + 0xc0]
mov rdx, qword [rsp + 0x98]
imul rax, rbx, 0x68
mov rcx, qword [rsi + rax + 0x68]
mov qword [rdx + 0x60], rcx
movups xmm0, xmmword [rsi + rax + 0x58]
movups xmmword [rdx + 0x50], xmm0
movups xmm0, xmmword [rsi + rax + 0x48]
movups xmmword [rdx + 0x40], xmm0
movups xmm0, xmmword [rsi + rax + 8]
movups xmm1, xmmword [rsi + rax + 0x18]
movups xmm2, xmmword [rsi + rax + 0x28]
movups xmm3, xmmword [rsi + rax + 0x38]
movups xmmword [rdx + 0x30], xmm3
movups xmmword [rdx + 0x20], xmm2
movups xmmword [rdx + 0x10], xmm1
movups xmmword [rdx], xmm0
mov cl, byte [r14 + r8 + 0x44]
mov edx, ecx
and dl, r13b
xor cl, r13b
or cl, dl
mov byte [r14 + r8 + 0x44], cl
mov ecx, dword [rsi + rax + 0x4c]
movups xmmword [rsi + rax + 8], xmm6
movups xmmword [rsi + rax + 0x18], xmm6
movups xmmword [rsi + rax + 0x28], xmm6
movups xmmword [rsi + rax + 0x38], xmm6
movups xmmword [rsi + rax + 0x58], xmm6
movups xmmword [rsi + rax + 0x48], xmm6
mov qword [rsi + rax + 0x68], 0
add rbx, 1
cmp rbx, r12
je 0x4a026c
lea rax, [rbx + r9]
imul r8, rax, 0x68
lea rdx, [r14 + r8]
add rdx, 8
mov eax, dword [r14 + r8 + 0x48]
mov ecx, eax
xor ecx, 0xfffffbff
test ecx, eax
je 0x4a0024
mov rax, qword [r14 + r8 + 0x50]
test rax, rax
je 0x4a0024
mov qword [rsp + 0x98], rdx
mov qword [rsp + 0xc0], r8
mov qword [rsp + 0xb8], rbx
cmp dword [rax], 0
mov rbx, rax
jle 0x4a0127
lea rsi, [rbx + 8]
xor r13d, r13d
mov rdx, qword [rsi]
mov rcx, rbp
call fcn.00408130
add r13, 1
movsxd rax, dword [rbx]
add rsi, 0x10
cmp r13, rax
jl 0x4a010c
mov rsi, rbx
cmp qword [rbp + 0x300], 0
jne 0x49ffdf
cmp qword [rbp + 0x1f0], rsi
jbe 0x4a015b
cmp qword [rbp + 0x1e0], rsi
jbe 0x4a0232
cmp qword [rbp + 0x1e8], rsi
jbe 0x4a0256
cmp dword [0x005f6010], 0
je 0x4a0248
mov rcx, qword [0x0213b0e8]
test rcx, rcx
je 0x4a017a
call qword [0x005f6090]
mov rcx, rsi
call qword [0x005f6048]
mov rcx, qword [0x0213b040]
cdqe
movabs rdx, 0xfedb9aa8ba24492
sub rcx, rdx
sub rcx, rax
add rcx, rdx
mov qword [0x0213b040], rcx
add qword [0x0213b088], 0xffffffffffffffff
mov rcx, rsi
call qword [0x005f6038]
mov rcx, qword [0x0213b0e8]
test rcx, rcx
mov r9, qword [rsp + 0x50]
mov r14, qword [rsp + 0x78]
mov r12, qword [rsp + 0xa0]
mov r13b, byte [rsp + 0x178]
mov rsi, qword [rsp + 0x188]
mov rbx, qword [rsp + 0xb8]
mov r8, qword [rsp + 0xc0]
mov rdx, qword [rsp + 0x98]
je 0x4a0024
mov rsi, r9
call qword [0x005f60a0]
mov r9, rsi
mov rdx, qword [rsp + 0x98]
mov r8, qword [rsp + 0xc0]
mov rbx, qword [rsp + 0xb8]
mov rsi, qword [rsp + 0x188]
jmp 0x4a0024
mov rax, qword [rbp + 0x1d8]
mov qword [rsi], rax
mov qword [rbp + 0x1d8], rsi
jmp 0x49ffea
mov rcx, rsi
call qword [0x005f6038]
jmp 0x49ffea
mov rax, qword [rbp + 0x1c8]
mov qword [rsi], rax
mov qword [rbp + 0x1c8], rsi
jmp 0x49ffea
mov dword [rsp + 0xb8], ecx
mov r14b, 1
jmp 0x4a027b
xor r14d, r14d
mov r9, qword [rsp + 0x78]
mov al, byte [r9 + r15 + 0x44]
mov r8d, eax
xor r8b, 0xbf
and r8b, al
mov esi, dword [rsp + 0xdc]
mov eax, esi
not al
mov dl, byte [rsp + 0x178]
mov ecx, edx
not cl
mov ebx, eax
and bl, 0xd1
and sil, 0x2e
or sil, bl
or al, cl
and cl, 0xd1
and dl, 0x2e
or dl, cl
xor dl, sil
not al
or al, dl
mov edx, eax
and dl, r8b
xor al, r8b
or al, dl
mov byte [r9 + r15 + 0x44], al
mov rax, qword [rsp + 0x138]
mov r10, qword [rax + 0x48]
test r10, r10
je 0x4a052d
mov rax, qword [rsp + 0xc8]
mov ecx, dword [rax + 4]
not ecx
or ecx, 0xffbfffff
cmp ecx, 0xffffffff
jne 0x4a052d
mov r8d, dword [r10]
test r8d, r8d
jle 0x4a0511
movabs rdx, 0x7a9e4b739d87bc9
lea rcx, [r8 + rdx]
not rdx
add rdx, rcx
mov r9d, r8d
xor r9d, 0xfffffff8
and r9d, r8d
cmp rdx, 7
jae 0x4a033a
xor r11d, r11d
jmp 0x4a04ea
not r8d
or r8d, dword [rsp + 0xd0]
movabs rax, 0x659bf4ee7451c057
mov edx, eax
not edx
or edx, eax
not r8d
and r8d, edx
xor r11d, r11d
mov rdx, r11
shl rdx, 5
mov word [r10 + rdx + 0x20], 0
mov edx, r11d
and edx, 1
mov rsi, r11
xor rsi, 1
or rsi, rdx
shl rsi, 5
mov word [r10 + rsi + 0x20], 0
mov edx, r11d
and edx, 2
mov rbx, r11
xor rbx, 2
or rbx, rdx
shl rbx, 5
mov word [r10 + rbx + 0x20], 0
mov rsi, r11
not rsi
movabs rax, 0x4bff3e98089f4608
mov rbx, rax
not rbx
mov rdx, rsi
and rdx, rax
mov rcx, r11
and rcx, rbx
or rcx, rdx
mov edx, ebx
and edx, 3
add rdx, qword [rsp + 0x90]
xor rdx, rcx
or ebx, eax
and ebx, r11d
and ebx, 3
or rbx, rdx
shl rbx, 5
mov word [r10 + rbx + 0x20], 0
mov ecx, r11d
and ecx, 4
mov rdx, r11
xor rdx, 4
or rdx, rcx
shl rdx, 5
mov word [r10 + rdx + 0x20], 0
movabs rbx, 0x4f9c5416f9c91bac
mov rcx, rbx
not rcx
mov rdx, rsi
and rdx, rbx
mov rax, r11
and rax, rcx
or rax, rdx
mov edx, ecx
and edx, 5
add rdx, qword [rsp + 0x88]
xor rdx, rax
or ecx, ebx
and ecx, r11d
and ecx, 5
or rcx, rdx
shl rcx, 5
mov word [r10 + rcx + 0x20], 0
movabs rbx, 0x366312029078ed5b
mov rax, rbx
not rax
mov rcx, rsi
and rcx, rbx
mov rdx, r11
and rdx, rax
or rdx, rcx
mov ecx, eax
and ecx, 6
add rcx, qword [rsp + 0x1c8]
xor rcx, rdx
or eax, ebx
and eax, r11d
and eax, 6
or rax, rcx
shl rax, 5
mov word [r10 + rax + 0x20], 0
movabs rbx, 0x84e6e2d20129601c
mov rax, rbx
not rax
and rsi, rbx
mov rcx, r11
and rcx, rax
or rcx, rsi
mov edx, eax
and edx, 7
add rdx, qword [rsp + 0x180]
xor rdx, rcx
or eax, ebx
and eax, r11d
and eax, 7
or rax, rdx
shl rax, 5
mov word [r10 + rax + 0x20], 0
add r11, 8
add r8, 0xfffffffffffffff8
jne 0x4a035e
test r9, r9
je 0x4a0511
mov rax, r11
shl rax, 5
lea rdx, [r10 + rax]
add rdx, 0x20
mov word [rdx], 0
add r11, 1
add rdx, 0x20
add r9, 0xffffffffffffffff
jne 0x4a04fe
mov rax, qword [rsp + 0xc8]
mov qword [rax + 0x48], r10
mov rax, qword [rsp + 0x138]
mov qword [rax + 0x48], 0
mov rax, qword [rsp + 0x138]
mov rsi, qword [rax + 0x30]
mov qword [rax + 0x30], 0
cmp byte [rsp + 0xd8], 0
je 0x4a0560
mov rcx, rsi
mov edx, dword [rsp + 0xb8]
mov r8d, 1
call fcn.004df3a0
test rsi, rsi
je 0x4a0597
mov rax, qword [rsp + 0xc8]
mov r9, qword [rax + 0x30]
test r9, r9
je 0x4a058b
mov rcx, qword [rsp + 0x48]
mov edx, 0x2c
mov r8, rsi
call fcn.004997c0
mov rsi, rax
mov rax, qword [rsp + 0xc8]
mov qword [rax + 0x30], rsi
cmp byte [rbp + 0x67], 0
jne 0x4a0600
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0xe0], rax
mov eax, dword [rsp + 0x190]
mov dword [rsp + 0xe8], eax
mov eax, dword [rsp + 0xb8]
mov dword [rsp + 0xec], eax
mov eax, dword [rsp + 0x1e0]
mov dword [rsp + 0xf0], eax
mov rax, qword [rsp + 0x138]
mov rax, qword [rax + 0x20]
mov qword [rsp + 0xf8], rax
lea rcx, [rsp + 0xe0]
mov rdx, qword [rsp + 0xc8]
xor r8d, r8d
call fcn.004ea460
mov rsi, qword [rsp + 0x138]
mov eax, dword [rsi + 4]
mov ecx, eax
xor ecx, 0xfffffeff
and ecx, eax
mov rbx, qword [rsp + 0xc8]
mov eax, dword [rbx + 4]
mov edx, eax
and edx, ecx
xor ecx, eax
or ecx, edx
mov dword [rbx + 4], ecx
mov rax, qword [rsi + 0x60]
test rax, rax
je 0x4a0650
mov rcx, qword [rsp + 0xc8]
mov qword [rcx + 0x60], rax
mov rax, qword [rsp + 0x138]
mov qword [rax + 0x60], 0
test r14b, r14b
lea r14, [0x004df440]
lea rbx, [0x004eabe0]
je 0x49feb6
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x130]
lea rsi, [rax + rcx*8]
add rsi, 0x58
xor r13d, r13d
jmp 0x4a0698
add r13, 1
add rsi, 0x68
add qword [rsp + 0xa0], 0xffffffffffffffff
je 0x49feb6
cmp qword [rsi - 0x30], 0
je 0x4a0681
lea rax, [rsi - 0x50]
movaps xmmword [rsp + 0xe0], xmm6
movaps xmmword [rsp + 0xf0], xmm6
mov qword [rsp + 0x100], 0
mov qword [rsp + 0xe8], rbx
mov qword [rsp + 0xf0], r14
mov qword [rsp + 0x108], rax
mov qword [rsi], 0
lea rcx, [rsp + 0xe0]
mov rdx, qword [rsp + 0xc8]
call fcn.004cec80
jmp 0x4a0681
lea rax, [rsp + 0x158]
movups xmmword [rax], xmm6
mov qword [rax + 0x10], 0
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x140], rax
lea rax, [0x004e9e00]
mov qword [rsp + 0x148], rax
lea rax, [0x004df440]
mov qword [rsp + 0x150], rax
lea rcx, [rsp + 0x140]
mov rsi, qword [rsp + 0x1e8]
mov rdx, rsi
call fcn.004cec80
test rsi, rsi
je 0x4a0766
mov rcx, rbp
mov rdx, qword [rsp + 0x1e8]
mov r8d, 1
call fcn.00468620
mov edi, 0xffffffff
mov rax, qword [rsp + 0x48]
cmp dword [rax + 0x30], 0
mov r12, qword [rsp + 0xb0]
je 0x49f4bb
mov edi, 1
mov rbx, qword [rsp + 0x48]
xor r14d, r14d
jmp 0x49e59f
mov dword [rsp + 0x20], 0
mov rcx, r15
mov edx, 0x76
call fcn.0047df60
mov byte [rsp + 0xe0], 0xe
mov r13b, 0xe
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 4]
not eax
mov ecx, eax
or ecx, 0xfffffbff
cmp ecx, 0xffffffff
je 0x4a0808
mov rbp, qword [rsp + 0x58]
mov r12, qword [rbp + 0x60]
xor ecx, ecx
test r12, r12
sete dl
cmp qword [rbp + 0x70], 0
jne 0x4a0808
mov cl, dl
mov ebp, 1
mov rbx, qword [rsp + 0x58]
mov rdx, qword [rbx + 0x50]
test rdx, rdx
je 0x4a0b2c
add ebp, ecx
cmp qword [rdx + 0x70], 0
mov rbx, rdx
je 0x4a07ef
or eax, 0xffffdfff
cmp eax, 0xffffffff
mov rbx, qword [rsp + 0x48]
mov r8, qword [rsp + 0xb0]
je 0x4a094b
mov rax, qword [rsp + 0x58]
nop dword [rax + rax]
mov rax, qword [rax + 0x50]
test rax, rax
je 0x4a094b
mov ecx, dword [rax + 4]
mov edx, ecx
xor edx, 0xffffdfff
test edx, ecx
jne 0x4a0830
lea r8, [rsp + 0xe0]
mov rcx, rbx
mov r13, qword [rsp + 0x58]
mov rdx, r13
call fcn.004eac90
xor r12d, r12d
xor edi, edi
cmp dword [rbx + 0x30], 0
jne 0x4a1f3c
mov eax, dword [r13 + 4]
mov ecx, eax
xor ecx, 0xffffffdf
test ecx, eax
je 0x4a1f3c
mov qword [rsp + 0x70], r12
mov qword [rsp + 0x80], r15
mov rax, qword [r13 + 0x20]
mov r14d, dword [rax]
lea ebx, [r14 + 1]
lea eax, [rbx + rbx*8 - 8]
movsxd r15, eax
lea rdx, [r15 + 0x28]
mov rcx, rsi
call fcn.00429840
test rax, rax
je 0x4a1e73
mov r12, rax
movsxd rax, ebx
lea rax, [r12 + rax*8]
add rax, 0x20
mov qword [r12 + 0x18], rax
mov word [r12 + 6], r14w
mov word [r12 + 8], bx
mov al, byte [rsi + 0x64]
mov byte [r12 + 4], al
mov qword [r12 + 0x10], rsi
mov dword [r12], 1
lea rcx, [r12 + 0x28]
xor edx, edx
mov r8, r15
call fcn.005f4c10
mov rbx, r13
test r14d, r14d
mov rbp, qword [rsp + 0x80]
jle 0x4a1aaf
mov r15, rsi
lea rsi, [r12 + 0x20]
xor ebx, ebx
jmp 0x4a0928
add rbx, 1
cmp r14d, ebx
je 0x4a1a75
mov rcx, qword [rsp + 0x48]
mov rdx, r13
mov r8d, ebx
call fcn.004ecdc0
mov qword [rsi + rbx*8], rax
test rax, rax
jne 0x4a091b
mov rax, qword [r15 + 0x10]
mov qword [rsi + rbx*8], rax
jmp 0x4a091b
mov rax, qword [rsp + 0xa8]
cmp qword [rax], 0
je 0x4a0970
mov rcx, rbx
mov r13, qword [rsp + 0x58]
mov rdx, r13
call fcn.004eb5b0
mov edi, eax
jmp 0x4a1fbf
cmp qword [r14 + 0x50], 0
jne 0x4a0999
lea r8, [0x0060429b]
mov rcx, rbx
mov dl, 1
call fcn.004d0380
lea r8, [0x006042aa]
mov rcx, rbx
mov dl, 1
call fcn.004d0380
mov rax, qword [rsp + 0x58]
mov al, byte [rax]
cmp al, 0x87
jae 0x4a0ba9
cmp al, 0x86
jne 0x4a0bb7
cmp r13b, 1
jne 0x4a0c2a
mov ebp, dword [rsp + 0xe4]
jmp 0x4a1ee5
mov rcx, qword [r13 + 0x30]
test rcx, rcx
je 0x4a0e04
cmp byte [rcx], 0x2c
mov rcx, qword [rsp + 0x80]
mov r15d, dword [rsp + 0x68]
jne 0x4a0e09
cmp word [rcx + 0x60], 0
js 0x4a0e09
mov qword [rsp + 0x140], rbx
mov rax, qword [rbx]
add rax, 0x67
mov qword [rsp + 0x148], rax
xorps xmm6, xmm6
lea rsi, [0x004edaf0]
lea r14, [rsp + 0xe0]
lea rdi, [0x004df440]
jmp 0x4a0a4c
mov rax, qword [rsp + 0x140]
mov rdx, qword [rsp + 0x160]
mov rcx, qword [rax]
call fcn.00408130
cmp dword [rsp + 0x154], 0
je 0x4a0e01
mov qword [rsp + 0x150], 0
mov qword [rsp + 0x160], 0
mov dword [rsp + 0x158], 0
mov rax, qword [r13 + 0x28]
test rax, rax
je 0x4a0a90
cmp dword [rax], 0
jle 0x4a0a90
movzx ecx, byte [rax + 0x44]
not cl
or cl, 0xbf
mov eax, 3
cmp cl, 0xff
jne 0x4a0a95
mov eax, 1
mov dword [rsp + 0x15c], eax
mov rdx, qword [r13 + 0x30]
lea rcx, [rsp + 0x140]
call fcn.004ed9d0
cmp dword [rsp + 0x150], 0
je 0x4a0a3e
movaps xmmword [rsp + 0xe0], xmm6
movaps xmmword [rsp + 0xf0], xmm6
mov qword [rsp + 0x100], 0
mov qword [rsp + 0xe0], rbx
mov qword [rsp + 0xe8], rsi
mov qword [rsp + 0xf0], rdi
mov qword [rsp + 0xf8], 0
mov dword [rsp + 0x100], 0
lea rax, [rsp + 0x140]
mov qword [rsp + 0x108], rax
mov rdx, qword [r13 + 0x30]
test rdx, rdx
je 0x4a0a26
mov rcx, r14
call fcn.004cea30
jmp 0x4a0a26
cmp ebp, 1
lea rax, [0x005fadb4]
lea rcx, [0x006042e9]
cmove rcx, rax
mov qword [rsp + 0x20], rcx
lea r8, [0x006042d2]
xor edi, edi
mov rsi, qword [rsp + 0x48]
mov rcx, rsi
xor edx, edx
mov r9d, ebp
call fcn.004d0380
test r12, r12
je 0x4a0d53
lea rax, [rsp + 0xe0]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x38], 1
mov dword [rsp + 0x30], 1
mov qword [rsp + 0x20], 0
mov rcx, rsi
mov rdx, rbx
mov r8d, 0xffffffff
xor r9d, r9d
call fcn.004e6450
jmp 0x4a1f34
je 0x4a0dac
cmp al, 0x88
je 0x4a09b0
mov r12, rsi
mov esi, dword [rbx + 0x34]
lea eax, [rsi + 2]
mov dword [rbx + 0x34], eax
mov eax, dword [r15 + 0x90]
cmp dword [r15 + 0x94], eax
jle 0x4a0c77
movsxd rcx, eax
lea edx, [rcx + 1]
mov dword [r15 + 0x90], edx
mov rdx, qword [r15 + 0x88]
lea rcx, [rcx + rcx*2]
mov dword [rdx + rcx*8], 0x76
mov dword [rdx + rcx*8 + 4], esi
xorps xmm0, xmm0
movups xmmword [rdx + rcx*8 + 8], xmm0
jmp 0x4a0c92
mov r9, qword [r14]
mov dword [rsp + 0x20], eax
lea rdx, [0x006041e4]
mov rcx, rbx
call fcn.00419aa0
mov edi, 1
xor r14d, r14d
jmp 0x49e59f
mov ebp, dword [rbx + 0x34]
lea eax, [rbp + 1]
mov dword [rbx + 0x34], eax
mov eax, dword [r15 + 0x90]
cmp dword [r15 + 0x94], eax
jle 0x4a1e8c
movsxd rcx, eax
lea edx, [rcx + 1]
mov dword [r15 + 0x90], edx
mov rdx, qword [r15 + 0x88]
lea rcx, [rcx + rcx*2]
mov dword [rdx + rcx*8], 0x76
mov dword [rdx + rcx*8 + 4], ebp
xorps xmm0, xmm0
movups xmmword [rdx + rcx*8 + 8], xmm0
jmp 0x4a1ea7
mov dword [rsp + 0x20], 0
mov rcx, r15
mov edx, 0x76
mov r8d, esi
xor r9d, r9d
call fcn.0047df60
mov r13, qword [rsp + 0x58]
lea ebp, [rsi + 1]
mov dword [r13 + 0x14], eax
mov rcx, r13
mov rax, rcx
mov rcx, qword [rcx + 0x58]
test rcx, rcx
jne 0x4a0ca1
mov ecx, dword [rax + 4]
mov edx, ecx
and edx, 0x20
xor ecx, 0x20
or ecx, edx
mov dword [rax + 4], ecx
mov byte [rsp + 0x140], 1
mov dword [rsp + 0x144], esi
mov dword [rsp + 0x148], 0
mov qword [rsp + 0x158], 0
mov qword [rsp + 0x14c], 0
lea r8, [rsp + 0x140]
mov rcx, rbx
mov rdx, r14
call fcn.0049e470
test eax, eax
jne 0x4a0df7
mov eax, dword [r15 + 0x90]
cmp dword [r15 + 0x94], eax
mov qword [rsp + 0x50], r12
jle 0x4a2105
movsxd rcx, eax
lea edx, [rcx + 1]
mov dword [r15 + 0x90], edx
mov rdx, qword [r15 + 0x88]
lea rcx, [rcx + rcx*2]
mov dword [rdx + rcx*8], 0x76
mov dword [rdx + rcx*8 + 4], ebp
xorps xmm0, xmm0
movups xmmword [rdx + rcx*8 + 8], xmm0
jmp 0x4a2120
lea r14, [rsp + 0xe0]
mov r13, qword [rsp + 0x58]
mov qword [rsp + 0x28], r14
mov dword [rsp + 0x38], 1
mov dword [rsp + 0x30], 1
mov qword [rsp + 0x20], 0
xor r12d, r12d
mov rcx, rsi
mov rdx, rbx
mov r8d, 0xffffffff
xor r9d, r9d
call fcn.004e6450
mov word [rbx + 2], bp
mov rbx, qword [rbx + 0x58]
mov edi, 0
test rbx, rbx
jne 0x4a0d60
jmp 0x4a1f3c
mov dword [rsp + 0x140], 0
mov r13, qword [rsp + 0x58]
mov eax, dword [r13 + 8]
mov dword [r14 + 8], eax
mov eax, dword [r13 + 0xc]
mov dword [r14 + 0xc], eax
mov rax, qword [r13 + 0x60]
mov qword [r14 + 0x60], rax
lea r8, [rsp + 0xe0]
mov rcx, rbx
mov rdx, r14
call fcn.0049e470
mov qword [r14 + 0x60], 0
test eax, eax
je 0x4a22d4
mov edi, eax
xor r12d, r12d
jmp 0x4a1f3c
mov eax, dword [rbp]
mov r15d, dword [rsp + 0x68]
test eax, eax
mov qword [rsp + 0x78], rbp
jle 0x4a1808
lea rax, [rbp + 8]
mov qword [rsp + 0x1c8], rax
xor r12d, r12d
xorps xmm6, xmm6
jmp 0x4a0e7f
mov dword [rcx + 8], eax
mov byte [rbx + 0x1f], 0
mov dword [rbx + 0x28], 0
mov rbp, qword [rsp + 0x78]
mov rdi, qword [rsp + 0x80]
cmp byte [rdi + 0x67], 0
jne 0x4a2f95
mov rcx, qword [rsp + 0x58]
call fcn.004e2de0
sub dword [rbx + 0x12c], eax
mov rax, qword [rsp + 0xa8]
mov qword [rbx + 0x168], rax
add r12, 1
movsxd rax, dword [rbp]
cmp r12, rax
jge 0x4a1808
imul r13, r12, 0x68
cmp qword [rbp + r13 + 0x58], 0
je 0x4a0fad
mov rax, qword [rbp + r13 + 0x30]
mov qword [rsp + 0x50], rax
test rax, rax
je 0x4a0e6e
lea r14, [r13 + 8]
add r14, rbp
mov rcx, qword [rsp + 0x58]
call fcn.004e2de0
add dword [rbx + 0x12c], eax
mov rdi, qword [rsp + 0x80]
mov eax, dword [rdi + 0x60]
mov ecx, eax
xor ecx, 0xffffefff
test ecx, eax
jne 0x4a0f0a
mov eax, dword [rbp + r13 + 0x48]
mov ecx, eax
xor ecx, 0xfffffeff
test ecx, eax
je 0x4a0ef1
mov rax, qword [rbp + r13 + 0x68]
cmp byte [rax + 0x12], 0
je 0x4a0f0a
cmp dword [rax], 1
jg 0x4a0f0a
mov rax, qword [rsp + 0x58]
mov r8, qword [rax + 0x30]
mov rcx, rbx
mov rdx, qword [rsp + 0x50]
mov r9, r14
call fcn.004e2f30
mov rsi, qword [rbx + 0x168]
mov r11, qword [rbp + r13 + 0x18]
mov qword [rbx + 0x168], r11
test r12, r12
mov qword [rsp + 0xa8], rsi
je 0x4a10a0
mov ecx, dword [rbp + r13 + 0x48]
not ecx
or ecx, 0xfffffeff
cmp ecx, 0xffffffff
je 0x4a103d
mov rdi, qword [rbp + r13 + 0x68]
mov r9d, dword [rdi + 4]
test r9d, r9d
jle 0x4a103d
mov r8d, dword [rdi + 8]
mov rcx, qword [rsp + 0x60]
movsxd rax, dword [rcx + 0x90]
cmp dword [rcx + 0x94], eax
jle 0x4a1155
lea edx, [rax + 1]
mov dword [rcx + 0x90], edx
mov rcx, qword [rcx + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 9
mov dword [rcx + rax*8 + 4], r8d
mov dword [rcx + rax*8 + 8], r9d
mov dword [rcx + rax*8 + 0xc], 0
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4a1167
mov r8, qword [rbp + r13 + 0x18]
test r8, r8
je 0x4a0e8f
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x1f8]
test rax, rax
je 0x4a0e8f
cmp byte [rcx + 0xc5], 0
jne 0x4a0e8f
cmp byte [rbx + 0x124], 0
jne 0x4a0e8f
mov rsi, rbp
mov rdx, qword [rbp + r13 + 0x10]
mov rcx, qword [rcx + 0x200]
mov rbp, qword [rbx + 0x168]
mov qword [rsp + 0x28], rbp
mov qword [rsp + 0x20], rdx
mov edx, 0x14
lea r9, [0x005fadb4]
call rax
cmp eax, 1
jne 0x4a16ee
mov rcx, rbx
lea rdx, [0x005ff140]
call fcn.00419aa0
mov dword [rbx + 0x18], 0x17
mov rbp, rsi
jmp 0x4a0e8f
lea rdx, [r13 + 0x30]
add rdx, rbp
test r12, r12
sete bl
setne cl
mov r8, qword [rdx]
mov ebp, dword [r8 + 4]
mov edx, ebp
xor edx, 0xfeffffff
test edx, ebp
setne dl
sete r9b
cmp bl, dl
jne 0x4a1274
or cl, r9b
xor cl, 1
jne 0x4a1274
test r11, r11
je 0x4a1274
mov rax, qword [rsp + 0x78]
lea r9, [rax + r13]
add r9, 0x28
mov rdi, qword [rsp + 0x1c8]
jmp 0x4a11f9
cmp dword [rbp], 1
je 0x4a10b9
mov cl, byte [rbp + 0xac]
mov edx, ecx
xor dl, 0xdd
test dl, cl
je 0x4a0f2e
mov ecx, dword [rbp + 0x48]
not ecx
or ecx, 0xfffffeff
cmp ecx, 0xffffffff
je 0x4a10d7
mov rcx, qword [rbp + 0x68]
cmp byte [rcx + 0x12], 0
je 0x4a0f2e
mov cl, byte [rbp + 0x44]
not cl
or cl, 0xbf
cmp cl, 0xff
jne 0x4a0f2e
mov rax, rbp
mov rbp, qword [rsp + 0x60]
movsxd rcx, dword [rbp + 0x90]
lea edi, [rcx + 1]
mov r8d, dword [rbx + 0x38]
add r8d, 1
mov dword [rbx + 0x38], r8d
mov dword [rax + 0x3c], r8d
cmp dword [rbp + 0x94], ecx
mov qword [rsp + 0x90], rcx
jle 0x4a1596
mov dword [rbp + 0x90], edi
mov rax, qword [rbp + 0x88]
lea rcx, [rcx + rcx*2]
mov dword [rax + rcx*8], 0xa
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], 0
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], 0
jmp 0x4a15aa
mov dword [rsp + 0x20], 0
mov edx, 9
call fcn.0047df60
xor r14d, r14d
mov r8d, dword [rbp + r13 + 0x4c]
mov r9d, dword [rdi + 0xc]
cmp r8d, r9d
je 0x4a157f
mov rcx, qword [rsp + 0x60]
movsxd rax, dword [rcx + 0x90]
cmp dword [rcx + 0x94], eax
jle 0x4a156d
lea edx, [rax + 1]
mov dword [rcx + 0x90], edx
mov rcx, qword [rcx + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x73
mov dword [rcx + rax*8 + 4], r8d
mov dword [rcx + rax*8 + 8], r9d
mov dword [rcx + rax*8 + 0xc], 0
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4a157f
mov eax, dword [rbx + 4]
mov ecx, eax
xor ecx, 0xfeffffff
test ecx, eax
je 0x4a1719
nop word cs:[rax + rax]
nop dword [rax]
add rdi, 0x68
cmp rdi, r14
jae 0x4a1274
mov rbx, qword [rdi + 0x28]
test rbx, rbx
je 0x4a11f0
mov ecx, dword [rdi + 0x40]
mov edx, ecx
xor edx, 0xffffffdf
test edx, ecx
jne 0x4a11f0
mov rcx, qword [rdi + 0x10]
test rcx, rcx
je 0x4a11f0
mov rdx, qword [rdi + 0x20]
mov r10, qword [rdx + 0x60]
mov rdx, qword [r9]
cmp r10, qword [rdx + 0x60]
jne 0x4a11f0
xor ebp, ebp
jmp 0x4a1246
lea r15, [0x005fade0]
movzx eax, byte [rsi + r15]
cmp al, byte [rdx + r15]
jne 0x4a11f0
add rbp, 1
movzx esi, byte [rcx + rbp]
movzx edx, byte [r11 + rbp]
cmp sil, dl
jne 0x4a1230
test sil, sil
jne 0x4a1242
test r10, r10
jne 0x4a11cf
mov eax, dword [r8 + 0x10]
cmp eax, dword [rbx + 0x10]
je 0x4a11cf
jmp 0x4a11f0
mov rbp, qword [rsp + 0x78]
lea rdi, [r13 + 0x48]
add rdi, rbp
mov rcx, qword [rsp + 0x48]
mov eax, dword [rcx + 0x38]
add eax, 1
mov dword [rcx + 0x38], eax
mov dword [rbp + r13 + 0x3c], eax
mov rcx, qword [rsp + 0x60]
mov esi, dword [rcx + 0x90]
cmp dword [rcx + 0x94], esi
jle 0x4a12d7
movsxd rax, esi
lea r15d, [rax + 1]
mov dword [rcx + 0x90], r15d
mov rcx, qword [rcx + 0x88]
lea rax, [rax + rax*2]
mov byte [rcx + rax*8], 8
movups xmmword [rcx + rax*8 + 1], xmm6
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4a12f8
mov dword [rsp + 0x20], 0
mov edx, 8
xor r8d, r8d
xor r9d, r9d
call fcn.0047df60
mov esi, eax
mov r15d, eax
add r15d, 1
mov dword [rbp + r13 + 0x38], r15d
mov eax, dword [rdi]
mov ecx, eax
and ecx, 0x10
mov edx, eax
xor edx, 0x10
or edx, ecx
mov dword [rdi], edx
not eax
or eax, 0xfffffff7
xor ebx, ebx
cmp eax, 0xffffffff
jne 0x4a1371
mov rcx, qword [rsp + 0x60]
mov ebx, dword [rcx + 0x90]
cmp dword [rcx + 0x94], ebx
jle 0x4a1357
movsxd rax, ebx
lea edx, [rax + 1]
mov dword [rcx + 0x90], edx
mov rcx, qword [rcx + 0x88]
lea rax, [rax + rax*2]
mov byte [rcx + rax*8], 0xe
movups xmmword [rcx + rax*8 + 1], xmm6
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4a1371
mov dword [rsp + 0x20], 0
mov edx, 0xe
xor r8d, r8d
xor r9d, r9d
call fcn.0047df60
mov ebx, eax
mov qword [rsp + 0x88], rdi
lea rax, [r13 + 0x3c]
add rax, rbp
mov qword [rsp + 0x90], rax
mov eax, dword [rbp + r13 + 0x4c]
mov byte [rsp + 0xe0], 0xc
mov dword [rsp + 0xe4], eax
mov dword [rsp + 0xe8], 0
mov qword [rsp + 0xf8], 0
mov qword [rsp + 0xec], 0
mov rbp, qword [rsp + 0x48]
mov rcx, rbp
mov dl, 1
lea r8, [0x0060421b]
mov r9, r14
call fcn.004d0380
mov rcx, rbp
mov rbp, qword [rsp + 0x78]
mov rdi, qword [rsp + 0x50]
mov rdx, rdi
lea r8, [rsp + 0xe0]
call fcn.0049e470
movzx eax, word [rdi + 2]
mov rcx, qword [rbp + r13 + 0x28]
mov word [rcx + 0x3a], ax
mov rcx, qword [rsp + 0x60]
mov eax, dword [rcx + 0x90]
test ebx, ebx
mov r14d, 0
je 0x4a1452
mov rcx, qword [rcx]
cmp byte [rcx + 0x67], 0
lea rcx, [0x0213b3e8]
jne 0x4a144a
lea ecx, [rax - 1]
test ebx, ebx
cmovns ecx, ebx
movsxd rcx, ecx
lea rcx, [rcx + rcx*2]
shl rcx, 3
mov rdx, qword [rsp + 0x60]
add rcx, qword [rdx + 0x88]
mov dword [rcx + 8], eax
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x90]
mov r8d, dword [rdx]
cmp dword [rcx + 0x94], eax
mov rbx, rcx
jle 0x4a14a3
movsxd rcx, eax
add eax, 1
mov dword [rbx + 0x90], eax
mov rax, qword [rbx + 0x88]
lea rcx, [rcx + rcx*2]
mov dword [rax + rcx*8], 0x43
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], r15d
mov dword [rax + rcx*8 + 0xc], 0
mov qword [rax + rcx*8 + 0x10], 0
jmp 0x4a14bb
mov dword [rsp + 0x20], 0
mov rcx, rbx
mov edx, 0x43
mov r9d, r15d
call fcn.0047df60
mov rcx, rbx
mov rbx, qword [rsp + 0x48]
mov eax, dword [rcx + 0x90]
mov rcx, qword [rcx]
cmp byte [rcx + 0x67], 0
lea rcx, [0x0213b3e8]
mov rdi, qword [rsp + 0x80]
jne 0x4a1500
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 + 0x60]
add rcx, qword [rdx + 0x88]
mov dword [rcx + 8], eax
mov byte [rbx + 0x1f], 0
mov dword [rbx + 0x28], 0
mov rax, qword [rsp + 0x88]
mov eax, dword [rax]
mov ecx, eax
xor ecx, 0xfffffef7
and ecx, eax
cmp ecx, 0x100
mov r15d, dword [rsp + 0x68]
jne 0x4a0e45
lea rax, [r13 + 0x38]
add rax, rbp
mov rcx, qword [rbp + r13 + 0x68]
mov edx, dword [rax]
mov dword [rcx + 4], edx
mov rdx, qword [rsp + 0x90]
mov edx, dword [rdx]
mov dword [rcx + 8], edx
mov eax, dword [rax + 0x14]
mov dword [rcx + 0xc], eax
mov rax, qword [rsp + 0x50]
movzx eax, word [rax + 2]
mov word [rcx + 0x10], ax
jmp 0x4a0e45
mov dword [rsp + 0x20], 0
mov edx, 0x73
call fcn.0047df60
movzx eax, word [rdi + 0x10]
mov rcx, qword [rsp + 0x50]
mov word [rcx + 2], ax
mov r15d, dword [rsp + 0x68]
jmp 0x4a0e3d
mov dword [rsp + 0x20], edi
mov rcx, rbp
mov edx, 0xa
xor r9d, r9d
call fcn.0047df60
mov r13, qword [rsp + 0x78]
mov dword [r13 + 0x38], edi
mov eax, dword [r13 + 0x3c]
mov byte [rsp + 0xe0], 0xd
mov dword [rsp + 0xe4], eax
mov dword [rsp + 0xe8], 0
mov qword [rsp + 0xf8], 0
mov qword [rsp + 0xec], 0
mov rcx, rbx
mov dl, 1
lea r8, [0x0060420c]
mov r9, r14
call fcn.004d0380
mov rcx, rbx
mov rsi, qword [rsp + 0x50]
mov rdx, rsi
lea r8, [rsp + 0xe0]
call fcn.0049e470
movzx eax, word [rsi + 2]
mov rcx, qword [r13 + 0x28]
mov word [rcx + 0x3a], ax
mov r8d, dword [r13 + 0x3c]
mov eax, dword [r13 + 0x48]
mov ecx, eax
and ecx, 0x20
xor eax, 0x20
or eax, ecx
mov dword [r13 + 0x48], eax
mov eax, dword [rsp + 0xec]
mov dword [r13 + 0x40], eax
movsxd rax, dword [rbp + 0x90]
cmp dword [rbp + 0x94], eax
jle 0x4a1678
lea ecx, [rax + 1]
mov dword [rbp + 0x90], ecx
mov rcx, qword [rbp + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x44
mov dword [rcx + rax*8 + 4], r8d
movups xmmword [rcx + rax*8 + 8], xmm6
jmp 0x4a1690
mov dword [rsp + 0x20], 0
mov rcx, rbp
mov edx, 0x44
xor r9d, r9d
call fcn.0047df60
xor r14d, r14d
mov r15d, dword [rsp + 0x68]
mov rax, qword [rbp + 0x18]
mov byte [rax + 0x1f], 0
mov dword [rax + 0x28], 0
mov eax, dword [rbp + 0x90]
mov rcx, qword [rbp]
cmp byte [rcx + 0x67], 0
lea rcx, [0x0213b3e8]
jne 0x4a0e2a
lea ecx, [rax - 1]
mov rdx, qword [rsp + 0x90]
test edx, edx
cmovns ecx, edx
movsxd rcx, ecx
lea rcx, [rcx + rcx*2]
shl rcx, 3
mov rdx, qword [rsp + 0x60]
add rcx, qword [rdx + 0x88]
jmp 0x4a0e2a
mov ecx, eax
xor ecx, 2
test ecx, eax
mov rbp, rsi
je 0x4a0e8f
mov rcx, rbx
lea rdx, [0x00602fdd]
call fcn.00419aa0
mov dword [rbx + 0x18], 1
jmp 0x4a0e8f
mov r9d, dword [rdi + 0x30]
test r9d, r9d
mov rbx, qword [rsp + 0x48]
mov r14d, 0
mov rbp, qword [rsp + 0x78]
je 0x4a1794
mov r8d, dword [rdi + 0x34]
mov rcx, qword [rsp + 0x60]
movsxd rax, dword [rcx + 0x90]
cmp dword [rcx + 0x94], eax
jle 0x4a1782
lea edx, [rax + 1]
mov dword [rcx + 0x90], edx
mov rcx, qword [rcx + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 9
mov dword [rcx + rax*8 + 4], r8d
mov dword [rcx + rax*8 + 8], r9d
mov dword [rcx + rax*8 + 0xc], 0
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4a1794
mov dword [rsp + 0x20], 0
mov edx, 9
call fcn.0047df60
mov r8d, dword [rbp + r13 + 0x4c]
mov r9d, dword [rdi + 0x44]
mov rcx, qword [rsp + 0x60]
movsxd rax, dword [rcx + 0x90]
cmp dword [rcx + 0x94], eax
jle 0x4a17e9
lea edx, [rax + 1]
mov dword [rcx + 0x90], edx
mov rcx, qword [rcx + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x73
mov dword [rcx + rax*8 + 4], r8d
mov dword [rcx + rax*8 + 8], r9d
mov dword [rcx + rax*8 + 0xc], 0
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4a17fb
mov dword [rsp + 0x20], 0
mov edx, 0x73
call fcn.0047df60
mov rax, qword [rdi + 0x28]
movzx eax, word [rax + 2]
jmp 0x4a1583
mov rcx, qword [rsp + 0x58]
mov r14, qword [rcx + 0x20]
mov rax, qword [rcx + 0x30]
mov qword [rsp + 0x88], rax
mov r13, qword [rcx + 0x38]
mov rax, qword [rcx + 0x40]
mov qword [rsp + 0x180], rax
mov eax, dword [rcx + 4]
mov ecx, eax
xor ecx, 0xfffffff6
and ecx, eax
and al, 1
mov byte [rsp + 0x1d0], al
cmp ecx, 1
jne 0x4a18e6
mov rsi, qword [rsp + 0x198]
test r14, r14
mov r12, qword [rsp + 0xb0]
jne 0x4a19ea
test rsi, rsi
jne 0x4a19ea
mov al, 1
test al, al
je 0x4a19ea
mov rax, qword [rsp + 0x58]
cmp qword [rax + 0x70], 0
mov rbx, qword [rsp + 0x48]
mov r15d, dword [rsp + 0x68]
jne 0x4a18ee
mov rsi, qword [rsp + 0x58]
mov eax, dword [rsi + 4]
mov ecx, eax
xor ecx, 1
and ecx, eax
mov dword [rsi + 4], ecx
mov rcx, qword [rsp + 0x80]
mov rdx, r14
xor r8d, r8d
call fcn.004d2fa0
mov r13, rax
mov qword [rsi + 0x38], rax
mov eax, dword [rsi + 4]
mov ecx, eax
not ecx
and ecx, 0x555f52dd
mov edx, eax
and edx, 0xaaa0ad22
or edx, ecx
xor edx, 0x555f52d5
and eax, 8
or eax, edx
mov dword [rsi + 4], eax
mov byte [rsp + 0x1d0], 2
jmp 0x4a18ee
mov r12, qword [rsp + 0xb0]
mov qword [rsp + 0x90], r13
mov rsi, qword [rsp + 0x198]
test rsi, rsi
mov qword [rsp + 0xa8], r14
je 0x4a19d3
mov eax, dword [r14]
mov ebp, dword [rsi]
mov r15, qword [rbx]
lea ebx, [rax + rbp]
add ebx, 1
lea eax, [rbx + rbx*8 - 8]
movsxd r14, eax
lea rdx, [r14 + 0x28]
mov rcx, r15
call fcn.00429840
mov rdi, rax
test rax, rax
je 0x4a1bbd
movsxd rax, ebx
lea rax, [rdi + rax*8]
add rax, 0x20
mov qword [rdi + 0x18], rax
mov word [rdi + 6], bp
mov word [rdi + 8], bx
mov al, byte [r15 + 0x64]
mov byte [rdi + 4], al
mov qword [rdi + 0x10], r15
mov dword [rdi], 1
mov rcx, rdi
add rcx, 0x28
xor edx, edx
mov r8, r14
call fcn.005f4c10
test ebp, ebp
mov r14, qword [rsp + 0xa8]
mov r13, qword [rsp + 0x58]
jle 0x4a1c2a
add rsi, 8
xor ebx, ebx
jmp 0x4a19b3
mov qword [rdi + rbx*8 + 0x20], rax
movzx eax, byte [rsi + 0x10]
mov rcx, qword [rdi + 0x18]
mov byte [rcx + rbx], al
add rbx, 1
add rsi, 0x20
cmp rbp, rbx
je 0x4a1c2a
mov rdx, qword [rsi]
mov rcx, qword [rsp + 0x48]
call fcn.0047fd40
test rax, rax
jne 0x4a1992
mov rax, qword [rsp + 0x48]
mov rax, qword [rax]
mov rax, qword [rax + 0x10]
jmp 0x4a1992
mov eax, 0xffffffff
mov rdi, qword [rsp + 0x80]
mov r13, qword [rsp + 0x58]
jmp 0x4a1c8d
test r14, r14
sete cl
test rsi, rsi
sete dl
mov rax, r14
or rax, rsi
sete al
cmp cl, dl
jne 0x4a233a
test al, al
mov rbx, qword [rsp + 0x48]
mov r15d, dword [rsp + 0x68]
jne 0x4a18ee
mov eax, dword [rsi]
cmp eax, dword [r14]
jne 0x4a18ee
test eax, eax
jle 0x4a1875
mov edi, 0x18
xor ebx, ebx
movzx eax, byte [rsi + rdi]
cmp al, byte [r14 + rdi]
jne 0x4a233a
mov r8, qword [r14 + rdi - 0x10]
mov rdx, qword [rsi + rdi - 0x10]
xor ecx, ecx
mov r9d, 0xffffffff
call fcn.004cf220
test eax, eax
jne 0x4a233a
add rbx, 1
movsxd rax, dword [rsi]
add rdi, 0x20
cmp rbx, rax
jl 0x4a1a33
jmp 0x4a1875
mov rbx, r13
mov rbp, qword [rsp + 0x80]
jmp 0x4a1aaf
mov dword [0x0213b3f0], r14d
add dword [r12], 1
mov edx, 0xfffffff8
mov r8, r12
call fcn.00444fc0
mov dword [rbx + 0x18], 0xffffffff
mov rbx, qword [rbx + 0x50]
test rbx, rbx
je 0x4a1b89
mov eax, dword [rbx + 0x14]
test eax, eax
js 0x4a1aa2
mov rcx, qword [rbp]
cmp byte [rcx + 0x67], 0
je 0x4a1adb
mov dword [0x0213b3f0], r14d
add dword [r12], 1
mov edx, 0xfffffff8
mov r8, r12
call fcn.00444fc0
jmp 0x4a1b1e
mov rcx, qword [rbp + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8 + 8], r14d
add dword [r12], 1
cmp byte [rcx + rax*8 + 1], 0
je 0x4a1b0e
lea rdx, [rcx + rax*8]
mov rcx, rbp
mov r8, r12
mov r9d, 0xfffffff8
call fcn.0047e190
jmp 0x4a1b1e
lea rdx, [rcx + rax*8]
add rdx, 1
mov qword [rcx + rax*8 + 0x10], r12
mov byte [rdx], 0xf8
mov dword [rbx + 0x14], 0xffffffff
mov eax, dword [rbx + 0x18]
test eax, eax
js 0x4a1aa2
mov rcx, qword [rbp]
cmp byte [rcx + 0x67], 0
jne 0x4a1a82
mov rcx, qword [rbp + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8 + 8], r14d
add dword [r12], 1
cmp byte [rcx + rax*8 + 1], 0
je 0x4a1b74
lea rdx, [rcx + rax*8]
mov rcx, rbp
mov r8, r12
mov r9d, 0xfffffff8
call fcn.0047e190
jmp 0x4a1a9b
lea rdx, [rcx + rax*8]
add rdx, 1
mov qword [rcx + rax*8 + 0x10], r12
mov byte [rdx], 0xf8
jmp 0x4a1a9b
add dword [r12], 0xffffffff
jne 0x4a1e82
mov rcx, qword [r12 + 0x10]
test rcx, rcx
je 0x4a4155
cmp qword [rcx + 0x300], 0
je 0x4a4132
mov rdx, r12
call fcn.004297f0
jmp 0x4a1e82
cmp byte [r15 + 0x67], 0
mov r14, qword [rsp + 0xa8]
mov r13, qword [rsp + 0x58]
jne 0x4a1c2a
cmp byte [r15 + 0x68], 0
jne 0x4a1c2a
mov byte [r15 + 0x67], 1
cmp dword [r15 + 0xe4], 0
jle 0x4a1bf2
mov dword [r15 + 0x198], 1
add dword [r15 + 0x1a0], 1
mov word [r15 + 0x1a4], 0
mov rcx, qword [r15 + 0x160]
test rcx, rcx
je 0x4a1c2a
lea rdx, [0x005fc480]
call fcn.00419aa0
mov rax, qword [r15 + 0x160]
mov dword [rax + 0x18], 7
mov rbx, qword [rsp + 0x48]
mov r8d, dword [rbx + 0x34]
lea eax, [r8 + 1]
mov dword [rbx + 0x34], eax
mov dword [rsp + 0x1a4], r8d
mov rax, qword [rsp + 0x198]
mov eax, dword [rax]
mov ecx, dword [r14]
lea r9d, [rax + rcx + 1]
mov qword [rsp + 0x28], rdi
mov dword [rsp + 0x30], 0xfffffff8
mov dword [rsp + 0x20], 0
mov rcx, qword [rsp + 0x60]
mov edx, 0x76
call fcn.004c62a0
mov rdi, qword [rsp + 0x80]
mov r12, qword [rsp + 0xb0]
mov r15d, dword [rsp + 0x68]
mov dword [rsp + 0x1b0], eax
cmp byte [r12], 0xc
jne 0x4a1e06
mov r8d, dword [r12 + 4]
mov r9d, dword [r14]
mov rcx, qword [rsp + 0x60]
movsxd rax, dword [rcx + 0x90]
cmp dword [rcx + 0x94], eax
jle 0x4a1cf3
lea edx, [rax + 1]
mov dword [rcx + 0x90], edx
mov rcx, qword [rcx + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x76
mov dword [rcx + rax*8 + 4], r8d
mov dword [rcx + rax*8 + 8], r9d
mov dword [rcx + rax*8 + 0xc], 0
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4a1d05
mov dword [rsp + 0x20], 0
mov edx, 0x76
call fcn.0047df60
mov eax, dword [r13 + 4]
mov ecx, eax
xor ecx, 0xfffff7ff
test ecx, eax
je 0x4a1e06
mov edx, dword [r14]
cmp edx, 2
jl 0x4a1db2
movabs rax, 0x9cba5f3e8e9e9487
mov rsi, rax
not rsi
add rsi, rdx
add rsi, rax
mov rax, rsi
shl rax, 5
mov eax, dword [r14 + rax + 0x1c]
not eax
or eax, 0xffffffbf
cmp eax, 0xffffffff
jne 0x4a1dc8
mov r12, rdi
mov edi, 1
mov rax, rdx
shl rax, 5
lea rbx, [rax + r14]
add rbx, 0xfffffffffffffff0
lea rbp, [rdx + 1]
mov rdx, qword [rbx - 8]
test rdx, rdx
mov r15, r12
je 0x4a1d80
mov rcx, r15
call fcn.00468370
mov rdx, qword [rbx]
mov rcx, r15
call fcn.00408130
mov edx, dword [r14]
add edx, 0xffffffff
mov dword [r14], edx
add rbp, 0xffffffffffffffff
cmp rbp, 2
jle 0x4a1db2
sub rsi, rdi
mov eax, dword [rbx - 0x14]
add rbx, 0xffffffffffffffe0
not eax
or eax, 0xffffffbf
cmp eax, 0xffffffff
je 0x4a1d6c
test edx, edx
mov rbx, qword [rsp + 0x48]
mov r12, qword [rsp + 0xb0]
mov r15d, dword [rsp + 0x68]
jle 0x4a1e06
mov r8d, edx
mov r9, r8
xor r9, 0xfffffffffffffffe
cmp edx, 1
jne 0x4a226e
xor ecx, ecx
test r9d, r8d
mov rbx, qword [rsp + 0x48]
mov r15d, dword [rsp + 0x68]
je 0x4a1e06
shl rcx, 5
mov eax, dword [r14 + rcx + 0x1c]
mov edx, eax
xor edx, 0xffffffbf
test edx, eax
jne 0x4a1e06
mov rax, qword [r14 + rcx + 8]
mov byte [rax], 0x79
mov eax, dword [rbx + 0x44]
mov qword [rsp + 0x1c8], rax
lea r8d, [rax - 1]
mov dword [rbx + 0x44], r8d
mov eax, dword [r13 + 4]
not eax
or eax, 0xffffbfff
cmp eax, 0xffffffff
jne 0x4a1e30
mov word [r13 + 2], 0x140
mov rcx, rbx
mov rdx, r13
call fcn.004e3550
cmp dword [r13 + 8], 0
jne 0x4a2372
mov eax, dword [rsp + 0x1b0]
test eax, eax
js 0x4a2372
mov rdx, qword [rsp + 0x60]
mov rcx, qword [rdx]
cmp byte [rcx + 0x67], 0
je 0x4a2349
lea rax, [0x0213b3e8]
jmp 0x4a2358
mov edi, 7
cmp byte [rsi + 0x67], 0
je 0x4a2f9f
mov r12, qword [rsp + 0x70]
jmp 0x4a1f3c
mov dword [rsp + 0x20], 0
mov rcx, r15
mov edx, 0x76
mov r8d, ebp
xor r9d, r9d
call fcn.0047df60
mov rcx, qword [rsp + 0x58]
mov dword [rcx + 0x14], eax
mov rax, rcx
mov rcx, qword [rcx + 0x58]
test rcx, rcx
jne 0x4a1eaf
mov edx, dword [rax + 4]
mov ebx, edx
not ebx
and ebx, 0x87e3795
mov ecx, edx
and ecx, 0xf781c86a
or ecx, ebx
xor ecx, 0x87e37b5
and edx, 0x20
or edx, ecx
mov dword [rax + 4], edx
mov rbx, qword [rsp + 0x48]
mov byte [rsp + 0x140], 1
mov dword [rsp + 0x144], ebp
mov dword [rsp + 0x148], 0
mov qword [rsp + 0x158], 0
mov qword [rsp + 0x14c], 0
lea r8, [rsp + 0x140]
mov rcx, rbx
mov rdx, r14
call fcn.0049e470
test eax, eax
je 0x4a2022
mov edi, eax
xor r12d, r12d
mov r13, qword [rsp + 0x58]
mov eax, dword [rsp + 0xec]
mov rcx, qword [rsp + 0xb0]
mov dword [rcx + 0xc], eax
mov eax, dword [rsp + 0xf0]
mov dword [rcx + 0x10], eax
test r12, r12
je 0x4a1f76
mov rbx, qword [rsp + 0x48]
mov rcx, qword [rbx]
test rcx, rcx
je 0x4a1f7d
mov edx, 0x18
call fcn.00429840
jmp 0x4a1f87
mov rbx, qword [rsp + 0x48]
jmp 0x4a1fbf
mov ecx, 0x18
call fcn.00404550
test rax, rax
je 0x4a1fae
mov rcx, qword [rbx + 0xb8]
mov qword [rax], rcx
mov qword [rbx + 0xb8], rax
mov qword [rax + 8], r12
lea rcx, [0x00468350]
mov qword [rax + 0x10], rcx
jmp 0x4a1fbf
mov rcx, qword [rbx]
mov rdx, r12
mov r8d, 1
call fcn.00468620
cmp qword [r13 + 0x58], 0
jne 0x49e644
mov ecx, dword [rbx + 0x130]
test ecx, ecx
je 0x4a1ff5
mov rax, qword [rbx + 0x10]
jns 0x4a1fe3
mov ecx, dword [rax + 0x90]
add ecx, 0xffffffff
mov rdx, qword [rax]
cmp byte [rdx + 0x67], 0
je 0x4a2002
lea rcx, [0x0213b3e8]
jmp 0x4a2014
xor eax, eax
mov dword [rbx + 0x130], eax
jmp 0x49e644
movsxd rcx, ecx
lea rcx, [rcx + rcx*2]
shl rcx, 3
add rcx, qword [rax + 0x88]
mov eax, dword [rcx + 8]
mov dword [rbx + 0x130], eax
jmp 0x49e644
mov rdx, qword [rsp + 0x58]
mov al, byte [rdx]
cmp al, 0x88
sete cl
add cl, 1
mov qword [rdx + 0x50], 0
mov rbx, qword [rdx + 0x60]
mov qword [rsp + 0x80], rbx
mov qword [rdx + 0x60], 0
mov byte [rsp + 0x140], cl
mov rbx, rsi
cmp al, 0x88
jae 0x4a2071
cmp al, 0x87
lea rax, [0x00603a7c]
lea r9, [0x00603a97]
cmove r9, rax
jmp 0x4a2092
cmp al, 0x89
lea rcx, [0x00603a86]
lea rdx, [0x00603a97]
cmove rdx, rcx
cmp al, 0x88
lea r9, [0x00603a90]
cmovne r9, rdx
lea r8, [0x006042bd]
mov rsi, qword [rsp + 0x48]
mov rcx, rsi
mov dl, 1
call fcn.004d0380
lea r8, [rsp + 0x140]
mov rcx, rsi
mov rsi, qword [rsp + 0x58]
mov rdx, rsi
call fcn.0049e470
mov edi, eax
mov r12, qword [rsi + 0x50]
mov qword [rsi + 0x50], r14
mov qword [rsi + 0x48], 0
cmp byte [rsi], 0x86
jne 0x4a5a1d
movzx edx, word [rsi + 2]
movzx esi, word [r14 + 2]
movsx eax, dx
movsx ecx, si
cmp ax, cx
jge 0x4a3408
lea edx, [rax + 0x31]
cmp edx, ecx
jge 0x4a41cb
mov edx, esi
jmp 0x4a5a14
mov dword [rsp + 0x20], 0
mov rcx, r15
mov edx, 0x76
mov r8d, ebp
xor r9d, r9d
call fcn.0047df60
mov dword [r13 + 0x18], eax
mov qword [r13 + 0x50], 0
mov rcx, qword [r13 + 0x60]
mov qword [r13 + 0x60], 0
mov dword [rsp + 0x144], ebp
mov al, byte [r13]
cmp al, 0x88
mov dword [rsp + 0x60], ebp
mov qword [rsp + 0x80], rsi
mov qword [rsp + 0x70], rcx
jae 0x4a216e
cmp al, 0x87
lea rax, [0x00603a7c]
lea r9, [0x00603a97]
cmove r9, rax
jmp 0x4a218f
cmp al, 0x89
lea rcx, [0x00603a86]
lea rdx, [0x00603a97]
cmove rdx, rcx
cmp al, 0x88
lea r9, [0x00603a90]
cmovne r9, rdx
lea r8, [0x006042bd]
mov rcx, rbx
mov dl, 1
call fcn.004d0380
lea r8, [rsp + 0x140]
mov rcx, rbx
mov rdx, r13
call fcn.0049e470
mov edi, eax
mov r12, qword [r13 + 0x50]
mov qword [r13 + 0x50], r14
movzx eax, word [r14 + 2]
cmp word [r13 + 2], ax
jle 0x4a21ce
mov word [r13 + 2], ax
mov rdx, qword [r13 + 0x60]
test rdx, rdx
je 0x4a21e1
mov rcx, qword [rsp + 0x50]
call fcn.00468370
mov rax, qword [rsp + 0x70]
mov qword [r13 + 0x60], rax
test edi, edi
mov rsi, qword [rsp + 0x50]
jne 0x4a651d
mov r14d, dword [rbx + 0x44]
lea ebp, [r14 - 1]
lea eax, [r14 - 2]
mov dword [rsp + 0x70], eax
mov dword [rbx + 0x44], eax
mov rcx, rbx
mov rdx, r13
mov r8d, ebp
call fcn.004e3550
movsxd rax, dword [r15 + 0x90]
cmp dword [r15 + 0x94], eax
jle 0x4a3426
lea ecx, [rax + 1]
mov dword [r15 + 0x90], ecx
mov rcx, qword [r15 + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x23
mov rdx, qword [rsp + 0x80]
mov dword [rcx + rax*8 + 4], edx
mov dword [rcx + rax*8 + 8], ebp
mov dword [rcx + rax*8 + 0xc], 0
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4a3446
mov ebp, r8d
xor ebp, 1
and ebp, r8d
lea rbx, [r14 + 0x1c]
xor ecx, ecx
mov rax, rbp
jmp 0x4a2297
add rcx, 2
add rax, 0xfffffffffffffffe
add rbx, 0x40
cmp rbp, rcx
je 0x4a1ddd
mov edi, dword [rbx]
mov edx, edi
xor edx, 0xffffffbf
test edx, edi
jne 0x4a22a9
mov rdx, qword [rbx - 0x14]
mov byte [rdx], 0x79
mov esi, ecx
and esi, 1
mov rdx, rcx
xor rdx, 1
or rdx, rsi
shl rdx, 5
mov esi, dword [r14 + rdx + 0x1c]
mov edi, esi
xor edi, 0xffffffbf
test edi, esi
jne 0x4a2282
mov rdx, qword [r14 + rdx + 8]
mov byte [rdx], 0x79
jmp 0x4a2282
mov qword [r13 + 0x50], 0
mov r8d, dword [r14 + 8]
mov dword [r13 + 8], r8d
mov eax, dword [r14 + 0xc]
mov dword [r13 + 0xc], eax
test r8d, r8d
je 0x4a345f
mov eax, dword [r15 + 0x90]
cmp dword [r15 + 0x94], eax
jle 0x4a41e0
movsxd rdx, eax
lea ecx, [rdx + 1]
mov dword [r15 + 0x90], ecx
mov rcx, qword [r15 + 0x88]
lea rdx, [rdx + rdx*2]
mov dword [rcx + rdx*8], 0x10
mov dword [rcx + rdx*8 + 4], r8d
xorps xmm0, xmm0
movups xmmword [rcx + rdx*8 + 8], xmm0
jmp 0x4a41f8
mov rbx, qword [rsp + 0x48]
mov r15d, dword [rsp + 0x68]
jmp 0x4a18ee
lea rax, [rax + rax*2]
shl rax, 3
add rax, qword [rdx + 0x88]
mov byte [rax], 0x77
mov al, byte [rsp + 0x1bc]
mov ecx, eax
and cl, 1
xor al, 1
or al, cl
mov byte [rsp + 0x1bc], al
mov eax, dword [r13 + 4]
mov ecx, eax
xor ecx, 0xfffffffe
test ecx, eax
je 0x4a2468
mov r14d, dword [rbx + 0x34]
lea eax, [r14 + 1]
mov dword [rbx + 0x34], eax
mov dword [rsp + 0x1d4], r14d
mov rsi, qword [r13 + 0x20]
mov ebp, dword [rsi]
mov r12, qword [rbx]
lea ebx, [rbp + 1]
lea eax, [rbx + rbx*8 - 8]
movsxd r15, eax
movabs rax, 0x2ff55e08398fbd95
mov rcx, r15
sub rcx, rax
lea rdx, [rcx + rax]
add rdx, 0x28
mov rcx, r12
call fcn.00429840
mov rdi, rax
test rax, rax
je 0x4a247f
movsxd rax, ebx
lea rax, [rdi + rax*8]
add rax, 0x20
mov qword [rdi + 0x18], rax
mov word [rdi + 6], bp
mov word [rdi + 8], bx
mov al, byte [r12 + 0x64]
mov byte [rdi + 4], al
mov qword [rdi + 0x10], r12
mov dword [rdi], 1
mov rcx, rdi
add rcx, 0x28
xor edx, edx
mov r8, r15
call fcn.005f4c10
test ebp, ebp
mov r13, qword [rsp + 0x90]
jle 0x4a24f0
add rsi, 8
xor ebx, ebx
jmp 0x4a2448
mov qword [rdi + rbx*8 + 0x20], rax
movzx eax, byte [rsi + 0x10]
mov rcx, qword [rdi + 0x18]
mov byte [rcx + rbx], al
add rbx, 1
add rsi, 0x20
cmp rbp, rbx
je 0x4a24f0
mov rdx, qword [rsi]
mov rcx, qword [rsp + 0x48]
call fcn.0047fd40
test rax, rax
jne 0x4a2427
mov rax, qword [rsp + 0x48]
mov rax, qword [rax]
mov rax, qword [rax + 0x10]
jmp 0x4a2427
xor eax, eax
xor r14d, r14d
mov rbp, qword [rsp + 0x78]
mov r13, qword [rsp + 0x90]
jmp 0x4a255f
cmp byte [r12 + 0x67], 0
mov r13, qword [rsp + 0x90]
jne 0x4a24f0
cmp byte [r12 + 0x68], 0
jne 0x4a24f0
mov byte [r12 + 0x67], 1
cmp dword [r12 + 0xe4], 0
jle 0x4a24b4
mov dword [r12 + 0x198], 1
add dword [r12 + 0x1a0], 1
mov word [r12 + 0x1a4], 0
mov rcx, qword [r12 + 0x160]
test rcx, rcx
je 0x4a24f0
lea rdx, [0x005fc480]
call fcn.00419aa0
mov rax, qword [r12 + 0x160]
mov dword [rax + 0x18], 7
mov qword [rsp + 0x28], rdi
mov dword [rsp + 0x30], 0xfffffff8
mov dword [rsp + 0x20], 0
mov rsi, qword [rsp + 0x60]
mov rcx, rsi
mov edx, 0x76
mov r8d, r14d
xor r9d, r9d
call fcn.004c62a0
mov dword [rsp + 0x1d8], eax
mov ecx, dword [rsi + 0x90]
mov al, 3
test ecx, ecx
jle 0x4a2545
mov rdx, qword [rsi + 0x88]
add ecx, 0xffffffff
lea rcx, [rcx + rcx*2]
mov word [rdx + rcx*8 + 2], 8
mov rbx, qword [rsp + 0x48]
mov r12, qword [rsp + 0xb0]
xor r14d, r14d
mov rbp, qword [rsp + 0x78]
mov r15d, dword [rsp + 0x68]
mov byte [rsp + 0x1d1], al
test r15d, r15d
sete al
test r13, r13
setne cl
cmp al, cl
je 0x4a2629
test r15d, r15d
jne 0x4a2629
xor eax, eax
cmp byte [rsp + 0x1d0], 0
setne al
mov ecx, 0x4000
mov rdx, qword [rsp + 0x58]
and ecx, dword [rdx + 4]
shl eax, 8
or ecx, eax
mov dword [rsp + 0x50], ecx
mov rsi, qword [rdx + 0x70]
test rsi, rsi
mov qword [rsp + 0x70], rsi
je 0x4a2eca
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0x28]
mov rax, qword [rax + 0x30]
mov rax, qword [rax + 0x20]
mov edi, dword [rax]
mov rcx, rbx
call fcn.004c6120
mov r15, rax
mov r8d, dword [rsi + 0x58]
movsxd rax, dword [rax + 0x90]
cmp dword [r15 + 0x94], eax
jle 0x4a26f5
lea ecx, [rax + 1]
mov dword [r15 + 0x90], ecx
mov rcx, qword [r15 + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x76
mov dword [rcx + rax*8 + 4], r8d
mov dword [rcx + rax*8 + 8], edi
mov dword [rcx + rax*8 + 0xc], 0
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4a270d
test r13, r13
je 0x4a26db
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0x20]
mov ecx, dword [rax]
test ecx, ecx
jle 0x4a265c
lea edx, [rcx + 1]
add rax, 0x22
mov word [rax], 0
add ecx, 0xffffffff
add edx, 0xffffffff
add rax, 0x20
cmp edx, 1
jg 0x4a2648
mov eax, dword [r13]
test eax, eax
jle 0x4a267f
lea ecx, [rax + 1]
lea rdx, [r13 + 0x22]
mov word [rdx], 0
add eax, 0xffffffff
add ecx, 0xffffffff
add rdx, 0x20
cmp ecx, 1
jg 0x4a266b
mov rax, qword [rsp + 0x58]
cmp word [rax + 2], 0x43
jl 0x4a2696
mov rax, qword [rsp + 0x58]
mov word [rax + 2], 0x42
mov rsi, qword [rsp + 0x198]
test rsi, rsi
je 0x4a26cd
mov r9d, dword [r13]
cmp r9d, dword [rsi]
jne 0x4a26cd
test r9d, r9d
jle 0x4a377d
mov r8, r9
xor r8, 0xfffffffffffffffe
cmp r9d, 1
jne 0x4a4266
xor eax, eax
jmp 0x4a42f9
mov al, 1
mov dword [rsp + 0xa0], eax
jmp 0x4a436c
mov r13, qword [rsp + 0x58]
mov word [r13 + 2], 0
mov al, 1
mov dword [rsp + 0xa0], eax
jmp 0x4a4371
mov dword [rsp + 0x20], 0
mov rcx, r15
mov edx, 0x76
mov r9d, edi
call fcn.0047df60
mov r9d, dword [rsi + 0x58]
lea r8d, [r9 + 1]
movsxd rax, dword [r15 + 0x90]
cmp dword [r15 + 0x94], eax
jle 0x4a275e
lea ecx, [rax + 1]
mov dword [r15 + 0x90], ecx
mov rcx, qword [r15 + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x73
mov dword [rcx + rax*8 + 4], r8d
mov dword [rcx + rax*8 + 8], r9d
mov dword [rcx + rax*8 + 0xc], 0
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4a2773
mov dword [rsp + 0x20], 0
mov rcx, r15
mov edx, 0x73
call fcn.0047df60
mov r9d, dword [rsi + 0x58]
lea r8d, [r9 + 2]
movsxd rax, dword [r15 + 0x90]
cmp dword [r15 + 0x94], eax
jle 0x4a27c4
lea ecx, [rax + 1]
mov dword [r15 + 0x90], ecx
mov rcx, qword [r15 + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x73
mov dword [rcx + rax*8 + 4], r8d
mov dword [rcx + rax*8 + 8], r9d
mov dword [rcx + rax*8 + 0xc], 0
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4a27d9
mov dword [rsp + 0x20], 0
mov rcx, r15
mov edx, 0x73
call fcn.0047df60
mov r9d, dword [rsi + 0x58]
lea r8d, [r9 + 3]
movsxd rax, dword [r15 + 0x90]
cmp dword [r15 + 0x94], eax
jle 0x4a282a
lea ecx, [rax + 1]
mov dword [r15 + 0x90], ecx
mov rcx, qword [r15 + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x73
mov dword [rcx + rax*8 + 4], r8d
mov dword [rcx + rax*8 + 8], r9d
mov dword [rcx + rax*8 + 0xc], 0
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4a283f
mov dword [rsp + 0x20], 0
mov rcx, r15
mov edx, 0x73
call fcn.0047df60
mov rcx, qword [rsi + 0x10]
test rcx, rcx
je 0x4a28ad
mov eax, dword [rbx + 0x38]
lea r9d, [rax + 1]
add eax, dword [rcx]
mov dword [rsi + 0x6c], r9d
mov dword [rbx + 0x38], eax
movsxd rcx, dword [r15 + 0x90]
cmp dword [r15 + 0x94], ecx
jle 0x4a2899
lea edx, [rcx + 1]
mov dword [r15 + 0x90], edx
mov rdx, qword [r15 + 0x88]
lea rcx, [rcx + rcx*2]
mov qword [rdx + rcx*8], 0x4b
mov dword [rdx + rcx*8 + 8], r9d
mov dword [rdx + rcx*8 + 0xc], eax
mov qword [rdx + rcx*8 + 0x10], 0
jmp 0x4a28ad
mov dword [rsp + 0x20], eax
mov rcx, r15
mov edx, 0x4b
xor r8d, r8d
call fcn.0047df60
mov r9d, dword [rbx + 0x38]
add r9d, 1
mov dword [rbx + 0x38], r9d
mov dword [rsi + 0x80], r9d
movsxd rax, dword [r15 + 0x90]
cmp dword [r15 + 0x94], eax
jle 0x4a290b
lea ecx, [rax + 1]
mov dword [r15 + 0x90], ecx
mov rcx, qword [r15 + 0x88]
lea rax, [rax + rax*2]
movabs rdx, 0x100000047
mov qword [rcx + rax*8], rdx
mov dword [rcx + rax*8 + 8], r9d
mov dword [rcx + rax*8 + 0xc], 0
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4a2926
mov dword [rsp + 0x20], 0
mov rcx, r15
mov edx, 0x47
mov r8d, 1
call fcn.0047df60
cmp byte [rsi + 0x24], 0
je 0x4a29a4
mov eax, dword [rbx + 0x38]
lea r9d, [rax + 1]
mov dword [rsi + 0x84], r9d
add eax, 2
mov dword [rbx + 0x38], eax
mov dword [rsi + 0x88], eax
mov eax, dword [rbx + 0x34]
lea ecx, [rax + 1]
mov dword [rbx + 0x34], ecx
mov dword [rsi + 0x64], eax
movsxd rax, dword [r15 + 0x90]
cmp dword [r15 + 0x94], eax
jle 0x4a2de5
lea ecx, [rax + 1]
mov dword [r15 + 0x90], ecx
mov rcx, qword [r15 + 0x88]
lea rax, [rax + rax*2]
movabs rdx, 0x100000047
mov qword [rcx + rax*8], rdx
mov dword [rcx + rax*8 + 8], r9d
mov dword [rcx + rax*8 + 0xc], 0
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4a2e00
lea rdi, [0x006043a0]
mov r13, rsi
jmp 0x4a29d7
mov dword [rsp + 0x20], 0
mov rcx, r15
mov edx, 0x73
call fcn.0047df60
mov rbp, qword [rsp + 0x78]
mov r13, qword [r13 + 0x40]
test r13, r13
je 0x4a2eca
mov rax, qword [r13 + 0x50]
mov ecx, dword [rax + 4]
mov edx, ecx
xor edx, 0xffffefff
test edx, ecx
je 0x4a29f5
cmp byte [r13 + 0x21], 0x5a
jne 0x4a2b21
mov rcx, qword [rax + 0x38]
mov rbp, rcx
xor rbp, rdi
cmp rcx, rdi
sete dl
mov rax, rcx
lea rbx, [0x006043aa]
xor rax, rbx
cmp rcx, rbx
sete bl
xor bl, dl
or rax, rbp
sete al
test bl, bl
jne 0x4a2aa9
test al, al
jne 0x4a2aa9
lea rax, [0x006035d6]
cmp rcx, rax
sete dl
lea rax, [0x006035db]
cmp rcx, rax
sete al
test dl, al
mov rbx, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x78]
jne 0x4a2a5c
xor dl, al
je 0x4a29ca
mov r8d, dword [rbx + 0x34]
lea eax, [r8 + 1]
mov dword [rbx + 0x34], eax
mov dword [r13 + 0x64], r8d
mov r9d, dword [rsi + 0x58]
movsxd rax, dword [r15 + 0x90]
cmp dword [r15 + 0x94], eax
jle 0x4a2d52
lea ecx, [rax + 1]
mov dword [r15 + 0x90], ecx
mov rcx, qword [r15 + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x73
mov dword [rcx + rax*8 + 4], r8d
jmp 0x4a2d1a
mov rbx, qword [rsp + 0x48]
mov eax, dword [rbx + 0x38]
lea ecx, [rax + 1]
mov dword [r13 + 0x68], ecx
mov r8d, dword [rbx + 0x34]
lea ecx, [r8 + 1]
mov dword [rbx + 0x34], ecx
mov dword [r13 + 0x64], r8d
add eax, 2
mov dword [rbx + 0x38], eax
mov r9d, dword [rsi + 0x58]
movsxd rax, dword [r15 + 0x90]
cmp dword [r15 + 0x94], eax
jle 0x4a29b0
lea ecx, [rax + 1]
mov dword [r15 + 0x90], ecx
mov rcx, qword [r15 + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x73
mov dword [rcx + rax*8 + 4], r8d
mov dword [rcx + rax*8 + 8], r9d
mov dword [rcx + rax*8 + 0xc], 0
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4a29c5
mov rax, qword [r13 + 0x70]
mov rsi, qword [rax + 0x20]
mov r14d, dword [rsi]
mov rbx, qword [rbx]
lea r12d, [r14 + 1]
lea eax, [r12 + r12*8 - 8]
movsxd rdi, eax
lea rdx, [rdi + 0x28]
mov rcx, rbx
call fcn.00429840
test rax, rax
je 0x4a2be1
mov rbp, rax
movsxd rax, r12d
lea rax, [rax*8 + 0x20]
add rax, rbp
mov qword [rbp + 0x18], rax
mov word [rbp + 6], r14w
mov word [rbp + 8], r12w
mov al, byte [rbx + 0x64]
mov byte [rbp + 4], al
mov qword [rbp + 0x10], rbx
mov dword [rbp], 1
mov rcx, rbp
add rcx, 0x28
xor edx, edx
mov r8, rdi
call fcn.005f4c10
test r14d, r14d
jle 0x4a2bed
add rsi, 8
xor edi, edi
mov rbx, qword [rsp + 0x48]
mov r12, qword [rsp + 0xb0]
jmp 0x4a2bc8
mov qword [rbp + rdi*8 + 0x20], rax
movzx eax, byte [rsi + 0x10]
mov rcx, qword [rbp + 0x18]
mov byte [rcx + rdi], al
add rdi, 1
add rsi, 0x20
cmp r14, rdi
je 0x4a2bfa
mov rdx, qword [rsi]
mov rcx, rbx
call fcn.0047fd40
test rax, rax
jne 0x4a2bab
mov rax, qword [rbx]
mov rax, qword [rax + 0x10]
jmp 0x4a2bab
cmp byte [rbx + 0x67], 0
je 0x4a2d6c
xor ebp, ebp
mov rbx, qword [rsp + 0x48]
mov r12, qword [rsp + 0xb0]
xor r14d, r14d
mov rsi, qword [rsp + 0x70]
lea rdi, [0x006043a0]
mov r8d, dword [rbx + 0x34]
lea eax, [r8 + 1]
mov dword [rbx + 0x34], eax
mov dword [r13 + 0x64], r8d
mov eax, dword [rbx + 0x38]
lea ecx, [rax + 1]
mov dword [r13 + 0x68], ecx
add eax, 3
mov dword [rbx + 0x38], eax
test rbp, rbp
je 0x4a2c46
mov rax, qword [r13 + 0x50]
mov rax, qword [rax + 0x38]
cmp byte [rax + 1], 0x69
jne 0x4a2c46
mov rax, qword [rbp + 0x18]
mov byte [rax], 1
mov r8d, dword [r13 + 0x64]
movsxd rax, dword [r15 + 0x90]
cmp dword [r15 + 0x94], eax
jle 0x4a2c8b
lea ecx, [rax + 1]
mov dword [r15 + 0x90], ecx
mov rcx, qword [r15 + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x76
mov dword [rcx + rax*8 + 4], r8d
mov qword [rcx + rax*8 + 8], 2
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4a2ca6
mov dword [rsp + 0x20], 0
mov rcx, r15
mov edx, 0x76
mov r9d, 2
call fcn.0047df60
mov rcx, qword [r15]
cmp byte [rcx + 0x67], 0
je 0x4a2cbe
mov edx, 0xfffffff8
mov r8, rbp
call fcn.00444fc0
jmp 0x4a2ce0
mov rax, qword [r15 + 0x88]
mov ecx, dword [r15 + 0x90]
add ecx, 0xffffffff
movsxd rcx, ecx
lea rcx, [rcx + rcx*2]
mov byte [rax + rcx*8 + 1], 0xf8
mov qword [rax + rcx*8 + 0x10], rbp
mov r9d, dword [r13 + 0x68]
add r9d, 1
movsxd rax, dword [r15 + 0x90]
cmp dword [r15 + 0x94], eax
mov rbp, qword [rsp + 0x78]
jle 0x4a2d35
lea ecx, [rax + 1]
mov dword [r15 + 0x90], ecx
mov rcx, qword [r15 + 0x88]
lea rax, [rax + rax*2]
mov qword [rcx + rax*8], 0x47
mov dword [rcx + rax*8 + 8], r9d
mov dword [rcx + rax*8 + 0xc], 0
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4a29ca
mov dword [rsp + 0x20], 0
mov rcx, r15
mov edx, 0x47
xor r8d, r8d
call fcn.0047df60
jmp 0x4a29ca
mov dword [rsp + 0x20], 0
mov rcx, r15
mov edx, 0x73
call fcn.0047df60
jmp 0x4a29ca
cmp byte [rbx + 0x68], 0
mov r12, qword [rsp + 0xb0]
mov r14d, 0
mov rsi, qword [rsp + 0x70]
lea rdi, [0x006043a0]
jne 0x4a2dd9
mov byte [rbx + 0x67], 1
cmp dword [rbx + 0xe4], 0
jle 0x4a2da3
mov dword [rbx + 0x198], 1
add dword [rbx + 0x1a0], 1
mov word [rbx + 0x1a4], 0
mov rcx, qword [rbx + 0x160]
test rcx, rcx
je 0x4a2dd9
lea rdx, [0x005fc480]
call fcn.00419aa0
mov rax, qword [rbx + 0x160]
mov dword [rax + 0x18], 7
xor ebp, ebp
mov rbx, qword [rsp + 0x48]
jmp 0x4a2c09
mov dword [rsp + 0x20], 0
mov rcx, r15
mov edx, 0x47
mov r8d, 1
call fcn.0047df60
mov r9d, dword [rsi + 0x88]
movsxd rax, dword [r15 + 0x90]
cmp dword [r15 + 0x94], eax
jle 0x4a2e4c
lea ecx, [rax + 1]
mov dword [r15 + 0x90], ecx
mov rcx, qword [r15 + 0x88]
lea rax, [rax + rax*2]
mov qword [rcx + rax*8], 0x47
mov dword [rcx + rax*8 + 8], r9d
mov dword [rcx + rax*8 + 0xc], 0
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4a2e64
mov dword [rsp + 0x20], 0
mov rcx, r15
mov edx, 0x47
xor r8d, r8d
call fcn.0047df60
mov r9d, dword [rsi + 0x58]
mov r8d, dword [rsi + 0x64]
movsxd rax, dword [r15 + 0x90]
cmp dword [r15 + 0x94], eax
jle 0x4a2eb5
lea ecx, [rax + 1]
mov dword [r15 + 0x90], ecx
mov rcx, qword [r15 + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x73
mov dword [rcx + rax*8 + 4], r8d
mov dword [rcx + rax*8 + 8], r9d
mov dword [rcx + rax*8 + 0xc], 0
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4a2eca
mov dword [rsp + 0x20], 0
mov rcx, r15
mov edx, 0x73
call fcn.0047df60
mov rdx, qword [rsp + 0x58]
mov rax, qword [rdx + 0x20]
mov r9, qword [rsp + 0x198]
movsx ecx, word [rdx + 2]
mov dword [rsp + 0x38], ecx
mov ecx, dword [rsp + 0x50]
mov word [rsp + 0x30], cx
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], rax
mov rcx, rbx
mov rdx, rbp
mov r8, qword [rsp + 0x88]
call fcn.004e3b40
test rax, rax
je 0x4a2f95
mov rsi, rax
movzx eax, word [rax + 0x50]
mov rcx, qword [rsp + 0x58]
cmp ax, word [rcx + 2]
jge 0x4a2f2d
mov rcx, qword [rsp + 0x58]
mov word [rcx + 2], ax
cmp byte [rsp + 0x1d0], 0
je 0x4a2f45
mov al, byte [rsi + 0x4b]
test al, al
je 0x4a2f45
mov byte [rsp + 0x1d1], al
mov rax, qword [rsp + 0x198]
test rax, rax
je 0x4a3024
movsx ecx, byte [rsi + 0x49]
mov dword [rsp + 0x1a0], ecx
mov edx, dword [rsi + 0x4c]
not edx
or edx, 0xfffffffb
cmp edx, 0xffffffff
je 0x4a3004
movzx edx, byte [rsi + 0x48]
imul rdx, rdx, 0x70
cmp qword [rdx + rsi + 0x338], 0
lea rbp, [rsi + 0x38]
lea rdx, [rdx + rsi + 0x310]
cmovne rdx, rbp
jmp 0x4a300b
mov edi, 1
jmp 0x49e59f
cmp byte [rsi + 0x68], 0
mov r12, qword [rsp + 0x70]
jne 0x4a1f3c
mov byte [rsi + 0x67], 1
cmp dword [rsi + 0xe4], 0
jle 0x4a2fc5
mov dword [rsi + 0x198], 1
add dword [rsi + 0x1a0], 1
mov word [rsi + 0x1a4], 0
mov rcx, qword [rsi + 0x160]
test rcx, rcx
je 0x4a1f3c
lea rdx, [0x005fc480]
call fcn.00419aa0
mov rax, qword [rsi + 0x160]
mov dword [rax + 0x18], 7
jmp 0x4a1f3c
mov rdx, rsi
add rdx, 0x38
mov edx, dword [rdx]
mov dword [rsp + 0x1b8], edx
cmp dword [rax], ecx
jne 0x4a306c
mov qword [rsp + 0x198], 0
mov eax, dword [rsp + 0x1b0]
test eax, eax
js 0x4a306c
mov rcx, qword [rsp + 0x60]
mov rcx, qword [rcx]
cmp byte [rcx + 0x67], 0
jne 0x4a306c
mov rdx, qword [rsp + 0x60]
mov rbp, qword [rdx + 0x88]
lea rdi, [rax + rax*2]
mov r8, qword [rbp + rdi*8 + 0x10]
movsx edx, byte [rbp + rdi*8 + 1]
call fcn.00444fc0
mov qword [rbp + rdi*8 + 0x10], 0
mov word [rbp + rdi*8], 0xb8
cmp qword [rsp + 0x70], 0
je 0x4a31f2
mov qword [rsp + 0x188], rsi
mov edi, dword [rbx + 0x38]
mov eax, dword [rbx + 0x44]
mov qword [rsp + 0x180], rax
lea r13d, [rax - 1]
add eax, 0xfffffffd
mov dword [rsp + 0x178], eax
mov dword [rbx + 0x44], eax
add edi, 1
mov dword [rbx + 0x38], edi
mov rsi, qword [rsp + 0x58]
mov rbp, qword [rsi + 0x70]
mov rax, qword [rbp + 0x18]
mov qword [rsp + 0xb8], rax
mov rcx, rbx
call fcn.004c6120
mov r15, rax
mov rax, qword [rsi + 0x28]
mov r12d, dword [rax + 0x4c]
mov rax, qword [rax + 0x28]
movsx r14d, word [rax + 0x36]
mov edx, dword [rbx + 0x44]
lea eax, [rdx - 1]
mov dword [rsp + 0xc0], eax
mov dword [rbx + 0x44], eax
xorps xmm0, xmm0
movups xmmword [rsp + 0x110], xmm0
movups xmmword [rsp + 0x100], xmm0
mov qword [rsp + 0x120], 0
mov qword [rsp + 0xe0], rbx
mov qword [rsp + 0xe8], rbp
mov qword [rsp + 0xf0], r15
mov dword [rsp + 0xc8], edi
mov dword [rsp + 0xfc], edi
mov dword [rsp + 0xf8], r13d
mov ecx, dword [rbp + 0x58]
mov dword [rsp + 0x114], ecx
lea eax, [rcx + 2]
mov dword [rsp + 0x10c], eax
mov qword [rsp + 0x90], rcx
lea eax, [rcx + 3]
mov dword [rsp + 0x11c], eax
mov al, byte [rbp + 0x21]
cmp al, 0x5a
mov qword [rsp + 0x70], rbp
mov qword [rsp + 0x138], rdx
jae 0x4a3244
cmp al, 0x56
jne 0x4a3352
cmp byte [rbp + 0x20], 0x59
je 0x4a335d
mov rax, qword [rsp + 0x70]
mov rdx, qword [rax + 0x28]
mov rax, qword [rsp + 0x48]
mov rcx, qword [rax]
mov qword [rsp + 0x140], 0
test rdx, rdx
je 0x4a335d
mov r8b, byte [rcx + 0x64]
lea rax, [rsp + 0x140]
mov qword [rsp + 0x20], rax
mov r9b, 0x43
call fcn.004808c0
mov rdi, qword [rsp + 0x140]
test rdi, rdi
je 0x4a335d
movzx esi, word [rdi + 0x14]
movzx eax, si
not eax
mov ecx, eax
or ecx, 0xffffffdb
cmp ecx, 0xffffffff
je 0x4a63f1
mov rbp, qword [rdi]
jmp 0x4a8132
mov eax, dword [rsi + 0x38]
mov ecx, dword [rsi + 0x3c]
mov dword [rsp + 0x38], ecx
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x28], r12
lea rax, [rsp + 0x1d0]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x198]
mov rcx, rbx
mov rdx, qword [rsp + 0x58]
mov r8d, 0xffffffff
call fcn.004e6450
mov rcx, rsi
call fcn.004e7cc0
xor esi, esi
mov r15, qword [rsp + 0x80]
jmp 0x4a87ce
jne 0x4a3352
cmp dword [rbp + 0x84], 0
jne 0x4a335d
lea rsi, [0x006043a0]
lea rdi, [0x006043aa]
lea r8, [0x006035d6]
lea r9, [0x006035db]
mov rbx, qword [rsp + 0x70]
mov rax, qword [rbx + 0x50]
mov rbp, qword [rax + 0x38]
mov rdx, rbp
xor rdx, rsi
cmp rbp, rsi
sete r10b
mov rax, rbp
xor rax, rdi
cmp rbp, rdi
sete cl
xor cl, r10b
or rax, rdx
sete dl
or dl, cl
cmp rbp, r8
sete al
mov ecx, eax
and cl, dl
xor dl, al
or dl, cl
cmp rbp, r9
sete al
test al, dl
jne 0x4a335d
xor al, dl
jne 0x4a335d
mov rbx, qword [rbx + 0x40]
test rbx, rbx
jne 0x4a3278
mov rax, qword [rsp + 0x70]
cmp byte [rax + 0x22], 0x58
jne 0x4a84ae
mov rax, qword [rsp + 0x70]
cmp byte [rax + 0x20], 0x59
je 0x4a335d
mov rax, qword [rsp + 0x70]
mov rdx, qword [rax + 0x30]
mov rax, qword [rsp + 0x48]
mov rcx, qword [rax]
mov qword [rsp + 0x140], 0
test rdx, rdx
je 0x4a335d
mov r8b, byte [rcx + 0x64]
lea rax, [rsp + 0x140]
mov qword [rsp + 0x20], rax
mov r9b, 0x43
call fcn.004808c0
mov rdi, qword [rsp + 0x140]
test rdi, rdi
je 0x4a335d
movzx esi, word [rdi + 0x14]
movzx eax, si
mov ecx, eax
xor ecx, 0xffdb
test ecx, eax
je 0x4a8436
mov rbp, qword [rdi]
jmp 0x4a99aa
mov dword [rsp + 0x104], 2
mov rbp, qword [rsp + 0x48]
mov esi, dword [rbp + 0x38]
lea eax, [rsi + r14]
add eax, 2
mov dword [rbp + 0x38], eax
mov dword [rsp + 0x108], eax
mov rcx, qword [rsp + 0x70]
mov cl, byte [rcx + 0x21]
cmp cl, 0x58
je 0x4a3390
mov dword [rsp + 0x68], 0
cmp cl, 0x56
jne 0x4a33a0
lea eax, [rsi + r14]
add eax, 3
mov dword [rbp + 0x38], eax
mov ecx, eax
mov dword [rsp + 0x68], eax
mov rcx, qword [rsp + 0x70]
mov cl, byte [rcx + 0x22]
cmp cl, 0x58
je 0x4a33bd
mov dword [rsp + 0x88], 0
cmp cl, 0x56
jne 0x4a33cc
add eax, 1
mov dword [rbp + 0x38], eax
mov ecx, eax
mov dword [rsp + 0x88], eax
mov edi, esi
add edi, 1
mov dword [rsp + 0xa0], 0
mov rcx, qword [rsp + 0x70]
cmp byte [rcx + 0x20], 0x4c
mov ebx, 0
je 0x4a37e0
mov rcx, qword [rsp + 0xb8]
test rcx, rcx
je 0x4a378d
mov ecx, dword [rcx]
jmp 0x4a378f
lea esi, [rcx + 0x31]
cmp esi, eax
jl 0x4a5a14
lea esi, [rcx + 0x1f]
cmp esi, eax
jge 0x4a59e6
add edx, 1
jmp 0x4a5a14
mov dword [rsp + 0x20], 0
mov rcx, r15
mov edx, 0x23
mov r8, qword [rsp + 0x80]
mov r9d, ebp
call fcn.0047df60
mov al, byte [rbx + 0x1f]
test al, al
je 0x4a3472
add al, 0xff
mov byte [rbx + 0x1f], al
movzx eax, al
mov r13d, dword [rbx + rax*4 + 0xd8]
jmp 0x4a347e
mov r13, rsi
mov dword [rsp + 0x80], 0
jmp 0x4a4cb6
mov r13d, dword [rbx + 0x38]
add r13d, 1
mov dword [rbx + 0x38], r13d
mov eax, dword [r15 + 0x90]
cmp dword [r15 + 0x94], eax
jle 0x4a34d7
mov dword [rsp + 0xa8], eax
cdqe
lea ecx, [rax + 1]
mov dword [r15 + 0x90], ecx
mov rcx, qword [r15 + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x86
mov rdx, qword [rsp + 0x80]
mov dword [rcx + rax*8 + 4], edx
mov dword [rcx + rax*8 + 8], r13d
mov dword [rcx + rax*8 + 0xc], 0
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4a34fe
mov dword [rsp + 0x20], 0
mov rcx, r15
mov edx, 0x86
mov r8, qword [rsp + 0x80]
mov r9d, r13d
call fcn.0047df60
mov dword [rsp + 0xa8], eax
mov r9d, dword [rsp + 0x70]
mov eax, dword [r15 + 0x90]
cmp dword [r15 + 0x94], eax
jle 0x4a3555
movsxd rcx, eax
lea edx, [rcx + 1]
mov dword [r15 + 0x90], edx
mov rdx, qword [r15 + 0x88]
lea rcx, [rcx + rcx*2]
mov dword [rdx + rcx*8], 0x1b
mov r8d, ebp
mov ebp, dword [rsp + 0x60]
mov dword [rdx + rcx*8 + 4], ebp
mov ebp, r8d
mov dword [rdx + rcx*8 + 8], r9d
mov dword [rdx + rcx*8 + 0xc], r13d
mov qword [rdx + rcx*8 + 0x10], 0
jmp 0x4a3576
mov dword [rsp + 0x20], r13d
mov rcx, r15
mov edx, 0x1b
mov r8d, dword [rsp + 0x60]
mov r9d, dword [rsp + 0x70]
call fcn.0047df60
mov r9d, dword [rsp + 0x70]
mov rcx, qword [r15]
cmp byte [rcx + 0x67], 0
jne 0x4a3599
mov rcx, qword [r15 + 0x88]
cdqe
lea rax, [rax + rax*2]
mov byte [rcx + rax*8 + 1], 0xfd
mov dword [rcx + rax*8 + 0x10], 0
test r13d, r13d
je 0x4a35b6
movzx eax, byte [rbx + 0x1f]
cmp rax, 7
ja 0x4a35b6
lea ecx, [rax + 1]
mov byte [rbx + 0x1f], cl
mov dword [rbx + rax*4 + 0xd8], r13d
mov dword [rsp + 0x38], ebp
mov dword [rsp + 0x30], r9d
lea rax, [rsp + 0xe0]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 0
mov rcx, rbx
mov r13, qword [rsp + 0x58]
mov rdx, r13
mov r8, qword [rsp + 0x80]
xor r9d, r9d
call fcn.004e6450
mov rcx, qword [r15 + 0x18]
mov r8d, 1
sub r8d, r14d
mov eax, dword [rcx + 0x44]
add eax, dword [rcx + 0x48]
js 0x4a3618
mov eax, dword [r15 + 0x90]
mov rcx, qword [rcx + 0x50]
movsxd rdx, r8d
mov dword [rcx + rdx*4], eax
jmp 0x4a3620
mov rdx, r15
call fcn.004d3e00
movsxd rax, dword [r15 + 0x90]
cmp dword [r15 + 0x94], eax
jle 0x4a3676
lea ecx, [rax + 1]
mov dword [r15 + 0x90], ecx
mov rcx, qword [r15 + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x26
mov rdx, qword [rsp + 0x80]
mov dword [rcx + rax*8 + 4], edx
mov edx, dword [rsp + 0xa8]
mov dword [rcx + rax*8 + 8], edx
mov dword [rcx + rax*8 + 0xc], 0
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4a369b
mov dword [rsp + 0x20], 0
mov rcx, r15
mov edx, 0x26
mov r8, qword [rsp + 0x80]
mov r9d, dword [rsp + 0xa8]
call fcn.0047df60
mov rcx, qword [r15 + 0x18]
neg r14d
mov eax, dword [rcx + 0x44]
add eax, dword [rcx + 0x48]
js 0x4a36bd
mov eax, dword [r15 + 0x90]
mov rcx, qword [rcx + 0x50]
movsxd rdx, r14d
mov dword [rcx + rdx*4], eax
jmp 0x4a36c8
mov rdx, r15
mov r8d, r14d
call fcn.004d3e00
movsxd rax, dword [r15 + 0x90]
cmp dword [r15 + 0x94], eax
jle 0x4a3706
lea ecx, [rax + 1]
mov dword [r15 + 0x90], ecx
mov rcx, qword [r15 + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x7a
mov edx, dword [rsp + 0x60]
mov dword [rcx + rax*8 + 4], edx
xorps xmm0, xmm0
movups xmmword [rcx + rax*8 + 8], xmm0
jmp 0x4a3723
mov dword [rsp + 0x20], 0
mov rcx, r15
mov edx, 0x7a
mov r8d, dword [rsp + 0x60]
xor r9d, r9d
call fcn.0047df60
movsxd rax, dword [r15 + 0x90]
cmp dword [r15 + 0x94], eax
jle 0x4a3760
lea ecx, [rax + 1]
mov dword [r15 + 0x90], ecx
mov rcx, qword [r15 + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x7a
mov rdx, qword [rsp + 0x80]
mov dword [rcx + rax*8 + 4], edx
jmp 0x4a5c21
mov dword [rsp + 0x20], 0
mov rcx, r15
mov edx, 0x7a
mov r8, qword [rsp + 0x80]
jmp 0x4a5c41
mov dword [rsp + 0xa0], 0
jmp 0x4a436c
xor ecx, ecx
mov rdx, qword [rsp + 0x70]
mov ebx, dword [rdx + 0x78]
add ebx, edi
mov rdx, qword [rdx + 0x10]
test rdx, rdx
je 0x4a37a4
add ebx, dword [rdx]
lea edx, [rax + 1]
mov dword [rsp + 0xa0], edx
lea edx, [rcx + rax]
add eax, ecx
add eax, 1
mov dword [rsp + 0x110], eax
lea eax, [rcx + rdx]
add eax, 1
add edx, ecx
mov dword [rsp + 0x118], eax
lea eax, [rcx + rdx]
add eax, 1
add edx, ecx
mov dword [rsp + 0x120], eax
add edx, ecx
mov dword [rbp + 0x38], edx
mov dword [rsp + 0x98], ebx
test r14w, r14w
mov r13, qword [rsp + 0x70]
jle 0x4a3862
xor ebx, ebx
jmp 0x4a3830
lea edx, [rcx + 1]
mov dword [r15 + 0x90], edx
mov rdx, qword [r15 + 0x88]
lea rcx, [rcx + rcx*2]
mov dword [rdx + rcx*8], 0x5e
mov dword [rdx + rcx*8 + 4], r12d
mov dword [rdx + rcx*8 + 8], ebx
mov dword [rdx + rcx*8 + 0xc], eax
mov qword [rdx + rcx*8 + 0x10], 0
add ebx, 1
cmp r14d, ebx
je 0x4a3862
lea eax, [rdi + rbx]
movsxd rcx, dword [r15 + 0x90]
cmp dword [r15 + 0x94], ecx
jg 0x4a37f6
mov dword [rsp + 0x20], eax
mov rcx, r15
mov edx, 0x5e
mov r8d, r12d
mov r9d, ebx
call fcn.0047df60
add ebx, 1
cmp r14d, ebx
jne 0x4a3830
lea ebp, [rsi + r14]
add ebp, 1
movsxd rax, dword [r15 + 0x90]
cmp dword [r15 + 0x94], eax
jle 0x4a38ad
lea ecx, [rax + 1]
mov dword [r15 + 0x90], ecx
mov rcx, qword [r15 + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x61
mov dword [rcx + rax*8 + 4], edi
mov dword [rcx + rax*8 + 8], r14d
mov dword [rcx + rax*8 + 0xc], ebp
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4a38c4
mov dword [rsp + 0x20], ebp
mov rcx, r15
mov edx, 0x61
mov r8d, edi
mov r9d, r14d
call fcn.0047df60
lea rax, [r15 + 0x90]
mov qword [rsp + 0x78], rax
mov rax, r15
add rax, 0x94
mov qword [rsp + 0x50], rax
mov rbx, qword [r13 + 0x10]
test rbx, rbx
je 0x4a39c9
mov dword [rsp + 0x190], ebp
add edi, dword [r13 + 0x78]
mov r13d, dword [rbx]
mov rax, qword [rsp + 0x48]
mov r12, qword [rax]
lea esi, [r13 + 1]
lea eax, [rsi + rsi*8 - 8]
movsxd r14, eax
movabs rax, 0x173056bd8695d5e5
mov rcx, r14
sub rcx, rax
lea rdx, [rcx + rax]
add rdx, 0x28
mov rcx, r12
call fcn.00429840
mov rbp, rax
test rax, rax
je 0x4a39e8
movsxd rax, esi
lea rax, [rax*8 + 0x20]
add rax, rbp
mov qword [rbp + 0x18], rax
mov word [rbp + 6], r13w
mov word [rbp + 8], si
mov al, byte [r12 + 0x64]
mov byte [rbp + 4], al
mov qword [rbp + 0x10], r12
mov dword [rbp], 1
mov rcx, rbp
add rcx, 0x28
xor edx, edx
mov r8, r14
call fcn.005f4c10
test r13d, r13d
jle 0x4a3a51
add rbx, 8
xor esi, esi
jmp 0x4a39a9
mov qword [rbp + rsi*8 + 0x20], rax
movzx eax, byte [rbx + 0x10]
mov rcx, qword [rbp + 0x18]
mov byte [rcx + rsi], al
add rsi, 1
add rbx, 0x20
cmp r13, rsi
je 0x4a3a51
mov rdx, qword [rbx]
mov rcx, qword [rsp + 0x48]
call fcn.0047fd40
test rax, rax
jne 0x4a3988
mov rax, qword [rsp + 0x48]
mov rax, qword [rax]
mov rax, qword [rax + 0x10]
jmp 0x4a3988
mov dword [rsp + 0xd0], 0
xor esi, esi
mov r14, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x90]
jmp 0x4a3c55
cmp byte [r12 + 0x67], 0
jne 0x4a3a51
cmp byte [r12 + 0x68], 0
jne 0x4a3a51
mov byte [r12 + 0x67], 1
cmp dword [r12 + 0xe4], 0
jle 0x4a3a15
mov dword [r12 + 0x198], 1
add dword [r12 + 0x1a0], 1
mov word [r12 + 0x1a4], 0
mov rcx, qword [r12 + 0x160]
test rcx, rcx
je 0x4a3a51
lea rdx, [0x005fc480]
call fcn.00419aa0
mov rax, qword [r12 + 0x160]
mov dword [rax + 0x18], 7
mov rsi, qword [rsp + 0x48]
mov eax, dword [rsi + 0x38]
add eax, 1
mov dword [rsp + 0xd0], eax
mov dword [rsi + 0x38], eax
mov rax, qword [rsp + 0x70]
mov r9d, dword [rax + 0x6c]
mov rax, qword [rsp + 0x78]
mov r14d, dword [rax]
mov rax, qword [rsp + 0x50]
cmp dword [rax], r14d
jle 0x4a3ab9
movsxd rax, r14d
lea ecx, [rax + 1]
mov dword [r15 + 0x90], ecx
mov rcx, qword [r15 + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x5a
mov dword [rcx + rax*8 + 4], edi
mov dword [rcx + rax*8 + 8], r9d
mov dword [rcx + rax*8 + 0xc], r13d
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4a3ad1
mov dword [rsp + 0x20], r13d
mov rcx, r15
mov edx, 0x5a
mov r8d, edi
call fcn.0047df60
mov r14d, eax
mov rcx, qword [r15]
cmp byte [rcx + 0x67], 0
je 0x4a3ae9
mov edx, 0xfffffff8
mov r8, rbp
call fcn.00444fc0
jmp 0x4a3b0b
mov rax, qword [r15 + 0x88]
mov ecx, dword [r15 + 0x90]
add ecx, 0xffffffff
movsxd rcx, ecx
lea rcx, [rcx + rcx*2]
mov byte [rax + rcx*8 + 1], 0xf8
mov qword [rax + rcx*8 + 0x10], rbp
lea r8d, [r14 + 2]
add r14d, 4
mov rax, qword [rsp + 0x78]
movsxd rax, dword [rax]
mov rcx, qword [rsp + 0x50]
cmp dword [rcx], eax
mov r12, qword [rsp + 0x70]
jle 0x4a3b5f
lea ecx, [rax + 1]
mov dword [r15 + 0x90], ecx
mov rcx, qword [r15 + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0xd
mov dword [rcx + rax*8 + 4], r8d
mov dword [rcx + rax*8 + 8], r14d
mov dword [rcx + rax*8 + 0xc], r8d
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4a3b74
mov dword [rsp + 0x20], r8d
mov rcx, r15
mov edx, 0xd
mov r9d, r14d
call fcn.0047df60
mov rax, qword [rsp + 0x78]
mov esi, dword [rax]
mov rax, qword [rsp + 0x50]
cmp dword [rax], esi
mov rbx, qword [rsp + 0x90]
jle 0x4a3bc0
movsxd rax, esi
lea ecx, [rax + 1]
mov dword [r15 + 0x90], ecx
mov rcx, qword [r15 + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 9
mov edx, dword [rsp + 0xd0]
mov dword [rcx + rax*8 + 4], edx
xorps xmm0, xmm0
movups xmmword [rcx + rax*8 + 8], xmm0
jmp 0x4a3be2
mov dword [rsp + 0x20], 0
mov rcx, r15
mov edx, 9
mov r8d, dword [rsp + 0xd0]
xor r9d, r9d
call fcn.0047df60
mov esi, eax
mov r9d, dword [r12 + 0x6c]
add r13d, 0xffffffff
mov rax, qword [rsp + 0x78]
movsxd rax, dword [rax]
mov rcx, qword [rsp + 0x50]
cmp dword [rcx], eax
jle 0x4a3c31
lea ecx, [rax + 1]
mov dword [r15 + 0x90], ecx
mov rcx, qword [r15 + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x50
mov dword [rcx + rax*8 + 4], edi
mov dword [rcx + rax*8 + 8], r9d
mov dword [rcx + rax*8 + 0xc], r13d
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4a3c46
mov dword [rsp + 0x20], r13d
mov rcx, r15
mov edx, 0x50
mov r8d, edi
call fcn.0047df60
mov ebp, dword [rsp + 0x190]
mov r13, r12
mov r14, qword [rsp + 0x48]
add ebx, 1
mov r9d, dword [rsp + 0x108]
mov rax, qword [rsp + 0x78]
movsxd rax, dword [rax]
mov rcx, qword [rsp + 0x50]
cmp dword [rcx], eax
mov rdi, qword [rsp + 0x180]
jle 0x4a3cb1
lea ecx, [rax + 1]
mov dword [r15 + 0x90], ecx
mov rcx, qword [r15 + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x7f
mov dword [rcx + rax*8 + 4], ebx
mov dword [rcx + rax*8 + 8], r9d
mov dword [rcx + rax*8 + 0xc], 0
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4a3cc9
mov dword [rsp + 0x20], 0
mov rcx, r15
mov edx, 0x7f
mov r8d, ebx
call fcn.0047df60
mov eax, dword [rsp + 0x108]
mov rcx, qword [rsp + 0x78]
movsxd rcx, dword [rcx]
mov rdx, qword [rsp + 0x50]
cmp dword [rdx], ecx
jle 0x4a3d14
lea edx, [rcx + 1]
mov dword [r15 + 0x90], edx
mov rdx, qword [r15 + 0x88]
lea rcx, [rcx + rcx*2]
mov dword [rdx + rcx*8], pe_nt_image_headers64
mov dword [rdx + rcx*8 + 4], ebx
mov dword [rdx + rcx*8 + 8], ebp
mov dword [rdx + rcx*8 + 0xc], eax
mov qword [rdx + rcx*8 + 0x10], 0
jmp 0x4a3d2b
mov dword [rsp + 0x20], eax
mov rcx, r15
mov edx, pe_nt_image_headers64
mov r8d, ebx
mov r9d, ebp
call fcn.0047df60
mov r8d, dword [r13 + 0x80]
mov eax, dword [rsp + 0x108]
mov rcx, qword [rsp + 0x78]
mov edx, dword [rcx]
mov rcx, qword [rsp + 0x50]
cmp dword [rcx], edx
mov qword [rsp + 0x90], rbx
mov dword [rsp + 0xdc], esi
jle 0x4a3d9a
mov dword [rsp + 0xd8], edx
movsxd rcx, edx
lea edx, [rcx + 1]
mov dword [r15 + 0x90], edx
mov rdx, qword [r15 + 0x88]
lea rcx, [rcx + rcx*2]
mov dword [rdx + rcx*8], 0x34
mov dword [rdx + rcx*8 + 4], r8d
mov dword [rdx + rcx*8 + 8], 0
mov dword [rdx + rcx*8 + 0xc], eax
mov qword [rdx + rcx*8 + 0x10], 0
jmp 0x4a3db5
mov dword [rsp + 0x20], eax
mov rcx, r15
mov edx, 0x34
xor r9d, r9d
call fcn.0047df60
mov dword [rsp + 0xd8], eax
lea eax, [rdi - 2]
mov dword [rsp + 0x190], eax
mov rcx, r14
call fcn.004c6120
mov rdi, rax
xor ebx, ebx
lea r14, [0x006043a0]
lea rbp, [0x006043aa]
xorps xmm6, xmm6
mov rsi, qword [rsp + 0x70]
jmp 0x4a3e23
lea ecx, [rax + 1]
mov dword [rdi + 0x90], ecx
mov rcx, qword [rdi + 0x88]
lea rax, [rax + rax*2]
mov qword [rcx + rax*8], 0x47
mov dword [rcx + rax*8 + 8], r9d
mov dword [rcx + rax*8 + 0xc], 0
mov qword [rcx + rax*8 + 0x10], 0
mov rsi, qword [rsi + 0x40]
test rsi, rsi
je 0x4a403c
mov r12, qword [rsi + 0x50]
mov r9d, dword [rsi + 0x5c]
movsxd rax, dword [rdi + 0x90]
cmp dword [rdi + 0x94], eax
jle 0x4a3e6e
lea ecx, [rax + 1]
mov dword [rdi + 0x90], ecx
mov rcx, qword [rdi + 0x88]
lea rax, [rax + rax*2]
mov qword [rcx + rax*8], 0x4b
mov dword [rcx + rax*8 + 8], r9d
mov dword [rcx + rax*8 + 0xc], 0
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4a3e86
mov dword [rsp + 0x20], 0
mov rcx, rdi
mov edx, 0x4b
xor r8d, r8d
call fcn.0047df60
mov rax, qword [rsi + 0x70]
mov rax, qword [rax + 0x20]
test rax, rax
je 0x4a3e9b
mov eax, dword [rax]
cmp ebx, eax
jle 0x4a3ea1
jmp 0x4a3ea3
test ebx, ebx
jg 0x4a3ea3
xor eax, eax
mov ebx, eax
mov rax, qword [rsp + 0x70]
cmp dword [rax + 0x84], 0
jne 0x4a3e16
mov rcx, qword [r12 + 0x38]
cmp rcx, r14
sete al
cmp rcx, rbp
sete cl
test al, cl
jne 0x4a3ed2
xor al, cl
je 0x4a3f94
mov r9d, dword [rsi + 0x68]
movsxd rax, dword [rdi + 0x90]
cmp dword [rdi + 0x94], eax
jle 0x4a3f19
lea ecx, [rax + 1]
mov dword [rdi + 0x90], ecx
mov rcx, qword [rdi + 0x88]
lea rax, [rax + rax*2]
mov qword [rcx + rax*8], 0x47
mov dword [rcx + rax*8 + 8], r9d
mov dword [rcx + rax*8 + 0xc], 0
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4a3f31
mov dword [rsp + 0x20], 0
mov rcx, rdi
mov edx, 0x47
xor r8d, r8d
call fcn.0047df60
mov r9d, dword [rsi + 0x68]
add r9d, 1
movsxd rax, dword [rdi + 0x90]
cmp dword [rdi + 0x94], eax
jle 0x4a3f7c
lea ecx, [rax + 1]
mov dword [rdi + 0x90], ecx
mov rcx, qword [rdi + 0x88]
lea rax, [rax + rax*2]
mov qword [rcx + rax*8], 0x47
mov dword [rcx + rax*8 + 8], r9d
mov dword [rcx + rax*8 + 0xc], 0
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4a3f94
mov dword [rsp + 0x20], 0
mov rcx, rdi
mov edx, 0x47
xor r8d, r8d
call fcn.0047df60
mov eax, dword [r12 + 4]
mov ecx, eax
xor ecx, 0xffffefff
test ecx, eax
je 0x4a3e16
mov r8d, dword [rsi + 0x64]
test r8d, r8d
je 0x4a3e16
movsxd rax, dword [rdi + 0x90]
cmp dword [rdi + 0x94], eax
jle 0x4a3fec
lea ecx, [rax + 1]
mov dword [rdi + 0x90], ecx
mov rcx, qword [rdi + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x92
mov dword [rcx + rax*8 + 4], r8d
movups xmmword [rcx + rax*8 + 8], xmm6
jmp 0x4a4004
mov dword [rsp + 0x20], 0
mov rcx, rdi
mov edx, 0x92
xor r9d, r9d
call fcn.0047df60
mov r9d, dword [rsi + 0x68]
add r9d, 1
movsxd rax, dword [rdi + 0x90]
cmp dword [rdi + 0x94], eax
jg 0x4a3de4
mov dword [rsp + 0x20], 0
mov rcx, rdi
mov edx, 0x47
xor r8d, r8d
call fcn.0047df60
jmp 0x4a3e16
mov rsi, qword [rsp + 0x48]
mov eax, dword [rsi + 0x38]
add ebx, eax
mov dword [rsi + 0x38], ebx
add eax, 1
mov dword [rsp + 0x100], eax
cmp dword [rsp + 0x68], 0
mov r14d, 0
mov rbx, qword [rsp + 0x70]
mov rbp, qword [rsp + 0x78]
mov r13d, dword [rsp + 0x88]
mov r12d, dword [rsp + 0xa0]
je 0x4a4d7c
cmp qword [rsi + 0x10], 0
je 0x4a4d63
mov rdi, qword [rbx + 0x28]
mov rcx, rsi
mov rdx, rdi
mov r13d, dword [rsp + 0x68]
mov r8d, r13d
call fcn.004c68a0
cmp eax, r13d
mov r13d, dword [rsp + 0x88]
je 0x4a4d63
test rdi, rdi
je 0x4a40cb
mov ecx, dword [rdi + 4]
not ecx
or ecx, 0xffbfffff
mov edx, 0x50
cmp ecx, 0xffffffff
jne 0x4a40d0
mov edx, 0x51
mov rcx, qword [rsi + 0x10]
movsxd rbp, dword [rcx + 0x90]
cmp dword [rcx + 0x94], ebp
jle 0x4a4d44
lea ebx, [rbp + 1]
mov dword [rcx + 0x90], ebx
mov rsi, qword [rsp + 0x48]
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 eax, dword [rsp + 0x68]
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 0x4a4d59
cmp qword [rcx + 0x1f0], r12
jbe 0x4a4155
cmp qword [rcx + 0x1e0], r12
jbe 0x4a5e6b
cmp qword [rcx + 0x1e8], r12
jbe 0x4a6309
cmp dword [0x005f6010], 0
je 0x4a4462
mov rcx, qword [0x0213b0e8]
test rcx, rcx
je 0x4a4174
call qword [0x005f6090]
mov rcx, r12
call qword [0x005f6048]
cdqe
sub qword [0x0213b040], rax
movabs rax, 0x7cf8862d1e25c071
mov rcx, rax
not rcx
add rcx, qword [0x0213b088]
add rcx, rax
mov qword [0x0213b088], rcx
mov rcx, r12
call qword [0x005f6038]
mov rcx, qword [0x0213b0e8]
test rcx, rcx
je 0x4a1e82
call qword [0x005f60a0]
jmp 0x4a1e82
lea edx, [rax + 0x1f]
cmp edx, ecx
jge 0x4a59fe
add esi, 1
mov edx, esi
jmp 0x4a5a14
mov dword [rsp + 0x20], 0
mov rcx, r15
mov edx, 0x10
xor r9d, r9d
call fcn.0047df60
mov rcx, qword [rsp + 0x58]
mov ebp, dword [rcx + 0xc]
test ebp, ebp
mov dword [rsp + 0x80], eax
je 0x4a44ff
lea r9d, [rbp + 1]
mov r8d, dword [rcx + 8]
movsxd rcx, dword [r15 + 0x90]
cmp dword [r15 + 0x94], ecx
jle 0x4a4ca2
mov r13, rsi
lea edx, [rcx + 1]
mov dword [r15 + 0x90], edx
mov rdx, qword [r15 + 0x88]
lea rcx, [rcx + rcx*2]
mov dword [rdx + rcx*8], 0xa0
mov dword [rdx + rcx*8 + 4], r8d
mov dword [rdx + rcx*8 + 8], r9d
mov dword [rdx + rcx*8 + 0xc], ebp
mov qword [rdx + rcx*8 + 0x10], 0
jmp 0x4a4cb6
movabs r10, 0x4891e3c5baf6a3c9
mov ecx, r9d
not ecx
mov edi, 0xfffffffe
not rdi
or rdi, rcx
not rdi
xor eax, eax
mov rbp, r10
not rbp
movabs r11, 0x7fffffffffffffe
and r11, r10
mov rdx, rax
shl rdx, 5
movzx ebx, byte [rsi + rdx + 0x18]
mov ecx, ebx
xor cl, 0xfe
and cl, bl
mov byte [r13 + rdx + 0x18], cl
mov rcx, rax
not rcx
and rcx, r10
mov rdx, rax
and rdx, rbp
or rdx, rcx
mov ecx, ebp
and ecx, 1
or rcx, r11
xor rcx, rdx
mov edx, r10d
or edx, ebp
and edx, eax
and edx, 1
or rdx, rcx
shl rdx, 5
movzx ecx, byte [rsi + rdx + 0x18]
mov ebx, ecx
xor bl, 0xfe
and bl, cl
mov byte [r13 + rdx + 0x18], bl
add rax, 2
add rdi, 0xfffffffffffffffe
jne 0x4a4298
test r8d, r9d
je 0x4a430e
shl rax, 5
mov cl, byte [rsi + rax + 0x18]
and cl, 1
mov byte [r13 + rax + 0x18], cl
mov edi, 0x18
xor ebx, ebx
movzx eax, byte [r13 + rdi]
cmp al, byte [rsi + rdi]
jne 0x4a4359
mov r8, qword [rsi + rdi - 0x10]
mov rdx, qword [r13 + rdi - 0x10]
xor ecx, ecx
mov r9d, 0xffffffff
call fcn.004cf220
test eax, eax
jne 0x4a4359
add rbx, 1
movsxd rax, dword [r13]
add rdi, 0x20
cmp rbx, rax
jl 0x4a4315
mov dword [rsp + 0xa0], 0
jmp 0x4a4362
mov al, 1
mov dword [rsp + 0xa0], eax
mov rbx, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x78]
mov r13, qword [rsp + 0x58]
mov r15d, dword [rbx + 0x44]
lea r12d, [r15 - 1]
mov dword [rbx + 0x44], r12d
mov rcx, qword [rsp + 0x80]
test rcx, rcx
je 0x4a4396
mov edx, 0x40
call fcn.00429840
jmp 0x4a43a0
mov ecx, 0x40
call fcn.00404550
mov rdx, rax
test rax, rax
mov qword [rsp + 0x50], rax
je 0x4a43d3
xorps xmm0, xmm0
movups xmmword [rdx + 0x30], xmm0
movups xmmword [rdx + 0x20], xmm0
movups xmmword [rdx + 0x10], xmm0
movups xmmword [rdx], xmm0
mov rcx, qword [rbx]
test rcx, rcx
je 0x4a43df
mov edx, 0x18
call fcn.00429840
jmp 0x4a43e9
xor eax, eax
mov qword [rsp + 0x68], rax
jmp 0x4a4520
mov ecx, 0x18
call fcn.00404550
test rax, rax
mov rdx, qword [rsp + 0x50]
je 0x4a4420
mov rcx, qword [rbx + 0xb8]
mov qword [rax], rcx
mov qword [rbx + 0xb8], rax
mov qword [rax + 8], rdx
lea rcx, [0x004e9130]
mov qword [rax + 0x10], rcx
mov rax, rdx
mov qword [rsp + 0x68], rdx
jmp 0x4a4520
mov rdi, qword [rbx]
mov rsi, rdx
mov rdx, qword [rdx + 0x20]
mov rcx, rdi
call fcn.00408130
mov rdx, qword [rsi + 0x30]
mov rcx, rdi
call fcn.00408130
test rdi, rdi
je 0x4a449d
cmp qword [rdi + 0x300], 0
je 0x4a4470
mov rcx, rdi
mov rsi, qword [rsp + 0x50]
mov rdx, rsi
call fcn.004297f0
jmp 0x4a4515
mov rcx, r12
call qword [0x005f6038]
jmp 0x4a1e82
mov rax, qword [rsp + 0x50]
cmp qword [rdi + 0x1f0], rax
jbe 0x4a449d
mov rdx, qword [rsp + 0x50]
cmp qword [rdi + 0x1e0], rdx
jbe 0x4a5ef2
cmp qword [rdi + 0x1e8], rdx
jbe 0x4a6410
cmp dword [0x005f6010], 0
je 0x4a4507
mov rcx, qword [0x0213b0e8]
test rcx, rcx
je 0x4a44b8
call qword [0x005f6090]
mov rsi, qword [rsp + 0x50]
mov rcx, rsi
call qword [0x005f6048]
cdqe
sub qword [0x0213b040], rax
add qword [0x0213b088], 0xffffffffffffffff
mov rcx, rsi
call qword [0x005f6038]
mov rcx, qword [0x0213b0e8]
test rcx, rcx
je 0x4a44f2
call qword [0x005f60a0]
mov rax, rsi
mov qword [rsp + 0x68], rsi
mov rdx, rsi
jmp 0x4a4520
mov r13, rsi
jmp 0x4a4cb6
mov rsi, qword [rsp + 0x50]
mov rcx, rsi
call qword [0x005f6038]
mov rdx, rsi
mov rax, rsi
mov qword [rsp + 0x68], rsi
xor esi, esi
mov rax, qword [rsp + 0x80]
cmp byte [rax + 0x67], 0
je 0x4a4542
mov r15, qword [rsp + 0x80]
mov edi, 1
jmp 0x4a9934
mov qword [rsp + 0xc0], r15
mov eax, dword [r13 + 0x10]
mov dword [rdx + 0x3c], eax
xorps xmm0, xmm0
movups xmmword [rsp + 0x108], xmm0
movups xmmword [rsp + 0xf8], xmm0
mov qword [rsp + 0xe0], rbx
mov qword [rsp + 0xe8], rbp
mov qword [rsp + 0xf0], rdx
mov eax, dword [rbx + 0x38]
add eax, 1
mov dword [rdx + 0x10], eax
mov rax, qword [rsp + 0x90]
test rax, rax
je 0x4a4594
mov esi, dword [rax]
mov dword [rdx + 0xc], esi
mov qword [rdx + 0x18], rax
cmp qword [rsp + 0xa8], 0
je 0x4a464f
mov rax, qword [rsp + 0xa8]
mov eax, dword [rax]
test eax, eax
jle 0x4a464f
mov rcx, qword [rsp + 0xa8]
lea rsi, [rcx + 8]
xor ebx, ebx
lea r15, [0x0050c980]
lea rdi, [0x004e9de0]
lea rbp, [0x004e9df0]
lea r14, [rsp + 0x140]
jmp 0x4a45f4
add ebx, 1
add rsi, 0x20
cmp ebx, eax
jge 0x4a464f
mov rdx, qword [rsi]
mov qword [rsp + 0x148], r15
mov qword [rsp + 0x150], rdi
mov qword [rsp + 0x158], rbp
mov dword [rsp + 0x160], 0
lea rcx, [rsp + 0xe0]
mov qword [rsp + 0x168], rcx
mov qword [rsp + 0x140], 0
test rdx, rdx
je 0x4a45e9
mov rcx, r14
call fcn.004cea30
mov rax, qword [rsp + 0xa8]
mov eax, dword [rax]
jmp 0x4a45e9
mov dword [rsp + 0xb8], r12d
mov rsi, qword [rsp + 0x198]
test rsi, rsi
je 0x4a46f5
mov eax, dword [rsi]
test eax, eax
jle 0x4a46f5
lea rbx, [rsi + 8]
xor ebp, ebp
lea r15, [0x0050c980]
lea r12, [0x004e9de0]
lea rdi, [0x004e9df0]
lea r14, [rsp + 0x140]
jmp 0x4a46a2
add ebp, 1
add rbx, 0x20
cmp ebp, eax
jge 0x4a46f5
mov rdx, qword [rbx]
mov qword [rsp + 0x148], r15
mov qword [rsp + 0x150], r12
mov qword [rsp + 0x158], rdi
mov dword [rsp + 0x160], 0
lea rcx, [rsp + 0xe0]
mov qword [rsp + 0x168], rcx
mov qword [rsp + 0x140], 0
test rdx, rdx
je 0x4a4697
mov rcx, r14
call fcn.004cea30
mov eax, dword [rsi]
jmp 0x4a4697
cmp qword [rsp + 0x180], 0
mov rbx, qword [rsp + 0x48]
mov r15, qword [rsp + 0x90]
je 0x4a47e7
test r15, r15
mov rbp, qword [rsp + 0x80]
mov r14d, 0
je 0x4a477c
xorps xmm0, xmm0
movups xmmword [rsp + 0x150], xmm0
mov qword [rsp + 0x160], 0
mov qword [rsp + 0x140], rbx
lea rax, [0x0050c600]
mov qword [rsp + 0x148], rax
mov qword [rsp + 0x168], r13
mov rdx, qword [r13 + 0x40]
test rdx, rdx
je 0x4a4770
lea rcx, [rsp + 0x140]
call fcn.004cea30
mov rax, qword [r13 + 0x30]
mov qword [rsp + 0x88], rax
lea rax, [0x0050c980]
mov qword [rsp + 0x148], rax
lea rax, [0x004e9de0]
mov qword [rsp + 0x150], rax
lea rax, [0x004e9df0]
mov qword [rsp + 0x158], rax
mov dword [rsp + 0x160], 0
lea rax, [rsp + 0xe0]
mov qword [rsp + 0x168], rax
mov qword [rsp + 0x140], 0
lea rcx, [rsp + 0x140]
mov rdx, qword [rsp + 0x180]
call fcn.004cea30
jmp 0x4a47f2
mov rbp, qword [rsp + 0x80]
xor r14d, r14d
mov rdx, qword [rsp + 0x50]
mov eax, dword [rdx + 0x28]
mov dword [rdx + 0x2c], eax
cmp qword [r13 + 0x38], 0
jne 0x4a4881
cmp qword [r13 + 0x40], 0
jne 0x4a4881
cmp dword [rdx + 0x38], 1
jne 0x4a4881
mov rax, qword [rdx + 0x30]
mov rax, qword [rax]
mov rdx, qword [rax + 0x20]
test rdx, rdx
je 0x4a4851
cmp dword [rdx], 1
jne 0x4a4851
mov ebp, dword [rax + 4]
mov ecx, ebp
xor ecx, 0xfeffffff
test ecx, ebp
jne 0x4a4851
mov rcx, qword [rsp + 0x80]
mov ecx, dword [rcx + 0x60]
not ecx
or ecx, 0xfffeffff
cmp ecx, 0xffffffff
je 0x4a82bf
xor esi, esi
xor eax, eax
mov qword [rsp + 0x98], rax
mov rbx, qword [rsp + 0x48]
mov r13, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x80]
xor r14d, r14d
mov rdx, qword [rsp + 0x50]
mov r15, qword [rsp + 0x90]
jmp 0x4a488d
xor esi, esi
xor eax, eax
mov qword [rsp + 0x98], rax
mov eax, dword [rdx + 0x38]
test eax, eax
mov qword [rsp + 0xd0], rsi
jle 0x4a4a46
mov ecx, dword [rsp + 0x108]
xor esi, esi
lea rbx, [0x0050c980]
lea rbp, [0x004e9de0]
lea rdi, [0x004e9df0]
jmp 0x4a48eb
mov ecx, dword [rsp + 0x108]
mov eax, 0xfffdffff
and ecx, eax
mov dword [rsp + 0x108], ecx
add rsi, 1
mov rdx, qword [rsp + 0x50]
movsxd rax, dword [rdx + 0x38]
cmp rsi, rax
jge 0x4a4a29
mov rax, qword [rdx + 0x30]
mov rdx, rsi
shl rdx, 5
mov r12, qword [rax + rdx]
mov eax, ecx
not eax
and eax, 0x3d1919bd
mov edx, ecx
and edx, 0xc2e6e642
or edx, eax
xor edx, 0x3d1b19bd
and ecx, 0x20000
or ecx, edx
mov dword [rsp + 0x108], ecx
mov r15, qword [r12 + 0x20]
test r15, r15
je 0x4a49a6
mov eax, dword [r15]
test eax, eax
jle 0x4a49a6
lea r14, [r15 + 8]
xor r13d, r13d
jmp 0x4a494d
add r13d, 1
add r14, 0x20
cmp r13d, eax
jge 0x4a49a6
mov rdx, qword [r14]
mov qword [rsp + 0x148], rbx
mov qword [rsp + 0x150], rbp
mov qword [rsp + 0x158], rdi
mov dword [rsp + 0x160], 0
lea rcx, [rsp + 0xe0]
mov qword [rsp + 0x168], rcx
mov qword [rsp + 0x140], 0
test rdx, rdx
je 0x4a4940
lea rcx, [rsp + 0x140]
call fcn.004cea30
mov eax, dword [r15]
jmp 0x4a4940
mov eax, dword [r12 + 4]
not eax
or eax, 0xfeffffff
cmp eax, 0xffffffff
mov r13, qword [rsp + 0x58]
mov r14d, 0
je 0x4a48c0
mov rax, qword [r12 + 0x40]
mov rdx, qword [rax + 0x48]
mov qword [rsp + 0x148], rbx
mov qword [rsp + 0x150], rbp
mov qword [rsp + 0x158], rdi
mov dword [rsp + 0x160], 0
lea rax, [rsp + 0xe0]
mov qword [rsp + 0x168], rax
mov qword [rsp + 0x140], 0
test rdx, rdx
je 0x4a48c0
lea rcx, [rsp + 0x140]
call fcn.004cea30
jmp 0x4a48c0
mov rbx, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x80]
mov rsi, qword [rsp + 0xd0]
mov r15, qword [rsp + 0x90]
mov edi, dword [rbx + 0x38]
mov dword [rdx + 0x14], edi
cmp byte [rbp + 0x67], 0
je 0x4a4a5f
mov r15, rbp
mov edi, 1
jmp 0x4a9934
test r15, r15
je 0x4a4b8e
cmp eax, 1
jne 0x4a4ab4
mov rax, qword [rdx + 0x30]
cmp dword [rax + 0x14], 0
js 0x4a4ab4
mov rax, qword [rax]
test rax, rax
je 0x4a4a93
mov ecx, dword [rax + 4]
not ecx
or ecx, 0xffffefff
cmp ecx, 0xffffffff
je 0x4a6449
xor eax, eax
mov qword [rsp + 0xc8], rax
xor r13d, r13d
mov rbx, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x50]
mov r15, qword [rsp + 0x90]
jmp 0x4a4ac1
xor eax, eax
mov qword [rsp + 0xc8], rax
xor r13d, r13d
mov eax, dword [rbx + 0x34]
lea ecx, [rax + 1]
mov dword [rbx + 0x34], ecx
mov dword [rdx + 4], eax
mov eax, dword [rdx + 0x28]
mov esi, dword [r15]
mov rdi, qword [rbx]
lea ebx, [rsi + rax + 1]
lea eax, [rbx + rbx*8 - 8]
movsxd r14, eax
lea rdx, [r14 + 0x28]
mov rcx, rdi
call fcn.00429840
test rax, rax
je 0x4a56f1
mov rbp, rax
movsxd rax, ebx
lea rax, [rax*8 + 0x20]
add rax, rbp
mov qword [rbp + 0x18], rax
mov word [rbp + 6], si
mov word [rbp + 8], bx
mov al, byte [rdi + 0x64]
mov byte [rbp + 4], al
mov qword [rbp + 0x10], rdi
mov dword [rbp], 1
mov rcx, rbp
add rcx, 0x28
xor edx, edx
mov r8, r14
call fcn.005f4c10
test esi, esi
mov qword [rsp + 0x190], rbp
jle 0x4a5705
lea rdi, [r15 + 8]
xor ebx, ebx
jmp 0x4a4b6e
mov qword [rbp + rbx*8 + 0x20], rax
movzx eax, byte [rdi + 0x10]
mov rcx, qword [rbp + 0x18]
mov byte [rcx + rbx], al
add rbx, 1
add rdi, 0x20
cmp rsi, rbx
je 0x4a5705
mov rdx, qword [rdi]
mov rcx, qword [rsp + 0x48]
call fcn.0047fd40
test rax, rax
jne 0x4a4b4d
mov rax, qword [rsp + 0x48]
mov rax, qword [rax]
mov rax, qword [rax + 0x10]
jmp 0x4a4b4d
cmp qword [r13 + 0x30], 0
jne 0x4a4bdb
mov rcx, qword [r13 + 0x20]
cmp dword [rcx], 1
jne 0x4a4bdb
mov rdx, qword [r13 + 0x28]
cmp dword [rdx], 1
jne 0x4a4bdb
cmp qword [rdx + 0x30], 0
jne 0x4a4bdb
mov rbp, qword [rsp + 0x68]
cmp dword [rbp + 0x38], 1
jne 0x4a4bdb
mov rsi, qword [rdx + 0x28]
cmp byte [rsi + 0x3f], 0
jne 0x4a4bdb
mov rcx, qword [rcx + 8]
cmp byte [rcx], 0xa8
jne 0x4a4bdb
mov rdx, qword [rsp + 0x68]
cmp qword [rcx + 0x38], rdx
je 0x4a9b00
mov rcx, qword [rsp + 0x50]
cmp dword [rcx + 0x2c], 0
je 0x4a5e29
xor r14d, r14d
mov ecx, 0
test eax, eax
jle 0x4a4c39
mov rcx, qword [rsp + 0x50]
mov rdx, qword [rcx + 0x30]
mov ebp, eax
add rdx, 8
xor ecx, ecx
jmp 0x4a4c16
add rcx, 1
add rdx, 0x20
cmp rbp, rcx
je 0x4a4c41
mov rbx, qword [rdx - 8]
mov ebx, dword [rbx + 4]
not ebx
or ebx, 0xfeffffff
cmp ebx, 0xffffffff
jne 0x4a4c09
mov rbx, qword [rdx]
mov esi, dword [rbx + 4]
mov ebx, esi
xor ebx, 0xffffffdf
test ebx, esi
je 0x4a4c09
cmp ecx, eax
jne 0x4a5f0b
add edi, 1
mov rax, qword [rsp + 0x48]
mov dword [rax + 0x38], edi
mov rcx, qword [rsp + 0x60]
movsxd rax, dword [rcx + 0x90]
cmp dword [rcx + 0x94], eax
jle 0x4a5fe0
lea ecx, [rax + 1]
mov rdx, qword [rsp + 0x60]
mov dword [rdx + 0x90], ecx
mov rcx, qword [rdx + 0x88]
lea rax, [rax + rax*2]
mov qword [rcx + rax*8], 0x47
mov dword [rcx + rax*8 + 8], edi
mov dword [rcx + rax*8 + 0xc], 0
mov qword [rcx + rax*8 + 0x10], 0
xor r15d, r15d
jmp 0x4a6000
mov r13, rsi
mov dword [rsp + 0x20], ebp
mov rcx, r15
mov edx, 0xa0
call fcn.0047df60
lea r8, [0x00603a7c]
mov rcx, rbx
mov dl, 1
call fcn.004d0380
lea r8, [rsp + 0xe0]
mov rcx, rbx
mov rsi, qword [rsp + 0x58]
mov rdx, rsi
call fcn.0049e470
mov edi, eax
mov r12, qword [rsi + 0x50]
mov qword [rsi + 0x50], r14
movzx edx, word [rsi + 2]
movzx ebp, word [r14 + 2]
movsx eax, dx
movsx ecx, bp
cmp ax, cx
jge 0x4a4d0e
lea edx, [rax + 0x31]
cmp edx, ecx
mov rsi, r13
jge 0x4a4d2f
mov edx, ebp
jmp 0x4a5cb1
lea ebp, [rcx + 0x31]
cmp ebp, eax
mov rsi, r13
jl 0x4a5cb1
lea ebp, [rcx + 0x1f]
cmp ebp, eax
jge 0x4a5c83
add edx, 1
jmp 0x4a5cb1
lea edx, [rax + 0x1f]
cmp edx, ecx
jge 0x4a5c9b
add ebp, 1
mov edx, ebp
jmp 0x4a5cb1
mov dword [rsp + 0x20], 0
mov r8d, eax
mov r9d, dword [rsp + 0x68]
call fcn.0047df60
mov rbx, qword [rsp + 0x70]
mov rbp, qword [rsp + 0x78]
xor eax, eax
cmp byte [rbx + 0x20], 0x59
sete al
lea r8d, [rax + rax*2]
mov rcx, rsi
mov edx, dword [rsp + 0x68]
call fcn.00506ac0
test r13d, r13d
je 0x4a4e5b
cmp qword [rsi + 0x10], 0
je 0x4a4e3f
mov rdi, qword [rbx + 0x30]
mov rcx, rsi
mov rdx, rdi
mov r8d, r13d
call fcn.004c68a0
cmp eax, r13d
je 0x4a4e3f
test rdi, rdi
je 0x4a4dc5
mov ecx, dword [rdi + 4]
not ecx
or ecx, 0xffbfffff
mov edx, 0x50
cmp ecx, 0xffffffff
jne 0x4a4dca
mov edx, 0x51
mov rcx, qword [rsi + 0x10]
movsxd rbp, dword [rcx + 0x90]
cmp dword [rcx + 0x94], ebp
jle 0x4a4e22
lea ebx, [rbp + 1]
mov dword [rcx + 0x90], ebx
mov rsi, qword [rsp + 0x48]
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], r13d
mov dword [rcx + rbp*8 + 0xc], 0
mov qword [rcx + rbp*8 + 0x10], 0
mov byte [rcx + rbp*8 + 1], 0
jmp 0x4a4e35
mov dword [rsp + 0x20], 0
mov r8d, eax
mov r9d, r13d
call fcn.0047df60
mov rbx, qword [rsp + 0x70]
mov rbp, qword [rsp + 0x78]
xor eax, eax
cmp byte [rbx + 0x20], 0x59
sete al
lea r8d, [rax + rax*2]
add r8d, 1
mov rcx, rsi
mov edx, r13d
call fcn.00506ac0
cmp byte [rbx + 0x20], 0x59
mov rdi, qword [rsp + 0xb8]
mov esi, r12d
mov r12, qword [rsp + 0xb0]
je 0x4a5098
mov al, byte [rbx + 0x21]
cmp dword [rsp + 0x68], 0
je 0x4a509b
cmp al, byte [rbx + 0x22]
jne 0x4a509b
mov cl, 1
test cl, cl
je 0x4a509b
xor ecx, ecx
cmp al, 0x56
sete cl
lea edx, [rcx + rcx]
add edx, 0x37
mov edi, dword [rbp]
mov rax, qword [rsp + 0x50]
cmp dword [rax], edi
jle 0x4a4ef9
movsxd rax, edi
lea ecx, [rax + 1]
mov dword [r15 + 0x90], ecx
mov rcx, qword [r15 + 0x88]
lea rax, [rax + rax*2]
mov byte [rcx + rax*8], dl
mov word [rcx + rax*8 + 2], 0
mov edx, dword [rsp + 0x68]
mov dword [rcx + rax*8 + 4], edx
mov dword [rcx + rax*8 + 8], 0
mov dword [rcx + rax*8 + 0xc], r13d
mov qword [rcx + rax*8 + 0x10], 0
mov byte [rcx + rax*8 + 1], 0
jmp 0x4a4f10
mov dword [rsp + 0x20], r13d
mov rcx, r15
mov r8d, dword [rsp + 0x68]
xor r9d, r9d
call fcn.0047df60
mov edi, eax
mov rcx, qword [rsp + 0xe0]
mov rdx, qword [rsp + 0xe8]
xor r8d, r8d
call fcn.00506e30
mov r8d, dword [rsp + 0x114]
movsxd rax, dword [rbp]
mov rcx, qword [rsp + 0x50]
cmp dword [rcx], eax
jle 0x4a4f72
lea ecx, [rax + 1]
mov dword [r15 + 0x90], ecx
mov rcx, qword [r15 + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x23
mov dword [rcx + rax*8 + 4], r8d
mov qword [rcx + rax*8 + 8], 1
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4a4f8d
mov dword [rsp + 0x20], 0
mov rcx, r15
mov edx, 0x23
mov r9d, 1
call fcn.0047df60
lea rcx, [rsp + 0xe0]
call fcn.005072a0
mov r8d, dword [rsp + 0x114]
movsxd rax, dword [rbp]
mov rcx, qword [rsp + 0x50]
cmp dword [rcx], eax
jle 0x4a4fda
lea ecx, [rax + 1]
mov dword [r15 + 0x90], ecx
mov rcx, qword [r15 + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x92
mov dword [rcx + rax*8 + 4], r8d
xorps xmm0, xmm0
movups xmmword [rcx + rax*8 + 8], xmm0
jmp 0x4a4ff2
mov dword [rsp + 0x20], 0
mov rcx, r15
mov edx, 0x92
xor r9d, r9d
call fcn.0047df60
movsxd rax, dword [rbp]
mov rcx, qword [rsp + 0x50]
cmp dword [rcx], eax
jle 0x4a503a
lea ecx, [rax + 1]
mov dword [r15 + 0x90], ecx
mov rcx, qword [r15 + 0x88]
lea rax, [rax + rax*2]
mov qword [rcx + rax*8], 8
mov edx, dword [rsp + 0xc0]
mov dword [rcx + rax*8 + 8], edx
mov dword [rcx + rax*8 + 0xc], 0
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4a505a
mov dword [rsp + 0x20], 0
mov rcx, r15
mov edx, 8
xor r8d, r8d
mov r9d, dword [rsp + 0xc0]
call fcn.0047df60
mov eax, dword [r15 + 0x90]
mov rcx, qword [r15]
cmp byte [rcx + 0x67], 0
je 0x4a5073
lea rcx, [0x0213b3e8]
jmp 0x4a508d
lea ecx, [rax - 1]
test edi, edi
cmovns ecx, edi
movsxd rcx, ecx
lea rcx, [rcx + rcx*2]
shl rcx, 3
add rcx, qword [r15 + 0x88]
mov rdi, qword [rsp + 0xb8]
mov dword [rcx + 8], eax
mov al, byte [rbx + 0x21]
cmp al, 0x56
jne 0x4a510f
test r13d, r13d
je 0x4a510f
cmp byte [rbx + 0x20], 0x59
je 0x4a510f
mov al, 1
test al, al
je 0x4a510f
movsxd rax, dword [rbp]
mov rcx, qword [rsp + 0x50]
cmp dword [rcx], eax
jle 0x4a50f5
lea ecx, [rax + 1]
mov dword [r15 + 0x90], ecx
mov rcx, qword [r15 + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x6b
mov edx, dword [rsp + 0x68]
mov dword [rcx + rax*8 + 4], edx
mov dword [rcx + rax*8 + 8], r13d
mov dword [rcx + rax*8 + 0xc], edx
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4a510f
mov r8d, dword [rsp + 0x68]
mov dword [rsp + 0x20], r8d
mov rcx, r15
mov edx, 0x6b
mov r9d, r13d
call fcn.0047df60
cmp byte [rbx + 0x21], 0x5a
je 0x4a517a
mov r8d, dword [rsp + 0x10c]
movsxd rax, dword [rbp]
mov rcx, qword [rsp + 0x50]
cmp dword [rcx], eax
jle 0x4a515f
lea ecx, [rax + 1]
mov dword [r15 + 0x90], ecx
mov rcx, qword [r15 + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x23
mov dword [rcx + rax*8 + 4], r8d
mov qword [rcx + rax*8 + 8], 1
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4a517a
mov dword [rsp + 0x20], 0
mov rcx, r15
mov edx, 0x23
mov r9d, 1
call fcn.0047df60
mov r8d, dword [rsp + 0x114]
movsxd rax, dword [rbp]
mov rcx, qword [rsp + 0x50]
cmp dword [rcx], eax
jle 0x4a51c4
lea ecx, [rax + 1]
mov dword [r15 + 0x90], ecx
mov rcx, qword [r15 + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x23
mov dword [rcx + rax*8 + 4], r8d
mov qword [rcx + rax*8 + 8], 1
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4a51df
mov dword [rsp + 0x20], 0
mov rcx, r15
mov edx, 0x23
mov r9d, 1
call fcn.0047df60
mov r8d, dword [rsp + 0x11c]
movsxd rax, dword [rbp]
mov rcx, qword [rsp + 0x50]
cmp dword [rcx], eax
jle 0x4a5229
lea ecx, [rax + 1]
mov dword [r15 + 0x90], ecx
mov rcx, qword [r15 + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x23
mov dword [rcx + rax*8 + 4], r8d
mov qword [rcx + rax*8 + 8], 1
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4a5244
mov dword [rsp + 0x20], 0
mov rcx, r15
mov edx, 0x23
mov r9d, 1
call fcn.0047df60
test esi, esi
sete al
test rdi, rdi
setne cl
cmp cl, al
je 0x4a53f5
test rdi, rdi
je 0x4a53f5
mov eax, dword [rdi]
add eax, 0xffffffff
movsxd rcx, dword [rbp]
mov rdx, qword [rsp + 0x50]
cmp dword [rdx], ecx
jle 0x4a52b3
lea edx, [rcx + 1]
mov dword [r15 + 0x90], edx
mov rdx, qword [r15 + 0x88]
lea rcx, [rcx + rcx*2]
mov dword [rdx + rcx*8], 0x50
mov esi, dword [rsp + 0x98]
mov dword [rdx + rcx*8 + 4], esi
mov esi, dword [rsp + 0xa0]
mov dword [rdx + rcx*8 + 8], esi
mov dword [rdx + rcx*8 + 0xc], eax
mov qword [rdx + rcx*8 + 0x10], 0
jmp 0x4a52cf
mov dword [rsp + 0x20], eax
mov rcx, r15
mov edx, 0x50
mov r8d, dword [rsp + 0x98]
mov r9d, esi
call fcn.0047df60
mov r9d, dword [rsp + 0x110]
mov eax, dword [rdi]
add eax, 0xffffffff
movsxd rcx, dword [rbp]
mov rdx, qword [rsp + 0x50]
cmp dword [rdx], ecx
jle 0x4a531d
lea edx, [rcx + 1]
mov dword [r15 + 0x90], edx
mov rdx, qword [r15 + 0x88]
lea rcx, [rcx + rcx*2]
mov dword [rdx + rcx*8], 0x50
mov dword [rdx + rcx*8 + 4], esi
mov dword [rdx + rcx*8 + 8], r9d
mov dword [rdx + rcx*8 + 0xc], eax
mov qword [rdx + rcx*8 + 0x10], 0
jmp 0x4a5331
mov dword [rsp + 0x20], eax
mov rcx, r15
mov edx, 0x50
mov r8d, esi
call fcn.0047df60
mov r9d, dword [rsp + 0x118]
mov eax, dword [rdi]
add eax, 0xffffffff
movsxd rcx, dword [rbp]
mov rdx, qword [rsp + 0x50]
cmp dword [rdx], ecx
jle 0x4a537f
lea edx, [rcx + 1]
mov dword [r15 + 0x90], edx
mov rdx, qword [r15 + 0x88]
lea rcx, [rcx + rcx*2]
mov dword [rdx + rcx*8], 0x50
mov dword [rdx + rcx*8 + 4], esi
mov dword [rdx + rcx*8 + 8], r9d
mov dword [rdx + rcx*8 + 0xc], eax
mov qword [rdx + rcx*8 + 0x10], 0
jmp 0x4a5393
mov dword [rsp + 0x20], eax
mov rcx, r15
mov edx, 0x50
mov r8d, esi
call fcn.0047df60
mov r9d, dword [rsp + 0x120]
mov eax, dword [rdi]
add eax, 0xffffffff
movsxd rcx, dword [rbp]
mov rdx, qword [rsp + 0x50]
cmp dword [rdx], ecx
jle 0x4a53e1
lea edx, [rcx + 1]
mov dword [r15 + 0x90], edx
mov rdx, qword [r15 + 0x88]
lea rcx, [rcx + rcx*2]
mov dword [rdx + rcx*8], 0x50
mov dword [rdx + rcx*8 + 4], esi
mov dword [rdx + rcx*8 + 8], r9d
mov dword [rdx + rcx*8 + 0xc], eax
mov qword [rdx + rcx*8 + 0x10], 0
jmp 0x4a53f5
mov dword [rsp + 0x20], eax
mov rcx, r15
mov edx, 0x50
mov r8d, esi
call fcn.0047df60
movsxd rax, dword [rbp]
mov rcx, qword [rsp + 0x50]
cmp dword [rcx], eax
jle 0x4a543d
lea ecx, [rax + 1]
mov dword [r15 + 0x90], ecx
mov rcx, qword [r15 + 0x88]
lea rax, [rax + rax*2]
mov qword [rcx + rax*8], 8
mov ebp, dword [rsp + 0xc0]
mov dword [rcx + rax*8 + 8], ebp
mov dword [rcx + rax*8 + 0xc], 0
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4a545f
mov dword [rsp + 0x20], 0
mov rcx, r15
mov edx, 8
xor r8d, r8d
mov ebp, dword [rsp + 0xc0]
mov r9d, ebp
call fcn.0047df60
mov eax, dword [r15 + 0x90]
mov rcx, qword [r15]
cmp byte [rcx + 0x67], 0
je 0x4a5478
lea rcx, [0x0213b3e8]
jmp 0x4a5499
lea ecx, [rax - 1]
mov edx, dword [rsp + 0xd8]
test edx, edx
cmovns ecx, edx
movsxd rcx, ecx
lea rcx, [rcx + rcx*2]
shl rcx, 3
add rcx, qword [r15 + 0x88]
mov dword [rcx + 8], eax
test esi, esi
je 0x4a54bc
mov dword [rsp + 0x20], ebp
mov rcx, qword [rsp + 0x48]
mov rdx, rdi
mov r8d, dword [rsp + 0x98]
mov r9d, esi
call fcn.00508700
mov al, byte [rbx + 0x21]
cmp al, 0x56
jne 0x4a55ab
lea rcx, [rsp + 0xe0]
mov edx, 3
xor r8d, r8d
xor r9d, r9d
call fcn.00508aa0
cmp byte [rbx + 0x22], 0x5a
je 0x4a65ac
mov rax, qword [rsp + 0x70]
cmp byte [rax + 0x20], 0x59
jne 0x4a568f
mov rcx, qword [rsp + 0x48]
mov edi, dword [rcx + 0x44]
lea eax, [rdi - 1]
mov dword [rcx + 0x44], eax
mov rsi, qword [rsp + 0x78]
mov ebx, dword [rsi]
mov r8d, dword [rsp + 0x114]
mov ecx, dword [rsp + 0x11c]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], ecx
lea rbp, [rsp + 0xe0]
mov rcx, rbp
mov edx, 0x39
mov r9d, r13d
call fcn.00509480
mov rcx, rbp
mov edx, 2
mov r8d, dword [rsp + 0x68]
xor r9d, r9d
call fcn.00508aa0
mov rcx, rbp
mov edx, 1
xor r8d, r8d
xor r9d, r9d
call fcn.00508aa0
movsxd rax, dword [rsi]
mov rcx, qword [rsp + 0x50]
cmp dword [rcx], eax
jle 0x4a5d82
lea ecx, [rax + 1]
mov dword [r15 + 0x90], ecx
mov rcx, qword [r15 + 0x88]
lea rax, [rax + rax*2]
mov qword [rcx + rax*8], 8
mov dword [rcx + rax*8 + 8], ebx
mov dword [rcx + rax*8 + 0xc], 0
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4a5d9d
cmp byte [rbx + 0x22], 0x58
jne 0x4a560a
cmp al, 0x58
jne 0x4a56a4
mov bl, byte [rbx + 0x20]
lea rcx, [rsp + 0xe0]
mov edx, 3
mov r8d, r13d
xor r9d, r9d
call fcn.00508aa0
cmp bl, 0x59
jne 0x4a56bc
lea rdi, [rsp + 0xe0]
mov rcx, rdi
mov edx, 2
mov r8d, dword [rsp + 0x68]
xor r9d, r9d
call fcn.00508aa0
mov rcx, rdi
mov edx, 1
xor r8d, r8d
jmp 0x4a56e4
lea rcx, [rsp + 0xe0]
mov edx, 3
xor r8d, r8d
xor r9d, r9d
call fcn.00508aa0
cmp byte [rbx + 0x22], 0x5a
je 0x4a65ac
mov rax, qword [rsp + 0x70]
cmp byte [rax + 0x20], 0x59
jne 0x4a5dc5
mov rax, qword [rsp + 0x78]
mov ebp, dword [rax]
test r13d, r13d
je 0x4a617f
mov rax, qword [rsp + 0x48]
mov edi, dword [rax + 0x44]
add edi, 0xffffffff
mov dword [rax + 0x44], edi
mov r8d, dword [rsp + 0x114]
mov eax, dword [rsp + 0x11c]
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x20], eax
lea rcx, [rsp + 0xe0]
mov edx, 0x39
mov r9d, dword [rsp + 0x88]
call fcn.00509480
jmp 0x4a6181
lea rdi, [rsp + 0xe0]
mov rcx, rdi
mov edx, 1
mov r8d, r13d
jmp 0x4a56cf
lea rcx, [rsp + 0xe0]
mov edx, 3
mov r8d, r13d
xor r9d, r9d
call fcn.00508aa0
lea rdi, [rsp + 0xe0]
mov rcx, rdi
mov edx, 1
xor r8d, r8d
xor r9d, r9d
call fcn.00508aa0
mov rcx, rdi
mov edx, 2
mov r8d, dword [rsp + 0x68]
xor r9d, r9d
call fcn.00508aa0
jmp 0x4a65ac
cmp byte [rdi + 0x67], 0
je 0x4a5f13
xor eax, eax
mov qword [rsp + 0x190], rax
mov rbx, qword [rsp + 0x48]
mov r14, qword [rsp + 0x70]
mov rax, qword [rsp + 0x50]
mov r12, qword [rsp + 0x88]
mov edi, dword [rsp + 0xa0]
mov r8d, dword [rax + 4]
mov r9d, dword [rax + 0xc]
mov rax, qword [rsp + 0x190]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x30], 0xfffffff8
mov dword [rsp + 0x20], 0
mov rsi, qword [rsp + 0x60]
mov rcx, rsi
mov edx, 0x77
call fcn.004c62a0
mov dword [rsp + 0x1fc], eax
mov eax, dword [rbx + 0x38]
mov ecx, dword [rbx + 0x44]
lea r9d, [rax + 2]
lea ebp, [rax + 4]
mov qword [rsp + 0x178], rcx
lea ecx, [rcx - 2]
mov dword [rsp + 0x138], ecx
mov dword [rbx + 0x44], ecx
mov ecx, dword [r15]
mov qword [rsp + 0x98], rax
add eax, ecx
add eax, 4
mov qword [rsp + 0x1e0], rcx
add eax, ecx
mov dword [rbx + 0x38], eax
lea rax, [r14 + 0x90]
mov qword [rsp + 0x88], rax
movsxd rax, dword [rsi + 0x90]
add r14, 0x94
cmp dword [rsi + 0x94], eax
mov dword [rsp + 0xd8], r9d
jle 0x4a5801
lea ecx, [rax + 1]
mov dword [rsi + 0x90], ecx
mov rcx, qword [rsi + 0x88]
lea rax, [rax + rax*2]
mov qword [rcx + rax*8], 0x47
mov dword [rcx + rax*8 + 8], r9d
mov dword [rcx + rax*8 + 0xc], 0
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4a5819
mov dword [rsp + 0x20], 0
mov rcx, rsi
mov edx, 0x47
xor r8d, r8d
call fcn.0047df60
mov rax, qword [rsp + 0x98]
lea r9d, [rax + 5]
mov eax, dword [r15]
add eax, ebp
mov rcx, qword [rsp + 0x88]
movsxd rcx, dword [rcx]
cmp dword [r14], ecx
mov dword [rsp + 0x188], ebp
mov dword [rsp + 0xdc], r9d
jle 0x4a5885
lea edx, [rcx + 1]
mov rbp, qword [rsp + 0x60]
mov dword [rbp + 0x90], edx
mov rdx, qword [rbp + 0x88]
mov ebp, dword [rsp + 0x188]
lea rcx, [rcx + rcx*2]
mov qword [rdx + rcx*8], 0x4b
mov dword [rdx + rcx*8 + 8], r9d
mov dword [rdx + rcx*8 + 0xc], eax
mov qword [rdx + rcx*8 + 0x10], 0
jmp 0x4a589b
mov dword [rsp + 0x20], eax
mov rcx, qword [rsp + 0x60]
mov edx, 0x4b
xor r8d, r8d
call fcn.0047df60
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax]
cmp dword [r14], eax
mov rsi, qword [rsp + 0x78]
jle 0x4a58f2
lea ecx, [rax + 1]
mov rdx, qword [rsp + 0x60]
mov dword [rdx + 0x90], ecx
mov rcx, qword [rdx + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 9
mov dword [rcx + rax*8 + 4], ebp
mov edx, dword [rsp + 0x138]
mov dword [rcx + rax*8 + 8], edx
mov dword [rcx + rax*8 + 0xc], 0
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4a5914
mov dword [rsp + 0x20], 0
mov rcx, qword [rsp + 0x60]
mov edx, 9
mov r8d, ebp
mov r9d, dword [rsp + 0x138]
call fcn.0047df60
xor eax, eax
cmp byte [rsp + 0x1d0], 2
sete al
shl eax, 6
add eax, 0x40
mov ecx, edi
xor cl, 1
movzx ecx, cl
shl ecx, 9
mov edx, r13d
and edx, ecx
xor ecx, r13d
or ecx, edx
mov edx, ecx
and edx, eax
xor ecx, eax
or ecx, edx
mov rax, qword [rsp + 0xc8]
mov qword [rsp + 0x20], rax
mov word [rsp + 0x30], cx
mov dword [rsp + 0x38], 0
mov qword [rsp + 0x28], 0
mov rcx, rbx
mov rdx, rsi
mov r8, r12
mov r9, r15
call fcn.004e3b40
test rax, rax
je 0x4a59c0
mov rcx, rax
movzx eax, byte [rax + 0x4b]
mov qword [rsp + 0x78], rax
movsx eax, byte [rcx + 0x49]
cmp dword [r15], eax
mov qword [rsp + 0x70], r14
mov dword [rsp + 0x1e8], r13d
mov qword [rsp + 0x1f0], rcx
jne 0x4a5c4e
mov bpl, 1
xor esi, esi
xor r12d, r12d
mov rax, qword [rsp + 0x80]
jmp 0x4a72b8
mov rdx, qword [rsp + 0xc8]
test rdx, rdx
je 0x4a5f94
mov r15, qword [rsp + 0x80]
mov rcx, r15
call fcn.0047fbe0
jmp 0x4a5f9c
mov edx, eax
sub edx, ecx
movsxd rcx, edx
lea rdx, [0x00604380]
movzx ecx, byte [rcx + rdx]
add eax, ecx
mov edx, eax
jmp 0x4a5a14
mov edx, ecx
sub edx, eax
movsxd rax, edx
lea rdx, [0x00604380]
movzx eax, byte [rax + rdx]
add ecx, eax
mov edx, ecx
mov rsi, qword [rsp + 0x58]
mov word [rsi + 2], dx
mov rdx, qword [rsi + 0x60]
test rdx, rdx
mov rsi, rbx
je 0x4a5a31
mov rcx, rsi
call fcn.00468370
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x80]
mov qword [rax + 0x60], rcx
mov qword [rax + 8], 0
cmp r13b, 1
mov r13, rax
mov rbx, qword [rsp + 0x48]
je 0x4a651d
cmp byte [rsi + 0x67], 0
jne 0x4a651d
mov qword [rsp + 0x50], rsi
mov r14d, dword [rbx + 0x44]
mov rcx, rbx
lea ebx, [r14 - 1]
lea esi, [r14 - 2]
mov dword [rcx + 0x44], esi
mov rdx, r13
mov r8d, ebx
call fcn.004e3550
movsxd rax, dword [r15 + 0x90]
cmp dword [r15 + 0x94], eax
jle 0x4a5acf
lea ecx, [rax + 1]
mov dword [r15 + 0x90], ecx
mov rcx, qword [r15 + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x23
mov dword [rcx + rax*8 + 4], ebp
mov dword [rcx + rax*8 + 8], ebx
mov dword [rcx + rax*8 + 0xc], 0
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4a5aea
mov dword [rsp + 0x20], 0
mov rcx, r15
mov edx, 0x23
mov r8d, ebp
mov r9d, ebx
call fcn.0047df60
mov r13d, dword [r15 + 0x90]
mov dword [rsp + 0x38], ebx
mov dword [rsp + 0x30], esi
lea rax, [rsp + 0xe0]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 0
mov rbx, qword [rsp + 0x48]
mov rcx, rbx
mov rdx, qword [rsp + 0x58]
mov r8d, ebp
xor r9d, r9d
call fcn.004e6450
mov rcx, qword [r15 + 0x18]
mov r8d, 1
sub r8d, r14d
mov eax, dword [rcx + 0x44]
add eax, dword [rcx + 0x48]
js 0x4a5b4f
mov eax, dword [r15 + 0x90]
mov rcx, qword [rcx + 0x50]
movsxd rdx, r8d
mov dword [rcx + rdx*4], eax
jmp 0x4a5b57
mov rdx, r15
call fcn.004d3e00
mov rsi, qword [rsp + 0x50]
movsxd rax, dword [r15 + 0x90]
cmp dword [r15 + 0x94], eax
jle 0x4a5ba4
lea ecx, [rax + 1]
mov dword [r15 + 0x90], ecx
mov rcx, qword [r15 + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x26
mov dword [rcx + rax*8 + 4], ebp
mov dword [rcx + rax*8 + 8], r13d
mov dword [rcx + rax*8 + 0xc], 0
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4a5bbf
mov dword [rsp + 0x20], 0
mov rcx, r15
mov edx, 0x26
mov r8d, ebp
mov r9d, r13d
call fcn.0047df60
mov rcx, qword [r15 + 0x18]
neg r14d
mov eax, dword [rcx + 0x44]
add eax, dword [rcx + 0x48]
mov r13, qword [rsp + 0x58]
js 0x4a5be6
mov eax, dword [r15 + 0x90]
mov rcx, qword [rcx + 0x50]
movsxd rdx, r14d
mov dword [rcx + rdx*4], eax
jmp 0x4a5bf1
mov rdx, r15
mov r8d, r14d
call fcn.004d3e00
movsxd rax, dword [r15 + 0x90]
cmp dword [r15 + 0x94], eax
jle 0x4a5c2e
lea ecx, [rax + 1]
mov dword [r15 + 0x90], ecx
mov rcx, qword [r15 + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x7a
mov dword [rcx + rax*8 + 4], ebp
xorps xmm0, xmm0
movups xmmword [rcx + rax*8 + 8], xmm0
jmp 0x4a651d
mov dword [rsp + 0x20], 0
mov rcx, r15
mov edx, 0x7a
mov r8d, ebp
xor r9d, r9d
call fcn.0047df60
jmp 0x4a651d
cmp byte [rsp + 0x1d0], 0
je 0x4a611e
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 4]
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
lea rax, [0x0060422b]
lea r9, [0x00604234]
cmove r9, rax
jmp 0x4a6125
mov edx, eax
sub edx, ecx
movsxd rcx, edx
lea rdx, [0x00604380]
movzx ecx, byte [rcx + rdx]
add eax, ecx
mov edx, eax
jmp 0x4a5cb1
mov edx, ecx
sub edx, eax
movsxd rax, edx
lea rdx, [0x00604380]
movzx eax, byte [rax + rdx]
add ecx, eax
mov edx, ecx
mov rax, qword [rsp + 0x58]
mov word [rax + 2], dx
mov rax, qword [rax + 0x60]
test rax, rax
je 0x4a64d7
mov rcx, qword [rax + 0x10]
lea rdx, [rsp + 0x140]
call fcn.004df4f0
test eax, eax
setne cl
mov ebp, dword [rsp + 0x140]
test ebp, ebp
setle dl
cmp cl, dl
je 0x4a64d7
test eax, eax
je 0x4a64d7
mov rax, qword [rsp + 0x58]
movzx edx, word [rax + 2]
cmp ebp, 8
mov r10, r12
mov r9, r15
mov r8, rsi
jae 0x4a5d35
cmp ebp, 2
jae 0x4a5e82
test dx, dx
mov rbx, qword [rsp + 0x48]
mov rsi, r8
mov r15, r9
mov r12, r10
jg 0x4a5eeb
jmp 0x4a64d7
mov bx, 0x28
mov rax, rbp
cmp ebp, 0x100
jb 0x4a5d61
mov bx, 0x28
mov rcx, rbp
mov rax, rbp
add ebx, 0x28
shr rax, 4
cmp rcx, 0xfff
mov rcx, rax
ja 0x4a5d4e
cmp rax, 0x10
jb 0x4a5e9b
mov rcx, rax
shr rcx, 1
add ebx, 0xa
cmp rax, 0x1f
mov rax, rcx
ja 0x4a5d6e
jmp 0x4a5e9e
mov dword [rsp + 0x20], 0
mov rcx, r15
mov edx, 8
xor r8d, r8d
mov r9d, ebx
call fcn.0047df60
mov rcx, qword [r15 + 0x18]
neg edi
mov eax, dword [rcx + 0x44]
add eax, dword [rcx + 0x48]
js 0x4a5e60
mov rax, qword [rsp + 0x78]
mov eax, dword [rax]
mov rcx, qword [rcx + 0x50]
movsxd rdx, edi
mov dword [rcx + rdx*4], eax
jmp 0x4a65a1
test r13d, r13d
je 0x4a6219
mov rax, qword [rsp + 0x78]
mov edi, dword [rax]
mov rax, qword [rsp + 0x50]
cmp dword [rax], edi
jle 0x4a6320
movsxd rax, edi
lea ecx, [rax + 1]
mov dword [r15 + 0x90], ecx
mov rcx, qword [r15 + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x31
mov edx, dword [rsp + 0x88]
mov dword [rcx + rax*8 + 4], edx
movabs rdx, 0x100000000
mov qword [rcx + rax*8 + 8], rdx
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4a6342
cmp eax, 1
jne 0x4a5f08
mov rax, qword [rsp + 0x50]
mov rax, qword [rax + 0x30]
cmp dword [rax + 0x14], 0
js 0x4a5f08
mov rax, qword [rax]
mov r15, qword [rax + 0x20]
xor r14d, r14d
test r15, r15
mov edi, 0x500
cmove edi, r14d
jmp 0x4a6005
mov rdx, r15
mov r8d, edi
jmp 0x4a659c
mov rax, qword [rcx + 0x1d8]
mov qword [r12], rax
mov qword [rcx + 0x1d8], r12
jmp 0x4a1e82
mov bx, 0x28
mov rax, rbp
add ebx, 0xfffffff6
lea rcx, [rax + rax]
cmp rax, 4
mov rax, rcx
jb 0x4a5e89
jmp 0x4a5e9e
mov rcx, rax
movabs rsi, 0x7ffffffffffffff8
xor rsi, rcx
and rsi, rcx
lea rax, [0x00607550]
add bx, word [rax + rsi*2]
add ebx, 0xfffffff6
cmp dx, bx
mov rbx, qword [rsp + 0x48]
mov rsi, r8
mov r15, r9
mov r12, r10
jle 0x4a64d7
mov r9, r15
mov r8, rsi
cmp ebp, 8
jae 0x4a5fb1
cmp ebp, 2
jae 0x4a647e
xor edx, edx
jmp 0x4a64c0
mov rax, qword [rdi + 0x1d8]
mov qword [rdx], rax
mov qword [rdi + 0x1d8], rdx
jmp 0x4a4413
xor r14d, r14d
xor r15d, r15d
jmp 0x4a6003
cmp byte [rdi + 0x68], 0
jne 0x4a5f66
mov byte [rdi + 0x67], 1
cmp dword [rdi + 0xe4], 0
jle 0x4a5f30
mov dword [rdi + 0x198], 1
add dword [rdi + 0x1a0], 1
mov word [rdi + 0x1a4], 0
mov rcx, qword [rdi + 0x160]
test rcx, rcx
je 0x4a5f66
lea rdx, [0x005fc480]
call fcn.00419aa0
mov rax, qword [rdi + 0x160]
mov dword [rax + 0x18], 7
xor eax, eax
mov qword [rsp + 0x190], rax
mov rbx, qword [rsp + 0x48]
mov r14, qword [rsp + 0x70]
mov rax, qword [rsp + 0x50]
mov r12, qword [rsp + 0x88]
mov r15, qword [rsp + 0x90]
jmp 0x4a571c
mov r15, qword [rsp + 0x80]
xor r14d, r14d
mov rsi, qword [rsp + 0xd0]
mov edi, 1
jmp 0x4a9934
mov dx, 0x28
cmp ebp, 0x100
jb 0x4a6496
mov dx, 0x28
mov rsi, rbp
add edx, 0x28
shr rsi, 4
cmp rbp, 0xfff
mov rbp, rsi
ja 0x4a5fc8
jmp 0x4a6499
mov dword [rsp + 0x20], 0
xor r15d, r15d
mov rcx, qword [rsp + 0x60]
mov edx, 0x47
xor r8d, r8d
mov r9d, edi
call fcn.0047df60
mov r14d, edi
xor edi, edi
mov rbx, qword [rsp + 0x48]
mov r12, qword [rsp + 0x78]
mov rsi, qword [rsp + 0x88]
mov rbp, qword [rsp + 0x68]
mov rcx, rbx
mov rdx, rbp
call fcn.004e9890
movzx eax, byte [rsp + 0x98]
movzx ecx, di
mov edx, ecx
and edx, eax
xor ecx, eax
or ecx, edx
mov qword [rsp + 0x20], r15
mov word [rsp + 0x30], cx
mov dword [rsp + 0x38], 0
mov qword [rsp + 0x28], 0
mov rcx, rbx
mov rdx, r12
mov r8, rsi
mov rsi, qword [rsp + 0xd0]
mov r9, rsi
call fcn.004e3b40
test rax, rax
je 0x4a6109
mov rdi, rax
movzx r15d, byte [rax + 0x4b]
mov rcx, rbx
mov edx, r14d
mov r8, rbp
mov r9d, r15d
call fcn.004e9240
test r15d, r15d
je 0x4a84de
mov rax, qword [rsp + 0x50]
mov rax, qword [rax + 0x30]
test rax, rax
je 0x4a84de
cmp dword [rbx + 0x30], 0
jne 0x4a84de
lea ecx, [r15 - 1]
cmp ecx, 1
ja 0x4a84de
mov ebp, dword [rax + 0x14]
mov r13d, dword [rax + 0x18]
mov r12, qword [rbx + 0x10]
mov rcx, qword [r12]
cmp byte [rcx + 0x67], 0
je 0x4a8381
lea eax, [r13 + 1]
mov edx, eax
cmp r13d, 0xfffffffe
jg 0x4a83be
mov edx, dword [r12 + 0x90]
add edx, 0xffffffff
mov rcx, qword [r12]
cmp byte [rcx + 0x67], 0
jne 0x4a8401
jmp 0x4a83c8
mov r15, qword [rsp + 0x80]
xor r14d, r14d
mov edi, 1
jmp 0x4a9934
lea r9, [0x00604234]
lea r8, [0x0060479a]
mov rcx, qword [rsp + 0x48]
xor edx, edx
call fcn.004d0380
mov rax, qword [rsp + 0x90]
mov r14d, dword [rax]
mov rax, qword [rsp + 0x50]
mov r11d, dword [rax + 0x28]
mov r15d, r14d
test r11d, r11d
jle 0x4a62a2
mov rax, qword [rsp + 0x50]
mov r9, qword [rax + 0x20]
mov r8d, r11d
and r8d, 1
cmp r11d, 1
jne 0x4a6220
xor edi, edi
mov ebx, r14d
mov r15d, r14d
jmp 0x4a6289
xor edi, edi
lea rbx, [rsp + 0xe0]
mov rcx, rbx
mov edx, 1
xor r8d, r8d
xor r9d, r9d
call fcn.00508aa0
mov rcx, rbx
mov edx, 2
mov r8d, dword [rsp + 0x68]
xor r9d, r9d
call fcn.00508aa0
cmp dword [rsp + 0x88], 0
mov r12, qword [rsp + 0xb0]
mov r14d, 0
je 0x4a65ac
mov rax, qword [rsp + 0x78]
movsxd rax, dword [rax]
mov rcx, qword [rsp + 0x50]
cmp dword [rcx], eax
jle 0x4a63ae
lea ecx, [rax + 1]
mov dword [r15 + 0x90], ecx
mov rcx, qword [r15 + 0x88]
lea rax, [rax + rax*2]
mov qword [rcx + rax*8], 8
mov dword [rcx + rax*8 + 8], ebp
mov dword [rcx + rax*8 + 0xc], 0
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4a63c9
xor edi, edi
jmp 0x4a6342
mov edx, r11d
not edx
mov r10d, 0xfffffffe
not r10
or r10, rdx
not r10
lea rsi, [r9 + 0x1a]
xor edi, edi
mov ebx, r14d
mov r15d, r14d
mov rdx, r10
movsx ecx, word [rsi]
xor eax, eax
cmp ebx, ecx
setle al
add ebx, eax
mov ecx, edi
and ecx, 1
mov rbp, rdi
xor rbp, 1
or rbp, rcx
shl rbp, 5
movsx ecx, word [r9 + rbp + 0x1a]
xor ebp, ebp
cmp ebx, ecx
setle bpl
add r15d, eax
add r15d, ebp
add ebx, ebp
add rdi, 2
add rdx, 0xfffffffffffffffe
add rsi, 0x40
cmp r10, rdi
jne 0x4a6243
test r8, r8
je 0x4a62a2
shl rdi, 5
movsx eax, word [r9 + rdi + 0x1a]
xor ecx, ecx
cmp ebx, eax
setle cl
add r15d, ecx
cmp r15d, 1
jne 0x4a62da
mov rax, qword [rsp + 0x48]
mov cl, byte [rax + 0x1f]
test cl, cl
je 0x4a6ec9
add cl, 0xff
mov rdx, qword [rsp + 0x48]
mov byte [rdx + 0x1f], cl
movzx eax, cl
mov eax, dword [rdx + rax*4 + 0xd8]
mov qword [rsp + 0x130], rax
jmp 0x4a6edf
mov rax, qword [rsp + 0x48]
mov ecx, dword [rax + 0x28]
sub ecx, r15d
jge 0x4a642b
mov rcx, qword [rsp + 0x48]
mov eax, dword [rcx + 0x38]
lea edx, [rax + 1]
mov qword [rsp + 0x130], rdx
add eax, r15d
mov dword [rcx + 0x38], eax
jmp 0x4a6edf
mov rax, qword [rcx + 0x1c8]
mov qword [r12], rax
mov qword [rcx + 0x1c8], r12
jmp 0x4a1e82
mov dword [rsp + 0x20], 1
mov rcx, r15
mov edx, 0x31
mov r8d, dword [rsp + 0x88]
xor r9d, r9d
call fcn.0047df60
mov edi, eax
lea rbx, [rsp + 0xe0]
mov rcx, rbx
mov edx, 1
xor r8d, r8d
xor r9d, r9d
call fcn.00508aa0
mov rcx, rbx
mov edx, 2
mov r8d, dword [rsp + 0x68]
xor r9d, r9d
call fcn.00508aa0
cmp dword [rsp + 0x88], 0
mov r12, qword [rsp + 0xb0]
mov r14d, 0
je 0x4a65ac
mov eax, dword [r15 + 0x90]
mov rcx, qword [r15]
cmp byte [rcx + 0x67], 0
je 0x4a6577
lea rcx, [0x0213b3e8]
jmp 0x4a6591
mov dword [rsp + 0x20], 0
mov rcx, r15
mov edx, 8
xor r8d, r8d
mov r9d, ebp
call fcn.0047df60
mov rcx, qword [r15 + 0x18]
not edi
mov eax, dword [rcx + 0x44]
add eax, dword [rcx + 0x48]
js 0x4a6596
mov rax, qword [rsp + 0x78]
mov eax, dword [rax]
mov rcx, qword [rcx + 0x50]
movsxd rdx, edi
mov dword [rcx + rdx*4], eax
jmp 0x4a65a1
mov ecx, eax
or ecx, 0xfffffff7
cmp ecx, 0xffffffff
je 0x4a8010
movsd xmm0, qword [rdi]
call fcn.0044b040
mov rbp, rax
jmp 0x4a8132
mov rax, qword [rdi + 0x1c8]
mov rdx, qword [rsp + 0x50]
mov qword [rdx], rax
mov qword [rdi + 0x1c8], rdx
jmp 0x4a4413
mov rdx, qword [rsp + 0x48]
mov eax, dword [rdx + 0x2c]
mov qword [rsp + 0x130], rax
add eax, r15d
mov dword [rdx + 0x2c], eax
mov dword [rdx + 0x28], ecx
jmp 0x4a6edf
mov rax, qword [rax + 0x20]
test rax, rax
je 0x4a4a93
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x4a8210
mov rcx, qword [rsp + 0x80]
xor r8d, r8d
xor r9d, r9d
call fcn.004d3ed0
mov rdi, rax
jmp 0x4a8212
mov dx, 0x28
add edx, 0xfffffff6
mov rcx, rbp
add rcx, rbp
cmp rbp, 4
mov rbp, rcx
jb 0x4a6482
jmp 0x4a64b6
mov rsi, rbp
cmp rsi, 0x10
jb 0x4a64b3
mov rcx, rsi
shr rcx, 1
add edx, 0xa
cmp rsi, 0x1f
mov rsi, rcx
ja 0x4a64a2
jmp 0x4a64b6
mov rcx, rsi
and ecx, 7
add dx, word [rax + rcx*2]
add edx, 0xfffffff6
mov rax, qword [rsp + 0x58]
mov word [rax + 2], dx
mov rbx, qword [rsp + 0x48]
mov rsi, r8
mov r15, r9
mov r12, r10
mov edx, dword [rsp + 0x80]
test edx, edx
je 0x4a6518
mov eax, dword [r15 + 0x90]
mov rcx, qword [r15]
cmp byte [rcx + 0x67], 0
je 0x4a64fb
lea rcx, [0x0213b3e8]
jmp 0x4a6515
lea ecx, [rax - 1]
test edx, edx
cmovns ecx, edx
movsxd rcx, ecx
lea rcx, [rcx + rcx*2]
shl rcx, 3
add rcx, qword [r15 + 0x88]
mov dword [rcx + 8], eax
mov r13, qword [rsp + 0x58]
cmp qword [r13 + 0x58], 0
jne 0x4a0869
mov ecx, dword [rbx + 0x130]
test ecx, ecx
je 0x4a6553
mov rax, qword [rbx + 0x10]
jns 0x4a6541
mov ecx, dword [rax + 0x90]
add ecx, 0xffffffff
mov rdx, qword [rax]
cmp byte [rdx + 0x67], 0
je 0x4a6557
lea rcx, [0x0213b3e8]
jmp 0x4a6569
xor eax, eax
jmp 0x4a656c
movsxd rcx, ecx
lea rcx, [rcx + rcx*2]
shl rcx, 3
add rcx, qword [rax + 0x88]
mov eax, dword [rcx + 8]
mov dword [rbx + 0x130], eax
jmp 0x4a0869
lea ecx, [rax - 1]
test edi, edi
cmovns ecx, edi
movsxd rcx, ecx
lea rcx, [rcx + rcx*2]
shl rcx, 3
add rcx, qword [r15 + 0x88]
mov dword [rcx + 8], eax
jmp 0x4a65a1
mov rdx, r15
mov r8d, edi
call fcn.004d3e00
mov r12, qword [rsp + 0xb0]
xor r14d, r14d
mov rcx, qword [r15 + 0x18]
mov r8, qword [rsp + 0x138]
neg r8d
mov eax, dword [rcx + 0x44]
add eax, dword [rcx + 0x48]
js 0x4a65dc
mov rbp, qword [rsp + 0x78]
mov eax, dword [rbp]
mov rcx, qword [rcx + 0x50]
movsxd rdx, r8d
mov dword [rcx + rdx*4], eax
mov rsi, qword [rsp + 0x70]
jmp 0x4a65ee
mov rdx, r15
call fcn.004d3e00
mov rsi, qword [rsp + 0x70]
mov rbp, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x188]
call fcn.004e7cc0
cmp qword [rsi + 0x10], 0
mov edi, dword [rbp]
je 0x4a664f
mov rax, qword [rsp + 0x50]
cmp dword [rax], edi
jle 0x4a6654
movsxd rax, edi
lea ecx, [rax + 1]
mov dword [r15 + 0x90], ecx
mov rcx, qword [r15 + 0x88]
lea rax, [rax + rax*2]
mov qword [rcx + rax*8], 0x47
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
mov r13d, edi
jmp 0x4a6677
xor r13d, r13d
jmp 0x4a66b3
mov dword [rsp + 0x20], 0
mov rcx, r15
mov edx, 0x47
xor r8d, r8d
mov r9d, dword [rsp + 0xd0]
call fcn.0047df60
mov r13d, eax
mov edi, dword [r15 + 0x90]
mov rax, qword [r15]
cmp byte [rax + 0x67], 0
je 0x4a6690
lea rax, [0x0213b3e8]
jmp 0x4a66b0
lea eax, [rdi - 1]
mov ecx, dword [rsp + 0xdc]
test ecx, ecx
cmovns eax, ecx
cdqe
lea rax, [rax + rax*2]
shl rax, 3
add rax, qword [r15 + 0x88]
mov dword [rax + 8], edi
mov dword [rsp + 0x108], 0
mov rax, qword [rsp + 0x50]
cmp dword [rax], edi
jle 0x4a66fc
lea eax, [rdi + 1]
mov dword [r15 + 0x90], eax
mov rax, qword [r15 + 0x88]
movsxd rcx, edi
lea rcx, [rcx + rcx*2]
mov dword [rax + rcx*8], 0x23
mov rdx, qword [rsp + 0x90]
mov dword [rax + rcx*8 + 4], edx
xorps xmm0, xmm0
movups xmmword [rax + rcx*8 + 8], xmm0
jmp 0x4a671e
mov dword [rsp + 0x20], 0
mov rcx, r15
mov edx, 0x23
mov r8, qword [rsp + 0x90]
xor r9d, r9d
call fcn.0047df60
mov edi, eax
mov bl, byte [rsi + 0x21]
cmp byte [rsi + 0x22], 0x58
jne 0x4a677d
cmp bl, 0x58
jne 0x4a67eb
mov bl, byte [rsi + 0x20]
lea rcx, [rsp + 0xe0]
mov edx, 3
mov r8d, dword [rsp + 0x88]
xor r9d, r9d
call fcn.00508aa0
cmp bl, 0x59
mov rbx, qword [rsp + 0x48]
jne 0x4a680d
lea rcx, [rsp + 0xe0]
mov edx, 2
mov r8d, dword [rsp + 0x68]
xor r9d, r9d
call fcn.00508aa0
jmp 0x4a680d
lea rcx, [rsp + 0xe0]
mov edx, 3
xor r8d, r8d
xor r9d, r9d
call fcn.00508aa0
cmp bl, 0x56
jne 0x4a6837
cmp byte [rsi + 0x20], 0x59
jne 0x4a68b3
mov r14d, dword [rbp]
lea rbp, [rsp + 0xe0]
mov rcx, rbp
mov edx, 2
mov r8d, dword [rsp + 0x68]
mov r9d, 1
call fcn.00508aa0
mov ebx, eax
mov rcx, rbp
mov edx, 1
xor r8d, r8d
mov r9d, 1
call fcn.00508aa0
mov esi, eax
jmp 0x4a699d
lea rcx, [rsp + 0xe0]
mov edx, 3
mov r8d, dword [rsp + 0x88]
xor r9d, r9d
call fcn.00508aa0
mov rbx, qword [rsp + 0x48]
lea rcx, [rsp + 0xe0]
mov edx, 1
xor r8d, r8d
xor r9d, r9d
call fcn.00508aa0
mov eax, dword [r15 + 0x90]
mov rcx, qword [r15]
mov cl, byte [rcx + 0x67]
jmp 0x4a6b19
mov rsi, rbp
mov ebp, dword [rbp]
lea rbx, [rsp + 0xe0]
mov rcx, rbx
mov edx, 1
xor r8d, r8d
mov r9d, 1
call fcn.00508aa0
mov r14d, eax
mov rcx, rbx
mov edx, 2
mov r8d, dword [rsp + 0x68]
xor r9d, r9d
call fcn.00508aa0
movsxd rax, dword [rsi]
mov rcx, qword [rsp + 0x50]
cmp dword [rcx], eax
jle 0x4a68f3
lea ecx, [rax + 1]
mov dword [r15 + 0x90], ecx
mov rcx, qword [r15 + 0x88]
lea rax, [rax + rax*2]
mov qword [rcx + rax*8], 8
mov dword [rcx + rax*8 + 8], ebp
mov dword [rcx + rax*8 + 0xc], 0
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4a690e
mov r14d, dword [rbp]
cmp byte [rsi + 0x22], 0x5a
jne 0x4a695e
lea rbx, [rsp + 0xe0]
mov rcx, rbx
mov edx, 1
mov r8d, dword [rsp + 0x68]
mov r9d, 1
call fcn.00508aa0
mov esi, eax
mov rcx, rbx
mov edx, 2
xor r8d, r8d
jmp 0x4a6990
mov dword [rsp + 0x20], 0
mov rcx, r15
mov edx, 8
xor r8d, r8d
mov r9d, ebp
call fcn.0047df60
mov rbx, qword [rsp + 0x48]
mov eax, dword [r15 + 0x90]
mov rcx, qword [r15]
mov cl, byte [rcx + 0x67]
test cl, cl
mov rsi, qword [rsp + 0x70]
mov rbp, qword [rsp + 0x78]
je 0x4a6937
lea rdx, [0x0213b3e8]
jmp 0x4a6953
lea edx, [rax - 1]
test r14d, r14d
cmovns edx, r14d
movsxd rdx, edx
lea rdx, [rdx + rdx*2]
shl rdx, 3
add rdx, qword [r15 + 0x88]
xor r14d, r14d
mov dword [rdx + 8], eax
jmp 0x4a6b19
lea rbx, [rsp + 0xe0]
mov rcx, rbx
mov edx, 1
mov r8d, dword [rsp + 0x88]
mov r9d, 1
call fcn.00508aa0
mov esi, eax
mov rcx, rbx
mov edx, 2
mov r8d, dword [rsp + 0x68]
mov r9d, 1
call fcn.00508aa0
mov ebx, eax
mov rax, qword [rsp + 0x78]
movsxd rax, dword [rax]
mov rcx, qword [rsp + 0x50]
cmp dword [rcx], eax
jle 0x4a69e3
lea ecx, [rax + 1]
mov dword [r15 + 0x90], ecx
mov rcx, qword [r15 + 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 0x4a69fe
mov dword [rsp + 0x20], 0
mov rcx, r15
mov edx, 8
xor r8d, r8d
mov r9d, r14d
call fcn.0047df60
mov ebp, dword [r15 + 0x90]
mov rax, qword [r15]
cmp byte [rax + 0x67], 0
mov r14d, 0
je 0x4a6a1d
lea rax, [0x0213b3e8]
jmp 0x4a6a36
lea eax, [rbp - 1]
test ebx, ebx
cmovns eax, ebx
cdqe
lea rax, [rax + rax*2]
shl rax, 3
add rax, qword [r15 + 0x88]
mov dword [rax + 8], ebp
lea rcx, [rsp + 0xe0]
mov edx, 1
xor r8d, r8d
mov r9d, 1
call fcn.00508aa0
mov ebx, eax
mov rax, qword [rsp + 0x78]
movsxd rax, dword [rax]
mov rcx, qword [rsp + 0x50]
cmp dword [rcx], eax
jle 0x4a6a9b
lea ecx, [rax + 1]
mov dword [r15 + 0x90], ecx
mov rcx, qword [r15 + 0x88]
lea rax, [rax + rax*2]
mov qword [rcx + rax*8], 8
mov dword [rcx + rax*8 + 8], ebp
mov dword [rcx + rax*8 + 0xc], 0
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4a6ab6
mov dword [rsp + 0x20], 0
mov rcx, r15
mov edx, 8
xor r8d, r8d
mov r9d, ebp
call fcn.0047df60
mov eax, dword [r15 + 0x90]
mov rcx, qword [r15]
mov cl, byte [rcx + 0x67]
test cl, cl
je 0x4a6ad6
mov dword [0x0213b3f0], eax
lea rdx, [0x0213b3e8]
jmp 0x4a6b07
lea edx, [rax - 1]
test esi, esi
cmovs esi, edx
mov rbp, qword [r15 + 0x88]
movsxd rsi, esi
lea rsi, [rsi + rsi*2]
mov dword [rbp + rsi*8 + 8], eax
test ebx, ebx
cmovs ebx, edx
movsxd rdx, ebx
lea rdx, [rdx + rdx*2]
lea rdx, [rdx*8]
add rdx, rbp
mov dword [rdx + 8], eax
mov rbx, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x70]
mov rbp, qword [rsp + 0x78]
test cl, cl
je 0x4a6b26
lea rcx, [0x0213b3e8]
jmp 0x4a6b40
lea ecx, [rax - 1]
test edi, edi
cmovns ecx, edi
movsxd rcx, ecx
lea rcx, [rcx + rcx*2]
shl rcx, 3
add rcx, qword [r15 + 0x88]
mov rdi, qword [rsp + 0x180]
mov dword [rcx + 8], eax
mov r8d, dword [rsp + 0x114]
mov rcx, qword [rsp + 0x50]
cmp dword [rcx], eax
jle 0x4a6b89
lea ecx, [rax + 1]
mov dword [r15 + 0x90], ecx
mov rcx, qword [r15 + 0x88]
cdqe
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x92
mov dword [rcx + rax*8 + 4], r8d
xorps xmm0, xmm0
movups xmmword [rcx + rax*8 + 8], xmm0
jmp 0x4a6ba1
mov dword [rsp + 0x20], 0
mov rcx, r15
mov edx, 0x92
xor r9d, r9d
call fcn.0047df60
cmp qword [rsi + 0x10], 0
je 0x4a6d15
mov r9d, dword [rsi + 0x84]
test r9d, r9d
je 0x4a6c80
movsxd rax, dword [rbp]
mov rcx, qword [rsp + 0x50]
cmp dword [rcx], eax
jle 0x4a6c04
lea ecx, [rax + 1]
mov dword [r15 + 0x90], ecx
mov rcx, qword [r15 + 0x88]
lea rax, [rax + rax*2]
movabs rdx, 0x100000047
mov qword [rcx + rax*8], rdx
mov dword [rcx + rax*8 + 8], r9d
mov dword [rcx + rax*8 + 0xc], 0
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4a6c1f
mov dword [rsp + 0x20], 0
mov rcx, r15
mov edx, 0x47
mov r8d, 1
call fcn.0047df60
mov r9d, dword [rsi + 0x88]
movsxd rax, dword [rbp]
mov rcx, qword [rsp + 0x50]
cmp dword [rcx], eax
jle 0x4a6c68
lea ecx, [rax + 1]
mov dword [r15 + 0x90], ecx
mov rcx, qword [r15 + 0x88]
lea rax, [rax + rax*2]
mov qword [rcx + rax*8], 0x47
mov dword [rcx + rax*8 + 8], r9d
mov dword [rcx + rax*8 + 0xc], 0
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4a6c80
mov dword [rsp + 0x20], 0
mov rcx, r15
mov edx, 0x47
xor r8d, r8d
call fcn.0047df60
mov eax, dword [r15 + 0x90]
mov rcx, qword [r15]
cmp byte [rcx + 0x67], 0
je 0x4a6c99
lea rcx, [0x0213b3e8]
jmp 0x4a6cb5
lea ecx, [rax - 1]
test r13d, r13d
cmovns ecx, r13d
movsxd rcx, ecx
lea rcx, [rcx + rcx*2]
shl rcx, 3
add rcx, qword [r15 + 0x88]
mov dword [rcx + 4], eax
mov rcx, qword [rsp + 0x50]
cmp dword [rcx], eax
jle 0x4a6cf5
movsxd rcx, eax
add eax, 1
mov dword [r15 + 0x90], eax
mov rax, qword [r15 + 0x88]
lea rcx, [rcx + rcx*2]
mov dword [rax + rcx*8], 0x43
mov edx, dword [rsp + 0xd0]
mov dword [rax + rcx*8 + 4], edx
xorps xmm0, xmm0
movups xmmword [rax + rcx*8 + 8], xmm0
jmp 0x4a6d15
mov dword [rsp + 0x20], 0
mov rcx, r15
mov edx, 0x43
mov r8d, dword [rsp + 0xd0]
xor r9d, r9d
call fcn.0047df60
mov rsi, qword [rsp + 0x60]
movsxd rax, dword [rsi + 0x90]
cmp dword [rsi + 0x94], eax
jle 0x4a6d63
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 ebp, dword [rsp + 0x178]
mov dword [rcx + rax*8 + 8], ebp
mov dword [rcx + rax*8 + 0xc], 0
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4a6d85
mov dword [rsp + 0x20], 0
mov rcx, rsi
mov edx, 8
xor r8d, r8d
mov ebp, dword [rsp + 0x178]
mov r9d, ebp
call fcn.0047df60
mov r15, qword [rsp + 0x80]
mov rcx, qword [rsi + 0x18]
mov r8d, edi
neg r8d
mov eax, dword [rcx + 0x44]
add eax, dword [rcx + 0x48]
js 0x4a6db1
mov eax, dword [rsi + 0x90]
mov rcx, qword [rcx + 0x50]
movsxd rdx, r8d
mov dword [rcx + rdx*4], eax
jmp 0x4a6db9
mov rdx, rsi
call fcn.004d3e00
mov dword [rsp + 0x1b8], 0
mov dword [rsp + 0x38], ebp
mov eax, dword [rsp + 0x190]
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x28], r12
lea rax, [rsp + 0x1d0]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x198]
mov rcx, rbx
mov rdx, qword [rsp + 0x58]
mov r8d, 0xffffffff
call fcn.004e6450
mov rcx, qword [rsi + 0x18]
mov r8d, 1
sub r8d, edi
mov eax, dword [rcx + 0x44]
add eax, dword [rcx + 0x48]
js 0x4a6e27
mov eax, dword [rsi + 0x90]
mov rcx, qword [rcx + 0x50]
movsxd rdx, r8d
mov dword [rcx + rdx*4], eax
jmp 0x4a6e2f
mov rdx, rsi
call fcn.004d3e00
movsxd rax, dword [rsi + 0x90]
cmp dword [rsi + 0x94], eax
jle 0x4a6e6e
lea ecx, [rax + 1]
mov dword [rsi + 0x90], ecx
mov rcx, qword [rsi + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x43
mov edx, dword [rsp + 0xc8]
mov dword [rcx + rax*8 + 4], edx
xorps xmm0, xmm0
movups xmmword [rcx + rax*8 + 8], xmm0
jmp 0x4a6e8e
mov dword [rsp + 0x20], 0
mov rcx, rsi
mov edx, 0x43
mov r8d, dword [rsp + 0xc8]
xor r9d, r9d
call fcn.0047df60
mov rcx, qword [rsi + 0x18]
mov r8d, 2
sub r8d, edi
mov eax, dword [rcx + 0x44]
add eax, dword [rcx + 0x48]
js 0x4a6eba
mov eax, dword [rsi + 0x90]
mov rcx, qword [rcx + 0x50]
movsxd rdx, r8d
mov dword [rcx + rdx*4], eax
xor esi, esi
jmp 0x4a87ce
mov rdx, rsi
call fcn.004d3e00
xor esi, esi
jmp 0x4a87ce
mov rax, qword [rsp + 0x48]
mov ecx, dword [rax + 0x38]
add ecx, 1
mov qword [rsp + 0x130], rcx
mov dword [rax + 0x38], ecx
test r14d, r14d
jle 0x4a6f9d
mov rax, qword [rsp + 0x48]
mov rbx, qword [rax + 0x10]
mov rax, qword [rsp + 0x90]
lea rsi, [rax + 8]
xor r13d, r13d
mov rax, qword [rsp + 0x130]
mov ebp, eax
mov r12d, r14d
jmp 0x4a6f54
lea edx, [rcx + 1]
mov dword [rbx + 0x90], edx
mov rdx, qword [rbx + 0x88]
lea rcx, [rcx + rcx*2]
mov dword [rdx + rcx*8], 0x51
mov dword [rdx + rcx*8 + 4], eax
mov dword [rdx + rcx*8 + 8], ebp
mov dword [rdx + rcx*8 + 0xc], 0
mov qword [rdx + rcx*8 + 0x10], 0
add r13d, 1
add rsi, 0x20
add ebp, 1
add r12d, 0xffffffff
je 0x4a6f94
mov rdx, qword [rsi]
mov rcx, qword [rsp + 0x48]
mov r8d, ebp
call fcn.004c68a0
cmp ebp, eax
je 0x4a6f43
movsxd rcx, dword [rbx + 0x90]
cmp dword [rbx + 0x94], ecx
jg 0x4a6f0f
mov dword [rsp + 0x20], 0
mov rcx, rbx
mov edx, 0x51
mov r8d, eax
mov r9d, ebp
call fcn.0047df60
jmp 0x4a6f43
mov rax, qword [rsp + 0x50]
mov r11d, dword [rax + 0x28]
test r11d, r11d
mov rdx, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x130]
jle 0x4a7006
mov esi, 0x1a
xor ebx, ebx
jmp 0x4a6fc8
add rbx, 1
movsxd rax, r11d
add rsi, 0x20
cmp rbx, rax
jge 0x4a7006
mov rcx, qword [rdx + 0x20]
movsx eax, word [rcx + rsi]
cmp r14d, eax
jg 0x4a6fb8
movsx r9d, word [rcx + rsi - 2]
mov r8d, dword [rcx + rsi - 0xa]
mov rdx, qword [rcx + rsi - 0x1a]
lea eax, [r14 + rdi]
mov dword [rsp + 0x20], eax
mov rcx, qword [rsp + 0x60]
call fcn.004cdfb0
mov rdx, qword [rsp + 0x50]
add r14d, 1
mov r11d, dword [rdx + 0x28]
jmp 0x4a6fb8
mov rcx, qword [rsp + 0x48]
mov al, byte [rcx + 0x1f]
test al, al
je 0x4a7023
add al, 0xff
mov byte [rcx + 0x1f], al
movzx eax, al
mov esi, dword [rcx + rax*4 + 0xd8]
jmp 0x4a702c
mov esi, dword [rcx + 0x38]
add esi, 1
mov dword [rcx + 0x38], esi
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax]
mov rcx, qword [rsp + 0x70]
cmp dword [rcx], eax
jle 0x4a7080
lea ecx, [rax + 1]
mov rdx, qword [rsp + 0x60]
mov dword [rdx + 0x90], ecx
mov rcx, qword [rdx + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x61
mov rdx, qword [rsp + 0x130]
mov dword [rcx + rax*8 + 4], edx
mov dword [rcx + rax*8 + 8], r15d
mov dword [rcx + rax*8 + 0xc], esi
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4a709e
mov dword [rsp + 0x20], esi
mov rcx, qword [rsp + 0x60]
mov edx, 0x61
mov r8, qword [rsp + 0x130]
mov r9d, r15d
call fcn.0047df60
mov rax, qword [rsp + 0x50]
mov r8d, dword [rax + 4]
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax]
mov rcx, qword [rsp + 0x70]
cmp dword [rcx], eax
jle 0x4a70f7
lea ecx, [rax + 1]
mov rdx, qword [rsp + 0x60]
mov dword [rdx + 0x90], ecx
mov rcx, qword [rdx + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x8b
mov dword [rcx + rax*8 + 4], r8d
mov dword [rcx + rax*8 + 8], esi
mov dword [rcx + rax*8 + 0xc], 0
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4a7111
mov dword [rsp + 0x20], 0
mov rcx, qword [rsp + 0x60]
mov edx, 0x8b
mov r9d, esi
call fcn.0047df60
test esi, esi
mov rdi, qword [rsp + 0x48]
je 0x4a7131
movzx eax, byte [rdi + 0x1f]
cmp rax, 7
ja 0x4a7131
lea ecx, [rax + 1]
mov byte [rdi + 0x1f], cl
mov dword [rdi + rax*4 + 0xd8], esi
cmp r15d, 1
jne 0x4a7162
cmp dword [rsp + 0x130], 0
je 0x4a7177
movzx eax, byte [rdi + 0x1f]
cmp rax, 7
ja 0x4a7177
lea ecx, [rax + 1]
mov byte [rdi + 0x1f], cl
mov rcx, qword [rsp + 0x130]
mov dword [rdi + rax*4 + 0xd8], ecx
jmp 0x4a7177
cmp dword [rdi + 0x28], r15d
jge 0x4a7177
mov dword [rdi + 0x28], r15d
mov rax, qword [rsp + 0x130]
mov dword [rdi + 0x2c], eax
mov rcx, qword [rsp + 0x1f0]
call fcn.004e7cc0
mov r12d, dword [rdi + 0x34]
lea eax, [r12 + 1]
mov dword [rdi + 0x34], eax
mov rax, qword [rsp + 0x50]
mov dword [rax + 8], r12d
mov al, byte [rdi + 0x1f]
test al, al
je 0x4a71b1
add al, 0xff
mov byte [rdi + 0x1f], al
movzx eax, al
mov esi, dword [rdi + rax*4 + 0xd8]
jmp 0x4a71ba
mov esi, dword [rdi + 0x38]
add esi, 1
mov dword [rdi + 0x38], esi
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax]
mov rcx, qword [rsp + 0x70]
cmp dword [rcx], eax
jle 0x4a7207
lea ecx, [rax + 1]
mov rdx, qword [rsp + 0x60]
mov dword [rdx + 0x90], ecx
mov rcx, qword [rdx + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x79
mov dword [rcx + rax*8 + 4], r12d
mov dword [rcx + rax*8 + 8], esi
mov dword [rcx + rax*8 + 0xc], r15d
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4a7221
mov dword [rsp + 0x20], r15d
mov rcx, qword [rsp + 0x60]
mov edx, 0x79
mov r8d, r12d
mov r9d, esi
call fcn.0047df60
mov rax, qword [rsp + 0x50]
mov r8d, dword [rax + 4]
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax]
mov rcx, qword [rsp + 0x70]
cmp dword [rcx], eax
jle 0x4a7281
lea ecx, [rax + 1]
mov rdx, qword [rsp + 0x60]
mov dword [rdx + 0x90], ecx
mov rcx, qword [rdx + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x21
mov dword [rcx + rax*8 + 4], r8d
mov edx, dword [rsp + 0xb8]
mov dword [rcx + rax*8 + 8], edx
mov dword [rcx + rax*8 + 0xc], 0
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4a72a0
mov dword [rsp + 0x20], 0
mov rcx, qword [rsp + 0x60]
mov edx, 0x21
mov r9d, dword [rsp + 0xb8]
call fcn.0047df60
mov rax, qword [rsp + 0x50]
mov byte [rax + 1], 1
xor ebp, ebp
mov rax, qword [rsp + 0x80]
mov r14, qword [rsp + 0x70]
cmp byte [rsp + 0xa0], 0
mov dword [rsp + 0x130], ebp
jne 0x4a7353
mov eax, dword [rax + 0x60]
not eax
or eax, 0xfffffffb
cmp eax, 0xffffffff
jne 0x4a7353
test bpl, bpl
je 0x4a72f7
mov rax, qword [rsp + 0x1f0]
mov eax, dword [rax + 0x4c]
mov ecx, eax
xor ecx, 0xfffffff7
test ecx, eax
je 0x4a8041
mov qword [rsp + 0x198], 0
mov rax, qword [rsp + 0x60]
mov rcx, qword [rax]
cmp byte [rcx + 0x67], 0
mov r14, qword [rsp + 0x70]
mov ebp, dword [rsp + 0x130]
jne 0x4a7353
movsxd rax, dword [rsp + 0x1b0]
mov rdx, qword [rsp + 0x60]
mov rdi, qword [rdx + 0x88]
lea rbx, [rax + rax*2]
mov r8, qword [rdi + rbx*8 + 0x10]
movsx edx, byte [rdi + rbx*8 + 1]
call fcn.00444fc0
mov qword [rdi + rbx*8 + 0x10], 0
mov word [rdi + rbx*8], 0xb8
mov rax, qword [rsp + 0x88]
mov ecx, dword [rax]
test bpl, bpl
mov dword [rsp + 0xa0], ecx
je 0x4a7370
mov rbx, qword [rsp + 0x60]
jmp 0x4a73d9
mov rax, qword [rsp + 0x50]
mov r8d, dword [rax + 4]
cmp dword [r14], ecx
jle 0x4a73bf
movsxd rax, dword [rsp + 0xa0]
lea ecx, [rax + 1]
mov rbx, qword [rsp + 0x60]
mov dword [rbx + 0x90], ecx
mov rcx, qword [rbx + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x85
mov dword [rcx + rax*8 + 4], r8d
mov dword [rcx + rax*8 + 8], esi
mov dword [rcx + rax*8 + 0xc], r12d
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4a73d9
mov dword [rsp + 0x20], r12d
mov rbx, qword [rsp + 0x60]
mov rcx, rbx
mov edx, 0x85
mov r9d, esi
call fcn.0047df60
mov rax, qword [rsp + 0x90]
mov r13, qword [rsp + 0x98]
mov r15, qword [rsp + 0x1e0]
mov eax, dword [rax]
test eax, eax
jle 0x4a759e
cmp byte [rsp + 0x130], 0
je 0x4a7505
add r15d, r13d
add r15d, 5
mov rax, qword [rsp + 0x90]
lea rsi, [rax + 8]
xor ebp, ebp
mov rcx, qword [rsp + 0x50]
jmp 0x4a7483
lea ebx, [r8 + 1]
mov dword [rcx + 0x90], ebx
mov rcx, qword [rcx + 0x88]
lea rbx, [r8 + r8*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], edi
mov dword [rcx + rbx*8 + 0xc], 0
mov qword [rcx + rbx*8 + 0x10], 0
mov byte [rcx + rbx*8 + 1], 0
mov rcx, qword [rsp + 0x50]
add rbp, 1
mov rax, qword [rsp + 0x90]
movsxd rax, dword [rax]
add rsi, 0x20
cmp rbp, rax
jge 0x4a7589
mov byte [rcx], 1
mov rax, qword [rsp + 0x48]
cmp qword [rax + 0x10], 0
je 0x4a7467
mov rbx, qword [rsi]
lea rdi, [r15 + rbp]
mov rcx, qword [rsp + 0x48]
mov rdx, rbx
mov r8d, edi
call fcn.004c68a0
mov rcx, qword [rsp + 0x50]
cmp edi, eax
je 0x4a7467
test rbx, rbx
je 0x4a74cb
mov ebx, dword [rbx + 4]
mov ecx, ebx
xor ecx, 0xffbfffff
mov edx, 0x50
test ecx, ebx
jne 0x4a74d0
mov edx, 0x51
mov rcx, qword [rsp + 0x48]
mov rcx, qword [rcx + 0x10]
movsxd r8, dword [rcx + 0x90]
cmp dword [rcx + 0x94], r8d
jg 0x4a7425
mov dword [rsp + 0x20], 0
mov r8d, eax
mov r9d, edi
call fcn.0047df60
jmp 0x4a7462
lea esi, [r15 + r13]
add esi, 5
xor edi, edi
mov rbp, qword [rsp + 0x90]
jmp 0x4a7553
lea edx, [rcx + 1]
mov dword [rbx + 0x90], edx
mov rdx, qword [rbx + 0x88]
lea rcx, [rcx + rcx*2]
mov dword [rdx + rcx*8], 0x5e
mov dword [rdx + rcx*8 + 4], r12d
mov dword [rdx + rcx*8 + 8], edi
mov dword [rdx + rcx*8 + 0xc], eax
mov qword [rdx + rcx*8 + 0x10], 0
add edi, 1
mov eax, dword [rbp]
cmp edi, eax
jge 0x4a759e
lea eax, [rsi + rdi]
mov rcx, qword [rsp + 0x88]
movsxd rcx, dword [rcx]
cmp dword [r14], ecx
jg 0x4a7518
mov dword [rsp + 0x20], eax
mov rcx, rbx
mov edx, 0x5e
mov r8d, r12d
mov r9d, edi
call fcn.0047df60
add edi, 1
mov eax, dword [rbp]
cmp edi, eax
jl 0x4a7553
jmp 0x4a759e
mov rbx, qword [rsp + 0x60]
mov r13, qword [rsp + 0x98]
mov r15, qword [rsp + 0x1e0]
lea edi, [r15 + r13]
add edi, 5
mov rcx, qword [rsp + 0x190]
test rcx, rcx
je 0x4a75b5
add dword [rcx], 1
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], eax
mov dword [rsp + 0x30], 0xfffffff8
mov rcx, rbx
mov edx, 0x5a
mov r8d, dword [rsp + 0xdc]
mov r9d, edi
call fcn.004c62a0
mov rcx, rbx
movsxd rbx, dword [rbx + 0x90]
lea r8d, [rbx + 1]
cmp dword [rcx + 0x94], ebx
mov esi, dword [rsp + 0xb8]
mov r15, qword [rsp + 0x68]
jle 0x4a7636
mov dword [rcx + 0x90], r8d
mov rax, qword [rcx + 0x88]
lea rcx, [rbx + rbx*2]
mov dword [rax + rcx*8], 0xd
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], 0
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], 0
jmp 0x4a7648
mov dword [rsp + 0x20], r8d
mov edx, 0xd
xor r9d, r9d
call fcn.0047df60
mov rax, qword [rsp + 0x90]
mov eax, dword [rax]
mov rcx, qword [rsp + 0x48]
mov rcx, qword [rcx + 0x10]
movsxd rdx, dword [rcx + 0x90]
cmp dword [rcx + 0x94], edx
jle 0x4a76a3
lea ebp, [rdx + 1]
mov dword [rcx + 0x90], ebp
mov rcx, qword [rcx + 0x88]
lea rdx, [rdx + rdx*2]
mov dword [rcx + rdx*8], 0x4f
mov dword [rcx + rdx*8 + 4], edi
mov ebp, dword [rsp + 0xdc]
mov dword [rcx + rdx*8 + 8], ebp
mov dword [rcx + rdx*8 + 0xc], eax
mov qword [rcx + rdx*8 + 0x10], 0
jmp 0x4a76bc
mov dword [rsp + 0x20], eax
mov edx, 0x4f
mov r8d, edi
mov r9d, dword [rsp + 0xdc]
call fcn.0047df60
lea r14d, [r13 + 3]
mov rax, qword [rsp + 0x178]
lea edi, [rax - 1]
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax]
mov rcx, qword [rsp + 0x70]
cmp dword [rcx], eax
mov ebp, dword [rsp + 0x188]
jle 0x4a7722
lea ecx, [rax + 1]
mov rdx, qword [rsp + 0x60]
mov dword [rdx + 0x90], ecx
mov rcx, qword [rdx + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 9
mov dword [rcx + rax*8 + 4], r14d
mov dword [rcx + rax*8 + 8], edi
mov dword [rcx + rax*8 + 0xc], 0
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4a773f
mov dword [rsp + 0x20], 0
mov rcx, qword [rsp + 0x60]
mov edx, 9
mov r8d, r14d
mov r9d, edi
call fcn.0047df60
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax]
mov rcx, qword [rsp + 0x70]
cmp dword [rcx], eax
mov r8d, dword [rsp + 0xd8]
jle 0x4a7797
lea ecx, [rax + 1]
mov rdx, qword [rsp + 0x60]
mov dword [rdx + 0x90], ecx
mov rcx, qword [rdx + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x31
mov dword [rcx + rax*8 + 4], r8d
mov dword [rcx + rax*8 + 8], esi
mov dword [rcx + rax*8 + 0xc], 0
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4a77b1
mov dword [rsp + 0x20], 0
mov rcx, qword [rsp + 0x60]
mov edx, 0x31
mov r9d, esi
call fcn.0047df60
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax]
mov rcx, qword [rsp + 0x70]
cmp dword [rcx], eax
jle 0x4a7807
lea ecx, [rax + 1]
mov rsi, qword [rsp + 0x60]
mov dword [rsi + 0x90], ecx
mov rcx, qword [rsi + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 9
mov dword [rcx + rax*8 + 4], ebp
mov edx, dword [rsp + 0x138]
mov dword [rcx + rax*8 + 8], edx
mov dword [rcx + rax*8 + 0xc], 0
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4a782c
mov dword [rsp + 0x20], 0
mov rsi, qword [rsp + 0x60]
mov rcx, rsi
mov edx, 9
mov r8d, ebp
mov r9d, dword [rsp + 0x138]
call fcn.0047df60
add r13d, 1
mov eax, dword [rsi + 0x90]
mov rcx, qword [rsi]
cmp byte [rcx + 0x67], 0
mov ebp, dword [rsp + 0x130]
je 0x4a784f
lea rcx, [0x0213b3e8]
jmp 0x4a786e
lea ecx, [rax - 1]
test ebx, ebx
cmovns ecx, ebx
movsxd rcx, ecx
lea rcx, [rcx + rcx*2]
shl rcx, 3
mov rdx, qword [rsp + 0x60]
add rcx, qword [rdx + 0x88]
mov dword [rcx + 8], eax
mov rcx, qword [rsp + 0x48]
mov edx, r13d
mov r8, r15
mov r9, qword [rsp + 0x78]
call fcn.004e9240
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax]
mov rcx, qword [rsp + 0x70]
cmp dword [rcx], eax
mov rsi, qword [rsp + 0x60]
jle 0x4a78d9
lea ecx, [rax + 1]
mov dword [rsi + 0x90], ecx
mov rcx, qword [rsi + 0x88]
lea rax, [rax + rax*2]
movabs rdx, 0x100000047
mov qword [rcx + rax*8], rdx
mov dword [rcx + rax*8 + 8], r13d
mov dword [rcx + rax*8 + 0xc], 0
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4a78f7
mov dword [rsp + 0x20], 0
mov rcx, rsi
mov edx, 0x47
mov r8d, 1
mov r9d, r13d
call fcn.0047df60
mov qword [rsp + 0x98], r13
test bpl, bpl
je 0x4a7969
mov rcx, qword [rsp + 0x1f0]
call fcn.004e7cc0
mov rcx, qword [rsi]
cmp byte [rcx + 0x67], 0
mov r12, qword [rsp + 0xb0]
mov rbp, qword [rsp + 0x80]
jne 0x4a79f1
mov rsi, qword [rsi + 0x88]
movsxd rax, dword [rsp + 0x1fc]
lea rbx, [rax + rax*2]
mov r8, qword [rsi + rbx*8 + 0x10]
movsx edx, byte [rsi + rbx*8 + 1]
call fcn.00444fc0
mov qword [rsi + rbx*8 + 0x10], 0
mov word [rsi + rbx*8], 0xb8
mov rsi, qword [rsp + 0x60]
jmp 0x4a79f1
mov rax, qword [rsp + 0x50]
mov r8d, dword [rax + 4]
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax]
mov rcx, qword [rsp + 0x70]
cmp dword [rcx], eax
jle 0x4a79c4
lea ecx, [rax + 1]
mov dword [rsi + 0x90], ecx
mov rcx, qword [rsi + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x24
mov dword [rcx + rax*8 + 4], r8d
mov edx, dword [rsp + 0xa0]
mov dword [rcx + rax*8 + 8], edx
mov dword [rcx + rax*8 + 0xc], 0
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4a79e1
mov dword [rsp + 0x20], 0
mov rcx, rsi
mov edx, 0x24
mov r9d, dword [rsp + 0xa0]
call fcn.0047df60
mov r12, qword [rsp + 0xb0]
mov rbp, qword [rsp + 0x80]
mov rdx, qword [rsp + 0xc8]
test rdx, rdx
je 0x4a7a06
mov rcx, rbp
call fcn.0047fbe0
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax]
mov rcx, qword [rsp + 0x70]
cmp dword [rcx], eax
jle 0x4a7a51
lea ecx, [rax + 1]
mov dword [rsi + 0x90], ecx
mov rcx, qword [rsi + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 9
mov dword [rcx + rax*8 + 4], r14d
mov dword [rcx + rax*8 + 8], edi
mov dword [rcx + rax*8 + 0xc], 0
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4a7a6c
mov dword [rsp + 0x20], 0
mov rcx, rsi
mov edx, 9
mov r8d, r14d
mov r9d, edi
call fcn.0047df60
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax]
mov rcx, qword [rsp + 0x70]
cmp dword [rcx], eax
jle 0x4a7aba
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 edx, dword [rsp + 0xb8]
mov dword [rcx + rax*8 + 8], edx
mov dword [rcx + rax*8 + 0xc], 0
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4a7ada
mov dword [rsp + 0x20], 0
mov rcx, rsi
mov edx, 8
xor r8d, r8d
mov r9d, dword [rsp + 0xb8]
call fcn.0047df60
mov rax, qword [rsp + 0x88]
movsxd r15, dword [rax]
mov rax, qword [rsp + 0x70]
cmp dword [rax], r15d
mov r9d, dword [rsp + 0xd8]
jle 0x4a7b32
lea eax, [r15 + 1]
mov dword [rsi + 0x90], eax
mov rax, qword [rsi + 0x88]
lea rcx, [r15 + r15*2]
movabs rdx, 0x100000047
mov qword [rax + rcx*8], rdx
mov dword [rax + rcx*8 + 8], r9d
mov dword [rax + rcx*8 + 0xc], 0
mov qword [rax + rcx*8 + 0x10], 0
jmp 0x4a7b4d
mov dword [rsp + 0x20], 0
mov rcx, rsi
mov edx, 0x47
mov r8d, 1
call fcn.0047df60
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax]
mov rcx, qword [rsp + 0x70]
cmp dword [rcx], eax
jle 0x4a7b8b
lea ecx, [rax + 1]
mov dword [rsi + 0x90], ecx
mov rcx, qword [rsi + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x43
mov dword [rcx + rax*8 + 4], r14d
xorps xmm0, xmm0
movups xmmword [rcx + rax*8 + 8], xmm0
jmp 0x4a7ba6
mov dword [rsp + 0x20], 0
mov rcx, rsi
mov edx, 0x43
mov r8d, r14d
xor r9d, r9d
call fcn.0047df60
mov rcx, qword [rsi + 0x18]
mov rax, qword [rsp + 0x178]
mov r8d, eax
neg r8d
mov eax, dword [rcx + 0x44]
add eax, dword [rcx + 0x48]
js 0x4a7bd6
mov rax, qword [rsp + 0x88]
mov eax, dword [rax]
mov rcx, qword [rcx + 0x50]
movsxd rdx, r8d
mov dword [rcx + rdx*4], eax
jmp 0x4a7bde
mov rdx, rsi
call fcn.004d3e00
mov rax, qword [rsp + 0x88]
movsxd rdi, dword [rax]
lea r9d, [rdi + 2]
mov rax, qword [rsp + 0x70]
cmp dword [rax], edi
jle 0x4a7c35
lea eax, [rdi + 1]
mov dword [rsi + 0x90], eax
mov rax, qword [rsi + 0x88]
lea rcx, [rdi + rdi*2]
mov dword [rax + rcx*8], 0x31
mov rdx, qword [rsp + 0x98]
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], r9d
mov dword [rax + rcx*8 + 0xc], 0
mov qword [rax + rcx*8 + 0x10], 0
jmp 0x4a7c52
mov dword [rsp + 0x20], 0
mov rcx, rsi
mov edx, 0x31
mov r8, qword [rsp + 0x98]
call fcn.0047df60
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax]
mov rcx, qword [rsp + 0x70]
cmp dword [rcx], eax
jle 0x4a7c90
lea ecx, [rax + 1]
mov dword [rsi + 0x90], ecx
mov rcx, qword [rsi + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x43
mov dword [rcx + rax*8 + 4], r14d
xorps xmm0, xmm0
movups xmmword [rcx + rax*8 + 8], xmm0
jmp 0x4a7cab
mov dword [rsp + 0x20], 0
mov rcx, rsi
mov edx, 0x43
mov r8d, r14d
xor r9d, r9d
call fcn.0047df60
mov rax, qword [rsp + 0x68]
cmp dword [rax + 0x38], 0
jle 0x4a7d9c
mov rax, qword [rsp + 0x48]
mov rbp, qword [rax + 0x10]
mov rax, qword [rsp + 0x68]
mov rbx, qword [rax + 0x30]
xor esi, esi
jmp 0x4a7d06
mov rax, qword [rbp + 0x88]
mov ecx, dword [rbp + 0x90]
add ecx, 0xffffffff
movsxd rcx, ecx
lea rcx, [rcx + rcx*2]
mov byte [rax + rcx*8 + 1], 0xf9
mov qword [rax + rcx*8 + 0x10], r8
add esi, 1
add rbx, 0x20
mov rax, qword [rsp + 0x68]
cmp esi, dword [rax + 0x38]
jge 0x4a7d9c
mov rax, qword [rbx]
mov rax, qword [rax + 0x20]
mov r8d, dword [rbx + 0x10]
mov r9d, 0
test rax, rax
je 0x4a7d1f
mov r9d, dword [rax]
movsxd rax, dword [rbp + 0x90]
cmp dword [rbp + 0x94], eax
jle 0x4a7d66
lea ecx, [rax + 1]
mov dword [rbp + 0x90], ecx
mov rcx, qword [rbp + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0xa5
mov dword [rcx + rax*8 + 4], r8d
mov dword [rcx + rax*8 + 8], r9d
mov dword [rcx + rax*8 + 0xc], 0
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4a7d7b
mov dword [rsp + 0x20], 0
mov rcx, rbp
mov edx, 0xa5
call fcn.0047df60
mov r8, qword [rbx + 8]
mov rcx, qword [rbp]
cmp byte [rcx + 0x67], 0
je 0x4a7cd0
mov edx, 0xfffffff9
call fcn.00444fc0
jmp 0x4a7cf1
add edi, 1
mov rsi, qword [rsp + 0x48]
mov rcx, rsi
mov rdx, qword [rsp + 0x180]
mov r8d, edi
mov r9d, 0x10
call fcn.004cdaa0
mov dword [rsp + 0x38], r15d
mov dword [rsp + 0x30], edi
mov qword [rsp + 0x28], r12
lea rax, [rsp + 0x1d0]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x198]
mov rcx, rsi
mov rdx, qword [rsp + 0x58]
mov r8d, 0xffffffff
call fcn.004e6450
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax]
mov rcx, qword [rsp + 0x70]
cmp dword [rcx], eax
jle 0x4a7e36
lea ecx, [rax + 1]
mov rdi, qword [rsp + 0x60]
mov dword [rdi + 0x90], ecx
mov rcx, qword [rdi + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x43
mov dword [rcx + rax*8 + 4], r14d
xorps xmm0, xmm0
movups xmmword [rcx + rax*8 + 8], xmm0
jmp 0x4a7e56
mov dword [rsp + 0x20], 0
mov rdi, qword [rsp + 0x60]
mov rcx, rdi
mov edx, 0x43
mov r8d, r14d
xor r9d, r9d
call fcn.0047df60
mov r15, qword [rsp + 0x80]
mov rbp, qword [rsp + 0xc0]
mov rcx, qword [rdi + 0x18]
mov r8d, 1
sub r8d, dword [rsp + 0x178]
mov eax, dword [rcx + 0x44]
add eax, dword [rcx + 0x48]
mov rbx, qword [rsp + 0x70]
js 0x4a7e9b
mov rax, qword [rsp + 0x88]
mov eax, dword [rax]
mov rcx, qword [rcx + 0x50]
movsxd rdx, r8d
mov dword [rcx + rdx*4], eax
jmp 0x4a7ea3
mov rdx, rdi
call fcn.004d3e00
mov rcx, rsi
mov rdx, qword [rsp + 0x68]
call fcn.004e9890
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax]
cmp dword [rbx], eax
jle 0x4a7efa
lea ecx, [rax + 1]
mov dword [rdi + 0x90], ecx
mov rcx, qword [rdi + 0x88]
lea rax, [rax + rax*2]
mov qword [rcx + rax*8], 0x47
mov rdx, qword [rsp + 0x98]
mov dword [rcx + rax*8 + 8], edx
mov dword [rcx + rax*8 + 0xc], 0
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4a7f1a
mov dword [rsp + 0x20], 0
mov rcx, rdi
mov edx, 0x47
xor r8d, r8d
mov r9, qword [rsp + 0x98]
call fcn.0047df60
mov rsi, qword [rsp + 0xd0]
mov rax, qword [rsp + 0x88]
movsxd rax, dword [rax]
cmp dword [rbx], eax
jle 0x4a7f61
lea ecx, [rax + 1]
mov dword [rdi + 0x90], ecx
mov rcx, qword [rdi + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x43
mov edx, dword [rsp + 0x188]
mov dword [rcx + rax*8 + 4], edx
xorps xmm0, xmm0
movups xmmword [rcx + rax*8 + 8], xmm0
jmp 0x4a7f81
mov dword [rsp + 0x20], 0
mov rcx, rdi
mov edx, 0x43
mov r8d, dword [rsp + 0x188]
xor r9d, r9d
call fcn.0047df60
mov edx, dword [rsp + 0x1e8]
test edx, edx
setne al
cmp byte [rsp + 0x78], 0
sete cl
cmp al, cl
je 0x4a8799
test edx, edx
je 0x4a8799
mov rax, qword [rsp + 0x48]
cmp dword [rax + 0x30], 0
jne 0x4a8799
mov rax, qword [rsp + 0x78]
add eax, 0xffffffff
cmp eax, 1
ja 0x4a8799
mov rax, qword [rsp + 0x50]
mov rax, qword [rax + 0x30]
mov r14d, dword [rax + 0x14]
mov ebx, dword [rax + 0x18]
mov rax, qword [rsp + 0x48]
mov rdi, qword [rax + 0x10]
mov rcx, qword [rdi]
cmp byte [rcx + 0x67], 0
je 0x4a8061
lea eax, [rbx + 1]
mov edx, eax
cmp ebx, 0xfffffffe
jg 0x4a809c
mov edx, dword [rdi + 0x90]
add edx, 0xffffffff
mov rcx, qword [rdi]
cmp byte [rcx + 0x67], 0
jne 0x4a80df
jmp 0x4a80a5
or eax, 0xffffffed
cmp eax, 0xffffffff
je 0x4a8130
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x4a8130
mov edx, dword [rdi + 0x10]
mov r8b, byte [rdi + 0x16]
call fcn.0044b070
mov rbp, rax
movzx esi, word [rdi + 0x14]
jmp 0x4a8132
mov rax, qword [rsp + 0x88]
mov eax, dword [rax]
mov dword [rsp + 0xa0], eax
mov rbx, qword [rsp + 0x60]
mov r14, qword [rsp + 0x70]
jmp 0x4a73d9
movsxd rax, ebx
mov rbp, qword [rdi + 0x88]
lea rsi, [rax + rax*2]
mov r8, qword [rbp + rsi*8 + 0x10]
movsx edx, byte [rbp + rsi*8 + 1]
call fcn.00444fc0
mov qword [rbp + rsi*8 + 0x10], 0
mov word [rbp + rsi*8], 0xb8
lea eax, [rbx + 1]
mov edx, eax
cmp ebx, 0xfffffffe
jle 0x4a7ff5
mov rcx, qword [rdi]
cmp byte [rcx + 0x67], 0
jne 0x4a80df
mov rbp, qword [rdi + 0x88]
movsxd rdx, edx
lea rdx, [rdx + rdx*2]
cmp byte [rbp + rdx*8], 0xb9
jne 0x4a80df
cdqe
lea rsi, [rax + rax*2]
mov r8, qword [rbp + rsi*8 + 0x10]
movsx edx, byte [rbp + rsi*8 + 1]
call fcn.00444fc0
mov qword [rbp + rsi*8 + 0x10], 0
mov word [rbp + rsi*8], 0xb8
cmp byte [rsp + 0x78], 2
mov r12, qword [rsp + 0xb0]
mov r15, qword [rsp + 0x80]
mov rsi, qword [rsp + 0xd0]
mov rbp, qword [rsp + 0xc0]
jne 0x4a8799
test ebx, ebx
jns 0x4a8117
mov ebx, dword [rdi + 0x90]
add ebx, 0xffffffff
mov rax, qword [rdi]
cmp byte [rax + 0x67], 0
je 0x4a8354
lea rax, [0x0213b3e8]
jmp 0x4a8366
xor ebp, ebp
mov eax, esi
xor eax, 0x6fff
test ax, si
jne 0x4a8144
cmp dword [rdi + 0x20], 0
je 0x4a814c
mov rcx, rdi
call fcn.00449ce0
mov rcx, qword [rdi + 0x18]
test rcx, rcx
je 0x4a818f
cmp qword [rcx + 0x300], 0
je 0x4a816c
mov rdx, rdi
call fcn.004297f0
jmp 0x4a84a6
cmp qword [rcx + 0x1f0], rdi
jbe 0x4a818f
cmp qword [rcx + 0x1e0], rdi
jbe 0x4a833e
cmp qword [rcx + 0x1e8], rdi
jbe 0x4a8495
cmp dword [0x005f6010], 0
je 0x4a8202
mov rcx, qword [0x0213b0e8]
test rcx, rcx
je 0x4a81aa
call qword [0x005f6090]
mov rcx, rdi
call qword [0x005f6048]
cdqe
movabs rcx, 0x925c16d93ede13f3
mov rdx, qword [0x0213b040]
add rdx, rcx
sub rdx, rax
sub rdx, rcx
mov qword [0x0213b040], rdx
add qword [0x0213b088], 0xffffffffffffffff
mov rcx, rdi
call qword [0x005f6038]
mov rcx, qword [0x0213b0e8]
test rcx, rcx
je 0x4a84a6
call qword [0x005f60a0]
jmp 0x4a84a6
mov rcx, rdi
call qword [0x005f6038]
jmp 0x4a84a6
xor edi, edi
mov rcx, qword [rsp + 0x80]
mov rdx, qword [rsp + 0x90]
xor r8d, r8d
call fcn.004d2fa0
mov rcx, rax
mov qword [rsp + 0xc8], rax
test rax, rax
je 0x4a8273
mov rcx, qword [rsp + 0xc8]
movsxd rax, dword [rcx]
cmp dword [rcx + 4], eax
jle 0x4a8285
lea ecx, [rax + 1]
mov rdx, qword [rsp + 0xc8]
mov dword [rdx], ecx
shl rax, 5
xorps xmm0, xmm0
movups xmmword [rdx + rax + 0x10], xmm0
mov qword [rdx + rax + 0x20], 0
mov qword [rdx + rax + 8], rdi
jmp 0x4a82a5
mov rax, qword [rsp + 0x48]
mov rcx, qword [rax]
mov rdx, rdi
call fcn.0050cd80
jmp 0x4a829d
mov rax, qword [rsp + 0x48]
mov rcx, qword [rax]
mov rdx, qword [rsp + 0xc8]
mov r8, rdi
call fcn.0050ce50
mov qword [rsp + 0xc8], rax
xor eax, eax
cmp qword [rsp + 0xc8], 0
mov r13d, 0x500
cmove r13d, eax
jmp 0x4a4aa0
mov rax, qword [rax + 8]
xor ebp, ebp
lea rbx, [0x00604792]
lea r8, [0x005fade0]
jmp 0x4a82e2
test dil, dil
je 0x4a8457
add rbp, 1
movzx edi, byte [rax + rbp]
movzx esi, byte [rbp + rbx]
cmp dil, sil
je 0x4a82d5
movzx ecx, byte [rdi + r8]
cmp cl, byte [rsi + r8]
je 0x4a82de
xor ebp, ebp
lea rbx, [0x00604796]
jmp 0x4a8319
movzx ecx, byte [rdi + r8]
cmp cl, byte [rsi + r8]
jne 0x4a4851
add rbp, 1
movzx edi, byte [rax + rbp]
movzx esi, byte [rbp + rbx]
cmp dil, sil
jne 0x4a8306
test dil, dil
jne 0x4a8315
mov sil, 1
mov al, 2
mov qword [rsp + 0x98], rax
jmp 0x4a9aad
mov rax, qword [rcx + 0x1d8]
mov qword [rdi], rax
mov qword [rcx + 0x1d8], rdi
jmp 0x4a84a6
movsxd rax, ebx
lea rax, [rax + rax*2]
shl rax, 3
add rax, qword [rdi + 0x88]
mov byte [rax], 0x4b
mov dword [rax + 4], 1
mov dword [rax + 8], r14d
mov r12, qword [rsp + 0xb0]
jmp 0x4a8781
movsxd rax, r13d
mov rsi, qword [r12 + 0x88]
lea rbx, [rax + rax*2]
mov r8, qword [rsi + rbx*8 + 0x10]
movsx edx, byte [rsi + rbx*8 + 1]
call fcn.00444fc0
mov qword [rsi + rbx*8 + 0x10], 0
mov word [rsi + rbx*8], 0xb8
lea eax, [r13 + 1]
mov edx, eax
cmp r13d, 0xfffffffe
jle 0x4a60eb
mov rcx, qword [r12]
cmp byte [rcx + 0x67], 0
jne 0x4a8401
mov rbx, qword [r12 + 0x88]
movsxd rdx, edx
lea rdx, [rdx + rdx*2]
cmp byte [rbx + rdx*8], 0xb9
jne 0x4a8401
cdqe
lea rsi, [rax + rax*2]
mov r8, qword [rbx + rsi*8 + 0x10]
movsx edx, byte [rbx + rsi*8 + 1]
call fcn.00444fc0
mov qword [rbx + rsi*8 + 0x10], 0
mov word [rbx + rsi*8], 0xb8
cmp r15b, 2
jne 0x4a84de
test r13d, r13d
jns 0x4a841c
mov r13d, dword [r12 + 0x90]
add r13d, 0xffffffff
mov rax, qword [r12]
cmp byte [rax + 0x67], 0
je 0x4a84be
lea rax, [0x0213b3e8]
jmp 0x4a84d1
mov ecx, eax
xor ecx, 0xfff7
test ecx, eax
je 0x4a996c
movsd xmm0, qword [rdi]
call fcn.0044b040
mov rbp, rax
jmp 0x4a99aa
mov rax, qword [rdx + 8]
mov cl, byte [rax]
lea ebp, [rcx + 0x53]
cmp bpl, 1
ja 0x4a8476
mov rax, qword [rax + 0x10]
movzx ecx, byte [rax]
lea ebp, [rcx + 0x53]
cmp bpl, 2
jb 0x4a8466
cmp cl, 0xb0
jne 0x4a847e
mov cl, byte [rax + 2]
cmp cl, 0x99
jae 0x4a994d
cmp cl, 0x75
je 0x4a995b
jmp 0x4a9996
mov rax, qword [rcx + 0x1c8]
mov qword [rdi], rax
mov qword [rcx + 0x1c8], rdi
test ebp, ebp
jle 0x4a335d
mov dword [rsp + 0x104], 1
jmp 0x4a335d
movsxd rax, r13d
lea rax, [rax + rax*2]
shl rax, 3
add rax, qword [r12 + 0x88]
mov byte [rax], 0x4b
mov dword [rax + 4], 1
mov dword [rax + 8], ebp
test r14d, r14d
je 0x4a8556
mov rcx, qword [rsp + 0x60]
movsxd rax, dword [rcx + 0x90]
cmp dword [rcx + 0x94], eax
jle 0x4a8536
lea ecx, [rax + 1]
mov rdx, qword [rsp + 0x60]
mov dword [rdx + 0x90], ecx
mov rcx, qword [rdx + 0x88]
lea rax, [rax + rax*2]
movabs rdx, 0x100000047
mov qword [rcx + rax*8], rdx
mov dword [rcx + rax*8 + 8], r14d
mov dword [rcx + rax*8 + 0xc], 0
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4a8556
mov dword [rsp + 0x20], 0
mov rcx, qword [rsp + 0x60]
mov edx, 0x47
mov r8d, 1
mov r9d, r14d
call fcn.0047df60
cmp byte [rsp + 0x98], 0
je 0x4a8623
mov eax, dword [rdi + 0x4c]
not eax
or eax, 0xfffffffb
cmp eax, 0xffffffff
je 0x4a8623
cmp byte [rdi + 0x49], 0
je 0x4a8623
movzx eax, byte [rdi + 0x48]
imul rcx, rax, 0x70
add rcx, rdi
add rcx, 0x380
lea rdx, [rax + 1]
add rdx, 0xffffffffffffffff
jle 0x4a85b8
add rax, 0xffffffffffffffff
mov rbp, qword [rcx - 0x20]
add rcx, 0xffffffffffffff90
mov ebx, dword [rbp + 0x38]
mov ebp, ebx
xor ebp, 0xfffffffb
test ebp, ebx
je 0x4a8595
mov r9d, dword [rcx]
jmp 0x4a85bc
mov r9d, dword [rdi + 0x3c]
mov rcx, qword [rsp + 0x60]
movsxd rax, dword [rcx + 0x90]
cmp dword [rcx + 0x94], eax
jle 0x4a8609
lea ecx, [rax + 1]
mov rdx, qword [rsp + 0x60]
mov dword [rdx + 0x90], ecx
mov rcx, qword [rdx + 0x88]
lea rax, [rax + rax*2]
mov qword [rcx + rax*8], 8
mov dword [rcx + rax*8 + 8], r9d
mov dword [rcx + rax*8 + 0xc], 0
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4a8623
mov dword [rsp + 0x20], 0
mov rcx, qword [rsp + 0x60]
mov edx, 8
xor r8d, r8d
call fcn.0047df60
mov rcx, rdi
call fcn.004e7cc0
mov rbp, qword [rsp + 0x68]
cmp dword [rbp + 0x38], 0
jle 0x4a871c
mov rax, qword [rsp + 0x48]
mov rdi, qword [rax + 0x10]
mov rsi, qword [rbp + 0x30]
xor ebx, ebx
jmp 0x4a867c
mov rax, qword [rdi + 0x88]
mov ecx, dword [rdi + 0x90]
add ecx, 0xffffffff
movsxd rcx, ecx
lea rcx, [rcx + rcx*2]
mov byte [rax + rcx*8 + 1], 0xf9
mov qword [rax + rcx*8 + 0x10], r8
add ebx, 1
add rsi, 0x20
cmp ebx, dword [rbp + 0x38]
jge 0x4a871c
mov rax, qword [rsi]
mov rax, qword [rax + 0x20]
mov r8d, dword [rsi + 0x10]
mov r9d, 0
test rax, rax
je 0x4a8695
mov r9d, dword [rax]
movsxd rax, dword [rdi + 0x90]
cmp dword [rdi + 0x94], eax
jle 0x4a86dc
lea ecx, [rax + 1]
mov dword [rdi + 0x90], ecx
mov rcx, qword [rdi + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0xa5
mov dword [rcx + rax*8 + 4], r8d
mov dword [rcx + rax*8 + 8], r9d
mov dword [rcx + rax*8 + 0xc], 0
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4a86f1
mov dword [rsp + 0x20], 0
mov rcx, rdi
mov edx, 0xa5
call fcn.0047df60
mov r8, qword [rsi + 8]
mov rcx, qword [rdi]
cmp byte [rcx + 0x67], 0
je 0x4a864b
mov edx, 0xfffffff9
call fcn.00444fc0
add ebx, 1
add rsi, 0x20
cmp ebx, dword [rbp + 0x38]
jl 0x4a867c
mov qword [rsp + 0x198], 0
mov rsi, qword [rsp + 0x48]
mov rcx, rsi
mov rdx, qword [rsp + 0x180]
mov edi, dword [rsp + 0xb8]
mov r8d, edi
mov r9d, 0x10
call fcn.004cdaa0
mov dword [rsp + 0x38], edi
mov dword [rsp + 0x30], edi
mov r12, qword [rsp + 0xb0]
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], 0
mov rcx, rsi
mov rdx, qword [rsp + 0x58]
mov r8d, 0xffffffff
xor r9d, r9d
call fcn.004e6450
mov r15, qword [rsp + 0x80]
mov rsi, qword [rsp + 0xd0]
mov rbp, qword [rsp + 0xc0]
mov rdx, qword [rsp + 0x60]
mov rcx, qword [rdx + 0x18]
neg ebp
mov eax, dword [rcx + 0x44]
add eax, dword [rcx + 0x48]
js 0x4a87be
mov eax, dword [rdx + 0x90]
mov rcx, qword [rcx + 0x50]
movsxd rdx, ebp
mov dword [rcx + rdx*4], eax
jmp 0x4a87c6
mov r8d, ebp
call fcn.004d3e00
xor r14d, r14d
mov rbx, qword [rsp + 0x48]
cmp byte [rsp + 0x1d1], 3
jne 0x4a87f0
lea r8, [0x0060479a]
lea r9, [0x0060422b]
mov rcx, rbx
xor edx, edx
call fcn.004d0380
cmp qword [rsp + 0x198], 0
je 0x4a98f7
mov qword [rsp + 0xd0], rsi
cmp dword [rsp + 0x1a0], 0
lea rax, [0x0060423d]
lea r9, [0x00604254]
cmovg r9, rax
lea r8, [0x0060479a]
mov rcx, rbx
xor edx, edx
call fcn.004d0380
mov rax, qword [rsp + 0xa8]
mov rcx, r12
mov r12d, dword [rax]
mov r13, qword [rbx + 0x10]
mov edi, dword [rsp + 0x1b4]
mov eax, dword [rbx + 0x44]
mov qword [rsp + 0x90], rax
lea eax, [rax - 1]
mov dword [rsp + 0xb8], eax
mov dword [rbx + 0x44], eax
mov rbp, qword [rsp + 0x198]
mov r15b, byte [rcx]
mov rsi, rcx
mov eax, dword [rcx + 4]
mov dword [rsp + 0xc0], eax
mov rax, qword [rsp + 0x58]
mov r14, qword [rax + 0x20]
mov r9d, dword [rsp + 0x1ac]
test r9d, r9d
je 0x4a89a4
mov r8d, dword [rsp + 0x1a8]
movsxd rax, dword [r13 + 0x90]
cmp dword [r13 + 0x94], eax
jle 0x4a88e6
lea ecx, [rax + 1]
mov dword [r13 + 0x90], ecx
mov rcx, qword [r13 + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 9
mov dword [rcx + rax*8 + 4], r8d
mov dword [rcx + rax*8 + 8], r9d
mov dword [rcx + rax*8 + 0xc], 0
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4a88fb
mov dword [rsp + 0x20], 0
mov rcx, r13
mov edx, 9
call fcn.0047df60
movsxd rax, dword [r13 + 0x90]
cmp dword [r13 + 0x94], eax
jle 0x4a893f
lea ecx, [rax + 1]
mov dword [r13 + 0x90], ecx
mov rcx, qword [r13 + 0x88]
lea rax, [rax + rax*2]
mov qword [rcx + rax*8], 8
mov dword [rcx + rax*8 + 8], edi
mov dword [rcx + rax*8 + 0xc], 0
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4a895a
mov dword [rsp + 0x20], 0
mov rcx, r13
mov edx, 8
xor r8d, r8d
mov r9d, edi
call fcn.0047df60
mov r8d, dword [rsp + 0x1ac]
mov rcx, qword [r13 + 0x18]
mov eax, r8d
not eax
and eax, 0x8f3e46c5
and r8d, 0x70c1b93a
or r8d, eax
xor r8d, 0x70c1b93a
mov eax, dword [rcx + 0x44]
add eax, dword [rcx + 0x48]
js 0x4a899c
mov eax, dword [r13 + 0x90]
mov rcx, qword [rcx + 0x50]
movsxd rdx, r8d
mov dword [rcx + rdx*4], eax
jmp 0x4a89a4
mov rdx, r13
call fcn.004d3e00
mov dword [rsp + 0xa0], edi
mov edi, dword [rsp + 0x1a4]
cmp r15b, 9
mov byte [rsp + 0x78], r15b
je 0x4a8abb
cmp r15b, 0xd
je 0x4a8abb
cmp r15b, 0xa
jne 0x4a8a30
mov rax, qword [rsp + 0x58]
cmp dword [rax + 0xc], 0
je 0x4a8abb
mov r9d, dword [rsi + 0xc]
movsxd rax, dword [r13 + 0x90]
cmp dword [r13 + 0x94], eax
jle 0x4a8aa3
lea ecx, [rax + 1]
mov dword [r13 + 0x90], ecx
mov rcx, qword [r13 + 0x88]
lea rax, [rax + rax*2]
mov qword [rcx + rax*8], 0x4b
mov dword [rcx + rax*8 + 8], r9d
mov dword [rcx + rax*8 + 0xc], 0
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4a8abb
mov al, byte [rbx + 0x1f]
test al, al
je 0x4a8a79
lea ecx, [rax - 1]
mov byte [rbx + 0x1f], cl
movzx edx, cl
mov esi, dword [rbx + rdx*4 + 0xd8]
mov edx, r15d
xor dl, 2
and dl, r15b
cmp dl, 0xc
jne 0x4a8acd
test cl, cl
je 0x4a8b31
add al, 0xfe
mov byte [rbx + 0x1f], al
movzx eax, al
mov eax, dword [rbx + rax*4 + 0xd8]
mov qword [rsp + 0x68], rax
xor r9d, r9d
jmp 0x4a8b67
mov r8, rbp
mov ebp, edi
mov ecx, dword [rbx + 0x38]
add ecx, 1
mov dword [rbx + 0x38], ecx
mov eax, r15d
not al
or al, 2
mov esi, ecx
cmp al, 0xf3
je 0x4a8b39
cmp r12d, 1
jne 0x4a8af9
jmp 0x4a8b51
mov dword [rsp + 0x20], 0
mov rcx, r13
mov edx, 0x4b
xor r8d, r8d
call fcn.0047df60
mov eax, dword [rsi + 0xc]
mov qword [rsp + 0x68], rax
xor esi, esi
mov r9, r12
jmp 0x4a8b67
mov r8, rbp
mov ebp, edi
cmp r12d, 1
jne 0x4a8af7
test cl, cl
je 0x4a8b49
add al, 0xfe
mov rbx, qword [rsp + 0x48]
mov byte [rbx + 0x1f], al
movzx eax, al
mov eax, dword [rbx + rax*4 + 0xd8]
mov qword [rsp + 0x68], rax
jmp 0x4a8b5c
mov ecx, esi
mov eax, dword [rbx + 0x28]
mov r9, r12
sub eax, r9d
jge 0x4a8b1b
mov eax, dword [rbx + 0x38]
mov esi, ecx
lea ecx, [rax + 1]
add eax, r9d
mov dword [rbx + 0x38], eax
mov eax, ecx
mov qword [rsp + 0x68], rax
jmp 0x4a8b62
mov esi, ecx
mov ecx, dword [rbx + 0x2c]
lea edx, [rcx + r9]
mov dword [rbx + 0x2c], edx
mov dword [rbx + 0x28], eax
mov qword [rsp + 0x68], rcx
jmp 0x4a8b62
mov r8, rbp
mov ebp, edi
mov ecx, dword [rbx + 0x38]
add ecx, 1
mov qword [rsp + 0x68], rcx
mov dword [rbx + 0x38], ecx
xor r9d, r9d
jmp 0x4a8b62
mov rbx, qword [rsp + 0x48]
mov ecx, dword [rbx + 0x38]
add ecx, 1
mov qword [rsp + 0x68], rcx
mov dword [rbx + 0x38], ecx
mov r9d, 1
mov edi, ebp
mov rbp, r8
mov r15d, dword [rbp]
sub r15d, dword [rsp + 0x1a0]
mov al, byte [rsp + 0x1bc]
mov ecx, eax
xor cl, 0xfe
test cl, al
mov dword [rsp + 0x88], edi
mov qword [rsp + 0xa8], r9
mov dword [rsp + 0x180], esi
je 0x4a8c10
mov eax, dword [rbx + 0x34]
mov r12d, dword [rbx + 0x38]
add r12d, 1
mov dword [rbx + 0x38], r12d
mov qword [rsp + 0x70], rax
add eax, 1
mov dword [rbx + 0x34], eax
cmp dword [rsp + 0x1ac], 0
mov ebp, edi
je 0x4a8c6e
mov ebx, dword [r13 + 0x90]
cmp dword [r13 + 0x94], ebx
mov edi, dword [rsp + 0xa0]
jle 0x4a8c79
movsxd rax, ebx
lea ecx, [rax + 1]
mov dword [r13 + 0x90], ecx
mov rcx, qword [r13 + 0x88]
lea rax, [rax + rax*2]
mov byte [rcx + rax*8], 0xe
xorps xmm0, xmm0
movups xmmword [rcx + rax*8 + 1], xmm0
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4a8c9c
mov eax, dword [r13 + 0x90]
cmp dword [r13 + 0x94], eax
mov ebp, edi
jle 0x4a8d2e
mov qword [rsp + 0x50], rax
cdqe
lea ecx, [rax + 1]
mov dword [r13 + 0x90], ecx
mov rcx, qword [r13 + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x22
mov dword [rcx + rax*8 + 4], ebp
mov edi, dword [rsp + 0xa0]
mov dword [rcx + rax*8 + 8], edi
mov dword [rcx + rax*8 + 0xc], 0
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4a8d5b
xor ebx, ebx
mov edi, dword [rsp + 0xa0]
jmp 0x4a8c9c
mov dword [rsp + 0x20], 0
mov rcx, r13
mov edx, 0xe
xor r8d, r8d
mov rsi, r9
xor r9d, r9d
call fcn.0047df60
mov r9, rsi
mov ebx, eax
lea eax, [r9 + r15]
add eax, 1
movsxd rcx, dword [r13 + 0x90]
cmp dword [r13 + 0x94], ecx
jle 0x4a8cec
lea edx, [rcx + 1]
mov dword [r13 + 0x90], edx
mov rdx, qword [r13 + 0x88]
lea rcx, [rcx + rcx*2]
mov dword [rdx + rcx*8], 0x79
mov rsi, qword [rsp + 0x70]
mov dword [rdx + rcx*8 + 4], esi
mov dword [rdx + rcx*8 + 8], r12d
mov dword [rdx + rcx*8 + 0xc], eax
mov qword [rdx + rcx*8 + 0x10], 0
jmp 0x4a8d05
mov dword [rsp + 0x20], eax
mov rcx, r13
mov edx, 0x79
mov r8, qword [rsp + 0x70]
mov r9d, r12d
call fcn.0047df60
mov ecx, dword [r13 + 0x90]
test ebx, ebx
je 0x4a8de4
mov rax, qword [r13]
cmp byte [rax + 0x67], 0
je 0x4a8dc8
lea rax, [0x0213b3e8]
jmp 0x4a8de1
mov dword [rsp + 0x20], 0
mov rcx, r13
mov edx, 0x22
mov r8d, ebp
mov rbx, r9
mov edi, dword [rsp + 0xa0]
mov r9d, edi
call fcn.0047df60
mov r9, rbx
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x58]
mov r8d, dword [rax + 0xc]
mov ebx, 1
test r8d, r8d
jle 0x4a8f5a
movsxd rax, dword [r13 + 0x90]
cmp dword [r13 + 0x94], eax
jle 0x4a8f37
lea ecx, [rax + 1]
mov dword [r13 + 0x90], ecx
mov rcx, qword [r13 + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x31
mov dword [rcx + rax*8 + 4], r8d
mov edx, dword [rsp + 0xb8]
mov dword [rcx + rax*8 + 8], edx
mov dword [rcx + rax*8 + 0xc], 1
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4a8f5a
lea eax, [rcx - 1]
test ebx, ebx
cmovns eax, ebx
cdqe
lea rax, [rax + rax*2]
shl rax, 3
add rax, qword [r13 + 0x88]
mov dword [rax + 8], ecx
cmp dword [r13 + 0x94], ecx
jle 0x4a8e2c
movsxd rax, ecx
mov qword [rsp + 0x50], rcx
add ecx, 1
mov dword [r13 + 0x90], ecx
mov rcx, qword [r13 + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x21
mov dword [rcx + rax*8 + 4], ebp
mov dword [rcx + rax*8 + 8], edi
mov dword [rcx + rax*8 + 0xc], 0
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4a8e4c
mov dword [rsp + 0x20], 0
mov rcx, r13
mov edx, 0x21
mov r8d, ebp
mov r9d, edi
call fcn.0047df60
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x58]
mov r8d, dword [rax + 0xc]
test r8d, r8d
jle 0x4a8ec6
movsxd rax, dword [r13 + 0x90]
cmp dword [r13 + 0x94], eax
jle 0x4a8ea9
lea ecx, [rax + 1]
mov dword [r13 + 0x90], ecx
mov rcx, qword [r13 + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x31
mov dword [rcx + rax*8 + 4], r8d
mov edx, dword [rsp + 0xb8]
mov dword [rcx + rax*8 + 8], edx
mov dword [rcx + rax*8 + 0xc], 1
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4a8ec6
mov dword [rsp + 0x20], 1
mov rcx, r13
mov edx, 0x31
mov r9d, dword [rsp + 0xb8]
call fcn.0047df60
movsxd rax, dword [r13 + 0x90]
cmp dword [r13 + 0x94], eax
jle 0x4a8f0f
lea ecx, [rax + 1]
mov dword [r13 + 0x90], ecx
mov rcx, qword [r13 + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x85
mov dword [rcx + rax*8 + 4], ebp
mov dword [rcx + rax*8 + 8], r12d
mov rdx, qword [rsp + 0x70]
mov dword [rcx + rax*8 + 0xc], edx
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4a8f2b
mov rax, qword [rsp + 0x70]
mov dword [rsp + 0x20], eax
mov rcx, r13
mov edx, 0x85
mov r8d, ebp
mov r9d, r12d
call fcn.0047df60
xor ebx, ebx
mov r9, qword [rsp + 0xa8]
jmp 0x4a8f61
mov dword [rsp + 0x20], 1
mov rcx, r13
mov edx, 0x31
mov rsi, r9
mov r9d, dword [rsp + 0xb8]
call fcn.0047df60
mov r9, rsi
mov eax, ebp
mov qword [rsp + 0x70], rax
add ebx, r15d
mov qword [rsp + 0x58], rbx
test r9d, r9d
jle 0x4a9146
mov r12d, edi
mov rax, qword [rsp + 0x58]
lea esi, [rax - 1]
mov r10, qword [rsp + 0xa8]
mov r15d, r10d
lea rcx, [r15 - 1]
and r10d, 3
cmp rcx, 3
jae 0x4a8f9e
xor r11d, r11d
jmp 0x4a9058
movabs r8, 0x42b9f208ed8ab525
mov ebp, r15d
and ebp, 0xfffffffc
xor r11d, r11d
mov rdx, r8
not rdx
movabs r9, 0x7fffffffffffffe
and r9, r8
mov rcx, r11
shl rcx, 5
cmp word [r14 + rcx + 0x20], 1
adc esi, 0
mov rcx, r11
not rcx
and rcx, r8
mov rdi, r11
and rdi, rdx
or rdi, rcx
mov ecx, edx
and ecx, 1
or rcx, r9
xor rcx, rdi
mov edi, r8d
or edi, edx
and edi, r11d
and edi, 1
or rdi, rcx
shl rdi, 5
cmp word [r14 + rdi + 0x20], 1
adc esi, 0
mov ecx, r11d
and ecx, 2
mov rbx, r11
xor rbx, 2
or rbx, rcx
shl rbx, 5
cmp word [r14 + rbx + 0x20], 1
adc esi, 0
mov ecx, r11d
and ecx, 3
mov rax, r11
xor rax, 3
or rax, rcx
shl rax, 5
cmp word [r14 + rax + 0x20], 1
adc esi, 0
add r11, 4
add rbp, 0xfffffffffffffffc
jne 0x4a8fc4
test r10, r10
je 0x4a9094
movabs rcx, 0xb18d8a4be2b2ce8e
mov rdx, r11
shl rdx, 5
lea rbp, [rdx + r14]
add rbp, 0x20
mov rdx, rcx
not rdx
cmp word [rbp], 1
adc esi, 0
add r11, 1
add r10, rcx
add rbp, 0x20
add r10, rdx
jne 0x4a907c
mov rax, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0x68]
lea ebx, [rcx + rax]
add ebx, 0xffffffff
mov rax, r15
shl rax, 5
add r14, rax
lea rbp, [r15 + 1]
mov edi, r12d
jmp 0x4a9109
lea ecx, [rax + 1]
mov dword [r13 + 0x90], ecx
mov rcx, qword [r13 + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x5e
mov rdx, qword [rsp + 0x70]
mov dword [rcx + rax*8 + 4], edx
mov dword [rcx + rax*8 + 8], r9d
mov dword [rcx + rax*8 + 0xc], ebx
mov qword [rcx + rax*8 + 0x10], 0
add r15, 0xffffffffffffffff
sub esi, r12d
add ebx, 0xffffffff
add r14, 0xffffffffffffffe0
add rbp, 0xffffffffffffffff
cmp rbp, 1
jle 0x4a9146
movzx eax, word [r14]
lea r9d, [rax - 1]
xor r12d, r12d
test eax, eax
cmove r9d, esi
sete r12b
movsxd rax, dword [r13 + 0x90]
cmp dword [r13 + 0x94], eax
jg 0x4a90ba
mov dword [rsp + 0x20], ebx
mov rcx, r13
mov edx, 0x5e
mov r8, qword [rsp + 0x70]
call fcn.0047df60
jmp 0x4a90f1
mov cl, byte [rsp + 0x78]
cmp cl, 0xc
jae 0x4a9224
cmp cl, 9
mov rbx, qword [rsp + 0x48]
mov rax, qword [rsp + 0xb0]
mov r14d, 0
mov rbp, qword [rsp + 0x90]
mov r12d, dword [rsp + 0x180]
je 0x4a934a
cmp cl, 0xa
mov r15, qword [rsp + 0x80]
je 0x4a96f9
cmp byte [rsp + 0x78], 0xb
jne 0x4a928e
mov rax, qword [rax + 0x18]
mov r9, qword [rsp + 0xa8]
mov dword [rsp + 0x30], r9d
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r12d
mov rcx, r13
mov edx, 0x61
mov rsi, qword [rsp + 0x68]
mov r8d, esi
call fcn.004c62a0
mov eax, dword [r13 + 0x90]
cmp dword [r13 + 0x94], eax
jle 0x4a94d4
movsxd rcx, eax
lea edx, [rcx + 1]
mov dword [r13 + 0x90], edx
mov rdx, qword [r13 + 0x88]
lea rcx, [rcx + rcx*2]
mov dword [rdx + rcx*8], 0x8a
mov r8, rsi
mov esi, dword [rsp + 0xc0]
mov dword [rdx + rcx*8 + 4], esi
mov dword [rdx + rcx*8 + 8], r12d
mov dword [rdx + rcx*8 + 0xc], r8d
mov qword [rdx + rcx*8 + 0x10], 0
jmp 0x4a94f0
cmp cl, 0xe
mov rbx, qword [rsp + 0x48]
mov rax, qword [rsp + 0xb0]
mov r14d, 0
mov rbp, qword [rsp + 0x90]
mov r12d, dword [rsp + 0x180]
jae 0x4a925b
cmp cl, 0xc
mov r15, qword [rsp + 0x80]
je 0x4a92d4
jmp 0x4a928e
mov r15, qword [rsp + 0x80]
je 0x4a92d4
cmp byte [rsp + 0x78], 0xf
jne 0x4a928e
mov esi, dword [rax + 8]
mov al, byte [rbx + 0x1f]
test al, al
je 0x4a9543
add al, 0xff
mov byte [rbx + 0x1f], al
movzx eax, al
mov ebx, dword [rbx + rax*4 + 0xd8]
jmp 0x4a954f
mov r8d, dword [rax + 4]
movsxd rax, dword [r13 + 0x90]
cmp dword [r13 + 0x94], eax
jle 0x4a932d
lea ecx, [rax + 1]
mov dword [r13 + 0x90], ecx
mov rcx, qword [r13 + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0xb
mov dword [rcx + rax*8 + 4], r8d
xorps xmm0, xmm0
movups xmmword [rcx + rax*8 + 8], xmm0
jmp 0x4a96f9
movsxd rax, dword [r13 + 0x90]
cmp dword [r13 + 0x94], eax
jle 0x4a93ad
lea ecx, [rax + 1]
mov dword [r13 + 0x90], ecx
mov rcx, qword [r13 + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x5e
mov rdx, qword [rsp + 0x70]
mov dword [rcx + rax*8 + 4], edx
mov rdx, qword [rsp + 0x58]
mov dword [rcx + rax*8 + 8], edx
mov rdx, qword [rsp + 0x68]
mov dword [rcx + rax*8 + 0xc], edx
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4a93cd
mov dword [rsp + 0x20], 0
mov rcx, r13
mov edx, 0xb
xor r9d, r9d
call fcn.0047df60
jmp 0x4a96f9
mov r8d, dword [rax + 0xc]
movsxd rax, dword [r13 + 0x90]
cmp dword [r13 + 0x94], eax
mov r15, qword [rsp + 0x80]
jle 0x4a9521
lea ecx, [rax + 1]
mov dword [r13 + 0x90], ecx
mov rcx, qword [r13 + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x54
mov dword [rcx + rax*8 + 4], r8d
mov rdx, qword [rsp + 0xa8]
mov dword [rcx + rax*8 + 8], edx
mov dword [rcx + rax*8 + 0xc], 0
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4a96f9
mov rax, qword [rsp + 0x68]
mov dword [rsp + 0x20], eax
mov rcx, r13
mov edx, 0x5e
mov r8, qword [rsp + 0x70]
mov r9, qword [rsp + 0x58]
call fcn.0047df60
movsxd rax, dword [r13 + 0x90]
cmp dword [r13 + 0x94], eax
jle 0x4a941c
lea ecx, [rax + 1]
mov dword [r13 + 0x90], ecx
mov rcx, qword [r13 + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x7f
mov edx, dword [rsp + 0xc0]
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 0x4a943c
mov dword [rsp + 0x20], 0
mov rcx, r13
mov edx, 0x7f
mov r8d, dword [rsp + 0xc0]
mov r9d, r12d
call fcn.0047df60
movsxd rax, dword [r13 + 0x90]
cmp dword [r13 + 0x94], eax
jle 0x4a948c
lea ecx, [rax + 1]
mov dword [r13 + 0x90], ecx
mov rcx, qword [r13 + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], pe_nt_image_headers64
mov edx, dword [rsp + 0xc0]
mov dword [rcx + rax*8 + 4], edx
mov rdx, qword [rsp + 0x68]
mov dword [rcx + rax*8 + 8], edx
mov dword [rcx + rax*8 + 0xc], r12d
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4a94ab
mov dword [rsp + 0x20], r12d
mov rcx, r13
mov edx, pe_nt_image_headers64
mov r8d, dword [rsp + 0xc0]
mov r9, qword [rsp + 0x68]
call fcn.0047df60
mov eax, dword [r13 + 0x90]
test eax, eax
jle 0x4a96f9
mov rcx, qword [r13 + 0x88]
add eax, 0xffffffff
lea rax, [rax + rax*2]
mov word [rcx + rax*8 + 2], 8
jmp 0x4a96f9
mov dword [rsp + 0x20], esi
mov rcx, r13
mov edx, 0x8a
mov r8d, dword [rsp + 0xc0]
mov r9d, r12d
call fcn.0047df60
mov rcx, qword [r13]
cmp byte [rcx + 0x67], 0
jne 0x4a96f9
mov rcx, qword [r13 + 0x88]
cdqe
lea rax, [rax + rax*2]
mov byte [rcx + rax*8 + 1], 0xfd
mov rdx, qword [rsp + 0xa8]
mov dword [rcx + rax*8 + 0x10], edx
jmp 0x4a96f9
mov dword [rsp + 0x20], 0
mov rcx, r13
mov edx, 0x54
mov r9, qword [rsp + 0xa8]
call fcn.0047df60
jmp 0x4a96f9
mov rax, rbx
mov ebx, dword [rbx + 0x38]
add ebx, 1
mov dword [rax + 0x38], ebx
mov r8d, esi
shr r8d, 0x1f
mov rax, qword [rsp + 0xa8]
mov r9d, eax
sub r9d, r8d
add r8d, dword [rsp + 0x68]
movsxd rax, dword [r13 + 0x90]
cmp dword [r13 + 0x94], eax
jle 0x4a95ae
lea ecx, [rax + 1]
mov dword [r13 + 0x90], ecx
mov rcx, qword [r13 + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x61
mov dword [rcx + rax*8 + 4], r8d
mov dword [rcx + rax*8 + 8], r9d
mov dword [rcx + rax*8 + 0xc], ebx
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4a95bf
mov dword [rsp + 0x20], ebx
mov rcx, r13
mov edx, 0x61
call fcn.0047df60
mov eax, dword [r13 + 0x90]
mov edx, dword [r13 + 0x94]
movsxd rcx, eax
test esi, esi
js 0x4a961b
cmp edx, eax
jle 0x4a9662
lea edx, [rax + 1]
mov dword [r13 + 0x90], edx
mov rdx, qword [r13 + 0x88]
lea rcx, [rcx + rcx*2]
mov dword [rdx + rcx*8], 0x8a
mov ebp, dword [rsp + 0xc0]
mov dword [rdx + rcx*8 + 4], ebp
mov dword [rdx + rcx*8 + 8], ebx
mov rbp, qword [rsp + 0x68]
mov dword [rdx + rcx*8 + 0xc], ebp
mov qword [rdx + rcx*8 + 0x10], 0
jmp 0x4a9683
cmp edx, eax
jle 0x4a96c0
add eax, 1
mov dword [r13 + 0x90], eax
mov rax, qword [r13 + 0x88]
lea rcx, [rcx + rcx*2]
mov dword [rax + rcx*8], pe_nt_image_headers64
mov edx, dword [rsp + 0xc0]
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], ebx
mov rdx, qword [rsp + 0x68]
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], 0
jmp 0x4a96e1
mov rax, qword [rsp + 0x68]
mov dword [rsp + 0x20], eax
mov rcx, r13
mov edx, 0x8a
mov r8d, dword [rsp + 0xc0]
mov r9d, ebx
call fcn.0047df60
mov rcx, qword [r13]
cmp byte [rcx + 0x67], 0
mov rbx, qword [rsp + 0x48]
mov r15, qword [rsp + 0x80]
mov r14d, 0
mov rbp, qword [rsp + 0x90]
jne 0x4a96f9
mov rcx, qword [r13 + 0x88]
cdqe
lea rax, [rax + rax*2]
mov byte [rcx + rax*8 + 1], 0xfd
mov dword [rcx + rax*8 + 0x10], esi
jmp 0x4a96f9
mov rax, qword [rsp + 0x68]
mov dword [rsp + 0x20], eax
mov rcx, r13
mov edx, pe_nt_image_headers64
mov r8d, dword [rsp + 0xc0]
mov r9d, ebx
call fcn.0047df60
mov rbx, qword [rsp + 0x48]
mov r15, qword [rsp + 0x80]
xor r14d, r14d
mov rbp, qword [rsp + 0x90]
test r12d, r12d
mov rsi, qword [rsp + 0xd0]
je 0x4a9767
cmp byte [rsp + 0x78], 0xb
jne 0x4a972c
mov rax, qword [rsp + 0xa8]
cmp eax, 1
mov rcx, qword [rsp + 0x68]
je 0x4a9731
cmp dword [rbx + 0x28], eax
jge 0x4a974f
mov dword [rbx + 0x28], eax
mov dword [rbx + 0x2c], ecx
jmp 0x4a974f
mov rcx, qword [rsp + 0x68]
test ecx, ecx
je 0x4a974f
movzx eax, byte [rbx + 0x1f]
cmp rax, 7
ja 0x4a974f
mov rdx, rcx
lea ecx, [rax + 1]
mov byte [rbx + 0x1f], cl
mov dword [rbx + rax*4 + 0xd8], edx
movzx eax, byte [rbx + 0x1f]
cmp rax, 7
ja 0x4a9767
lea ecx, [rax + 1]
mov byte [rbx + 0x1f], cl
mov dword [rbx + rax*4 + 0xd8], r12d
mov rcx, qword [r13 + 0x18]
neg ebp
mov eax, dword [rcx + 0x44]
add eax, dword [rcx + 0x48]
js 0x4a9788
mov eax, dword [r13 + 0x90]
mov rcx, qword [rcx + 0x50]
movsxd rdx, ebp
mov dword [rcx + rdx*4], eax
jmp 0x4a9793
mov rdx, r13
mov r8d, ebp
call fcn.004d3e00
mov rax, qword [rsp + 0x50]
add eax, 1
mov qword [rsp + 0x50], rax
mov dl, byte [rsp + 0x1bc]
not dl
or dl, 0xfe
movsxd rax, dword [r13 + 0x90]
mov ecx, dword [r13 + 0x94]
cmp dl, 0xff
mov r8d, dword [rsp + 0x88]
je 0x4a97e9
cmp ecx, eax
jle 0x4a982a
lea ecx, [rax + 1]
mov dword [r13 + 0x90], ecx
mov rcx, qword [r13 + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x24
jmp 0x4a9809
cmp ecx, eax
jle 0x4a983c
lea ecx, [rax + 1]
mov dword [r13 + 0x90], ecx
mov rcx, qword [r13 + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x26
mov dword [rcx + rax*8 + 4], r8d
mov rdx, qword [rsp + 0x50]
mov dword [rcx + rax*8 + 8], edx
mov dword [rcx + rax*8 + 0xc], 0
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4a9856
mov dword [rsp + 0x20], 0
mov rcx, r13
mov edx, 0x24
jmp 0x4a984c
mov dword [rsp + 0x20], 0
mov rcx, r13
mov edx, 0x26
mov r9, qword [rsp + 0x50]
call fcn.0047df60
mov r8d, dword [rsp + 0x1a8]
test r8d, r8d
je 0x4a98b6
movsxd rax, dword [r13 + 0x90]
cmp dword [r13 + 0x94], eax
jle 0x4a989e
lea ecx, [rax + 1]
mov dword [r13 + 0x90], ecx
mov rcx, qword [r13 + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x43
mov dword [rcx + rax*8 + 4], r8d
xorps xmm0, xmm0
movups xmmword [rcx + rax*8 + 8], xmm0
jmp 0x4a98b6
mov dword [rsp + 0x20], 0
mov rcx, r13
mov edx, 0x43
xor r9d, r9d
call fcn.0047df60
mov rcx, qword [r13 + 0x18]
mov eax, edi
not eax
and eax, 0x76f30f4f
and edi, 0x890cf0b0
or edi, eax
xor edi, 0x890cf0b0
mov eax, dword [rcx + 0x44]
add eax, dword [rcx + 0x48]
js 0x4a98ec
mov eax, dword [r13 + 0x90]
mov rcx, qword [rcx + 0x50]
movsxd rdx, edi
mov dword [rcx + rdx*4], eax
jmp 0x4a98f7
mov rdx, r13
mov r8d, edi
call fcn.004d3e00
mov rdx, qword [rsp + 0x60]
mov rcx, qword [rdx + 0x18]
mov r8, qword [rsp + 0x1c8]
neg r8d
mov eax, dword [rcx + 0x44]
add eax, dword [rcx + 0x48]
js 0x4a9925
mov eax, dword [rdx + 0x90]
mov rcx, qword [rcx + 0x50]
movsxd rdx, r8d
mov dword [rcx + rdx*4], eax
jmp 0x4a992a
call fcn.004d3e00
xor edi, edi
cmp dword [rbx + 0x30], 0
setg dil
test rsi, rsi
je 0x49e59f
mov rcx, r15
mov rdx, rsi
call fcn.0047fbe0
jmp 0x49e59f
cmp cl, 0xa7
jae 0x4a9a8a
cmp cl, 0x9c
jae 0x4a9996
mov al, 1
mov qword [rsp + 0x98], rax
xor esi, esi
jmp 0x4a9aad
mov ecx, eax
xor ecx, 0xffed
test ecx, eax
je 0x4a99a8
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x4a99a8
mov edx, dword [rdi + 0x10]
mov r8b, byte [rdi + 0x16]
call fcn.0044b070
mov rbp, rax
movzx esi, word [rdi + 0x14]
jmp 0x4a99aa
mov sil, 2
mov al, 1
mov qword [rsp + 0x98], rax
jmp 0x4a9aad
xor ebp, ebp
not esi
or esi, 0x6fff
cmp si, 0xffff
jne 0x4a99be
cmp dword [rdi + 0x20], 0
je 0x4a99c6
mov rcx, rdi
call fcn.00449ce0
mov rcx, qword [rdi + 0x18]
test rcx, rcx
je 0x4a9a09
cmp qword [rcx + 0x300], 0
je 0x4a99e6
mov rdx, rdi
call fcn.004297f0
jmp 0x4a9b92
cmp qword [rcx + 0x1f0], rdi
jbe 0x4a9a09
cmp qword [rcx + 0x1e0], rdi
jbe 0x4a9aea
cmp qword [rcx + 0x1e8], rdi
jbe 0x4a9b81
cmp dword [0x005f6010], 0
je 0x4a9a7c
mov rcx, qword [0x0213b0e8]
test rcx, rcx
je 0x4a9a24
call qword [0x005f6090]
mov rcx, rdi
call qword [0x005f6048]
mov rcx, qword [0x0213b040]
cdqe
movabs rdx, 0xaa4f072b03fb168e
sub rcx, rdx
sub rcx, rax
add rcx, rdx
mov qword [0x0213b040], rcx
add qword [0x0213b088], 0xffffffffffffffff
mov rcx, rdi
call qword [0x005f6038]
mov rcx, qword [0x0213b0e8]
test rcx, rcx
je 0x4a9b92
call qword [0x005f60a0]
jmp 0x4a9b92
mov rcx, rdi
call qword [0x005f6038]
jmp 0x4a9b92
mov sil, 2
mov cl, 1
mov qword [rsp + 0x98], rcx
jne 0x4a9aad
mov ecx, dword [rax + 4]
not ecx
or ecx, 0xffdfffff
cmp ecx, 0xffffffff
je 0x4a9baa
mov rcx, qword [rsp + 0x80]
xor r8d, r8d
call fcn.004d2fa0
test rax, rax
je 0x4a9ace
mov byte [rax + 0x18], sil
mov rsi, rax
jmp 0x4a485d
mov rbx, qword [rsp + 0x48]
mov r13, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x80]
xor r14d, r14d
xor esi, esi
jmp 0x4a4872
mov rax, qword [rcx + 0x1d8]
mov qword [rdi], rax
mov qword [rcx + 0x1d8], rdi
jmp 0x4a9b92
mov rdx, qword [rsp + 0x68]
mov rdx, qword [rdx + 0x30]
mov rdx, qword [rdx + 8]
mov edx, dword [rdx + 4]
not edx
or edx, 0xfffffeff
cmp edx, 0xffffffff
je 0x4a4bdb
mov ecx, dword [rcx + 4]
not ecx
or ecx, 0xfefffffb
cmp ecx, 0xffffffff
setne cl
test rsi, rsi
sete dl
test dl, cl
jne 0x4a4bdb
xor dl, cl
jne 0x4a4bdb
mov rax, qword [rsi + 0x60]
test rax, rax
je 0x4a9bec
mov rcx, qword [rsp + 0x48]
mov rcx, qword [rcx]
mov rcx, qword [rcx + 0x20]
add rcx, 0x18
mov edi, 0xffffffff
xor edx, edx
add rdx, 1
add edi, 1
lea rbp, [rcx + 0x20]
cmp qword [rcx], rax
mov rcx, rbp
jne 0x4a9b6c
jmp 0x4a9bf1
mov rax, qword [rcx + 0x1c8]
mov qword [rdi], rax
mov qword [rcx + 0x1c8], rdi
test ebp, ebp
jle 0x4a335d
mov dword [rsp + 0x104], 3
jmp 0x4a335d
mov rcx, qword [rax + 0x40]
test rcx, rcx
je 0x4a9aad
movzx eax, word [rax + 0x30]
test ax, ax
js 0x4a995b
mov rcx, qword [rcx + 8]
test rcx, rcx
je 0x4a995b
lea rax, [rax + rax*2]
mov eax, dword [rcx + rax*8 + 8]
not eax
or eax, 0xfffffff0
cmp eax, 0xffffffff
jne 0x4a995b
jmp 0x4a9aad
mov edi, 0xffff8000
mov rcx, qword [rsp + 0x48]
mov r14d, dword [rcx + 0x34]
lea eax, [r14 + 1]
mov dword [rcx + 0x34], eax
mov r12d, dword [rsi + 0x28]
mov rax, qword [rcx + 0xa0]
test rax, rax
cmove rax, rcx
mov edx, 1
mov ecx, edi
shl edx, cl
mov ebp, dword [rax + 0x74]
mov ecx, ebp
btc ecx, edi
not ecx
test ecx, ebp
je 0x4a9c31
cmp edi, 1
je 0x4a9c83
jmp 0x4a9c4b
mov ecx, ebp
and ecx, edx
xor ebp, edx
or ebp, ecx
mov dword [rax + 0x74], ebp
cmp edi, 1
jne 0x4a9c4b
mov rcx, rax
call fcn.004306d0
jmp 0x4a9c83
mov rax, qword [rsp + 0x48]
mov rax, qword [rax]
mov rax, qword [rax + 0x20]
movsxd rcx, edi
shl rcx, 5
mov rax, qword [rax + rcx + 8]
cmp byte [rax + 0x11], 0
je 0x4a9c83
mov rax, qword [rsi]
mov qword [rsp + 0x20], rax
mov rcx, qword [rsp + 0x48]
mov edx, edi
mov r8d, r12d
xor r9d, r9d
call fcn.004c63a0
cmp byte [rsi + 0x30], 0
jns 0x4a9ca8
mov rbp, qword [rsi + 0x10]
test rbp, rbp
je 0x4a9ca8
mov eax, dword [rbp + 0x64]
not eax
or eax, 0xfffffffc
cmp eax, 0xfffffffd
je 0x4a9caa
mov rbp, qword [rbp + 0x28]
test rbp, rbp
jne 0x4a9c92
xor ebp, ebp
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0x28]
mov eax, dword [rax + 0x48]
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
je 0x4a9cdb
test rbp, rbp
je 0x4a9ce4
mov r12d, dword [rbp + 0x58]
mov rcx, qword [rsp + 0x48]
mov rdx, rbp
call fcn.004c65a0
mov r15, rax
jmp 0x4a9ce7
mov rax, qword [rsi + 0x10]
jmp 0x4a9dac
xor r15d, r15d
mov rcx, qword [rsp + 0x60]
mov eax, dword [rcx + 0x90]
cmp dword [rcx + 0x94], eax
jle 0x4a9d36
movsxd rcx, eax
lea edx, [rcx + 1]
mov rbx, qword [rsp + 0x60]
mov dword [rbx + 0x90], edx
mov rdx, qword [rbx + 0x88]
lea rcx, [rcx + rcx*2]
mov dword [rdx + rcx*8], 0x70
mov dword [rdx + rcx*8 + 4], r14d
mov dword [rdx + rcx*8 + 8], r12d
mov dword [rdx + rcx*8 + 0xc], edi
mov qword [rdx + rcx*8 + 0x10], 0
jmp 0x4a9d4f
mov dword [rsp + 0x20], edi
mov rcx, qword [rsp + 0x60]
mov edx, 0x70
mov r8d, r14d
mov r9d, r12d
call fcn.0047df60
mov rcx, qword [rsp + 0x60]
mov rcx, qword [rcx]
cmp byte [rcx + 0x67], 0
jne 0x4a9d7c
mov rcx, qword [rsp + 0x60]
mov rcx, qword [rcx + 0x88]
cdqe
lea rax, [rax + rax*2]
mov byte [rcx + rax*8 + 1], 0xfd
mov dword [rcx + rax*8 + 0x10], 1
test r15, r15
je 0x4a9e2b
mov rax, qword [rsp + 0x60]
mov rcx, qword [rax]
cmp byte [rcx + 0x67], 0
je 0x4a9ddf
mov edx, 0xfffffff8
mov r8, r15
call fcn.00444fc0
jmp 0x4a9e2b
mov rbp, rax
mov rax, qword [rax + 0x28]
test rax, rax
je 0x4a9cc0
mov ecx, dword [rax + 0x64]
mov edx, ecx
xor edx, 0xfffffffb
test edx, ecx
jne 0x4a9da8
movzx ecx, word [rax + 0x5c]
cmp cx, word [rsi + 0x3c]
jge 0x4a9da8
cmp qword [rax + 0x48], 0
jne 0x4a9da8
test rbp, rbp
je 0x4a9da5
cmp cx, word [rbp + 0x5c]
jl 0x4a9da5
jmp 0x4a9da8
mov rax, qword [rsp + 0x60]
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 0x4a9e1b
lea rdx, [rax + rcx*8]
mov rcx, qword [rsp + 0x60]
mov r8, r15
mov r9d, 0xfffffff8
call fcn.0047e190
jmp 0x4a9e2b
lea rdx, [rax + rcx*8]
add rdx, 1
mov qword [rax + rcx*8 + 0x10], r15
mov byte [rdx], 0xf8
mov rax, qword [rsp + 0x50]
mov rax, qword [rax + 0x30]
mov r9d, dword [rax + 0x10]
mov rcx, qword [rsp + 0x60]
movsxd rax, dword [rcx + 0x90]
cmp dword [rcx + 0x94], eax
jle 0x4a9e89
lea ecx, [rax + 1]
mov rdx, qword [rsp + 0x60]
mov dword [rdx + 0x90], ecx
mov rcx, qword [rdx + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x62
mov dword [rcx + rax*8 + 4], r14d
mov dword [rcx + rax*8 + 8], r9d
mov dword [rcx + rax*8 + 0xc], 0
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4a9ea3
mov dword [rsp + 0x20], 0
mov rcx, qword [rsp + 0x60]
mov edx, 0x62
mov r8d, r14d
call fcn.0047df60
mov rcx, qword [rsp + 0x60]
movsxd rax, dword [rcx + 0x90]
cmp dword [rcx + 0x94], eax
jle 0x4a9ee6
lea ecx, [rax + 1]
mov rdx, qword [rsp + 0x60]
mov dword [rdx + 0x90], ecx
mov rcx, qword [rdx + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x7a
mov dword [rcx + rax*8 + 4], r14d
xorps xmm0, xmm0
movups xmmword [rcx + rax*8 + 8], xmm0
jmp 0x4a9f03
mov dword [rsp + 0x20], 0
mov rcx, qword [rsp + 0x60]
mov edx, 0x7a
mov r8d, r14d
xor r9d, r9d
call fcn.0047df60
mov rax, qword [rsp + 0x48]
cmp byte [rax + 0x123], 2
jne 0x4a871c
test rbp, rbp
je 0x4a9f25
cmp byte [rsi + 0x30], 0
js 0x4a9f2a
mov r9, qword [rsi]
jmp 0x4a9f46
mov r9, qword [rsi]
jmp 0x4a9f3a
mov eax, dword [rbp + 0x64]
not eax
or eax, 0xfffffffc
mov r9, qword [rsi]
cmp eax, 0xfffffffd
jne 0x4a9f46
lea rax, [0x005fadb4]
mov rcx, rax
jmp 0x4a9f51
mov rcx, qword [rbp]
lea rax, [0x00604811]
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rax
lea r8, [0x00604805]
mov rcx, qword [rsp + 0x48]
xor edx, edx
call fcn.004d0380
jmp 0x4a871c