Function at 0x4bb0b0
Capabilities:
Encode data using xor
Encrypt data using speck

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x1e8
movaps xmmword [rsp + 0x1d0], xmm15
movaps xmmword [rsp + 0x1c0], xmm14
movaps xmmword [rsp + 0x1b0], xmm13
movaps xmmword [rsp + 0x1a0], xmm12
movaps xmmword [rsp + 0x190], xmm11
movaps xmmword [rsp + 0x180], xmm10
movaps xmmword [rsp + 0x170], xmm9
movaps xmmword [rsp + 0x160], xmm8
movaps xmmword [rsp + 0x150], xmm7
movaps xmmword [rsp + 0x140], xmm6
mov qword [rsp + 0x60], r9
mov rsi, r8
mov r14, rdx
mov rbx, rcx
mov r15, qword [rcx]
call fcn.004c6120
test rax, rax
je 0x4c3a87
mov rdi, rax
movsxd rax, dword [rax + 0x90]
cmp dword [rdi + 0x94], eax
jle 0x4bb176
lea ecx, [rax + 1]
mov dword [rdi + 0x90], ecx
mov rcx, qword [rdi + 0x88]
lea rax, [rax + rax*2]
movaps xmm0, xmmword [0x005fa4d0]
movups xmmword [rcx + rax*8], xmm0
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4bb197
mov dword [rsp + 0x20], 0
mov rcx, rdi
mov edx, 0xa6
mov r8d, 1
mov r9d, 1
call fcn.0047df60
mov dword [rbx + 0x38], 2
mov r12, qword [rbx]
cmp dword [rsi + 8], 0
mov qword [rsp + 0x58], rdi
je 0x4bb1cb
cmp byte [r12 + 0xc5], 0
je 0x4bb222
lea rdx, [0x0060307c]
mov rcx, rbx
call fcn.00419aa0
jmp 0x4c3a87
movzx r12d, byte [r12 + 0xc4]
mov rdi, r14
lea r14, [r15 + 0x20]
mov rax, qword [r15 + 0x20]
mov qword [rsp + 0x70], rax
cmp r12d, 1
jne 0x4bb2cd
mov rcx, rbx
call fcn.004306d0
test eax, eax
jne 0x4c3a87
mov r12d, 1
mov r13d, 1
mov al, 1
mov qword [rsp + 0x98], rax
test rdi, rdi
jne 0x4bb2e3
jmp 0x4c3a87
test r14, r14
je 0x4bb3a7
mov rdi, qword [r14]
test rdi, rdi
je 0x4bb3a7
mov qword [rsp + 0x78], rbx
mov rbx, r15
mov r15d, dword [r14 + 8]
lea rdx, [r15 + 1]
mov rcx, r12
call fcn.00429840
test rax, rax
je 0x4bb3cb
mov rbp, rax
mov rcx, rax
mov rdx, rdi
mov r8, r15
call fcn.005f4c20
mov byte [rbp + r15], 0
movzx eax, byte [rbp]
lea rcx, [0x005fb0a0]
cmp byte [rax + rcx], 0
mov r15, rbx
jns 0x4bb4f2
cmp al, 0x5b
movzx ecx, al
mov eax, 0x5d
cmovne eax, ecx
mov ecx, 1
xor edx, edx
mov rdi, rbp
jmp 0x4bb2ad
mov byte [rdi], bl
add rdx, 1
add ecx, 1
add rdi, 1
movsxd rbx, ecx
movzx ebx, byte [rbp + rbx]
cmp bl, al
jne 0x4bb2a0
add ecx, 1
movsxd rbx, ecx
cmp byte [rbp + rbx], al
jne 0x4bb4ef
mov byte [rdi], al
jmp 0x4bb2a2
mov r13d, r12d
xor eax, eax
mov qword [rsp + 0x98], rax
test rdi, rdi
je 0x4c3a87
mov rbp, qword [rdi]
test rbp, rbp
je 0x4c3a87
mov edi, dword [rdi + 8]
lea rdx, [rdi + 1]
mov rcx, r15
call fcn.00429840
test rax, rax
je 0x4c3a87
mov qword [rsp + 0xa0], r13
mov qword [rsp + 0xb8], rsi
mov qword [rsp + 0xa8], r14
mov r13d, dword [rsp + 0x250]
mov rcx, rax
mov rdx, rbp
mov r8, rdi
mov qword [rsp + 0xe8], rax
call fcn.005f4c20
mov rsi, qword [rsp + 0xe8]
mov byte [rsi + rdi], 0
movzx eax, byte [rsi]
lea r14, [0x005fb0a0]
cmp byte [rax + r14], 0
jns 0x4bb3da
mov r8, rbx
cmp al, 0x5b
movzx ecx, al
mov eax, 0x5d
cmovne eax, ecx
mov ecx, 1
xor edx, edx
mov rdi, rsi
jmp 0x4bb38d
mov byte [rdi], bl
add rdx, 1
add ecx, 1
add rdi, 1
movsxd rbx, ecx
movzx ebx, byte [rsi + rbx]
cmp bl, al
jne 0x4bb380
add ecx, 1
movsxd rbx, ecx
cmp byte [rsi + rbx], al
jne 0x4bb3d4
mov byte [rdi], al
jmp 0x4bb382
xor ebp, ebp
mov rcx, r12
mov rdx, rbp
call fcn.00408130
lea rdx, [0x0060308d]
mov rcx, rbx
mov r8, r14
call fcn.00419aa0
jmp 0x4c3a87
xor ebp, ebp
mov rbx, qword [rsp + 0x78]
jmp 0x4bb3a9
mov byte [rdi], 0
mov rbx, r8
test r13d, r13d
mov qword [rsp + 0xb0], r12
je 0x4bb43a
lea rdx, [0x00604d6d]
mov rcx, r15
mov r8, qword [rsp + 0x60]
call fcn.00419c10
mov rcx, qword [rsp + 0xb8]
mov rdx, qword [rsp + 0xa0]
mov qword [rsp + 0x90], rax
cmp dword [rcx + 8], 0
mov qword [rsp + 0x80], r15
je 0x4bb61d
mov rax, rdx
shl rax, 5
mov rcx, qword [rsp + 0x70]
mov rbp, qword [rcx + rax]
jmp 0x4bb61f
mov rax, qword [rsp + 0x60]
test rax, rax
mov rcx, qword [rsp + 0xb8]
mov rdx, qword [rsp + 0xa0]
je 0x4bb601
mov rsi, qword [rax]
test rsi, rsi
je 0x4bb601
mov r13, rbx
mov edi, dword [rax + 8]
lea rdx, [rdi + 1]
mov rcx, r15
call fcn.00429840
test rax, rax
je 0x4bbfe2
mov rbx, rax
mov rcx, rax
mov rdx, rsi
mov r8, rdi
call fcn.005f4c20
mov byte [rbx + rdi], 0
movzx ecx, byte [rbx]
cmp byte [rcx + r14], 0
mov rax, rbx
jns 0x4bc25f
cmp cl, 0x5b
movzx ecx, cl
mov edi, 0x5d
cmovne edi, ecx
mov ecx, 1
xor edx, edx
mov rbp, rax
jmp 0x4bb4cd
mov byte [rbp], bl
add rdx, 1
add ecx, 1
add rbp, 1
movsxd rbx, ecx
movzx ebx, byte [rax + rbx]
cmp bl, dil
jne 0x4bb4bf
add ecx, 1
movsxd rbx, ecx
cmp byte [rax + rbx], dil
jne 0x4bc25b
mov byte [rbp], dil
jmp 0x4bb4c2
mov byte [rdi], 0
mov eax, dword [r12 + 0x28]
lea ecx, [rax - 1]
test eax, eax
mov rbx, qword [rsp + 0x78]
jle 0x4bb5df
mov r13, rcx
movsxd r9, ecx
shl r9, 5
add r9, qword [r12 + 0x20]
lea r8, [0x005fd6fa]
lea rdx, [0x005fade0]
mov rdi, qword [r9]
test rdi, rdi
je 0x4bb553
xor ecx, ecx
jmp 0x4bb53d
movzx eax, byte [rax + rdx]
cmp al, byte [rbx + rdx]
jne 0x4bb553
add rcx, 1
movzx eax, byte [rdi + rcx]
movzx ebx, byte [rbp + rcx]
cmp al, bl
jne 0x4bb530
test al, al
jne 0x4bb539
jmp 0x4bb5d8
test r13d, r13d
mov rbx, qword [rsp + 0x78]
je 0x4bb572
lea eax, [r13 - 1]
add r9, 0xffffffffffffffe0
test r13d, r13d
mov r13d, eax
jg 0x4bb524
jmp 0x4bb3a9
xor edi, edi
jmp 0x4bb58d
movzx eax, byte [rax + rdx]
cmp al, byte [rcx + rdx]
jne 0x4bb55d
add rdi, 1
movzx eax, byte [rdi + r8]
movzx ecx, byte [rbp + rdi]
cmp al, cl
jne 0x4bb580
test al, al
jne 0x4bb589
mov rcx, r12
mov rdx, rbp
call fcn.00408130
lea r14, [r15 + 0x20]
mov rax, qword [r15 + 0x20]
mov qword [rsp + 0x70], rax
xor eax, eax
mov qword [rsp + 0x98], rax
xor r13d, r13d
xor r12d, r12d
mov rdi, rsi
test rdi, rdi
jne 0x4bb2e3
jmp 0x4c3a87
mov rbx, qword [rsp + 0x78]
jmp 0x4bb5e2
mov r13, rcx
mov rcx, r12
mov rdx, rbp
call fcn.00408130
mov rdi, rsi
mov r12, r13
test r12d, r12d
jns 0x4bb1d7
jmp 0x4bb3b4
xor eax, eax
mov qword [rsp + 0x90], rax
cmp dword [rcx + 8], 0
mov qword [rsp + 0x80], r15
jne 0x4bb425
xor ebp, ebp
mov qword [rsp + 0x78], rbx
mov rcx, qword [rbx]
mov rax, qword [rcx + 0x1f8]
test rax, rax
je 0x4bb64e
cmp byte [rcx + 0xc5], 0
jne 0x4bb64e
mov rdx, qword [rsp + 0x78]
cmp byte [rdx + 0x124], 0
je 0x4bbc39
mov rbx, qword [rsp + 0x58]
lea r15, [rbx + 0x90]
lea rax, [rbx + 0x94]
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x110], 0
mov rax, qword [rsp + 0xe8]
mov qword [rsp + 0x118], rax
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x120], rax
mov qword [rsp + 0x128], 0
mov rdi, qword [rsp + 0x80]
mov dword [rdi + 0x290], 0
lea r9, [rsp + 0x110]
mov rcx, rdi
mov rdx, rbp
mov r8d, 0xe
call fcn.00427040
test eax, eax
mov qword [rsp + 0x68], r15
je 0x4bb773
mov esi, eax
cmp eax, 0xc
jne 0x4bb921
xor ecx, ecx
mov eax, 0x42
lea r10, [0x005fe3b0]
lea r9, [0x005fade0]
mov qword [rsp + 0xc0], rbp
mov r15, qword [rsp + 0x80]
mov r8, qword [rsp + 0xe8]
lea esi, [rax + rcx]
mov edx, esi
shr edx, 0x1f
add edx, esi
sar edx, 1
movsxd rbp, edx
lea r13, [rbp*2]
add r13, rbp
mov r12, qword [r10 + r13*8]
xor ebp, ebp
jmp 0x4bb742
movzx edi, byte [rdi + r9]
movzx ebx, byte [rbx + r9]
sub ebx, edi
jne 0x4bb75a
add rbp, 1
movzx ebx, byte [r8 + rbp]
movzx edi, byte [r12 + rbp]
cmp bl, dil
jne 0x4bb730
test bl, bl
jne 0x4bb73e
jmp 0x4bb9b4
lea ebp, [rdx - 1]
add edx, 1
test ebx, ebx
cmovs edx, ecx
cmovs eax, ebp
mov ecx, edx
cmp edx, eax
jle 0x4bb70e
jmp 0x4c3a5f
mov r14, qword [rbx]
movzx eax, word [rbx + 0xc0]
test rax, rax
je 0x4bcfe5
mov rdi, qword [rbx + 0x98]
test rdi, rdi
je 0x4bcfcc
imul rsi, rax, 0x70
add rsi, rdi
mov rbx, qword [rdi + 0x18]
cmp qword [rbx + 0x300], 0
jne 0x4bb7d3
test rbx, rbx
je 0x4bcf0f
movabs r12, 0x4cdc5313eb9763eb
mov r13, r12
not r13
jmp 0x4bb802
add rdi, 0x38
cmp rdi, rsi
jae 0x4bcfcc
cmp dword [rdi + 0x20], 0
je 0x4bb7c6
mov rdx, qword [rdi + 0x28]
mov rcx, rbx
call fcn.00408130
jmp 0x4bb7c6
mov rcx, rdi
call fcn.00449ce0
mov word [rdi + 0x14], 0
add rdi, 0x38
cmp rdi, rsi
jae 0x4bcfcc
mov eax, dword [rdi + 0x14]
mov ecx, eax
xor ecx, 0x6fff
test cx, ax
jne 0x4bb7e7
cmp dword [rdi + 0x20], 0
je 0x4bb7f5
mov rbp, qword [rdi + 0x28]
cmp qword [rbx + 0x300], 0
je 0x4bb83a
mov rcx, rbx
mov rdx, rbp
call fcn.004297f0
mov dword [rdi + 0x20], 0
jmp 0x4bb7ef
cmp qword [rbx + 0x1f0], rbp
jbe 0x4bb85d
cmp qword [rbx + 0x1e0], rbp
jbe 0x4bb8e5
cmp qword [rbx + 0x1e8], rbp
jbe 0x4bb90a
test rbp, rbp
je 0x4bb831
cmp dword [0x005f6010], 0
je 0x4bb8fc
mov rcx, qword [0x0213b0e8]
test rcx, rcx
je 0x4bb881
call qword [0x005f6090]
mov rcx, rbp
call qword [0x005f6048]
mov rcx, qword [0x0213b040]
cdqe
movabs rdx, 0x529c546c04ad5bc4
sub rcx, rdx
sub rcx, rax
add rcx, rdx
mov qword [0x0213b040], rcx
mov rax, qword [0x0213b088]
add rax, r13
add rax, r12
mov qword [0x0213b088], rax
mov rcx, rbp
call qword [0x005f6038]
mov rcx, qword [0x0213b0e8]
test rcx, rcx
je 0x4bb831
call qword [0x005f60a0]
jmp 0x4bb831
mov rax, qword [rbx + 0x1d8]
mov qword [rbp], rax
mov qword [rbx + 0x1d8], rbp
jmp 0x4bb831
mov rcx, rbp
call qword [0x005f6038]
jmp 0x4bb831
mov rax, qword [rbx + 0x1c8]
mov qword [rbp], rax
mov qword [rbx + 0x1c8], rbp
jmp 0x4bb831
mov r8, qword [rsp + 0x110]
test r8, r8
mov rbx, qword [rsp + 0x78]
je 0x4bc227
lea rdx, [0x005faef2]
mov rcx, rbx
call fcn.00419aa0
mov rdi, qword [rsp + 0x110]
test rdi, rdi
je 0x4bc227
cmp dword [0x005f6010], 0
je 0x4bc21e
mov rcx, qword [0x0213b0e8]
test rcx, rcx
je 0x4bb976
call qword [0x005f6090]
mov rcx, rdi
call qword [0x005f6048]
cdqe
sub qword [0x0213b040], rax
add qword [0x0213b088], 0xffffffffffffffff
mov rcx, rdi
call qword [0x005f6038]
mov rcx, qword [0x0213b0e8]
test rcx, rcx
je 0x4bc227
call qword [0x005f60a0]
jmp 0x4bc227
movzx ebp, byte [r10 + r13*8 + 9]
mov eax, ebp
not al
or al, 0xfe
cmp al, 0xff
mov dword [rsp + 0xe0], esi
je 0x4bb9e0
mov rax, qword [rsp + 0x78]
mov rsi, qword [rax]
cmp byte [rsi + 0xc5], 0
je 0x4bbc91
mov qword [rsp + 0xd0], r13
mov eax, ebp
xor eax, 0xfd
test eax, ebp
jne 0x4bba1c
cmp qword [rsp + 0x90], 0
sete al
mov ecx, ebp
xor ecx, 0xfb
test ecx, ebp
sete cl
test al, cl
jne 0x4bbfe9
xor al, cl
jne 0x4bbfe9
lea rsi, [0x005fe3b0]
mov rax, qword [rsp + 0xd0]
mov al, byte [rsi + rax*8 + 8]
cmp al, 0x16
jae 0x4bbb75
cmp al, 0xc
mov rbx, qword [rsp + 0x58]
mov rbp, qword [rsp + 0xa8]
mov edx, dword [rsp + 0xe0]
jae 0x4bbd4e
cmp al, 7
jae 0x4bc267
cmp al, 3
mov r14, qword [rsp + 0x90]
jae 0x4bca31
cmp al, 1
je 0x4be9fc
cmp al, 2
jne 0x4bd757
mov eax, 1
mov rbp, qword [rsp + 0xb0]
mov ecx, ebp
shl eax, cl
mov ecx, dword [rbx + 0xcc]
mov edx, ecx
and edx, eax
btc ecx, ebp
or ecx, edx
mov dword [rbx + 0xcc], ecx
cmp byte [rsp + 0x98], 0
jne 0x4bbadd
mov rcx, qword [rbx]
mov rcx, qword [rcx + 0x20]
mov rdx, qword [rsp + 0xa0]
shl rdx, 5
mov rcx, qword [rcx + rdx + 8]
cmp byte [rcx + 0x11], 0
je 0x4bbadd
mov ecx, dword [rbx + 0xd0]
mov edx, ecx
and edx, eax
xor ecx, eax
or ecx, edx
mov dword [rbx + 0xd0], ecx
mov rax, qword [rsp + 0xd0]
mov edi, dword [rsi + rax*8 + 0x10]
test r14, r14
mov eax, dword [rsp + 0xe0]
je 0x4bbb14
cmp eax, 0x2f
ja 0x4c2cec
mov eax, eax
movabs rcx, 0xc00030000000
bt rcx, rax
jae 0x4c2cec
lea r8, [0x0060505b]
mov rcx, rbx
mov edx, 3
call fcn.00419d20
mov dword [rax + 4], ebp
mov dword [rax + 0x1c], ebp
mov dword [rax + 0x24], edi
mov eax, dword [rbx + 0x90]
cmp eax, 2
jl 0x4c3a5f
mov rcx, qword [rsp + 0x58]
mov rcx, qword [rcx + 0x88]
add rax, 0xffffffffffffffff
lea rdx, [rcx + 0x18]
mov ebp, 1
cmp byte [rdx], 0xa6
je 0x4bfaca
add rbp, 1
add rdx, 0x18
add rax, 0xffffffffffffffff
jne 0x4bbb59
jmp 0x4c3a5f
cmp al, 0x21
mov rdi, qword [rsp + 0x58]
mov rbp, qword [rsp + 0xa8]
mov ebx, dword [rsp + 0xe0]
jae 0x4bbf3c
cmp al, 0x1c
jae 0x4bc395
cmp al, 0x18
mov r14, qword [rsp + 0x90]
jae 0x4bca9d
mov eax, dword [rsp + 0xe0]
not eax
or eax, 1
cmp eax, 0xffffffbb
jne 0x4bd37d
mov rbx, rdi
test r14, r14
je 0x4c40a6
mov rcx, r14
call fcn.005f4bd8
not eax
or eax, 0xc0000000
cmp eax, 0xffffffff
je 0x4bfb6d
not eax
lea ebp, [rax + 1]
xor ecx, ecx
lea rdx, [0x005fdaa0]
mov ebx, eax
lea r8, [0x005fade0]
movzx edi, byte [r14 + rcx]
test rdi, rdi
je 0x4c03ed
movzx esi, byte [rcx + rdx]
movzx edi, byte [rdi + r8]
cmp dil, byte [rsi + r8]
jne 0x4c03ef
add ebx, 0xffffffff
add ebp, 0xffffffff
add rcx, 1
cmp ebp, 1
mov r14, qword [rsp + 0x90]
jg 0x4bbbf9
xor r14d, r14d
jmp 0x4c3772
mov rcx, qword [rcx + 0x200]
mov rsi, qword [rsp + 0x78]
mov rdx, qword [rsi + 0x168]
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], rbp
mov edx, 0x13
mov r8, qword [rsp + 0xe8]
mov r9, qword [rsp + 0x90]
call rax
cmp eax, 1
jne 0x4bc233
lea rdx, [0x005ff140]
mov rcx, rsi
call fcn.00419aa0
mov dword [rsi + 0x18], 0x17
jmp 0x4c3a5f
mov rdi, qword [rsp + 0x78]
lea rax, [rdi + 8]
mov qword [rsp + 0xd8], rax
mov ebx, dword [rsi + 0x2c]
mov rax, qword [rsi + 0x20]
mov rax, qword [rax + 0x18]
mov cl, byte [rax + 0x71]
mov byte [rsi + 0x64], cl
movzx eax, word [rax + 0x72]
not eax
or eax, 0xfffe
cmp ax, 0xffff
je 0x4bca01
mov dword [rsp + 0xf8], ebx
mov r14d, dword [rsi + 0x28]
cmp r14d, 2
jl 0x4bc1bd
mov rdi, r14
shl rdi, 5
add rdi, 0xfffffffffffffff8
lea ebx, [r14 - 1]
lea r15, [r14 + 1]
jmp 0x4bbd0b
add r14, 0xffffffffffffffff
add rdi, 0xffffffffffffffe0
add ebx, 0xffffffff
add r15, 0xffffffffffffffff
cmp r15, 2
jle 0x4bc1bd
mov rax, qword [rsi + 0x20]
mov rax, qword [rax + rdi]
movzx eax, word [rax + 0x72]
not eax
or eax, 0xfffe
cmp ax, 0xffff
jne 0x4bbcf2
mov rcx, rsi
mov edx, ebx
mov r8, qword [rsp + 0xd8]
xor r9d, r9d
call fcn.004651a0
lea r9, [0x005fade0]
test eax, eax
je 0x4bbcf2
mov rdi, qword [rsp + 0x78]
jmp 0x4bca25
cmp al, 0x11
jae 0x4bc3ff
and edx, 0xfffffffe
cmp al, 0xe
mov rcx, qword [rsp + 0x90]
mov r8, qword [rsp + 0xc0]
jae 0x4bcb3f
cmp edx, 0x20
jne 0x4bd3f8
mov esi, 1
mov rcx, qword [rsp + 0xb0]
shl esi, cl
mov eax, dword [rbx + 0xcc]
mov edx, eax
not edx
mov ebp, 0xfffffffe
rol ebp, cl
or ebp, edx
and edx, 0x342372b9
and eax, 0xcbdc8d46
or eax, edx
mov edi, 0x342372b9
btr edi, ecx
mov edx, esi
and edx, 0xcbdc8d46
or edx, edi
xor edx, eax
not ebp
or ebp, edx
mov dword [rbx + 0xcc], ebp
mov r15, qword [rsp + 0x98]
test r15b, r15b
jne 0x4bbe32
mov rax, qword [rbx]
mov rax, qword [rax + 0x20]
mov rcx, qword [rsp + 0xa0]
shl rcx, 5
mov rax, qword [rax + rcx + 8]
cmp byte [rax + 0x11], 0
je 0x4bbe32
mov eax, dword [rbx + 0xd0]
mov ecx, eax
not ecx
mov edx, esi
not edx
mov ebp, ecx
and ebp, 0xd5ed8c80
and eax, 0x2a12737f
or eax, ebp
or ecx, edx
and edx, 0xd5ed8c80
mov ebx, esi
and ebx, 0x2a12737f
or ebx, edx
xor ebx, eax
not ecx
or ecx, ebx
mov rbx, qword [rsp + 0x58]
mov dword [rbx + 0xd0], ecx
mov rcx, qword [rsp + 0x90]
test rcx, rcx
mov r14, qword [rsp + 0x68]
je 0x4bf1e4
mov dword [rsp + 0x88], 0
lea rdx, [rsp + 0x88]
call fcn.0047a900
mov eax, dword [rsp + 0x88]
mov ecx, eax
neg ecx
cmp eax, 0x80000000
mov ebp, 0x7fffffff
cmovne ebp, ecx
test eax, eax
cmovns ebp, eax
mov rax, qword [rsp + 0x78]
mov rdi, qword [rax + 0xa0]
test rdi, rdi
cmove rdi, rax
mov eax, dword [rdi + 0x74]
mov ecx, esi
xor ecx, eax
mov edx, ecx
not edx
test edx, eax
jne 0x4bbeb3
and eax, esi
or eax, ecx
mov dword [rdi + 0x74], eax
test r15b, r15b
je 0x4bbeb3
mov rcx, rdi
call fcn.004306d0
mov eax, dword [rdi + 0x70]
mov ecx, eax
not ecx
mov edx, esi
not edx
mov ebx, ecx
and ebx, 0xb62e1397
and eax, 0x49d1ec68
or eax, ebx
or ecx, edx
and edx, 0xb62e1397
and esi, 0x49d1ec68
or esi, edx
xor esi, eax
not ecx
or ecx, esi
mov dword [rdi + 0x70], ecx
movsxd rax, dword [r14]
mov rcx, qword [rsp + 0x60]
cmp dword [rcx], eax
jle 0x4bf8f7
lea ecx, [rax + 1]
mov rdx, qword [rsp + 0x58]
mov dword [rdx + 0x90], ecx
mov rcx, qword [rdx + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x64
mov rdx, qword [rsp + 0xb0]
mov dword [rcx + rax*8 + 4], edx
mov dword [rcx + rax*8 + 8], 3
mov dword [rcx + rax*8 + 0xc], ebp
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4bf918
cmp al, 0x26
mov rsi, qword [rsp + 0xc0]
jae 0x4bc493
and ebx, 0xfffffffe
cmp al, 0x23
mov rcx, qword [rsp + 0x90]
jae 0x4bcbb7
cmp ebx, 0x6a
mov rax, qword [rsp + 0xa0]
jne 0x4bd497
mov rcx, qword [r15 + 0x18]
test rcx, rcx
je 0x4bbf7f
call qword [0x005f6090]
cmp byte [r15 + 0x6f], 0
jne 0x4bbf8e
mov rcx, r15
call fcn.00430580
mov eax, dword [r15 + 0x28]
test eax, eax
jle 0x4bd4f3
mov esi, 8
xor edi, edi
jmp 0x4bbfb7
add rdi, 1
movsxd rcx, eax
add rsi, 0x20
cmp rdi, rcx
jge 0x4bd4f3
mov rcx, qword [rbp]
mov rcx, qword [rcx + rsi]
test rcx, rcx
je 0x4bbfa3
mov rax, qword [rcx + 8]
mov rax, qword [rax]
mov rax, qword [rax + 0x120]
mov rcx, qword [rax + 0x40]
call qword [0x005f6118]
mov eax, dword [r15 + 0x28]
jmp 0x4bbfa3
xor eax, eax
jmp 0x4bc25f
lea rax, [0x005fe3b0]
mov rcx, qword [rsp + 0xd0]
movzx r13d, byte [rax + rcx*8 + 0xb]
test r13, r13
mov r14d, 1
cmovne r14d, r13d
mov rsi, qword [rsp + 0x58]
mov rbx, qword [rsi]
movzx eax, word [rsi + 0xc0]
test rax, rax
je 0x4bc975
mov rsi, qword [rsi + 0x98]
test rsi, rsi
je 0x4bc959
imul rdi, rax, 0x70
add rdi, rsi
mov rbp, qword [rsi + 0x18]
cmp qword [rbp + 0x300], 0
mov r15, rbp
jne 0x4bc06f
movabs rax, 0xbcf28ffb41b63a89
not rax
mov qword [rsp + 0xd8], rax
jmp 0x4bc0a4
add rsi, 0x38
cmp rsi, rdi
jae 0x4bc959
cmp dword [rsi + 0x20], 0
je 0x4bc062
mov rdx, qword [rsi + 0x28]
mov rcx, rbp
call fcn.00408130
mov rbp, r15
jmp 0x4bc062
mov rcx, rsi
call fcn.00449ce0
mov rbp, r15
mov word [rsi + 0x14], 0
add rsi, 0x38
cmp rsi, rdi
jae 0x4bc959
mov eax, dword [rsi + 0x14]
mov ecx, eax
xor ecx, 0x6fff
test cx, ax
jne 0x4bc086
cmp dword [rsi + 0x20], 0
je 0x4bc097
mov rdx, qword [rsi + 0x28]
test rbp, rbp
je 0x4bc0fd
cmp qword [rbp + 0x300], 0
je 0x4bc0da
mov rcx, rbp
call fcn.004297f0
jmp 0x4bc188
cmp qword [rbp + 0x1f0], rdx
jbe 0x4bc0fd
cmp qword [rbp + 0x1e0], rdx
jbe 0x4bc197
cmp qword [rbp + 0x1e8], rdx
jbe 0x4bc1aa
test rdx, rdx
je 0x4bc18b
cmp dword [0x005f6010], 0
je 0x4bc17f
mov rcx, qword [0x0213b0e8]
test rcx, rcx
je 0x4bc127
mov rbp, rdx
call qword [0x005f6090]
mov rdx, rbp
mov rcx, rdx
mov rbp, rdx
call qword [0x005f6048]
cdqe
sub qword [0x0213b040], rax
mov rax, qword [0x0213b088]
movabs rcx, 0xbcf28ffb41b63a89
add rax, rcx
add rax, qword [rsp + 0xd8]
mov qword [0x0213b088], rax
mov rcx, rbp
call qword [0x005f6038]
mov rcx, qword [0x0213b0e8]
test rcx, rcx
mov rbp, r15
je 0x4bc18b
call qword [0x005f60a0]
jmp 0x4bc188
mov rcx, rdx
call qword [0x005f6038]
mov rbp, r15
mov dword [rsi + 0x20], 0
jmp 0x4bc091
mov rax, qword [rbp + 0x1d8]
mov qword [rdx], rax
mov qword [rbp + 0x1d8], rdx
jmp 0x4bc18b
mov rax, qword [rbp + 0x1c8]
mov qword [rdx], rax
mov qword [rbp + 0x1c8], rdx
jmp 0x4bc18b
mov ecx, dword [rsp + 0xf8]
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
jne 0x4bc1da
mov eax, dword [rsi + 0x2c]
mov ecx, eax
xor ecx, 1
and ecx, eax
mov dword [rsi + 0x2c], ecx
cmp byte [rsi + 0x6f], 0
mov r15, qword [rsp + 0x80]
mov r8, qword [rsp + 0xe8]
je 0x4bb9e0
mov eax, dword [rsi + 0x2c]
mov ecx, eax
not ecx
and ecx, 0x483611d0
mov edx, eax
and edx, 0xb7c9ee2f
or edx, ecx
xor edx, 0x483611c0
and eax, 0x10
or eax, edx
mov dword [rsi + 0x2c], eax
jmp 0x4bb9e0
mov rcx, rdi
call qword [0x005f6038]
add dword [rbx + 0x30], 1
mov dword [rbx + 0x18], esi
jmp 0x4c3a5f
mov ecx, eax
xor ecx, 2
test ecx, eax
je 0x4bd1db
lea rdx, [0x00602fdd]
mov rcx, rsi
call fcn.00419aa0
mov dword [rsi + 0x18], 1
jmp 0x4c3a5f
mov byte [rbp], 0
mov rbx, r13
jmp 0x4bb3fb
and edx, 0xfffffffe
cmp al, 9
mov rcx, qword [rsp + 0x90]
jae 0x4bccb7
cmp edx, 0xe
jne 0x4bd514
test rcx, rcx
je 0x4c3a5f
mov rcx, qword [rsp + 0x90]
mov edx, 1
xor r8d, r8d
call fcn.0051b700
xor ecx, ecx
test al, al
setne cl
lea edi, [rcx*8 + 4]
lea rax, [0x005fb09c]
lea rbx, [0x00605170]
cmove rbx, rax
xorps xmm6, xmm6
movups xmmword [rsp + 0x40], xmm6
movups xmmword [rsp + 0x30], xmm6
lea rbp, [0x0051bfa0]
mov qword [rsp + 0x28], rbp
mov qword [rsp + 0x20], rbx
mov qword [rsp + 0x50], 0
lea r14, [0x00604485]
mov rsi, qword [rsp + 0x80]
mov rcx, rsi
mov rdx, r14
mov r8d, 2
mov r9d, 1
call fcn.00422cf0
movups xmmword [rsp + 0x40], xmm6
movups xmmword [rsp + 0x30], xmm6
mov qword [rsp + 0x28], rbp
mov qword [rsp + 0x20], rbx
mov qword [rsp + 0x50], 0
mov rcx, rsi
mov rdx, r14
mov r8d, 3
mov r9d, 1
call fcn.00422cf0
mov byte [rsp + 0x20], 0
mov rcx, rsi
mov rdx, r14
mov r8d, 2
mov r9b, 1
call fcn.00423170
mov ecx, dword [rax + 4]
mov edx, ecx
and edx, edi
xor ecx, edi
or ecx, edx
mov dword [rax + 4], ecx
mov byte [rsp + 0x20], 0
mov rcx, rsi
mov rdx, r14
mov r8d, 3
mov r9b, 1
call fcn.00423170
mov ecx, dword [rax + 4]
mov edx, ecx
and edx, edi
xor ecx, edi
or ecx, edx
mov dword [rax + 4], ecx
jmp 0x4c3a5f
mov edx, ebx
xor edx, 1
and edx, ebx
cmp al, 0x1e
mov rcx, qword [rsp + 0x90]
jae 0x4bcd18
cmp edx, 0x50
jne 0x4bd5bd
mov rax, qword [rsp + 0x78]
mov dword [rax + 0x38], 1
mov rdi, qword [r15 + 0x228]
test rdi, rdi
je 0x4c3a5f
lea rsi, [0x00604cae]
mov rax, qword [rdi + 0x10]
mov r9, qword [rax + 8]
mov rcx, qword [rsp + 0x58]
mov edx, 1
mov r8, rsi
call fcn.0051bbb0
mov rdi, qword [rdi]
test rdi, rdi
jne 0x4bc3d8
jmp 0x4c3a5f
mov r12, rbx
mov ebx, edx
xor ebx, 1
and ebx, edx
cmp al, 0x13
mov rcx, qword [rsp + 0x90]
mov rbp, qword [rsp + 0xc0]
jae 0x4bcd67
cmp ebx, 0x36
jne 0x4bd60f
test rcx, rcx
mov rbp, qword [rsp + 0x68]
mov rbx, r12
je 0x4bc454
lea rdx, [rsp + 0x88]
mov rcx, qword [rsp + 0x90]
call fcn.00428850
test eax, eax
je 0x4bfb75
call fcn.00402ec0
mov rsi, 0xffffffffffffffff
test eax, eax
je 0x4bf21e
mov rcx, qword [rbx]
mov edx, 8
call fcn.00429840
test rax, rax
je 0x4beb06
mov qword [rax], rsi
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x30], 0xfffffff3
jmp 0x4beb17
cmp al, 0x29
mov r10, qword [rsp + 0x90]
jae 0x4bce8f
cmp al, 0x27
jae 0x4bd6a8
mov rcx, qword [rsp + 0x78]
mov dword [rcx + 0x38], 6
mov rdx, rsi
call fcn.004e1790
lea r10, [0x005fade0]
cmp dword [r15 + 0x28], 0
jle 0x4c3a5f
xor eax, eax
mov qword [rsp + 0x60], rax
lea r14, [0x005fd407]
lea r15, [0x005fd54f]
jmp 0x4bc511
mov rdx, qword [rsp + 0x60]
add rdx, 1
mov rax, qword [rsp + 0x80]
movsxd rax, dword [rax + 0x28]
mov rcx, rdx
mov qword [rsp + 0x60], rdx
cmp rdx, rax
mov rsi, r13
jge 0x4c3a5f
mov rax, qword [rsp + 0xa8]
mov rdi, qword [rax]
mov r13, rsi
test rsi, rsi
je 0x4bc55e
mov rcx, qword [rsp + 0x60]
shl rcx, 5
mov rcx, qword [rdi + rcx]
test rcx, rcx
je 0x4bc4e8
xor edx, edx
jmp 0x4bc54a
movzx eax, byte [rbp + r10]
cmp al, byte [rbx + r10]
jne 0x4bc4e8
add rdx, 1
movzx ebp, byte [r13 + rdx]
movzx ebx, byte [rcx + rdx]
cmp bpl, bl
jne 0x4bc53a
test bpl, bpl
jne 0x4bc546
mov r12, qword [rsp + 0x60]
shl r12, 5
mov rax, qword [rdi + r12 + 0x18]
mov esi, dword [rax + 0xc]
mov rbx, qword [rax + 0x10]
test esi, esi
mov rbp, qword [rsp + 0xa8]
je 0x4bc669
test rbx, rbx
je 0x4bc665
add esi, 0xffffffff
mov rcx, qword [rbx + 0x10]
cmp word [rcx + 0x36], 0
je 0x4bc5a7
mov rbx, qword [rbx]
test rbx, rbx
jne 0x4bc58f
jmp 0x4bc665
mov r8, qword [rcx]
mov rdi, qword [rsp + 0x80]
mov rcx, rdi
lea rdx, [0x00604e27]
call fcn.00419c10
test rax, rax
je 0x4bc620
mov rbx, rax
mov qword [rsp + 0x88], 0
lea rax, [rsp + 0x88]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x20], 0
mov rcx, rdi
mov rdx, rbx
mov r8d, 0xffffffff
xor r9d, r9d
call fcn.0041dba0
mov rcx, qword [rsp + 0x88]
call fcn.0040eb30
mov rcx, rdi
mov rdx, rbx
call fcn.00408130
cmp byte [rdi + 0x67], 0
je 0x4bc647
mov rcx, qword [rdi + 0x160]
lea rdx, [0x005fc480]
call fcn.00419aa0
mov rax, qword [rdi + 0x160]
mov dword [rax + 0x18], 7
mov rax, qword [rbp]
mov rax, qword [rax + r12 + 0x18]
mov rbx, qword [rax + 0x10]
test esi, esi
lea r10, [0x005fade0]
jne 0x4bc583
jmp 0x4bc669
mov rbx, qword [rax + 0x10]
test rbx, rbx
mov rsi, qword [rsp + 0x90]
jne 0x4bc6d9
jmp 0x4bc4e8
mov rsi, qword [rsp + 0x90]
movsx eax, word [r8 + 0x36]
mov ebp, dword [r8 + 0x30]
mov edi, ebp
shr edi, 7
and edi, 1
shr ebp, 0x10
and ebp, 1
mov dword [rsp + 0x40], ebp
mov dword [rsp + 0x38], edi
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rdx
mov rcx, qword [rsp + 0x58]
mov edx, 1
lea r8, [0x00604e3e]
call fcn.0051bbb0
lea r10, [0x005fade0]
mov rbx, qword [rbx]
test rbx, rbx
je 0x4bc4e8
mov r8, qword [rbx + 0x10]
test rsi, rsi
je 0x4bc712
mov rcx, qword [r8]
test rcx, rcx
je 0x4bc6cd
xor edx, edx
jmp 0x4bc700
movzx eax, byte [rbp + r10]
cmp al, byte [rdi + r10]
jne 0x4bc6cd
add rdx, 1
movzx ebp, byte [rsi + rdx]
movzx edi, byte [rcx + rdx]
cmp bpl, dil
jne 0x4bc6f0
test bpl, bpl
jne 0x4bc6fc
mov dl, byte [r8 + 0x3f]
lea rcx, [0x00603035]
cmp dl, 2
mov rbp, qword [rsp + 0xa8]
je 0x4bc758
cmp dl, 1
jne 0x4bc738
lea rcx, [0x00603fd4]
jmp 0x4bc758
mov eax, dword [r8 + 0x30]
mov ecx, eax
xor ecx, 0xffffefff
test ecx, eax
lea rcx, [0x00604e37]
lea rax, [0x005fd549]
cmove rcx, rax
mov rax, qword [rbp]
mov r9, qword [rax + r12]
mov rdx, qword [r8]
test rdx, rdx
je 0x4bc849
movzx esi, byte [rdx]
xor edi, edi
test rsi, rsi
je 0x4bc850
mov eax, esi
xor al, 0x20
and al, sil
cmp al, 0x53
jne 0x4bc859
movzx esi, byte [rdx + 1]
test rsi, rsi
je 0x4bc865
mov eax, esi
xor al, 0x20
and al, sil
cmp al, 0x51
jne 0x4bc86e
movzx esi, byte [rdx + 2]
test rsi, rsi
je 0x4bc87a
mov eax, esi
xor al, 0x20
and al, sil
cmp al, 0x4c
jne 0x4bc883
movzx esi, byte [rdx + 3]
test rsi, rsi
je 0x4bc88f
mov eax, esi
xor al, 0x20
and al, sil
cmp al, 0x49
jne 0x4bc898
movzx esi, byte [rdx + 4]
test rsi, rsi
je 0x4bc8a4
mov eax, esi
xor al, 0x20
and al, sil
cmp al, 0x54
jne 0x4bc8ad
movzx esi, byte [rdx + 5]
test rsi, rsi
je 0x4bc8b9
mov eax, esi
xor al, 0x20
and al, sil
cmp al, 0x45
jne 0x4bc8c2
movzx esi, byte [rdx + 6]
lea rbp, [0x006030a7]
test rsi, rsi
lea r10, [0x005fade0]
je 0x4bc8d6
cmp sil, 0x5f
je 0x4bc8e7
add rsi, r10
lea rbp, [0x006030a7]
jmp 0x4bc8d3
xor edx, edx
jmp 0x4bc683
lea rbp, [0x006030a1]
jmp 0x4bc8d6
add rsi, r10
lea rbp, [0x006030a1]
jmp 0x4bc8d3
lea rbp, [0x006030a2]
jmp 0x4bc8d6
add rsi, r10
lea rbp, [0x006030a2]
jmp 0x4bc8d3
lea rbp, [0x006030a3]
jmp 0x4bc8d6
add rsi, r10
lea rbp, [0x006030a3]
jmp 0x4bc8d3
lea rbp, [0x006030a4]
jmp 0x4bc8d6
add rsi, r10
lea rbp, [0x006030a4]
jmp 0x4bc8d3
lea rbp, [0x006030a5]
jmp 0x4bc8d6
add rsi, r10
lea rbp, [0x006030a5]
jmp 0x4bc8d3
lea rbp, [0x006030a6]
jmp 0x4bc8d6
lea r10, [0x005fade0]
add rsi, r10
lea rbp, [0x006030a6]
movzx edi, byte [rsi]
movzx eax, byte [rbp]
movzx eax, byte [rax + r10]
cmp edi, eax
jne 0x4bc67b
mov ebp, 7
jmp 0x4bc8ff
movzx eax, byte [rdi + r10]
cmp al, byte [rsi + r10]
jne 0x4bc91f
add rbp, 1
movzx edi, byte [rdx + rbp]
movzx esi, byte [rbp + r14]
cmp dil, sil
jne 0x4bc8f0
test dil, dil
jne 0x4bc8fb
lea rdx, [0x006050d8]
jmp 0x4bc67b
mov ebp, 7
jmp 0x4bc939
movzx eax, byte [rdi + r10]
cmp al, byte [rsi + r10]
jne 0x4bc67b
add rbp, 1
movzx edi, byte [rdx + rbp]
movzx esi, byte [rbp + r15]
cmp dil, sil
jne 0x4bc926
test dil, dil
jne 0x4bc935
lea rdx, [0x006050e6]
jmp 0x4bc67b
mov rsi, qword [rsp + 0x58]
mov rdx, qword [rsi + 0x98]
mov rcx, rbx
call fcn.00408130
mov r15, qword [rsp + 0x80]
mov word [rsi + 0xc0], r14w
imul edx, r14d, 0x70
mov rcx, rbx
call fcn.00429840
mov qword [rsi + 0x98], rax
test rax, rax
sete cl
test r14b, r14b
setne dl
cmp dl, cl
je 0x4bd296
test r14b, r14b
je 0x4bd296
mov ecx, r14d
add r14d, r14d
lea r8d, [rcx + rcx]
add r8d, 0xffffffff
mov edx, r14d
xor edx, 0x1fc
and edx, r14d
je 0x4bd223
xor edi, edi
mov esi, r14d
mov rcx, rax
mov ebp, edx
mov word [rcx + 0x14], 1
mov qword [rcx + 0x18], rbx
mov dword [rcx + 0x20], 0
add rcx, 0x38
add esi, 0xffffffff
add ebp, 0xffffffff
add edi, 1
cmp edx, edi
jne 0x4bc9d7
sub r14d, edi
jmp 0x4bd226
mov rcx, rsi
xor edx, edx
mov r8, qword [rsp + 0xd8]
xor r9d, r9d
call fcn.004651a0
lea r9, [0x005fade0]
test eax, eax
je 0x4bbcc8
mov dword [rdi + 0x18], eax
add dword [rdi + 0x30], 1
jmp 0x4c3a5f
mov ecx, dword [rsp + 0xe0]
not ecx
or ecx, 1
cmp ecx, 0xfffffffb
jne 0x4bd6d9
mov r12, qword [rsp + 0xa0]
shl r12, 5
mov rax, qword [rsp + 0x70]
mov rdi, qword [rax + r12 + 8]
test r14, r14
je 0x4bf256
xor eax, eax
lea rcx, [0x00602eeb]
jmp 0x4bca84
movzx edx, byte [rdx + r9]
cmp dl, byte [rbp + r9]
jne 0x4bf98c
add rax, 1
movzx edx, byte [r14 + rax]
movzx ebp, byte [rax + rcx]
cmp dl, bpl
jne 0x4bca70
test dl, dl
jne 0x4bca80
xor esi, esi
jmp 0x4c2e2c
mov ecx, dword [rsp + 0xe0]
and ecx, 0xfffffffe
cmp al, 0x1a
jae 0x4bd7a6
mov rbx, rdi
cmp ecx, 0x46
jne 0x4bd757
mov rax, qword [rsp + 0xa0]
shl rax, 5
mov rcx, qword [rsp + 0x70]
mov rax, qword [rcx + rax + 8]
mov rax, qword [rax + 8]
mov rdi, qword [rax]
mov qword [rsp + 0x88], 0xfffffffffffffffe
test r14, r14
je 0x4c0049
lea rdx, [rsp + 0x88]
mov rcx, r14
call fcn.00428850
mov rsi, qword [rsp + 0x88]
cmp rsi, 0xfffffffffffffffe
jg 0x4bcb1e
mov qword [rsp + 0x88], 0xffffffffffffffff
mov rsi, 0xffffffffffffffff
mov qword [rdi + 0xd0], rsi
mov rax, qword [rdi + 0x128]
test rax, rax
je 0x4bcb35
mov qword [rax + 0x20], rsi
mov rbx, qword [rsp + 0x58]
jmp 0x4c0050
cmp edx, 0x26
jne 0x4bd7f3
test rcx, rcx
je 0x4bf293
mov eax, dword [r15 + 0x2c]
mov ecx, eax
xor ecx, 0xffffffbf
test ecx, eax
jne 0x4c3a5f
xor ecx, ecx
lea rdx, [0x00605000]
lea r8, [0x00604f70]
mov rsi, qword [rsp + 0x90]
jmp 0x4bcb89
test bpl, bpl
je 0x4c3d0b
add rcx, 1
movzx ebp, byte [rsi + rcx]
movzx ebx, byte [rcx + rdx]
cmp bpl, bl
je 0x4bcb7c
movzx eax, byte [rbp + r9]
cmp al, byte [rbx + r9]
je 0x4bcb85
xor ecx, ecx
lea rdx, [0x00605005]
lea r8, [0x00604f80]
jmp 0x4bd1f5
cmp ebx, 0x6c
mov rdx, qword [rsp + 0xa0]
jne 0x4be5cf
test rcx, rcx
mov rbx, rdi
je 0x4c392d
lea rdx, [rsp + 0x88]
mov rcx, qword [rsp + 0x90]
call fcn.00428850
test eax, eax
jne 0x4c392d
mov rsi, qword [rsp + 0x88]
call fcn.00402ec0
test eax, eax
jne 0x4c392d
mov rcx, qword [0x0213b0e8]
test rcx, rcx
je 0x4bcc18
call qword [0x005f6090]
test rsi, rsi
js 0x4c3916
mov rax, qword [0x0213b0f8]
cmp rax, rsi
setl cl
test rsi, rsi
sete dl
xor dl, cl
mov rcx, rsi
cmovne rcx, rax
cmp rax, rsi
mov rdx, rcx
cmovl rdx, rax
test rsi, rsi
cmovne rdx, rcx
test rax, rax
cmovle rdx, rsi
mov qword [0x0213b0f0], rdx
test rdx, rdx
setg al
cmp rdx, qword [0x0213b040]
setle cl
xor cl, al
not cl
and cl, al
movzx eax, cl
mov dword [0x0213b100], eax
mov rcx, qword [0x0213b0e8]
test rcx, rcx
mov rbx, qword [rsp + 0x58]
je 0x4c392d
call qword [0x005f60a0]
mov rsi, qword [0x0213b0e8]
test rsi, rsi
je 0x4c392d
mov rcx, rsi
call qword [0x005f6090]
mov rcx, rsi
jmp 0x4c3927
cmp edx, 0x14
jne 0x4be6c6
mov rax, qword [rsp + 0x78]
mov dword [rax + 0x38], 2
mov rdi, qword [r15 + 0x270]
test rdi, rdi
je 0x4c3a5f
xor r9d, r9d
lea rsi, [0x00604e82]
lea ebx, [r9 + 1]
mov rax, qword [rdi + 0x10]
mov rax, qword [rax]
mov qword [rsp + 0x20], rax
mov rcx, qword [rsp + 0x58]
mov edx, 1
mov r8, rsi
call fcn.0051bbb0
mov rdi, qword [rdi]
mov r9d, ebx
test rdi, rdi
jne 0x4bcce6
jmp 0x4c3a5f
cmp edx, 0x52
jne 0x4be84b
test rcx, rcx
je 0x4bf303
mov dword [rsp + 0x88], 0
lea rdx, [rsp + 0x88]
call fcn.0047a900
mov eax, dword [rsp + 0x88]
mov rbp, rax
not eax
or eax, 0xfffffffd
cmp eax, 0xffffffff
mov rdx, qword [rsp + 0xc0]
jne 0x4bf310
jmp 0x4c3a5f
cmp ebx, 0x3a
jne 0x4be94e
mov dword [rsp + 0x88], 0
test rcx, rcx
mov r15, qword [rsp + 0x68]
je 0x4bcdad
lea rdx, [rsp + 0x88]
call fcn.0047a900
mov r14d, dword [rsp + 0x88]
test eax, eax
sete al
test r14d, r14d
setle cl
test al, cl
jne 0x4bcdad
xor al, cl
je 0x4bcdbe
mov dword [rsp + 0x88], 0x7fffffff
mov r14d, 0x7fffffff
mov rax, qword [rsp + 0x78]
mov rdi, qword [rax + 0xa0]
test rdi, rdi
cmove rdi, rax
mov esi, 1
mov rcx, qword [rsp + 0xb0]
shl esi, cl
mov eax, dword [rdi + 0x74]
mov edx, eax
btc edx, ecx
not edx
test edx, eax
mov rbx, r12
jne 0x4bce3a
mov ecx, eax
not ecx
mov edx, esi
not edx
mov ebp, ecx
and ebp, 0x4d68bc33
and eax, 0xb29743cc
or eax, ebp
or ecx, edx
and edx, 0x4d68bc33
mov ebx, esi
and ebx, 0xb29743cc
or ebx, edx
xor ebx, eax
not ecx
or ecx, ebx
mov rbx, qword [rsp + 0x58]
mov dword [rdi + 0x74], ecx
cmp byte [rsp + 0x98], 0
je 0x4bce3a
mov rcx, rdi
call fcn.004306d0
mov eax, dword [rdi + 0x70]
mov ecx, eax
and ecx, esi
xor eax, esi
or eax, ecx
mov dword [rdi + 0x70], eax
movsxd rax, dword [r15]
mov rcx, qword [rsp + 0x60]
cmp dword [rcx], eax
jle 0x4beb3e
lea ecx, [rax + 1]
mov dword [rbx + 0x90], ecx
mov rcx, qword [rbx + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x47
mov dword [rcx + rax*8 + 4], r14d
mov qword [rcx + rax*8 + 8], 1
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4beb5c
mov eax, ebx
xor eax, 1
and eax, ebx
cmp eax, 0x7a
je 0x4bea45
cmp eax, 0x82
mov rbx, rdi
jne 0x4bea99
mov rax, qword [rsp + 0xb8]
cmp qword [rax], 0
mov eax, 0xc
mov r8, qword [rsp + 0xb0]
cmove r8d, eax
test r10, r10
je 0x4bfad3
xor eax, eax
lea rcx, [0x00605067]
jmp 0x4bcef2
movzx edx, byte [rdx + r9]
cmp dl, byte [rbp + r9]
jne 0x4bff58
add rax, 1
movzx edx, byte [r10 + rax]
movzx ebp, byte [rax + rcx]
cmp dl, bpl
jne 0x4bcede
test dl, dl
jne 0x4bceee
mov r9d, 1
jmp 0x4bfad6
movabs rbp, 0x1f71e7fbc8c6ab1a
jmp 0x4bcf36
mov rcx, rdi
call fcn.00449ce0
mov word [rdi + 0x14], 0
add rdi, 0x38
cmp rdi, rsi
jae 0x4bcfcc
mov eax, dword [rdi + 0x14]
not eax
or eax, 0x6fff
cmp ax, 0xffff
jne 0x4bcf1b
cmp dword [rdi + 0x20], 0
je 0x4bcf29
mov rbx, qword [rdi + 0x28]
test rbx, rbx
je 0x4bcfc0
cmp dword [0x005f6010], 0
je 0x4bcfb7
mov rcx, qword [0x0213b0e8]
test rcx, rcx
je 0x4bcf70
call qword [0x005f6090]
mov rcx, rbx
call qword [0x005f6048]
cdqe
mov rcx, qword [0x0213b040]
add rcx, rbp
sub rcx, rax
sub rcx, rbp
mov qword [0x0213b040], rcx
add qword [0x0213b088], 0xffffffffffffffff
mov rcx, rbx
call qword [0x005f6038]
mov rcx, qword [0x0213b0e8]
test rcx, rcx
je 0x4bcfc0
call qword [0x005f60a0]
jmp 0x4bcfc0
mov rcx, rbx
call qword [0x005f6038]
mov dword [rdi + 0x20], 0
jmp 0x4bcf23
mov rbx, qword [rsp + 0x58]
mov rdx, qword [rbx + 0x98]
mov rcx, r14
call fcn.00408130
mov r15, qword [rsp + 0x68]
mov word [rbx + 0xc0], 1
mov edx, 0x70
mov rcx, r14
call fcn.00429840
mov qword [rbx + 0x98], rax
test rax, rax
je 0x4bd029
mov word [rax + 0x14], 1
mov qword [rax + 0x18], r14
mov dword [rax + 0x20], 0
mov word [rax + 0x4c], 1
mov qword [rax + 0x50], r14
mov dword [rax + 0x58], 0
mov rsi, qword [rsp + 0x110]
mov rcx, qword [rbx]
cmp byte [rcx + 0x67], 0
jne 0x4bd060
mov qword [rsp + 0x20], 0xffffffffffffffff
mov rcx, rax
mov rdx, rsi
mov r8, 0xffffffffffffffff
mov r9b, 1
call fcn.00414070
mov rsi, qword [rsp + 0x110]
test rsi, rsi
je 0x4bd149
mov eax, dword [r15]
mov rcx, qword [rsp + 0x60]
cmp dword [rcx], eax
jle 0x4bd0a2
movsxd rcx, eax
lea edx, [rcx + 1]
mov dword [rbx + 0x90], edx
mov rdx, qword [rbx + 0x88]
lea rcx, [rcx + rcx*2]
movaps xmm0, xmmword [0x005fa500]
movups xmmword [rdx + rcx*8], xmm0
mov qword [rdx + rcx*8 + 0x10], 0
jmp 0x4bd0c0
mov dword [rsp + 0x20], 0
mov rcx, rbx
mov edx, 0x75
xor r8d, r8d
mov r9d, 1
call fcn.0047df60
mov rcx, qword [rbx]
cmp byte [rcx + 0x67], 0
jne 0x4bd0f2
test eax, eax
jns 0x4bd0d3
mov eax, dword [r15]
add eax, 0xffffffff
cdqe
lea rdx, [rax + rax*2]
shl rdx, 3
add rdx, qword [rbx + 0x88]
mov rcx, rbx
mov r8, rsi
xor r9d, r9d
call fcn.0047e190
movsxd rax, dword [r15]
mov rcx, qword [rsp + 0x60]
cmp dword [rcx], eax
jle 0x4bd128
lea ecx, [rax + 1]
mov dword [rbx + 0x90], ecx
mov rcx, qword [rbx + 0x88]
lea rax, [rax + rax*2]
movaps xmm0, xmmword [0x005fa4f0]
movups xmmword [rcx + rax*8], xmm0
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4bd149
mov dword [rsp + 0x20], 0
mov rcx, rbx
mov edx, 0x54
mov r8d, 1
mov r9d, 1
call fcn.0047df60
mov rsi, qword [rsp + 0x110]
test rsi, rsi
je 0x4c3a5f
cmp dword [0x005f6010], 0
je 0x4bd1cd
mov rcx, qword [0x0213b0e8]
test rcx, rcx
je 0x4bd175
call qword [0x005f6090]
mov rcx, rsi
call qword [0x005f6048]
cdqe
movabs rcx, 0xf9c3f80409ba6836
mov rdx, qword [0x0213b040]
add rdx, rcx
sub rdx, rax
sub rdx, rcx
mov qword [0x0213b040], rdx
add qword [0x0213b088], 0xffffffffffffffff
mov rcx, rsi
call qword [0x005f6038]
mov rcx, qword [0x0213b0e8]
test rcx, rcx
je 0x4c3a5f
call qword [0x005f60a0]
jmp 0x4c3a5f
mov rcx, rsi
call qword [0x005f6038]
jmp 0x4c3a5f
test eax, eax
jne 0x4c3a5f
jmp 0x4bb64e
test bpl, bpl
je 0x4c3d0b
add rcx, 1
movzx ebp, byte [rsi + rcx]
movzx ebx, byte [rcx + rdx]
cmp bpl, bl
je 0x4bd1e8
movzx eax, byte [rbp + r9]
cmp al, byte [rbx + r9]
je 0x4bd1f1
xor ecx, ecx
lea rdx, [0x0060500b]
lea r8, [0x00604f90]
jmp 0x4be9ce
mov rcx, rax
cmp r8d, 3
jb 0x4bd296
lea edx, [r14 + 4]
add rcx, 0xc8
mov word [rcx - 0xb4], 1
mov qword [rcx - 0xb0], rbx
mov dword [rcx - 0xa8], 0
mov word [rcx - 0x7c], 1
mov qword [rcx - 0x78], rbx
mov dword [rcx - 0x70], 0
mov word [rcx - 0x44], 1
mov qword [rcx - 0x40], rbx
mov dword [rcx - 0x38], 0
mov word [rcx - 0xc], 1
mov qword [rcx - 8], rbx
mov dword [rcx], 0
add r14d, 0xfffffffc
add edx, 0xfffffffc
add rcx, 0xe0
cmp edx, 4
jg 0x4bd237
test r13b, r13b
mov r8, qword [rsp + 0xe8]
lea r9, [0x005fade0]
je 0x4bd339
lea rax, [0x005fe3b0]
mov rcx, qword [rsp + 0xd0]
movzx esi, byte [rax + rcx*8 + 0xa]
imul r14, r13, 0x38
lea rax, [0x005fee00]
lea rbx, [rax + rsi*8]
xor ebp, ebp
xor edi, edi
jmp 0x4bd2f0
add rdi, 1
add rsi, 1
add rbp, 0x38
add rbx, 8
cmp r14, rbp
je 0x4bba1c
mov rax, qword [rsp + 0x58]
mov rax, qword [rax]
cmp byte [rax + 0x67], 0
jne 0x4bd2d7
mov rdx, qword [rbx]
mov rax, qword [rsp + 0x58]
mov rcx, qword [rax + 0x98]
add rcx, rbp
mov qword [rsp + 0x20], 0
mov r8, 0xffffffffffffffff
mov r9b, 1
call fcn.00414070
lea r9, [0x005fade0]
mov r8, qword [rsp + 0xe8]
jmp 0x4bd2d7
mov rcx, qword [rsp + 0x58]
mov rcx, qword [rcx]
cmp byte [rcx + 0x67], 0
jne 0x4bba1c
mov qword [rsp + 0x20], 0
mov rcx, rax
mov rdx, r12
mov r8, 0xffffffffffffffff
mov r9b, 1
call fcn.00414070
lea r9, [0x005fade0]
mov r8, qword [rsp + 0xe8]
jmp 0x4bba1c
mov sil, byte [r8]
xor ebx, ebx
mov rax, qword [rsp + 0xb8]
cmp qword [rax], 1
mov eax, 0
sbb eax, eax
or eax, dword [rsp + 0xb0]
mov dword [rsp + 0xf0], eax
mov rax, qword [rsp + 0x78]
mov dword [rax + 0x38], 6
mov dword [rsp + 0x88], 0x64
mov edi, 0x64
test r14, r14
je 0x4c089c
lea rdx, [rsp + 0x88]
mov rcx, r14
call fcn.0047a900
test eax, eax
je 0x4bfbc1
mov eax, dword [rsp + 0x88]
test eax, eax
jle 0x4c02fe
xor ebx, ebx
mov edi, eax
jmp 0x4c089c
mov rax, qword [rsp + 0x78]
mov dword [rax + 0x38], 3
mov eax, dword [r15 + 0x28]
test eax, eax
jle 0x4c3a5f
mov ebx, 8
xor esi, esi
lea rbp, [0x005fc226]
lea rdi, [0x00604e7e]
jmp 0x4bd465
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rax
mov rcx, qword [rsp + 0x58]
mov edx, 1
mov r8, rdi
mov r9d, esi
call fcn.0051bbb0
mov rax, qword [rsp + 0x80]
mov eax, dword [rax + 0x28]
add rsi, 1
movsxd rcx, eax
add rbx, 0x20
cmp rsi, rcx
jge 0x4c3a5f
mov rcx, qword [rsp + 0xa8]
mov rcx, qword [rcx]
mov rdx, qword [rcx + rbx]
test rdx, rdx
je 0x4bd451
mov rax, qword [rcx + rbx - 8]
mov rcx, qword [rdx + 8]
mov rdx, qword [rcx]
cmp byte [rdx + 0x13], 0
mov rcx, rbp
jne 0x4bd427
mov rcx, qword [rdx + 0xd8]
jmp 0x4bd427
shl rax, 5
mov rdx, qword [rsp + 0x70]
mov r12, qword [rdx + rax + 8]
xor esi, esi
test rcx, rcx
je 0x4bf7f6
xor eax, eax
lea rbx, [0x00604da4]
mov rdi, qword [rsp + 0xb8]
jmp 0x4bd4d7
movzx edx, byte [rdx + r9]
cmp dl, byte [rbp + r9]
jne 0x4bf9c7
add rax, 1
movzx edx, byte [rcx + rax]
movzx ebp, byte [rax + rbx]
cmp dl, bpl
jne 0x4bd4c3
test dl, dl
jne 0x4bd4d3
mov r14d, 2
jmp 0x4bf9dd
cmp byte [r15 + 0x6f], 0
jne 0x4bd502
mov rcx, r15
call fcn.004305f0
mov rcx, qword [r15 + 0x18]
test rcx, rcx
jne 0x4bd1c2
jmp 0x4c3a5f
test rcx, rcx
je 0x4bf803
mov dword [rsp + 0x88], 1
lea rdx, [rsp + 0x88]
call fcn.0047a900
mov edi, dword [rsp + 0x88]
test eax, eax
mov rax, qword [rsp + 0xa0]
je 0x4c3887
shl rax, 5
mov rcx, qword [rsp + 0x70]
mov rsi, qword [rcx + rax + 8]
mov rbx, qword [rsi + 8]
cmp byte [rsi + 0x11], 0
je 0x4bd576
add dword [rsi + 0x14], 1
cmp byte [rsi + 0x12], 0
jne 0x4bd576
mov rcx, rsi
call fcn.0043e9d0
test edi, edi
je 0x4c3873
mov rax, qword [rbx]
mov rcx, qword [rax + 0x120]
mov eax, edi
jns 0x4c3870
movsxd rax, edi
shl rax, 0xa
mov ebp, dword [rcx + 0x28]
add ebp, dword [rcx + 0x24]
neg rax
movsxd rbx, ebp
mov rdx, rax
or rdx, rbx
shr rdx, 0x20
je 0x4c385c
cqo
idiv rbx
jmp 0x4c3860
test rcx, rcx
je 0x4bfd57
lea rdx, [rsp + 0xc8]
mov rcx, qword [rsp + 0x90]
call fcn.00428850
mov rax, qword [rsp + 0xc8]
test rax, rax
js 0x4bfbe7
mov rcx, qword [rsp + 0xb8]
cmp dword [rcx + 8], 0
je 0x4bfc08
mov ebx, dword [r15 + 0x28]
test ebx, ebx
jg 0x4bfc18
jmp 0x4bfd57
mov eax, dword [r15 + 0x2c]
shr eax, 5
mov esi, eax
xor esi, 0x7fffffe
and esi, eax
mov rax, qword [rsp + 0x78]
mov dword [rax + 0x38], 6
xor ebx, ebx
lea r14, [0x0213b258]
mov rbp, qword [rsp + 0x58]
mov rdi, qword [r14 + rbx*8]
test rdi, rdi
jne 0x4bd650
jmp 0x4bd66d
mov rdi, qword [r14 + rbx*8]
test rdi, rdi
je 0x4bd66d
nop
mov rcx, rbp
mov rdx, rdi
mov r8d, 1
mov r9d, esi
call fcn.0051bdf0
mov rdi, qword [rdi + 0x40]
test rdi, rdi
jne 0x4bd650
add rbx, 1
cmp rbx, 0x17
jne 0x4bd645
mov rdi, qword [r15 + 0x258]
test rdi, rdi
je 0x4c3a5f
mov rdx, qword [rdi + 0x10]
mov rcx, qword [rsp + 0x58]
xor r8d, r8d
mov r9d, esi
call fcn.0051bdf0
mov rdi, qword [rdi]
test rdi, rdi
jne 0x4bd687
jmp 0x4c3a5f
not ebx
or ebx, 1
cmp ebx, 0xffffff89
jne 0x4beba3
test r10, r10
je 0x4c0062
mov al, byte [r10]
lea ecx, [rax - 0x30]
cmp cl, 3
jae 0x4c0163
movzx edi, al
add edi, 0xffffffd0
jmp 0x4c3811
cmp al, 5
mov rbp, qword [rsp + 0xa0]
ja 0x4bec43
cmp al, 4
jne 0x4bd757
test r14, r14
je 0x4c0665
mov rax, qword [rsp + 0xd0]
mov rax, qword [rsi + rax*8 + 0x10]
mov rsi, rax
xor rsi, 0x4000
and rsi, rax
cmp byte [r15 + 0x65], 0
cmovne rsi, rax
mov rcx, qword [rsp + 0x90]
mov edx, 1
xor r8d, r8d
call fcn.0051b700
test al, al
je 0x4c350f
mov rdx, qword [rsp + 0x80]
mov rax, qword [rdx + 0x30]
mov rcx, rax
and rcx, rsi
xor rax, rsi
or rax, rcx
mov qword [rdx + 0x30], rax
jmp 0x4c3bec
test r14, r14
je 0x4bffd6
mov dword [rsp + 0x88], 0
lea rdx, [rsp + 0x88]
mov rcx, r14
call fcn.0047a900
mov esi, dword [rsp + 0x88]
mov rcx, qword [r15 + 0x18]
test esi, esi
jle 0x4bf8af
test rcx, rcx
je 0x4bff97
call qword [0x005f6090]
mov rcx, qword [r15 + 0x18]
jmp 0x4bff99
cmp ecx, 0x4a
jne 0x4beced
test r14, r14
je 0x4c0258
xor eax, eax
lea rcx, [0x005fbfdb]
jmp 0x4bd7d7
movzx edx, byte [rdx + r9]
cmp dl, byte [rbp + r9]
jne 0x4c01a4
add rax, 1
movzx edx, byte [r14 + rax]
movzx ebp, byte [rax + rcx]
cmp dl, bpl
jne 0x4bd7c3
test dl, dl
jne 0x4bd7d3
mov eax, 1
jmp 0x4c01df
cmp al, 0x10
jae 0x4bedeb
mov rcx, qword [rsp + 0x78]
mov eax, dword [rcx + 0x38]
mov rbx, rax
add eax, 5
mov qword [rsp + 0x70], rax
mov dword [rcx + 0x38], eax
mov rax, qword [rbp]
mov rdx, qword [rsp + 0xa0]
shl rdx, 5
mov rax, qword [rax + rdx + 0x18]
mov rdi, qword [rax + 0x10]
test rdi, rdi
je 0x4c3a5f
lea eax, [rbx + 1]
mov dword [rsp + 0xb0], eax
lea eax, [rbx + 2]
mov dword [rsp + 0xd0], eax
add ebx, 3
mov qword [rsp + 0xe0], rbx
xorps xmm6, xmm6
cmp qword [rsp + 0x90], 0
je 0x4bd8d9
xor edx, edx
mov r8, qword [rsp + 0x90]
mov r9, qword [rsp + 0xc0]
call fcn.004190c0
test rax, rax
je 0x4c3a5f
mov rsi, rax
cmp byte [rax + 0x3f], 0
jne 0x4c3a5f
cmp qword [rsi + 0x48], 0
je 0x4c3a5f
xor edi, edi
mov rcx, qword [rsi + 0x60]
mov rax, qword [rsp + 0xa8]
mov rax, qword [rax]
test rcx, rcx
je 0x4bd8f7
lea rdx, [rax + 0x18]
mov r12d, 0xffffffff
xor ebp, ebp
add rbp, 1
add r12d, 1
lea rbx, [rdx + 0x20]
cmp qword [rdx], rcx
mov rdx, rbx
jne 0x4bd8ba
jmp 0x4bd8fd
test rdi, rdi
je 0x4c3a5f
mov rax, rdi
mov rsi, qword [rdi + 0x10]
mov rdi, qword [rdi]
test rsi, rsi
je 0x4bd8d0
cmp byte [rsi + 0x3f], 0
jne 0x4bd8d0
cmp qword [rsi + 0x48], 0
je 0x4bd8d0
jmp 0x4bd89a
mov r12d, 0xffff8000
movsxd rcx, r12d
mov rdx, rcx
shl rdx, 5
mov qword [rsp + 0x98], rdx
mov rax, qword [rax + rdx]
mov qword [rsp + 0xc0], rax
mov rdx, qword [rsp + 0x78]
mov rax, qword [rdx + 0xa0]
test rax, rax
cmove rax, rdx
mov edx, 1
shl edx, cl
mov ebx, 0xfffffffe
rol ebx, cl
mov ebp, dword [rax + 0x74]
mov ecx, ebp
not ecx
or ebx, ecx
cmp ebx, 0xffffffff
mov qword [rsp + 0xf8], rdi
je 0x4bd964
lea rbx, [rsi + 0x28]
mov r15b, 1
cmp r12d, 1
jne 0x4bd9ac
jmp 0x4bd9ee
mov ebx, edx
not ebx
mov edi, ecx
and edi, 0x2fdb67a
and ebp, 0xfd024985
or ebp, edi
or ecx, ebx
and ebx, 0x2fdb67a
and edx, 0xfd024985
or edx, ebx
xor edx, ebp
not ecx
or ecx, edx
mov dword [rax + 0x74], ecx
cmp r12d, 1
jne 0x4bd9a8
mov rcx, rax
call fcn.004306d0
lea rbx, [rsi + 0x28]
mov r15b, 1
jmp 0x4bd9ee
lea rbx, [rsi + 0x28]
mov rax, qword [rsp + 0x78]
mov rax, qword [rax]
mov rax, qword [rax + 0x20]
mov rcx, qword [rsp + 0x98]
mov rax, qword [rax + rcx + 8]
cmp byte [rax + 0x11], 0
je 0x4bd9eb
mov r8d, dword [rbx]
mov rax, qword [rsi]
mov qword [rsp + 0x20], rax
xor r15d, r15d
mov rcx, qword [rsp + 0x78]
mov edx, r12d
xor r9d, r9d
call fcn.004c63a0
jmp 0x4bd9ee
xor r15d, r15d
movsx eax, word [rsi + 0x36]
add eax, dword [rsp + 0x70]
mov rcx, qword [rsp + 0x78]
cmp eax, dword [rcx + 0x38]
jle 0x4bda03
mov dword [rcx + 0x38], eax
mov rdi, qword [rcx + 0x10]
test r15b, r15b
jne 0x4bda46
mov rax, qword [rsp + 0x78]
mov rax, qword [rax]
mov rax, qword [rax + 0x20]
mov rcx, qword [rsp + 0x98]
mov rax, qword [rax + rcx + 8]
cmp byte [rax + 0x11], 0
je 0x4bda46
mov r8d, dword [rbx]
mov rax, qword [rsi]
mov qword [rsp + 0x20], rax
mov rcx, qword [rsp + 0x78]
mov edx, r12d
xor r9d, r9d
call fcn.004c63a0
cmp byte [rsi + 0x30], 0
mov r13, rsi
js 0x4bda9d
mov r9d, dword [rsi + 0x28]
movsx ebx, word [rsi + 0x38]
mov eax, dword [rdi + 0x90]
cmp dword [rdi + 0x94], eax
jle 0x4bdb04
movsxd rcx, eax
lea edx, [rcx + 1]
mov dword [rdi + 0x90], edx
mov rdx, qword [rdi + 0x88]
lea rcx, [rcx + rcx*2]
mov qword [rdx + rcx*8], 0x70
mov dword [rdx + rcx*8 + 8], r9d
mov dword [rdx + rcx*8 + 0xc], r12d
mov qword [rdx + rcx*8 + 0x10], 0
jmp 0x4bdb19
mov rbx, qword [rsi + 0x10]
test rbx, rbx
je 0x4bdabe
mov eax, dword [rbx + 0x64]
mov ecx, eax
xor ecx, 0xfffffffc
and ecx, eax
cmp ecx, 2
je 0x4bdac0
mov rbx, qword [rbx + 0x28]
test rbx, rbx
jne 0x4bdaa6
xor ebx, ebx
mov r9d, dword [rbx + 0x58]
movsxd rax, dword [rdi + 0x90]
cmp dword [rdi + 0x94], eax
jle 0x4bdb49
lea ecx, [rax + 1]
mov dword [rdi + 0x90], ecx
mov rcx, qword [rdi + 0x88]
lea rax, [rax + rax*2]
mov qword [rcx + rax*8], 0x70
mov dword [rcx + rax*8 + 8], r9d
mov dword [rcx + rax*8 + 0xc], r12d
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4bdb5e
mov dword [rsp + 0x20], r12d
mov rcx, rdi
mov edx, 0x70
xor r8d, r8d
call fcn.0047df60
mov rcx, qword [rdi]
cmp byte [rcx + 0x67], 0
mov r14, qword [rsp + 0x80]
mov rsi, r13
jne 0x4bdbc3
mov rcx, qword [rdi + 0x88]
cdqe
lea rax, [rax + rax*2]
mov byte [rcx + rax*8 + 1], 0xfd
mov dword [rcx + rax*8 + 0x10], ebx
jmp 0x4bdbc3
mov dword [rsp + 0x20], r12d
mov rcx, rdi
mov edx, 0x70
xor r8d, r8d
call fcn.0047df60
mov rcx, qword [rsp + 0x78]
mov rdi, qword [rcx + 0x10]
mov rdx, rbx
call fcn.004c65a0
test rax, rax
mov r14, qword [rsp + 0x80]
mov rsi, r13
je 0x4bdbc3
mov rcx, qword [rdi]
cmp byte [rcx + 0x67], 0
je 0x4bdb97
mov edx, 0xfffffff8
mov r8, rax
call fcn.00444fc0
jmp 0x4bdbb8
mov rcx, qword [rdi + 0x88]
mov edx, dword [rdi + 0x90]
add edx, 0xffffffff
movsxd rdx, edx
lea rdx, [rdx + rdx*2]
mov byte [rcx + rdx*8 + 1], 0xf8
mov qword [rcx + rdx*8 + 0x10], rax
mov r14, qword [rsp + 0x80]
mov rsi, r13
mov rdi, qword [rsi]
mov rax, qword [rsp + 0x68]
mov eax, dword [rax]
mov rcx, qword [rsp + 0x60]
cmp dword [rcx], eax
jle 0x4bdc18
movsxd rcx, eax
lea edx, [rcx + 1]
mov rbx, qword [rsp + 0x58]
mov dword [rbx + 0x90], edx
mov rdx, qword [rbx + 0x88]
lea rcx, [rcx + rcx*2]
mov qword [rdx + rcx*8], 0x75
mov ebp, dword [rsp + 0xb0]
mov dword [rdx + rcx*8 + 8], ebp
mov dword [rdx + rcx*8 + 0xc], 0
mov qword [rdx + rcx*8 + 0x10], 0
jmp 0x4bdc3d
mov dword [rsp + 0x20], 0
mov rbx, qword [rsp + 0x58]
mov rcx, rbx
mov edx, 0x75
xor r8d, r8d
mov r9d, dword [rsp + 0xb0]
call fcn.0047df60
mov rcx, qword [rbx]
cmp byte [rcx + 0x67], 0
jne 0x4bdc80
test eax, eax
jns 0x4bdc54
mov rax, qword [rsp + 0x68]
mov eax, dword [rax]
add eax, 0xffffffff
cdqe
lea rdx, [rax + rax*2]
shl rdx, 3
mov rcx, qword [rsp + 0x58]
add rdx, qword [rcx + 0x88]
mov r8, rdi
xor r9d, r9d
call fcn.0047e190
mov r14, qword [rsp + 0x80]
mov rsi, r13
mov rbp, qword [rsi + 0x48]
mov edi, 1
jmp 0x4bdc9f
mov edx, 0xfffffff8
mov r8, rax
call fcn.00444fc0
add edi, 1
mov rbp, qword [rbp + 8]
test rbp, rbp
je 0x4bdf8d
mov rdx, qword [rbp + 0x10]
mov rcx, r14
mov r8, qword [rsp + 0xc0]
call fcn.00426380
test rax, rax
je 0x4bdc98
mov rsi, rax
mov qword [rsp + 0x88], 0
test r15b, r15b
mov rbx, qword [rsp + 0x78]
jne 0x4bdd0e
mov rax, qword [rbx]
mov rax, qword [rax + 0x20]
mov rcx, qword [rsp + 0x98]
mov rax, qword [rax + rcx + 8]
cmp byte [rax + 0x11], 0
je 0x4bdd0e
mov r8d, dword [rsi + 0x28]
mov rax, qword [rsi]
mov qword [rsp + 0x20], rax
mov rcx, rbx
mov edx, r12d
xor r9d, r9d
call fcn.004c63a0
mov qword [rsp + 0x20], 0
mov rcx, rbx
mov rdx, rsi
mov r8, rbp
lea r9, [rsp + 0x88]
call fcn.005134a0
test eax, eax
jne 0x4c3a5f
mov rbx, qword [rsp + 0x88]
test rbx, rbx
je 0x4bdd97
mov r9d, dword [rbx + 0x58]
mov rax, qword [rsp + 0x68]
movsxd rax, dword [rax]
mov rcx, qword [rsp + 0x60]
cmp dword [rcx], eax
jle 0x4bde34
lea ecx, [rax + 1]
mov rdx, qword [rsp + 0x58]
mov dword [rdx + 0x90], ecx
mov rcx, qword [rdx + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x70
mov dword [rcx + rax*8 + 4], edi
mov dword [rcx + rax*8 + 8], r9d
mov dword [rcx + rax*8 + 0xc], r12d
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4bde4b
mov rcx, qword [rsp + 0x78]
mov rbx, qword [rcx + 0x10]
test r15b, r15b
jne 0x4bddd6
mov rax, qword [rcx]
mov rax, qword [rax + 0x20]
mov rdx, qword [rsp + 0x98]
mov rax, qword [rax + rdx + 8]
cmp byte [rax + 0x11], 0
je 0x4bddd6
mov r8d, dword [rsi + 0x28]
mov rax, qword [rsi]
mov qword [rsp + 0x20], rax
mov edx, r12d
xor r9d, r9d
call fcn.004c63a0
cmp byte [rsi + 0x30], 0
js 0x4bde98
mov r9d, dword [rsi + 0x28]
movsx esi, word [rsi + 0x38]
mov eax, dword [rbx + 0x90]
cmp dword [rbx + 0x94], eax
jle 0x4bdf02
movsxd rcx, eax
lea edx, [rcx + 1]
mov dword [rbx + 0x90], edx
mov rdx, qword [rbx + 0x88]
lea rcx, [rcx + rcx*2]
mov dword [rdx + rcx*8], 0x70
mov dword [rdx + rcx*8 + 4], edi
mov dword [rdx + rcx*8 + 8], r9d
mov dword [rdx + rcx*8 + 0xc], r12d
mov qword [rdx + rcx*8 + 0x10], 0
jmp 0x4bdf17
mov dword [rsp + 0x20], r12d
mov rcx, qword [rsp + 0x58]
mov edx, 0x70
mov r8d, edi
call fcn.0047df60
mov rcx, qword [rsp + 0x78]
mov rsi, qword [rcx + 0x10]
mov rdx, rbx
call fcn.004c65a0
test rax, rax
je 0x4bdc98
mov rcx, qword [rsi]
cmp byte [rcx + 0x67], 0
jne 0x4bdc8b
mov rcx, qword [rsi + 0x88]
mov edx, dword [rsi + 0x90]
add edx, 0xffffffff
movsxd rdx, edx
lea rdx, [rdx + rdx*2]
mov byte [rcx + rdx*8 + 1], 0xf8
mov qword [rcx + rdx*8 + 0x10], rax
jmp 0x4bdc98
mov rsi, qword [rsi + 0x10]
test rsi, rsi
je 0x4bdeb9
mov eax, dword [rsi + 0x64]
mov ecx, eax
xor ecx, 0xfffffffc
and ecx, eax
cmp ecx, 2
je 0x4bdebb
mov rsi, qword [rsi + 0x28]
test rsi, rsi
jne 0x4bdea1
xor esi, esi
mov r9d, dword [rsi + 0x58]
movsxd rax, dword [rbx + 0x90]
cmp dword [rbx + 0x94], eax
jle 0x4bdf3f
lea ecx, [rax + 1]
mov dword [rbx + 0x90], ecx
mov rcx, qword [rbx + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x70
mov dword [rcx + rax*8 + 4], edi
mov dword [rcx + rax*8 + 8], r9d
mov dword [rcx + rax*8 + 0xc], r12d
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4bdf54
mov dword [rsp + 0x20], r12d
mov rcx, rbx
mov edx, 0x70
mov r8d, edi
call fcn.0047df60
mov rcx, qword [rbx]
cmp byte [rcx + 0x67], 0
jne 0x4bdc98
mov rcx, qword [rbx + 0x88]
cdqe
lea rax, [rax + rax*2]
mov byte [rcx + rax*8 + 1], 0xfd
mov dword [rcx + rax*8 + 0x10], esi
jmp 0x4bdc98
mov dword [rsp + 0x20], r12d
mov rcx, rbx
mov edx, 0x70
mov r8d, edi
call fcn.0047df60
mov rcx, qword [rsp + 0x78]
mov rbx, qword [rcx + 0x10]
mov rdx, rsi
call fcn.004c65a0
test rax, rax
je 0x4bdc98
mov rcx, qword [rbx]
cmp byte [rcx + 0x67], 0
jne 0x4bdc8b
mov rcx, qword [rbx + 0x88]
mov edx, dword [rbx + 0x90]
jmp 0x4bde7f
mov rax, qword [rsp + 0x78]
cmp dword [rax + 0x34], edi
jge 0x4bdf9a
mov dword [rax + 0x34], edi
mov rax, qword [rsp + 0x68]
mov ecx, dword [rax]
mov rax, qword [rsp + 0x60]
cmp dword [rax], ecx
jle 0x4bdfe2
mov qword [rsp + 0xd8], rcx
movsxd rax, ecx
lea ecx, [rax + 1]
mov rbx, qword [rsp + 0x58]
mov dword [rbx + 0x90], ecx
mov rcx, qword [rbx + 0x88]
lea rax, [rax + rax*2]
mov byte [rcx + rax*8], 0x23
movups xmmword [rcx + rax*8 + 1], xmm6
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4be00a
mov dword [rsp + 0x20], 0
mov rbx, qword [rsp + 0x58]
mov rcx, rbx
mov edx, 0x23
xor r8d, r8d
xor r9d, r9d
call fcn.0047df60
mov qword [rsp + 0xd8], rax
mov rbp, qword [r13 + 0x48]
test rbp, rbp
mov r15, qword [rsp + 0x80]
mov r8, qword [rsp + 0xc0]
mov r12, qword [rsp + 0x70]
je 0x4be510
mov esi, 1
jmp 0x4be067
mov rax, qword [rsp + 0x68]
mov eax, dword [rax]
mov rcx, qword [rcx + 0x50]
movsxd rdx, edi
mov dword [rcx + rdx*4], eax
mov rdx, qword [rsp + 0xc8]
mov rcx, r15
call fcn.00408130
add esi, 1
mov rbp, qword [rbp + 8]
test rbp, rbp
mov r8, r14
je 0x4be510
mov qword [rsp + 0x98], rsi
mov rdx, qword [rbp + 0x10]
mov rcx, r15
call fcn.00426380
mov r14, rax
mov qword [rsp + 0x88], 0
mov qword [rsp + 0xc8], 0
test rax, rax
mov rdi, qword [rsp + 0x78]
je 0x4be0c3
lea rax, [rsp + 0xc8]
mov qword [rsp + 0x20], rax
mov rcx, rdi
mov rdx, r14
mov r8, rbp
lea r9, [rsp + 0x88]
call fcn.005134a0
mov eax, dword [rdi + 0x44]
mov qword [rsp + 0xb8], rax
lea esi, [rax - 1]
mov dword [rdi + 0x44], esi
mov ebx, dword [rbp + 0x28]
lea eax, [rbx + r12]
cmp eax, dword [rdi + 0x38]
jle 0x4be0e8
mov rcx, qword [rsp + 0x78]
mov dword [rcx + 0x38], eax
test ebx, ebx
jle 0x4be1ca
mov qword [rsp + 0xa0], r14
lea rdi, [rbp + 0x40]
xor r15d, r15d
xor r12d, r12d
jmp 0x4be14e
lea ecx, [rax + 1]
mov dword [r14 + 0x90], ecx
mov rcx, qword [r14 + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x32
mov dword [rcx + rax*8 + 4], ebx
mov dword [rcx + rax*8 + 8], esi
mov dword [rcx + rax*8 + 0xc], 0
mov qword [rcx + rax*8 + 0x10], 0
add r12, 1
movsxd rbx, dword [rbp + 0x28]
add r15, 4
add rdi, 0x10
cmp r12, rbx
jge 0x4be1b5
mov rax, qword [rsp + 0xc8]
lea rcx, [rax + r15]
test rax, rax
cmove rcx, rdi
mov r9d, dword [rcx]
mov rax, qword [rsp + 0x70]
lea rbx, [rax + r12]
mov dword [rsp + 0x20], ebx
mov r14, qword [rsp + 0x58]
mov rcx, r14
mov rdx, r13
xor r8d, r8d
call fcn.004cdfb0
movsxd rax, dword [r14 + 0x90]
cmp dword [r14 + 0x94], eax
jg 0x4be104
mov dword [rsp + 0x20], 0
mov rcx, r14
mov edx, 0x32
mov r8d, ebx
mov r9d, esi
call fcn.0047df60
jmp 0x4be139
mov r15, qword [rsp + 0x80]
mov r12, qword [rsp + 0x70]
mov r14, qword [rsp + 0xa0]
mov rdx, qword [rsp + 0x88]
test rdx, rdx
je 0x4be266
mov rcx, r15
call fcn.00506680
mov ecx, dword [rbp + 0x28]
mov dword [rsp + 0x30], ecx
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0
mov rcx, qword [rsp + 0x58]
mov edx, 0x60
mov r8d, r12d
mov r9d, ebx
mov rbx, rcx
call fcn.004c62a0
mov r14d, dword [rbp + 0x28]
mov eax, dword [rbx + 0x90]
cmp dword [rbx + 0x94], eax
jle 0x4be2d1
movsxd rcx, eax
lea edx, [rcx + 1]
mov dword [rbx + 0x90], edx
mov rdx, qword [rbx + 0x88]
lea rcx, [rcx + rcx*2]
mov dword [rdx + rcx*8], 0x1c
mov rdi, qword [rsp + 0x98]
mov dword [rdx + rcx*8 + 4], edi
mov dword [rdx + rcx*8 + 8], esi
mov dword [rdx + rcx*8 + 0xc], r12d
mov qword [rdx + rcx*8 + 0x10], 0
jmp 0x4be2ee
test r14, r14
mov rbx, qword [rsp + 0x58]
mov rdi, qword [rsp + 0xc0]
je 0x4be395
mov rax, qword [rsp + 0x68]
movsxd rax, dword [rax]
lea r9d, [rax + 2]
mov rcx, qword [rsp + 0x60]
cmp dword [rcx], eax
jle 0x4be31c
lea ecx, [rax + 1]
mov dword [rbx + 0x90], ecx
mov rcx, qword [rbx + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x1d
mov rdx, qword [rsp + 0x98]
mov dword [rcx + rax*8 + 4], edx
mov dword [rcx + rax*8 + 8], r9d
mov dword [rcx + rax*8 + 0xc], r12d
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4be336
mov dword [rsp + 0x20], r12d
mov rcx, rbx
mov edx, 0x1c
mov r8, qword [rsp + 0x98]
mov r9d, esi
call fcn.0047df60
mov rdi, qword [rsp + 0xc0]
mov rcx, qword [rbx]
cmp byte [rcx + 0x67], 0
jne 0x4be395
mov rcx, qword [rbx + 0x88]
cdqe
lea rax, [rax + rax*2]
mov byte [rcx + rax*8 + 1], 0xfd
mov dword [rcx + rax*8 + 0x10], r14d
jmp 0x4be395
mov dword [rsp + 0x20], r12d
mov rcx, rbx
mov edx, 0x1d
mov r8, qword [rsp + 0x98]
call fcn.0047df60
mov rax, qword [rsp + 0x68]
movsxd rax, dword [rax]
mov rcx, qword [rsp + 0x60]
cmp dword [rcx], eax
jle 0x4be37a
lea ecx, [rax + 1]
mov dword [rbx + 0x90], ecx
mov rcx, qword [rbx + 0x88]
lea rax, [rax + rax*2]
mov qword [rcx + rax*8], 8
mov dword [rcx + rax*8 + 8], esi
mov dword [rcx + rax*8 + 0xc], 0
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4be395
mov dword [rsp + 0x20], 0
mov rcx, rbx
mov edx, 8
xor r8d, r8d
mov r9d, esi
call fcn.0047df60
mov r14, rdi
cmp byte [r13 + 0x30], 0
mov rax, qword [rsp + 0x68]
movsxd rax, dword [rax]
mov rcx, qword [rsp + 0x60]
mov ecx, dword [rcx]
js 0x4be3e0
cmp ecx, eax
mov rsi, qword [rsp + 0x98]
mov rdi, qword [rsp + 0xb8]
jle 0x4be42e
lea ecx, [rax + 1]
mov dword [rbx + 0x90], ecx
mov rcx, qword [rbx + 0x88]
lea rax, [rax + rax*2]
mov qword [rcx + rax*8], 0x87
jmp 0x4be410
cmp ecx, eax
mov rsi, qword [rsp + 0x98]
mov rdi, qword [rsp + 0xb8]
jle 0x4be440
lea ecx, [rax + 1]
mov dword [rbx + 0x90], ecx
mov rcx, qword [rbx + 0x88]
lea rax, [rax + rax*2]
mov qword [rcx + rax*8], 0x4b
mov edx, dword [rsp + 0xd0]
mov dword [rcx + rax*8 + 8], edx
mov dword [rcx + rax*8 + 0xc], 0
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4be460
mov dword [rsp + 0x20], 0
mov rcx, rbx
mov edx, 0x87
jmp 0x4be450
mov dword [rsp + 0x20], 0
mov rcx, rbx
mov edx, 0x4b
xor r8d, r8d
mov r9d, dword [rsp + 0xd0]
call fcn.0047df60
mov r9, qword [rbp + 0x10]
lea eax, [rsi - 1]
mov dword [rsp + 0x20], eax
mov rcx, rbx
mov rdx, qword [rsp + 0xe0]
lea r8, [0x00604e93]
call fcn.0051bbb0
movsxd rax, dword [rbx + 0x90]
cmp dword [rbx + 0x94], eax
jle 0x4be4cb
lea ecx, [rax + 1]
mov dword [rbx + 0x90], ecx
mov rcx, qword [rbx + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x54
mov edx, dword [rsp + 0xb0]
mov dword [rcx + rax*8 + 4], edx
mov qword [rcx + rax*8 + 8], 4
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4be4ee
mov dword [rsp + 0x20], 0
mov rcx, rbx
mov edx, 0x54
mov r8d, dword [rsp + 0xb0]
mov r9d, 4
call fcn.0047df60
mov rcx, qword [rbx + 0x18]
neg edi
mov eax, dword [rcx + 0x44]
add eax, dword [rcx + 0x48]
jns 0x4be033
mov rdx, rbx
mov r8d, edi
call fcn.004d3e00
jmp 0x4be044
mov rax, qword [rsp + 0xd8]
lea r9d, [rax + 1]
mov rax, qword [rsp + 0x68]
movsxd rax, dword [rax]
mov rcx, qword [rsp + 0x60]
cmp dword [rcx], eax
jle 0x4be561
lea ecx, [rax + 1]
mov dword [rbx + 0x90], ecx
mov rcx, qword [rbx + 0x88]
lea rax, [rax + rax*2]
mov qword [rcx + rax*8], 0x26
mov dword [rcx + rax*8 + 8], r9d
mov dword [rcx + rax*8 + 0xc], 0
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4be579
mov dword [rsp + 0x20], 0
mov rcx, rbx
mov edx, 0x26
xor r8d, r8d
call fcn.0047df60
mov eax, dword [rbx + 0x90]
mov rcx, qword [rbx]
cmp byte [rcx + 0x67], 0
lea rcx, [0x0213b3e8]
jne 0x4be5b1
lea ecx, [rax - 1]
mov rdx, qword [rsp + 0xd8]
test edx, edx
cmovns ecx, edx
movsxd rcx, ecx
lea rcx, [rcx + rcx*2]
shl rcx, 3
add rcx, qword [rbx + 0x88]
mov dword [rcx + 8], eax
mov rdi, qword [rsp + 0xf8]
test rdi, rdi
mov rcx, qword [rsp + 0x78]
jne 0x4bd855
jmp 0x4c3a5f
cmp al, 0x25
jae 0x4bee78
test rcx, rcx
je 0x4c006c
cmp byte [r15 + 0x65], 0
je 0x4c0509
cmp byte [rsp + 0x98], 0
jne 0x4c3a5f
mov rcx, qword [rsp + 0x90]
xor edx, edx
mov r8b, 1
call fcn.0051b700
add al, 1
not al
or al, 0xf8
cmp al, 0xff
not al
movzx eax, al
mov ecx, 1
cmovne ecx, eax
mov rax, qword [rsp + 0xa0]
shl rax, 5
mov rdx, qword [rsp + 0x70]
mov byte [rdx + rax + 0x10], cl
mov byte [rdx + rax + 0x11], 1
mov rax, qword [rsp + 0x80]
cmp byte [rax + 0x65], 0
je 0x4c3a5f
mov rax, qword [rsp + 0x80]
mov esi, dword [rax + 0x28]
test esi, esi
jle 0x4c3a5f
movabs rax, 0x13d3ed49a61e747c
mov rcx, qword [rsp + 0x80]
mov rdi, qword [rcx + 0x20]
lea ebx, [rsi + 1]
add rdi, 0x10
mov r14d, eax
not r14d
or r14d, eax
jmp 0x4be69a
add esi, 0xffffffff
add ebx, 0xffffffff
add rdi, 0x20
cmp ebx, 1
jle 0x4c3a5f
mov rcx, qword [rdi - 8]
test rcx, rcx
je 0x4be687
movzx eax, byte [rdi]
mov rdx, qword [rsp + 0x80]
mov edx, dword [rdx + 0x30]
and edx, r14d
and edx, 0x38
mov ebp, edx
and ebp, eax
xor edx, eax
or edx, ebp
call fcn.0047c6a0
jmp 0x4be687
cmp al, 0xb
mov rax, qword [rsp + 0x78]
jae 0x4beef0
mov dword [rax + 0x38], 1
xor esi, esi
lea r14, [0x00607560]
movaps xmm6, xmmword [0x005fa500]
movaps xmm7, xmmword [0x005fa4f0]
xor ebx, ebx
mov rdi, qword [rsp + 0x68]
jmp 0x4be735
lea ecx, [rax + 1]
mov rdx, qword [rsp + 0x58]
mov dword [rdx + 0x90], ecx
mov rcx, qword [rdx + 0x88]
lea rax, [rax + rax*2]
movups xmmword [rcx + rax*8], xmm7
mov qword [rcx + rax*8 + 0x10], 0
add rbx, 1
add rsi, 8
cmp rsi, 0x120
je 0x4be80b
mov eax, dword [rdi]
mov rcx, qword [rsp + 0x60]
cmp dword [rcx], eax
jle 0x4be76b
movsxd rcx, eax
lea edx, [rcx + 1]
mov rbp, qword [rsp + 0x58]
mov dword [rbp + 0x90], edx
mov rdx, qword [rbp + 0x88]
lea rcx, [rcx + rcx*2]
movups xmmword [rdx + rcx*8], xmm6
mov qword [rdx + rcx*8 + 0x10], 0
jmp 0x4be78e
mov dword [rsp + 0x20], 0
mov rbp, qword [rsp + 0x58]
mov rcx, rbp
mov edx, 0x75
xor r8d, r8d
mov r9d, 1
call fcn.0047df60
mov rcx, qword [rbp]
cmp byte [rcx + 0x67], 0
jne 0x4be7c3
mov r8, qword [rsi + r14]
test eax, eax
jns 0x4be7a5
mov eax, dword [rdi]
add eax, 0xffffffff
cdqe
lea rdx, [rax + rax*2]
shl rdx, 3
mov rcx, qword [rsp + 0x58]
add rdx, qword [rcx + 0x88]
xor r9d, r9d
call fcn.0047e190
movsxd rax, dword [rdi]
mov rcx, qword [rsp + 0x60]
cmp dword [rcx], eax
jg 0x4be6fa
mov dword [rsp + 0x20], 0
mov rcx, qword [rsp + 0x58]
mov edx, 0x54
mov r8d, 1
mov r9d, 1
call fcn.0047df60
add rbx, 1
add rsi, 8
cmp rsi, 0x120
jne 0x4be735
mov eax, dword [rdi]
cmp eax, 2
jl 0x4c3a5f
mov rcx, qword [rsp + 0x58]
mov rcx, qword [rcx + 0x88]
add rax, 0xffffffffffffffff
lea rdx, [rcx + 0x18]
mov ebp, 1
cmp byte [rdx], 0xa6
je 0x4bfaca
add rbp, 1
add rdx, 0x18
add rax, 0xffffffffffffffff
jne 0x4be82f
jmp 0x4c3a5f
cmp al, 0x20
jae 0x4befaf
mov rax, qword [rsp + 0xa0]
shl rax, 5
mov rcx, qword [rsp + 0x70]
mov rsi, qword [rcx + rax + 8]
mov rcx, qword [rsp + 0x90]
test rcx, rcx
je 0x4c00ae
mov dword [rsp + 0x88], 0
lea rdx, [rsp + 0x88]
call fcn.0047a900
mov edx, dword [rsp + 0x88]
mov dword [r15 + 0x74], edx
mov rcx, rsi
xor r8d, r8d
xor r9d, r9d
call fcn.00427310
cmp eax, 7
jne 0x4c3a5f
mov rax, qword [rsp + 0x80]
cmp byte [rax + 0x67], 0
jne 0x4c3a5f
mov rax, qword [rsp + 0x80]
cmp byte [rax + 0x68], 0
jne 0x4c3a5f
mov rax, qword [rsp + 0x80]
mov byte [rax + 0x67], 1
cmp dword [rax + 0xe4], 0
jle 0x4be8ff
mov rax, qword [rsp + 0x80]
mov dword [rax + 0x198], 1
mov rax, qword [rsp + 0x80]
add dword [rax + 0x1a0], 1
mov word [rax + 0x1a4], 0
mov rcx, qword [rax + 0x160]
test rcx, rcx
je 0x4c3a5f
lea rdx, [0x005fc480]
call fcn.00419aa0
mov rax, qword [rsp + 0x80]
mov rax, qword [rax + 0x160]
mov dword [rax + 0x18], 7
jmp 0x4c3a5f
cmp al, 0x15
jae 0x4befe6
test rcx, rcx
je 0x4c3a5f
mov rcx, qword [rsp + 0x80]
mov rsi, qword [rsp + 0x90]
mov rdx, rsi
mov r8, rbp
call fcn.0047a1e0
mov rdi, rax
test rax, rax
je 0x4c0515
mov rax, qword [rdi + 0x30]
test rax, rax
je 0x4c2f97
mov rcx, qword [rsp + 0xa8]
mov rdx, qword [rcx]
add rdx, 0x18
mov ecx, 0xffffffff
xor ebp, ebp
add rbp, 1
add ecx, 1
lea rbx, [rdx + 0x20]
cmp qword [rdx], rax
mov rdx, rbx
jne 0x4be9a9
jmp 0x4c2f9c
test bpl, bpl
je 0x4c3d0b
add rcx, 1
movzx ebp, byte [rsi + rcx]
movzx ebx, byte [rcx + rdx]
cmp bpl, bl
je 0x4be9c1
movzx eax, byte [rbp + r9]
cmp al, byte [rbx + r9]
je 0x4be9ca
xor ecx, ecx
lea rdx, [0x00605014]
lea r8, [0x00604fa0]
jmp 0x4bf1af
test r14, r14
je 0x4bea39
lea rdx, [rsp + 0x88]
mov rcx, r14
call fcn.00428850
test eax, eax
jne 0x4bea39
mov rax, qword [rsp + 0x88]
test rax, rax
js 0x4bea39
mov cl, 1
test cl, cl
je 0x4bea39
mov ecx, eax
xor ecx, 0x80000000
and ecx, eax
mov dword [r15 + 0x2e0], ecx
movsxd rsi, dword [r15 + 0x2e0]
jmp 0x4bffdd
test r10, r10
je 0x4bea8d
lea rdx, [rsp + 0x88]
mov rcx, r10
call fcn.00428850
test eax, eax
jne 0x4bea8d
mov rax, qword [rsp + 0x88]
test rax, rax
js 0x4bea8d
mov cl, 1
test cl, cl
je 0x4bea8d
mov ecx, eax
xor ecx, 0x80000000
and ecx, eax
cmp ecx, 8
mov eax, 8
cmovb eax, ecx
mov dword [r15 + 0xb4], eax
movsxd rsi, dword [r15 + 0xb4]
jmp 0x4bfd9b
test r10, r10
je 0x4c35bb
mov dword [rsp + 0x88], 0
lea rdx, [rsp + 0x88]
mov rcx, r10
call fcn.0047a900
mov esi, dword [rsp + 0x88]
test esi, esi
jle 0x4c0280
mov rcx, qword [r15 + 0x18]
test rcx, rcx
je 0x4c064b
call qword [0x005f6090]
mov rcx, qword [r15 + 0x18]
lea rax, [0x00423bd0]
mov qword [r15 + 0x168], rax
mov qword [r15 + 0x170], rsi
test rcx, rcx
jne 0x4c02b8
jmp 0x4c35bb
mov dword [rsp + 0x30], 0xfffffff3
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
mov rcx, rbx
mov edx, 0x48
xor r8d, r8d
mov r9d, 1
call fcn.004c62a0
movsxd rax, dword [rbp]
jmp 0x4c3a0b
mov dword [rsp + 0x20], 0
mov rcx, rbx
mov edx, 0x47
mov r8d, r14d
mov r9d, 1
call fcn.0047df60
mov esi, dword [r15]
mov rax, qword [rsp + 0x60]
cmp dword [rax], esi
jle 0x4bf04e
movsxd rax, esi
lea ecx, [rax + 1]
mov dword [rbx + 0x90], ecx
mov rcx, qword [rbx + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x3d
mov rdx, qword [rsp + 0xb0]
mov dword [rcx + rax*8 + 4], edx
xorps xmm0, xmm0
movups xmmword [rcx + rax*8 + 8], xmm0
jmp 0x4bf070
test r10, r10
je 0x4c00c4
cmp byte [r10], 0
je 0x4bebf9
mov rcx, qword [r15]
lea r9, [rsp + 0x88]
mov rdx, r10
mov r8d, 1
call qword [rcx + 0x38]
test eax, eax
setne dl
sete al
cmp dword [rsp + 0x88], 0
sete bl
setne cl
cmp dl, bl
jne 0x4c003d
or al, cl
xor al, 1
jne 0x4c003d
mov r15, qword [rsp + 0x80]
cmp byte [r15 + 0x66], 1
ja 0x4c3fac
mov rax, qword [rsp + 0x78]
mov rsi, qword [rax]
mov rax, qword [rsi + 0x20]
mov rcx, qword [rax + 0x28]
test rcx, rcx
je 0x4c3fac
cmp byte [rsi + 0x65], 0
je 0x4bec2d
cmp byte [rcx + 0x10], 0
je 0x4c3f93
lea rdx, [0x00605092]
mov rcx, qword [rsp + 0x78]
call fcn.00419aa0
jmp 0x4c3fac
test r14, r14
je 0x4c00cd
mov dword [rsp + 0x88], 0
lea rdx, [rsp + 0x88]
mov rcx, r14
call fcn.0047a900
mov edi, dword [rsp + 0x88]
shl rbp, 5
mov rcx, qword [rsp + 0x70]
mov rax, qword [rcx + rbp + 0x18]
mov dword [rax + 0x74], edi
mov rsi, qword [rcx + rbp + 8]
mov rbx, qword [rsi + 8]
cmp byte [rsi + 0x11], 0
je 0x4beca0
add dword [rsi + 0x14], 1
cmp byte [rsi + 0x12], 0
jne 0x4beca0
mov rcx, rsi
call fcn.0043e9d0
mov rax, qword [rbx]
mov rdx, qword [rax + 0x120]
mov dword [rdx + 0x1c], edi
mov rcx, qword [rdx + 0x40]
mov rbp, qword [0x005f60e0]
test edi, edi
jns 0x4c37ea
movsxd rax, edi
shl rax, 0xa
mov ebx, dword [rdx + 0x28]
add ebx, dword [rdx + 0x24]
neg rax
movsxd rdi, ebx
mov rdx, rax
or rdx, rdi
shr rdx, 0x20
je 0x4c37d8
cqo
idiv rdi
jmp 0x4c37dc
mov qword [rsp + 0x88], 0
mov rcx, qword [rsp + 0x78]
mov rax, qword [rcx + 0xa0]
test rax, rax
cmove rax, rcx
mov edx, 1
mov r14, qword [rsp + 0xb0]
mov ecx, r14d
shl edx, cl
mov ebx, 0xfffffffe
rol ebx, cl
mov ebp, dword [rax + 0x74]
mov ecx, ebp
not ecx
or ebx, ecx
cmp ebx, 0xffffffff
jne 0x4bed7a
mov ebx, edx
not ebx
mov edi, ecx
and edi, 0x71293348
and ebp, 0x8ed6ccb7
or ebp, edi
or ecx, ebx
and ebx, 0x71293348
and edx, 0x8ed6ccb7
or edx, ebx
xor edx, ebp
not ecx
or ecx, edx
mov dword [rax + 0x74], ecx
cmp byte [rsp + 0x98], 0
je 0x4bed7a
mov rcx, rax
call fcn.004306d0
mov r8, qword [rsp + 0xe8]
mov rax, qword [rsp + 0x78]
mov esi, dword [rax + 0x38]
add esi, 1
mov dword [rax + 0x38], esi
mov al, byte [r8]
not al
or al, 0x20
cmp al, 0xaf
jne 0x4bfae0
mov rbx, qword [rsp + 0x68]
movsxd rax, dword [rbx]
mov rcx, qword [rsp + 0x60]
cmp dword [rcx], eax
jle 0x4c0457
lea ecx, [rax + 1]
mov rdi, qword [rsp + 0x58]
mov dword [rdi + 0x90], ecx
mov rcx, qword [rdi + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0xb1
mov dword [rcx + rax*8 + 4], r14d
mov dword [rcx + rax*8 + 8], esi
mov dword [rcx + rax*8 + 0xc], 0
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4c0492
test rcx, rcx
je 0x4c3a5f
mov rcx, qword [rsp + 0x80]
mov rdx, qword [rsp + 0x90]
call fcn.00426380
mov qword [rsp + 0x70], rax
test rax, rax
je 0x4c3a5f
mov rax, qword [rsp + 0x70]
cmp byte [rax + 0x3f], 0
jne 0x4c3a5f
mov rax, qword [rsp + 0x70]
mov r13, qword [rax + 0x48]
test r13, r13
je 0x4c3a5f
mov rax, qword [rsp + 0x70]
mov rax, qword [rax + 0x60]
test rax, rax
je 0x4c3e07
mov rcx, qword [rsp + 0xa8]
mov rdx, qword [rcx]
add rdx, 0x18
mov ecx, 0xffffffff
xor ebp, ebp
add rbp, 1
add ecx, 1
lea rbx, [rdx + 0x20]
cmp qword [rdx], rax
mov rdx, rbx
jne 0x4bee60
jmp 0x4c3e0c
test rcx, rcx
je 0x4c3a5f
mov rdi, qword [rsp + 0x78]
mov rcx, rdi
mov rdx, rsi
call fcn.004e1790
mov rcx, rdi
mov edx, 2
mov r8, qword [rsp + 0x90]
mov r9, rsi
call fcn.004190c0
mov qword [rsp + 0x60], rax
test rax, rax
je 0x4c3a5f
mov rax, qword [rsp + 0x60]
mov rax, qword [rax + 0x10]
test rax, rax
je 0x4beee4
mov rdx, rax
mov eax, dword [rdx + 0x64]
mov ecx, eax
xor ecx, 0xfffffffc
and ecx, eax
cmp ecx, 2
je 0x4c32c1
mov rdx, qword [rdx + 0x28]
test rdx, rdx
jne 0x4beec8
xor eax, eax
mov qword [rsp + 0x68], rax
jmp 0x4c32c6
test rcx, rcx
je 0x4c010a
cmp byte [rcx], 0
je 0x4bef42
mov rcx, qword [r15]
lea r9, [rsp + 0x88]
mov rdx, qword [rsp + 0x90]
mov r8d, 1
call qword [rcx + 0x38]
test eax, eax
setne dl
sete al
cmp dword [rsp + 0x88], 0
sete bl
setne cl
cmp dl, bl
jne 0x4c003d
or al, cl
xor al, 1
jne 0x4c003d
mov rsi, qword [0x0213b210]
test rsi, rsi
je 0x4c371a
cmp dword [0x005f6010], 0
je 0x4c3711
mov rcx, qword [0x0213b0e8]
test rcx, rcx
je 0x4bef71
call qword [0x005f6090]
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 0x4c371a
call qword [0x005f60a0]
jmp 0x4c371a
xor edi, edi
lea rbp, [0x00604cae]
xor ebx, ebx
mov r9, qword [rdi + rsi]
mov rcx, qword [rsp + 0x58]
mov edx, 1
mov r8, rbp
call fcn.0051bbb0
add rbx, 1
add rdi, 0x18
cmp rdi, 0x648
jne 0x4befba
jmp 0x4c3a5f
test rcx, rcx
je 0x4c3a5f
mov rcx, qword [rsp + 0x80]
mov rdx, qword [rsp + 0x90]
mov r8, rbp
call fcn.00426380
test rax, rax
je 0x4c3a5f
mov r14, rax
mov rax, qword [rax + 0x60]
test rax, rax
je 0x4c3165
mov rcx, qword [rsp + 0xa8]
mov rdx, qword [rcx]
add rdx, 0x18
mov ecx, 0xffffffff
xor ebp, ebp
add rbp, 1
add ecx, 1
lea rbx, [rdx + 0x20]
cmp qword [rdx], rax
mov rdx, rbx
jne 0x4bf036
jmp 0x4c316a
mov dword [rsp + 0x20], 0
mov rcx, rbx
mov edx, 0x3d
mov r8, qword [rsp + 0xb0]
xor r9d, r9d
call fcn.0047df60
mov esi, eax
movsxd rax, dword [r15]
mov rcx, qword [rsp + 0x60]
cmp dword [rcx], eax
jle 0x4bf0a8
lea ecx, [rax + 1]
mov dword [rbx + 0x90], ecx
mov rcx, qword [rbx + 0x88]
lea rax, [rax + rax*2]
movabs rdx, 0x100000054
mov qword [rcx + rax*8], rdx
xorps xmm0, xmm0
movups xmmword [rcx + rax*8 + 8], xmm0
jmp 0x4bf0c6
mov dword [rsp + 0x20], 0
mov rcx, rbx
mov edx, 0x54
mov r8d, 1
xor r9d, r9d
call fcn.0047df60
movsxd rax, dword [r15]
mov rcx, qword [rsp + 0x60]
cmp dword [rcx], eax
jle 0x4bf0fc
lea ecx, [rax + 1]
mov dword [rbx + 0x90], ecx
mov rcx, qword [rbx + 0x88]
lea rax, [rax + rax*2]
movaps xmm0, xmmword [0x005fa5b0]
movups xmmword [rcx + rax*8], xmm0
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4bf11d
mov dword [rsp + 0x20], 0
mov rcx, rbx
mov edx, 0x56
mov r8d, 1
mov r9d, 0xffffffff
call fcn.0047df60
movsxd rax, dword [r15]
mov rcx, qword [rsp + 0x60]
cmp dword [rcx], eax
jle 0x4bf162
lea ecx, [rax + 1]
mov dword [rbx + 0x90], ecx
mov rcx, qword [rbx + 0x88]
lea rax, [rax + rax*2]
movabs rdx, 0x100000031
mov qword [rcx + rax*8], rdx
mov dword [rcx + rax*8 + 8], esi
mov dword [rcx + rax*8 + 0xc], 0
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4bf180
mov dword [rsp + 0x20], 0
mov rcx, rbx
mov edx, 0x31
mov r8d, 1
mov r9d, esi
call fcn.0047df60
mov eax, dword [rbx + 0x90]
mov rcx, qword [rbx]
cmp byte [rcx + 0x67], 0
je 0x4bf88d
lea rcx, [0x0213b3e8]
mov dword [rcx + 8], eax
jmp 0x4c3a5f
test bpl, bpl
je 0x4c3d0b
add rcx, 1
movzx ebp, byte [rsi + rcx]
movzx ebx, byte [rcx + rdx]
cmp bpl, bl
je 0x4bf1a2
movzx eax, byte [rbp + r9]
cmp al, byte [rbx + r9]
je 0x4bf1ab
xor ecx, ecx
lea rdx, [0x0060501d]
lea r8, [0x00604fb0]
lea rdi, [0x005fade0]
jmp 0x4bfe19
mov rax, qword [rsp + 0x78]
add dword [rax + 0x38], 2
lea r8, [0x00604d80]
mov rcx, rbx
mov edx, 9
call fcn.00419d20
mov rcx, qword [rsp + 0xb0]
mov dword [rax + 4], ecx
mov dword [rax + 0x1c], ecx
mov dword [rax + 0x94], 0xfffff830
jmp 0x4c3a5f
mov rcx, qword [0x0213b0e8]
test rcx, rcx
je 0x4c0310
call qword [0x005f6090]
mov rcx, qword [0x0213b0e8]
mov rsi, qword [0x0213b0f8]
test rcx, rcx
je 0x4bc468
call qword [0x005f60a0]
jmp 0x4bc468
cmp byte [rdi + 0x11], 0
je 0x4bf26e
add dword [rdi + 0x14], 1
cmp byte [rdi + 0x12], 0
jne 0x4bf26e
mov rcx, rdi
call fcn.0043e9d0
mov rax, qword [rdi + 8]
cmp byte [rax + 0x21], 0
mov rbp, qword [rsp + 0x68]
je 0x4c031c
cmp byte [rax + 0x22], 1
mov esi, 2
sbb rsi, 0
jmp 0x4c031e
mov rdx, qword [rsp + 0x78]
mov r13, qword [rdx]
cmp byte [r13 + 0xc5], 0
je 0x4c033f
mov rax, qword [rdx]
movzx esi, byte [rax + 0x64]
cmp rsi, 8
je 0x4c3a5f
mov rax, qword [rsp + 0x68]
mov eax, dword [rax]
mov rcx, qword [rsp + 0x60]
cmp dword [rcx], eax
jle 0x4c2d41
movsxd rcx, eax
lea edx, [rcx + 1]
mov rdi, qword [rsp + 0x58]
mov dword [rdi + 0x90], edx
mov rdx, qword [rdi + 0x88]
lea rcx, [rcx + rcx*2]
movaps xmm0, xmmword [0x005fa500]
movups xmmword [rdx + rcx*8], xmm0
mov qword [rdx + rcx*8 + 0x10], 0
jmp 0x4c2d64
mov ebp, 0xfffe
mov rdx, qword [rsp + 0xc0]
mov rbx, qword [rsp + 0x78]
mov eax, dword [rbx + 0x34]
mov qword [rsp + 0x98], rax
add eax, 1
mov dword [rbx + 0x34], eax
mov rcx, qword [rsp + 0xb0]
mov eax, ecx
test rdx, rdx
jne 0x4bf343
mov rax, qword [rsp + 0x80]
mov eax, dword [rax + 0x28]
add eax, 0xffffffff
cmp ecx, eax
mov rdi, qword [rsp + 0x58]
jle 0x4bf386
mov rax, qword [rsp + 0x68]
movsxd rax, dword [rax]
mov rcx, qword [rsp + 0x60]
cmp dword [rcx], eax
jle 0x4bf7db
lea ecx, [rax + 1]
mov dword [rdi + 0x90], ecx
mov rcx, qword [rdi + 0x88]
lea rax, [rax + rax*2]
mov byte [rcx + rax*8], 0xa6
xorps xmm0, xmm0
movups xmmword [rcx + rax*8 + 1], xmm0
jmp 0x4c3a33
not ebp
or ebp, 0xfffffffe
mov edx, ebp
not edx
mov dword [rsp + 0x70], edx
and ebp, 0x1f6c7ae7
xor ebp, 0x1f6c7ae5
mov qword [rsp + 0xb8], rbp
movsxd rbp, ecx
add eax, 1
mov dword [rsp + 0xa0], eax
jmp 0x4bf3c5
add rbp, 1
mov eax, dword [rsp + 0xa0]
cmp eax, ebp
je 0x4bf34c
cmp rbp, 1
je 0x4bf3b6
mov rax, qword [rbx + 0xa0]
test rax, rax
cmove rax, rbx
mov edx, 1
mov ecx, ebp
shl edx, cl
mov ebx, dword [rax + 0x74]
mov ecx, ebx
btc ecx, ebp
not ecx
test ecx, ebx
jne 0x4bf421
mov ecx, ebx
not ecx
mov esi, edx
not esi
mov edi, ecx
and edi, 0x558cc0c9
and ebx, 0xaa733f36
or ebx, edi
or ecx, esi
and esi, 0x558cc0c9
and edx, 0xaa733f36
or edx, esi
xor edx, ebx
not ecx
or ecx, edx
mov dword [rax + 0x74], ecx
mov rax, qword [rsp + 0xa8]
mov rax, qword [rax]
mov r12, rbp
shl r12, 5
mov rax, qword [rax + r12 + 0x18]
mov r14, qword [rax + 0x10]
test r14, r14
mov rdi, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x78]
jne 0x4bf484
jmp 0x4bf3b6
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x30], 0xfffffffa
mov dword [rsp + 0x20], 0
mov rcx, rdi
mov edx, 0x94
xor r8d, r8d
xor r9d, r9d
call fcn.004c62a0
mov r14, qword [r14]
test r14, r14
je 0x4bf3b6
mov r15, qword [r14 + 0x10]
mov eax, dword [r15 + 0x30]
mov ecx, eax
not ecx
or ecx, 0xfffffeff
cmp ecx, 0xffffffff
je 0x4bf478
movzx r13d, word [r15 + 0x3a]
mov rcx, qword [r15 + 0x10]
test rcx, rcx
je 0x4bf4c3
nop dword [rax]
cmp byte [rcx + 0x64], 0
jns 0x4bf6ff
mov rcx, qword [rcx + 0x28]
test rcx, rcx
jne 0x4bf4b0
add r13d, 0x2e
test r13w, r13w
je 0x4bf6ff
mov rdx, qword [rbx]
mov rcx, rbx
mov rbx, qword [rbx + 0x10]
mov rdx, qword [rdx + 0x20]
mov rdx, qword [rdx + r12 + 8]
cmp byte [rdx + 0x11], 0
je 0x4bf504
mov rax, qword [r15]
mov r8d, dword [r15 + 0x28]
mov qword [rsp + 0x20], rax
mov edx, ebp
xor r9d, r9d
call fcn.004c63a0
mov eax, dword [r15 + 0x30]
test al, al
js 0x4bf564
mov r9d, dword [r15 + 0x28]
movsx esi, word [r15 + 0x38]
mov eax, dword [rbx + 0x90]
cmp dword [rbx + 0x94], eax
jle 0x4bf5d5
movsxd rcx, eax
lea edx, [rcx + 1]
mov dword [rbx + 0x90], edx
mov rdx, qword [rbx + 0x88]
lea rcx, [rcx + rcx*2]
mov dword [rdx + rcx*8], 0x70
mov rdi, qword [rsp + 0x98]
mov dword [rdx + rcx*8 + 4], edi
mov dword [rdx + rcx*8 + 8], r9d
mov dword [rdx + rcx*8 + 0xc], ebp
mov qword [rdx + rcx*8 + 0x10], 0
jmp 0x4bf5ee
mov rsi, qword [r15 + 0x10]
test rsi, rsi
je 0x4bf585
mov eax, dword [rsi + 0x64]
mov ecx, eax
xor ecx, 0xfffffffc
and ecx, eax
cmp ecx, 2
je 0x4bf587
mov rsi, qword [rsi + 0x28]
test rsi, rsi
jne 0x4bf56d
xor esi, esi
mov r9d, dword [rsi + 0x58]
movsxd rax, dword [rbx + 0x90]
cmp dword [rbx + 0x94], eax
jle 0x4bf613
lea ecx, [rax + 1]
mov dword [rbx + 0x90], ecx
mov rcx, qword [rbx + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x70
mov rdx, qword [rsp + 0x98]
mov dword [rcx + rax*8 + 4], edx
mov dword [rcx + rax*8 + 8], r9d
mov dword [rcx + rax*8 + 0xc], ebp
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4bf62c
mov dword [rsp + 0x20], ebp
mov rcx, rbx
mov edx, 0x70
mov r8, qword [rsp + 0x98]
call fcn.0047df60
mov rcx, qword [rbx]
cmp byte [rcx + 0x67], 0
jne 0x4bf67b
mov rcx, qword [rbx + 0x88]
cdqe
lea rax, [rax + rax*2]
mov byte [rcx + rax*8 + 1], 0xfd
mov dword [rcx + rax*8 + 0x10], esi
jmp 0x4bf67b
mov dword [rsp + 0x20], ebp
mov rcx, rbx
mov edx, 0x70
mov r8, qword [rsp + 0x98]
call fcn.0047df60
mov rcx, qword [rsp + 0x78]
mov rbx, qword [rcx + 0x10]
mov rdx, rsi
call fcn.004c65a0
test rax, rax
je 0x4bf67b
mov rcx, qword [rbx]
cmp byte [rcx + 0x67], 0
je 0x4bf65a
mov edx, 0xfffffff8
mov r8, rax
call fcn.00444fc0
jmp 0x4bf67b
mov rcx, qword [rbx + 0x88]
mov edx, dword [rbx + 0x90]
add edx, 0xffffffff
movsxd rdx, edx
lea rdx, [rdx + rdx*2]
mov byte [rcx + rdx*8 + 1], 0xf8
mov qword [rcx + rdx*8 + 0x10], rax
mov rax, qword [rsp + 0x68]
movsxd rcx, dword [rax]
mov rax, qword [rsp + 0xb8]
lea r9d, [rax + rcx]
movsx eax, r13w
mov rdx, qword [rsp + 0x60]
cmp dword [rdx], ecx
jle 0x4bf6dc
lea edx, [rcx + 1]
mov rdi, qword [rsp + 0x58]
mov dword [rdi + 0x90], edx
mov rdx, qword [rdi + 0x88]
lea rcx, [rcx + rcx*2]
mov dword [rdx + rcx*8], 0x20
mov rbx, qword [rsp + 0x98]
mov dword [rdx + rcx*8 + 4], ebx
mov dword [rdx + rcx*8 + 8], r9d
mov dword [rdx + rcx*8 + 0xc], eax
mov qword [rdx + rcx*8 + 0x10], 0
jmp 0x4bf6fa
mov dword [rsp + 0x20], eax
mov rdi, qword [rsp + 0x58]
mov rcx, rdi
mov edx, 0x20
mov r8, qword [rsp + 0x98]
call fcn.0047df60
mov rbx, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x80]
mov rax, qword [rcx + 0x20]
mov r8, qword [rax + r12]
mov r9, qword [r15]
lea rdx, [0x00605074]
call fcn.00419c10
cmp dword [rsp + 0x70], 0
je 0x4bf450
mov cl, byte [rbx + 0x1f]
test cl, cl
je 0x4bf742
add cl, 0xff
mov byte [rbx + 0x1f], cl
movzx ecx, cl
mov esi, dword [rbx + rcx*4 + 0xd8]
jmp 0x4bf74b
mov esi, dword [rbx + 0x38]
add esi, 1
mov dword [rbx + 0x38], esi
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x30], 0xfffffffa
mov dword [rsp + 0x20], 0
mov rcx, rdi
mov edx, 0x75
xor r8d, r8d
mov r9d, esi
call fcn.004c62a0
movsxd rax, dword [rdi + 0x90]
cmp dword [rdi + 0x94], eax
jle 0x4bf7b8
lea ecx, [rax + 1]
mov dword [rdi + 0x90], ecx
mov rcx, qword [rdi + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x54
mov dword [rcx + rax*8 + 4], esi
mov qword [rcx + rax*8 + 8], 1
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4bf478
mov dword [rsp + 0x20], 0
mov rcx, rdi
mov edx, 0x54
mov r8d, esi
mov r9d, 1
call fcn.0047df60
jmp 0x4bf478
mov dword [rsp + 0x20], 0
mov rcx, rdi
mov edx, 0xa6
xor r8d, r8d
xor r9d, r9d
jmp 0x4c3a5a
mov r14d, 0xffffffff
xor ebp, ebp
jmp 0x4bfe56
mov rax, qword [r15 + 0x30]
mov rcx, rax
xor rcx, 0xffffffffffffffdf
test rcx, rax
je 0x4c35cb
mov rax, qword [rsp + 0xa0]
shl rax, 5
mov rcx, qword [rsp + 0x70]
mov rsi, qword [rcx + rax + 8]
mov rdi, qword [rsi + 8]
cmp byte [rsi + 0x11], 0
je 0x4bf849
add dword [rsi + 0x14], 1
cmp byte [rsi + 0x12], 0
jne 0x4bf849
mov rcx, rsi
call fcn.0043e9d0
mov rax, qword [rdi]
mov rcx, qword [rax + 0x120]
movsxd rdi, dword [rcx + 0x1c]
test rdi, rdi
jns 0x4c398c
shl rdi, 0xa
mov ebp, dword [rcx + 0x28]
add ebp, dword [rcx + 0x24]
neg rdi
movsxd rbx, ebp
mov rax, rdi
or rax, rbx
shr rax, 0x20
je 0x4c3978
mov rax, rdi
cqo
idiv rbx
jmp 0x4c397e
lea ecx, [rax - 1]
test esi, esi
cmovns ecx, esi
movsxd rcx, ecx
lea rcx, [rcx + rcx*2]
shl rcx, 3
add rcx, qword [rbx + 0x88]
mov dword [rcx + 8], eax
jmp 0x4c3a5f
test rcx, rcx
je 0x4c04e3
call qword [0x005f6090]
mov rcx, qword [r15 + 0x18]
mov dword [r15 + 0x2e4], 0
xorps xmm0, xmm0
movups xmmword [r15 + 0x280], xmm0
mov dword [r15 + 0x290], 0
test rcx, rcx
je 0x4bffd6
call qword [0x005f60a0]
jmp 0x4bffd6
mov dword [rsp + 0x20], ebp
mov rcx, qword [rsp + 0x58]
mov edx, 0x64
mov r8, qword [rsp + 0xb0]
mov r9d, 3
call fcn.0047df60
mov rcx, qword [rsp + 0xa0]
shl rcx, 5
mov rdx, qword [rsp + 0x70]
mov rax, qword [rdx + rcx + 0x18]
mov dword [rax + 0x74], ebp
mov rdi, qword [rdx + rcx + 8]
mov rbx, qword [rdi + 8]
cmp byte [rdi + 0x11], 0
je 0x4bf952
add dword [rdi + 0x14], 1
cmp byte [rdi + 0x12], 0
jne 0x4bf952
mov rcx, rdi
call fcn.0043e9d0
mov rax, qword [rbx]
mov rax, qword [rax + 0x120]
mov dword [rax + 0x1c], ebp
mov rcx, qword [rax + 0x40]
mov edx, ebp
call qword [0x005f60e0]
cmp byte [rdi + 0x11], 0
je 0x4c3a5f
add dword [rdi + 0x14], 0xffffffff
jne 0x4c3a5f
mov rcx, rdi
call fcn.0043ea70
jmp 0x4c3a5f
xor eax, eax
lea rcx, [0x00605067]
jmp 0x4bf9ab
movzx edx, byte [rdx + r9]
cmp dl, byte [rbp + r9]
jne 0x4c02c3
add rax, 1
movzx edx, byte [r14 + rax]
movzx ebp, byte [rax + rcx]
cmp dl, bpl
jne 0x4bf997
test dl, dl
jne 0x4bf9a7
mov esi, 1
jmp 0x4c2e24
mov edx, 1
xor r8d, r8d
call fcn.0051b700
xor r14d, r14d
test al, al
setne r14b
mov bpl, 1
cmp dword [rdi + 8], 0
mov rdi, qword [rsp + 0x58]
jne 0x4bfe56
cmp dword [r15 + 0x28], 0
jle 0x4bfe4c
lea eax, [r14*4]
mov ebx, 8
xor esi, esi
movzx r13d, ax
not r13d
mov r15d, r13d
and r15d, 0xffff8a4f
mov rbp, qword [rsp + 0xa8]
jmp 0x4bfa41
add rsi, 1
mov rax, qword [rsp + 0x80]
movsxd rax, dword [rax + 0x28]
add rbx, 0x20
cmp rsi, rax
jge 0x4bfe4c
mov rax, qword [rbp]
mov rdi, qword [rax + rbx]
test rdi, rdi
je 0x4bfa24
cmp byte [rdi + 0x11], 0
je 0x4bfa70
add dword [rdi + 0x14], 1
mov r8b, 1
cmp byte [rdi + 0x12], 0
jne 0x4bfa73
mov rcx, rdi
call fcn.0043e9d0
movzx r8d, byte [rdi + 0x11]
jmp 0x4bfa73
xor r8d, r8d
mov rcx, qword [rdi + 8]
mov ebp, dword [rcx + 0x28]
mov edx, ebp
xor edx, 0xc
and edx, ebp
mov ebp, edx
not ebp
mov eax, ebp
and eax, 0xffff8a4f
and edx, 0x75b0
or edx, eax
xor edx, r15d
or ebp, r13d
not ebp
or ebp, edx
mov word [rcx + 0x28], bp
test r8b, r8b
mov rbp, qword [rsp + 0xa8]
je 0x4bfa24
add dword [rdi + 0x14], 0xffffffff
jne 0x4bfa24
mov rcx, rdi
call fcn.0043ea70
jmp 0x4bfa24
mov byte [rcx + 0x18], 0xb8
jmp 0x4c3a5f
xor r9d, r9d
mov rsi, qword [rsp + 0x68]
jmp 0x4c365f
cmp qword [rsp + 0x90], 0
je 0x4bfb08
lea rdx, [rsp + 0x88]
mov rcx, qword [rsp + 0x90]
call fcn.00428850
test eax, eax
je 0x4c3572
mov qword [rsp + 0x88], 0
xor eax, eax
mov rbx, qword [rsp + 0x68]
movsxd rcx, dword [rbx]
mov rdx, qword [rsp + 0x60]
cmp dword [rdx], ecx
jle 0x4c0471
lea edx, [rcx + 1]
mov rdi, qword [rsp + 0x58]
mov dword [rdi + 0x90], edx
mov rdx, qword [rdi + 0x88]
lea rcx, [rcx + rcx*2]
mov dword [rdx + rcx*8], 0xb2
mov rbp, qword [rsp + 0xb0]
mov dword [rdx + rcx*8 + 4], ebp
mov dword [rdx + rcx*8 + 8], esi
mov dword [rdx + rcx*8 + 0xc], eax
mov qword [rdx + rcx*8 + 0x10], 0
jmp 0x4c0492
xor r14d, r14d
jmp 0x4c40d3
call fcn.00402ec0
mov rdi, 0xffffffffffffffff
test eax, eax
jne 0x4c3b04
mov rcx, qword [0x0213b0e8]
test rcx, rcx
je 0x4c3af3
call qword [0x005f6090]
mov rcx, qword [0x0213b0e8]
mov rdi, qword [0x0213b0f8]
test rcx, rcx
je 0x4c3afa
call qword [0x005f60a0]
jmp 0x4c3afa
cmp dword [rsp + 0xf0], 0
js 0x4c0873
mov rax, qword [rbp]
mov ecx, dword [rsp + 0xf0]
shl rcx, 5
mov r9, qword [rax + rcx]
jmp 0x4c0876
mov rax, qword [0x005f6138]
mov qword [rsp + 0xc8], rax
mov rcx, qword [rsp + 0xb8]
cmp dword [rcx + 8], 0
jne 0x4bd5fe
mov qword [r15 + 0x40], rax
mov ebx, dword [r15 + 0x28]
test ebx, ebx
jle 0x4bfd57
movabs r8, 0x1b0cb71ed0aac924
mov r13d, dword [rsp + 0xb0]
mov rbp, rbx
shl rbp, 5
add rbp, 0xffffffffffffffe8
neg r13
lea rsi, [rbx + 1]
mov r12, r8
not r12
jmp 0x4bfc67
mov rax, qword [rsp + 0xb8]
cmp dword [rax + 8], 0
je 0x4bfc88
add rbx, r12
add rbp, 0xffffffffffffffe0
add rsi, 0xffffffffffffffff
cmp rsi, 1
jle 0x4bfd57
add rbx, r8
mov rax, qword [rsp + 0xa8]
mov rax, qword [rax]
mov rdi, qword [rax + rbp]
test rdi, rdi
je 0x4bfc52
lea rax, [rsi + r13]
cmp rax, 2
jne 0x4bfc44
mov r14, qword [rsp + 0xc8]
mov r15, qword [rdi + 8]
cmp byte [rdi + 0x11], 0
je 0x4bfcb6
add dword [rdi + 0x14], 1
cmp byte [rdi + 0x12], 0
jne 0x4bfcb6
mov rcx, rdi
call fcn.0043e9d0
movabs r8, 0x1b0cb71ed0aac924
mov rdx, qword [r15]
mov qword [rdx + 0xa0], r14
mov rcx, qword [rdx + 0x48]
mov r9, qword [rcx]
test r9, r9
je 0x4bfd24
cmp dword [r9], 3
jl 0x4bfd24
mov qword [rsp + 0x88], r14
test r14, r14
setg byte [rdx + 0x1b]
lea r8, [fcn.00437d10]
lea rax, [0x00437ac0]
cmovg r8, rax
cmp dword [rdx + 0x30], 0
lea rax, [0x00437ab0]
cmovne r8, rax
mov qword [rdx + 0x110], r8
mov edx, 0x12
lea r8, [rsp + 0x88]
call qword [r9 + 0x50]
movabs r8, 0x1b0cb71ed0aac924
cmp byte [rdi + 0x11], 0
mov r15, qword [rsp + 0x80]
je 0x4bfc52
add dword [rdi + 0x14], 0xffffffff
jne 0x4bfc52
mov rcx, rdi
call fcn.0043ea70
movabs r8, 0x1b0cb71ed0aac924
jmp 0x4bfc52
mov qword [rsp + 0xc8], 0xffffffffffffffff
lea r9, [rsp + 0xc8]
mov rcx, r15
mov rdx, qword [rsp + 0xc0]
mov r8d, 0x12
call fcn.00427040
cmp eax, 0xc
je 0x4c3a5f
test eax, eax
jne 0x4bfdfb
mov rsi, qword [rsp + 0xc8]
mov rdi, qword [rsp + 0x58]
mov rcx, qword [rdi]
mov edx, 8
call fcn.00429840
test rax, rax
je 0x4bfdbf
mov qword [rax], rsi
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x30], 0xfffffff3
jmp 0x4bfdd0
mov dword [rsp + 0x30], 0xfffffff3
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
mov rcx, rdi
mov edx, 0x48
xor r8d, r8d
mov r9d, 1
call fcn.004c62a0
mov rax, qword [rsp + 0x68]
movsxd rax, dword [rax]
jmp 0x4bff2a
mov rcx, qword [rsp + 0x78]
add dword [rcx + 0x30], 1
mov dword [rcx + 0x18], eax
jmp 0x4c3a5f
test bpl, bpl
je 0x4c3d0b
add rcx, 1
movzx ebp, byte [rsi + rcx]
movzx ebx, byte [rcx + rdx]
cmp bpl, bl
je 0x4bfe0c
movzx eax, byte [rbp + rdi]
cmp al, byte [rbx + rdi]
je 0x4bfe15
xor ecx, ecx
lea rdx, [0x00605025]
lea r8, [0x00604fc0]
lea rdi, [0x005fade0]
jmp 0x4c0576
mov rdi, qword [rsp + 0x58]
xor esi, esi
mov bpl, 1
test r12, r12
mov rbx, qword [rsp + 0x68]
je 0x4bfed2
cmp byte [r12 + 0x11], 0
je 0x4bfe7e
add dword [r12 + 0x14], 1
cmp byte [r12 + 0x12], 0
jne 0x4bfe7e
mov rcx, r12
call fcn.0043e9d0
mov rax, qword [r12 + 8]
movzx ecx, word [rax + 0x28]
test bpl, bpl
je 0x4bfeaa
mov edx, ecx
xor edx, 0xc
and edx, ecx
shl r14d, 2
mov ecx, edx
and ecx, r14d
xor r14d, edx
or r14d, ecx
mov word [rax + 0x28], r14w
mov ecx, r14d
movzx eax, cx
shr eax, 2
mov esi, eax
xor esi, 0x3ffc
and esi, eax
cmp byte [r12 + 0x11], 0
je 0x4bfed2
add dword [r12 + 0x14], 0xffffffff
jne 0x4bfed2
mov rcx, r12
call fcn.0043ea70
mov rcx, qword [rdi]
mov edx, 8
call fcn.00429840
test rax, rax
je 0x4bfef8
mov ecx, esi
mov qword [rax], rcx
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x30], 0xfffffff3
jmp 0x4bff09
mov dword [rsp + 0x30], 0xfffffff3
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
mov rcx, rdi
mov edx, 0x48
xor r8d, r8d
mov r9d, 1
call fcn.004c62a0
movsxd rax, dword [rbx]
mov rcx, qword [rsp + 0x60]
cmp dword [rcx], eax
jle 0x4bff48
lea ecx, [rax + 1]
mov dword [rdi + 0x90], ecx
mov rcx, qword [rdi + 0x88]
jmp 0x4c3a24
mov dword [rsp + 0x20], 0
mov rcx, rdi
jmp 0x4c3a49
mov r13, r8
xor eax, eax
lea rcx, [0x0060506c]
jmp 0x4bff7a
movzx edx, byte [rdx + r9]
cmp dl, byte [rbp + r9]
jne 0x4c060f
add rax, 1
movzx edx, byte [r10 + rax]
movzx ebp, byte [rax + rcx]
cmp dl, bpl
jne 0x4bff66
test dl, dl
jne 0x4bff76
mov r9d, 2
jmp 0x4c3652
xor ecx, ecx
lea rax, [0x004226c0]
mov qword [r15 + 0x280], rax
mov qword [r15 + 0x288], r15
mov dword [r15 + 0x290], 0
mov dword [r15 + 0x2e4], 0
test rcx, rcx
je 0x4bffcf
call qword [0x005f60a0]
mov dword [r15 + 0x2e4], esi
movsxd rsi, dword [r15 + 0x2e4]
mov rcx, qword [rbx]
mov edx, 8
call fcn.00429840
test rax, rax
je 0x4c0001
mov qword [rax], rsi
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x30], 0xfffffff3
jmp 0x4c0012
mov dword [rsp + 0x30], 0xfffffff3
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
mov rcx, rbx
mov edx, 0x48
xor r8d, r8d
mov r9d, 1
call fcn.004c62a0
mov rax, qword [rsp + 0x68]
movsxd rax, dword [rax]
jmp 0x4c3a0b
lea rdx, [0x00604dc4]
jmp 0x4c384d
mov rsi, qword [rdi + 0xd0]
mov rdi, qword [rsp + 0x68]
mov qword [rsp + 0x88], rsi
jmp 0x4c39b5
movzx esi, byte [r15 + 0x66]
jmp 0x4c325b
shl rdx, 5
mov rax, qword [rsp + 0x70]
movzx esi, byte [rax + rdx + 0x10]
mov rcx, qword [rdi]
mov edx, 8
call fcn.00429840
test rax, rax
je 0x4c327f
movabs rcx, 0x9cbf3e245a767751
mov rdx, rcx
not rdx
add rdx, rsi
add rdx, rcx
mov qword [rax], rdx
jmp 0x4c3270
test rsi, rsi
je 0x4c3254
mov rax, qword [rsi + 8]
movsxd rsi, dword [rax + 0x34]
jmp 0x4c3256
mov rsi, qword [0x0213b218]
jmp 0x4c0111
shl rbp, 5
mov rax, qword [rsp + 0x70]
mov rax, qword [rax + rbp + 0x18]
movsxd rsi, dword [rax + 0x74]
mov rcx, qword [rbx]
mov edx, 8
call fcn.00429840
test rax, rax
je 0x4c32a0
mov qword [rax], rsi
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x30], 0xfffffff3
jmp 0x4c32b1
mov rsi, qword [0x0213b210]
test rsi, rsi
je 0x4c3a5f
mov rax, qword [rsp + 0x68]
mov eax, dword [rax]
mov rcx, qword [rsp + 0x60]
cmp dword [rcx], eax
jle 0x4c05b1
movsxd rcx, eax
lea edx, [rcx + 1]
mov rbp, qword [rsp + 0x58]
mov dword [rbp + 0x90], edx
mov rdx, qword [rbp + 0x88]
lea rcx, [rcx + rcx*2]
movaps xmm0, xmmword [0x005fa500]
movups xmmword [rdx + rcx*8], xmm0
mov qword [rdx + rcx*8 + 0x10], 0
jmp 0x4c05d1
xor ecx, ecx
lea rdx, [0x005ff0ac]
mov ebx, eax
jmp 0x4c018d
movzx ebx, bl
movzx ebx, byte [rbx + r9]
cmp bl, byte [rbp + r9]
jne 0x4c2db1
movzx ebx, byte [r10 + rcx + 1]
add rcx, 1
movzx ebp, byte [rcx + rdx]
cmp bl, bpl
jne 0x4c0170
test bl, bl
jne 0x4c0183
mov edi, 1
jmp 0x4c3811
xor eax, eax
lea rcx, [0x00604da9]
mov r15, qword [rsp + 0x80]
jmp 0x4c01cb
movzx edx, byte [rdx + r9]
cmp dl, byte [rbp + r9]
jne 0x4c0258
add rax, 1
movzx edx, byte [r14 + rax]
movzx ebp, byte [rax + rcx]
cmp dl, bpl
jne 0x4c01b7
test dl, dl
jne 0x4c01c7
xor eax, eax
mov rcx, qword [rsp + 0xb8]
cmp dword [rcx + 8], 0
jne 0x4c2b34
mov rcx, qword [rsp + 0x80]
mov ecx, dword [rcx + 0x28]
cmp ecx, 2
jle 0x4c2b29
mov rdx, qword [rsp + 0xa8]
mov rdx, qword [rdx]
add rcx, 0xfffffffffffffffe
add rdx, 0x48
mov ebp, 2
jmp 0x4c0234
mov byte [rbx + 8], al
add rbp, 1
add rdx, 0x20
add rcx, 0xffffffffffffffff
je 0x4c2b29
mov rbx, qword [rdx]
mov rbx, qword [rbx + 8]
mov rbx, qword [rbx]
cmp byte [rbx + 0x10], 0
jne 0x4c0222
mov rdi, qword [rbx + 0x128]
test rdi, rdi
je 0x4c021f
cmp byte [rdi + 0x3f], 2
jne 0x4c021f
jmp 0x4c0222
mov eax, 0xffffffff
mov rcx, qword [rsp + 0xb8]
cmp dword [rcx + 8], 0
mov rcx, qword [rsp + 0xa0]
jne 0x4c2b3c
lea rcx, [r15 + 0x69]
jmp 0x4c2b74
mov rcx, qword [r15 + 0x18]
test rcx, rcx
je 0x4c35a3
call qword [0x005f6090]
mov r15, qword [rsp + 0x80]
mov rcx, qword [r15 + 0x18]
xorps xmm0, xmm0
movups xmmword [r15 + 0x168], xmm0
test rcx, rcx
mov rbx, qword [rsp + 0x58]
je 0x4c35bb
call qword [0x005f60a0]
jmp 0x4c35bb
xor eax, eax
lea rcx, [0x00605086]
jmp 0x4c02e2
movzx edx, byte [rdx + r9]
cmp dl, byte [rbp + r9]
jne 0x4c2df0
add rax, 1
movzx edx, byte [r14 + rax]
movzx ebp, byte [rax + rcx]
cmp dl, bpl
jne 0x4c02ce
test dl, dl
jne 0x4c02de
mov esi, 2
jmp 0x4c2e24
mov dword [rsp + 0x88], 0x64
xor ebx, ebx
jmp 0x4c089c
mov rsi, qword [0x0213b0f8]
jmp 0x4bc468
xor esi, esi
cmp byte [rdi + 0x11], 0
je 0x4bc468
add dword [rdi + 0x14], 0xffffffff
jne 0x4bc468
mov rcx, rdi
call fcn.0043ea70
jmp 0x4bc468
lea r15, [rdx + 8]
mov eax, dword [r13 + 0x2c]
mov dword [rsp + 0x70], eax
mov rax, qword [r13 + 0x20]
mov rax, qword [rax + 0x18]
mov cl, byte [rax + 0x71]
mov byte [r13 + 0x64], cl
movzx eax, word [rax + 0x72]
mov ecx, eax
xor ecx, 0xfffe
test cx, ax
je 0x4c3626
mov ebp, dword [r13 + 0x28]
cmp ebp, 2
jl 0x4c083a
movabs r14, 0xe8c1f1f96851264d
mov rdi, rbp
shl rdi, 5
add rdi, 0xfffffffffffffff8
lea ebx, [rbp - 1]
lea rsi, [rbp + 1]
mov r12, r14
not r12
jmp 0x4c03bb
add rbp, r14
add rbp, r12
add rdi, 0xffffffffffffffe0
add ebx, 0xffffffff
add rsi, 0xffffffffffffffff
cmp rsi, 2
jle 0x4c083a
mov rax, qword [r13 + 0x20]
mov rax, qword [rax + rdi]
movzx eax, word [rax + 0x72]
not eax
or eax, 0xfffe
cmp ax, 0xffff
jne 0x4c03a0
mov rcx, r13
mov edx, ebx
mov r8, r15
xor r9d, r9d
call fcn.004651a0
test eax, eax
je 0x4c03a0
jmp 0x4c363e
xor edi, edi
movzx ecx, byte [rcx + rdx]
movzx ecx, byte [rcx + r8]
xor r14d, r14d
cmp edi, ecx
je 0x4c376a
lea ecx, [rax + 1]
xor edx, edx
lea rbp, [0x005fdaa7]
mov esi, eax
mov rbx, qword [rsp + 0x90]
movzx edi, byte [rbx + rdx]
movzx ebx, byte [rdx + rbp]
test rdi, rdi
je 0x4c3757
movzx edi, byte [rdi + r8]
movzx ebx, byte [rbx + r8]
cmp dil, bl
jne 0x4c375d
add esi, 0xffffffff
add ecx, 0xffffffff
add rdx, 1
cmp ecx, 1
jg 0x4c0411
mov r14d, 1
jmp 0x4c376a
mov dword [rsp + 0x20], 0
mov rdi, qword [rsp + 0x58]
mov rcx, rdi
mov edx, 0xb1
mov r8d, r14d
jmp 0x4c048a
mov dword [rsp + 0x20], eax
mov rdi, qword [rsp + 0x58]
mov rcx, rdi
mov edx, 0xb2
mov r8, qword [rsp + 0xb0]
mov r9d, esi
call fcn.0047df60
movsxd rax, dword [rbx]
mov rcx, qword [rsp + 0x60]
cmp dword [rcx], eax
jle 0x4c04cb
lea ecx, [rax + 1]
mov dword [rdi + 0x90], ecx
mov rcx, qword [rdi + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x54
mov dword [rcx + rax*8 + 4], esi
mov qword [rcx + rax*8 + 8], 1
jmp 0x4c3a33
mov dword [rsp + 0x20], 0
mov rcx, rdi
mov edx, 0x54
mov r8d, esi
jmp 0x4c3a54
mov dword [r15 + 0x2e4], 0
xorps xmm0, xmm0
movups xmmword [r15 + 0x280], xmm0
mov dword [r15 + 0x290], 0
jmp 0x4bffd6
lea rdx, [0x00604ddd]
jmp 0x4c384d
mov rcx, qword [rsp + 0x78]
mov edx, 2
mov r8, rsi
mov r9, rbp
call fcn.004190c0
test rax, rax
je 0x4c3a5f
cmp byte [rax + 0x30], 0
jns 0x4c3a5f
mov rdi, qword [rax + 0x10]
test rdi, rdi
je 0x4c3a5f
mov eax, dword [rdi + 0x64]
not eax
or eax, 0xfffffffc
cmp eax, 0xfffffffd
je 0x4be986
mov rdi, qword [rdi + 0x28]
test rdi, rdi
jne 0x4c054a
jmp 0x4c3a5f
test bpl, bpl
je 0x4c3d0b
add rcx, 1
mov rax, qword [rsp + 0x90]
movzx ebp, byte [rax + rcx]
movzx ebx, byte [rcx + rdx]
cmp bpl, bl
je 0x4c0569
movzx eax, byte [rbp + rdi]
cmp al, byte [rbx + rdi]
je 0x4c0572
xor ecx, ecx
lea rdx, [0x0060502d]
lea r8, [0x00604fd0]
lea rdi, [0x005fade0]
jmp 0x4c35eb
mov dword [rsp + 0x20], 0
mov rcx, qword [rsp + 0x58]
mov edx, 0x75
xor r8d, r8d
mov r9d, 1
call fcn.0047df60
mov rcx, qword [rsp + 0x58]
mov rcx, qword [rcx]
cmp byte [rcx + 0x67], 0
jne 0x4c4617
test eax, eax
jns 0x4c05f1
mov rax, qword [rsp + 0x68]
mov eax, dword [rax]
add eax, 0xffffffff
cdqe
lea rdx, [rax + rax*2]
shl rdx, 3
mov rcx, qword [rsp + 0x58]
add rdx, qword [rcx + 0x88]
mov r8, rsi
jmp 0x4c2da4
xor eax, eax
lea rcx, [0x005fdab3]
jmp 0x4c062e
movzx edx, byte [rdx + r9]
cmp dl, byte [rbp + r9]
jne 0x4c364f
add rax, 1
movzx edx, byte [r10 + rax]
movzx ebp, byte [rax + rcx]
cmp dl, bpl
jne 0x4c061a
test dl, dl
jne 0x4c062a
mov r9d, 3
jmp 0x4c3652
lea rax, [0x00423bd0]
mov qword [r15 + 0x168], rax
mov qword [r15 + 0x170], rsi
jmp 0x4c35bb
mov rax, qword [rsp + 0xd0]
movzx eax, byte [rsi + rax*8 + 0xb]
test rax, rax
mov ebp, 1
mov qword [rsp + 0x70], rax
cmovne ebp, eax
mov r14, qword [rbx]
movzx eax, word [rbx + 0xc0]
test rax, rax
je 0x4c43f0
mov rcx, qword [rsp + 0x58]
mov rdi, qword [rcx + 0x98]
test rdi, rdi
je 0x4c43dc
imul rbx, rax, 0x70
add rbx, rdi
mov rsi, qword [rdi + 0x18]
cmp qword [rsi + 0x300], 0
jne 0x4c06e4
test rsi, rsi
je 0x4c431f
movabs r13, 0x218bf3aa960fe38
not r13
jmp 0x4c0713
add rdi, 0x38
cmp rdi, rbx
jae 0x4c43dc
cmp dword [rdi + 0x20], 0
je 0x4c06d7
mov rdx, qword [rdi + 0x28]
mov rcx, rsi
call fcn.00408130
jmp 0x4c06d7
mov rcx, rdi
call fcn.00449ce0
mov word [rdi + 0x14], 0
add rdi, 0x38
cmp rdi, rbx
jae 0x4c43dc
mov eax, dword [rdi + 0x14]
not eax
or eax, 0x6fff
cmp ax, 0xffff
jne 0x4c06f8
cmp dword [rdi + 0x20], 0
je 0x4c0706
mov r15, qword [rdi + 0x28]
cmp qword [rsi + 0x300], 0
je 0x4c074b
mov rcx, rsi
mov rdx, r15
call fcn.004297f0
mov dword [rdi + 0x20], 0
jmp 0x4c0700
cmp qword [rsi + 0x1f0], r15
jbe 0x4c076e
cmp qword [rsi + 0x1e0], r15
jbe 0x4c0800
cmp qword [rsi + 0x1e8], r15
jbe 0x4c0824
test r15, r15
je 0x4c0742
cmp dword [0x005f6010], 0
je 0x4c0816
mov rcx, qword [0x0213b0e8]
test rcx, rcx
je 0x4c0792
call qword [0x005f6090]
mov rcx, r15
call qword [0x005f6048]
cdqe
mov rcx, qword [0x0213b040]
movabs rdx, 0xe864c99aacd75b26
add rcx, rdx
sub rcx, rax
sub rcx, rdx
mov qword [0x0213b040], rcx
mov rax, qword [0x0213b088]
add rax, r13
movabs rcx, 0x218bf3aa960fe38
add rax, rcx
mov qword [0x0213b088], rax
mov rcx, r15
call qword [0x005f6038]
mov rcx, qword [0x0213b0e8]
test rcx, rcx
je 0x4c0742
call qword [0x005f60a0]
jmp 0x4c0742
mov rax, qword [rsi + 0x1d8]
mov qword [r15], rax
mov qword [rsi + 0x1d8], r15
jmp 0x4c0742
mov rcx, r15
call qword [0x005f6038]
jmp 0x4c0742
mov rax, qword [rsi + 0x1c8]
mov qword [r15], rax
mov qword [rsi + 0x1c8], r15
jmp 0x4c0742
mov ecx, dword [rsp + 0x70]
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
jne 0x4c084c
and byte [r13 + 0x2c], 0xfe
cmp byte [r13 + 0x6f], 0
mov rdx, qword [rsp + 0x78]
je 0x4bf2a9
mov eax, dword [r13 + 0x2c]
mov ecx, eax
and ecx, 0x10
xor eax, 0x10
or eax, ecx
mov dword [r13 + 0x2c], eax
jmp 0x4bf2a9
xor r9d, r9d
mov rcx, qword [rsp + 0x78]
xor edx, edx
mov r8, qword [rsp + 0x90]
call fcn.004190c0
mov rbx, rax
mov edi, dword [rsp + 0x88]
mov r15, qword [rsp + 0x80]
lea r8d, [rdi - 1]
mov rax, qword [rsp + 0x68]
movsxd rax, dword [rax]
mov rcx, qword [rsp + 0x60]
cmp dword [rcx], eax
mov qword [rsp + 0x130], rdi
jle 0x4c08f2
lea ecx, [rax + 1]
mov rdx, qword [rsp + 0x58]
mov dword [rdx + 0x90], ecx
mov rcx, qword [rdx + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x47
mov dword [rcx + rax*8 + 4], r8d
mov qword [rcx + rax*8 + 8], 1
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4c090f
mov dword [rsp + 0x20], 0
mov rcx, qword [rsp + 0x58]
mov edx, 0x47
mov r9d, 1
call fcn.0047df60
mov qword [rsp + 0xc0], rbx
cmp rbx, 1
mov eax, 2
sbb eax, 0
mov dword [rsp + 0x108], eax
cmp dword [r15 + 0x28], 0
jle 0x4c2aab
mov eax, esi
xor al, 0x20
and al, sil
mov byte [rsp + 0xf8], al
mov eax, 0xfffffffe
mov rcx, qword [rsp + 0x58]
add rcx, 0x88
mov qword [rsp + 0x70], rcx
mov ecx, dword [rsp + 0xf0]
mov qword [rsp + 0x138], rcx
xorps xmm6, xmm6
movaps xmm12, xmmword [0x005fa520]
movaps xmm9, xmmword [0x005fa530]
movaps xmm10, xmmword [0x005fa540]
add rax, 1
mov qword [rsp + 0xb8], rax
movaps xmm11, xmmword [0x005fa590]
movaps xmm7, xmmword [0x005fa570]
movaps xmm13, xmmword [0x005fa5a0]
movaps xmm14, xmmword [0x005fa550]
movaps xmm15, xmmword [0x005fa560]
movaps xmm8, xmmword [0x005fa580]
xor ecx, ecx
jmp 0x4c09e3
mov rcx, qword [rsp + 0x100]
add rcx, 1
mov rax, qword [rsp + 0x80]
movsxd rax, dword [rax + 0x28]
cmp rcx, rax
jge 0x4c2aab
cmp dword [rsp + 0xf0], 0
setns al
sets dl
mov qword [rsp + 0x100], rcx
cmp rcx, qword [rsp + 0x138]
setne cl
sete bl
xor bl, dl
jne 0x4c0a11
or al, cl
xor al, 1
je 0x4c09c2
mov rcx, qword [rsp + 0x78]
mov rax, qword [rcx + 0xa0]
test rax, rax
cmove rax, rcx
mov edx, 1
mov r15, qword [rsp + 0x100]
mov ecx, r15d
shl edx, cl
mov ebp, dword [rax + 0x74]
mov ecx, ebp
btc ecx, r15d
not ecx
test ecx, ebp
jne 0x4c0a5e
mov ecx, ebp
and ecx, edx
xor ebp, edx
or ebp, ecx
mov dword [rax + 0x74], ebp
cmp r15, 1
jne 0x4c0a5e
mov rcx, rax
call fcn.004306d0
mov rax, qword [rsp + 0xa8]
mov rax, qword [rax]
shl r15, 5
mov r14, qword [rax + r15 + 0x18]
mov rax, qword [r14 + 0x10]
test rax, rax
je 0x4c09c2
mov rbx, qword [rsp + 0xc0]
xor r12d, r12d
test rbx, rbx
je 0x4c0ae3
xor esi, esi
jmp 0x4c0aa6
cmp edx, r12d
cmovge r12d, edx
mov rax, qword [rax]
test rax, rax
je 0x4c0b53
cmp rbx, qword [rax + 0x10]
jne 0x4c0a9a
mov cl, byte [rbx + 0x30]
and cl, 0x80
cmp cl, 1
adc esi, 0
mov rbp, qword [rbx + 0x10]
xor edx, edx
test rbp, rbp
je 0x4c0a93
mov ecx, esi
nop dword [rax]
add ecx, 1
add edx, 1
mov rbp, qword [rbp + 0x28]
test rbp, rbp
jne 0x4c0ad0
add esi, edx
jmp 0x4c0a93
xor edx, edx
jmp 0x4c0af8
cmp edx, r12d
cmovge r12d, edx
mov rax, qword [rax]
mov edx, esi
test rax, rax
je 0x4c0b53
mov rcx, qword [rax + 0x10]
mov edi, dword [rcx + 0x30]
shr edi, 7
mov esi, edi
xor esi, 0x1fffffe
and esi, edi
mov ebx, esi
not ebx
and ebx, 0x5a4e2918
and esi, 0x1b1d6e7
or esi, ebx
xor esi, 0x5a4e2919
add esi, edx
mov rbp, qword [rcx + 0x10]
xor edx, edx
test rbp, rbp
je 0x4c0ae7
mov ecx, esi
nop word [rax + rax]
add ecx, 1
add edx, 1
mov rbp, qword [rbp + 0x28]
test rbp, rbp
jne 0x4c0b40
add esi, edx
jmp 0x4c0ae7
test esi, esi
je 0x4c09c2
add esi, dword [rsp + 0x108]
movsxd rdx, esi
shl rdx, 2
mov rcx, qword [rsp + 0x80]
call fcn.00429840
test rax, rax
je 0x4c2aab
cmp qword [rsp + 0xc0], 0
je 0x4c0c1a
mov dword [rax + 4], 0
mov rcx, qword [r14 + 0x10]
test rcx, rcx
mov r13, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x78]
je 0x4c0c8a
mov rdx, rax
add rdx, 4
mov r9d, 1
jmp 0x4c0bd1
mov r13, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x78]
mov rcx, qword [rcx]
test rcx, rcx
je 0x4c0c95
mov rdi, qword [rsp + 0xc0]
cmp rdi, qword [rcx + 0x10]
jne 0x4c0bc5
cmp byte [rdi + 0x30], 0
js 0x4c0bf2
add r9d, 1
movsxd rbp, r9d
mov ebx, dword [rdi + 0x28]
mov dword [rax + rbp*4], ebx
mov rbp, qword [rdi + 0x10]
test rbp, rbp
je 0x4c0bbb
movsxd r9, r9d
lea rdi, [rdx + r9*4]
add r9, 1
mov ebx, dword [rbp + 0x58]
mov dword [rdi], ebx
mov rbp, qword [rbp + 0x28]
add rdi, 4
test rbp, rbp
jne 0x4c0c02
jmp 0x4c0bbb
mov rcx, qword [r14 + 0x10]
test rcx, rcx
mov r13, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x78]
je 0x4c0c92
mov rdx, rax
add rdx, 4
xor r9d, r9d
jmp 0x4c0c4b
mov rcx, qword [rcx]
test rcx, rcx
mov r13, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x78]
je 0x4c0c95
mov rbp, qword [rcx + 0x10]
cmp byte [rbp + 0x30], 0
js 0x4c0c62
add r9d, 1
movsxd rbx, r9d
mov edi, dword [rbp + 0x28]
mov dword [rax + rbx*4], edi
mov rbp, qword [rbp + 0x10]
test rbp, rbp
je 0x4c0c39
movsxd r9, r9d
lea rdi, [rdx + r9*4]
add r9, 1
mov ebx, dword [rbp + 0x58]
mov dword [rdi], ebx
mov rbp, qword [rbp + 0x28]
add rdi, 4
test rbp, rbp
jne 0x4c0c72
jmp 0x4c0c39
mov r9d, 1
jmp 0x4c0c95
xor r9d, r9d
mov dword [rax], r9d
mov ecx, dword [rbp + 0x38]
add r12d, 8
cmp ecx, r12d
cmovge r12d, ecx
mov dword [rbp + 0x38], r12d
mov byte [rbp + 0x1f], 0
mov dword [rbp + 0x28], 0
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x30], 0xfffffff2
mov dword [rsp + 0x20], 1
mov rcx, r13
mov edx, 0x9b
mov r8d, 2
call fcn.004c62a0
movsxd rsi, dword [r13 + 0x90]
test rsi, rsi
jle 0x4c0d0e
mov rcx, qword [rsp + 0x100]
mov eax, ecx
xor eax, 0xffffff00
and eax, ecx
mov rcx, qword [rsp + 0x70]
mov rcx, qword [rcx]
lea edx, [rsi - 1]
lea rdx, [rdx + rdx*2]
mov word [rcx + rdx*8 + 2], ax
mov rax, qword [rsp + 0x60]
cmp dword [rax], esi
jle 0x4c0d42
lea eax, [rsi + 1]
mov rcx, qword [rsp + 0x68]
mov dword [rcx], eax
mov rax, qword [rsp + 0x70]
mov rax, qword [rax]
lea rcx, [rsi + rsi*2]
movabs rdx, 0x200000032
mov qword [rax + rcx*8], rdx
movups xmmword [rax + rcx*8 + 8], xmm6
jmp 0x4c0d62
mov dword [rsp + 0x20], 0
mov rcx, r13
mov edx, 0x32
mov r8d, 2
xor r9d, r9d
call fcn.0047df60
mov esi, eax
mov rcx, qword [rsp + 0x80]
mov rax, qword [rcx + 0x20]
mov r8, qword [rax + r15]
lea rdx, [0x00604e97]
call fcn.00419c10
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x30], 0xfffffffa
mov dword [rsp + 0x20], 0
mov rcx, r13
mov edx, 0x75
xor r8d, r8d
mov r9d, 3
call fcn.004c62a0
movsxd rax, dword [r13 + 0x90]
cmp dword [r13 + 0x94], eax
jle 0x4c0de5
lea ecx, [rax + 1]
mov rdi, qword [rsp + 0x68]
mov dword [rdi], ecx
mov rcx, qword [rsp + 0x70]
mov rcx, qword [rcx]
lea rax, [rax + rax*2]
movaps xmm0, xmmword [0x005fa510]
movups xmmword [rcx + rax*8], xmm0
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4c0e0b
mov dword [rsp + 0x20], 3
mov rcx, r13
mov edx, 0x6f
mov r8d, 2
mov r9d, 3
call fcn.0047df60
mov rdi, qword [rsp + 0x68]
movsxd rax, dword [rdi]
mov rcx, qword [rsp + 0x60]
cmp dword [rcx], eax
jle 0x4c0e38
lea ecx, [rax + 1]
mov dword [rdi], ecx
mov rcx, qword [rsp + 0x70]
mov rcx, qword [rcx]
lea rax, [rax + rax*2]
movups xmmword [rcx + rax*8], xmm12
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4c0e59
mov dword [rsp + 0x20], 0
mov rcx, r13
mov edx, 0x54
mov r8d, 3
mov r9d, 1
call fcn.0047df60
movsxd rax, dword [rdi]
lea r9d, [rax + 2]
mov rcx, qword [rsp + 0x60]
cmp dword [rcx], eax
jle 0x4c0ea0
lea ecx, [rax + 1]
mov dword [rdi], ecx
mov rcx, qword [rsp + 0x70]
mov rcx, qword [rcx]
lea rax, [rax + rax*2]
movabs rdx, 0x100000031
mov qword [rcx + rax*8], rdx
mov dword [rcx + rax*8 + 8], r9d
mov dword [rcx + rax*8 + 0xc], 1
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4c0ebb
mov dword [rsp + 0x20], 1
mov rcx, r13
mov edx, 0x31
mov r8d, 1
call fcn.0047df60
movsxd rax, dword [rdi]
mov rcx, qword [rsp + 0x60]
cmp dword [rcx], eax
jle 0x4c0eec
lea ecx, [rax + 1]
mov dword [rdi], ecx
mov rcx, qword [rsp + 0x70]
mov rcx, qword [rcx]
lea rax, [rax + rax*2]
mov byte [rcx + rax*8], 0x46
movups xmmword [rcx + rax*8 + 1], xmm6
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4c0f07
mov dword [rsp + 0x20], 0
mov rcx, r13
mov edx, 0x46
xor r8d, r8d
xor r9d, r9d
call fcn.0047df60
mov eax, dword [r13 + 0x90]
mov rcx, qword [r13]
cmp byte [rcx + 0x67], 0
lea rcx, [0x0213b3e8]
jne 0x4c0f3a
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 + 0x70]
add rcx, qword [rdx]
mov dword [rcx + 8], eax
mov rdx, qword [r14 + 0x10]
jmp 0x4c0f51
mov dword [rcx + 8], eax
mov rdx, qword [rsp + 0xe0]
mov rdx, qword [rdx]
test rdx, rdx
je 0x4c09c2
mov rcx, qword [rsp + 0xc0]
test rcx, rcx
setne al
mov qword [rsp + 0xe0], rdx
mov r12, qword [rdx + 0x10]
cmp rcx, r12
setne cl
mov edx, eax
xor dl, cl
or al, cl
xor al, 1
or al, dl
cmp al, 1
mov rbp, qword [rsp + 0x68]
jne 0x4c0f46
cmp byte [r12 + 0x3f], 0
jne 0x4c0f46
mov al, 1
test al, al
je 0x4c0f46
cmp byte [r12 + 0x30], 0
js 0x4c0fad
xor r14d, r14d
mov rcx, qword [rsp + 0x78]
jmp 0x4c0fd6
mov r14, qword [r12 + 0x10]
test r14, r14
mov rcx, qword [rsp + 0x78]
je 0x4c0fd3
mov eax, dword [r14 + 0x64]
not eax
or eax, 0xfffffffc
cmp eax, 0xfffffffd
je 0x4c0fd6
mov r14, qword [r14 + 0x28]
test r14, r14
jne 0x4c0fbc
xor r14d, r14d
lea rax, [rsp + 0xf4]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0xc8]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 1
mov rdx, r12
mov r8d, 0x70
xor r9d, r9d
call fcn.0050d2b0
movsxd rax, dword [rbp]
mov rcx, qword [rsp + 0x60]
cmp dword [rcx], eax
jle 0x4c1041
lea ecx, [rax + 1]
mov dword [rbp], ecx
mov rcx, qword [rsp + 0x70]
mov rcx, qword [rcx]
lea rax, [rax + rax*2]
movups xmmword [rcx + rax*8], xmm9
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4c105f
mov dword [rsp + 0x20], 0
mov rcx, r13
mov edx, 0x47
xor r8d, r8d
mov r9d, 7
call fcn.0047df60
mov rdi, qword [r12 + 0x10]
test rdi, rdi
je 0x4c10dc
xor ebx, ebx
mov esi, 8
jmp 0x4c10b0
lea ecx, [rax + 1]
mov dword [rbp], ecx
mov rcx, qword [rsp + 0x70]
mov rcx, qword [rcx]
lea rax, [rax + rax*2]
mov qword [rcx + rax*8], 0x47
mov dword [rcx + rax*8 + 8], esi
mov dword [rcx + rax*8 + 0xc], 0
mov qword [rcx + rax*8 + 0x10], 0
add ebx, 1
mov rdi, qword [rdi + 0x28]
add esi, 1
test rdi, rdi
je 0x4c10dc
movsxd rax, dword [rbp]
mov rcx, qword [rsp + 0x60]
cmp dword [rcx], eax
jg 0x4c1072
mov dword [rsp + 0x20], 0
mov rcx, qword [rsp + 0x58]
mov edx, 0x47
xor r8d, r8d
mov r9d, esi
call fcn.0047df60
jmp 0x4c10a1
mov r8d, dword [rsp + 0xc8]
movsxd rax, dword [rbp]
mov rcx, qword [rsp + 0x60]
cmp dword [rcx], eax
jle 0x4c111b
lea ecx, [rax + 1]
mov dword [rbp], ecx
mov rcx, qword [rsp + 0x70]
mov rcx, qword [rcx]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x23
mov dword [rcx + rax*8 + 4], r8d
movups xmmword [rcx + rax*8 + 8], xmm6
mov rsi, qword [rsp + 0x58]
jmp 0x4c1138
mov dword [rsp + 0x20], 0
mov rsi, qword [rsp + 0x58]
mov rcx, rsi
mov edx, 0x23
xor r9d, r9d
call fcn.0047df60
mov edi, dword [rbp]
mov rax, qword [rsp + 0x60]
cmp dword [rax], edi
jle 0x4c1169
movsxd rax, edi
lea ecx, [rax + 1]
mov dword [rbp], ecx
mov rcx, qword [rsp + 0x70]
mov rcx, qword [rcx]
lea rax, [rax + rax*2]
movups xmmword [rcx + rax*8], xmm10
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4c118c
mov dword [rsp + 0x20], 0
mov rcx, rsi
mov edx, 0x56
mov r8d, 7
mov r9d, 1
call fcn.0047df60
mov edi, eax
cmp byte [rsp + 0xf8], 0x51
je 0x4c1221
mov r8d, dword [rsp + 0xc8]
movsx r9d, word [r12 + 0x38]
add r9d, 0xffffffff
movsxd rax, dword [rbp]
mov rcx, qword [rsp + 0x60]
cmp dword [rcx], eax
jle 0x4c11ef
lea ecx, [rax + 1]
mov dword [rbp], ecx
mov rcx, qword [rsp + 0x70]
mov rcx, qword [rcx]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x5e
mov dword [rcx + rax*8 + 4], r8d
mov dword [rcx + rax*8 + 8], r9d
mov dword [rcx + rax*8 + 0xc], 3
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4c1204
mov dword [rsp + 0x20], 3
mov rcx, rsi
mov edx, 0x5e
call fcn.0047df60
mov eax, dword [rbp]
test eax, eax
jle 0x4c1221
mov rcx, qword [rsp + 0x70]
mov rcx, qword [rcx]
add eax, 0xffffffff
lea rax, [rax + rax*2]
mov word [rcx + rax*8 + 2], pe_nt_image_headers64
mov dword [rsp + 0xd8], edi
mov qword [rsp + 0xa0], r14
cmp word [r12 + 0x36], 0
jle 0x4c187d
mov eax, dword [r12 + 0x30]
mov ecx, eax
xor ecx, 0xfffeffff
and ecx, eax
mov dword [rsp + 0x98], ecx
xor ebx, ebx
xor ebp, ebp
jmp 0x4c1277
mov dword [rcx + 8], eax
nop dword [rax]
add rbp, 1
movsx rax, word [r12 + 0x36]
add rbx, 0x18
cmp rbp, rax
jge 0x4c187d
movsx rax, word [r12 + 0x34]
mov rcx, qword [rsp + 0xb8]
xor rcx, rax
not rcx
and rcx, rax
cmp rbp, rcx
je 0x4c1260
mov r14, qword [r12 + 8]
mov eax, dword [r14 + rbx + 8]
mov ecx, eax
xor ecx, 0xfffffff0
and ecx, eax
mov eax, ecx
not eax
mov edi, dword [rsp + 0x98]
mov edx, edi
not edx
mov esi, eax
and esi, 0x69a36a8
and ecx, 0xf965c957
or ecx, esi
or eax, edx
and edx, 0x69a36a8
mov esi, edi
and esi, 0xf965c957
or esi, edx
xor esi, ecx
not eax
or eax, esi
je 0x4c1260
cmp dword [rsp + 0x98], 0
je 0x4c12fa
mov rax, qword [rsp + 0x78]
mov r15d, dword [rax + 0x44]
add r15d, 0xffffffff
mov dword [rax + 0x44], r15d
jmp 0x4c12fd
xor r15d, r15d
mov r8d, dword [rsp + 0xc8]
mov dword [rsp + 0x20], 3
mov rdi, qword [rsp + 0x58]
mov rcx, rdi
mov rdx, r12
mov r9d, ebp
call fcn.004cdfb0
mov esi, dword [rdi + 0x90]
lea eax, [rsi - 1]
mov rcx, qword [rdi]
cmp byte [rcx + 0x67], 0
lea rcx, [0x0213b3e8]
jne 0x4c134c
movsxd rcx, eax
lea rcx, [rcx + rcx*2]
shl rcx, 3
mov rdx, qword [rsp + 0x70]
add rcx, qword [rdx]
test esi, esi
jle 0x4c1370
cmp byte [rcx], 0x5e
jne 0x4c1370
mov cl, 1
test cl, cl
je 0x4c1370
mov rcx, qword [rsp + 0x70]
mov rcx, qword [rcx]
mov eax, eax
lea rax, [rax + rax*2]
mov word [rcx + rax*8 + 2], pe_nt_image_headers64
mov eax, dword [r14 + rbx + 8]
not eax
or eax, 0xfffffff0
cmp eax, 0xffffffff
je 0x4c13bb
mov rax, qword [rsp + 0x60]
cmp dword [rax], esi
jle 0x4c13c3
movsxd rax, esi
lea ecx, [rsi + 1]
mov rdx, qword [rsp + 0x68]
mov dword [rdx], ecx
mov rcx, qword [rsp + 0x70]
mov rcx, qword [rcx]
lea rax, [rax + rax*2]
movabs rdx, 0x300000033
mov qword [rcx + rax*8], rdx
movups xmmword [rcx + rax*8 + 8], xmm6
mov rdi, qword [rsp + 0x58]
jmp 0x4c13e8
mov r13d, esi
jmp 0x4c15e9
mov dword [rsp + 0x20], 0
mov rdi, qword [rsp + 0x58]
mov rcx, rdi
mov edx, 0x33
mov r8d, 3
xor r9d, r9d
call fcn.0047df60
mov esi, eax
mov r8, qword [r12]
mov r9, qword [r14 + rbx]
mov rcx, qword [rsp + 0x80]
lea rdx, [0x00604eaf]
call fcn.00419c10
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x30], 0xfffffffa
mov dword [rsp + 0x20], 0
mov rcx, rdi
mov edx, 0x75
xor r8d, r8d
mov r9d, 3
call fcn.004c62a0
cmp dword [rsp + 0x98], 0
je 0x4c144e
mov eax, dword [r14 + rbx + 8]
not eax
or eax, 0xffffff0f
cmp eax, 0xffffffef
jne 0x4c154c
mov rdi, qword [rsp + 0x68]
movsxd rax, dword [rdi]
mov rcx, qword [rsp + 0x60]
cmp dword [rcx], eax
jle 0x4c1480
lea ecx, [rax + 1]
mov dword [rdi], ecx
mov rcx, qword [rsp + 0x70]
mov rcx, qword [rcx]
lea rax, [rax + rax*2]
movups xmmword [rcx + rax*8], xmm12
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4c14a3
mov dword [rsp + 0x20], 0
mov rcx, qword [rsp + 0x58]
mov edx, 0x54
mov r8d, 3
mov r9d, 1
call fcn.0047df60
movsxd rax, dword [rdi]
lea r9d, [rax + 2]
mov rcx, qword [rsp + 0x60]
cmp dword [rcx], eax
jle 0x4c14ea
lea ecx, [rax + 1]
mov dword [rdi], ecx
mov rcx, qword [rsp + 0x70]
mov rcx, qword [rcx]
lea rax, [rax + rax*2]
movabs rdx, 0x100000031
mov qword [rcx + rax*8], rdx
mov dword [rcx + rax*8 + 8], r9d
mov dword [rcx + rax*8 + 0xc], 1
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4c1507
mov dword [rsp + 0x20], 1
mov rcx, qword [rsp + 0x58]
mov edx, 0x31
mov r8d, 1
call fcn.0047df60
movsxd rax, dword [rdi]
mov rcx, qword [rsp + 0x60]
cmp dword [rcx], eax
jle 0x4c152f
lea ecx, [rax + 1]
mov dword [rdi], ecx
mov rcx, qword [rsp + 0x70]
mov rcx, qword [rcx]
lea rax, [rax + rax*2]
mov byte [rcx + rax*8], 0x46
movups xmmword [rcx + rax*8 + 1], xmm6
jmp 0x4c1583
mov dword [rsp + 0x20], 0
mov rdi, qword [rsp + 0x58]
mov rcx, rdi
mov edx, 0x46
xor r8d, r8d
xor r9d, r9d
jmp 0x4c15ae
mov rdx, qword [rsp + 0x68]
movsxd rax, dword [rdx]
mov rcx, qword [rsp + 0x60]
cmp dword [rcx], eax
jle 0x4c1593
lea ecx, [rax + 1]
mov dword [rdx], ecx
mov rcx, qword [rsp + 0x70]
mov rcx, qword [rcx]
lea rax, [rax + rax*2]
mov qword [rcx + rax*8], 8
mov dword [rcx + rax*8 + 8], r15d
mov dword [rcx + rax*8 + 0xc], 0
mov qword [rcx + rax*8 + 0x10], 0
mov rdi, qword [rsp + 0x58]
jmp 0x4c15b3
mov dword [rsp + 0x20], 0
mov rdi, qword [rsp + 0x58]
mov rcx, rdi
mov edx, 8
xor r8d, r8d
mov r9d, r15d
call fcn.0047df60
mov r13d, dword [rdi + 0x90]
mov rax, qword [rdi]
cmp byte [rax + 0x67], 0
lea rax, [0x0213b3e8]
jne 0x4c15e5
lea eax, [r13 - 1]
test esi, esi
cmovns eax, esi
cdqe
lea rax, [rax + rax*2]
shl rax, 3
mov rcx, qword [rsp + 0x70]
add rax, qword [rcx]
mov dword [rax + 8], r13d
mov eax, dword [r12 + 0x30]
mov ecx, eax
xor ecx, 0xfffeffff
test ecx, eax
je 0x4c1260
mov ecx, dword [r14 + rbx + 8]
shr ecx, 4
mov eax, ecx
xor eax, 0xffffff0
and eax, ecx
cmp eax, 1
je 0x4c1260
add eax, 0xffffffff
cdqe
lea rcx, [0x00604ec3]
movsx eax, byte [rax + rcx]
mov rcx, qword [rsp + 0x60]
cmp dword [rcx], r13d
jle 0x4c1676
lea ecx, [r13 + 1]
mov rdx, qword [rsp + 0x68]
mov dword [rdx], ecx
mov rcx, qword [rsp + 0x70]
mov rcx, qword [rcx]
movsxd rdx, r13d
lea rdx, [rdx + rdx*2]
movabs rdi, 0x300000011
mov qword [rcx + rdx*8], rdi
mov dword [rcx + rdx*8 + 8], 0
mov dword [rcx + rdx*8 + 0xc], eax
mov qword [rcx + rdx*8 + 0x10], 0
mov rsi, qword [rsp + 0x58]
jmp 0x4c1698
mov dword [rsp + 0x20], eax
mov rsi, qword [rsp + 0x58]
mov rcx, rsi
mov edx, 0x11
mov r8d, 3
xor r9d, r9d
call fcn.0047df60
mov r13d, eax
mov r9, qword [r12]
mov rax, qword [r12 + 8]
mov ecx, dword [r14 + rbx + 8]
shr ecx, 4
and ecx, 0xf
add ecx, 0xffffffff
movsxd rcx, ecx
lea rdx, [0x005f6ea0]
mov r8, qword [rdx + rcx*8]
mov rax, qword [rax + rbx]
mov qword [rsp + 0x20], rax
mov rcx, qword [rsp + 0x80]
lea rdx, [0x00604ec9]
call fcn.00419c10
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x30], 0xfffffffa
mov dword [rsp + 0x20], 0
mov rcx, rsi
mov edx, 0x75
xor r8d, r8d
mov r9d, 3
call fcn.004c62a0
mov rcx, qword [rsi + 0x18]
not r15d
mov eax, dword [rcx + 0x44]
add eax, dword [rcx + 0x48]
js 0x4c1727
mov rsi, qword [rsp + 0x68]
mov eax, dword [rsi]
mov rcx, qword [rcx + 0x50]
movsxd rdx, r15d
mov dword [rcx + rdx*4], eax
jmp 0x4c1737
mov rdx, rsi
mov r8d, r15d
call fcn.004d3e00
mov rsi, qword [rsp + 0x68]
movsxd rax, dword [rsi]
mov rcx, qword [rsp + 0x60]
cmp dword [rcx], eax
jle 0x4c1764
lea ecx, [rax + 1]
mov dword [rsi], ecx
mov rcx, qword [rsp + 0x70]
mov rcx, qword [rcx]
lea rax, [rax + rax*2]
movups xmmword [rcx + rax*8], xmm12
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4c1787
mov dword [rsp + 0x20], 0
mov rcx, qword [rsp + 0x58]
mov edx, 0x54
mov r8d, 3
mov r9d, 1
call fcn.0047df60
movsxd rax, dword [rsi]
lea r9d, [rax + 2]
mov rcx, qword [rsp + 0x60]
cmp dword [rcx], eax
jle 0x4c17ce
lea ecx, [rax + 1]
mov dword [rsi], ecx
mov rcx, qword [rsp + 0x70]
mov rcx, qword [rcx]
lea rax, [rax + rax*2]
movabs rdx, 0x100000031
mov qword [rcx + rax*8], rdx
mov dword [rcx + rax*8 + 8], r9d
mov dword [rcx + rax*8 + 0xc], 1
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4c17eb
mov dword [rsp + 0x20], 1
mov rcx, qword [rsp + 0x58]
mov edx, 0x31
mov r8d, 1
call fcn.0047df60
movsxd rax, dword [rsi]
mov rcx, qword [rsp + 0x60]
cmp dword [rcx], eax
jle 0x4c1821
lea ecx, [rax + 1]
mov dword [rsi], ecx
mov rcx, qword [rsp + 0x70]
mov rcx, qword [rcx]
lea rax, [rax + rax*2]
mov byte [rcx + rax*8], 0x46
movups xmmword [rcx + rax*8 + 1], xmm6
mov qword [rcx + rax*8 + 0x10], 0
mov rsi, qword [rsp + 0x58]
jmp 0x4c1841
mov dword [rsp + 0x20], 0
mov rsi, qword [rsp + 0x58]
mov rcx, rsi
mov edx, 0x46
xor r8d, r8d
xor r9d, r9d
call fcn.0047df60
mov eax, dword [rsi + 0x90]
mov rcx, qword [rsi]
cmp byte [rcx + 0x67], 0
lea rcx, [0x0213b3e8]
jne 0x4c1259
lea ecx, [rax - 1]
test r13d, r13d
cmovns ecx, r13d
movsxd rcx, ecx
lea rcx, [rcx + rcx*2]
shl rcx, 3
mov rdx, qword [rsp + 0x70]
add rcx, qword [rdx]
jmp 0x4c1259
mov rdx, qword [r12 + 0x20]
test rdx, rdx
mov r13, qword [rsp + 0x58]
mov r14, qword [rsp + 0x78]
je 0x4c1b34
movabs rcx, 0x5bf069b8e953b72d
mov eax, ecx
not eax
or eax, ecx
mov rcx, qword [rsp + 0x80]
and eax, dword [rcx + 0x30]
test eax, 0x200
jne 0x4c1b34
mov rsi, qword [rsp + 0x80]
mov rcx, rsi
xor r8d, r8d
call fcn.004d2fa0
mov r15, rax
cmp byte [rsi + 0x67], 0
je 0x4c18e5
test r15, r15
jne 0x4c1b24
jmp 0x4c1b34
mov eax, dword [r14 + 0x44]
mov qword [rsp + 0x98], rax
lea r13d, [rax - 2]
mov dword [r14 + 0x44], r13d
mov eax, dword [rsp + 0xc8]
add eax, 1
mov dword [r14 + 0x40], eax
mov ebp, dword [r15]
cmp ebp, 2
jl 0x4c1950
mov rax, qword [rsp + 0x98]
lea ebx, [rax - 1]
mov rax, rbp
shl rax, 5
lea rsi, [r15 + rax]
add rsi, 0xffffffffffffffe8
lea rdi, [rbp + 1]
add rbp, 0xffffffffffffffff
mov rdx, qword [rsi]
mov rcx, r14
mov r8d, ebx
xor r9d, r9d
call fcn.004cdaa0
add rsi, 0xffffffffffffffe0
add rdi, 0xffffffffffffffff
cmp rdi, 2
jg 0x4c192d
mov rdx, qword [r15 + 8]
mov rcx, r14
mov r8d, r13d
mov r9d, 0x10
call fcn.004d4490
mov r13, qword [rsp + 0x58]
mov rcx, qword [r13 + 0x18]
mov rdi, qword [rsp + 0x98]
mov r8d, edi
neg r8d
mov eax, dword [rcx + 0x44]
add eax, dword [rcx + 0x48]
js 0x4c1997
mov rax, qword [rsp + 0x68]
mov eax, dword [rax]
mov rcx, qword [rcx + 0x50]
movsxd rdx, r8d
mov dword [rcx + rdx*4], eax
jmp 0x4c199f
mov rdx, r13
call fcn.004d3e00
mov dword [r14 + 0x40], 0
mov r8, qword [r12]
mov rcx, qword [rsp + 0x80]
lea rdx, [0x00604edf]
call fcn.00419c10
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x30], 0xfffffffa
mov dword [rsp + 0x20], 0
mov rcx, r13
mov edx, 0x75
xor r8d, r8d
mov r9d, 3
call fcn.004c62a0
movsxd rax, dword [r13 + 0x90]
cmp dword [r13 + 0x94], eax
jle 0x4c1a20
lea ecx, [rax + 1]
mov rsi, qword [rsp + 0x68]
mov dword [rsi], ecx
mov rcx, qword [rsp + 0x70]
mov rcx, qword [rcx]
lea rax, [rax + rax*2]
movups xmmword [rcx + rax*8], xmm12
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4c1a46
mov dword [rsp + 0x20], 0
mov rcx, r13
mov edx, 0x54
mov r8d, 3
mov r9d, 1
call fcn.0047df60
mov rsi, qword [rsp + 0x68]
movsxd rax, dword [rsi]
lea r9d, [rax + 2]
mov rcx, qword [rsp + 0x60]
cmp dword [rcx], eax
jle 0x4c1a8d
lea ecx, [rax + 1]
mov dword [rsi], ecx
mov rcx, qword [rsp + 0x70]
mov rcx, qword [rcx]
lea rax, [rax + rax*2]
movabs rdx, 0x100000031
mov qword [rcx + rax*8], rdx
mov dword [rcx + rax*8 + 8], r9d
mov dword [rcx + rax*8 + 0xc], 1
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4c1aa8
mov dword [rsp + 0x20], 1
mov rcx, r13
mov edx, 0x31
mov r8d, 1
call fcn.0047df60
movsxd rax, dword [rsi]
mov rcx, qword [rsp + 0x60]
cmp dword [rcx], eax
jle 0x4c1ad9
lea ecx, [rax + 1]
mov dword [rsi], ecx
mov rcx, qword [rsp + 0x70]
mov rcx, qword [rcx]
lea rax, [rax + rax*2]
mov byte [rcx + rax*8], 0x46
movups xmmword [rcx + rax*8 + 1], xmm6
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4c1af4
mov dword [rsp + 0x20], 0
mov rcx, r13
mov edx, 0x46
xor r8d, r8d
xor r9d, r9d
call fcn.0047df60
mov rcx, qword [r13 + 0x18]
mov r8d, 1
sub r8d, edi
mov eax, dword [rcx + 0x44]
add eax, dword [rcx + 0x48]
js 0x4c1b1c
mov rax, qword [rsp + 0x68]
mov eax, dword [rax]
mov rcx, qword [rcx + 0x50]
movsxd rdx, r8d
mov dword [rcx + rdx*4], eax
jmp 0x4c1b24
mov rdx, r13
call fcn.004d3e00
mov rcx, qword [rsp + 0x80]
mov rdx, r15
call fcn.0047fbe0
cmp byte [rsp + 0xf8], 0x51
jne 0x4c1b99
mov r8d, dword [rsp + 0xc8]
mov rdx, qword [rsp + 0x68]
movsxd rax, dword [rdx]
mov rcx, qword [rsp + 0x60]
cmp dword [rcx], eax
jle 0x4c260b
lea ecx, [rax + 1]
mov dword [rdx], ecx
mov rcx, qword [rsp + 0x70]
mov rcx, qword [rcx]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x26
mov dword [rcx + rax*8 + 4], r8d
mov esi, dword [rsp + 0xd8]
mov dword [rcx + rax*8 + 8], esi
mov dword [rcx + rax*8 + 0xc], 0
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4c262a
mov rbp, qword [r12 + 0x10]
test rbp, rbp
mov rbx, qword [rsp + 0x68]
mov r15, qword [rsp + 0xa0]
je 0x4c25b8
xor eax, eax
mov dword [rsp + 0x98], 0xffffffff
xor r14d, r14d
jmp 0x4c1be7
mov rax, rbp
mov rbx, qword [rsp + 0x68]
mov r15, qword [rsp + 0xa0]
add r14d, 1
mov rbp, qword [rbp + 0x28]
test rbp, rbp
je 0x4c25b8
mov rcx, qword [rsp + 0x78]
mov esi, dword [rcx + 0x44]
add esi, 0xffffffff
mov dword [rcx + 0x44], esi
cmp r15, rbp
je 0x4c1bd6
mov r8d, dword [rsp + 0xc8]
mov edx, dword [rsp + 0x98]
mov dword [rsp + 0x38], edx
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x10c]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0
mov rdx, rbp
xor r9d, r9d
call fcn.004e0ee0
mov dword [rsp + 0x98], eax
lea r8d, [r14 + 8]
movsxd rax, dword [rbx]
mov rcx, qword [rsp + 0x60]
cmp dword [rcx], eax
jle 0x4c1c7d
mov r15, r12
lea ecx, [rax + 1]
mov dword [rbx], ecx
mov rcx, qword [rsp + 0x70]
mov rcx, qword [rcx]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x56
mov dword [rcx + rax*8 + 4], r8d
mov qword [rcx + rax*8 + 8], 1
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4c1c9b
mov r15, r12
mov dword [rsp + 0x20], 0
mov rcx, r13
mov edx, 0x56
mov r9d, 1
call fcn.0047df60
mov r8d, dword [rsp + 0xf4]
add r8d, r14d
movzx edi, word [rbp + 0x60]
mov r12d, dword [rbx]
mov rax, qword [rsp + 0x60]
cmp dword [rax], r12d
jle 0x4c1cfb
movsxd rax, r12d
lea ecx, [rax + 1]
mov dword [rbx], ecx
mov rcx, qword [rsp + 0x70]
mov rcx, qword [rcx]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x1c
mov dword [rcx + rax*8 + 4], r8d
mov dword [rcx + rax*8 + 8], esi
mov edx, dword [rsp + 0x98]
mov dword [rcx + rax*8 + 0xc], edx
mov qword [rcx + rax*8 + 0x10], 0
mov rax, qword [r13]
cmp byte [rax + 0x67], 0
jne 0x4c1d3b
jmp 0x4c1d23
mov eax, dword [rsp + 0x98]
mov dword [rsp + 0x20], eax
mov rcx, r13
mov edx, 0x1c
mov r9d, esi
call fcn.0047df60
mov r12d, eax
mov rax, qword [r13]
cmp byte [rax + 0x67], 0
jne 0x4c1d3b
mov rax, qword [rsp + 0x70]
mov rax, qword [rax]
movsxd rcx, r12d
lea rcx, [rcx + rcx*2]
mov byte [rax + rcx*8 + 1], 0xfd
mov dword [rax + rcx*8 + 0x10], edi
mov eax, dword [rbx]
mov rcx, qword [rsp + 0x60]
cmp dword [rcx], eax
jle 0x4c1e18
movsxd rcx, eax
lea edx, [rcx + 1]
mov dword [rbx], edx
mov rdx, qword [rsp + 0x70]
mov rdx, qword [rdx]
lea rcx, [rcx + rcx*2]
movups xmmword [rdx + rcx*8], xmm14
mov qword [rdx + rcx*8 + 0x10], 0
mov rcx, qword [r13]
cmp byte [rcx + 0x67], 0
je 0x4c1e44
movsxd rax, dword [rbx]
mov rcx, qword [rsp + 0x60]
cmp dword [rcx], eax
jle 0x4c1e80
lea ecx, [rax + 1]
mov dword [rbx], ecx
mov rcx, qword [rsp + 0x70]
mov rcx, qword [rcx]
lea rax, [rax + rax*2]
movups xmmword [rcx + rax*8], xmm15
mov qword [rcx + rax*8 + 0x10], 0
mov eax, dword [rbx]
mov rcx, qword [rsp + 0x60]
cmp dword [rcx], eax
jg 0x4c1eb0
mov dword [rsp + 0x20], 0
mov rcx, r13
mov edx, 0x75
xor r8d, r8d
mov r9d, 4
call fcn.0047df60
mov rcx, qword [r13]
cmp byte [rcx + 0x67], 0
je 0x4c1edf
movsxd rax, dword [rbx]
mov rcx, qword [rsp + 0x60]
cmp dword [rcx], eax
jle 0x4c1f1b
lea ecx, [rax + 1]
mov dword [rbx], ecx
mov rcx, qword [rsp + 0x70]
mov rcx, qword [rcx]
lea rax, [rax + rax*2]
movups xmmword [rcx + rax*8], xmm8
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4c1f3c
mov dword [rsp + 0x20], 0
mov rcx, r13
mov edx, 0x75
xor r8d, r8d
mov r9d, 3
call fcn.0047df60
mov rcx, qword [r13]
cmp byte [rcx + 0x67], 0
jne 0x4c1d7a
test eax, eax
jns 0x4c1e4d
mov eax, dword [rbx]
add eax, 0xffffffff
cdqe
lea rdx, [rax + rax*2]
shl rdx, 3
add rdx, qword [r13 + 0x88]
mov rcx, r13
lea r8, [0x00604efd]
xor r9d, r9d
call fcn.0047e190
movsxd rax, dword [rbx]
mov rcx, qword [rsp + 0x60]
cmp dword [rcx], eax
jg 0x4c1d8a
mov dword [rsp + 0x20], 3
mov rcx, r13
mov edx, 0x6f
mov r8d, 7
mov r9d, 3
call fcn.0047df60
mov eax, dword [rbx]
mov rcx, qword [rsp + 0x60]
cmp dword [rcx], eax
jle 0x4c1db8
movsxd rcx, eax
lea edx, [rcx + 1]
mov dword [rbx], edx
mov rdx, qword [rsp + 0x70]
mov rdx, qword [rdx]
lea rcx, [rcx + rcx*2]
movups xmmword [rdx + rcx*8], xmm7
mov qword [rdx + rcx*8 + 0x10], 0
mov rcx, qword [r13]
cmp byte [rcx + 0x67], 0
jne 0x4c1de4
test eax, eax
jns 0x4c1ee8
mov eax, dword [rbx]
add eax, 0xffffffff
cdqe
lea rdx, [rax + rax*2]
shl rdx, 3
add rdx, qword [r13 + 0x88]
mov rcx, r13
lea r8, [0x00604f02]
xor r9d, r9d
call fcn.0047e190
movsxd rax, dword [rbx]
mov rcx, qword [rsp + 0x60]
cmp dword [rcx], eax
jg 0x4c1df4
mov dword [rsp + 0x20], 3
mov rcx, r13
mov edx, 0x6f
mov r8d, 4
mov r9d, 3
call fcn.0047df60
mov rsi, qword [rbp]
mov edi, dword [rbx]
mov rax, qword [rsp + 0x60]
cmp dword [rax], edi
jle 0x4c1fe3
movsxd rax, edi
lea ecx, [rax + 1]
mov dword [rbx], ecx
mov rcx, qword [rsp + 0x70]
mov rcx, qword [rcx]
lea rax, [rax + rax*2]
movups xmmword [rcx + rax*8], xmm7
mov qword [rcx + rax*8 + 0x10], 0
mov rax, qword [r13]
cmp byte [rax + 0x67], 0
je 0x4c2011
movsxd rax, dword [rbx]
mov rcx, qword [rsp + 0x60]
cmp dword [rcx], eax
jle 0x4c204b
lea ecx, [rax + 1]
mov dword [rbx], ecx
mov rcx, qword [rsp + 0x70]
mov rcx, qword [rcx]
lea rax, [rax + rax*2]
movups xmmword [rcx + rax*8], xmm8
mov qword [rcx + rax*8 + 0x10], 0
movsxd rax, dword [rbx]
mov rcx, qword [rsp + 0x60]
cmp dword [rcx], eax
jg 0x4c207c
mov dword [rsp + 0x20], 0
mov rcx, r13
mov edx, 0x54
mov r8d, 3
mov r9d, 1
call fcn.0047df60
jmp 0x4c209b
mov dword [rsp + 0x20], 0
mov rcx, r13
mov edx, 0x75
xor r8d, r8d
mov r9d, 4
call fcn.0047df60
mov edi, eax
mov rax, qword [r13]
cmp byte [rax + 0x67], 0
jne 0x4c1f7e
mov eax, edi
test edi, edi
jns 0x4c201c
mov eax, dword [rbx]
add eax, 0xffffffff
cdqe
lea rdx, [rax + rax*2]
shl rdx, 3
add rdx, qword [r13 + 0x88]
mov rcx, r13
mov r8, rsi
xor r9d, r9d
call fcn.0047e190
movsxd rax, dword [rbx]
mov rcx, qword [rsp + 0x60]
cmp dword [rcx], eax
jg 0x4c1f8e
mov dword [rsp + 0x20], 3
mov rcx, r13
mov edx, 0x6f
mov r8d, 4
mov r9d, 3
call fcn.0047df60
movsxd rax, dword [rbx]
mov rcx, qword [rsp + 0x60]
cmp dword [rcx], eax
jle 0x4c1fbd
lea ecx, [rax + 1]
mov dword [rbx], ecx
mov rcx, qword [rsp + 0x70]
mov rcx, qword [rcx]
lea rax, [rax + rax*2]
movups xmmword [rcx + rax*8], xmm12
mov qword [rcx + rax*8 + 0x10], 0
mov ecx, dword [rbx]
lea r9d, [rcx + 2]
mov rax, qword [rsp + 0x60]
cmp dword [rax], ecx
jle 0x4c2113
movsxd rax, ecx
mov qword [rsp + 0xb0], rcx
add ecx, 1
mov dword [rbx], ecx
mov rcx, qword [rsp + 0x70]
mov rcx, qword [rcx]
lea rax, [rax + rax*2]
movabs rdx, 0x100000031
mov qword [rcx + rax*8], rdx
mov dword [rcx + rax*8 + 8], r9d
mov dword [rcx + rax*8 + 0xc], 1
mov qword [rcx + rax*8 + 0x10], 0
movsxd rax, dword [rbx]
mov rcx, qword [rsp + 0x60]
cmp dword [rcx], eax
jg 0x4c2142
mov dword [rsp + 0x20], 0
mov rcx, r13
mov edx, 0x46
xor r8d, r8d
xor r9d, r9d
call fcn.0047df60
jmp 0x4c2165
mov dword [rsp + 0x20], 1
mov rcx, r13
mov edx, 0x31
mov r8d, 1
call fcn.0047df60
mov qword [rsp + 0xb0], rax
movsxd rax, dword [rbx]
mov rcx, qword [rsp + 0x60]
cmp dword [rcx], eax
jle 0x4c20f6
lea ecx, [rax + 1]
mov dword [rbx], ecx
mov rcx, qword [rsp + 0x70]
mov rcx, qword [rcx]
lea rax, [rax + rax*2]
mov byte [rcx + rax*8], 0x46
movups xmmword [rcx + rax*8 + 1], xmm6
mov qword [rcx + rax*8 + 0x10], 0
mov rbx, qword [rsp + 0x78]
mov esi, dword [r13 + 0x90]
mov rax, qword [r13]
cmp byte [rax + 0x67], 0
lea rax, [0x0213b3e8]
jne 0x4c219e
lea eax, [rsi - 1]
test r12d, r12d
cmovns eax, r12d
cdqe
lea rax, [rax + rax*2]
shl rax, 3
mov rcx, qword [rsp + 0x70]
add rax, qword [rcx]
mov dword [rax + 8], esi
cmp byte [rbp + 0x62], 0
mov r12, r15
je 0x4c252a
mov dword [rsp + 0xd0], edi
mov r15d, dword [rbx + 0x44]
lea edi, [r15 - 1]
mov dword [rbx + 0x44], edi
cmp word [rbp + 0x5e], 0
je 0x4c227f
mov esi, dword [rsp + 0x98]
xor ebx, ebx
jmp 0x4c221f
lea ecx, [rax + 1]
mov dword [rdx], ecx
mov rcx, qword [rsp + 0x70]
mov rcx, qword [rcx]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x32
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
add rbx, 1
movzx eax, word [rbp + 0x5e]
cmp rbx, rax
jae 0x4c2273
mov rax, qword [rbp + 8]
movzx eax, word [rax + rbx*2]
test ax, ax
js 0x4c2242
mov rcx, qword [r12 + 8]
lea rax, [rax + rax*2]
mov eax, dword [rcx + rax*8 + 8]
mov ecx, eax
xor ecx, 0xfffffff0
test ecx, eax
jne 0x4c2212
lea r8, [rsi + rbx]
mov rdx, qword [rsp + 0x68]
movsxd rax, dword [rdx]
mov rcx, qword [rsp + 0x60]
cmp dword [rcx], eax
jg 0x4c21e0
mov dword [rsp + 0x20], 0
mov rcx, qword [rsp + 0x58]
mov edx, 0x32
mov r9d, edi
call fcn.0047df60
jmp 0x4c2212
mov rax, qword [rsp + 0x68]
mov esi, dword [rax]
mov r13, qword [rsp + 0x58]
mov r8d, dword [rsp + 0xf4]
add r8d, r14d
mov rax, qword [rsp + 0x60]
cmp dword [rax], esi
jle 0x4c22e6
lea eax, [rsi + 1]
mov rdx, qword [rsp + 0x68]
mov dword [rdx], eax
mov rax, qword [rsp + 0x70]
mov rax, qword [rax]
movsxd rcx, esi
lea rcx, [rcx + rcx*2]
mov dword [rax + rcx*8], 0x26
mov dword [rax + rcx*8 + 4], r8d
movups xmmword [rax + rcx*8 + 8], xmm6
movsxd rax, dword [rdx]
mov rcx, qword [rsp + 0x60]
cmp dword [rcx], eax
jg 0x4c2311
mov dword [rsp + 0x20], 0
mov rcx, r13
mov edx, 8
xor r8d, r8d
mov r9d, edi
call fcn.0047df60
jmp 0x4c233f
mov dword [rsp + 0x20], 0
mov rcx, r13
mov edx, 0x26
xor r9d, r9d
call fcn.0047df60
mov esi, eax
mov rdx, qword [rsp + 0x68]
movsxd rax, dword [rdx]
mov rcx, qword [rsp + 0x60]
cmp dword [rcx], eax
jle 0x4c22c9
lea ecx, [rax + 1]
mov dword [rdx], ecx
mov rcx, qword [rsp + 0x70]
mov rcx, qword [rcx]
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
mov eax, dword [r13 + 0x90]
mov rcx, qword [r13]
cmp byte [rcx + 0x67], 0
lea rcx, [0x0213b3e8]
jne 0x4c2372
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 + 0x70]
add rcx, qword [rdx]
mov dword [rcx + 8], eax
movzx esi, word [rbp + 0x5e]
mov r8d, dword [rsp + 0xf4]
add r8d, r14d
mov rcx, qword [rsp + 0x60]
cmp dword [rcx], eax
jle 0x4c23cc
movsxd rcx, eax
lea edx, [rax + 1]
mov rbx, qword [rsp + 0x68]
mov dword [rbx], edx
mov rdx, qword [rsp + 0x70]
mov rdx, qword [rdx]
lea rcx, [rcx + rcx*2]
mov dword [rdx + rcx*8], 0x28
mov dword [rdx + rcx*8 + 4], r8d
mov dword [rdx + rcx*8 + 8], edi
mov ebx, dword [rsp + 0x98]
mov dword [rdx + rcx*8 + 0xc], ebx
mov qword [rdx + rcx*8 + 0x10], 0
jmp 0x4c23e7
mov eax, dword [rsp + 0x98]
mov dword [rsp + 0x20], eax
mov rcx, r13
mov edx, 0x28
mov r9d, edi
call fcn.0047df60
mov rcx, qword [r13]
cmp byte [rcx + 0x67], 0
mov edi, dword [rsp + 0xd0]
jne 0x4c240f
mov rcx, qword [rsp + 0x70]
mov rcx, qword [rcx]
cdqe
lea rax, [rax + rax*2]
mov byte [rcx + rax*8 + 1], 0xfd
mov dword [rcx + rax*8 + 0x10], esi
mov rbx, qword [rsp + 0x68]
mov eax, dword [rbx]
mov rcx, qword [rsp + 0x60]
cmp dword [rcx], eax
jle 0x4c2443
movsxd rcx, eax
lea edx, [rcx + 1]
mov dword [rbx], edx
mov rdx, qword [rsp + 0x70]
mov rdx, qword [rdx]
lea rcx, [rcx + rcx*2]
movups xmmword [rdx + rcx*8], xmm14
mov qword [rdx + rcx*8 + 0x10], 0
jmp 0x4c2461
mov dword [rsp + 0x20], 0
mov rcx, r13
mov edx, 0x75
xor r8d, r8d
mov r9d, 3
call fcn.0047df60
mov rbx, qword [rsp + 0x78]
mov rcx, qword [r13]
cmp byte [rcx + 0x67], 0
jne 0x4c24a1
test eax, eax
jns 0x4c247e
mov rax, qword [rsp + 0x68]
mov eax, dword [rax]
add eax, 0xffffffff
cdqe
lea rdx, [rax + rax*2]
shl rdx, 3
add rdx, qword [r13 + 0x88]
mov rcx, r13
lea r8, [0x00604f17]
xor r9d, r9d
call fcn.0047e190
mov rdx, qword [rsp + 0x68]
movsxd rax, dword [rdx]
mov rcx, qword [rsp + 0x60]
cmp dword [rcx], eax
jle 0x4c24e2
lea ecx, [rax + 1]
mov dword [rdx], ecx
mov rcx, qword [rsp + 0x70]
mov rcx, qword [rcx]
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 0x4c24fd
mov dword [rsp + 0x20], 0
mov rcx, r13
mov edx, 8
xor r8d, r8d
mov r9d, edi
call fcn.0047df60
mov rcx, qword [r13 + 0x18]
neg r15d
mov eax, dword [rcx + 0x44]
add eax, dword [rcx + 0x48]
js 0x4c251f
mov rax, qword [rsp + 0x68]
mov eax, dword [rax]
mov rcx, qword [rcx + 0x50]
movsxd rdx, r15d
mov dword [rcx + rdx*4], eax
jmp 0x4c252a
mov rdx, r13
mov r8d, r15d
call fcn.004d3e00
mov eax, dword [r13 + 0x90]
mov rcx, qword [r13]
cmp byte [rcx + 0x67], 0
lea rcx, [0x0213b3e8]
jne 0x4c2565
lea ecx, [rax - 1]
mov rdx, qword [rsp + 0xb0]
test edx, edx
cmovns ecx, edx
movsxd rcx, ecx
lea rcx, [rcx + rcx*2]
shl rcx, 3
mov rdx, qword [rsp + 0x70]
add rcx, qword [rdx]
mov dword [rcx + 8], eax
mov r8d, dword [rsp + 0x10c]
test r8d, r8d
je 0x4c1bc6
mov rdx, qword [rbx + 0x10]
mov rcx, qword [rdx + 0x18]
not r8d
mov eax, dword [rcx + 0x44]
add eax, dword [rcx + 0x48]
mov rbx, qword [rsp + 0x68]
mov r15, qword [rsp + 0xa0]
js 0x4c25ab
mov eax, dword [rdx + 0x90]
mov rcx, qword [rcx + 0x50]
movsxd rdx, r8d
mov dword [rcx + rdx*4], eax
jmp 0x4c25b0
call fcn.004d3e00
mov rax, rbp
jmp 0x4c1bd6
mov r8d, dword [rsp + 0xc8]
movsxd rax, dword [rbx]
mov rcx, qword [rsp + 0x60]
cmp dword [rcx], eax
jle 0x4c2666
lea ecx, [rax + 1]
mov dword [rbx], ecx
mov rcx, qword [rsp + 0x70]
mov rcx, qword [rcx]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x26
mov dword [rcx + rax*8 + 4], r8d
mov edx, dword [rsp + 0xd8]
mov dword [rcx + rax*8 + 8], edx
mov dword [rcx + rax*8 + 0xc], 0
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4c2683
mov dword [rsp + 0x20], 0
mov rcx, r13
mov edx, 0x26
mov esi, dword [rsp + 0xd8]
mov r9d, esi
call fcn.0047df60
mov eax, dword [r13 + 0x90]
mov rcx, qword [r13]
cmp byte [rcx + 0x67], 0
lea rcx, [0x0213b3e8]
jne 0x4c0f43
test esi, esi
cmovle esi, eax
add esi, 0xffffffff
movsxd rcx, esi
lea rcx, [rcx + rcx*2]
shl rcx, 3
mov rdx, qword [rsp + 0x70]
add rcx, qword [rdx]
jmp 0x4c0f43
mov dword [rsp + 0x20], 0
mov rcx, r13
mov edx, 0x26
mov r9d, dword [rsp + 0xd8]
call fcn.0047df60
mov eax, dword [r13 + 0x90]
mov rcx, qword [r13]
cmp byte [rcx + 0x67], 0
lea rcx, [0x0213b3e8]
jne 0x4c26bd
mov ecx, dword [rsp + 0xd8]
test ecx, ecx
cmovle ecx, eax
add ecx, 0xffffffff
movsxd rcx, ecx
lea rcx, [rcx + rcx*2]
shl rcx, 3
mov rdx, qword [rsp + 0x70]
add rcx, qword [rdx]
mov dword [rcx + 8], eax
mov rcx, qword [rsp + 0x60]
cmp dword [rcx], eax
jle 0x4c26ed
movsxd rcx, eax
lea edx, [rax + 1]
mov dword [rbx], edx
mov rdx, qword [rsp + 0x70]
mov rdx, qword [rdx]
lea rcx, [rcx + rcx*2]
movups xmmword [rdx + rcx*8], xmm11
mov qword [rdx + rcx*8 + 0x10], 0
jmp 0x4c270b
mov dword [rsp + 0x20], 0
mov rcx, r13
mov edx, 0x75
xor r8d, r8d
mov r9d, 2
call fcn.0047df60
mov rcx, qword [r13]
cmp byte [rcx + 0x67], 0
jne 0x4c2741
test eax, eax
jns 0x4c271e
mov eax, dword [rbx]
add eax, 0xffffffff
cdqe
lea rdx, [rax + rax*2]
shl rdx, 3
add rdx, qword [r13 + 0x88]
mov rcx, r13
lea r8, [0x00604f32]
xor r9d, r9d
call fcn.0047e190
mov rbp, qword [r12 + 0x10]
test rbp, rbp
je 0x4c0f46
xor esi, esi
mov edi, 8
jmp 0x4c276e
mov dword [rcx + 8], eax
add esi, 1
mov rbp, qword [rbp + 0x28]
add edi, 1
test rbp, rbp
je 0x4c0f46
cmp r15, rbp
je 0x4c275b
mov eax, dword [rsp + 0xf4]
lea r8d, [rdi + rax]
add r8d, 0xfffffff8
movsxd rax, dword [rbx]
mov rcx, qword [rsp + 0x60]
cmp dword [rcx], eax
jle 0x4c27ea
lea ecx, [rax + 1]
mov dword [rbx], ecx
mov rcx, qword [rsp + 0x70]
mov rcx, qword [rcx]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x62
mov dword [rcx + rax*8 + 4], r8d
mov qword [rcx + rax*8 + 8], 3
mov qword [rcx + rax*8 + 0x10], 0
mov r14d, dword [rbx]
mov rax, qword [rsp + 0x60]
cmp dword [rax], r14d
jg 0x4c2812
mov dword [rsp + 0x20], 3
mov rcx, r13
mov edx, 0x35
mov r8d, edi
xor r9d, r9d
call fcn.0047df60
mov r14d, eax
jmp 0x4c2849
mov dword [rsp + 0x20], 0
mov rcx, r13
mov edx, 0x62
mov r9d, 3
call fcn.0047df60
mov r14d, dword [rbx]
mov rax, qword [rsp + 0x60]
cmp dword [rax], r14d
jle 0x4c27ca
movsxd rax, r14d
lea ecx, [rax + 1]
mov dword [rbx], ecx
mov rcx, qword [rsp + 0x70]
mov rcx, qword [rcx]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 0x35
mov dword [rcx + rax*8 + 4], edi
movabs rdx, 0x300000000
mov qword [rcx + rax*8 + 8], rdx
mov qword [rcx + rax*8 + 0x10], 0
movsxd rax, dword [rbx]
test rax, rax
jle 0x4c2867
mov rcx, qword [rsp + 0x70]
mov rcx, qword [rcx]
lea edx, [rax - 1]
lea rdx, [rdx + rdx*2]
mov word [rcx + rdx*8 + 2], 0x90
mov r15, qword [rbp]
mov rcx, qword [rsp + 0x60]
cmp dword [rcx], eax
jle 0x4c28a7
lea ecx, [rax + 1]
mov rdx, qword [rsp + 0x68]
mov dword [rdx], ecx
mov rcx, qword [rsp + 0x70]
mov rcx, qword [rcx]
lea rdx, [rax + rax*2]
movups xmmword [rcx + rdx*8], xmm7
mov qword [rcx + rdx*8 + 0x10], 0
mov rbx, qword [rsp + 0x58]
mov rcx, qword [rbx]
cmp byte [rcx + 0x67], 0
jne 0x4c2902
jmp 0x4c28d3
mov dword [rsp + 0x20], 0
mov rbx, qword [rsp + 0x58]
mov rcx, rbx
mov edx, 0x75
xor r8d, r8d
mov r9d, 4
call fcn.0047df60
mov rcx, qword [rbx]
cmp byte [rcx + 0x67], 0
jne 0x4c2902
test eax, eax
jns 0x4c28e1
mov rax, qword [rsp + 0x68]
mov eax, dword [rax]
add eax, 0xffffffff
cdqe
lea rdx, [rax + rax*2]
shl rdx, 3
mov rcx, qword [rsp + 0x58]
add rdx, qword [rcx + 0x88]
mov r8, r15
xor r9d, r9d
call fcn.0047e190
mov rbx, qword [rsp + 0x68]
movsxd rax, dword [rbx]
mov rcx, qword [rsp + 0x60]
cmp dword [rcx], eax
jle 0x4c2939
lea ecx, [rax + 1]
mov dword [rbx], ecx
mov rcx, qword [rsp + 0x70]
mov rcx, qword [rcx]
lea rax, [rax + rax*2]
movups xmmword [rcx + rax*8], xmm13
mov qword [rcx + rax*8 + 0x10], 0
mov r13, qword [rsp + 0x58]
jmp 0x4c295f
mov dword [rsp + 0x20], 3
mov r13, qword [rsp + 0x58]
mov rcx, r13
mov edx, 0x6f
mov r8d, 4
mov r9d, 2
call fcn.0047df60
mov r15, qword [rsp + 0xa0]
movsxd rax, dword [rbx]
mov rcx, qword [rsp + 0x60]
cmp dword [rcx], eax
jle 0x4c2994
lea ecx, [rax + 1]
mov dword [rbx], ecx
mov rcx, qword [rsp + 0x70]
mov rcx, qword [rcx]
lea rax, [rax + rax*2]
movups xmmword [rcx + rax*8], xmm12
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4c29b5
mov dword [rsp + 0x20], 0
mov rcx, r13
mov edx, 0x54
mov r8d, 3
mov r9d, 1
call fcn.0047df60
movsxd rax, dword [rbx]
lea r9d, [rax + 2]
mov rcx, qword [rsp + 0x60]
cmp dword [rcx], eax
jle 0x4c2a23
lea ecx, [rax + 1]
mov dword [rbx], ecx
mov rcx, qword [rsp + 0x70]
mov rcx, qword [rcx]
lea rax, [rax + rax*2]
movabs rdx, 0x100000031
mov qword [rcx + rax*8], rdx
mov dword [rcx + rax*8 + 8], r9d
mov dword [rcx + rax*8 + 0xc], 1
mov qword [rcx + rax*8 + 0x10], 0
movsxd rax, dword [rbx]
mov rcx, qword [rsp + 0x60]
cmp dword [rcx], eax
jg 0x4c2a4a
mov dword [rsp + 0x20], 0
mov rcx, r13
mov edx, 0x46
xor r8d, r8d
xor r9d, r9d
call fcn.0047df60
jmp 0x4c2a6d
mov dword [rsp + 0x20], 1
mov rcx, r13
mov edx, 0x31
mov r8d, 1
call fcn.0047df60
movsxd rax, dword [rbx]
mov rcx, qword [rsp + 0x60]
cmp dword [rcx], eax
jle 0x4c2a06
lea ecx, [rax + 1]
mov dword [rbx], ecx
mov rcx, qword [rsp + 0x70]
mov rcx, qword [rcx]
lea rax, [rax + rax*2]
mov byte [rcx + rax*8], 0x46
movups xmmword [rcx + rax*8 + 1], xmm6
mov qword [rcx + rax*8 + 0x10], 0
mov eax, dword [r13 + 0x90]
mov rcx, qword [r13]
cmp byte [rcx + 0x67], 0
lea rcx, [0x0213b3e8]
jne 0x4c2758
lea ecx, [rax - 1]
test r14d, r14d
cmovns ecx, r14d
movsxd rcx, ecx
lea rcx, [rcx + rcx*2]
shl rcx, 3
mov rdx, qword [rsp + 0x70]
add rcx, qword [rdx]
jmp 0x4c2758
lea r8, [0x00604f50]
mov rsi, qword [rsp + 0x58]
mov rcx, rsi
mov edx, 7
call fcn.00419d20
test rax, rax
je 0x4c2af9
mov ecx, 1
sub ecx, dword [rsp + 0x130]
mov dword [rax + 8], ecx
mov byte [rax + 0x31], 0xff
lea rcx, [0x00604f6c]
mov qword [rax + 0x40], rcx
mov byte [rax + 0x79], 0xff
lea rcx, [0x006071e8]
mov qword [rax + 0x88], rcx
mov eax, dword [rsi + 0x90]
add eax, 0xfffffffe
mov rcx, qword [rsi]
cmp byte [rcx + 0x67], 0
je 0x4c2b1a
lea rcx, [0x0213b3e8]
mov dword [rcx + 0xc], eax
jmp 0x4c3a5f
mov rcx, qword [rsi + 0x88]
mov dword [rcx + 0xc], eax
jmp 0x4c3a5f
mov rcx, qword [rsp + 0x80]
mov byte [rcx + 0x69], al
mov rcx, qword [rsp + 0xa0]
shl rcx, 5
mov rdx, qword [rsp + 0x70]
mov rcx, qword [rdx + rcx + 8]
mov rcx, qword [rcx + 8]
mov rcx, qword [rcx]
test eax, eax
js 0x4c2b70
cmp byte [rcx + 0x10], 0
jne 0x4c2b70
mov rdx, qword [rcx + 0x128]
test rdx, rdx
je 0x4c2b6d
cmp byte [rdx + 0x3f], 2
je 0x4c2b70
mov byte [rcx + 8], al
add rcx, 8
mov rax, qword [rsp + 0x68]
cmp byte [rcx], 1
mov eax, dword [rax]
movsxd rcx, eax
mov rdx, qword [rsp + 0x60]
mov edx, dword [rdx]
jne 0x4c2bbd
cmp edx, eax
jle 0x4c2bf7
lea edx, [rax + 1]
mov rsi, qword [rsp + 0x58]
mov dword [rsi + 0x90], edx
mov rdx, qword [rsi + 0x88]
lea rcx, [rcx + rcx*2]
movaps xmm0, xmmword [0x005fa500]
movups xmmword [rdx + rcx*8], xmm0
mov qword [rdx + rcx*8 + 0x10], 0
jmp 0x4c2c1a
cmp edx, eax
jle 0x4c2c54
lea edx, [rax + 1]
mov rsi, qword [rsp + 0x58]
mov dword [rsi + 0x90], edx
mov rdx, qword [rsi + 0x88]
lea rcx, [rcx + rcx*2]
movaps xmm0, xmmword [0x005fa500]
movups xmmword [rdx + rcx*8], xmm0
mov qword [rdx + rcx*8 + 0x10], 0
jmp 0x4c2c77
mov dword [rsp + 0x20], 0
mov rsi, qword [rsp + 0x58]
mov rcx, rsi
mov edx, 0x75
xor r8d, r8d
mov r9d, 1
call fcn.0047df60
mov rcx, qword [rsi]
cmp byte [rcx + 0x67], 0
jne 0x4c2cb6
test eax, eax
jns 0x4c2c35
mov rax, qword [rsp + 0x68]
mov eax, dword [rax]
add eax, 0xffffffff
cdqe
lea rdx, [rax + rax*2]
shl rdx, 3
mov rsi, qword [rsp + 0x58]
add rdx, qword [rsi + 0x88]
lea r8, [0x005fbfdb]
jmp 0x4c2cab
mov dword [rsp + 0x20], 0
mov rsi, qword [rsp + 0x58]
mov rcx, rsi
mov edx, 0x75
xor r8d, r8d
mov r9d, 1
call fcn.0047df60
mov rcx, qword [rsi]
cmp byte [rcx + 0x67], 0
jne 0x4c2cb6
test eax, eax
jns 0x4c2c8e
mov rax, qword [rsp + 0x68]
mov eax, dword [rax]
add eax, 0xffffffff
cdqe
lea rdx, [rax + rax*2]
shl rdx, 3
mov rsi, qword [rsp + 0x58]
add rdx, qword [rsi + 0x88]
lea r8, [0x00604da9]
mov rcx, rsi
xor r9d, r9d
call fcn.0047e190
mov rax, qword [rsp + 0x68]
movsxd rax, dword [rax]
mov rcx, qword [rsp + 0x60]
cmp dword [rcx], eax
jle 0x4c2cdc
lea ecx, [rax + 1]
mov dword [rsi + 0x90], ecx
mov rcx, qword [rsi + 0x88]
jmp 0x4c3a24
mov dword [rsp + 0x20], 0
mov rcx, rsi
jmp 0x4c3a49
lea r8, [0x00605053]
mov rcx, rbx
mov edx, 2
call fcn.00419d20
mov rsi, rax
mov dword [rax + 4], ebp
mov dword [rax + 0x1c], ebp
mov dword [rax + 0x20], edi
mov dword [rsp + 0x88], 0
lea rdx, [rsp + 0x88]
mov rcx, qword [rsp + 0x90]
call fcn.0047a900
mov eax, dword [rsp + 0x88]
mov dword [rsi + 0x24], eax
mov word [rsi + 0x1a], 1
jmp 0x4c3a5f
mov dword [rsp + 0x20], 0
mov rdi, qword [rsp + 0x58]
mov rcx, rdi
mov edx, 0x75
xor r8d, r8d
mov r9d, 1
call fcn.0047df60
mov rcx, qword [rdi]
cmp byte [rcx + 0x67], 0
jne 0x4c4617
shl rsi, 4
lea rcx, [0x00604f70]
mov r8, qword [rsi + rcx]
test eax, eax
jns 0x4c2d8e
mov rax, qword [rsp + 0x68]
mov eax, dword [rax]
add eax, 0xffffffff
cdqe
lea rdx, [rax + rax*2]
shl rdx, 3
mov rcx, qword [rsp + 0x58]
add rdx, qword [rcx + 0x88]
xor r9d, r9d
call fcn.0047e190
jmp 0x4c4617
xor ecx, ecx
lea rdx, [0x005fdabc]
jmp 0x4c2dd9
movzx eax, al
movzx eax, byte [rax + r9]
cmp al, byte [rbp + r9]
jne 0x4c380f
movzx eax, byte [r10 + rcx + 1]
add rcx, 1
movzx ebp, byte [rcx + rdx]
cmp al, bpl
jne 0x4c2dbc
test al, al
jne 0x4c2dcf
mov edi, 2
jmp 0x4c3811
mov dword [rsp + 0x88], 0
lea rdx, [rsp + 0x88]
mov rcx, r14
call fcn.0047a900
mov eax, dword [rsp + 0x88]
mov ecx, eax
xor ecx, 0xffffff00
and ecx, eax
xor esi, esi
cmp eax, 3
cmovb esi, ecx
mov r15, qword [rsp + 0x80]
mov byte [r15 + 0x6a], sil
mov rbx, qword [rdi + 8]
cmp byte [rdi + 0x11], 0
je 0x4c2e4c
add dword [rdi + 0x14], 1
cmp byte [rdi + 0x12], 0
jne 0x4c2e4c
mov rcx, rdi
call fcn.0043e9d0
mov eax, dword [rbx + 0x28]
not eax
or eax, 0xfffd
cmp ax, 0xffff
je 0x4c2e66
test esi, esi
setne al
cmp byte [rbx + 0x21], al
jne 0x4c2e77
test esi, esi
setne byte [rbx + 0x21]
cmp esi, 2
sete byte [rbx + 0x22]
mov bl, 1
jmp 0x4c2e79
xor ebx, ebx
cmp byte [rdi + 0x11], 0
je 0x4c2e8d
add dword [rdi + 0x14], 0xffffffff
jne 0x4c2e8d
mov rcx, rdi
call fcn.0043ea70
add esi, 0xffffffff
cmp esi, 2
setb al
xor bl, 1
cmp al, bl
je 0x4c3a5f
cmp esi, 1
ja 0x4c3a5f
mov r14, qword [rsp + 0x58]
mov edi, dword [r14 + 0x90]
lea r8, [0x00604db0]
mov rcx, r14
mov edx, 5
call fcn.00419d20
mov rcx, qword [rsp + 0xb0]
mov dword [rax + 4], ecx
mov dword [rax + 0x1c], ecx
add edi, 4
mov dword [rax + 0x38], edi
mov dword [rax + 0x64], ecx
mov edi, 1
shl edi, cl
mov dword [rax + 0x6c], esi
mov eax, dword [r14 + 0xcc]
mov ebp, eax
not ebp
mov ebx, 0xfffffffe
rol ebx, cl
or ebx, ebp
and ebp, 0x7921dfc1
and eax, 0x86de203e
or eax, ebp
mov ebp, 0x7921dfc1
btr ebp, ecx
mov edx, edi
and edx, 0x86de203e
or edx, ebp
xor edx, eax
not ebx
or ebx, edx
mov dword [r14 + 0xcc], ebx
cmp byte [rsp + 0x98], 0
jne 0x4c3a5f
mov rax, qword [rsp + 0x58]
mov rax, qword [rax]
mov rax, qword [rax + 0x20]
mov rax, qword [rax + r12 + 8]
cmp byte [rax + 0x11], 0
je 0x4c3a5f
mov rbx, qword [rsp + 0x58]
mov eax, dword [rbx + 0xd0]
mov ecx, eax
not ecx
mov edx, edi
not edx
mov ebp, ecx
and ebp, 0x3a41902
and eax, 0xfc5be6fd
or eax, ebp
or ecx, edx
and edx, 0x3a41902
and edi, 0xfc5be6fd
or edi, edx
xor edi, eax
not ecx
or ecx, edi
mov dword [rbx + 0xd0], ecx
jmp 0x4c3a5f
mov ecx, 0xffff8000
lea rax, [0x005fe3b0]
mov rdx, qword [rsp + 0xd0]
mov rbp, qword [rax + rdx*8 + 0x10]
xor eax, eax
test rbp, rbp
setne al
lea edx, [rax + rax*2 + 3]
movzx ebx, word [rdi + rax*2 + 0x5e]
mov rax, qword [rsp + 0x78]
mov dword [rax + 0x38], edx
mov r12, qword [rdi + 0x18]
mov r8, qword [rax + 0xa0]
test r8, r8
cmove r8, rax
mov edx, 1
shl edx, cl
mov eax, dword [r8 + 0x74]
mov esi, eax
btc esi, ecx
not esi
test esi, eax
jne 0x4c3037
mov esi, eax
not esi
mov r9d, edx
not r9d
mov r10d, esi
and r10d, 0xfd044603
and eax, 0x2fbb9fc
or eax, r10d
or esi, r9d
and r9d, 0xfd044603
and edx, 0x2fbb9fc
or edx, r9d
xor edx, eax
not esi
or esi, edx
mov dword [r8 + 0x74], esi
cmp ecx, 1
jne 0x4c3037
mov rcx, r8
call fcn.004306d0
test bx, bx
je 0x4c3a5f
xor esi, esi
lea r15, [0x00604e45]
lea r14, [0x00604e4a]
mov r13, qword [rsp + 0x58]
jmp 0x4c30a1
lea ecx, [rax + 1]
mov rdx, qword [rsp + 0x58]
mov dword [rdx + 0x90], ecx
mov rcx, qword [rdx + 0x88]
lea rax, [rax + rax*2]
movabs rdx, 0x100000054
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
add rsi, 1
cmp rbx, rsi
je 0x4c3a5f
mov rax, qword [rdi + 8]
movsx eax, word [rax + rsi*2]
test eax, eax
js 0x4c30bf
movzx ecx, ax
mov rdx, qword [r12 + 8]
lea rcx, [rcx + rcx*2]
mov rcx, qword [rdx + rcx*8]
jmp 0x4c30c1
xor ecx, ecx
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], eax
mov rcx, r13
mov edx, 1
mov r8, r15
mov r9d, esi
call fcn.0051bbb0
test rbp, rbp
je 0x4c3118
movzx eax, word [rdi + 0x5e]
mov rcx, qword [rdi + 0x38]
mov rdx, qword [rdi + 0x40]
mov rdx, qword [rdx + rsi*8]
movzx r9d, byte [rcx + rsi]
xor ecx, ecx
cmp rsi, rax
setb cl
mov qword [rsp + 0x20], rdx
mov dword [rsp + 0x28], ecx
mov rcx, r13
mov edx, 4
mov r8, r14
call fcn.0051bbb0
mov rax, qword [rsp + 0x78]
mov r9d, dword [rax + 0x38]
mov rax, qword [rsp + 0x68]
movsxd rax, dword [rax]
mov rcx, qword [rsp + 0x60]
cmp dword [rcx], eax
jg 0x4c3057
mov dword [rsp + 0x20], 0
mov rcx, qword [rsp + 0x58]
mov edx, 0x54
mov r8d, 1
call fcn.0047df60
add rsi, 1
cmp rbx, rsi
jne 0x4c30a1
jmp 0x4c3a5f
mov ecx, 0xffff8000
mov rdx, qword [rsp + 0x78]
mov dword [rdx + 0x38], 5
mov rax, qword [rdx + 0xa0]
test rax, rax
cmove rax, rdx
mov edx, 1
shl edx, cl
mov edi, 0xfffffffe
rol edi, cl
mov ebx, dword [rax + 0x74]
mov ebp, ebx
not ebp
or edi, ebp
cmp edi, 0xffffffff
jne 0x4c31da
mov edi, edx
not edi
mov esi, ebp
and esi, 0x349f1a75
and ebx, 0xcb60e58a
or ebx, esi
or ebp, edi
and edi, 0x349f1a75
and edx, 0xcb60e58a
or edx, edi
xor edx, ebx
not ebp
or ebp, edx
mov dword [rax + 0x74], ebp
cmp ecx, 1
jne 0x4c31da
mov rcx, rax
call fcn.004306d0
mov rbx, qword [r14 + 0x10]
test rbx, rbx
je 0x4c3a5f
xor esi, esi
lea r14, [0x00604e60]
lea rdi, [0x00604e78]
mov rax, qword [rbx]
xor ecx, ecx
cmp byte [rbx + 0x62], 0
setne cl
mov edx, dword [rbx + 0x64]
mov ebp, edx
xor ebp, 0xfffffffc
and ebp, edx
mov rdx, qword [r14 + rbp*8]
xor ebp, ebp
cmp qword [rbx + 0x48], 0
setne bpl
mov dword [rsp + 0x38], ebp
mov dword [rsp + 0x28], ecx
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x30], rdx
mov rcx, qword [rsp + 0x58]
mov edx, 1
mov r8, rdi
mov r9d, esi
call fcn.0051bbb0
add esi, 1
mov rbx, qword [rbx + 0x28]
test rbx, rbx
jne 0x4c31f7
jmp 0x4c3a5f
xor esi, esi
mov rdi, qword [rsp + 0x58]
mov rcx, qword [rdi]
mov edx, 8
call fcn.00429840
test rax, rax
je 0x4c327f
mov qword [rax], rsi
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x30], 0xfffffff3
jmp 0x4c3290
mov dword [rsp + 0x30], 0xfffffff3
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
mov rcx, rdi
jmp 0x4c4604
mov dword [rsp + 0x30], 0xfffffff3
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
mov rcx, rbx
jmp 0x4c4604
mov qword [rsp + 0x68], rdx
mov rcx, qword [rsp + 0x78]
mov dword [rcx + 0x38], 7
mov rsi, qword [rsp + 0x60]
mov rdx, rsi
call fcn.004ddca0
movzx edx, word [rsi + 0x36]
test dx, dx
lea rax, [0x005fe3b0]
jle 0x4c3a5f
movzx ecx, dx
mov rbp, qword [rsp + 0x60]
mov rdi, qword [rbp + 8]
mov rbp, qword [rsp + 0xd0]
lea rax, [rax + rbp*8]
add rax, 0x10
mov qword [rsp + 0x70], rax
xor ebp, ebp
mov dword [rsp + 0x78], 0
jmp 0x4c336c
xor edx, edx
mov dword [rsp + 0x48], r10d
mov dword [rsp + 0x40], r14d
mov qword [rsp + 0x38], rdx
mov dword [rsp + 0x30], ecx
mov qword [rsp + 0x28], r8
mov qword [rsp + 0x20], rbx
mov rcx, qword [rsp + 0x58]
mov edx, 1
mov r8, r12
call fcn.0051bbb0
mov rax, qword [rsp + 0x60]
movzx edx, word [rax + 0x36]
add ebp, 1
add rdi, 0x18
movsx ecx, dx
cmp ebp, ecx
jge 0x4c3a5f
movzx esi, word [rdi + 0x12]
not esi
mov eax, esi
or eax, 0xffffff9d
cmp eax, 0xffffffff
mov r8, qword [rsp + 0x68]
je 0x4c33a1
mov rax, qword [rsp + 0x70]
cmp qword [rax], 0
je 0x4c33a9
mov eax, esi
or eax, 0xffffffdf
cmp eax, 0xffffffff
je 0x4c33b0
mov r10d, 2
mov r15b, 1
jmp 0x4c33c7
xor r15d, r15d
xor r10d, r10d
jmp 0x4c33c7
add dword [rsp + 0x78], 1
jmp 0x4c335a
mov eax, esi
or eax, 0xffffffbf
xor r15d, r15d
cmp eax, 0xffffffff
setne r15b
lea r10d, [r15 + r15]
add r10d, 1
test r8, r8
sete dl
mov eax, esi
or eax, 0xfffffffe
cmp ax, 0xffff
mov r14d, eax
not r14d
sete bl
test bl, dl
jne 0x4c3416
xor bl, dl
jne 0x4c3416
test ecx, ecx
jle 0x4c3410
mov rdx, qword [r8 + 8]
add ecx, 1
mov r14d, 1
movsx eax, word [rdx + r14*2 - 2]
cmp ebp, eax
je 0x4c3416
add r14, 1
cmp rcx, r14
jne 0x4c33f8
mov r14d, ecx
jmp 0x4c3416
mov r14d, 1
movzx ecx, word [rdi + 0x10]
test ecx, ecx
je 0x4c342d
mov rax, qword [rsp + 0x60]
cmp byte [rax + 0x3f], 0
je 0x4c34e1
xor r13d, r13d
mov rax, qword [rsp + 0x70]
cmp qword [rax], 0
lea r12, [0x00604e18]
lea rax, [0x00604e20]
cmove r12, rax
mov rbx, qword [rdi]
or esi, 0xfffb
cmp si, 0xffff
je 0x4c3472
mov rcx, rbx
mov esi, r10d
call fcn.005f4bd8
mov r10d, esi
lea r8, [rbx + rax]
add r8, 1
jmp 0x4c3499
mov edx, dword [rdi + 8]
shr edx, 4
mov ecx, edx
xor ecx, 0xffffff0
lea r8, [0x005fadb4]
and ecx, edx
je 0x4c3499
add ecx, 0xffffffff
lea rax, [0x005f6ea0]
mov r8, qword [rax + rcx*8]
mov r9d, ebp
sub r9d, dword [rsp + 0x78]
mov esi, dword [rdi + 8]
mov edx, esi
xor edx, 0xfffffff0
xor ecx, ecx
test edx, esi
setne cl
test r13, r13
setne dl
sete al
xor al, r15b
jne 0x4c3320
xor r15b, 1
or r15b, dl
xor r15b, 1
mov edx, 0
jne 0x4c3322
mov rdx, qword [r13 + 8]
jmp 0x4c3322
mov rax, qword [rsp + 0x60]
mov rdx, qword [rax + 0x50]
test rdx, rdx
je 0x4c342d
cmp dword [rdx], ecx
jl 0x4c342d
add ecx, 0xffffffff
movsxd rax, ecx
shl rax, 5
mov r13, qword [rdx + rax + 8]
jmp 0x4c3430
mov rax, rsi
not rax
movabs rcx, 0xa2a7b2d0adfd58cb
and rax, rcx
not rcx
mov rdx, rsi
and rdx, rcx
or rdx, rax
xor rdx, rcx
mov rcx, qword [rsp + 0x80]
mov rax, qword [rcx + 0x30]
not rax
not rdx
or rdx, rax
not rdx
mov qword [rcx + 0x30], rdx
cmp rsi, 0x80000
jne 0x4c3b9a
mov rax, qword [rsp + 0x80]
mov qword [rax + 0x2f8], 0
jmp 0x4c3bec
mov rax, qword [rsp + 0x88]
test rax, rax
js 0x4bfb08
mov ecx, 0xfffffffe
cmp rax, rcx
jle 0x4bfb16
mov qword [rsp + 0x88], rcx
mov eax, 0xfffffffe
jmp 0x4bfb16
xorps xmm0, xmm0
mov r15, qword [rsp + 0x80]
movups xmmword [r15 + 0x168], xmm0
mov rbx, qword [rsp + 0x58]
lea rax, [0x00423bd0]
cmp qword [r15 + 0x168], rax
je 0x4c35d2
xor esi, esi
jmp 0x4c39b0
movsxd rsi, dword [r15 + 0x170]
jmp 0x4c39b0
test bpl, bpl
je 0x4c3d0b
add rcx, 1
mov rax, qword [rsp + 0x90]
movzx ebp, byte [rax + rcx]
movzx ebx, byte [rcx + rdx]
cmp bpl, bl
je 0x4c35de
movzx eax, byte [rbp + rdi]
cmp al, byte [rbx + rdi]
je 0x4c35e7
xor ecx, ecx
lea rdx, [0x00605034]
lea r8, [0x00604fe0]
lea rdi, [0x005fade0]
jmp 0x4c3cce
mov rcx, r13
xor edx, edx
mov r8, r15
xor r9d, r9d
call fcn.004651a0
test eax, eax
je 0x4c036f
mov rcx, qword [rsp + 0x78]
mov dword [rcx + 0x18], eax
add dword [rcx + 0x30], 1
jmp 0x4c3a5f
xor r9d, r9d
mov rbx, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x68]
mov r8, r13
mov rax, qword [rsp + 0x78]
mov dword [rax + 0x38], 3
movsxd rax, dword [rsi]
mov rcx, qword [rsp + 0x60]
cmp dword [rcx], eax
jle 0x4c36af
lea ecx, [rax + 1]
mov dword [rbx + 0x90], ecx
mov rcx, qword [rbx + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 3
mov dword [rcx + rax*8 + 4], r8d
mov dword [rcx + rax*8 + 8], r9d
mov dword [rcx + rax*8 + 0xc], 1
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4c36c4
mov dword [rsp + 0x20], 1
mov rcx, rbx
mov edx, 3
call fcn.0047df60
movsxd rax, dword [rsi]
mov rcx, qword [rsp + 0x60]
cmp dword [rcx], eax
jle 0x4c36f0
lea ecx, [rax + 1]
mov dword [rbx + 0x90], ecx
mov rcx, qword [rbx + 0x88]
lea rax, [rax + rax*2]
movaps xmm0, xmmword [0x005fa4e0]
jmp 0x4c3a2f
mov dword [rsp + 0x20], 0
mov rcx, rbx
mov edx, 0x54
mov r8d, 1
mov r9d, 3
jmp 0x4c3a5a
mov rcx, rsi
call qword [0x005f6038]
mov rax, qword [rsp + 0x90]
cmp byte [rax], 0
je 0x4c3747
lea rcx, [0x005faef2]
mov rdx, qword [rsp + 0x90]
call fcn.004087f0
mov qword [0x0213b210], rax
jmp 0x4c3a5f
mov qword [0x0213b210], 0
jmp 0x4c3a5f
mov bl, byte [rbx + r8]
xor edi, edi
movzx ecx, bl
mov r14d, 1
cmp edi, ecx
jne 0x4c3784
mov r15, qword [rsp + 0x80]
mov rbx, qword [rsp + 0x58]
mov rbp, qword [rsp + 0xa8]
jmp 0x4c40d3
lea ecx, [rax + 1]
xor edx, edx
lea r8, [0x005fdaaf]
mov esi, eax
lea rbp, [0x005fade0]
mov rbx, qword [rsp + 0x90]
movzx edi, byte [rbx + rdx]
movzx ebx, byte [rdx + r8]
test rdi, rdi
je 0x4c406a
movzx edi, byte [rdi + rbp]
movzx ebx, byte [rbx + rbp]
cmp dil, bl
jne 0x4c406f
add esi, 0xffffffff
add ecx, 0xffffffff
add rdx, 1
cmp ecx, 1
jg 0x4c3799
jmp 0x4c407a
xor edx, edx
div ebx
cmp rax, 0x3b9aca00
mov edi, 0x3b9aca00
cmovl edi, eax
mov edx, edi
call rbp
cmp byte [rsi + 0x11], 0
je 0x4c3a5f
add dword [rsi + 0x14], 0xffffffff
jne 0x4c3a5f
mov rcx, rsi
call fcn.0043ea70
jmp 0x4c3a5f
xor edi, edi
mov rax, qword [rsp + 0x78]
mov rsi, qword [rax]
movzx eax, byte [rsi + 0x66]
cmp edi, eax
je 0x4c3a5f
mov rax, qword [rsi + 0x20]
mov rcx, qword [rax + 0x28]
test rcx, rcx
je 0x4c3dfe
cmp byte [rsi + 0x65], 0
je 0x4c3846
cmp byte [rcx + 0x10], 0
je 0x4c3de5
lea rdx, [0x00605092]
mov rcx, qword [rsp + 0x78]
call fcn.00419aa0
jmp 0x4c3a5f
xor edx, edx
div ebp
mov r15, qword [rsp + 0x80]
mov rbp, qword [rsp + 0xa8]
mov dword [rcx + 0x20], eax
cmp byte [rsi + 0x11], 0
je 0x4c3887
add dword [rsi + 0x14], 0xffffffff
jne 0x4c3887
mov rcx, rsi
call fcn.0043ea70
test edi, edi
setne r8b
mov rcx, qword [rsp + 0x90]
mov edx, 1
call fcn.0051b700
xor ecx, ecx
test al, al
setne cl
mov rax, qword [r15 + 0x30]
and rax, 0xffffffffffffffdf
shl rcx, 5
or rcx, rax
mov qword [r15 + 0x30], rcx
cmp byte [r15 + 0x65], 0
je 0x4c3a5f
mov esi, dword [r15 + 0x28]
test esi, esi
jle 0x4c3a5f
mov rdi, qword [rbp]
lea ebx, [rsi + 1]
add rdi, 0x10
jmp 0x4c38f0
add esi, 0xffffffff
add ebx, 0xffffffff
add rdi, 0x20
cmp ebx, 1
jle 0x4c3a5f
mov rcx, qword [rdi - 8]
test rcx, rcx
je 0x4c38dd
movzx eax, byte [rdi]
mov rbp, qword [r15 + 0x30]
mov edx, ebp
xor edx, 0xffffffc7
and edx, ebp
mov ebp, edx
and ebp, eax
xor edx, eax
or edx, ebp
call fcn.0047c6a0
jmp 0x4c38dd
mov rcx, qword [0x0213b0e8]
test rcx, rcx
mov rbx, qword [rsp + 0x58]
je 0x4c392d
call qword [0x005f60a0]
call fcn.00402ec0
mov rsi, 0xffffffffffffffff
test eax, eax
mov rdi, qword [rsp + 0x68]
jne 0x4c39b5
mov rcx, qword [0x0213b0e8]
test rcx, rcx
je 0x4c396f
call qword [0x005f6090]
mov rcx, qword [0x0213b0e8]
mov rsi, qword [0x0213b0f0]
test rcx, rcx
je 0x4c39b5
call qword [0x005f60a0]
jmp 0x4c39b5
mov rsi, qword [0x0213b0f0]
jmp 0x4c39b5
mov eax, edi
xor edx, edx
div ebp
cmp rax, 0x3b9aca00
mov edi, 0x3b9aca00
cmovl edi, eax
mov eax, dword [rcx + 0x20]
cmp edi, eax
cmovl edi, eax
cmp byte [rsi + 0x11], 0
je 0x4c39a8
add dword [rsi + 0x14], 0xffffffff
jne 0x4c39a8
mov rcx, rsi
call fcn.0043ea70
movsxd rsi, edi
mov rbx, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x68]
mov rcx, qword [rbx]
mov edx, 8
call fcn.00429840
test rax, rax
je 0x4c39d9
mov qword [rax], rsi
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x30], 0xfffffff3
jmp 0x4c39ea
mov dword [rsp + 0x30], 0xfffffff3
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
mov rcx, rbx
mov edx, 0x48
xor r8d, r8d
mov r9d, 1
call fcn.004c62a0
movsxd rax, dword [rdi]
mov rcx, qword [rsp + 0x60]
cmp dword [rcx], eax
jle 0x4c3a3e
lea ecx, [rax + 1]
mov dword [rbx + 0x90], ecx
mov rcx, qword [rbx + 0x88]
lea rax, [rax + rax*2]
movaps xmm0, xmmword [0x005fa4f0]
movups xmmword [rcx + rax*8], xmm0
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4c3a5f
mov dword [rsp + 0x20], 0
mov rcx, rbx
mov edx, 0x54
mov r8d, 1
mov r9d, 1
call fcn.0047df60
mov rsi, qword [rsp + 0x80]
mov rcx, rsi
mov rdx, qword [rsp + 0xe8]
call fcn.00408130
mov rcx, rsi
mov rdx, qword [rsp + 0x90]
call fcn.00408130
movaps xmm6, xmmword [rsp + 0x140]
movaps xmm7, xmmword [rsp + 0x150]
movaps xmm8, xmmword [rsp + 0x160]
movaps xmm9, xmmword [rsp + 0x170]
movaps xmm10, xmmword [rsp + 0x180]
movaps xmm11, xmmword [rsp + 0x190]
movaps xmm12, xmmword [rsp + 0x1a0]
movaps xmm13, xmmword [rsp + 0x1b0]
movaps xmm14, xmmword [rsp + 0x1c0]
movaps xmm15, xmmword [rsp + 0x1d0]
add rsp, 0x1e8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rdi, qword [0x0213b0f8]
mov rbx, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x88]
test rsi, rsi
jle 0x4bc454
test rdi, rdi
sete al
cmp rdi, rsi
setg cl
test al, cl
jne 0x4c3b2d
xor al, cl
je 0x4bc454
call fcn.00402ec0
test eax, eax
jne 0x4bc454
mov rcx, qword [0x0213b0e8]
test rcx, rcx
je 0x4c3b4c
call qword [0x005f6090]
mov qword [0x0213b0f8], rsi
mov rcx, qword [0x0213b0f0]
cmp rcx, rsi
setg al
test rcx, rcx
sete cl
test al, cl
jne 0x4c3b6e
xor al, cl
je 0x4c3b75
mov qword [0x0213b0f0], rsi
mov rcx, qword [0x0213b0e8]
test rcx, rcx
mov rbx, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x68]
je 0x4bc454
call qword [0x005f60a0]
jmp 0x4bc454
not esi
or rsi, 0xfffffffffffffffe
cmp rsi, 0xffffffffffffffff
mov rbx, qword [rsp + 0x90]
je 0x4c3bec
xor eax, eax
lea rcx, [0x00604e12]
lea rdi, [0x005fade0]
jmp 0x4c3bce
movzx edx, byte [rdx + rdi]
cmp dl, byte [rbp + rdi]
jne 0x4c3bec
add rax, 1
movzx edx, byte [rbx + rax]
movzx ebp, byte [rax + rcx]
cmp dl, bpl
jne 0x4c3bc0
test dl, dl
jne 0x4c3bca
mov rcx, qword [rsp + 0x80]
call fcn.00411230
mov rax, qword [rsp + 0x68]
movsxd rax, dword [rax]
mov rcx, qword [rsp + 0x60]
cmp dword [rcx], eax
jle 0x4c3c2d
lea ecx, [rax + 1]
mov rdx, qword [rsp + 0x58]
mov dword [rdx + 0x90], ecx
mov rcx, qword [rdx + 0x88]
lea rax, [rax + rax*2]
mov byte [rcx + rax*8], 0xa6
xorps xmm0, xmm0
movups xmmword [rcx + rax*8 + 1], xmm0
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x4c3c4a
mov dword [rsp + 0x20], 0
mov rcx, qword [rsp + 0x58]
mov edx, 0xa6
xor r8d, r8d
xor r9d, r9d
call fcn.0047df60
mov rax, qword [rsp + 0x80]
cmp byte [rax + 0x65], 0
je 0x4c3a5f
mov rax, qword [rsp + 0x80]
mov esi, dword [rax + 0x28]
test esi, esi
jle 0x4c3a5f
mov rax, qword [rsp + 0x80]
mov rdi, qword [rax + 0x20]
lea ebx, [rsi + 1]
add rdi, 0x10
jmp 0x4c3c97
add esi, 0xffffffff
add ebx, 0xffffffff
add rdi, 0x20
cmp ebx, 1
jle 0x4c3a5f
mov rcx, qword [rdi - 8]
test rcx, rcx
je 0x4c3c84
movzx eax, byte [rdi]
mov rdx, qword [rsp + 0x80]
mov rbp, qword [rdx + 0x30]
mov edx, ebp
xor edx, 0xffffffc7
and edx, ebp
mov ebp, edx
and ebp, eax
xor edx, eax
or edx, ebp
call fcn.0047c6a0
jmp 0x4c3c84
test bpl, bpl
je 0x4c3d0b
add rcx, 1
mov rax, qword [rsp + 0x90]
movzx ebp, byte [rax + rcx]
movzx ebx, byte [rcx + rdx]
cmp bpl, bl
je 0x4c3cc5
movzx eax, byte [rbp + rdi]
cmp al, byte [rbx + rdi]
je 0x4c3cca
lea rdx, [0x0060503a]
mov rcx, qword [rsp + 0x78]
mov r8, qword [rsp + 0x90]
call fcn.00419aa0
jmp 0x4c3a5f
mov eax, dword [r8 + 8]
test al, al
mov r9d, 2
cmovne r9d, eax
mov rcx, qword [rsp + 0x80]
mov rax, qword [rcx + 0x20]
mov rax, qword [rax + 0x18]
mov byte [rax + 0x71], r9b
mov byte [rcx + 0x64], r9b
mov rbp, qword [rcx + 0x278]
test rbp, rbp
je 0x4c3d5d
mov eax, 0x2eb35835
xor edx, edx
div dword [rcx + 0x268]
shl rdx, 4
lea r10, [rdx + rbp]
add r10, 8
add rdx, rbp
jmp 0x4c3d6b
lea rdx, [rcx + 0x26c]
lea r10, [rcx + 0x270]
mov ebx, dword [rdx]
lea r8, [0x0213b3c8]
test ebx, ebx
je 0x4c3dbc
lea rbp, [0x005fc4bb]
lea rax, [0x005fade0]
mov r10, qword [r10]
add ebx, 0xffffffff
mov rdi, qword [r10 + 0x18]
xor esi, esi
jmp 0x4c3da1
movzx edx, byte [rdx + rax]
cmp dl, byte [rcx + rax]
jne 0x4c3db3
add rsi, 1
movzx edx, byte [rdi + rsi]
movzx ecx, byte [rsi + rbp]
cmp dl, cl
jne 0x4c3d94
test dl, dl
jne 0x4c3d9d
jmp 0x4c3db9
test ebx, ebx
jne 0x4c3d86
jmp 0x4c3dbc
mov r8, r10
mov rax, qword [r8 + 0x10]
test rax, rax
movzx ecx, r9b
lea rcx, [rcx + rcx*4]
lea rcx, [rax + rcx*8 - 0x28]
cmove rcx, rax
mov rax, qword [rsp + 0x80]
mov qword [rax + 0x10], rcx
jmp 0x4c3a5f
call fcn.00449380
mov rax, qword [rsi + 0x20]
mov qword [rax + 0x28], 0
mov rcx, rsi
call fcn.00411230
mov byte [rsi + 0x66], dil
jmp 0x4c3a5f
mov ecx, 0xffff8000
mov rdx, qword [rsp + 0x78]
mov dword [rdx + 0x38], 8
mov rax, qword [rdx + 0xa0]
test rax, rax
cmove rax, rdx
mov edx, 1
shl edx, cl
mov ebx, 0xfffffffe
rol ebx, cl
mov edi, dword [rax + 0x74]
mov ebp, edi
not ebp
or ebx, ebp
cmp ebx, 0xffffffff
jne 0x4c3e5a
mov ebp, edi
and ebp, edx
xor edi, edx
or edi, ebp
mov dword [rax + 0x74], edi
cmp ecx, 1
jne 0x4c3e5a
mov rcx, rax
call fcn.004306d0
xor eax, eax
mov qword [rsp + 0x60], rax
jmp 0x4c3e7d
mov rax, qword [rsp + 0x60]
add eax, 1
mov qword [rsp + 0x60], rax
mov r13, qword [r13 + 8]
test r13, r13
je 0x4c3a5f
cmp dword [r13 + 0x28], 0
lea r14, [0x00605166]
jle 0x4c3e63
lea r15, [r13 + 0x48]
xor r12d, r12d
jmp 0x4c3efb
cmp al, cl
cmovne rdi, r14
cmp al, r8b
cmove rdi, rbp
lea rax, [0x00604e8e]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x30], r9
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], r12d
mov qword [rsp + 0x48], rdi
mov rcx, qword [rsp + 0x58]
mov edx, 1
lea r8, [0x00604e85]
mov r9, qword [rsp + 0x60]
call fcn.0051bbb0
add r12, 1
movsxd rax, dword [r13 + 0x28]
add r15, 0x10
cmp r12, rax
jge 0x4c3e63
movzx eax, byte [r13 + 0x2e]
cmp al, 9
mov cl, 9
sbb cl, 0
mov r8b, 9
xor ebp, ebp
cmp al, 9
mov rdx, qword [rsp + 0x70]
mov rdx, qword [rdx + 8]
movsxd rbx, dword [r15 - 8]
lea rbx, [rbx + rbx*2]
mov r9, qword [rdx + rbx*8]
setae bpl
lea rdi, [0x00605155]
mov rdx, rdi
lea rbx, [0x0060515d]
cmovb rdx, rbx
lea r10, [0x00605149]
mov rbx, r10
lea rsi, [0x00605140]
cmovb rbx, rsi
lea ebp, [rbp + rbp*2 + 7]
cmp al, bpl
cmovne rdx, r14
mov rsi, qword [r13 + 0x10]
cmp al, cl
cmove rdx, rbx
mov rbx, qword [r15]
movzx eax, byte [r13 + 0x2d]
mov cl, 0xa
mov rbp, r10
cmp al, 8
ja 0x4c3e94
mov r8b, 8
mov cl, 7
lea rdi, [0x0060515d]
lea rbp, [0x00605140]
jmp 0x4c3e94
call fcn.00449380
mov rax, qword [rsi + 0x20]
mov qword [rax + 0x28], 0
mov rcx, rsi
call fcn.00411230
mov rsi, qword [0x0213b218]
test rsi, rsi
je 0x4c402d
cmp dword [0x005f6010], 0
je 0x4c4024
mov rcx, qword [0x0213b0e8]
test rcx, rcx
je 0x4c3fd3
call qword [0x005f6090]
mov rcx, rsi
call qword [0x005f6048]
mov rcx, qword [0x0213b040]
cdqe
movabs rdx, 0xef90e055a14cfdef
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
je 0x4c402d
call qword [0x005f60a0]
jmp 0x4c402d
mov rcx, rsi
call qword [0x005f6038]
mov rax, qword [rsp + 0x90]
cmp byte [rax], 0
je 0x4c405a
lea rcx, [0x005faef2]
mov rdx, qword [rsp + 0x90]
call fcn.004087f0
mov qword [0x0213b218], rax
jmp 0x4c3a5f
mov qword [0x0213b218], 0
jmp 0x4c3a5f
mov bl, byte [rbx + rbp]
xor edi, edi
movzx ecx, bl
cmp edi, ecx
jne 0x4c424b
mov r15, qword [rsp + 0x80]
mov rax, qword [r15 + 0x30]
mov rcx, rax
xor rcx, 0xffffffffefffffff
test rcx, rax
mov rbx, qword [rsp + 0x58]
mov rbp, qword [rsp + 0xa8]
je 0x4c429d
mov r14d, 0xffffffff
mov rax, qword [rsp + 0xb8]
cmp dword [rax + 8], 0
jne 0x4c40d3
mov rax, qword [rsp + 0xb8]
mov dword [rax + 8], 1
xor eax, eax
mov qword [rsp + 0xb0], rax
mov r12d, dword [r15 + 0x28]
test r12d, r12d
jle 0x4c0030
mov r15d, dword [rsp + 0xb0]
mov rdi, r12
shl rdi, 5
add rdi, 0xffffffffffffffe8
add r15, 1
jmp 0x4c414a
lea ecx, [rax + 1]
mov dword [rbx + 0x90], ecx
mov rcx, qword [rbx + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], 4
mov dword [rcx + rax*8 + 4], r8d
mov dword [rcx + rax*8 + 8], 1
mov dword [rcx + rax*8 + 0xc], r14d
mov qword [rcx + rax*8 + 0x10], 0
mov rbp, qword [rsp + 0xa8]
add rdi, 0xffffffffffffffe0
lea rax, [r12 + 1]
cmp rax, 1
jle 0x4c0030
mov rdx, r12
add r12, 0xffffffffffffffff
mov rax, qword [rbp]
cmp qword [rax + rdi], 0
je 0x4c4137
cmp r15, rdx
je 0x4c416f
mov rax, qword [rsp + 0xb8]
cmp dword [rax + 8], 0
jne 0x4c4137
lea r8, [rdx - 1]
mov r9d, 1
mov ecx, r8d
shl r9d, cl
mov esi, dword [rbx + 0xcc]
mov ebx, esi
not ebx
mov ebp, 0xfffffffe
rol ebp, cl
or ebp, ebx
and ebx, 0xc162877
and esi, 0xf3e9d788
or esi, ebx
mov rbx, qword [rsp + 0x58]
mov ecx, 0xc162877
btr ecx, r8d
mov eax, r9d
and eax, 0xf3e9d788
or eax, ecx
xor eax, esi
not ebp
or ebp, eax
mov dword [rbx + 0xcc], ebp
cmp rdx, 2
je 0x4c4219
mov rax, qword [rbx]
mov rax, qword [rax + 0x20]
mov rax, qword [rax + rdi]
cmp byte [rax + 0x11], 0
je 0x4c4219
mov eax, dword [rbx + 0xd0]
mov ecx, eax
not ecx
mov edx, r9d
not edx
mov ebp, ecx
and ebp, 0x73b4edaf
and eax, 0x8c4b1250
or eax, ebp
or ecx, edx
and edx, 0x73b4edaf
and r9d, 0x8c4b1250
or r9d, edx
xor r9d, eax
not ecx
or ecx, r9d
mov dword [rbx + 0xd0], ecx
mov rax, qword [rsp + 0x68]
movsxd rax, dword [rax]
mov rcx, qword [rsp + 0x60]
cmp dword [rcx], eax
jg 0x4c40f9
mov dword [rsp + 0x20], r14d
mov rcx, rbx
mov edx, 4
mov r9d, 1
call fcn.0047df60
jmp 0x4c412f
lea ecx, [rax + 1]
xor edx, edx
lea r8, [0x005fdab3]
mov ebp, eax
lea rsi, [0x005fade0]
mov r14d, 3
mov rbx, qword [rsp + 0x90]
movzx edi, byte [rbx + rdx]
movzx ebx, byte [rdx + r8]
test rdi, rdi
je 0x4c42a8
movzx edi, byte [rdi + rsi]
movzx ebx, byte [rbx + rsi]
cmp dil, bl
jne 0x4c42b4
add ebp, 0xffffffff
add ecx, 0xffffffff
add rdx, 1
cmp ecx, 1
jg 0x4c4266
jmp 0x4c376a
mov r14d, 2
jmp 0x4c40d3
lea rcx, [0x005fade0]
mov bl, byte [rbx + rcx]
xor edi, edi
movzx ecx, bl
mov r14d, 3
cmp edi, ecx
je 0x4c376a
lea ecx, [rax + 1]
xor edx, edx
lea r8, [0x005fdabc]
mov ebp, eax
lea rsi, [0x005fade0]
mov r14d, 4
mov rbx, qword [rsp + 0x90]
movzx edi, byte [rbx + rdx]
movzx ebx, byte [rdx + r8]
test rdi, rdi
je 0x4c4654
movzx edi, byte [rdi + rsi]
movzx ebx, byte [rbx + rsi]
cmp dil, bl
jne 0x4c4660
add ebp, 0xffffffff
add ecx, 0xffffffff
add rdx, 1
cmp ecx, 1
jg 0x4c42e0
jmp 0x4c376a
movabs rsi, 0x2f30bd7e03785901
jmp 0x4c4346
mov rcx, rdi
call fcn.00449ce0
mov word [rdi + 0x14], 0
add rdi, 0x38
cmp rdi, rbx
jae 0x4c43dc
mov eax, dword [rdi + 0x14]
mov ecx, eax
xor ecx, 0x6fff
test cx, ax
jne 0x4c432b
cmp dword [rdi + 0x20], 0
je 0x4c4339
mov r15, qword [rdi + 0x28]
test r15, r15
je 0x4c43d0
cmp dword [0x005f6010], 0
je 0x4c43c7
mov rcx, qword [0x0213b0e8]
test rcx, rcx
je 0x4c4380
call qword [0x005f6090]
mov rcx, r15
call qword [0x005f6048]
cdqe
mov rcx, qword [0x0213b040]
add rcx, rsi
sub rcx, rax
sub rcx, rsi
mov qword [0x0213b040], rcx
add qword [0x0213b088], 0xffffffffffffffff
mov rcx, r15
call qword [0x005f6038]
mov rcx, qword [0x0213b0e8]
test rcx, rcx
je 0x4c43d0
call qword [0x005f60a0]
jmp 0x4c43d0
mov rcx, r15
call qword [0x005f6038]
mov dword [rdi + 0x20], 0
jmp 0x4c4333
mov rax, qword [rsp + 0x58]
mov rdx, qword [rax + 0x98]
mov rcx, r14
call fcn.00408130
mov rsi, qword [rsp + 0x58]
mov word [rsi + 0xc0], bp
imul edx, ebp, 0x70
mov rcx, r14
call fcn.00429840
mov qword [rsi + 0x98], rax
test bpl, bpl
je 0x4c44e2
test rax, rax
je 0x4c44e2
mov cl, 1
test cl, cl
je 0x4c44e2
mov ecx, ebp
add ebp, ebp
lea r8d, [rcx + rcx]
add r8d, 0xffffffff
mov esi, ebp
xor esi, 0x1fc
and esi, ebp
je 0x4c4471
xor edi, edi
mov edx, ebp
mov rcx, rax
mov ebx, esi
mov word [rcx + 0x14], 1
mov qword [rcx + 0x18], r14
mov dword [rcx + 0x20], 0
add rcx, 0x38
add edx, 0xffffffff
add ebx, 0xffffffff
add edi, 1
cmp esi, edi
jne 0x4c444b
sub ebp, edi
jmp 0x4c4474
mov rcx, rax
cmp r8d, 3
jb 0x4c44e2
lea edx, [rbp + 4]
add rcx, 0xc8
mov word [rcx - 0xb4], 1
mov qword [rcx - 0xb0], r14
mov dword [rcx - 0xa8], 0
mov word [rcx - 0x7c], 1
mov qword [rcx - 0x78], r14
mov dword [rcx - 0x70], 0
mov word [rcx - 0x44], 1
mov qword [rcx - 0x40], r14
mov dword [rcx - 0x38], 0
mov word [rcx - 0xc], 1
mov qword [rcx - 8], r14
mov dword [rcx], 0
add ebp, 0xfffffffc
add edx, 0xfffffffc
add rcx, 0xe0
cmp edx, 4
jg 0x4c4484
cmp byte [rsp + 0x70], 0
je 0x4c4563
lea rax, [0x005fe3b0]
mov rcx, qword [rsp + 0xd0]
movzx esi, byte [rax + rcx*8 + 0xa]
imul r14, qword [rsp + 0x70], 0x38
lea rax, [0x005fee00]
lea rbx, [rax + rsi*8]
xor ebp, ebp
xor edi, edi
jmp 0x4c4529
add rdi, 1
add rsi, 1
add rbp, 0x38
add rbx, 8
cmp r14, rbp
je 0x4c458f
mov rax, qword [rsp + 0x58]
mov rax, qword [rax]
cmp byte [rax + 0x67], 0
jne 0x4c4514
mov rdx, qword [rbx]
mov rax, qword [rsp + 0x58]
mov rcx, qword [rax + 0x98]
add rcx, rbp
mov qword [rsp + 0x20], 0
mov r8, 0xffffffffffffffff
mov r9b, 1
call fcn.00414070
jmp 0x4c4514
mov rcx, qword [rsp + 0x58]
mov rcx, qword [rcx]
cmp byte [rcx + 0x67], 0
jne 0x4c458f
mov qword [rsp + 0x20], 0
mov rcx, rax
mov rdx, r12
mov r8, 0xffffffffffffffff
mov r9b, 1
call fcn.00414070
mov rax, qword [rsp + 0x80]
mov rsi, qword [rax + 0x30]
mov rax, qword [rsp + 0x58]
mov rcx, qword [rax]
mov edx, 8
call fcn.00429840
test rax, rax
je 0x4c45e6
lea rcx, [0x005fe3b0]
mov rdx, qword [rsp + 0xd0]
mov rcx, qword [rcx + rdx*8 + 0x10]
xor rsi, rcx
not rsi
xor edx, edx
test rsi, rcx
setne dl
mov qword [rax], rdx
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x30], 0xfffffff3
jmp 0x4c45f7
mov dword [rsp + 0x30], 0xfffffff3
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
mov rcx, qword [rsp + 0x58]
mov edx, 0x48
xor r8d, r8d
mov r9d, 1
call fcn.004c62a0
mov rax, qword [rsp + 0x68]
movsxd rax, dword [rax]
mov rcx, qword [rsp + 0x60]
cmp dword [rcx], eax
jle 0x4c4642
lea ecx, [rax + 1]
mov rdx, qword [rsp + 0x58]
mov dword [rdx + 0x90], ecx
mov rcx, qword [rdx + 0x88]
jmp 0x4c3a24
mov dword [rsp + 0x20], 0
mov rcx, qword [rsp + 0x58]
jmp 0x4c3a49
lea rcx, [0x005fade0]
mov bl, byte [rbx + rcx]
xor edi, edi
movzx ecx, bl
mov r14d, 4
cmp edi, ecx
je 0x4c376a
lea ecx, [rax + 1]
xor edx, edx
lea rbp, [0x005fdac3]
lea rsi, [0x005fade0]
mov r14d, 5
mov rbx, qword [rsp + 0x90]
movzx edi, byte [rbx + rdx]
movzx ebx, byte [rdx + rbp]
test rdi, rdi
je 0x4c46c0
movzx edi, byte [rdi + rsi]
movzx ebx, byte [rbx + rsi]
cmp dil, bl
jne 0x4c46cc
add eax, 0xffffffff
add ecx, 0xffffffff
add rdx, 1
cmp ecx, 1
jg 0x4c468a
jmp 0x4c376a
lea rax, [0x005fade0]
mov bl, byte [rbx + rax]
xor edi, edi
movzx eax, bl
mov r14d, 5
cmp edi, eax
mov r15, qword [rsp + 0x80]
mov rbx, qword [rsp + 0x58]
mov rbp, qword [rsp + 0xa8]
jne 0x4c40a6
jmp 0x4c40d3