Function at 0x40b780
Capabilities:
Access peb ldr_data
Parse pe header
Resolve function by parsing pe exports

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x3d8
lea rbp, [rsp + 0x80]
mov eax, 0x10
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0xa0], rsp
mov eax, 0x10
call fcn.004181d0
sub rsp, rax
mov qword [rbp - 0x40], rsp
mov eax, 0x10
call fcn.004181d0
sub rsp, rax
mov qword [rbp - 0x38], rsp
mov eax, 0x10
call fcn.004181d0
sub rsp, rax
mov qword [rbp - 0x30], rsp
mov eax, 0x10
call fcn.004181d0
sub rsp, rax
mov qword [rbp - 0x28], rsp
mov eax, 0x10
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0x148], rsp
mov eax, 0x10
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0x78], rsp
mov eax, 0x10
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0x80], rsp
mov eax, 0x10
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0x88], rsp
mov eax, 0x10
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0x90], rsp
mov eax, 0x10
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0x30], rsp
mov eax, 0x10
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0x38], rsp
mov eax, 0x10
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0x40], rsp
mov eax, 0x10
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0x1a8], rsp
mov eax, 0x10
call fcn.004181d0
sub rsp, rax
mov qword [rbp - 0x78], rsp
mov eax, 0x10
call fcn.004181d0
sub rsp, rax
mov qword [rbp - 0x70], rsp
mov eax, 0x10
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0x48], rsp
mov eax, 0x10
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0x50], rsp
mov eax, 0x10
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0x58], rsp
mov eax, 0x10
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0x60], rsp
mov eax, 0x10
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0x68], rsp
mov eax, 0x10
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0x180], rsp
mov eax, 0x10
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0x230], rsp
mov eax, 0x10
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0x208], rsp
mov eax, 0x10
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0x188], rsp
mov eax, 0x10
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0x190], rsp
mov eax, 0x10
call fcn.004181d0
sub rsp, rax
mov qword [rbp - 8], rsp
mov eax, 0x10
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0xc0], rsp
mov eax, 0x10
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0xc8], rsp
mov eax, 0x10
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0xd0], rsp
mov eax, 0x10
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0xd8], rsp
mov eax, 0x10
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0xe0], rsp
mov eax, 0x10
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0x20], rsp
mov eax, 0x10
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0x28], rsp
mov eax, 0x10
call fcn.004181d0
sub rsp, rax
mov qword [rbp - 0x18], rsp
mov eax, 0x10
call fcn.004181d0
sub rsp, rax
mov qword [rbp - 0x10], rsp
mov eax, 0x10
call fcn.004181d0
sub rsp, rax
mov qword [rbp], rsp
mov eax, 0x10
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 8], rsp
mov eax, 0x10
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0x150], rsp
mov eax, 0x10
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0x198], rsp
mov eax, 0x10
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0x1a0], rsp
mov eax, 0x10
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0x158], rsp
mov eax, 0x10
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0x160], rsp
mov eax, 0x10
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0x168], rsp
mov eax, 0x10
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0x170], rsp
mov eax, 0x10
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0x178], rsp
mov eax, 0x10
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0xa8], rsp
mov eax, 0x10
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0xb0], rsp
mov eax, 0x10
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0xb8], rsp
mov eax, 0x10
call fcn.004181d0
sub rsp, rax
mov qword [rbp - 0x68], rsp
mov eax, 0x10
call fcn.004181d0
sub rsp, rax
mov qword [rbp - 0x60], rsp
mov eax, 0x10
call fcn.004181d0
sub rsp, rax
mov qword [rbp - 0x58], rsp
mov eax, 0x10
call fcn.004181d0
sub rsp, rax
mov qword [rbp - 0x50], rsp
mov eax, 0x10
call fcn.004181d0
sub rsp, rax
mov qword [rbp - 0x48], rsp
mov eax, 0x10
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0xe8], rsp
mov eax, 0x10
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0xf0], rsp
mov eax, 0x10
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0x258], rsp
mov eax, 0x10
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0x240], rsp
mov eax, 0x10
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0xf8], rsp
mov eax, 0x10
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0x1e0], rsp
mov eax, 0x10
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0x10], rsp
mov eax, 0x10
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0x270], rsp
mov eax, 0x10
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0x100], rsp
mov eax, 0x10
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0x310], rsp
mov eax, 0x10
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0x98], rsp
mov eax, 0x10
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0x108], rsp
mov eax, 0x10
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0x110], rsp
mov eax, 0x10
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0x278], rsp
mov eax, 0x10
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0x118], rsp
mov eax, 0x10
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0x1d8], rsp
mov eax, 0x10
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0x18], rsp
mov eax, 0x10
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0x200], rsp
mov eax, 0x10
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0x120], rsp
mov eax, 0x10
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0x70], rsp
mov eax, 0x10
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0x128], rsp
mov eax, 0x10
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0x130], rsp
mov eax, 0x10
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0x268], rsp
mov eax, 0x10
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0x1f8], rsp
mov eax, 0x10
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0x138], rsp
mov eax, 0x10
call fcn.004181d0
sub rsp, rax
mov qword [rbp - 0x20], rsp
mov eax, 0x10
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0x210], rsp
mov eax, 0x10
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0x238], rsp
mov eax, 0x10
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0x140], rsp
mov eax, 0x10
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0x260], rsp
mov eax, 0x10
call fcn.004181d0
sub rsp, rax
mov rax, rsp
mov r11d, dword [0x0041d040]
mov qword [rbp - 0x80], rax
mov dword [rax], r11d
mov r14d, r11d
not r14d
mov eax, r14d
or eax, 0xa021040
and eax, 0xa061440
mov ecx, r11d
and ecx, 0x40400
lea r15d, [rcx + rax]
add r15d, 0x1010104
mov r9d, r15d
xor r9d, 0xb071544
lea eax, [r9 + r11]
mov ecx, r9d
xor ecx, r11d
sub eax, ecx
mov ecx, r9d
and ecx, r11d
add ecx, ecx
xor ecx, eax
lea eax, [rcx - 0x46c18318]
mov rbx, rcx
mov qword [rbp + 0x308], rcx
xor eax, r15d
xor eax, 0xb23969ad
lea rax, [rax*4 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.004181d0
sub rsp, rax
mov r10, rsp
mov qword [rbp + 0x318], r10
lea eax, [rcx + r9]
xor ecx, r9d
sub eax, ecx
mov ecx, ebx
and ecx, r9d
add ecx, ecx
xor ecx, eax
mov eax, ecx
xor eax, 0x777e28c5
mov edi, ebx
or edi, 0xb6
movzx edi, dil
imul edi, edi
imul edx, edi, 0xe4cd
mov qword [rbp + 0x348], rdx
mov edi, r11d
or edi, 0x46
movzx edi, dil
imul edi, edi
imul esi, edi, 0xe84f
xor ebx, ebx
cmp edx, esi
sete bl
mov edi, 0xf2c3a04
sub edi, ebx
mov r8, rbx
imul edi, eax
mov dword [r10], edi
mov ebx, esi
not ebx
mov eax, r11d
or eax, ebx
mov edi, r11d
or edi, esi
not edi
lea edi, [rdi + rdi*2]
add r14d, r14d
sub r14d, esi
xor r11d, esi
sub r11d, eax
add r11d, edi
xor r11d, r14d
mov r12d, r11d
xor r12d, 0x8d0e8b57
mov r14, r8
neg r8d
mov edx, ecx
not edx
or edx, r8d
mov r10d, r8d
xor r10d, ecx
sub r10d, edx
mov edx, r8d
or edx, ecx
not edx
lea edx, [rdx + rdx*2]
add r10d, edx
lea edx, [r14 + r14]
add edx, 0xfffffffe
sub edx, ecx
xor r10d, edx
lea edi, [r10 - 0x70bc6f99]
imul edi, r12d
lea r13d, [r14 - 1]
lea rax, [rdi*4 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.004181d0
sub rsp, rax
mov rdx, rsp
mov qword [rbp + 0x328], rdx
lea eax, [r9 + rcx]
mov edi, r9d
xor edi, ecx
sub eax, edi
mov edi, r9d
and edi, ecx
add edi, edi
xor edi, eax
mov dword [rbp + 0x2d0], edi
mov eax, r10d
not eax
mov dword [rbp + 0x330], esi
or eax, esi
mov r12d, esi
xor r12d, r10d
sub r12d, eax
mov eax, esi
or eax, r10d
not eax
lea eax, [rax + rax*2]
add r12d, eax
xor edi, 0x9b8ec87b
add ebx, ebx
sub ebx, r10d
xor r12d, ebx
mov esi, r12d
xor esi, 0x380084fe
add esi, edi
mov dword [rdx], esi
or r13d, r9d
mov eax, r9d
xor eax, r8d
sub eax, r13d
mov edx, r9d
or edx, r8d
not edx
lea edx, [rdx + rdx*2]
xor r15d, 0x74f8eabb
mov r13, r14
lea esi, [r14 + r15*2]
add eax, edx
xor eax, esi
mov r14, qword [rbp + 0x348]
lea edx, [r9 + r14]
mov esi, r9d
xor esi, r14d
sub edx, esi
and r9d, r14d
add r9d, r9d
xor r9d, edx
add eax, 0xee60598b
xor eax, r9d
mov r15, r9
xor eax, 0xee60598a
lea rax, [rax*4 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0x1b8], rsp
mov eax, r14d
or eax, 0x69
movzx eax, al
imul eax, eax
imul ebx, eax, 0xa31
mov dword [rbp + 0x350], ebx
mov esi, dword [rbp + 0x330]
mov eax, esi
or eax, 0xd0
movzx eax, al
imul eax, eax
imul eax, eax, 0x4511
mov qword [rbp + 0x280], rax
xor edx, edx
cmp ebx, eax
sete dl
mov ebx, edx
mov dword [rbp + 0x290], edx
mov eax, r12d
or eax, 0x49
movzx eax, al
imul eax, eax
imul edi, eax, 0xe39f
mov dword [rbp + 0x2c8], edi
mov eax, r8d
or eax, 0x3a
movzx eax, al
imul eax, eax
imul eax, eax, 0xad53
xor edx, edx
cmp edi, eax
sete dl
mov dword [rbp + 0x2f8], edx
neg edx
mov dword [rbp + 0x340], edx
mov eax, ebx
neg eax
mov qword [rbp + 0x2a8], rax
xor eax, edx
xor eax, 1
lea rax, [rax*8 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0x1c0], rsp
mov ebx, esi
mov eax, esi
sub eax, r13d
mov edx, r8d
xor edx, esi
sub eax, edx
mov edx, r8d
mov dword [rbp + 0x288], r8d
and edx, esi
add edx, edx
xor edx, eax
mov qword [rbp + 0x298], rdx
lea eax, [rdx + 0x25fb7c09]
or ecx, 0xd6
movzx ecx, cl
imul ecx, ecx
imul edx, ecx, 0x38b7
mov dword [rbp + 0x300], edx
or r8d, 0xcc
movzx ecx, r8b
imul ecx, ecx
imul r9d, ecx, 0x3b39
xor ecx, ecx
cmp edx, r9d
sete cl
mov qword [rbp + 0x338], rcx
xor ecx, 0x39b2d239
imul ecx, eax
lea rax, [rcx*4 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0x1e8], rsp
mov rdx, r15
mov qword [rbp + 0x250], r15
lea eax, [r15 + r12]
mov ecx, edx
xor ecx, r12d
sub eax, ecx
and edx, r12d
add edx, edx
xor edx, eax
lea eax, [rdx - 0x1e2585f1]
mov ecx, edx
mov rbx, rdx
or ecx, 0x1d
movzx ecx, cl
imul ecx, ecx
imul edx, ecx, 0xbe8b
mov dword [rbp + 0x2a0], edx
mov rcx, qword [rbp + 0x308]
or ecx, 0x2f
movzx ecx, cl
imul ecx, ecx
imul r14d, ecx, 0x4df9
xor ecx, ecx
cmp edx, r14d
sete cl
neg ecx
mov edx, ecx
xor edx, 0x98f334ef
imul edx, eax
lea rax, [rdx*4 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0x1f0], rsp
lea eax, [r11 + rbx]
mov r15d, r11d
xor r15d, ebx
sub eax, r15d
mov edx, r11d
and edx, ebx
add edx, edx
xor edx, eax
xor edx, 0x22855cf3
or r9d, 0xe6
movzx eax, r9b
imul eax, eax
imul edi, eax, 0x87c7
mov dword [rbp + 0x2b8], edi
mov eax, r14d
or eax, 0x2a
movzx eax, al
imul eax, eax
imul eax, eax, 0xa1a5
xor esi, esi
cmp edi, eax
sete sil
neg esi
xor esi, 0xdd7aa30e
add esi, edx
lea rax, [rsi*8 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0x218], rsp
mov eax, ebx
not eax
or eax, r11d
mov edx, r11d
or edx, ebx
mov qword [rbp + 0x2f0], rbx
not edx
lea edx, [rdx + rdx*2]
mov esi, r11d
not esi
add esi, esi
sub esi, ebx
sub r15d, eax
add r15d, edx
xor r15d, esi
mov eax, r15d
xor eax, 0x599511a7
mov edx, r14d
or edx, 0x6f
movzx edx, dl
imul edx, edx
imul r13d, edx, 0x3d1b
mov edx, ecx
or edx, 0xed
movzx edx, dl
imul edx, edx
imul edx, edx, 0x386f
xor esi, esi
cmp r13d, edx
sete sil
sub eax, esi
add eax, 0xa66aee5a
lea rax, [rax*8 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0x220], rsp
or r14d, 0x56
movzx eax, r14b
imul eax, eax
imul r8d, eax, 0xd021
or ecx, 0x96
movzx eax, cl
imul eax, eax
imul eax, eax, 0x65fb
xor r9d, r9d
cmp r8d, eax
sete r9b
mov edi, r9d
neg edi
mov eax, edi
xor eax, 0x675a9c9b
mov r14, qword [rbp + 0x338]
neg r14d
mov ecx, r14d
or ecx, 0xae
movzx ecx, cl
imul ecx, ecx
imul edx, ecx, 0x7393
mov dword [rbp + 0x2c0], edx
or r13d, 0x96
movzx ecx, r13b
imul ecx, ecx
imul r13d, ecx, 0x2c81
xor ecx, ecx
cmp edx, r13d
sete cl
mov qword [rbp + 0x320], rcx
mov edx, ecx
neg edx
mov ecx, edx
mov esi, edx
mov dword [rbp + 0x2e0], edx
xor ecx, 0xb0bde993
imul ecx, eax
lea rax, [rcx*8 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0x228], rsp
mov eax, dword [rbp + 0x340]
or eax, 0xb1
movzx eax, al
imul eax, eax
imul edx, eax, 0xc4a5
mov ecx, esi
or ecx, 0x92
movzx ecx, cl
imul ecx, ecx
imul eax, ecx, 0x9809
xor ecx, ecx
cmp edx, eax
sete cl
mov eax, ecx
xor eax, 0xfea2c957
or r8d, 0x77
movzx edx, r8b
imul edx, edx
imul edx, edx, 0x574d
mov r8, qword [rbp + 0x298]
mov esi, r8d
or esi, 0x72
movzx esi, sil
imul esi, esi
imul esi, esi, 0x5e13
xor ebx, ebx
cmp edx, esi
sete bl
mov qword [rbp + 0x2e8], rbx
mov edx, ebx
neg edx
mov dword [rbp + 0x2d8], edx
xor edx, 0xb5823267
imul edx, eax
lea rax, [rdx*4 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0x1c8], rsp
mov ebx, dword [rbp + 0x300]
mov eax, ebx
sub eax, r9d
mov edx, ebx
mov dword [rbp + 0x2b0], edi
xor edx, edi
sub eax, edx
mov edx, ebx
and edx, edi
add edx, edx
xor edx, eax
mov eax, r11d
sub eax, ecx
neg ecx
mov esi, r11d
xor esi, ecx
sub eax, esi
and ecx, r11d
add ecx, ecx
xor ecx, eax
xor edx, ecx
xor edx, 1
lea rax, [rdx*8 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0x1d0], rsp
mov eax, dword [rbp + 0x288]
or eax, 0x54
movzx eax, al
imul eax, eax
imul edx, eax, 0x1777
mov eax, dword [rbp + 0x2c0]
or eax, 0xf3
movzx eax, al
imul eax, eax
imul esi, eax, 0xa943
xor eax, eax
cmp edx, esi
sete al
xor eax, 0x499df313
mov edx, dword [rbp + 0x2b8]
or edx, 0xec
movzx edx, dl
imul edx, edx
imul esi, edx, 0xdd15
mov rdx, r8
or edx, 0x61
movzx edx, dl
imul edx, edx
imul edx, edx, 0x7dfb
xor r9d, r9d
cmp esi, edx
sete r9b
mov esi, r9d
neg esi
xor eax, esi
xor eax, 0x499df312
lea rax, [rax*8 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0x298], rsp
mov eax, r10d
sub eax, dword [rbp + 0x320]
mov ebx, dword [rbp + 0x2e0]
mov edx, ebx
xor edx, r10d
sub eax, edx
and r10d, ebx
add r10d, r10d
xor r10d, eax
mov eax, ecx
not eax
or eax, r10d
mov edx, r10d
or edx, ecx
not edx
lea r8d, [rdx + rdx*2]
mov edx, r10d
not edx
add edx, edx
sub edx, ecx
mov ebx, r10d
xor ebx, ecx
sub ebx, eax
add ebx, r8d
xor ebx, edx
xor ebx, r10d
xor ebx, 1
lea rax, [rbx*4 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0x2c0], rsp
mov ebx, dword [rbp + 0x2d0]
mov eax, ebx
not eax
or eax, r12d
mov edx, r12d
or edx, ebx
mov r8d, ebx
not edx
lea edx, [rdx + rdx*2]
mov ebx, r12d
not ebx
add ebx, ebx
sub ebx, r8d
xor r12d, r8d
sub r12d, eax
add r12d, edx
xor r12d, ebx
mov r11d, r12d
xor r11d, 0x7007a989
mov eax, dword [rbp + 0x350]
mov edx, eax
not edx
or edx, r14d
mov ebx, r14d
or ebx, eax
not ebx
lea r10d, [rbx + rbx*2]
mov rbx, qword [rbp + 0x338]
lea ebx, [rbx + rbx]
add ebx, 0xfffffffe
mov dword [rbp + 0x338], ebx
sub ebx, eax
xor eax, r14d
sub eax, edx
add eax, r10d
xor eax, ebx
mov dword [rbp + 0x350], eax
mov edx, eax
xor edx, 0x8ff85678
add edx, r11d
lea rax, [rdx*4 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0x288], rsp
mov ebx, dword [rbp + 0x330]
mov eax, ebx
sub eax, r9d
mov edx, esi
xor edx, ebx
sub eax, edx
and esi, ebx
add esi, esi
xor esi, eax
mov r8d, esi
xor r8d, 0xaedcdfa3
mov edx, dword [rbp + 0x2c8]
mov r9d, edx
not r9d
mov rax, qword [rbp + 0x2a8]
or r9d, eax
mov ebx, eax
or ebx, edx
not ebx
lea ebx, [rbx + rbx*2]
mov edi, dword [rbp + 0x290]
add edi, edi
sub edi, edx
add edi, 0xfffffffe
xor eax, edx
sub eax, r9d
add eax, ebx
xor eax, edi
add eax, 0xf74a4c0b
imul eax, r8d
lea rax, [rax*4 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0x290], rsp
or ecx, 0xc
movzx eax, cl
imul eax, eax
imul r10d, eax, 0xa829
or edx, 0x39
movzx eax, dl
imul eax, eax
imul r9d, eax, 0x283f
xor r11d, r11d
cmp r10d, r9d
sete r11b
mov eax, esi
not eax
mov ebx, dword [rbp + 0x2a0]
or eax, ebx
mov ecx, ebx
or ecx, esi
not ecx
lea ecx, [rcx + rcx*2]
mov edx, ebx
not edx
add edx, edx
sub edx, esi
xor esi, ebx
sub esi, eax
add esi, ecx
xor esi, edx
add esi, 0xe538455e
mov ecx, r11d
neg ecx
xor esi, ecx
xor esi, 0xe538455f
lea rax, [rsi*4 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0x2b8], rsp
mov rsi, qword [rbp + 0x308]
mov rbx, qword [rbp + 0x280]
lea eax, [rsi + rbx]
mov edx, esi
xor edx, ebx
sub eax, edx
and esi, ebx
add esi, esi
xor esi, eax
xor esi, 0x239f5738
mov rbx, rsi
mov eax, r13d
not eax
or eax, r14d
mov edx, r14d
or edx, r13d
not edx
lea edx, [rdx + rdx*2]
mov esi, dword [rbp + 0x338]
sub esi, r13d
xor r13d, r14d
sub r13d, eax
add r13d, edx
xor r13d, esi
lea eax, [rbx + r13]
add eax, 0xdc60a8c9
lea rax, [rax*4 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0x248], rsp
mov eax, r15d
or eax, 0xc6
movzx eax, al
imul eax, eax
imul eax, eax, 0x457f
mov edx, dword [rbp + 0x2b0]
or edx, 0x9c
movzx edx, dl
imul edx, edx
imul r13d, edx, 0xb1b3
xor r8d, r8d
cmp eax, r13d
sete r8b
mov eax, r8d
xor eax, 0xd202b21d
mov ebx, r15d
sub ebx, r11d
mov edx, r15d
xor edx, ecx
sub ebx, edx
and r15d, ecx
add r15d, r15d
xor r15d, ebx
add r15d, 0xb46ba035
imul r15d, eax
lea rax, [r15*8 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0x2a0], rsp
mov edi, dword [rbp + 0x300]
mov eax, edi
not eax
mov ebx, dword [rbp + 0x340]
or eax, ebx
mov edx, ebx
or edx, edi
not edx
lea edx, [rdx + rdx*2]
mov esi, dword [rbp + 0x2f8]
add esi, esi
sub esi, edi
add esi, 0xfffffffe
xor ebx, edi
sub ebx, eax
add ebx, edx
xor ebx, esi
xor ebx, 0x3d57fb6b
mov r15d, ebx
mov rbx, qword [rbp + 0x348]
lea eax, [rbx + r12]
mov edx, ebx
xor edx, r12d
sub eax, edx
and r12d, ebx
add r12d, r12d
xor r12d, eax
xor r12d, 0x5ff35943
imul r12d, r15d
lea rax, [r12*8 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0x2a8], rsp
mov eax, r10d
not eax
mov rsi, qword [rbp + 0x250]
or eax, esi
mov edx, esi
or edx, r10d
not edx
lea edx, [rdx + rdx*2]
mov edi, esi
not edi
add edi, edi
sub edi, r10d
xor esi, r10d
sub esi, eax
add esi, edx
xor esi, edi
add esi, 0xc1517263
mov r10d, dword [rbp + 0x2e0]
mov eax, r10d
or eax, 0xe0
movzx eax, al
imul eax, eax
imul eax, eax, 0x1933
mov edx, dword [rbp + 0x350]
or edx, 0xe2
movzx edx, dl
imul edx, edx
imul edx, edx, 0x2fa5
xor ebx, ebx
cmp eax, edx
sete bl
neg ebx
xor ebx, esi
xor ebx, 0xc1517262
lea rax, [rbx*8 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0x2b0], rsp
mov rbx, qword [rbp + 0x2f0]
mov eax, ebx
sub eax, r11d
mov edx, ebx
xor edx, ecx
sub eax, edx
and ecx, ebx
add ecx, ecx
xor ecx, eax
add ecx, 0xf6a2b326
mov eax, r8d
neg eax
lea edx, [r8 - 1]
mov edi, dword [rbp + 0x2d8]
or edx, edi
mov ebx, edi
mov esi, edi
or ebx, eax
not ebx
lea ebx, [rbx + rbx*2]
mov rdi, qword [rbp + 0x2e8]
lea edi, [r8 + rdi*2]
add edi, 0xfffffffe
xor eax, esi
sub eax, edx
add eax, ebx
xor eax, edi
add eax, 0xf6a2b327
xor eax, ecx
lea rax, [rax*8 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0x2c8], rsp
mov rdi, qword [rbp + 0x320]
lea eax, [rdi - 1]
or eax, r13d
mov ecx, r13d
mov ebx, r10d
or ecx, r10d
not ecx
lea ecx, [rcx + rcx*2]
mov edx, r13d
not edx
lea edx, [rdi + rdx*2]
xor ebx, r13d
mov r13, qword [rbp + 0x328]
sub ebx, eax
add ebx, ecx
xor ebx, edx
add ebx, 0x2f9ece14
mov eax, r9d
not eax
or eax, r14d
mov ecx, r14d
or ecx, r9d
not ecx
lea ecx, [rcx + rcx*2]
mov edx, dword [rbp + 0x338]
sub edx, r9d
xor r14d, r9d
sub r14d, eax
add r14d, ecx
xor r14d, edx
mov r8, qword [rbp + 0x318]
add r14d, 0x2f9ece15
xor r14d, ebx
lea rax, [r14*4 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0x2d0], rsp
jmp 0x41147a
lea rdx, [rbp - 4]
xor rsp, r11
add rsp, qword [0x44]
pop rbp
ret
mov rax, qword [rbp + 0x248]
mov edx, dword [rax]
mov ecx, edx
not ecx
mov dword [rbp + 0x348], ecx
mov eax, r11d
or eax, ecx
mov r9d, r11d
mov qword [rbp + 0x300], rdx
xor r9d, edx
sub r9d, eax
mov eax, r11d
or eax, edx
not eax
lea eax, [rax + rax*2]
add r9d, eax
mov dword [rbp + 0x1b4], edi
mov r12d, r11d
not r12d
add r12d, r12d
mov eax, r12d
sub eax, edx
xor r9d, eax
mov rax, qword [rbp + 0x258]
mov dword [rax], edx
mov rax, qword [rbp + 0x1d8]
mov eax, dword [rax]
mov dword [rbp + 0x308], eax
xor r15d, r15d
cmp eax, r9d
mov rax, qword [rbp - 0x48]
sete byte [rax]
sete r15b
mov eax, r15d
xor eax, r10d
lea edx, [r15 + r10]
sub edx, eax
and r10d, r15d
add r10d, r10d
xor r10d, edx
mov rax, qword [rbp + 0x330]
or eax, 0x8c
movzx eax, al
imul eax, eax
imul ecx, eax, 0xa795
mov dword [rbp + 0x330], ecx
mov rax, qword [rbp + 0x310]
mov edx, dword [rax]
mov eax, edx
mov ebx, edx
mov dword [rbp + 0x2e0], edx
or eax, 0x4a
movzx eax, al
imul eax, eax
imul eax, eax, 0xcca7
xor edx, edx
cmp ecx, eax
sete dl
neg edx
xor edx, 0x961f1434
lea eax, [r10 + rdx]
add eax, 0x698ddbe
xor eax, ebx
mov edx, eax
or edx, edi
mov esi, eax
mov r14, qword [rbp + 0x350]
xor esi, r14d
sub esi, edx
mov edx, eax
or edx, r14d
not edx
lea edx, [rdx + rdx*2]
add esi, edx
mov edx, eax
not edx
add edx, edx
sub edx, r14d
xor esi, edx
mov edx, esi
mov r13, qword [rbp + 0x338]
xor edx, r13d
lea r8d, [rsi + r13]
sub r8d, edx
and r13d, esi
add r13d, r13d
xor r13d, r8d
mov r10d, esi
xor r10d, eax
lea ebx, [r13 - 0x480f9a8e]
xor r10d, ebx
mov qword [rbp + 0x2f0], r11
mov r11d, r10d
xor r11d, 0x19f718a
or eax, 0xc4
movzx eax, al
imul eax, eax
imul ecx, eax, 0x167
mov dword [rbp + 0x338], ecx
mov rax, qword [rbp + 0x320]
or eax, 0xf0
movzx eax, al
imul eax, eax
imul r8d, eax, 0xf13d
xor edx, edx
cmp ecx, r8d
sete dl
mov ebx, r8d
not ebx
mov rdi, qword [rbp + 0x340]
or ebx, edi
mov eax, edi
or eax, r8d
mov ecx, dword [rbp + 0x2f8]
add ecx, ecx
sub ecx, r8d
xor edi, r8d
sub edi, ebx
not eax
lea eax, [rax + rax*2]
add edi, eax
xor edi, ecx
neg edx
xor edx, 0xabc62619
add edi, 0x2b3caab8
imul edi, edx
mov eax, r14d
mov r8, qword [rbp + 0x300]
xor eax, r8d
lea ecx, [r14 + r8]
sub ecx, eax
mov eax, r14d
and eax, r8d
add eax, eax
xor eax, ecx
mov ecx, r9d
not ecx
mov rbx, qword [rbp + 0x2f0]
or ecx, ebx
mov edx, ebx
or edx, r9d
sub r12d, r9d
xor r9d, ebx
sub r9d, ecx
not edx
lea ecx, [rdx + rdx*2]
add r9d, ecx
xor r9d, r12d
and edi, eax
xor edi, r11d
xor r9d, 0x96bab8eb
or r13d, 0x3e
movzx ecx, r13b
imul ecx, ecx
imul ecx, ecx, 0x1fe1
mov edx, dword [rbp + 0x2e0]
or edx, 0x79
movzx edx, dl
imul edx, edx
imul edx, edx, 0x1f3
xor ebx, ebx
cmp ecx, edx
sete bl
xor ebx, 0x6826c9c9
imul ebx, r9d
mov ecx, eax
not ecx
or ecx, r11d
mov edx, r11d
or edx, eax
xor r10d, 0x7e608e75
add r10d, r10d
sub r10d, eax
xor eax, r11d
sub eax, ecx
not edx
lea ecx, [rdx + rdx*2]
add eax, ecx
xor eax, r10d
and ebx, eax
mov rcx, qword [rbp - 0x58]
mov dword [rcx], ebx
lea ecx, [rax + r15]
mov edx, eax
xor edx, r15d
sub ecx, edx
and r15d, eax
add r15d, r15d
xor r15d, ecx
mov r9d, esi
not r9d
mov ecx, dword [rbp + 0x330]
or r9d, ecx
mov edx, ecx
or edx, esi
mov ebx, ecx
not ebx
add ebx, ebx
sub ebx, esi
xor esi, ecx
sub esi, r9d
not edx
lea ecx, [rdx + rdx*2]
add esi, ecx
xor esi, ebx
mov r9d, dword [rbp + 0x338]
mov ecx, r9d
not ecx
or ecx, r14d
mov edx, r14d
or edx, r9d
mov ebx, dword [rbp + 0x1b4]
add ebx, ebx
sub ebx, r9d
xor r14d, r9d
sub r14d, ecx
not edx
lea ecx, [rdx + rdx*2]
add r14d, ecx
xor r14d, ebx
mov rcx, qword [rbp - 0x50]
mov dword [rcx], edi
add esi, 0x350f3ad5
xor r14d, esi
xor r14d, r15d
mov ecx, edi
not ecx
or ecx, r8d
mov edx, r8d
or edx, edi
mov ebx, dword [rbp + 0x348]
add ebx, ebx
sub ebx, edi
xor edi, r8d
not edx
lea edx, [rdx + rdx*2]
sub edi, ecx
add edi, edx
xor edi, ebx
mov ebx, dword [rbp + 0x308]
mov ecx, ebx
not ecx
or ecx, eax
mov edx, eax
or edx, ebx
mov esi, ebx
mov ebx, eax
not ebx
add ebx, ebx
sub ebx, esi
xor eax, esi
sub eax, ecx
not edx
lea ecx, [rdx + rdx*2]
add eax, ecx
xor eax, ebx
xor r14d, 0x350f3ad4
add edi, 0x2aa2dd82
xor eax, edi
xor eax, 0xa768d66f
cdq
idiv r14d
cmp eax, 0x8dca0bed
je 0x411777
cmp eax, 0x62fef6f5
jne 0x40ca03
mov rax, qword [rbp - 8]
mov r14d, dword [rax]
mov ecx, r14d
not ecx
mov edx, r14d
or edx, ecx
lea ebx, [rcx + rcx*2]
sub ebx, edx
add ecx, ecx
sub ecx, r14d
xor ecx, ebx
mov edx, ecx
xor edx, 0xc509826f
lea ebx, [rcx + r14]
mov edi, ecx
xor edi, r14d
sub ebx, edi
mov r9d, ecx
and r9d, r14d
add r9d, r9d
xor r9d, ebx
mov ebx, r9d
xor ebx, 0x58ba32bd
imul ebx, edx
mov edx, ecx
or edx, 0x2f
movzx edx, dl
imul edx, edx
imul r11d, edx, 0x8329
xor r10d, r10d
cmp r11d, 0x79f70
sete r10b
neg r10d
and r10d, ebx
mov esi, r10d
xor esi, r14d
mov ebx, r14d
or ebx, 0x57
movzx ebx, bl
imul ebx, ebx
imul r8d, ebx, 0xea11
xor ebx, ebx
cmp r8d, 0xc571e34
sete bl
neg ebx
xor ebx, 0xf38eef3b
imul ebx, ebx, 0xd0a6953e
lea eax, [r14 + r11]
mov edi, r14d
xor edi, r11d
sub eax, edi
and r14d, r11d
add r14d, r14d
xor r14d, eax
and ebx, r14d
mov edx, esi
xor edx, 0x79f70
neg edx
lea edx, [rsi + rdx]
add edx, 0x79f70
mov eax, esi
and eax, 0x79f70
add eax, eax
xor eax, edx
mov edx, ecx
or edx, 0xfff8608f
mov edi, ecx
not edi
xor ecx, 0x79f70
sub ecx, edx
lea edx, [rdi + rdi]
add edx, 0xfff86090
and edi, 0xfff8608f
lea edi, [rdi + rdi*2]
add ecx, edi
mov edi, ebx
xor edi, esi
xor ecx, edx
lea r8d, [rcx + rax]
add r8d, 0x251e2afa
xor r8d, edi
mov eax, esi
not eax
mov edx, 0xfffffffe
sub edx, esi
sub esi, eax
lea eax, [rax + rax*2]
add esi, eax
xor esi, edx
xor esi, 0x2a0682cf
or r9d, 0xda
movzx eax, r9b
imul eax, eax
imul eax, eax, 0xd8a1
xor edi, edi
cmp eax, 0x7dc22047
sete dil
xor edi, 0xba2a5435
imul edi, esi
mov eax, ecx
not eax
or eax, r10d
mov edx, r10d
or edx, ecx
mov esi, r10d
not esi
add esi, esi
sub esi, ecx
xor ecx, r10d
sub ecx, eax
not edx
lea eax, [rdx + rdx*2]
add ecx, eax
xor ecx, esi
and ecx, edi
xor ecx, r8d
mov r13, qword [rbp + 0x328]
mov dword [r13], ecx
lea eax, [r14 + rbx]
mov ecx, r14d
xor ecx, ebx
sub eax, ecx
and ebx, r14d
add ebx, ebx
xor ebx, eax
lea eax, [r10 + rbx]
mov ecx, r10d
xor ecx, ebx
sub eax, ecx
lea ecx, [rbx + 0x271d296d]
and ebx, r10d
add ebx, ebx
xor ebx, eax
add ebx, 0x769de0e4
imul ebx, ecx
mov r8, qword [rbp + 0x318]
mov dword [r8], ebx
mov rax, qword [rbp + 0x200]
mov rax, qword [rax]
mov rcx, qword [rbp + 0x2c8]
mov qword [rcx], rax
jmp 0x41147a
mov r9, qword [rbp + 0x350]
mov eax, r9d
or eax, 3
movzx eax, al
imul eax, eax
imul edx, eax, 0x10af
mov rax, qword [rbp + 0x308]
or eax, 0x6a
movzx eax, al
imul eax, eax
imul ecx, eax, 0x27af
xor eax, eax
cmp edx, ecx
mov rsi, rdx
mov qword [rbp + 0x2e0], rdx
sete al
neg eax
xor eax, 0xed09b4af
mov r10, qword [rbp + 0x338]
mov ecx, r10d
or ecx, 0x6f
movzx ecx, cl
imul ecx, ecx
imul ecx, ecx, 0x1b23
mov rbx, qword [rbp + 0x340]
mov edx, ebx
or edx, 0xcd
movzx edx, dl
imul edx, edx
imul edx, edx, 0x4067
xor r12d, r12d
cmp ecx, edx
sete r12b
neg r12d
xor r12d, 0x92135a8d
imul r12d, eax
mov r11d, dword [0x0041d048]
mov rax, qword [rbp - 0x60]
mov dword [rax], r11d
mov rax, qword [rbp + 0x310]
mov r13d, dword [rax]
xor r12d, r13d
mov eax, r10d
or eax, 0xdf
movzx eax, al
imul eax, eax
imul ecx, eax, 0xc88d
mov dword [rbp + 0x348], ecx
mov eax, esi
or eax, 0x86
movzx eax, al
imul eax, eax
imul eax, eax, 0xbacb
mov dword [rbp + 0x300], eax
xor esi, esi
cmp ecx, eax
sete sil
mov r8d, esi
neg r8d
mov eax, r9d
or eax, 0x32
movzx eax, al
imul eax, eax
imul r14d, eax, 0x3ae1
or ebx, 0x30
movzx eax, bl
imul eax, eax
imul eax, eax, 0x9d3d
xor ebx, ebx
cmp r14d, eax
sete bl
mov r15d, r13d
not r15d
mov rcx, qword [rbp + 0x330]
mov edx, ecx
or edx, r15d
mov eax, ecx
xor ecx, r13d
sub ecx, edx
or eax, r13d
not eax
lea eax, [rax + rax*2]
add ecx, eax
mov eax, dword [rbp + 0x280]
sub eax, r13d
xor ecx, eax
neg ebx
xor ebx, 0xf3984f17
add ecx, 0x1b7f3b2a
imul ecx, ebx
mov rbx, qword [rbp + 0x320]
mov eax, ebx
not eax
or eax, r9d
mov edx, r9d
or edx, ebx
add edi, edi
sub edi, ebx
xor r9d, ebx
sub r9d, eax
not edx
lea eax, [rdx + rdx*2]
add r9d, eax
xor r9d, edi
and ecx, r8d
or r15d, r8d
mov eax, r8d
or eax, r13d
add esi, esi
sub esi, r13d
xor r8d, r13d
sub r8d, r15d
not eax
lea eax, [rax + rax*2]
add r8d, eax
add esi, 0xfffffffe
xor r8d, esi
xor r9d, 0xe3d6e760
mov eax, r8d
xor eax, 0xdc4eaf28
add eax, r9d
mov edx, r10d
xor edx, r11d
lea ebx, [r10 + r11]
sub ebx, edx
and r10d, r11d
add r10d, r10d
xor r10d, ebx
and r10d, eax
xor ecx, r12d
xor r10d, ecx
or r11d, 0x4b
movzx eax, r11b
imul eax, eax
imul eax, eax, 0x1a03
mov rcx, qword [rbp + 0x308]
or ecx, 0x1d
movzx edx, cl
imul edx, edx
imul edx, edx, 0xfebd
xor ebx, ebx
cmp eax, edx
sete bl
mov eax, 0xfc079f6e
sub eax, ebx
mov r9, qword [rbp + 0x2e0]
lea edx, [r12 + r9]
mov ebx, r12d
xor ebx, r9d
sub edx, ebx
and r12d, r9d
add r12d, r12d
xor r12d, edx
add r12d, 0xd802ac9f
xor r12d, eax
xor r12d, r10d
mov rax, qword [rbp - 0x68]
mov dword [rax], r12d
mov rax, qword [rbp + 0x2d8]
or eax, 0x6e
movzx eax, al
imul eax, eax
imul edx, eax, 0xc81d
or r12d, 0x3e
movzx eax, r12b
imul eax, eax
imul r10d, eax, 0xa693
xor edi, edi
cmp edx, r10d
sete dil
neg edi
xor edi, 0xeb11fbed
or r8d, 0x12
movzx ecx, r8b
imul ecx, ecx
imul ecx, ecx, 0x2ccf
mov eax, dword [rbp + 0x300]
or eax, 0x9c
movzx edx, al
imul edx, edx
imul ebx, edx, 0x1a4d
xor edx, edx
cmp ecx, ebx
sete dl
neg edx
xor edx, 0x3d9d99e5
imul edx, edi
mov esi, dword [rbp + 0x348]
mov ebx, esi
not ebx
or ebx, r14d
mov edi, r14d
or edi, esi
mov eax, esi
mov esi, r14d
not esi
add esi, esi
sub esi, eax
xor r14d, eax
sub r14d, ebx
not edi
lea ebx, [rdi + rdi*2]
add r14d, ebx
xor r14d, esi
xor r14d, edx
mov rdi, r9
lea edx, [r9 + rcx]
mov ebx, edi
xor ebx, ecx
sub edx, ebx
and edi, ecx
add edi, edi
xor edi, edx
xor edi, 0x1d7c5aa9
or r10d, 0xce
movzx eax, r10b
imul eax, eax
imul ecx, eax, 0xdd15
mov rax, qword [rbp + 0x2e8]
or eax, 0xd2
movzx eax, al
imul eax, eax
imul edx, eax, 0xbcd5
xor eax, eax
cmp ecx, edx
sete al
neg eax
xor eax, 0xebcf9ed0
imul eax, edi
xor edx, edx
div r14d
cmp eax, 0x26a4f74f
jg 0x40d2ba
cmp eax, 0xc2b7b2a2
je 0x411c8e
cmp eax, 0xf8f4ee1a
jne 0x40d2d0
jmp 0x40ebff
cmp eax, 0x26a4f750
je 0x4130ab
cmp eax, 0x7cf1b510
je 0x413482
lea rdx, [rbp - 4]
call qword [rbx]
lea rdx, [rbp - 4]
lea rdx, [rbp - 4]
call qword [rbx]
call qword [rbx]
add rsp, qword [0x4c]
pop rbp
ret
mov rax, qword [rbp + 0x120]
mov r8, qword [rax]
mov rax, qword [rbp + 0xb8]
mov qword [rax], r8
mov r13, qword [rbp + 0x338]
mov rcx, qword [rbp + 0x340]
lea eax, [rcx + r13]
mov edx, ecx
xor edx, r13d
sub eax, edx
mov r15, r10
mov r10d, ecx
and r10d, r13d
add r10d, r10d
xor r10d, eax
mov eax, r15d
or eax, 0xfc
movzx eax, al
imul eax, eax
imul ebx, eax, 0xa83b
mov eax, r11d
or eax, 0x65
movzx eax, al
imul eax, eax
imul r9d, eax, 0x8423
xor edi, edi
cmp ebx, r9d
sete dil
mov ecx, r10d
sub ecx, edi
lea edx, [rcx + 0x28faa7f7]
mov rax, qword [rbp + 0x310]
xor edx, dword [rax]
mov dword [rbp + 0x350], edx
or esi, 0x6b
movzx edx, sil
imul edx, edx
mov rsi, r11
imul r11d, edx, 0x3c6b
mov rax, qword [rbp + 0x320]
or eax, 0xc4
movzx edx, al
imul edx, edx
imul edx, edx, 0x4d65
xor r12d, r12d
cmp r11d, edx
sete r12b
mov r11d, r9d
not r11d
or r11d, ebx
mov edx, ebx
or edx, r9d
mov eax, ebx
not eax
add eax, eax
sub eax, r9d
xor ebx, r9d
sub ebx, r11d
not edx
lea edx, [rdx + rdx*2]
add ebx, edx
xor ebx, eax
xor ebx, 0xa3675951
sub ebx, r12d
add ebx, 0x71a78d67
xor ebx, dword [rbp + 0x350]
mov rax, qword [rbp + 0xb0]
mov dword [rax], ebx
neg edi
xor edi, r10d
sub ecx, edi
and ecx, 1
mov eax, ecx
neg eax
mov rdx, qword [rbp + 0xa8]
mov dword [rdx], eax
mov eax, r13d
or eax, 0xf4
movzx eax, al
imul eax, eax
imul eax, eax, 0xd891
or r14d, 0x94
movzx edx, r14b
imul edx, edx
imul ebx, edx, 0xc9d9
xor edx, edx
cmp eax, ebx
sete dl
mov eax, esi
not eax
or eax, r8d
mov ebx, r8d
or ebx, esi
mov edi, r8d
not edi
add edi, edi
sub edi, esi
xor r8d, esi
sub r8d, eax
not ebx
lea eax, [rbx + rbx*2]
add r8d, eax
xor edx, 0x8cad869b
xor r8d, edi
xor r8d, 0x39a3ef93
imul r8d, edx
lea eax, [rcx + r13]
mov edx, ecx
xor edx, r13d
sub eax, edx
and ecx, r13d
add ecx, ecx
xor ecx, eax
xor ecx, r8d
mov rbx, qword [rbp + 0x340]
lea eax, [r15 + rbx]
mov edx, r15d
xor edx, ebx
sub eax, edx
and r15d, ebx
add r15d, r15d
xor r15d, eax
mov eax, r15d
not eax
mov rdx, qword [rbp + 0x330]
or eax, edx
mov ebx, edx
xor edx, r15d
sub edx, eax
or ebx, r15d
not ebx
lea eax, [rbx + rbx*2]
add edx, eax
mov eax, dword [rbp + 0x280]
sub eax, r15d
xor eax, r15d
xor eax, edx
xor eax, 0x16d27e3a
imul eax, ecx
cmp eax, 0x16d27e39
jg 0x40d503
cmp eax, 0xd2407dde
je 0x412cbc
cmp eax, 0xd62985f7
je 0x40cd86
mov rsp, rbp
popfq
lea rdx, [rbp - 4]
add rsp, qword [4]
pop rbp
ret
cmp eax, 0x16d27e3a
je 0x40db7e
cmp eax, 0x40b6843b
jne 0x40d4ee
mov rax, qword [rbp + 0x38]
mov ebx, dword [rax]
mov rax, qword [rbp + 0x30]
mov r10d, dword [rax]
mov r9d, r10d
xor r9d, ebx
mov eax, r9d
or eax, 0xa1
movzx eax, al
imul eax, eax
imul r14d, eax, 0xf47f
mov ecx, r10d
or ecx, 0x3e
movzx ecx, cl
imul ecx, ecx
imul r8d, ecx, 0x24b
xor ecx, ecx
cmp r14d, r8d
sete cl
lea esi, [rbx + r14]
mov edi, ebx
xor edi, r14d
sub esi, edi
and ebx, r14d
add ebx, ebx
xor ebx, esi
mov r11d, ebx
sub r11d, ecx
add r11d, 0xdd265371
xor r11d, r9d
lea edi, [r10 + rbx]
mov edx, r10d
xor edx, ebx
sub edi, edx
and ebx, r10d
add ebx, ebx
xor ebx, edi
mov r9d, ebx
xor r9d, 0xd5c5abfc
mov edx, ebx
or edx, 0xab
movzx edx, dl
imul edx, edx
imul edi, edx, 0x4d41
or r8d, 0x89
movzx esi, r8b
imul esi, esi
imul esi, esi, 0x5bf1
xor r8d, r8d
cmp edi, esi
sete r8b
mov esi, r14d
not esi
or esi, edi
mov eax, edi
mov edx, edi
xor edi, r14d
sub edi, esi
or eax, r14d
not eax
lea eax, [rax + rax*2]
add edi, eax
sub r9d, r8d
add r9d, 0xedc5cb20
not edx
add edx, edx
sub edx, r14d
xor edi, edx
and edi, r9d
xor edi, r11d
mov eax, r14d
or eax, 0x64
movzx eax, al
imul eax, eax
imul eax, eax, 0xfa21
or ebx, 0x21
movzx edx, bl
imul edx, edx
imul ebx, edx, 0xef6b
xor edx, edx
cmp eax, ebx
sete dl
mov eax, r14d
sub eax, ecx
neg ecx
mov esi, ecx
xor esi, r14d
sub eax, esi
neg edx
xor edx, 0x7a19a248
and ecx, r14d
add ecx, ecx
xor ecx, eax
lea edx, [rcx + rdx]
add edx, 0x85f7a2cc
or ecx, 0xf5
movzx eax, cl
imul eax, eax
imul ecx, eax, 0xbecf
or r14d, 0xef
movzx eax, r14b
imul eax, eax
imul esi, eax, 0xcde5
xor eax, eax
cmp ecx, esi
sete al
neg eax
xor eax, 0x5ac3ec24
neg r8d
or r8d, 0xf5
movzx ecx, r8b
imul ecx, ecx
imul ecx, ecx, 0xb8b7
or ebx, 0xb6
movzx ebx, bl
imul ebx, ebx
imul ebx, ebx, 0xd603
xor esi, esi
cmp ecx, ebx
mov r13, qword [rbp + 0x328]
mov dword [r13], edi
mov r8, qword [rbp + 0x318]
mov dword [r8], edx
mov rcx, qword [rbp + 0x40]
mov ecx, dword [rcx]
mov rdx, qword [rbp + 0x1e8]
mov dword [rdx], ecx
mov rcx, qword [rbp + 0x258]
mov ecx, dword [rcx]
mov rdx, qword [rbp + 0x1f0]
mov dword [rdx], ecx
sete sil
sub eax, esi
add eax, 0xa53c13dd
mov rcx, qword [rbp + 0x2d0]
jmp 0x411478
mov rax, qword [rbp + 0x1a0]
mov ebx, dword [rax]
mov rax, qword [rbp + 0x198]
mov esi, dword [rax]
xor r14d, r14d
cmp esi, ebx
seta r14b
mov rax, qword [rbp + 0x310]
mov ecx, dword [rax]
mov edx, ecx
or edx, 0xc9
movzx edx, dl
imul edx, edx
imul r13d, edx, 0x5a3b
mov eax, esi
or eax, 0xde
movzx eax, al
imul eax, eax
imul r11d, eax, 0xaa81
xor r12d, r12d
cmp r13d, r11d
sete r12b
mov dword [rbp + 0x350], r12d
neg r12d
mov eax, r12d
xor eax, 0xe1d72283
lea edi, [rcx + rbx]
mov edx, ecx
xor edx, ebx
sub edi, edx
and ebx, ecx
add ebx, ebx
xor ebx, edi
lea edi, [rbx + rax]
add edi, 0x5ab268d1
xor edi, ecx
or esi, 0x49
movzx eax, sil
imul eax, eax
imul r15d, eax, 0x1a7d
lea eax, [r14 + 0x6c]
imul eax, eax
imul esi, eax, 0x349d
xor r10d, r10d
cmp r15d, esi
sete r10b
mov r8d, r10d
xor r8d, 0x6e8b5007
mov ecx, esi
or ecx, 0xaf
movzx ecx, cl
imul ecx, ecx
imul ecx, ecx, 0x457f
mov edx, r12d
or edx, 0x16
movzx edx, dl
imul edx, edx
imul r9d, edx, 0x88eb
xor ebx, ebx
cmp ecx, r9d
sete bl
mov ecx, esi
xor ecx, r13d
lea eax, [rsi + r13]
sub eax, ecx
and esi, r13d
mov edx, ebx
neg edx
xor r8d, edx
xor r8d, 0x8976fcd9
add esi, esi
xor esi, eax
and esi, r8d
xor esi, edi
mov r13d, r14d
neg r13d
mov ecx, r13d
or ecx, 0xe6
movzx ecx, cl
imul ecx, ecx
imul r8d, ecx, 0x4d83
mov edi, r15d
or edi, 0x97
movzx edi, dil
imul edi, edi
imul ecx, edi, 0x3259
xor edi, edi
cmp r8d, ecx
sete dil
neg edi
xor edi, 0x34636b28
or r15d, 0xdc
movzx ecx, r15b
imul ecx, ecx
imul r8d, ecx, 0x8a23
mov ecx, esi
or ecx, 0x4a
movzx ecx, cl
imul ecx, ecx
imul eax, ecx, 0x3145
xor ecx, ecx
cmp r8d, eax
sete cl
sub edi, ecx
add edi, 0xb80f7ebb
and edi, r13d
mov r15d, r11d
not r15d
or r15d, edx
mov eax, edx
or eax, r11d
add ebx, ebx
sub ebx, r11d
xor edx, r11d
mov r8d, edi
xor r8d, esi
not eax
lea eax, [rax + rax*2]
add ebx, 0xfffffffe
sub edx, r15d
add edx, eax
xor edx, ebx
neg ecx
or ecx, 0xd3
movzx eax, cl
imul eax, eax
imul r11d, eax, 0x2653
mov eax, edi
or eax, 0xd7
movzx eax, al
imul eax, eax
imul eax, eax, 0xd5df
xor ebx, ebx
cmp r11d, eax
sete bl
lea eax, [r14 + rdi]
mov ecx, r14d
xor ecx, edi
sub eax, ecx
and edi, r14d
add edi, edi
xor edi, eax
sub edx, ebx
add edx, 0x89a5c98a
and edi, edx
xor edi, r8d
mov eax, edi
sub eax, dword [rbp + 0x350]
mov ecx, edi
xor ecx, r12d
sub eax, ecx
and r12d, edi
add r12d, r12d
xor r12d, eax
neg ebx
or ebx, 0x71
movzx eax, bl
imul eax, eax
imul eax, eax, 0xe4b5
or esi, 0xd9
movzx ecx, sil
imul ecx, ecx
imul ecx, ecx, 0x3a15
xor edx, edx
cmp eax, ecx
sete dl
xor r12d, edi
neg edx
xor r12d, edx
xor r12d, 0x1879d2b4
or r9d, 0xdb
movzx eax, r9b
imul eax, eax
imul eax, eax, 0x17e9
or r11d, 1
movzx ecx, r11b
imul ecx, ecx
imul ecx, ecx, 0x1073
xor edx, edx
cmp eax, ecx
mov eax, r10d
mov ecx, r14d
not ecx
lea ecx, [r10 + rcx*2]
lea ebx, [r10 - 1]
mov r13, qword [rbp + 0x328]
mov dword [r13], r12d
sete dl
mov edi, 0x6505e950
sub edi, edx
neg eax
or ebx, r14d
mov edx, r14d
or edx, eax
xor eax, r14d
sub eax, ebx
not edx
lea edx, [rdx + rdx*2]
add eax, edx
xor eax, ecx
add eax, 0x6514ac44
xor eax, edi
mov r8, qword [rbp + 0x318]
mov dword [r8], eax
mov rax, qword [rbp + 0x238]
mov eax, dword [rax]
mov rcx, qword [rbp + 0x2b8]
jmp 0x411478
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov rcx, qword [rbp + 0x178]
mov qword [rcx], rax
mov rax, qword [rcx]
mov rax, qword [rax + 0x30]
mov rcx, qword [rbp + 0x170]
mov qword [rcx], rax
xor r9d, r9d
cmp qword [rcx], 0
mov rcx, qword [rbp + 0x168]
sete byte [rcx]
sete r9b
mov ecx, r11d
not ecx
or ecx, r9d
mov edx, r9d
or edx, r11d
mov ebx, r9d
not ebx
add ebx, ebx
sub ebx, r11d
xor r9d, r11d
not edx
lea edx, [rdx + rdx*2]
sub r9d, ecx
add r9d, edx
xor r9d, ebx
lea edx, [r9 + 0x1899ffef]
mov rdi, qword [rbp + 0x330]
lea ecx, [r10 + rdi]
mov ebx, r10d
xor ebx, edi
sub ecx, ebx
and r10d, edi
add r10d, r10d
xor r10d, ecx
lea r8d, [r10 + 0x400b1ed2]
imul r8d, edx
mov rcx, qword [rbp + 0x310]
xor r8d, dword [rcx]
mov rcx, qword [rbp + 0x160]
mov dword [rcx], r8d
mov ebx, r10d
not ebx
mov rax, qword [rbp + 0x308]
mov edx, eax
or edx, ebx
mov edi, eax
or edi, r10d
not edi
lea edi, [rdi + rdi*2]
sub r12d, r10d
xor eax, r10d
sub eax, edx
add eax, edi
xor eax, r12d
or ebx, r9d
mov edx, r9d
or edx, r10d
not edx
lea edi, [rdx + rdx*2]
mov edx, r9d
not edx
lea ecx, [rdx + rdx]
sub ecx, r10d
xor r10d, r9d
sub r10d, ebx
add r10d, edi
xor r10d, ecx
mov ebx, esi
not ebx
or ebx, r8d
mov edi, r8d
mov ecx, r8d
xor r8d, esi
sub r8d, ebx
or edi, esi
not edi
lea ebx, [rdi + rdi*2]
add r8d, ebx
add eax, 0x545ab334
xor eax, r10d
xor eax, 0x545ab335
not ecx
add ecx, ecx
sub ecx, esi
xor r8d, ecx
or r8d, eax
lea ecx, [r9 + rsi]
mov ebx, r9d
xor ebx, esi
sub ecx, ebx
and esi, r9d
add esi, esi
xor esi, ecx
or edx, r10d
mov ecx, r10d
or ecx, r9d
mov ebx, r10d
not ebx
add ebx, ebx
sub ebx, r9d
xor r10d, r9d
sub r10d, edx
not ecx
lea eax, [rcx + rcx*2]
add r10d, eax
xor r10d, ebx
add esi, 0x1634ea4c
xor r10d, esi
xor r10d, 0x769083eb
imul r10d, r8d
cmp r10d, 0x32419e19
jg 0x40dc6b
cmp r10d, 0x904162e6
je 0x413482
cmp r10d, 0xfe8a47ad
je 0x40ebff
cmp r10d, 0x28b458e4
jne 0x40dc8e
mov rax, qword [rbp + 0xa8]
mov edi, dword [rax]
mov edx, edi
not edx
mov eax, edx
or eax, 0xa021040
and eax, 0xa061440
mov ebx, edi
and ebx, 0x40400
lea ebx, [rbx + rax]
add ebx, 0x1010104
mov eax, ebx
xor eax, 0xb071544
xor ebx, 0xf4f8eabb
or ebx, edi
mov ecx, edi
xor ecx, eax
sub ecx, ebx
mov ebx, edi
or ebx, eax
not ebx
lea ebx, [rbx + rbx*2]
add edx, edx
sub edx, eax
add ecx, ebx
movabs rbx, 0x44c304efabe748db
mov rsi, rbx
add ebx, 0xf375a7a
xor ebx, edx
xor ebx, ecx
mov ecx, esi
xor ecx, eax
xor ebx, ecx
and ebx, edi
mov rcx, qword [rbp + 0xb0]
xor ebx, dword [rcx]
mov r13, qword [rbp + 0x328]
mov dword [r13], ebx
lea ecx, [rax + rbx]
mov edx, eax
xor edx, ebx
sub ecx, edx
and eax, ebx
add eax, eax
xor eax, ecx
mov ecx, eax
xor ecx, 0xca6aa0df
or eax, 0x37
movzx eax, al
imul eax, eax
imul eax, eax, 0xed1
or ebx, 0xf2
movzx edx, bl
imul edx, edx
imul edx, edx, 0xf7d3
xor ebx, ebx
cmp eax, edx
sete bl
neg ebx
xor ebx, 0x35a6a435
add ebx, ecx
mov r8, qword [rbp + 0x318]
mov dword [r8], ebx
mov rax, qword [rbp + 0xb8]
mov rax, qword [rax]
mov rcx, qword [rbp + 0x298]
mov qword [rcx], rax
jmp 0x41147a
cmp r10d, 0x60a469a6
jg 0x40dc92
cmp r10d, 0x32419e1a
je 0x4112cf
cmp r10d, 0x32dde163
je 0x411c8e
popfq
ret 0xb0f
cmp r10d, 0x60a469a7
je 0x40e6d3
cmp r10d, 0x797ea9e0
jne 0x40dc8e
mov rax, qword [rbp + 0x230]
mov rdx, qword [rax]
mov rax, qword [rbp + 0x180]
mov rax, qword [rax]
movzx ecx, byte [rax + rdx]
mov eax, ecx
mov dword [rbp + 0x350], ecx
or eax, 0x95
imul eax, eax
imul r12d, eax, 0x72ef
mov eax, edx
mov qword [rbp + 0x340], rdx
or eax, 0x54
movzx eax, al
imul eax, eax
imul r11d, eax, 0x59e9
cmp r12d, r11d
sete al
neg al
mov byte [rbp + 0x348], al
xor r10d, r10d
cmp cl, al
sete r10b
mov rax, qword [rbp + 0x310]
mov r13d, dword [rax]
mov eax, r13d
or eax, 0xe
movzx eax, al
imul eax, eax
imul ebx, eax, 0xcdbb
mov eax, edx
or eax, 0x4e
movzx eax, al
imul eax, eax
imul eax, eax, 0x6403
xor edi, edi
cmp ebx, eax
sete dil
lea eax, [r10 + r12]
mov ecx, r10d
xor ecx, r12d
sub eax, ecx
mov esi, r10d
and esi, r12d
add esi, esi
xor esi, eax
lea eax, [rsi + 0x18cd113f]
neg edi
xor r13d, edi
xor r13d, eax
xor r13d, 0x952f18b9
mov ecx, ebx
not ecx
or ecx, r11d
mov edx, r11d
or edx, ebx
mov eax, r11d
not eax
add eax, eax
sub eax, ebx
xor ebx, r11d
sub ebx, ecx
mov ecx, r10d
neg ecx
not edx
lea edx, [rdx + rdx*2]
add ebx, edx
xor ebx, eax
mov eax, edi
or eax, 0x64
movzx eax, al
imul eax, eax
imul r14d, eax, 0x8a85
mov eax, r12d
or eax, 0xae
movzx eax, al
imul eax, eax
imul r9d, eax, 0x9f53
xor eax, eax
cmp r14d, r9d
sete al
neg eax
lea r15d, [rbx + rax]
add r15d, 0x7dadf650
and r15d, ecx
mov r8d, r15d
xor r8d, r13d
or r14d, 0x8a
movzx edx, r14b
imul edx, edx
imul r14d, edx, 0xd2fd
or r15d, 0xa6
movzx edx, r15b
imul edx, edx
imul r15d, edx, 0xb9cb
xor edx, edx
cmp r14d, r15d
sete dl
mov eax, ecx
xor eax, edi
and ecx, edi
sub edi, r10d
sub edi, eax
add ecx, ecx
xor ecx, edi
neg edx
xor edx, 0x468a13ba
lea edi, [rcx + rdx]
add edi, 0x4757f5cc
xor edi, r8d
or r12d, 0xeb
movzx eax, r12b
imul eax, eax
imul eax, eax, 0x92b
mov ecx, ebx
or ecx, 0x2b
movzx ecx, cl
imul ecx, ecx
imul ecx, ecx, 0xa97
xor edx, edx
cmp eax, ecx
sete dl
neg edx
mov eax, edx
xor eax, 0xfe769321
mov ecx, r9d
or ecx, 0xc1
movzx ecx, cl
imul ecx, ecx
imul r8d, ecx, 0x4fdb
or edx, 0xf6
movzx ecx, dl
imul ecx, ecx
imul edx, ecx, 0xd939
xor ecx, ecx
cmp r8d, edx
sete cl
neg ecx
xor ecx, 0x9d95a2cb
imul ecx, eax
or r11d, 0x53
movzx eax, r11b
imul eax, eax
imul r12d, eax, 0x1229
mov eax, ebx
or eax, 5
movzx eax, al
imul eax, eax
imul eax, eax, 0x8b09
xor edx, edx
cmp r12d, eax
sete dl
neg edx
and ecx, edx
xor ecx, edi
or esi, 0xb5
movzx eax, sil
imul eax, eax
imul edi, eax, 0x130d
or edx, 9
movzx eax, dl
imul eax, eax
imul r11d, eax, 0xf8a1
xor eax, eax
cmp edi, r11d
sete al
movzx r8d, byte [rbp + 0x348]
mov edx, r8d
mov rdi, qword [rbp + 0x340]
xor edx, edi
lea esi, [r8 + rdi]
sub esi, edx
and r8d, edi
neg eax
add r8d, r8d
xor r8d, esi
mov edx, eax
xor edx, 0x3288e39
xor r8d, 0xe0380248
add r8d, edx
mov edx, r15d
xor edx, ecx
lea esi, [r15 + rcx]
sub esi, edx
mov edi, r15d
and edi, ecx
add edi, edi
xor edi, esi
and r8d, edi
xor r8d, ecx
mov ecx, edi
xor ecx, r9d
lea edx, [rdi + r9]
sub edx, ecx
and r9d, edi
add r9d, r9d
xor r9d, edx
or ebx, 0x2e
movzx ecx, bl
imul ecx, ecx
imul ecx, ecx, 0x4a0f
mov edx, dword [rbp + 0x350]
or edx, 0x8b
imul edx, edx
imul edx, edx, 0x56ad
xor esi, esi
cmp ecx, edx
sete sil
mov ecx, esi
neg ecx
mov edx, ecx
xor edx, 0x542d02aa
lea r9d, [r9 + rdx]
add r9d, 0xd04fafeb
mov ebx, r14d
not ebx
lea ebx, [rsi + rbx*2]
add esi, 0xffffffff
or esi, r14d
mov edx, r14d
or edx, ecx
xor ecx, r14d
sub ecx, esi
not edx
lea edx, [rdx + rdx*2]
add ecx, edx
xor ecx, ebx
and ecx, r9d
lea edx, [rdi + r10]
mov ebx, edi
xor ebx, r10d
sub edx, ebx
xor r8d, ecx
and edi, r10d
add edi, edi
xor edi, edx
or r15d, 0x3d
movzx edx, r15b
imul edx, edx
imul edx, edx, 0x6fbb
or r13d, 0xc2
movzx ebx, r13b
imul ebx, ebx
imul ebx, ebx, 0x904f
xor esi, esi
cmp edx, ebx
sete sil
neg esi
lea edx, [rdi + rsi]
add edx, 0xec580b06
or r12d, 0x37
movzx ebx, r12b
imul ebx, ebx
imul ebx, ebx, 0x474d
or edi, 0x2f
movzx edi, dil
imul edi, edi
imul edi, edi, 0x3103
xor esi, esi
cmp ebx, edi
sete sil
neg esi
and esi, edx
xor esi, r8d
mov r13, qword [rbp + 0x328]
mov dword [r13], esi
or eax, 0x87
movzx eax, al
imul eax, eax
imul eax, eax, 0x2b3d
or r10d, 0xdc
imul r10d, r10d
imul edx, r10d, 0xcbff
xor ebx, ebx
cmp eax, edx
sete bl
lea eax, [r11 + rcx]
mov edx, r11d
xor edx, ecx
sub eax, edx
and ecx, r11d
add ecx, ecx
xor ecx, eax
neg ebx
xor ebx, 0x6d625b59
add ecx, 0x7d908f34
imul ecx, ebx
mov r8, qword [rbp + 0x318]
mov dword [r8], ecx
mov rax, qword [rbp + 0x210]
mov rax, qword [rax]
mov rcx, qword [rbp + 0x230]
mov rcx, qword [rcx]
mov rdx, qword [rbp + 0x218]
mov qword [rdx], rcx
mov rcx, qword [rbp + 0x208]
mov rcx, qword [rcx]
mov rdx, qword [rbp + 0x220]
mov qword [rdx], rcx
mov rcx, qword [rbp + 0x228]
mov qword [rcx], rax
jmp 0x41147a
mov rax, qword [rbp + 0x278]
mov rax, qword [rax]
mov rcx, qword [rbp + 0x110]
mov qword [rcx], rax
mov rax, qword [rcx]
movzx r10d, byte [rax]
mov r11, qword [rbp + 0x320]
mov rax, qword [rbp + 0x308]
lea ecx, [r11 + rax]
mov edx, r11d
xor edx, eax
sub ecx, edx
and eax, r11d
add eax, eax
xor eax, ecx
xor r8d, r8d
cmp r10b, al
sete r8b
movzx ecx, al
lea ebx, [rcx + r15]
mov eax, ecx
mov esi, ecx
xor esi, r15d
sub ebx, esi
mov r14, qword [rbp + 0x340]
mov r9d, r14d
xor r9d, ecx
and eax, r15d
add eax, eax
xor eax, ebx
mov ebx, r14d
and ebx, ecx
mov edx, r10d
xor edx, ecx
lea esi, [r10 + rcx]
and r10d, ecx
add ecx, r14d
sub ecx, r9d
add ebx, ebx
xor ebx, ecx
xor eax, 0x21a64725
lea ecx, [rbx - 0x3525ff90]
imul ecx, eax
sub esi, edx
add r10d, r10d
xor r10d, esi
mov rdx, qword [rbp + 0x350]
mov eax, dword [rbp + 0x2f8]
or eax, edx
mov esi, edx
xor edx, r14d
sub edx, eax
mov rax, qword [rbp + 0x310]
mov r9d, dword [rax]
xor ecx, r9d
or esi, r14d
not esi
lea eax, [rsi + rsi*2]
add edi, edi
sub edi, r14d
add edx, eax
xor edx, edi
lea eax, [rcx + rbx]
mov edi, ecx
xor edi, ebx
sub eax, edi
lea edi, [rdx + r10]
add edi, 0xa6b325c8
xor edi, ecx
and ecx, ebx
neg r8d
add ecx, ecx
xor ecx, eax
add ecx, 0x7ee2c227
mov rax, qword [rbp + 0x338]
or eax, 0xdf
movzx edx, al
imul edx, edx
imul edx, edx, 0xd021
or r9d, 0x9b
movzx ebx, r9b
imul ebx, ebx
imul esi, ebx, 0xe837
xor ebx, ebx
cmp edx, esi
sete bl
mov edx, r14d
sub edx, ebx
neg ebx
xor ecx, ebx
xor ecx, 0x514e3e8f
and ecx, r8d
xor edi, ecx
mov rax, qword [rbp + 0x158]
mov dword [rax], edi
mov edi, ebx
xor edi, r14d
sub edx, edi
and ebx, r14d
add ebx, ebx
xor ebx, edx
mov edx, r15d
not edx
or edx, r10d
mov eax, r10d
or eax, r15d
mov edi, r10d
not edi
add edi, edi
sub edi, r15d
xor r10d, r15d
sub r10d, edx
not eax
lea eax, [rax + rax*2]
add r10d, eax
xor r10d, edi
lea eax, [r10 + rbx]
add eax, 0xa2d95f72
mov edx, ecx
not edx
or edx, r11d
mov ebx, r11d
or ebx, ecx
mov edi, r11d
not edi
add edi, edi
sub edi, ecx
xor ecx, r11d
sub ecx, edx
not ebx
lea edx, [rbx + rbx*2]
add ecx, edx
xor ecx, edi
or ecx, eax
cmp ecx, 0xc57c065d
jg 0x40e2b6
cmp ecx, 0x87ec02fd
je 0x41391e
cmp ecx, 0xa2d95f72
je 0x4107a5
cmp ecx, 0xb6ed2f9c
je 0x40d6f6
jmp 0x40e2da
cmp ecx, 0xc57c065e
je 0x40e6d3
cmp ecx, 0x6dfbf2bd
je 0x4130ab
cmp ecx, 0x7c2df307
je 0x411c8e
popfq
xor rsp, r11
lea rdx, [rbp - 4]
lea rdx, [rbp - 4]
call qword [rbx]
mov rsp, rbp
jb 0x40e2fc
or ecx, dword [rax - 0x75]
test eax, eax
add dword [rax], eax
add byte [rax - 0x75], cl
add byte [rax - 0x75], cl
xchg ebp, eax
add byte [rcx], al
add byte [rax], al
mov rax, qword [rbp + 0x1c0]
mov rax, qword [rax]
mov rdx, qword [rbp + 0x100]
add dword [rax], eax
add byte [rax - 0x77], cl
add cl, byte [rax - 0x75]
lea edi, [rax - 0x74ffffff]
or dword [rcx - 0x77], ecx
hlt
mov qword [rdx], rax
mov rcx, qword [rbp + 0x1b8]
mov ecx, dword [rcx]
mov r12, rsi
mov qword [rbp + 0x2e8], r15
mov rbx, qword [rbp + 0x270]
mov dword [rbx], ecx
mov r13, qword [rdx]
mov r15, qword [rbp + 0x320]
lea ecx, [r15 + rax]
mov edx, r15d
xor edx, eax
sub ecx, edx
and r15d, eax
add r15d, r15d
xor r15d, ecx
mov rax, r15
movabs rcx, 0xa1ce63f562d1f6fb
xor rax, rcx
mov ecx, r14d
not ecx
or ecx, r15d
mov edx, r15d
or edx, r14d
not edx
lea edx, [rdx + rdx*2]
mov ebx, r15d
not ebx
add ebx, ebx
sub ebx, r14d
xor r15d, r14d
sub r15d, ecx
add r15d, edx
xor r15d, ebx
mov rdx, r15
movabs rcx, 0xbdec0ccdb369a433
xor rdx, rcx
imul rdx, rax
sub rsp, 0x20
mov rcx, r13
mov rbx, r10
call fcn.00416860
add rsp, 0x20
mov rcx, qword [rbp + 0x260]
mov qword [rcx], rax
mov rax, qword [rcx]
lea rcx, [0x0041d040]
lea rax, [rcx + rax*8 + 8]
mov rcx, qword [rbp + 0x140]
mov qword [rcx], rax
mov rax, qword [rcx]
mov eax, dword [rax]
mov rcx, qword [rbp + 0x238]
mov dword [rcx], eax
mov r8d, dword [rcx]
mov rcx, qword [rbp + 0x338]
or ecx, 0xc5
movzx ecx, cl
imul ecx, ecx
imul ecx, ecx, 0x7d1b
mov rax, qword [rbp + 0x308]
mov edx, eax
or edx, 9
movzx edx, dl
imul edx, edx
imul edx, edx, 0x57ef
xor esi, esi
cmp ecx, edx
sete sil
mov ecx, 0x5a95b580
sub ecx, esi
mov edx, r8d
not edx
or edx, ebx
mov edi, ebx
mov esi, ebx
xor ebx, r8d
sub ebx, edx
or edi, r8d
not edi
lea edx, [rdi + rdi*2]
add ebx, edx
not esi
add esi, esi
sub esi, r8d
xor ebx, esi
xor ebx, ecx
xor ebx, 0x5a95b581
or eax, 0xf3
movzx ecx, al
imul ecx, ecx
imul edx, ecx, 0x2f7d
or r12d, 0xdd
movzx ecx, r12b
imul ecx, ecx
imul edi, ecx, 0x146b
xor ecx, ecx
cmp edx, edi
mov rdx, qword [rbp + 0x1a0]
mov dword [rdx], r8d
mov rax, qword [rbp + 0x270]
mov eax, dword [rax]
mov rdx, qword [rbp + 0x198]
mov dword [rdx], eax
sete cl
neg ecx
or ecx, ebx
mov rax, qword [rbp + 0x2e8]
or eax, 0x45
movzx eax, al
imul eax, eax
imul eax, eax, 0x5f33
or r15d, 0xd5
movzx edx, r15b
imul edx, edx
imul edx, edx, 0x75b5
xor ebx, ebx
cmp eax, edx
sete bl
lea edx, [rax + r13]
mov esi, eax
xor esi, r13d
sub edx, esi
and eax, r13d
add eax, eax
xor eax, edx
xor ebx, 0x8d323723
add eax, 0x1ee256ef
xor eax, ebx
cdq
idiv ecx
cmp eax, 0xf01d80d0
jg 0x40e516
cmp eax, 0xa3b2b638
jg 0x40e4ff
cmp eax, 0x93d061cc
je 0x40d6f6
cmp eax, 0x9b3737f2
jne 0x40e556
jmp 0x40e6d3
cmp eax, 0xa3b2b639
je 0x411777
cmp eax, 0xad6f533e
jne 0x40e556
jmp 0x40fd2d
cmp eax, 0xf7009b7
jg 0x40e535
cmp eax, 0xf01d80d1
je 0x41391e
cmp eax, 0xfab9328a
je 0x40dca8
jmp 0x40e556
cmp eax, 0xf7009b8
je 0x40db7e
cmp eax, 0x1ecda8a3
je 0x410bf6
cmp eax, 0x29c13778
je 0x40d515
mov rsp, rbp
mov rsp, rbp
call qword [rbx]
mov rsp, rbp
jp 0x40e572
or ecx, dword [rax - 0x75]
test dword [rax - 0x75000000], ebx
sbb byte [rax - 0x75], cl
mov ebp, 0x108
mov rax, qword [rbp + 0x98]
mov ebx, dword [rax]
mov rdi, qword [rbp + 0x108]
add byte [rax], al
mov r14, qword [rdi]
sub rsp, 0x20
mov rcx, rbx
mov rdx, r14
call fcn.00416860
add rsp, 0x20
mov rsi, rax
mov rax, qword [rbp + 0x120]
mov qword [rax], rsi
mov rax, qword [rax]
mov rcx, qword [rbp + 0x200]
mov qword [rcx], rax
mov rax, qword [rcx]
mov ecx, dword [rax + 0xc]
mov rdx, qword [rdi]
sub rsp, 0x20
call fcn.00416860
add rsp, 0x20
mov rcx, qword [rbp + 0x18]
mov qword [rcx], rax
mov r9, qword [rcx]
mov rax, qword [rbp + 0x150]
mov qword [rax], r9
mov ecx, ebx
not ecx
or ecx, esi
mov edx, esi
or edx, ebx
not edx
lea edx, [rdx + rdx*2]
mov edi, esi
not edi
add edi, edi
sub edi, ebx
xor esi, ebx
sub esi, ecx
add esi, edx
xor esi, edi
lea r8d, [rsi + 0x5159393f]
mov rax, qword [rbp + 0x320]
or eax, 0xe7
movzx edx, al
imul edx, edx
imul edx, edx, 0x51c1
or r15d, 0x20
movzx edi, r15b
imul edi, edi
imul edi, edi, 0xc92f
xor ecx, ecx
cmp edx, edi
sete cl
neg ecx
xor ecx, 0xf9e536bf
imul ecx, r8d
lea edi, [rdx + rsi]
mov eax, edx
xor eax, esi
sub edi, eax
and esi, edx
add esi, esi
xor esi, edi
xor esi, ecx
or r9d, 0xef
movzx eax, r9b
imul eax, eax
imul eax, eax, 0x569b
or ebx, 0xb5
movzx ecx, bl
imul ecx, ecx
imul ecx, ecx, 0xd15d
xor edx, edx
cmp eax, ecx
sete dl
mov ecx, 0xb2166bf0
sub ecx, edx
or r14d, 0xec
movzx eax, r14b
imul eax, eax
imul edx, eax, 0xc473
mov rax, qword [rbp + 0x340]
or eax, 0xea
movzx eax, al
imul eax, eax
imul ebx, eax, 0x60e9
xor eax, eax
cmp edx, ebx
sete al
xor eax, 0x243ce5fb
xor eax, ecx
cdq
idiv esi
cmp eax, 0xec39b7b
jg 0x40e844
cmp eax, 0x962a8e0b
je 0x40f609
cmp eax, 0xac57ea10
jne 0x40e865
mov rax, qword [rbp + 0x160]
mov r11d, dword [rax]
lea edx, [r11 + r11]
xor edx, edx
lea ecx, [r11 + rdx]
mov ebx, r11d
xor ebx, edx
sub ecx, ebx
and edx, r11d
add edx, edx
xor edx, ecx
xor edx, ebx
mov ecx, edx
xor ecx, 0x2fc8415
mov rax, qword [rbp + 0x168]
movzx r8d, byte [rax]
neg r8d
mov ebx, r11d
or ebx, 0x58
movzx ebx, bl
imul ebx, ebx
imul r9d, ebx, 0x59f5
xor edi, edi
cmp r9d, 0xd7031cb
sete dil
xor edi, 0x13b4d02b
mov ebx, r11d
or ebx, 0x91
movzx ebx, bl
imul ebx, ebx
imul r10d, ebx, 0x2f09
mov esi, ecx
or esi, 0x69
movzx esi, sil
imul esi, esi
imul ebx, esi, 0xdbd
xor esi, esi
cmp r10d, ebx
sete sil
mov ebx, esi
neg ebx
xor edi, ebx
xor edi, 0x220b706e
and edi, r8d
xor edi, ecx
mov r13, qword [rbp + 0x328]
mov dword [r13], edi
mov edi, r9d
not edi
or edi, ebx
mov eax, ebx
or eax, r9d
add esi, esi
sub esi, r9d
xor ebx, r9d
not eax
lea eax, [rax + rax*2]
add esi, 0xfffffffe
sub ebx, edi
add ebx, eax
xor ebx, esi
mov edi, r11d
not edi
mov eax, ecx
or eax, edi
mov esi, ecx
xor ecx, r11d
sub ecx, eax
or esi, r11d
not esi
lea eax, [rsi + rsi*2]
add ecx, eax
xor ebx, 0x38dc1ae9
xor edx, 0x7d037bea
add edx, edx
sub edx, r11d
xor ecx, edx
lea eax, [rcx - 0x5856b80c]
imul eax, ebx
mov r8, qword [rbp + 0x318]
mov dword [r8], eax
mov rax, qword [rbp + 0x170]
mov rax, qword [rax]
mov rdx, qword [rbp + 0x2a0]
mov qword [rdx], rax
mov rax, qword [rbp + 0x178]
mov rax, qword [rax]
mov rdx, qword [rbp + 0x2a8]
mov qword [rdx], rax
mov eax, ecx
not eax
or eax, r11d
mov edx, r11d
or edx, ecx
add edi, edi
sub edi, ecx
xor ecx, r11d
sub ecx, eax
not edx
lea eax, [rdx + rdx*2]
add ecx, eax
xor ecx, edi
mov rax, qword [rbp + 0x2d0]
mov dword [rax], ecx
mov rax, qword [rbp + 0x2b0]
mov qword [rax], 0
jmp 0x41147a
cmp eax, 0xec39b7c
je 0x413bce
cmp eax, 0x5999cc0b
je 0x40fd2d
cmp eax, 0x63b8825a
je 0x413482
mov rsp, rbp
xor rsp, r11
add rsp, qword [0x40]
pop rbp
ret
mov rax, qword [rbp - 0x80]
mov r9d, dword [rax]
mov r15, r11
mov r12, qword [rbp + 0x320]
lea eax, [r12 + r9]
mov ecx, r12d
xor ecx, r9d
mov qword [rbp + 0x350], rcx
sub eax, ecx
mov ecx, r12d
and ecx, r9d
add ecx, ecx
xor ecx, eax
xor edx, edx
cmp r9d, ecx
mov r13, rcx
mov rax, qword [rbp + 8]
sete byte [rax]
sete dl
mov qword [rbp + 0x330], rdx
mov rdx, qword [rbp + 0x348]
mov eax, edx
not eax
or eax, r10d
mov ecx, r10d
or ecx, edx
mov ebx, r10d
not ebx
add ebx, ebx
sub ebx, edx
xor r10d, edx
sub r10d, eax
not ecx
lea eax, [rcx + rcx*2]
add r10d, eax
xor r10d, ebx
or r14d, 0x74
movzx eax, r14b
imul eax, eax
imul eax, eax, 0x7d3f
mov ecx, r15d
or ecx, 0xb1
movzx ecx, cl
imul ecx, ecx
imul ecx, ecx, 0xfa99
xor edi, edi
cmp eax, ecx
mov rax, qword [rbp + 0x310]
mov ebx, dword [rax]
sete dil
neg edi
mov r11d, r10d
xor r11d, ebx
xor r11d, edi
mov eax, r15d
mov rsi, qword [rbp + 0x308]
xor eax, esi
lea ecx, [r15 + rsi]
sub ecx, eax
and esi, r15d
add esi, esi
xor esi, ecx
xor r11d, 0xf153d8a0
add esi, 0x2b5736d9
mov eax, r13d
or eax, 0x74
movzx eax, al
imul eax, eax
imul ecx, eax, 0x53e9
mov eax, ebx
or eax, 0x94
movzx eax, al
imul eax, eax
imul eax, eax, 0xe7f1
mov qword [rbp + 0x348], rax
xor edx, edx
cmp ecx, eax
sete dl
mov rax, r10
mov r10d, r12d
sub r10d, edx
mov ecx, edx
neg ecx
mov r8d, ecx
xor r8d, 0xa468aa97
imul r8d, esi
mov qword [rbp + 0x338], r13
mov r14d, r13d
not r14d
mov rsi, r9
or r14d, esi
mov edi, esi
xor edi, r13d
sub edi, r14d
mov edx, esi
or edx, r13d
not edx
lea edx, [rdx + rdx*2]
add edi, edx
mov r14d, esi
not r14d
lea edx, [r14 + r14]
sub edx, r13d
xor edi, edx
mov edx, esi
mov qword [rbp + 0x300], r9
mov rsi, qword [rbp + 0x2e8]
xor edx, esi
lea r13d, [r9 + rsi]
sub r13d, edx
mov edx, r9d
and edx, esi
mov r9, rsi
add edx, edx
xor edx, r13d
mov esi, r12d
xor esi, ecx
sub r10d, esi
and ecx, r12d
add ecx, ecx
xor ecx, r10d
xor edx, 0xa5e19841
add ecx, 0xf9f3437a
imul ecx, edx
mov edx, edi
xor edx, ebx
lea esi, [rdi + rbx]
sub esi, edx
and ebx, edi
add ebx, ebx
xor ebx, esi
and ebx, ecx
mov ecx, r9d
xor ecx, eax
lea edx, [r9 + rax]
sub edx, ecx
and eax, r9d
add eax, eax
xor eax, edx
and r8d, edi
xor r8d, ebx
xor r8d, r11d
mov ecx, r12d
or ecx, 0x40
movzx ecx, cl
imul ecx, ecx
imul r10d, ecx, 0x3e87
mov ecx, r11d
or ecx, 0xad
movzx ecx, cl
imul ecx, ecx
imul ecx, ecx, 0xbe15
xor edx, edx
cmp r10d, ecx
movabs rcx, 0x376424231ab59051
mov rsi, rcx
lea ecx, [rcx + rax + 0x26bbc88f]
sete dl
neg edx
xor ecx, esi
xor ecx, edx
or r11d, 0x48
movzx edx, r11b
imul edx, edx
imul esi, edx, 0x3103
or edi, 0xd1
movzx edx, dil
imul edx, edx
imul edx, edx, 0xce15
xor eax, eax
cmp esi, edx
sete al
neg eax
and eax, ecx
mov ecx, r15d
mov rdi, qword [rbp + 0x348]
xor ecx, edi
lea edx, [r15 + rdi]
sub edx, ecx
and r15d, edi
add r15d, r15d
xor r15d, edx
mov r9, qword [rbp + 0x330]
mov ecx, r9d
mov rdi, qword [rbp + 0x340]
xor ecx, edi
lea edx, [r9 + rdi]
sub edx, ecx
and edi, r9d
add edi, edi
xor edi, edx
xor r15d, 0xb094b4f1
xor edi, 0xb2dc3014
add edi, r15d
xor edi, r8d
xor edi, eax
mov rax, qword [rbp]
mov dword [rax], edi
or r14d, r12d
mov eax, r12d
mov rcx, qword [rbp + 0x300]
or eax, ecx
not r12d
add r12d, r12d
sub r12d, ecx
not eax
lea eax, [rax + rax*2]
mov r8, qword [rbp + 0x350]
sub r8d, r14d
add r8d, eax
xor r8d, r12d
mov eax, ebx
not eax
or eax, esi
mov ecx, esi
mov edx, esi
xor esi, ebx
sub esi, eax
or ecx, ebx
not ecx
lea eax, [rcx + rcx*2]
not edx
add edx, edx
sub edx, ebx
add esi, eax
xor esi, edx
mov rdi, r9
lea eax, [r9 + r10]
mov ecx, edi
xor ecx, r10d
sub eax, ecx
lea ecx, [rsi + r8]
add ecx, 1
and edi, r10d
add edi, edi
xor edi, eax
xor edi, ecx
mov r8d, esi
not r8d
mov rcx, qword [rbp + 0x2f0]
or r8d, ecx
mov eax, ecx
or eax, esi
mov edx, ecx
not edx
add edx, edx
sub edx, esi
xor esi, ecx
sub esi, r8d
not eax
lea eax, [rax + rax*2]
add esi, eax
xor esi, edx
mov rdx, qword [rbp + 0x338]
lea eax, [rbx + rdx]
mov ecx, ebx
xor ecx, edx
sub eax, ecx
and ebx, edx
add ebx, ebx
xor ebx, eax
xor esi, 0x4f0f186d
lea eax, [rbx + rsi]
add eax, 0x2e61039e
cdq
idiv edi
cmp eax, 0x293e14b2
jg 0x40ed94
cmp eax, 0x957acce9
je 0x412cbc
cmp eax, 0xbc981e33
je 0x40f068
cmp eax, 0xe6f04ef5
jne 0x40edcf
mov rax, qword [rbp - 0x18]
mov r8d, dword [rax]
mov eax, r8d
not eax
or eax, 0xa021040
and eax, 0xa061440
mov edx, r8d
and edx, 0x40400
lea r9d, [rdx + rax]
add r9d, 0x1010104
mov eax, r9d
xor eax, 0xb071544
mov ecx, r9d
xor ecx, 0x5ba2a8b3
mov edx, r8d
or edx, 0x56
movzx edx, dl
imul edx, edx
imul esi, edx, 0x14bd
xor r10d, r10d
cmp esi, 0x1206753
sete r10b
neg r10d
mov edx, r10d
xor edx, 0x8c2bc91f
imul edx, ecx
and edx, r8d
mov rcx, qword [rbp - 0x10]
mov r8d, dword [rcx]
xor r8d, edx
mov ecx, edx
not ecx
or ecx, esi
mov ebx, esi
or ebx, edx
mov edi, esi
not edi
add edi, edi
sub edi, edx
xor edx, esi
not ebx
lea ebx, [rbx + rbx*2]
sub edx, ecx
add edx, ebx
movabs rcx, 0x1f47ffab95ed20ea
mov rbx, rcx
add ecx, 0x4cb82c8a
xor ecx, edi
xor ecx, ebx
xor ecx, edx
xor r9d, 0xa277217
neg r9d
lea edx, [rax + r9]
add edx, 0x1206753
and eax, 0x400
add eax, eax
xor eax, edx
and ecx, eax
mov r9d, ecx
xor r9d, r8d
or r10d, 0x10
movzx edx, r10b
imul edx, edx
imul edi, edx, 0x7ce5
or r8d, 0xfa
movzx edx, r8b
imul edx, edx
imul r8d, edx, 0xcb87
xor edx, edx
cmp edi, r8d
sete dl
mov edi, eax
not edi
or edi, r8d
mov ebx, r8d
or ebx, eax
mov esi, r8d
not esi
add esi, esi
sub esi, eax
xor eax, r8d
sub eax, edi
not ebx
lea ebx, [rbx + rbx*2]
add eax, ebx
xor eax, esi
mov r13, qword [rbp + 0x328]
mov dword [r13], r9d
neg edx
xor edx, 0xed5fe7ff
xor eax, 0xc5e89aec
imul eax, edx
or ecx, 0x81
movzx ecx, cl
imul ecx, ecx
imul ecx, ecx, 0x5a77
or r9d, 0x6d
movzx edx, r9b
imul edx, edx
imul edx, edx, 0x4135
xor ebx, ebx
cmp ecx, edx
mov r8, qword [rbp + 0x318]
mov dword [r8], eax
mov rax, qword [rbp + 0x1e0]
mov eax, dword [rax]
mov rcx, qword [rbp + 0x1c8]
mov dword [rcx], eax
sete bl
neg rbx
mov rax, qword [rbp + 0x1d0]
mov qword [rax], rbx
jmp 0x41147a
cmp eax, 0x41314c8d
jg 0x40edb9
cmp eax, 0x293e14b3
mov r13, qword [rbp + 0x328]
je 0x40fe7c
cmp eax, 0x2ab5a8f9
jne 0x40edcf
jmp 0x410bf6
cmp eax, 0x41314c8e
je 0x41238d
cmp eax, 0x7d701c0b
je 0x411051
popfq
call qword [rbx]
call qword [rbx]
jmp 0xffffffff8b88f8e8
mov rax, qword [rbp + 0x1f0]
mov r15d, dword [rax]
mov rax, qword [rbp + 0x10]
mov dword [rax], r15d
mov rax, qword [rbp + 0x1e8]
mov esi, dword [rax]
mov rax, qword [rbp + 0x1e0]
mov dword [rax], esi
mov rax, qword [rbp + 0x310]
mov eax, dword [rax]
mov rcx, qword [rbp + 0x340]
or ecx, 0xb2
movzx ecx, cl
imul ecx, ecx
imul ecx, ecx, 0xd1c3
mov edx, r15d
or edx, 0xe3
movzx edx, dl
imul edx, edx
imul r8d, edx, 0x32b3
xor ebx, ebx
cmp ecx, r8d
sete bl
mov ecx, esi
or ecx, 0x69
movzx ecx, cl
imul ecx, ecx
mov rdi, r11
imul r11d, ecx, 0xcfb3
mov ecx, eax
or ecx, 0x83
movzx ecx, cl
imul ecx, ecx
imul r9d, ecx, 0x5399
xor ecx, ecx
cmp r11d, r9d
sete cl
add ebx, ecx
mov edx, 0x3a36a7be
sub edx, ebx
xor edx, eax
mov eax, esi
or eax, 0xa8
movzx eax, al
imul eax, eax
imul eax, eax, 0xb947
or r10d, 0xb0
movzx ebx, r10b
imul ebx, ebx
imul ebx, ebx, 0xa805
xor r10d, r10d
cmp eax, ebx
sete r10b
mov ebx, esi
sub ebx, ecx
neg ecx
mov eax, ecx
xor eax, esi
sub ebx, eax
and ecx, esi
mov eax, r10d
neg eax
add ecx, ecx
xor ecx, ebx
mov esi, eax
xor esi, 0xb255f21c
lea esi, [rcx + rsi]
add esi, 0x6a60f894
xor esi, edx
or r15d, 0x7c
movzx ecx, r15b
imul ecx, ecx
imul r15d, ecx, 0x685d
mov r13, qword [rbp + 0x330]
mov ecx, r13d
or ecx, 0xdf
movzx ecx, cl
imul ecx, ecx
imul ecx, ecx, 0x8fd5
xor edx, edx
cmp r15d, ecx
sete dl
mov ecx, edi
xor ecx, esi
lea ebx, [rdi + rsi]
sub ebx, ecx
neg edx
and edi, esi
add edi, edi
xor edi, ebx
xor edi, edx
xor edi, 0xd65db6e9
mov ecx, r9d
or ecx, 0x43
movzx ecx, cl
imul ecx, ecx
imul r12d, ecx, 0x2e01
or r14d, 0xf7
movzx edx, r14b
imul edx, edx
imul edx, edx, 0x7357
xor ebx, ebx
cmp r12d, edx
sete bl
neg ebx
and ebx, edi
xor ebx, esi
mov rcx, qword [rbp - 0x10]
mov dword [rcx], ebx
mov r14d, r11d
sub r14d, r10d
xor r11d, eax
sub r14d, r11d
and r14d, 1
mov ebx, r14d
neg ebx
or r13d, 0xd1
movzx esi, r13b
imul esi, esi
imul edi, esi, 0x69b3
or r8d, 0xde
movzx esi, r8b
imul esi, esi
imul ecx, esi, 0x8c27
xor esi, esi
cmp edi, ecx
sete sil
movabs rcx, 0x75ee842424925f9c
mov r8, rcx
sub ecx, esi
mov edi, r12d
sub edi, esi
neg esi
mov edx, r12d
xor edx, esi
sub edi, edx
and esi, r12d
mov rdx, qword [rbp - 0x18]
mov dword [rdx], ebx
add ecx, 1
add esi, esi
xor esi, edi
lea edx, [r8 + rsi]
xor edx, ecx
mov ecx, ebx
xor ecx, r9d
and ebx, r9d
sub r9d, r14d
sub r9d, ecx
add ebx, ebx
xor ebx, r9d
or ebx, edx
lea ecx, [rsi + r15]
mov edx, esi
xor edx, r15d
sub ecx, edx
and esi, r15d
add esi, esi
xor esi, ecx
mov rdi, qword [rbp + 0x350]
mov ecx, edi
sub ecx, r10d
mov edx, edi
xor edx, eax
sub ecx, edx
and eax, edi
add eax, eax
xor eax, ecx
xor esi, 0x61d3859b
add eax, 0x878c435e
imul eax, esi
xor edx, edx
div ebx
cmp eax, 0x15669fe9
jg 0x40f04b
cmp eax, 0xef15051a
je 0x4130ab
cmp eax, 0xf21dde48
je 0x413482
popfq
popfq
popfq
lea rdx, [rbp - 4]
jo 0x40f059
or edi, dword [0x15a7903a]
cmp eax, 0x15669fea
je 0x40ebff
cmp eax, 0x180e564d
je 0x41238d
invalid
cmp eax, 0x30a90464
jne 0x40f041
mov rax, qword [rbp + 0x28]
mov ecx, dword [rax]
mov rax, qword [rbp + 0x1f8]
mov qword [rax], rcx
mov rax, qword [rbp + 0x310]
mov esi, dword [rax]
mov r12d, ecx
not r12d
mov ebx, ecx
or ebx, r12d
lea edi, [r12 + r12*2]
sub edi, ebx
add r12d, r12d
sub r12d, ecx
xor r12d, edi
mov edi, r12d
xor edi, 0xc8386a37
or ecx, 0xf5
movzx ecx, cl
imul ecx, ecx
imul ecx, ecx, 0x17f
mov ebx, r12d
or ebx, 0xb5
movzx ebx, bl
imul ebx, ebx
imul ebx, ebx, 0xd085
xor r8d, r8d
cmp ecx, ebx
sete r8b
mov r15d, 0xd081d56c
sub r15d, r8d
imul r15d, edi
xor r15d, esi
mov rax, qword [rbp + 0x20]
movzx edi, byte [rax]
mov r10d, edi
neg r10d
mov edx, esi
not edx
or edx, edi
mov ecx, edi
or ecx, esi
not ecx
lea r9d, [rcx + rcx*2]
mov ecx, edi
not ecx
add ecx, ecx
sub ecx, esi
xor edi, esi
sub edi, edx
add edi, r9d
xor edi, ecx
movabs rsi, 0x71565eb333a561f4
lea r11d, [rsi + rdi]
add r11d, 0x41c994ee
mov edx, r8d
neg edx
mov ecx, r10d
or ecx, 0x94
movzx ecx, cl
imul ecx, ecx
imul r9d, ecx, 0xacf9
mov ecx, edx
or ecx, 0x8b
movzx ecx, cl
imul ecx, ecx
imul ecx, ecx, 0x4613
xor r14d, r14d
cmp r9d, ecx
sete r14b
sub esi, r14d
xor esi, r11d
and esi, r10d
lea edi, [r8 - 1]
or edi, ecx
mov ebx, ecx
mov eax, ecx
xor ecx, edx
sub ecx, edi
or ebx, edx
not ebx
lea ebx, [rbx + rbx*2]
add ecx, ebx
xor r15d, esi
not eax
lea eax, [r8 + rax*2]
xor ecx, eax
movabs rax, 0x731449502562df68
mov rdi, rax
add ecx, edi
xor ecx, r15d
lea eax, [r9 + rsi]
mov ebx, r9d
xor ebx, esi
sub eax, ebx
and esi, r9d
add esi, esi
xor esi, eax
lea ebx, [rdi + rsi]
add ebx, 0x24736099
xor ebx, ecx
mov eax, edx
xor eax, r12d
and edx, r12d
mov ecx, r12d
sub ecx, r8d
sub ecx, eax
add edx, edx
xor edx, ecx
xor edx, 0x6f934f25
neg r14d
or esi, 0x6c
movzx eax, sil
imul eax, eax
imul eax, eax, 0x2737
or r14d, 0x95
movzx ecx, r14b
imul ecx, ecx
imul ecx, ecx, 0xb7a9
xor edi, edi
cmp eax, ecx
mov r13, qword [rbp + 0x328]
mov dword [r13], ebx
sete dil
neg edi
xor edi, 0x907df5ef
add edi, edx
mov r8, qword [rbp + 0x318]
mov dword [r8], edi
jmp 0x41147a
mov rax, qword [rbp + 0x1d0]
mov r8, qword [rax]
mov rcx, qword [rbp + 0x348]
or ecx, 0x99
movzx ecx, cl
imul ecx, ecx
imul r9d, ecx, 0x4c99
mov edx, r8d
or edx, 0xab
movzx edx, dl
imul edx, edx
imul edx, edx, 0x1cf9
xor ebx, ebx
cmp r9d, edx
sete bl
mov rcx, qword [rbp + 0x320]
mov rax, rsi
lea edx, [rsi + rcx]
mov edi, eax
xor edi, ecx
sub edx, edi
and eax, ecx
add eax, eax
xor eax, edx
neg rbx
movabs rdx, 0x248ceecb2eef9077
xor rbx, rdx
add rax, rbx
movabs rdx, 0xdb731135d1106f88
add rax, rdx
and rax, r8
lea ecx, [r11 + r9]
mov edx, r11d
xor edx, r9d
sub ecx, edx
and r11d, r9d
add r11d, r11d
xor r11d, ecx
mov rdi, r11
movabs rcx, 0x8e2b5f284a3d9895
xor rdi, rcx
mov rsi, qword [rbp + 0x2e8]
mov ecx, esi
or ecx, 0x42
movzx ecx, cl
imul ecx, ecx
imul ecx, ecx, 0x658f
or r11d, 0x60
movzx edx, r11b
imul edx, edx
imul ebx, edx, 0xbfad
xor edx, edx
cmp ecx, ebx
mov rcx, qword [rbp + 0x1c8]
mov ecx, dword [rcx]
mov rbx, qword [rbp + 0x28]
mov dword [rbx], ecx
sete dl
neg rdx
movabs rcx, 0xaaecbeb28f4472bd
xor rdx, rcx
imul rdx, rdi
sub rsp, 0x20
mov rcx, rax
call fcn.00416860
add rsp, 0x20
mov rcx, qword [rbp - 0x20]
mov qword [rcx], rax
mov rcx, qword [rcx]
mov rdx, qword [rbp + 0x138]
mov dword [rdx], ecx
mov edx, dword [rdx]
mov rbx, qword [rbp + 0x10]
mov ebx, dword [rbx]
cmp ebx, edx
mov rbx, qword [rbp + 0x20]
sete byte [rbx]
or ecx, 0x58
movzx ecx, cl
imul ecx, ecx
imul ecx, ecx, 0xbe93
or edx, 0x9a
movzx edx, dl
imul edx, edx
imul edx, edx, 0xcb09
xor ebx, ebx
cmp ecx, edx
sete bl
or esi, 0x9b
movzx ecx, sil
imul ecx, ecx
imul ecx, ecx, 0x771b
mov rdx, qword [rbp + 0x330]
or edx, 0xee
movzx edx, dl
imul edx, edx
imul edx, edx, 0x185
xor edi, edi
cmp ecx, edx
sete dil
add edi, ebx
mov ecx, 0x580c5420
sub ecx, edi
lea ebx, [rax + rdx]
mov edi, eax
xor edi, edx
sub ebx, edi
and eax, edx
add eax, eax
xor eax, ebx
or eax, ecx
cmp eax, 0x580c541f
jg 0x40f3ef
cmp eax, 0x83fce34
je 0x40f609
cmp eax, 0x2167ee9f
je 0x40ebff
cmp eax, 0x50483353
jne 0x40f410
jmp 0x410bf6
cmp eax, 0x580c5420
je 0x40f068
cmp eax, 0x5b11fd73
je 0x4107a5
cmp eax, 0x7936f1ba
je 0x411777
mov rsp, rbp
mov rsp, rbp
lea rdx, [rbp - 4]
mov rsp, rbp
popfq
loop 0x40f42f
or ecx, dword [rax - 0x75]
test eax, ecx
add al, byte [rax]
add byte [rax - 0x75], cl
add byte [rax - 0x75], cl
invalid
mov rax, qword [rbp + 0x2c8]
mov rax, qword [rax]
mov rcx, qword [rbp + 0xe0]
mov qword [rcx], rax
mov rax, qword [rbp + 0xf0]
mov rax, qword [rax]
mov rax, qword [rax]
mov rcx, qword [rbp + 0xd8]
mov qword [rcx], rax
mov rax, qword [rcx]
mov rax, qword [rax + 0x30]
mov rcx, qword [rbp + 0xd0]
mov qword [rcx], rax
cmp qword [rcx], 0
mov rax, qword [rbp + 0xc8]
sete byte [rax]
mov rax, qword [rbp + 0x310]
mov edx, dword [rax]
mov eax, edx
or eax, 0x73
movzx eax, al
imul eax, eax
imul r8d, eax, 0xb69b
or r11d, 0x7a
movzx ecx, r11b
imul ecx, ecx
imul r11d, ecx, 0x7cdb
xor ebx, ebx
cmp r8d, r11d
sete bl
mov r9, qword [rbp + 0x350]
mov rcx, qword [rbp + 0x348]
lea edi, [rcx + r9]
mov esi, ecx
xor esi, r9d
sub edi, esi
neg ebx
and r9d, ecx
add r9d, r9d
xor r9d, edi
add r9d, 0x4488f91
xor r9d, edx
xor r9d, ebx
xor r9d, 0x308c0209
mov rax, qword [rbp + 0x330]
mov edx, eax
or edx, 0xcb
movzx edx, dl
imul edx, edx
imul ebx, edx, 0xaaef
or ecx, 0xf4
movzx edx, cl
imul edx, edx
imul edx, edx, 0x1d95
xor edi, edi
cmp ebx, edx
sete dil
lea ebx, [rax + r11]
mov esi, eax
xor esi, r11d
sub ebx, esi
and eax, r11d
add eax, eax
xor eax, ebx
neg edi
xor eax, edi
xor eax, r9d
xor eax, 0x47f53e5a
mov rcx, qword [rbp + 0xc0]
mov dword [rcx], eax
lea ecx, [r9 + rdx]
mov ebx, r9d
xor ebx, edx
sub ecx, ebx
and r9d, edx
add r9d, r9d
xor r9d, ecx
mov rdi, qword [rbp + 0x320]
mov rbx, qword [rbp + 0x250]
or ebx, edi
mov ecx, edi
mov rax, qword [rbp + 0x308]
or ecx, eax
mov edx, edi
not edx
add edx, edx
sub edx, eax
xor edi, eax
sub edi, ebx
not ecx
lea ecx, [rcx + rcx*2]
add edi, ecx
xor edi, edx
lea edx, [rdi + r8]
mov ecx, edi
xor ecx, r8d
sub edx, ecx
lea ecx, [rdi + 0x70bf6307]
and edi, r8d
add edi, edi
xor edi, edx
xor ecx, edi
xor ecx, r9d
lea edx, [r10 + r15]
mov eax, r10d
xor eax, r15d
sub edx, eax
and r10d, r15d
mov eax, ecx
xor eax, 0x70bf6306
add r10d, r10d
xor r10d, edx
add r10d, 0xa8c4443
mov edx, edi
not edx
or edx, eax
xor ecx, 0xf409cf9
add ecx, ecx
sub ecx, edi
xor ecx, r10d
mov ebx, eax
or ebx, edi
xor edi, eax
sub edi, edx
not ebx
lea edx, [rbx + rbx*2]
add edi, edx
xor edi, ecx
xor edi, 0xeedadf1
imul edi, eax
cmp edi, 0xe200ae26
jg 0x40f87a
add byte [rax], al
add byte [rax - 0x77], cl
add dword [rax - 0x75], ecx
test eax, esi
add byte [rax], al
add byte [rax - 0x75], cl
add byte [rax - 0x75], cl
add byte [rax - 0x75], cl
invalid
cmp edi, 0x84011af8
je 0x40db7e
cmp edi, 0xa19715f4
jne 0x40f89e
mov rax, qword [rbp + 0x150]
mov r14, qword [rax]
mov r15d, dword [r14]
mov eax, r14d
or eax, 0x2d
movzx eax, al
imul eax, eax
imul eax, eax, 0x8acd
mov ecx, r15d
or ecx, 0xd8
movzx ecx, cl
imul ecx, ecx
imul ecx, ecx, 0x9df1
xor edi, edi
cmp eax, ecx
sete dil
mov rax, rdi
neg rax
movabs rcx, 0x52be655c58e8fdb5
xor rax, rcx
lea ecx, [r15 + r14]
mov edx, r15d
xor edx, r14d
sub ecx, edx
mov edx, r15d
and edx, r14d
add edx, edx
xor edx, ecx
add rdx, rax
movabs rax, 0xad419aa486f6e22a
add rdx, rax
sub rsp, 0x20
mov rcx, r15
call fcn.00416a20
add rsp, 0x20
mov ecx, r15d
not ecx
mov edx, r15d
or edx, ecx
lea ebx, [rcx + rcx*2]
sub ebx, edx
lea r8d, [rcx + rcx]
mov esi, r8d
sub esi, r15d
xor esi, ebx
or ecx, eax
mov edx, eax
or edx, r15d
not edx
lea r9d, [rdx + rdx*2]
mov r10d, eax
not r10d
add r10d, r10d
mov ebx, r10d
sub ebx, r15d
mov edx, eax
xor edx, r15d
sub edx, ecx
add edx, r9d
xor edx, ebx
xor esi, edx
xor esi, 0x4c44544e
xor r9d, r9d
cmp eax, esi
sete r9b
mov ecx, r15d
sub ecx, edi
neg edi
mov ebx, r15d
xor ebx, edi
sub ecx, ebx
and edi, r15d
add edi, edi
xor edi, ecx
mov ecx, edi
xor ecx, 0x7699316a
mov ebx, edi
or ebx, 0xdf
movzx ebx, bl
imul ebx, ebx
imul r11d, ebx, 0xd65d
or r14d, 0x95
movzx esi, r14b
imul esi, esi
imul esi, esi, 0x3fad
xor ebx, ebx
cmp r11d, esi
sete bl
sub ecx, ebx
add ecx, 0x622f198
mov rsi, qword [rbp + 0x310]
xor ecx, dword [rsi]
neg ebx
or edi, 0x19
movzx edi, dil
imul edi, edi
imul esi, edi, 0x58f1
or ebx, 0xa4
movzx ebx, bl
imul ebx, ebx
imul r11d, ebx, 0xe189
xor ebx, ebx
cmp esi, r11d
sete bl
mov esi, edx
not esi
or esi, r15d
mov edi, r15d
or edi, edx
sub r8d, edx
xor edx, r15d
sub edx, esi
neg ebx
xor ebx, 0x81efa501
not edi
lea esi, [rdi + rdi*2]
add edx, esi
xor edx, r8d
lea r8d, [rdx + rbx]
add r8d, 0xfdd1d71c
xor r8d, ecx
neg r9d
or r11d, 0x41
movzx edx, r11b
imul edx, edx
imul ebx, edx, 0x44f
or ecx, 0xf
movzx ecx, cl
imul ecx, ecx
imul ecx, ecx, 0xddf5
xor edi, edi
cmp ebx, ecx
sete dil
neg edi
xor edi, 0x66d905a3
or r15d, 0xc9
movzx esi, r15b
imul esi, esi
imul r11d, esi, 0x2029
mov edx, ebx
or edx, 0xc8
movzx edx, dl
imul edx, edx
imul edx, edx, 0xd85
xor esi, esi
cmp r11d, edx
sete sil
mov edx, 0xd3df7b2e
sub edx, esi
imul edx, edi
and edx, r9d
xor edx, r8d
mov r13, qword [rbp + 0x328]
mov dword [r13], edx
mov edx, ecx
not edx
or edx, eax
mov edi, eax
or edi, ecx
not edi
lea edi, [rdi + rdi*2]
sub r10d, ecx
xor eax, ecx
sub eax, edx
add eax, edi
xor eax, r10d
mov ecx, eax
mov edx, ebx
not edx
or edx, eax
mov edi, eax
or edi, ebx
mov esi, eax
not esi
add esi, esi
sub esi, ebx
xor eax, ebx
sub eax, edx
not edi
lea edx, [rdi + rdi*2]
add eax, edx
xor eax, esi
xor ecx, 0x1b32fee5
xor eax, 0xe4de462f
add eax, ecx
mov r8, qword [rbp + 0x318]
mov dword [r8], eax
jmp 0x40cf4b
cmp edi, 0xe200ae27
je 0x411777
cmp edi, 0xe9f04ce4
je 0x411051
cmp edi, 0x461e9b2
je 0x40fd2d
lea rdx, [rbp - 4]
lea rdx, [rbp - 4]
mov rsp, rbp
mov rsp, rbp
jp 0x40f8bd
or ecx, dword [rax - 0x75]
sbb byte [r8 - 0x75], r9b
add byte [rbx + rcx*4 + 0x60], al
add al, 0x44
mov eax, esp
mov rax, qword [rbp + 0x18]
mov rax, qword [rax]
mov r12d, dword [rax + 4]
mov eax, r12d
or eax, 0xfc
movzx eax, al
imul eax, eax
imul eax, eax, 0x335
or r15d, 0x37
movzx ecx, r15b
imul ecx, ecx
imul ecx, ecx, 0xc707
xor edx, edx
cmp eax, ecx
sete dl
movabs rax, 0x94572e7a7dfe829d
sub rax, rdx
mov r14d, r10d
not r14d
mov rsi, qword [rbp + 0x340]
mov ecx, esi
or ecx, r14d
mov edx, esi
or edx, r10d
not edx
lea edx, [rdx + rdx*2]
mov r13d, dword [rbp + 0x2f8]
add r13d, r13d
mov ebx, r13d
sub ebx, r10d
mov edi, esi
xor edi, r10d
sub edi, ecx
add edi, edx
xor edi, ebx
movabs rcx, 0xc4594c115d5ad5ab
lea rdx, [rdi + rcx]
imul rdx, rax
sub rsp, 0x20
mov rcx, r12
mov r15, r10
call fcn.00416a20
add rsp, 0x20
mov r9, qword [rbp + 0x320]
mov ecx, r9d
not ecx
or ecx, esi
mov edx, esi
xor esi, r9d
sub esi, ecx
or edx, r9d
not edx
lea ecx, [rdx + rdx*2]
sub r13d, r9d
add esi, ecx
xor esi, r13d
add esi, 0xa04517cd
lea edx, [r12 + rdi]
mov ecx, r12d
xor ecx, edi
sub edx, ecx
mov ecx, r12d
and ecx, edi
add ecx, ecx
xor ecx, edx
lea ebx, [rcx - 0x1fc65c84]
imul ebx, esi
xor r8d, r8d
cmp eax, ebx
sete r8b
or r12d, 0xb3
movzx ebx, r12b
imul ebx, ebx
imul ebx, ebx, 0x3d0d
or r9d, 0x59
movzx esi, r9b
imul esi, esi
imul esi, esi, 0x4f85
xor edx, edx
cmp ebx, esi
sete dl
neg edx
xor edx, 0x9a00f61b
mov rbx, qword [rbp + 0x2f0]
lea r9d, [rcx + rbx]
mov esi, ecx
xor esi, ebx
sub r9d, esi
and ecx, ebx
add ecx, ecx
xor ecx, r9d
mov r9d, ecx
xor r9d, 0xb0862710
imul r9d, edx
mov rdx, qword [rbp + 0x310]
xor r9d, dword [rdx]
lea edx, [rdi + r9]
mov ebx, edi
xor ebx, r9d
sub edx, ebx
mov ebx, edi
and ebx, r9d
add ebx, ebx
xor ebx, edx
mov rdx, qword [rbp + 0x308]
lea r10d, [rdx + rax]
mov esi, edx
xor esi, eax
sub r10d, esi
and edx, eax
add edx, edx
xor edx, r10d
lea r10d, [rdx + rbx]
add r10d, 0x9a09bbe4
lea r11d, [rcx + r8]
mov esi, ecx
xor esi, r8d
and ecx, r8d
mov ebx, r8d
neg ebx
and r10d, ebx
xor r10d, r9d
mov rdx, qword [rbp - 8]
mov dword [rdx], r10d
mov ebx, eax
not ebx
or ebx, r15d
mov edx, r15d
or edx, eax
add r14d, r14d
sub r14d, eax
xor r15d, eax
sub r15d, ebx
not edx
lea eax, [rdx + rdx*2]
add r15d, eax
xor r15d, r14d
movabs rax, 0x392ecefb7b7510b
add r15d, eax
sub r11d, esi
add ecx, ecx
xor ecx, r11d
add eax, 0x2e37ebed
xor eax, ecx
xor eax, r15d
mov ecx, edi
not ecx
mov rsi, qword [rbp + 0x338]
or ecx, esi
mov edx, esi
or edx, edi
mov ebx, esi
not ebx
add ebx, ebx
sub ebx, edi
xor edi, esi
sub edi, ecx
not edx
lea ecx, [rdx + rdx*2]
add edi, ecx
xor edi, ebx
or edi, eax
cmp edi, 0xcca5a897
je 0x41238d
cmp edi, 0xf9063e50
je 0x40d515
cmp edi, 0x52586df3
je 0x40cd86
xor rsp, r11
lea rdx, [rbp - 4]
jmp 0x40fb01
mov r12, r11
mov r11, qword [rbp + 0x350]
mov eax, r11d
or eax, 0x82
movzx eax, al
imul eax, eax
imul eax, eax, 0x5dc7
mov r8, qword [rbp + 0x330]
mov ecx, r8d
or ecx, 0x25
movzx ecx, cl
imul ecx, ecx
imul ecx, ecx, 0x4a87
xor edx, edx
cmp eax, ecx
sete dl
mov eax, ecx
xor eax, r14d
lea ebx, [rcx + r14]
sub ebx, eax
and ecx, r14d
mov rax, qword [rbp + 0x210]
mov r9, qword [rax]
mov rax, qword [rbp + 0x190]
mov dword [rax], r9d
neg edx
xor edx, 0xa9a9c687
add ecx, ecx
xor ecx, ebx
lea r14d, [rcx + rdx]
add r14d, 0x1a666ec9
mov rax, qword [rbp + 0x310]
xor r14d, dword [rax]
mov ebx, r14d
not ebx
mov edx, r10d
or edx, ebx
mov edi, r10d
xor edi, r14d
sub edi, edx
mov edx, r10d
or edx, r14d
not edx
lea edx, [rdx + rdx*2]
add edi, edx
mov ecx, r10d
not ecx
lea edx, [rcx + rcx]
sub edx, r14d
xor edi, edx
or ebx, r9d
mov edx, r9d
xor edx, r14d
sub edx, ebx
mov eax, r9d
or eax, r14d
not eax
lea eax, [rax + rax*2]
add edx, eax
mov eax, r9d
not eax
add eax, eax
sub eax, r14d
xor edx, eax
xor edx, edi
mov rax, r8
or ecx, eax
mov edi, eax
xor edi, r10d
sub edi, ecx
or eax, r10d
not eax
lea eax, [rax + rax*2]
add edi, eax
mov r8d, dword [rbp + 0x280]
mov eax, r8d
sub eax, r10d
xor edi, eax
xor edx, 0x60b8e0aa
and edx, edi
xor r14d, edx
lea ebx, [r10 + r14]
xor r10d, r14d
sub ebx, r10d
mov r10, qword [rbp + 0x348]
mov eax, r10d
xor eax, esi
lea ecx, [r10 + rsi]
sub ecx, eax
and esi, r10d
add esi, esi
xor esi, ecx
mov eax, edx
xor eax, r12d
lea ecx, [rdx + r12]
sub ecx, eax
and r12d, edx
add r12d, r12d
xor r12d, ecx
and ebx, 1
mov eax, ebx
neg eax
xor esi, r12d
xor esi, 0x52010af8
and esi, eax
xor esi, r14d
mov eax, edi
xor eax, ebx
lea ecx, [rdi + rbx]
sub ecx, eax
and ebx, edi
add ebx, ebx
xor ebx, ecx
mov eax, r12d
not eax
mov rdi, qword [rbp + 0x330]
or eax, edi
mov ecx, edi
or ecx, r12d
sub r8d, r12d
xor r12d, edi
sub r12d, eax
not ecx
lea eax, [rcx + rcx*2]
add r12d, eax
xor r12d, r8d
add ebx, 0x9621215d
xor r12d, ebx
or edx, 0x74
movzx eax, dl
imul eax, eax
imul eax, eax, 0x8ff9
or r9d, 6
movzx ecx, r9b
imul ecx, ecx
imul edx, ecx, 0xb573
xor ecx, ecx
cmp eax, edx
mov rax, qword [rbp + 0x188]
mov dword [rax], esi
sete cl
neg ecx
xor ecx, r12d
mov rbx, qword [rbp + 0x308]
lea eax, [rbx + r10]
mov edx, ebx
xor edx, r10d
sub eax, edx
and ebx, r10d
add ebx, ebx
xor ebx, eax
lea eax, [r11 + r15]
mov edx, r11d
xor edx, r15d
sub eax, edx
and r11d, r15d
add r11d, r11d
xor r11d, eax
xor ecx, 0x9621215c
xor ebx, 0x7eef41f5
xor r11d, 0x84bb982c
add r11d, ebx
mov eax, r11d
xor edx, edx
div ecx
cmp eax, 0x3aada20
jg 0x40fe54
invalid
cmp eax, 0xbb4c3c7d
je 0x413482
cmp eax, 0xc5e19a83
je 0x40f068
cmp eax, 0x226a67c
jne 0x40fe75
mov rax, qword [rbp + 0xc8]
movzx r8d, byte [rax]
mov edi, r8d
neg edi
mov edx, r8d
xor edx, edi
neg edx
mov ebx, r8d
and ebx, edi
add ebx, ebx
xor ebx, edx
xor ebx, 0xc4b0bccf
lea edx, [r8 + 0xf6]
imul edx, edx
imul edx, edx, 0x355
mov ecx, edi
or ecx, 0xbb
movzx ecx, cl
imul ecx, ecx
imul ecx, ecx, 0xacab
xor esi, esi
cmp edx, ecx
sete sil
neg esi
xor esi, 0xd5ec5447
imul esi, ebx
and esi, edi
mov rax, qword [rbp + 0xc0]
mov edx, dword [rax]
xor edx, esi
mov r13, qword [rbp + 0x328]
mov dword [r13], edx
or esi, 9
movzx edx, sil
imul edx, edx
imul edx, edx, 0x45c7
or ecx, 0x14
movzx ecx, cl
imul ecx, ecx
imul ecx, ecx, 0xe0f3
xor ebx, ebx
cmp edx, ecx
sete bl
lea ecx, [rbx - 1]
mov edx, r8d
not edx
lea edx, [rbx + rdx*2]
neg ebx
mov edi, ebx
or ecx, r8d
mov eax, r8d
or eax, ebx
xor ebx, r8d
sub ebx, ecx
not eax
lea eax, [rax + rax*2]
add ebx, eax
xor ebx, edx
xor edi, 0xa98c4545
add ebx, 0x696a7004
imul ebx, edi
mov r8, qword [rbp + 0x318]
mov dword [r8], ebx
mov rcx, qword [rbp + 0xe0]
mov rax, qword [rcx]
mov rdx, qword [rbp + 0x298]
mov qword [rdx], rax
mov rax, qword [rbp + 0xd0]
mov rax, qword [rax]
mov rdx, qword [rbp + 0x2a0]
mov qword [rdx], rax
mov rax, qword [rbp + 0xd8]
mov rax, qword [rax]
mov rdx, qword [rbp + 0x2a8]
mov qword [rdx], rax
mov rax, qword [rcx]
mov rcx, qword [rbp + 0x2b0]
mov qword [rcx], rax
jmp 0x41147a
cmp eax, 0x3aada21
je 0x4112cf
cmp eax, 0x751979f2
je 0x4107a5
cmp eax, 0x77ba3e2e
je 0x40d6f6
popfq
xor rsp, r11
loop 0x40fe8a
or ecx, dword [rax - 0x75]
test dword [rax + 0x48000000], ecx
mov eax, dword [rax]
mov rax, qword [rbp + 0x88]
mov rax, qword [rax]
mov ecx, dword [rax + 0x88]
add byte [rax], al
mov rdx, qword [rbp + 0x98]
mov dword [rdx], ecx
mov r9d, dword [rdx]
or eax, 0x4d
movzx eax, al
imul eax, eax
imul r11d, eax, 0xa207
mov edx, r9d
or edx, 0x54
movzx edx, dl
imul edx, edx
imul r8d, edx, 0x7295
xor edx, edx
cmp r11d, r8d
sete dl
neg edx
xor r10d, r10d
cmp r9d, edx
sete r10b
mov rax, qword [rbp + 0x310]
mov esi, dword [rax]
lea edi, [r10 + r11]
mov edx, r10d
xor edx, r11d
sub edi, edx
mov eax, r10d
and eax, r11d
add eax, eax
xor eax, edi
mov ebx, esi
or ebx, 0xf4
movzx ebx, bl
imul ebx, ebx
imul ebx, ebx, 0x7e47
or ecx, 0xc
movzx ecx, cl
imul ecx, ecx
imul edi, ecx, 0x1337
xor ecx, ecx
cmp ebx, edi
sete cl
mov ebx, eax
sub ebx, ecx
neg ecx
mov edi, ecx
xor edi, 0xde07f800
lea edi, [rax + rdi]
add edi, 0x88725399
xor edi, esi
mov esi, eax
xor esi, ecx
sub ebx, esi
and ecx, eax
add ecx, ecx
xor ecx, ebx
movabs rdx, 0x79a7ce4c09144aff
mov rsi, rdx
add ecx, esi
xor ecx, edi
mov r15d, r11d
not r15d
mov ebx, eax
or ebx, r15d
mov edx, eax
or edx, r11d
not edx
lea edx, [rdx + rdx*2]
mov r12d, eax
xor r12d, r11d
sub r12d, ebx
mov ebx, eax
not ebx
add ebx, ebx
sub ebx, r11d
add r12d, edx
xor r12d, ebx
lea ebx, [rsi + r12]
add ebx, 0x160ea2bc
xor ebx, ecx
lea ecx, [r12 + rax]
mov edx, r12d
xor edx, eax
sub ecx, edx
neg r10d
and eax, r12d
add eax, eax
xor eax, ecx
movabs rcx, 0x3090cd0021bfa803
mov rsi, rcx
lea r14d, [rcx + rax]
add r14d, 0x1034f19
or r8d, 0x76
movzx ecx, r8b
imul ecx, ecx
imul edx, ecx, 0xa729
or r9d, 0x29
movzx ecx, r9b
imul ecx, ecx
imul eax, ecx, 0x644f
xor ecx, ecx
cmp edx, eax
sete cl
mov edx, ecx
neg edx
mov eax, esi
xor eax, edx
xor eax, r14d
and eax, r10d
xor eax, ebx
mov dword [r13], eax
mov eax, ebx
not eax
or eax, r11d
mov edi, r11d
or edi, ebx
add r15d, r15d
sub r15d, ebx
xor ebx, r11d
sub ebx, eax
not edi
lea eax, [rdi + rdi*2]
add ebx, eax
mov eax, r12d
not eax
lea eax, [rcx + rax*2]
add ecx, 0xffffffff
xor ebx, r15d
or ecx, r12d
mov esi, r12d
or esi, edx
xor edx, r12d
sub edx, ecx
not esi
lea ecx, [rsi + rsi*2]
add edx, ecx
xor edx, eax
xor ebx, 0x435a15cb
xor edx, 0xdc334cbc
imul edx, ebx
mov r8, qword [rbp + 0x318]
mov dword [r8], edx
mov rax, qword [rbp + 0x90]
jmp 0x40cf52
mov rdx, qword [rbp + 0x320]
lea eax, [rdx + r15]
mov ecx, edx
xor ecx, r15d
sub eax, ecx
mov ecx, edx
and ecx, r15d
add ecx, ecx
xor ecx, eax
movabs rax, 0xc73992990cac0811
add rax, rcx
mov rdx, rcx
mov qword [rbp + 0x308], rcx
mov rbx, qword [rbp + 0x330]
mov ecx, ebx
mov rsi, rbx
or ecx, 0xf4
movzx ecx, cl
imul ecx, ecx
imul ecx, ecx, 0x1d4b
or edx, 0xf7
movzx edx, dl
imul edx, edx
imul edx, edx, 0xee19
xor ebx, ebx
cmp ecx, edx
sete bl
neg rbx
movabs rcx, 0xa568cf957c12170f
xor rbx, rcx
imul rbx, rax
mov eax, r14d
not eax
mov rcx, qword [rbp + 0x338]
or eax, ecx
mov edi, ecx
mov edx, ecx
xor ecx, r14d
sub ecx, eax
mov rax, qword [rbp + 0x228]
mov rax, qword [rax]
mov qword [rbp + 0x2f8], rax
mov rax, qword [rbp + 0x220]
and rbx, qword [rax]
or edi, r14d
not edi
lea eax, [rdi + rdi*2]
not edx
add edx, edx
sub edx, r14d
add ecx, eax
xor ecx, edx
mov rdi, rcx
mov qword [rbp + 0x338], rcx
mov eax, ebx
mov qword [rbp + 0x350], rbx
or eax, 0x4a
movzx eax, al
imul eax, eax
imul eax, eax, 0x209
or r11d, 0x32
movzx ecx, r11b
imul ecx, ecx
imul ecx, ecx, 0x5701
xor r13d, r13d
cmp eax, ecx
movabs rax, 0x170ebc8d34bf42b4
mov rdx, rax
lea rax, [rdi + rax]
sete r13b
mov rcx, r13
neg rcx
add rdx, rcx
add rdx, 1
xor rdx, rax
mov rax, qword [rbp + 0x218]
mov rdi, qword [rax]
sub rsp, 0x20
mov rcx, rbx
call fcn.00416860
add rsp, 0x20
mov rcx, qword [rbp + 0x208]
mov qword [rcx], rax
mov rax, qword [rbp + 0x278]
mov r12, qword [rax]
sub rsp, 0x20
mov rcx, rdi
mov rdx, r12
call fcn.00416860
add rsp, 0x20
mov qword [rbp + 0x300], rax
movzx edx, word [rax]
mov qword [rbp + 0x2e0], rdx
mov eax, esi
or eax, 0x71
movzx eax, al
imul eax, eax
imul eax, eax, 0xd7b1
mov rcx, qword [rbp + 0x320]
or ecx, 0xed
movzx ecx, cl
imul ecx, ecx
imul esi, ecx, 0x5ed9
cmp eax, esi
sete al
mov rcx, qword [rbp + 0x340]
or ecx, 0x61
movzx ecx, cl
imul ecx, ecx
imul r15d, ecx, 0x529d
mov ecx, edx
or ecx, 0x27
movzx ecx, cl
imul ecx, ecx
imul ecx, ecx, 0xc31
mov qword [rbp + 0x2f0], rcx
cmp r15d, ecx
sete cl
xor cl, al
movzx ebx, cl
neg rbx
mov eax, 0xffffffff
xor rbx, rax
and rbx, qword [rbp + 0x2f8]
sub rsp, 0x20
mov rcx, rbx
mov qword [rbp + 0x340], rbx
call fcn.00416890
add rsp, 0x20
mov qword [rbp + 0x2f8], rax
mov eax, esi
sub eax, r13d
neg r13d
mov ecx, esi
xor ecx, r13d
sub eax, ecx
mov ecx, esi
and ecx, r13d
add ecx, ecx
xor ecx, eax
movabs rax, 0x553aa9eea7eb886d
mov r8, rax
add rax, rcx
add rax, 8
or r12d, 0xdd
movzx ecx, r12b
imul ecx, ecx
imul ecx, ecx, 0x860f
or esi, 6
movzx edx, sil
imul edx, edx
imul r12d, edx, 0xc39d
xor edx, edx
cmp ecx, r12d
sete dl
neg rdx
xor rdx, r8
xor rdx, rax
sub rsp, 0x20
mov rcx, rbx
call fcn.00416930
add rsp, 0x20
mov rsi, qword [rbp + 0x350]
mov ecx, esi
not ecx
or ecx, r15d
mov edx, r15d
mov ebx, r15d
xor r15d, esi
sub r15d, ecx
or edx, esi
not edx
lea ecx, [rdx + rdx*2]
not ebx
add ebx, ebx
sub ebx, esi
add r15d, ecx
xor r15d, ebx
mov rbx, qword [rbp + 0x2f0]
lea ecx, [r14 + rbx]
mov edx, r14d
xor edx, ebx
sub ecx, edx
and r14d, ebx
add r14d, r14d
xor r14d, ecx
xor r14d, r15d
not r14d
and r14d, dword [rbp + 0x2f8]
or r12d, 0x3b
movzx ecx, r12b
imul ecx, ecx
imul ebx, ecx, 0x38dd
mov rcx, qword [rbp + 0x348]
or ecx, 0x3e
movzx ecx, cl
imul ecx, ecx
imul edx, ecx, 0x501b
xor ecx, ecx
cmp ebx, edx
sete cl
neg rcx
movabs rdx, 0x9cb4204978995e07
xor rcx, rdx
mov edx, edi
or edx, 0x10
movzx edx, dl
imul edx, edx
imul edx, edx, 0x5bf1
or r13d, 0x95
movzx esi, r13b
imul esi, esi
imul r13d, esi, 0x12fd
xor r15d, r15d
cmp edx, r13d
sete r15b
mov rdx, r15
neg rdx
movabs rsi, 0x541dfe46818e5049
xor rdx, rsi
imul rdx, rcx
and rdx, rax
sub rsp, 0x20
mov rcx, r14
call fcn.00416940
add rsp, 0x20
mov rsi, rax
mov rdx, qword [rbp + 0x330]
lea eax, [rbx + rdx]
mov ecx, ebx
xor ecx, edx
sub eax, ecx
and ebx, edx
add ebx, ebx
xor ebx, eax
mov r12, qword [rbp + 0x300]
lea eax, [rdi + r12]
mov ecx, edi
xor ecx, r12d
sub eax, ecx
and edi, r12d
add edi, edi
xor edi, eax
movabs rax, 0xbfb7fd4d11cc1515
xor rdi, rax
add rdi, rbx
movabs rax, 0x404802b3ee33eaea
add rdi, rax
and rdi, rsi
sub rsp, 0x20
mov rcx, rdi
mov rdx, qword [rbp + 0x2e0]
call fcn.00416860
add rsp, 0x20
mov rcx, qword [rbp + 0x320]
or ecx, 0xf3
movzx ecx, cl
imul ecx, ecx
imul edi, ecx, 0x7939
mov ecx, r13d
or ecx, 0xcb
movzx ecx, cl
imul ecx, ecx
imul ecx, ecx, 0x419
cmp edi, ecx
sete cl
or r13d, 0x68
movzx edx, r13b
imul edx, edx
imul r14d, edx, 0xa9d9
mov rdx, qword [rbp + 0x338]
or edx, 0x10
movzx edx, dl
imul edx, edx
imul edx, edx, 0x8db5
cmp r14d, edx
sete dl
xor dl, cl
movzx ecx, dl
neg rcx
mov edx, 0xffffffff
xor rcx, rdx
and rcx, rax
sub rsp, 0x20
mov rdx, qword [rbp + 0x340]
call fcn.00416960
add rsp, 0x20
mov rcx, qword [rbp + 0x210]
mov qword [rcx], rax
mov rbx, qword [rbp + 0x308]
mov eax, ebx
not eax
or eax, esi
mov ecx, esi
or ecx, ebx
mov edx, esi
not edx
add edx, edx
sub edx, ebx
xor ebx, esi
sub ebx, eax
not ecx
lea eax, [rcx + rcx*2]
add ebx, eax
xor ebx, edx
mov rdx, qword [rbp + 0x350]
lea eax, [rdx + rdi]
mov ecx, edx
xor ecx, edi
sub eax, ecx
and edi, edx
add edi, edi
xor edi, eax
mov rax, qword [rbp + 0x208]
mov rax, qword [rax]
movabs rcx, 0x4f5de24cfbf22943
add rbx, rcx
movabs rcx, 0x3e4fbd28852c5495
add rdi, rcx
imul rdi, rbx
and rdi, rax
neg r15d
or r15d, 0xbe
movzx ecx, r15b
imul ecx, ecx
imul ecx, ecx, 0xbdef
or r14d, 0x9a
movzx edx, r14b
imul edx, edx
imul edx, edx, 0xd4a5
xor ebx, ebx
cmp ecx, edx
sete bl
mov ecx, ebx
xor ecx, 0xf314916d
neg ebx
or ebx, 0xf4
movzx edx, bl
imul edx, edx
imul edx, edx, 0x595d
or r12d, 0xde
movzx ebx, r12b
imul ebx, ebx
imul ebx, ebx, 0x77f3
xor esi, esi
cmp edx, ebx
sete sil
mov edx, 0x367e3c52
sub edx, esi
imul edx, ecx
mov rcx, qword [rbp + 0x2e8]
or ecx, 0xbf
movzx ecx, cl
imul ecx, ecx
imul ecx, ecx, 0xce7b
or eax, 0x8e
movzx eax, al
imul eax, eax
imul ebx, eax, 0xba2b
xor eax, eax
cmp ecx, ebx
mov rcx, qword [rbp + 0x230]
mov qword [rcx], rdi
mov rcx, qword [rbp + 0x110]
mov rcx, qword [rcx]
mov rbx, qword [rbp + 0x180]
mov qword [rbx], rcx
sete al
neg eax
xor eax, edx
cmp eax, 0x1975230b
jg 0x410613
cmp eax, 0x982e568f
je 0x40f068
cmp eax, 0xca3468c4
je 0x411777
cmp eax, 0xe0294e0d
jne 0x410647
jmp 0x413482
cmp eax, 0x405220e9
jg 0x410631
cmp eax, 0x1975230c
je 0x410bf6
cmp eax, 0x2a33075e
jne 0x410647
jmp 0x4130ab
cmp eax, 0x405220ea
je 0x40dca8
cmp eax, 0x67414cfe
je 0x411051
call qword [rbx]
xor rsp, r11
call qword [rbx]
call 0xffffffff8d891162
push rbp
cld
lea rdx, [rbp - 4]
xor rsp, r11
call qword [rbx]
popfq
add rsp, qword [0x40]
pop rbp
ret
mov rbx, qword [rbp + 0xf8]
mov rax, qword [rbx]
mov eax, dword [rax + 0x18]
mov rcx, qword [rbp + 0x68]
mov dword [rcx], eax
mov rax, qword [rbx]
mov ecx, dword [rax + 0x1c]
mov rdi, qword [rbp + 0x268]
mov rdx, qword [rdi]
sub rsp, 0x20
call fcn.00416860
add rsp, 0x20
mov rcx, qword [rbp + 0x130]
mov qword [rcx], rax
mov rax, qword [rbx]
mov esi, dword [rax + 0x20]
mov rdi, qword [rdi]
sub rsp, 0x20
mov rcx, rsi
mov rdx, rdi
call fcn.00416860
add rsp, 0x20
mov rcx, qword [rbp + 0x128]
mov qword [rcx], rax
mov rax, qword [rbx]
mov eax, dword [rax + 0x24]
mov rcx, qword [rbp + 0x60]
mov dword [rcx], eax
or esi, 0xad
movzx eax, sil
imul eax, eax
imul eax, eax, 0xaa8d
or edi, 0x3d
movzx ecx, dil
imul ecx, ecx
imul ecx, ecx, 0x913d
xor edx, edx
cmp eax, ecx
sete dl
mov ecx, 0x8dd76936
sub ecx, edx
mov rsi, qword [rbp + 0x308]
lea ebx, [rax + rsi]
mov edi, eax
xor edi, esi
sub ebx, edi
and eax, esi
add eax, eax
xor eax, ebx
add eax, 0x175d3b29
xor eax, ecx
mov ecx, edx
neg ecx
mov ebx, r15d
not ebx
or ebx, ecx
mov edi, ecx
or edi, r15d
not edi
lea edi, [rdi + rdi*2]
add edx, edx
sub edx, r15d
add edx, 0xfffffffe
xor ecx, r15d
sub ecx, ebx
add ecx, edi
xor ecx, edx
xor ecx, eax
cmp ecx, 0xccfa3b35
jg 0x410785
cmp ecx, 0x9a8a521f
je 0x410bf6
cmp ecx, 0xad0ab247
je 0x411c8e
cmp ecx, 0xc3ab9dd9
je 0x411777
popfq
lea rdx, [rbp - 4]
popfq
lea rdx, [rbp - 4]
call qword [rbx]
js 0x410793
or eax, dword [rcx - 0x5c4c907]
int3
cmp ecx, 0xccfa3b36
je 0x40fd2d
cmp ecx, 0xf8b463a7
je 0x412cbc
cmpsd dword [rsi], dword [rdi]
invalid
cmp ecx, 0x1ebfc57a
jne 0x410776
mov rax, qword [rbp + 0x158]
mov r13d, dword [rax]
lea r8d, [r13 + r13]
xor r8d, r8d
mov ecx, r8d
xor ecx, 0x735bba75
mov r14d, r13d
not r14d
lea eax, [r14 + r14*2]
lea edx, [r14 + r14]
lea r12d, [rax + r13]
add r12d, 1
xor r12d, edx
mov eax, r12d
xor eax, 0x276293de
imul eax, ecx
mov ecx, r12d
or ecx, r14d
mov edx, r12d
or edx, r13d
not edx
lea edx, [rdx + rdx*2]
mov r9d, r12d
not r9d
lea ebx, [r9 + r9]
sub ebx, r13d
mov r15d, r12d
xor r15d, r13d
sub r15d, ecx
add r15d, edx
xor r15d, ebx
and eax, r15d
xor eax, r13d
mov ecx, r8d
or ecx, 0x26
movzx ecx, cl
imul ecx, ecx
imul edx, ecx, 0x43f1
xor ecx, ecx
cmp edx, 0x212a2b6c
sete cl
lea r10d, [rcx - 1]
lea r11d, [rcx + r14*2]
mov ebx, r8d
sub ebx, ecx
neg ecx
or r10d, r13d
mov edx, r13d
or edx, ecx
not edx
lea esi, [rdx + rdx*2]
mov edx, r13d
xor edx, ecx
sub edx, r10d
add edx, esi
xor edx, r11d
lea r11d, [rdx - 0x65b9acba]
xor r11d, ecx
xor r11d, 0xd3703759
or r9d, eax
mov esi, eax
or esi, r12d
not esi
lea r10d, [rsi + rsi*2]
mov esi, eax
xor esi, r12d
sub esi, r9d
mov edi, eax
not edi
add edi, edi
sub edi, r12d
add esi, r10d
xor esi, edi
and r11d, esi
xor r11d, eax
lea eax, [rdx + r13]
mov edi, edx
xor edi, r13d
sub eax, edi
mov edi, edx
and edi, r13d
add edi, edi
xor edi, eax
xor edi, 0x7c26ab33
mov eax, esi
xor eax, 0x212a2b6c
neg eax
lea r9d, [rsi + rax]
add r9d, 0x212a2b6c
mov r10d, esi
and r10d, 0x212a2b6c
add r10d, r10d
xor r10d, r9d
add r10d, 0xeb8b469c
imul r10d, edi
or r14d, esi
mov edi, esi
or edi, r13d
mov eax, esi
not eax
add eax, eax
sub eax, r13d
xor esi, r13d
not edi
lea edi, [rdi + rdi*2]
sub esi, r14d
add esi, edi
xor esi, eax
mov eax, ecx
xor eax, r8d
sub ebx, eax
and ecx, r8d
add ecx, ecx
xor ecx, ebx
or edx, 0x3d
movzx eax, dl
imul eax, eax
imul eax, eax, 0xe7df
or r12d, 0x28
movzx edx, r12b
imul edx, edx
imul edx, edx, 0x1f99
xor r8d, r8d
cmp eax, edx
sete r8b
mov eax, esi
or eax, r11d
mov r14d, esi
xor r14d, r11d
mov edi, r11d
not edi
mov r9d, esi
or r9d, edi
mov ebx, esi
not ebx
mov edx, r14d
sub edx, r9d
lea r9d, [rbx + rbx]
sub r9d, r11d
not eax
lea r12d, [rax + rax*2]
add edx, r12d
xor edx, r9d
movabs rax, 0x3fbe28333b8abe11
mov r9, rax
add rax, 0x65493145
xor rax, rdx
neg r8
xor rax, r9
xor rax, r8
or ebx, r11d
sub r14d, ebx
add r14d, r12d
mov rdx, qword [rbp + 0x218]
mov qword [rdx], rsi
add edi, edi
sub edi, esi
xor r14d, edi
or r15d, 0x32
movzx edx, r15b
imul edx, edx
imul edx, edx, 0x883
or esi, 0x3d
movzx ebx, sil
imul ebx, ebx
imul ebx, ebx, 0x4c61
xor edi, edi
cmp edx, ebx
mov r13, qword [rbp + 0x328]
mov dword [r13], r11d
mov r8, qword [rbp + 0x318]
mov dword [r8], r10d
mov rdx, qword [rbp + 0x220]
mov qword [rdx], rcx
mov rcx, qword [rbp + 0x228]
mov qword [rcx], rax
sete dil
xor edi, 0x3251eaef
xor edi, r14d
xor edi, 0xa908bba8
mov rax, qword [rbp + 0x2c0]
mov dword [rax], edi
jmp 0x41147a
mov rax, qword [rbp + 0x2b8]
mov r13d, dword [rax]
mov rax, qword [rbp + 0x58]
mov dword [rax], r13d
mov rax, qword [rbp + 0x260]
mov rcx, qword [rax]
mov rax, qword [rbp + 0x1f8]
mov r8, qword [rax]
mov r15, r10
xor r10d, r10d
cmp rcx, r8
sete r10b
mov rax, qword [rbp + 0x310]
mov r11d, dword [rax]
or edi, esi
mov ecx, esi
mov r12, qword [rbp + 0x350]
or ecx, r12d
not ecx
lea ecx, [rcx + rcx*2]
mov edx, esi
not edx
add edx, edx
sub edx, r12d
xor esi, r12d
sub esi, edi
add esi, ecx
xor esi, edx
lea r9d, [rsi + 0x7a0b326d]
or r14d, 0xa5
movzx ecx, r14b
imul ecx, ecx
imul r14d, ecx, 0xf121
or esi, 0x1a
movzx ecx, sil
imul ecx, ecx
imul eax, ecx, 0xffb
xor ecx, ecx
cmp r14d, eax
sete cl
neg ecx
mov edi, ecx
xor edi, 0xa256544a
imul edi, r9d
xor edi, r11d
mov ebx, r8d
or ebx, 0x58
movzx ebx, bl
imul ebx, ebx
imul ebx, ebx, 0x8e63
mov edx, r14d
or edx, 0xb5
movzx edx, dl
imul edx, edx
imul edx, edx, 0xec69
xor eax, eax
cmp ebx, edx
sete al
or r12d, 0x5a
movzx edx, r12b
imul edx, edx
imul r9d, edx, 0x91bb
or r11d, 0x5e
movzx ebx, r11b
imul ebx, ebx
imul ebx, ebx, 0x9085
xor edx, edx
cmp r9d, ebx
sete dl
add edx, eax
mov ebx, 0xfa960e62
sub ebx, edx
xor ebx, edi
mov rax, qword [rbp + 0x50]
mov dword [rax], ebx
neg r10d
mov rax, qword [rbp + 0x48]
mov dword [rax], r10d
or ecx, 0xe9
movzx ecx, cl
imul ecx, ecx
imul edx, ecx, 0x8ee7
or r15d, 0xfd
movzx ecx, r15b
imul ecx, ecx
imul ebx, ecx, 0xf44b
xor ecx, ecx
cmp edx, ebx
sete cl
mov edx, r14d
not edx
or edx, r13d
mov ebx, r13d
or ebx, r14d
mov eax, r13d
not eax
add eax, eax
sub eax, r14d
xor r13d, r14d
neg ecx
xor ecx, 0x7fcb9873
not ebx
lea ebx, [rbx + rbx*2]
sub r13d, edx
add r13d, ebx
xor r13d, eax
mov eax, r13d
xor eax, 0x1f8301fa
imul eax, ecx
mov ecx, r8d
not ecx
or ecx, r13d
mov edx, r13d
or edx, r8d
mov edi, r13d
not edi
add edi, edi
sub edi, r8d
xor r13d, r8d
sub r13d, ecx
not edx
lea ecx, [rdx + rdx*2]
add r13d, ecx
xor r13d, edi
xor r13d, eax
cmp r13d, 0xf7afc94b
jg 0x41127d
cmp r13d, 0xabb3e37d
jg 0x411037
cmp r13d, 0x8844534e
je 0x413482
cmp r13d, 0x94273bc2
jne 0x4112bc
mov rax, qword [rbp + 0x60]
mov r15d, dword [rax]
mov rax, qword [rbp + 0x268]
mov rdx, qword [rax]
sub rsp, 0x20
mov rcx, r15
mov rsi, rdx
mov qword [rbp + 0x320], rdx
call fcn.00416860
add rsp, 0x20
mov r10, rax
mov rax, qword [rbp + 0x70]
mov qword [rax], r10
mov rax, qword [rbp + 0x310]
mov ecx, dword [rax]
lea edx, [rcx + r15]
mov ebx, ecx
xor ebx, r15d
sub edx, ebx
mov eax, ecx
and eax, r15d
add eax, eax
xor eax, edx
lea ebx, [rax - 0x6bb77f55]
mov r8, rax
lea edi, [r15 + r10]
mov edx, r15d
xor edx, r10d
sub edi, edx
mov edx, r15d
and edx, r10d
add edx, edx
xor edx, edi
xor edx, 0xb4c0427b
imul edx, ebx
xor edx, ecx
mov ecx, r15d
or ecx, 0xcc
movzx ecx, cl
imul ecx, ecx
imul ebx, ecx, 0xda0f
mov ecx, edx
or ecx, 0xc3
movzx ecx, cl
imul ecx, ecx
imul r9d, ecx, 0xe159
xor edi, edi
cmp ebx, r9d
sete dil
movabs rax, 0x673ad6f573037598
mov ebx, eax
sub ebx, edi
mov edi, r8d
or edi, 0xc7
movzx edi, dil
imul edi, edi
imul edi, edi, 0xe1fd
or esi, 0x7a
movzx esi, sil
imul esi, esi
imul esi, esi, 0x33a3
xor r12d, r12d
cmp edi, esi
sete r12b
mov dword [rbp + 0x348], r12d
add eax, 0x48f8df3
neg r12d
xor eax, r12d
xor eax, edx
xor eax, ebx
mov ecx, eax
mov dword [rbp + 0x350], eax
lea ebx, [rdx + r10]
mov edi, edx
xor edi, r10d
sub ebx, edi
and r10d, edx
add r10d, r10d
xor r10d, ebx
movabs rax, 0x8c7341e7940f6f8
lea ebx, [rax + r10]
mov edi, ecx
or edi, 0xb6
movzx edi, dil
imul edi, edi
imul edi, edi, 0x33d3
or r9d, 0x4d
movzx ecx, r9b
imul ecx, ecx
imul ecx, ecx, 0xcec9
xor esi, esi
cmp edi, ecx
sete sil
mov r9d, eax
sub r9d, esi
add r9d, 0x6d13ef25
xor r9d, ebx
mov ebx, r15d
or ebx, 0xdd
movzx ebx, bl
imul ebx, ebx
imul edi, ebx, 0xb8d5
mov ebx, r12d
or ebx, 0xfd
movzx ebx, bl
imul ebx, ebx
imul r11d, ebx, 0xbeb5
xor ecx, ecx
cmp edi, r11d
sete cl
mov r13, r8
mov qword [rbp + 0x308], r8
mov ebx, r13d
xor ebx, edi
lea eax, [r8 + rdi]
sub eax, ebx
and r13d, edi
add r13d, r13d
xor r13d, eax
neg ecx
mov dword [rbp + 0x340], ecx
and r9d, ecx
or edx, 0xf3
movzx eax, dl
imul eax, eax
imul r8d, eax, 0xbcff
mov eax, r15d
or eax, 0x5e
movzx eax, al
imul eax, eax
imul ecx, eax, 0x1b6b
xor edx, edx
cmp r8d, ecx
sete dl
neg edx
movabs rax, 0x5beece45c696d721
lea edx, [rax + rdx]
add edx, 0x914ae34
lea r14d, [rax + r13]
xor edx, r14d
mov r14d, ecx
not r14d
or r14d, r8d
mov eax, r8d
or eax, ecx
mov ebx, r8d
not ebx
add ebx, ebx
sub ebx, ecx
xor r8d, ecx
sub r8d, r14d
not eax
lea eax, [rax + rax*2]
add r8d, eax
xor r8d, ebx
and r8d, edx
mov eax, dword [rbp + 0x350]
xor eax, r8d
xor eax, r9d
mov dword [rbp + 0x350], eax
mov eax, r11d
not eax
or eax, edi
mov ecx, edi
xor edi, r11d
sub edi, eax
or ecx, r11d
not ecx
add ecx, edi
neg r11d
xor ecx, r11d
and ecx, 1
neg ecx
neg esi
mov rax, qword [rbp + 0x320]
or eax, 0x19
movzx eax, al
imul eax, eax
imul r14d, eax, 0xfc41
or esi, 0x33
movzx eax, sil
imul eax, eax
imul edx, eax, 0x6c55
xor r9d, r9d
cmp r14d, edx
sete r9b
mov esi, r15d
not esi
mov ebx, r10d
or ebx, esi
mov edi, r10d
mov eax, r10d
xor r10d, r15d
sub r10d, ebx
or edi, r15d
not edi
lea ebx, [rdi + rdi*2]
add r10d, ebx
not eax
add eax, eax
sub eax, r15d
xor r10d, eax
neg r9d
mov eax, r9d
xor eax, 0x12057c39
lea edi, [r10 + 0x35d71fb8]
imul edi, eax
and edi, ecx
mov eax, r12d
mov rcx, qword [rbp + 0x308]
xor eax, ecx
and r12d, ecx
sub ecx, dword [rbp + 0x348]
sub ecx, eax
add r12d, r12d
xor r12d, ecx
mov eax, edx
not eax
or eax, r15d
mov ecx, r15d
or ecx, edx
add esi, esi
sub esi, edx
xor edx, r15d
movabs rbx, 0x5e9873415b0d3d0f
xor r12d, ebx
not ecx
lea ecx, [rcx + rcx*2]
sub edx, eax
add edx, ecx
xor edx, esi
lea eax, [rbx + rdx]
add eax, 0x10e18c03
xor eax, r12d
mov ecx, r13d
not ecx
or ecx, r8d
mov ebx, r8d
or ebx, r13d
mov esi, r8d
not esi
add esi, esi
sub esi, r13d
xor r8d, r13d
sub r8d, ecx
not ebx
lea ecx, [rbx + rbx*2]
add r8d, ecx
xor r8d, esi
and r8d, eax
xor r8d, dword [rbp + 0x350]
xor r8d, edi
or r14d, 0x78
movzx eax, r14b
imul eax, eax
imul eax, eax, 0xae8f
mov ecx, dword [rbp + 0x340]
or ecx, 0x21
movzx ecx, cl
imul ecx, ecx
imul ecx, ecx, 0xb141
xor edi, edi
cmp eax, ecx
sete dil
movabs rax, 0x26b46d8f842981ee
mov r11, rax
add eax, 0xf430c
neg edi
xor edi, eax
or r10d, 0xa7
movzx eax, r10b
imul eax, eax
imul eax, eax, 0x47a5
or r9d, 0x4b
movzx ebx, r9b
imul ebx, ebx
imul ebx, ebx, 0x177b
xor esi, esi
cmp eax, ebx
sete sil
mov eax, r11d
sub eax, esi
xor eax, edi
or edx, 0xe4
movzx edx, dl
imul edx, edx
imul edx, edx, 0x9e47
or ecx, 0xd4
movzx ecx, cl
imul ecx, ecx
imul ecx, ecx, 0xd85
xor ebx, ebx
cmp edx, ecx
mov r13, qword [rbp + 0x328]
mov dword [r13], r8d
mov r8, qword [rbp + 0x318]
mov dword [r8], eax
mov rax, qword [rbp + 0x68]
mov eax, dword [rax]
mov rcx, qword [rbp + 0x288]
mov dword [rcx], eax
sete bl
neg ebx
mov rax, qword [rbp + 0x290]
mov dword [rax], ebx
jmp 0x41147a
cmp r13d, 0xabb3e37e
je 0x411c8e
cmp r13d, 0xce4bfab8
jne 0x4112bc
mov rax, qword [rbp + 8]
movzx r14d, byte [rax]
mov r10d, r14d
neg r10d
mov eax, r10d
or eax, 0x2e
movzx eax, al
imul eax, eax
imul eax, eax, 0x1085
xor r8d, r8d
cmp eax, 0x54fdd
sete r8b
lea ecx, [r14 - 0x54fde]
mov eax, r14d
not eax
lea edx, [rax + rax]
add edx, 0xfffab023
mov eax, r14d
xor eax, 0x54fdd
sub eax, ecx
add eax, 0xfff01066
xor eax, edx
mov r12d, r8d
neg r12d
xor eax, r12d
xor eax, 0xcad5d05e
and eax, r10d
mov rcx, qword [rbp]
mov esi, dword [rcx]
mov r11d, eax
xor r11d, esi
mov ecx, r11d
not ecx
or ecx, esi
mov edx, esi
or edx, r11d
not edx
lea edx, [rdx + rdx*2]
mov edi, esi
not edi
add edi, edi
sub edi, r11d
xor esi, r11d
sub esi, ecx
add esi, edx
xor esi, edi
lea r9d, [rsi - 0x8dcde9f]
mov edx, r12d
xor edx, 0x54fdd
add edx, r8d
mov ecx, 0x54fdd
sub ecx, edx
mov edi, r12d
and edi, 0x54fdd
add edi, edi
xor edi, ecx
add edi, 0xc3fb7599
imul edi, r9d
mov r9d, eax
not r9d
mov edx, r10d
or edx, r9d
mov ecx, r10d
or ecx, eax
not ecx
lea r15d, [rcx + rcx*2]
add r14d, r14d
sub r14d, eax
add r14d, 0xfffffffe
mov ecx, r10d
xor ecx, eax
sub ecx, edx
add ecx, r15d
xor ecx, r14d
and edi, ecx
xor r11d, edi
or esi, 0x6a
movzx edx, sil
imul edx, edx
imul r14d, edx, 0xd69
mov edx, ecx
or edx, 0x95
movzx edx, dl
imul edx, edx
imul r15d, edx, 0xf6df
xor esi, esi
cmp r14d, r15d
sete sil
lea r14d, [r8 - 1]
or r14d, ecx
mov edx, ecx
mov ebx, ecx
xor ecx, r12d
sub ecx, r14d
or edx, r12d
not edx
lea edx, [rdx + rdx*2]
add ecx, edx
neg esi
xor esi, 0x25629563
not ebx
lea edx, [r8 + rbx*2]
xor ecx, edx
xor ecx, 0xb735ba29
imul ecx, esi
lea edx, [r15 + rdi]
mov esi, r15d
xor esi, edi
sub edx, esi
and edi, r15d
add edi, edi
xor edi, edx
and ecx, edi
xor ecx, r11d
or r11d, 0x99
movzx edx, r11b
imul edx, edx
imul edx, edx, 0x9c01
or r15d, 0x30
movzx ebx, r15b
imul ebx, ebx
imul ebx, ebx, 0xee49
xor esi, esi
cmp edx, ebx
sete sil
mov edx, r12d
xor edx, r10d
and r12d, r10d
sub r10d, r8d
sub r10d, edx
add r12d, r12d
xor r12d, r10d
mov r13, qword [rbp + 0x328]
mov dword [r13], ecx
xor esi, 0xd3c22713
add r12d, 0xc5bbe51c
imul r12d, esi
mov r8, qword [rbp + 0x318]
mov dword [r8], r12d
or r9d, ecx
mov edx, ecx
or edx, eax
mov ebx, ecx
not ebx
add ebx, ebx
sub ebx, eax
xor ecx, eax
sub ecx, r9d
not edx
lea eax, [rdx + rdx*2]
add ecx, eax
xor ecx, ebx
mov eax, edi
xor eax, 0x54fdd
neg eax
lea eax, [rdi + rax]
add eax, 0x54fdd
and edi, 0x54fdd
add edi, edi
xor edi, eax
xor ecx, 0x2501c497
xor edi, 0xdafe3b6a
add edi, ecx
mov rax, qword [rbp + 0x2d0]
mov dword [rax], edi
jmp 0x41147a
cmp r13d, 0x15a19df4
jg 0x4112a2
cmp r13d, 0xf7afc94c
je 0x40ebff
cmp r13d, 0x6c55b7
je 0x40f609
jmp 0x4112bc
cmp r13d, 0x15a19df5
je 0x40cd86
cmp r13d, 0x63c98b1d
je 0x40db7e
mov rsp, rbp
xor rsp, r11
add rsp, qword [0]
pop rbp
ret
mov rax, qword [rbp + 0x188]
mov r9d, dword [rax]
mov ecx, r9d
not ecx
or ecx, 0xa021040
and ecx, 0xa061440
mov edx, r9d
and edx, 0x40400
lea r10d, [rdx + rcx]
add r10d, 0x1010104
mov ebx, r10d
xor ebx, 0xb071544
lea esi, [rbx - 0x336e0b11]
lea edx, [rbx + r9]
mov ecx, ebx
xor ecx, r9d
sub edx, ecx
mov edi, ebx
and edi, r9d
add edi, edi
xor edi, edx
lea edx, [rdi - 0x39453528]
imul edx, esi
xor edx, r9d
mov r8d, edx
not r8d
mov esi, ebx
mov r11d, edi
not r11d
or r11d, ebx
mov ecx, ebx
mov eax, ebx
or eax, r8d
xor r10d, 0x74f8eabb
add r10d, r10d
xor esi, edx
sub esi, eax
mov eax, r10d
or ecx, edi
sub r10d, edi
xor edi, ebx
or ebx, edx
not ebx
lea ebx, [rbx + rbx*2]
add esi, ebx
sub eax, edx
xor esi, eax
not ecx
lea eax, [rcx + rcx*2]
sub edi, r11d
add edi, eax
xor edi, r10d
mov eax, edi
xor eax, 0xa8bba498
lea eax, [rsi + rax]
add eax, 0xc0bb7cec
or r8d, edi
mov ecx, edi
or ecx, edx
not ecx
lea ecx, [rcx + rcx*2]
mov ebx, edi
not ebx
add ebx, ebx
sub ebx, edx
xor edi, edx
sub edi, r8d
add edi, ecx
xor edi, ebx
and edi, eax
mov r8d, edi
xor r8d, edx
or edx, 0xe5
movzx eax, dl
imul eax, eax
imul esi, eax, 0x1727
mov eax, r8d
or eax, 0xe7
movzx eax, al
imul eax, eax
imul eax, eax, 0xfb1b
xor ecx, ecx
cmp esi, eax
sete cl
mov ebx, esi
sub ebx, ecx
neg ecx
mov edx, esi
xor edx, ecx
sub ebx, edx
and esi, ecx
add esi, esi
xor esi, ebx
xor esi, ecx
lea ecx, [r9 + rax]
mov edx, r9d
xor edx, eax
sub ecx, edx
and r9d, eax
add r9d, r9d
xor r9d, ecx
xor esi, 0x380577fb
and esi, r9d
xor r8d, esi
mov dword [r13], r8d
or edi, 0xd
movzx eax, dil
imul eax, eax
imul eax, eax, 0xba07
or r9d, 0xf8
movzx ecx, r9b
imul ecx, ecx
imul ecx, ecx, 0xce2f
xor edx, edx
cmp eax, ecx
sete dl
mov eax, esi
sub eax, edx
neg edx
mov ecx, edx
xor ecx, esi
sub eax, ecx
mov ecx, edx
and edx, esi
add edx, edx
xor edx, eax
xor ecx, 0x213a7b91
xor edx, 0x434161d4
imul edx, ecx
mov r8, qword [rbp + 0x318]
mov dword [r8], edx
mov rax, qword [rbp + 0x190]
mov eax, dword [rax]
mov rcx, qword [rbp + 0x2c0]
mov dword [rcx], eax
mov r15d, dword [r13]
mov rax, qword [rbp + 0x310]
mov dword [rax], r15d
mov ecx, dword [rax]
mov eax, r15d
or eax, 0x9e
movzx eax, al
imul eax, eax
imul eax, eax, 0x452b
mov edx, ecx
or edx, 0xcb
movzx edx, dl
imul edx, edx
imul edx, edx, 0x55ed
mov qword [rbp + 0x350], rdx
xor r9d, r9d
cmp eax, edx
sete r9b
movabs rsi, 0xe004c6e4ccd0c8c
mov eax, esi
sub eax, r9d
add eax, 0x6665e6e7
or edx, 0xcb
movzx edx, dl
imul edx, edx
imul r13d, edx, 0xa6f7
mov edx, ecx
or edx, 0x31
movzx edx, dl
imul edx, edx
imul edx, edx, 0x36e9
xor r10d, r10d
cmp r13d, edx
sete r10b
sub esi, r10d
xor esi, eax
and esi, ecx
mov r14d, dword [r8]
mov eax, esi
sub eax, r10d
neg r10d
mov ecx, r10d
xor ecx, esi
sub eax, ecx
mov ecx, r10d
and ecx, esi
add ecx, ecx
xor ecx, eax
lea r11d, [rcx + 0x8d7c3c8]
lea ebx, [rsi + rdx]
mov eax, esi
xor eax, edx
sub ebx, eax
and edx, esi
add edx, edx
xor edx, ebx
lea r12d, [rdx - 0x8d7c3c9]
xor r12d, r11d
and r12d, r14d
lea eax, [rsi + r13]
mov ebx, r13d
xor ebx, esi
sub eax, ebx
mov r11d, r13d
and r11d, esi
add r11d, r11d
xor r11d, eax
mov eax, r14d
not eax
or eax, edx
mov ebx, edx
or ebx, r14d
mov edi, edx
not edi
add edi, edi
sub edi, r14d
xor edx, r14d
sub edx, eax
movabs rax, 0x3d96954e5bef1656
mov r8, rax
add eax, 0x53
xor eax, r11d
not ebx
lea ebx, [rbx + rbx*2]
add edx, ebx
xor edx, edi
add edx, r8d
xor edx, eax
and edx, esi
xor edx, r12d
mov eax, r13d
or eax, 0x80
movzx eax, al
imul eax, eax
imul eax, eax, 0x2d43
or ecx, 0xf5
movzx ecx, cl
imul ecx, ecx
imul ecx, ecx, 0xbc33
xor r14d, r14d
cmp eax, ecx
sete r14b
mov eax, r15d
not eax
or eax, r13d
mov edi, r13d
or edi, r15d
mov r12d, r13d
not r12d
lea ebx, [r12 + r12]
sub ebx, r15d
xor r15d, r13d
sub r15d, eax
neg r14d
movabs r8, 0x5cf56fe17611c430
lea eax, [r8 + r14]
add eax, 0x1225d71
not edi
lea edi, [rdi + rdi*2]
add r15d, edi
xor r15d, ebx
add r15d, r8d
xor r15d, eax
or r12d, ecx
mov edi, ecx
or edi, r13d
mov eax, ecx
not eax
add eax, eax
mov ebx, eax
sub ebx, r13d
xor r13d, ecx
sub r13d, r12d
not edi
lea edi, [rdi + rdi*2]
add r13d, edi
xor r13d, ebx
mov edi, edx
not edi
or edi, ecx
mov ebx, ecx
xor ecx, edx
sub ecx, edi
or ebx, edx
not ebx
lea edi, [rbx + rbx*2]
add ecx, edi
sub eax, edx
xor ecx, eax
add ecx, r13d
add cl, 8
sar esi, cl
mov r8, qword [rbp - 0x70]
mov dword [r8], esi
mov rsi, qword [rbp + 0x350]
lea eax, [rsi + rdx]
mov ecx, esi
xor ecx, edx
sub eax, ecx
imul r15d, edx
and edx, esi
add edx, edx
xor edx, eax
movabs rax, 0x13a31eb6a5de9a0b
mov rsi, rax
add eax, edx
neg r9d
or r9d, 0x8e
movzx ecx, r9b
imul ecx, ecx
imul ecx, ecx, 0x76df
or r11d, 0x22
movzx ebx, r11b
imul ebx, ebx
imul ebx, ebx, 0xe02d
xor edi, edi
cmp ecx, ebx
sete dil
lea ebx, [rsi + 0xe9]
neg edi
xor edi, ebx
xor edi, eax
and edi, dword [r8]
xor edi, r15d
mov rax, qword [rbp - 0x78]
mov dword [rax], edi
or r13d, 0x1a
movzx eax, r13b
imul eax, eax
imul eax, eax, 0x230b
or edi, 0x7b
movzx ebx, dil
imul ebx, ebx
imul edi, ebx, 0x1d21
xor ebx, ebx
cmp eax, edi
sete bl
mov eax, r15d
not eax
or eax, edx
mov edi, edx
or edi, r15d
mov esi, edx
not esi
add esi, esi
sub esi, r15d
xor edx, r15d
sub edx, eax
not edi
lea eax, [rdi + rdi*2]
add edx, eax
neg ebx
xor edx, esi
or ecx, 0x26
movzx eax, cl
imul eax, eax
imul ecx, eax, 0x2443
or r10d, 0x98
movzx eax, r10b
imul eax, eax
imul edi, eax, 0x4963
xor eax, eax
cmp ecx, edi
sete al
neg eax
xor eax, edx
xor eax, ebx
xor eax, 0xd5bed9ac
cmp eax, 0xf35e97d6
jg 0x411869
cmp eax, 0xd5bed9ac
je 0x41238d
cmp eax, 0xf14c524f
jne 0x410651
mov rax, qword [rbp - 0x50]
mov ecx, dword [rax]
mov rax, qword [rbp - 0x58]
mov edx, dword [rax]
mov eax, edx
xor eax, ecx
mov rbx, qword [rbp - 0x48]
movzx r8d, byte [rbx]
neg r8d
or edx, 0xcd
movzx edx, dl
imul edx, edx
imul edi, edx, 0x84f1
mov edx, eax
or edx, 0x9d
movzx edx, dl
imul edx, edx
imul edx, edx, 0xf8ff
xor esi, esi
cmp edi, edx
sete sil
lea edi, [rax + rdx]
mov ebx, eax
xor ebx, edx
sub edi, ebx
and edx, eax
add edx, edx
xor edx, edi
neg esi
xor esi, 0x76f4c3b1
xor edx, 0x8850eac1
add edx, esi
and edx, r8d
lea ebx, [rcx + rax]
mov edi, ecx
xor edi, eax
sub ebx, edi
mov edi, edx
xor edi, eax
and eax, ecx
mov r13, qword [rbp + 0x328]
mov dword [r13], edi
add eax, eax
xor eax, ebx
xor eax, 0x109ff4
or edi, 0x99
movzx ecx, dil
imul ecx, ecx
imul ecx, ecx, 0x279d
or edx, 0xf8
movzx edx, dl
imul edx, edx
imul edx, edx, 0xc317
xor ebx, ebx
cmp ecx, edx
sete bl
sub eax, ebx
add eax, 0xa520
mov r8, qword [rbp + 0x318]
mov dword [r8], eax
mov rax, qword [rbp + 0x1d8]
mov eax, dword [rax]
mov rcx, qword [rbp + 0x288]
mov dword [rcx], eax
mov rax, qword [rbp + 0x258]
mov eax, dword [rax]
mov rcx, qword [rbp + 0x290]
jmp 0x411478
cmp eax, 0xf35e97d7
je 0x4130ab
cmp eax, 0x22b15897
jne 0x410651
mov rax, qword [rbp - 0x38]
mov r14d, dword [rax]
mov rax, qword [rbp - 0x40]
mov eax, dword [rax]
mov dword [rbp + 0x350], eax
mov r9d, eax
xor r9d, r14d
mov rax, qword [rbp - 0x30]
movzx eax, byte [rax]
lea ecx, [rax + 0x56]
lea ebx, [rax + r9]
mov edx, eax
mov r15d, eax
lea r11d, [rax + rax]
add r11d, 0xfffffffe
mov dword [rbp + 0x340], r11d
mov r8d, eax
neg r8d
mov eax, r9d
or eax, 0x1d
movzx eax, al
imul eax, eax
imul r10d, eax, 0x2e93
imul ecx, ecx
imul eax, ecx, 0x62e9
mov dword [rbp + 0x348], eax
xor r12d, r12d
cmp r10d, eax
sete r12b
mov eax, r12d
xor eax, 0xde65ab8f
xor edx, r9d
sub ebx, edx
and r15d, r9d
add r15d, r15d
xor r15d, ebx
lea ecx, [r15 + 0xd6fe423]
xor ecx, eax
and ecx, r8d
xor ecx, r9d
mov eax, r10d
not eax
or eax, r14d
mov edx, r14d
or edx, r10d
not edx
lea r13d, [rdx + rdx*2]
mov ebx, r14d
xor ebx, r10d
sub ebx, eax
mov edx, r14d
not edx
add ebx, r13d
lea eax, [rdx + rdx]
sub eax, r10d
xor ebx, eax
mov eax, r8d
or eax, ecx
sub r11d, ecx
mov esi, r8d
xor esi, ecx
movabs rdi, 0x7958bc9e7c2d6607
lea r13d, [rdi + rbx]
add r13d, 0x4c344b74
xor r13d, ecx
not ecx
or ecx, r8d
sub esi, ecx
not eax
lea eax, [rax + rax*2]
add esi, eax
xor esi, r11d
add esi, edi
xor r13d, esi
or edx, r13d
mov eax, r13d
or eax, r14d
not eax
lea eax, [rax + rax*2]
mov ecx, r13d
xor ecx, r14d
sub ecx, edx
mov esi, r13d
not esi
add ecx, eax
lea eax, [rsi + rsi]
sub eax, r14d
xor ecx, eax
or r9d, 0x6b
movzx eax, r9b
imul eax, eax
imul eax, eax, 0x3b59
mov edx, r10d
or edx, 0xae
movzx edx, dl
imul edx, edx
imul r11d, edx, 0x644f
xor edx, edx
cmp eax, r11d
sete dl
or esi, r8d
mov eax, r8d
xor r8d, r13d
sub r8d, esi
or eax, r13d
not eax
lea eax, [rax + rax*2]
add r8d, eax
mov eax, dword [rbp + 0x340]
sub eax, r13d
xor r8d, eax
neg edx
movabs rax, 0x2856e6e8214823bc
mov rbx, rax
lea eax, [rax + rdx]
add eax, 0x66db518e
xor eax, ebx
xor eax, ecx
and r8d, eax
mov edi, r12d
xor r8d, r13d
mov ebx, dword [rbp + 0x348]
mov eax, ebx
not eax
lea eax, [r12 + rax*2]
lea edx, [r12 - 1]
mov r13, qword [rbp + 0x328]
mov dword [r13], r8d
neg edi
or edx, ebx
mov esi, ebx
or esi, edi
xor edi, ebx
not esi
lea esi, [rsi + rsi*2]
sub edi, edx
add edi, esi
xor edi, eax
mov ebx, dword [rbp + 0x350]
mov eax, ebx
not eax
or eax, ecx
mov edx, ecx
or edx, ebx
mov esi, ebx
mov ebx, ecx
not ebx
add ebx, ebx
sub ebx, esi
xor ecx, esi
sub ecx, eax
not edx
lea eax, [rdx + rdx*2]
add ecx, eax
xor ecx, ebx
xor edi, 0x9169e983
add ecx, 0xb8c1e5c
imul ecx, edi
mov r8, qword [rbp + 0x318]
mov dword [r8], ecx
lea eax, [r11 + r14]
mov ecx, r11d
xor ecx, r14d
sub eax, ecx
and r11d, r14d
add r11d, r11d
xor r11d, eax
xor r11d, 0xde10d531
or r15d, 0xf7
movzx eax, r15b
imul eax, eax
imul eax, eax, 0x5689
or r10d, 0x8a
movzx ecx, r10b
imul ecx, ecx
imul ecx, ecx, 0x2359
xor edx, edx
cmp eax, ecx
mov rax, qword [rbp - 0x20]
mov rax, qword [rax]
mov rcx, qword [rbp - 0x28]
mov ecx, dword [rcx]
mov rbx, qword [rbp + 0x1c8]
mov dword [rbx], ecx
mov rcx, qword [rbp + 0x1d0]
mov qword [rcx], rax
sete dl
xor edx, 0x1ad063d1
imul edx, r11d
mov rax, qword [rbp + 0x2d0]
mov dword [rax], edx
jmp 0x41147a
mov qword [rbp + 0x2d8], r10
mov rax, qword [rbp + 0x2c0]
mov eax, dword [rax]
mov rcx, qword [rbp + 0x240]
mov ecx, dword [rcx]
lea r8, [0x0041d040]
mov dword [r8 + rcx*8 + 4], eax
mov rax, qword [rbp + 0x70]
mov rbx, qword [rax]
mov rax, qword [rbp + 0x118]
mov rax, qword [rax]
movzx r11d, word [rbx + rax*2]
mov rdi, qword [rbp + 0x350]
lea r10d, [r15 + rdi]
mov ebx, r15d
xor ebx, edi
sub r10d, ebx
mov r9d, r15d
and r9d, edi
add r9d, r9d
xor r9d, r10d
mov r10d, eax
or r10d, edx
mov edi, eax
mov ebx, eax
mov r13, qword [rbp + 0x330]
xor eax, r13d
sub eax, r10d
or edi, r13d
not edi
lea edx, [rdi + rdi*2]
add eax, edx
not ebx
add ebx, ebx
sub ebx, r13d
xor eax, ebx
lea rdx, [rax + r9]
add rdx, 1
mov rax, qword [rbp + 0x130]
mov rax, qword [rax]
mov rdi, r11
mov eax, dword [rax + r11*4]
mov qword [rbp + 0x2f8], rax
mov dword [r8 + rcx*8 + 8], eax
sub rsp, 0x20
mov qword [rbp + 0x340], rcx
call fcn.00416860
add rsp, 0x20
mov rcx, qword [rbp + 0x1a8]
mov qword [rcx], rax
mov rbx, qword [rbp + 0x338]
lea ecx, [rbx + rdi]
mov edx, ebx
xor edx, edi
sub ecx, edx
mov edx, ebx
and edx, edi
add edx, edx
xor edx, ecx
add edx, 0x9c638ed5
mov r9, qword [rbp + 0x300]
or r9d, edi
mov ecx, edi
or ecx, r13d
not ecx
lea r8d, [rcx + rcx*2]
mov ebx, edi
not ebx
add ebx, ebx
sub ebx, r13d
mov qword [rbp + 0x300], rdi
mov ecx, edi
xor ecx, r13d
sub ecx, r9d
add ecx, r8d
xor ecx, ebx
add ecx, 0x745577b2
xor ecx, edx
or r14d, 0x99
movzx edx, r14b
imul edx, edx
imul edx, edx, 0x4bdd
or eax, 0x2e
movzx eax, al
imul eax, eax
imul eax, eax, 0xdfa3
xor r9d, r9d
cmp edx, eax
sete r9b
neg r9d
or r9d, ecx
cmp r9d, 0xbd3f9540
jg 0x411fad
cmp r9d, 0x8ab7c987
je 0x41187f
cmp r9d, 0x8fd294d8
je 0x40db7e
cmp r9d, 0xb310f0c3
jne 0x412376
mov rax, qword [rbp + 0xa0]
mov r15d, dword [rax]
mov eax, r15d
not eax
or eax, 0xa021040
and eax, 0xa061440
mov ecx, r15d
and ecx, 0x40400
lea ecx, [rcx + rax]
add ecx, 0x1010104
mov r14d, ecx
xor r14d, 0xb071544
lea r10d, [r14 + 0x1c818ae9]
lea eax, [r14 + r15]
mov edx, r14d
xor edx, r15d
sub eax, edx
mov r9d, r14d
and r9d, r15d
add r9d, r9d
xor r9d, eax
lea eax, [r9 - 0x6931a83]
xor r10d, r15d
xor r10d, eax
lea eax, [r9 + r15]
mov edx, r9d
xor edx, r15d
sub eax, edx
and r15d, r9d
add r15d, r15d
xor r15d, eax
lea eax, [r15 + 0x65410f1f]
lea r12d, [r9 - 0x464eea57]
imul r12d, eax
xor r12d, r10d
xor ecx, 0xf4f8eabb
or ecx, r10d
mov eax, r10d
or eax, r14d
not eax
lea eax, [rax + rax*2]
mov edi, r10d
not edi
add edi, edi
mov dword [rbp + 0x350], edi
sub edi, r14d
mov ebx, r10d
xor ebx, r14d
sub ebx, ecx
add ebx, eax
xor ebx, edi
lea eax, [rbx + 0x49f76f2f]
or ebx, 0x1a
movzx ecx, bl
imul ecx, ecx
imul edx, ecx, 0x1505
mov ecx, r10d
or ecx, 0xad
movzx ecx, cl
imul ecx, ecx
imul ecx, ecx, 0x8bd5
xor r11d, r11d
cmp edx, ecx
sete r11b
mov esi, r11d
xor esi, 0xddbbaebb
xor esi, eax
lea eax, [rdx + r14]
mov edi, edx
xor edi, r14d
sub eax, edi
and r14d, edx
add r14d, r14d
xor r14d, eax
and esi, r14d
xor esi, r12d
mov r13d, esi
or r13d, edx
mov edi, esi
not edi
add edi, edi
sub edi, edx
mov ebx, esi
xor ebx, edx
mov eax, ecx
xor eax, edx
lea r8d, [rcx + rdx]
and ecx, edx
not edx
or edx, esi
sub ebx, edx
not r13d
lea edx, [r13 + r13*2]
add ebx, edx
xor ebx, edi
xor ebx, 0xe8b491d7
sub r8d, eax
add ecx, ecx
xor ecx, r8d
lea eax, [rcx - 0x2de2fb54]
imul eax, ebx
mov edx, ecx
not edx
or edx, r10d
mov ebx, r10d
or ebx, ecx
mov edi, dword [rbp + 0x350]
sub edi, ecx
xor ecx, r10d
sub ecx, edx
not ebx
lea edx, [rbx + rbx*2]
add ecx, edx
xor ecx, edi
and ecx, eax
xor ecx, esi
lea eax, [rcx + r12]
mov edx, ecx
xor edx, r12d
sub eax, edx
and r12d, ecx
add r12d, r12d
xor r12d, eax
movabs rax, 0x2e10871c45eb14a3
mov rbx, rax
add r12d, ebx
or r15d, 0x12
movzx eax, r15b
imul eax, eax
imul r8d, eax, 0xa535
mov eax, r9d
or eax, 0x50
movzx eax, al
imul eax, eax
imul eax, eax, 0x4ec1
xor edx, edx
cmp r8d, eax
sete dl
lea eax, [rbx + 0x445f4df]
neg edx
xor eax, edx
xor eax, r12d
mov edi, r9d
sub edi, r11d
neg r11d
mov esi, r9d
xor esi, r11d
sub edi, esi
and r11d, r9d
add r11d, r11d
xor r11d, edi
and r11d, eax
xor r11d, ecx
mov eax, ecx
or eax, 0x76
movzx eax, al
imul eax, eax
imul eax, eax, 0xded1
or r14d, 0x87
movzx edi, r14b
imul edi, edi
imul esi, edi, 0xdb1d
xor r9d, r9d
cmp eax, esi
sete r9b
neg r9d
or esi, 0xb6
movzx eax, sil
imul eax, eax
imul eax, eax, 0x3517
or edx, 0xf8
movzx edx, dl
imul edx, edx
imul esi, edx, 0x6fb5
xor edx, edx
cmp eax, esi
sete dl
mov esi, edx
xor esi, 0xe861519f
mov eax, ecx
or eax, 0x83
movzx eax, al
imul eax, eax
imul ebx, eax, 0x8939
xor edi, edi
cmp ebx, 0xb1a93
sete dil
mov eax, 0xa88ba3f2
sub eax, edi
imul eax, esi
and eax, r9d
xor eax, r11d
neg edx
or ebx, 0x98
movzx ebx, bl
imul ebx, ebx
imul ebx, ebx, 0x36e9
or edx, 0x5e
movzx edx, dl
imul edx, edx
imul edi, edx, 0x80db
xor edx, edx
cmp ebx, edi
sete dl
neg edx
or ecx, 0x29
movzx ecx, cl
imul ecx, ecx
imul ecx, ecx, 0x6695
or r8d, 7
movzx ebx, r8b
imul ebx, ebx
imul ebx, ebx, 0xf30b
xor edi, edi
cmp ecx, ebx
mov r13, qword [rbp + 0x328]
mov dword [r13], eax
movabs rax, 0x45d6af3d8bad2b96
mov rcx, rax
lea eax, [rax + 0xf42ec]
sete dil
neg edi
xor edi, ecx
xor edi, eax
xor edi, edx
mov r8, qword [rbp + 0x318]
mov dword [r8], edi
mov rax, qword [rbp + 0x270]
jmp 0x40d9c5
cmp r9d, 0x8f95cd9
jg 0x41235c
cmp r9d, 0xbd3f9541
mov r14, qword [rbp + 0x320]
je 0x411777
cmp r9d, 0xe836f967
jne 0x412376
mov rdi, rsi
mov ecx, edi
mov rax, qword [rbp + 0x350]
xor ecx, eax
lea edx, [rsi + rax]
sub edx, ecx
and edi, eax
add edi, edi
xor edi, edx
mov rax, qword [rbp + 0x340]
mov ecx, eax
or ecx, 0x50
movzx ecx, cl
imul ecx, ecx
imul edx, ecx, 0x3c7
mov rax, qword [rbp + 0x330]
or eax, 0x15
movzx ecx, al
imul ecx, ecx
imul eax, ecx, 0x46e5
xor ecx, ecx
cmp edx, eax
sete cl
mov esi, ecx
neg esi
xor edi, esi
xor edi, 0x1f4
mov rax, qword [rbp + 0x1a8]
mov rdx, qword [rax]
mov qword [rbp + 0x2f0], rdx
xor r11d, r11d
cmp edx, edi
sete r11b
mov dword [rbp + 0x350], r11d
mov r8, qword [rbp + 0x338]
mov edx, r8d
xor edx, r15d
lea edi, [r8 + r15]
sub edi, edx
and r8d, r15d
add r8d, r8d
xor r8d, edi
mov rax, qword [rbp + 0x250]
or eax, esi
mov edx, esi
mov r13, qword [rbp + 0x308]
xor esi, r13d
sub esi, eax
or edx, r13d
not edx
lea edx, [rdx + rdx*2]
add esi, edx
add ecx, ecx
sub ecx, r13d
add ecx, 0xfffffffe
xor esi, ecx
mov rax, qword [rbp + 0x310]
mov ecx, dword [rax]
lea ebx, [rsi + 0x40ace679]
xor ebx, ecx
lea edx, [r8 + 0x76315b0c]
xor ebx, edx
neg r11d
mov rax, qword [rbp + 0x2f8]
mov edi, eax
or edi, 0x63
movzx edi, dil
imul edi, edi
imul eax, edi, 0xe833
or ecx, 0xa3
movzx ecx, cl
imul ecx, ecx
imul r10d, ecx, 0x1fb5
xor edx, edx
cmp eax, r10d
sete dl
neg edx
xor edx, 0xa4c1fc5c
mov edi, r8d
or edi, 0x91
movzx edi, dil
imul edi, edi
imul ecx, edi, 0x3d79
mov dword [rbp + 0x330], ecx
mov edi, r9d
or edi, 0x14
movzx edi, dil
imul edi, edi
imul edi, edi, 0xbee5
xor eax, eax
cmp ecx, edi
sete al
mov dword [rbp + 0x338], eax
mov edi, r10d
xor edi, esi
mov qword [rbp + 0x2e8], r15
lea r15d, [r10 + rsi]
sub r15d, edi
and esi, r10d
add esi, esi
xor esi, r15d
mov rcx, qword [rbp + 0x2f8]
mov r10d, ecx
not r10d
or r10d, r13d
mov edi, r13d
xor r13d, ecx
sub r13d, r10d
or edi, ecx
not edi
lea edi, [rdi + rdi*2]
add r13d, edi
sub r12d, ecx
xor r13d, r12d
add esi, 0x1ad50c94
add r13d, 0xe95c73dc
xor r13d, esi
mov esi, r14d
not esi
mov rdi, qword [rbp + 0x2f0]
or esi, edi
mov eax, edi
or eax, r14d
mov r10d, edi
mov r12, rdi
not r10d
lea r15d, [r10 + r10]
sub r15d, r14d
xor r14d, r12d
sub r14d, esi
not eax
lea esi, [rax + rax*2]
add r14d, esi
xor r14d, r15d
and r14d, r13d
xor r14d, ebx
mov r13d, dword [rbp + 0x338]
sub edx, r13d
add edx, 0x3f0e2dd8
and edx, r11d
mov rsi, qword [rbp + 0x300]
or esi, 5
movzx esi, sil
imul esi, esi
imul esi, esi, 0x863f
mov rdi, qword [rbp + 0x348]
or edi, 0x3d
movzx edi, dil
imul edi, edi
imul edi, edi, 0xc3d3
xor ebx, ebx
cmp esi, edi
sete bl
xor ebx, 0x17d4c7c3
mov rax, qword [rbp + 0x2d8]
or eax, 0x91
movzx esi, al
imul esi, esi
imul r15d, esi, 0xb9dd
mov rax, qword [rbp + 0x340]
mov esi, eax
or esi, 0xc2
movzx esi, sil
imul esi, esi
imul edi, esi, 0x11c5
xor esi, esi
cmp r15d, edi
sete sil
neg esi
xor esi, 0xefd8e425
imul esi, ebx
xor esi, r14d
xor esi, edx
mov rdx, rcx
xor ecx, r8d
lea edi, [rdx + r8]
sub edi, ecx
and r8d, edx
add r8d, r8d
xor r8d, edi
mov r14d, r13d
mov ecx, r13d
neg ecx
mov rdx, qword [rbp + 0x2e8]
mov edi, edx
sub edi, r13d
mov ebx, ecx
xor ebx, edx
sub edi, ebx
add r8d, 0xcb2cd57
and edx, ecx
add edx, edx
xor edx, edi
xor edx, 0x7b6d737d
imul edx, r8d
mov r8, rdx
mov edi, eax
not edi
or edi, r11d
mov ebx, r11d
or ebx, eax
mov edx, dword [rbp + 0x350]
add edx, edx
sub edx, eax
xor r11d, eax
sub r11d, edi
not ebx
lea edi, [rbx + rbx*2]
add r11d, edi
add edx, 0xfffffffe
xor r11d, edx
and r11d, r8d
xor r11d, esi
mov r13, qword [rbp + 0x328]
mov dword [r13], r11d
mov eax, dword [rbp + 0x330]
mov edx, eax
not edx
or edx, r9d
mov ebx, r9d
or ebx, eax
mov edi, eax
mov eax, r9d
not eax
add eax, eax
sub eax, edi
xor r9d, edi
sub r9d, edx
not ebx
lea edx, [rbx + rbx*2]
add r9d, edx
xor r9d, eax
add r9d, 0x5ee6f4a7
or r10d, ecx
mov eax, r14d
add eax, r14d
sub eax, r12d
add eax, 0xfffffffe
xor eax, r9d
mov edx, eax
mov eax, ecx
xor ecx, r12d
sub ecx, r10d
or eax, r12d
not eax
lea eax, [rax + rax*2]
add ecx, eax
xor ecx, edx
xor ecx, 0x5ef7b1b3
mov r8, qword [rbp + 0x318]
mov dword [r8], ecx
mov rax, qword [rbp + 0x248]
mov dword [rax], r12d
jmp 0x41147a
cmp r9d, 0x8f95cda
je 0x4130ab
cmp r9d, 0xbdace78
je 0x4107a5
mov rsp, rbp
mov rsp, rbp
lea rdx, [rbp - 4]
add rsp, qword [0x3c]
pop rbp
ret
mov rax, qword [rbp - 0x78]
mov r12d, dword [rax]
mov edi, r12d
not edi
mov eax, edi
or eax, 0xa021040
and eax, 0xa061440
mov ecx, r12d
and ecx, 0x40400
lea ecx, [rcx + rax]
add ecx, 0x1010104
mov r13d, ecx
xor r13d, 0xb071544
movabs rax, 0x27679a88e8077251
mov edx, eax
xor edx, r13d
lea ebx, [r12 + r13]
mov r15d, r13d
xor r15d, r12d
sub ebx, r15d
mov r11d, r13d
and r11d, r12d
add r11d, r11d
xor r11d, ebx
lea esi, [rax + 0x11b256f]
xor esi, r11d
xor esi, edx
imul esi, r12d
mov rax, qword [rbp - 0x70]
mov r9d, dword [rax]
xor ecx, 0xf4f8eabb
or ecx, r12d
mov edx, r12d
or edx, r13d
not edx
lea edx, [rdx + rdx*2]
mov qword [rbp + 0x250], rdi
lea ebx, [rdi + rdi]
mov dword [rbp + 0x2e0], ebx
sub ebx, r13d
sub r15d, ecx
add r15d, edx
xor r15d, ebx
lea edx, [r15 + 0x3a6048af]
lea ecx, [rsi + r13]
mov ebx, esi
xor ebx, r13d
sub ecx, ebx
and r13d, esi
add r13d, r13d
xor r13d, ecx
mov ecx, r13d
xor ecx, 0x78
imul ecx, edx
mov eax, r9d
not eax
mov edx, esi
mov dword [rbp + 0x2f8], eax
or edx, eax
mov ebx, esi
or ebx, r9d
not ebx
lea r8d, [rbx + rbx*2]
mov ebx, esi
xor ebx, r9d
sub ebx, edx
mov eax, esi
not eax
add ebx, r8d
mov qword [rbp + 0x300], rax
lea edx, [rax + rax]
mov dword [rbp + 0x280], edx
sub edx, r9d
xor ebx, edx
mov eax, r9d
sar eax, cl
mov qword [rbp + 0x348], rax
mov ecx, r13d
or ecx, 0xb7
movzx ecx, cl
imul ecx, ecx
imul ecx, ecx, 0x4483
mov edx, r12d
or edx, 5
movzx edx, dl
imul edx, edx
imul edx, edx, 0x9007
xor r10d, r10d
cmp ecx, edx
sete r10b
mov r8d, r10d
neg r8d
mov ecx, r8d
xor ecx, 0x7e1bcef9
lea ecx, [rbx + rcx]
add ecx, 0x81e43206
and ecx, eax
mov qword [rbp + 0x350], rcx
mov qword [rbp + 0x330], rsi
mov eax, esi
xor eax, ecx
or r11d, 0x42
movzx ecx, r11b
imul ecx, ecx
imul edx, ecx, 0x48b9
mov qword [rbp + 0x340], r9
mov ecx, r9d
or ecx, 0x7c
movzx ecx, cl
imul ecx, ecx
imul r11d, ecx, 0x2f4b
xor esi, esi
cmp edx, r11d
sete sil
lea edx, [r10 - 1]
or edx, r11d
mov edi, r11d
xor edi, r8d
sub edi, edx
mov edx, r11d
or edx, r8d
not edx
lea edx, [rdx + rdx*2]
add edi, edx
mov r14d, r11d
not r14d
lea edx, [r10 + r14*2]
xor edi, edx
mov r9d, esi
xor r9d, 0x1ef7d565
xor edi, 0xc2d752bd
mov qword [rbp + 0x320], rax
imul r9d, eax
imul r9d, edi
mov edx, r8d
sub edx, esi
neg esi
mov ecx, esi
xor ecx, r8d
sub edx, ecx
mov edi, esi
and edi, r8d
add edi, edi
xor edi, edx
mov qword [rbp + 0x308], r12
mov ecx, r12d
or ecx, 0x6f
movzx ecx, cl
imul ecx, ecx
imul ecx, ecx, 0x7e35
or esi, 0x95
movzx edx, sil
imul edx, edx
imul edx, edx, 0x8eab
xor esi, esi
cmp ecx, edx
sete sil
movabs rax, 0x29ef71f12685f0f1
mov ecx, eax
sub ecx, esi
lea edx, [rax + rdi]
add edx, 8
xor ecx, edx
or r14d, r15d
mov edx, r15d
or edx, r11d
mov edi, r15d
not edi
add edi, edi
sub edi, r11d
xor r15d, r11d
sub r15d, r14d
not edx
lea edx, [rdx + rdx*2]
add r15d, edx
xor r15d, edi
mov r12, qword [rbp + 0x350]
mov edx, r12d
xor edx, ebx
lea edi, [r12 + rbx]
sub edi, edx
and ebx, r12d
add ebx, ebx
xor ebx, edi
mov r11, qword [rbp + 0x348]
sar r11d, cl
mov ecx, ebx
xor ecx, 0xe3150737
lea r10d, [r15 + rcx]
add r10d, 0x1ceaf9c8
and r10d, r11d
mov qword [rbp + 0x338], r9
mov r15d, r9d
xor r15d, r10d
or r8d, 0xcd
movzx ecx, r8b
imul ecx, ecx
imul esi, ecx, 0x1edd
or ebx, 0xe0
movzx edx, bl
imul edx, edx
imul edx, edx, 0xacd9
xor r14d, r14d
cmp esi, edx
sete r14b
xor r14d, 0xe84db2f7
mov edx, r11d
or edx, 0x88
movzx edx, dl
imul edx, edx
imul ebx, edx, 0x53fb
mov edx, esi
or edx, 0x47
movzx edx, dl
imul edx, edx
imul edi, edx, 0x1bb
xor edx, edx
cmp ebx, edi
sete dl
mov ecx, esi
not ecx
or ecx, r13d
mov eax, r13d
or eax, esi
mov ebx, r13d
not ebx
add ebx, ebx
mov edi, ebx
sub edi, esi
xor esi, r13d
sub esi, ecx
not eax
lea eax, [rax + rax*2]
add esi, eax
xor esi, edi
mov edi, r12d
not edi
mov eax, r13d
or eax, edi
mov ecx, r13d
xor r13d, r12d
sub r13d, eax
or ecx, r12d
not ecx
lea eax, [rcx + rcx*2]
add r13d, eax
sub ebx, r12d
xor r13d, ebx
xor r13d, 0x29
add r13d, esi
neg edx
xor edx, 0x195801b7
add r13b, 0xdf
mov esi, r11d
mov ecx, r13d
sar esi, cl
imul r14d, r15d
imul r14d, edx
mov r8, qword [rbp + 0x318]
mov dword [r8], r14d
cmp r14d, 0x1b02a45f
jg 0x412f29
mov rdx, qword [rbp + 0x300]
mov r12d, dword [rbp + 0x2e0]
cmp r14d, 0xb8ffdad3
mov r13, qword [rbp + 0x328]
jg 0x412761
cmp r14d, 0xa0cd4aaa
je 0x40edd7
cmp r14d, 0x99f26594
je 0x40faf3
jmp 0x41147a
cmp r14d, 0xd6ac8a13
jg 0x412e9b
cmp r14d, 0xc7c1414e
jg 0x412881
cmp r14d, 0xb8ffdad4
je 0x40e2ee
cmp r14d, 0xb95c3914
jne 0x41147a
mov rax, qword [rbp + 0x298]
mov rax, qword [rax]
mov rcx, qword [rbp + 0xf8]
mov qword [rcx], rax
mov rax, qword [rbp + 0xe8]
mov rax, qword [rax]
mov rdx, qword [rbp + 0x268]
mov qword [rdx], rax
cmp qword [rcx], 0
mov rax, qword [rbp + 0x80]
sete byte [rax]
mov rax, qword [rbp + 0x310]
mov eax, dword [rax]
mov rcx, qword [rbp + 0x78]
mov dword [rcx], eax
mov rdx, qword [rbp + 0x338]
mov eax, edx
not eax
mov rcx, qword [rbp + 0x350]
or eax, ecx
mov ebx, ecx
or ebx, edx
add edi, edi
sub edi, edx
xor ecx, edx
sub ecx, eax
not ebx
lea eax, [rbx + rbx*2]
add ecx, eax
xor ecx, edi
mov edi, dword [rbp + 0x2f8]
or edi, r11d
mov eax, r11d
mov rdx, qword [rbp + 0x340]
or eax, edx
mov ebx, r11d
not ebx
add ebx, ebx
sub ebx, edx
xor r11d, edx
sub r11d, edi
not eax
lea eax, [rax + rax*2]
add r11d, eax
add ecx, 0x6c706585
xor r11d, ebx
xor r11d, ecx
lea eax, [rsi + r14]
mov ecx, esi
xor ecx, r14d
sub eax, ecx
and esi, r14d
add esi, esi
xor esi, eax
xor r11d, 0xe0eebc2a
or esi, r11d
mov rax, rsi
cmp esi, 0xf32e98dd
jg 0x413c6f
cmp eax, 0x8c9ed9af
je 0x412cbc
cmp eax, 0xc56615e1
je 0x410bf6
jmp 0x413c85
cmp r14d, 0xc7c1414f
je 0x411b09
cmp r14d, 0xcf48c8fa
je 0x413c9a
cmp r14d, 0xd1f67614
jne 0x41147a
mov rax, qword [rbp + 0x1f8]
mov qword [rbp + 0x2f0], rsi
mov r12, qword [rax]
mov eax, r15d
not eax
mov rbx, qword [rbp + 0x348]
or eax, ebx
mov ecx, ebx
or ecx, r15d
not ecx
lea ecx, [rcx + rcx*2]
mov edx, ebx
not edx
add edx, edx
sub edx, r15d
xor r15d, ebx
sub r15d, eax
add r15d, ecx
xor r15d, edx
mov eax, r14d
or eax, 0x4c
movzx eax, al
imul eax, eax
mov r13, r15
imul r15d, eax, 0x4771
or ebx, 0xfc
movzx eax, bl
imul eax, eax
imul eax, eax, 0x1e8f
xor ecx, ecx
cmp r15d, eax
sete cl
movabs rax, 0x5b5d8dbb376c6f57
sub rax, rcx
mov rdx, r13
movabs rcx, 0x5b5d8dbbc89390a8
xor rdx, rcx
xor rdx, rax
sub rsp, 0x20
mov rcx, r12
mov qword [rbp + 0x2d8], r10
mov rsi, r11
call fcn.00416860
add rsp, 0x20
mov rcx, qword [rbp - 0x28]
mov dword [rcx], eax
mov rax, qword [rbp + 0x138]
mov ecx, dword [rax]
mov rax, qword [rbp + 0x1e0]
mov eax, dword [rax]
cmp eax, ecx
mov rdx, qword [rbp - 0x30]
sete byte [rdx]
or esi, 0x10
movzx edx, sil
imul edx, edx
imul edx, edx, 0x986b
mov ebx, r15d
or ebx, 0xb9
movzx ebx, bl
imul ebx, ebx
imul r10d, ebx, 0x6ca1
xor ebx, ebx
cmp edx, r10d
sete bl
mov r8, rbx
mov qword [rbp + 0x348], rbx
mov edx, eax
not edx
mov rbx, qword [rbp + 0x350]
or edx, ebx
mov esi, ebx
or esi, eax
add edi, edi
sub edi, eax
xor ebx, eax
sub ebx, edx
not esi
lea eax, [rsi + rsi*2]
add ebx, eax
mov eax, r8d
neg eax
mov dword [rbp + 0x350], eax
xor ebx, edi
xor eax, 0x5dda9aba
lea r11d, [rbx + rax]
add r11d, 0xa5f5b27d
mov eax, r14d
not eax
or eax, ecx
mov edx, ecx
or edx, r14d
mov ebx, ecx
not ebx
add ebx, ebx
sub ebx, r14d
xor ecx, r14d
mov rsi, qword [rbp + 0x310]
xor r11d, dword [rsi]
sub ecx, eax
not edx
lea eax, [rdx + rdx*2]
add ecx, eax
xor ecx, ebx
or r13d, 5
movzx eax, r13b
imul eax, eax
imul eax, eax, 0xebb1
mov edx, r10d
or edx, 8
movzx edx, dl
imul edx, edx
imul r14d, edx, 0x3acd
xor edx, edx
cmp eax, r14d
sete dl
mov rsi, rdx
mov qword [rbp + 0x340], rdx
mov ebx, r15d
mov rdi, qword [rbp + 0x2d8]
xor ebx, edi
lea eax, [r15 + rdi]
sub eax, ebx
mov edx, r15d
and edx, edi
add edx, edx
xor edx, eax
mov r13d, esi
neg r13d
mov esi, r13d
xor esi, ecx
xor esi, 0xec892d88
and esi, edx
xor esi, r11d
or r12d, 0xc7
movzx eax, r12b
imul eax, eax
imul edi, eax, 0xa7b
mov dword [rbp + 0x320], edi
mov eax, r13d
or eax, 0x43
movzx eax, al
imul eax, eax
imul r12d, eax, 0x5b79
xor eax, eax
cmp edi, r12d
sete al
neg eax
xor eax, 0x4636f03f
or r14d, 0xac
movzx edi, r14b
imul edi, edi
imul r8d, edi, 0x6ff5
mov rdi, qword [rbp + 0x330]
or edi, 0x84
movzx edi, dil
imul edi, edi
imul edi, edi, 0x71d1
xor r14d, r14d
cmp r8d, edi
sete r14b
neg r14d
xor r14d, 0x3786b07c
add r14d, eax
or r12d, 0x3c
movzx eax, r12b
imul eax, eax
imul edi, eax, 0xe879
mov rax, qword [rbp + 0x2f0]
or eax, 0xdf
movzx eax, al
imul eax, eax
imul eax, eax, 0x2c2f
xor r12d, r12d
cmp edi, eax
sete r12b
neg r12d
and r12d, r14d
mov r8d, ecx
not r8d
or r8d, r10d
mov edi, r10d
or edi, ecx
mov r9d, r10d
not r9d
add r9d, r9d
sub r9d, ecx
xor ecx, r10d
sub ecx, r8d
not edi
lea edi, [rdi + rdi*2]
add ecx, edi
mov edi, r15d
xor edi, eax
lea r8d, [r15 + rax]
sub r8d, edi
and eax, r15d
add eax, eax
xor eax, r8d
lea r14d, [rax - 0x43903246]
xor r14d, r9d
xor r14d, ecx
mov r8, qword [rbp + 0x2d8]
mov ecx, r8d
not ecx
or ecx, r15d
mov edi, r15d
or edi, r8d
not r15d
add r15d, r15d
sub r15d, r8d
sub ebx, ecx
not edi
lea ecx, [rdi + rdi*2]
add ebx, ecx
xor esi, r12d
xor r14d, 0xae98ba7a
xor ebx, r15d
and r14d, ebx
or r11d, 0x59
movzx ecx, r11b
imul ecx, ecx
imul r8d, ecx, 0x1091
mov ecx, ebx
or ecx, 0xce
movzx ecx, cl
imul ecx, ecx
imul edi, ecx, 0x7b1d
xor r9d, r9d
cmp r8d, edi
mov rcx, qword [rbp - 0x38]
mov dword [rcx], esi
mov rcx, qword [rbp + 0x348]
mov rdi, qword [rbp + 0x340]
lea r8d, [rdi + rcx*2 - 2]
lea esi, [rdi - 1]
mov rcx, qword [rbp - 0x40]
mov dword [rcx], r14d
sete r9b
mov ecx, dword [rbp + 0x350]
or esi, ecx
mov edi, ecx
or edi, r13d
xor r13d, ecx
not edi
lea edi, [rdi + rdi*2]
sub r13d, esi
add r13d, edi
xor r13d, r8d
mov r8d, ebx
not r8d
mov edi, dword [rbp + 0x320]
or r8d, edi
mov esi, edi
or esi, ebx
mov ecx, edi
not ecx
add ecx, ecx
sub ecx, ebx
xor ebx, edi
sub ebx, r8d
not esi
lea edi, [rsi + rsi*2]
add ebx, edi
neg r9d
xor ebx, ecx
xor ebx, r13d
xor ebx, r9d
mov ecx, edx
not ecx
or ecx, eax
mov edi, eax
or edi, edx
mov esi, eax
not esi
add esi, esi
sub esi, edx
xor edx, eax
sub edx, ecx
not edi
lea ecx, [rdi + rdi*2]
add edx, ecx
xor edx, esi
lea ecx, [rax + r12]
mov edi, eax
xor edi, r12d
sub ecx, edi
and eax, r12d
add eax, eax
xor eax, ecx
xor ebx, 1
add edx, 0x667e449
add eax, 0x5e5a99b9
xor eax, edx
xor edx, edx
div ebx
cmp eax, 0x583d7def
jg 0x413f1a
cmp eax, 0x19a603c0
je 0x413bce
cmp eax, 0x388c91a2
jne 0x413f3b
mov rax, qword [rbp + 0x78]
mov r11d, dword [rax]
mov r10d, r11d
not r10d
mov ecx, r10d
or ecx, 0xa021040
and ecx, 0xa061440
mov edx, r11d
and edx, 0x40400
lea r9d, [rdx + rcx]
add r9d, 0x1010104
mov r15d, r9d
xor r15d, 0xb071544
mov edi, r9d
xor edi, 0xb816bd14
mov edx, r11d
or edx, 2
movzx edx, dl
imul edx, edx
imul r8d, edx, 0x8c27
xor ebx, ebx
cmp r8d, 0x25becedc
sete bl
sub edi, ebx
add edi, 0x9cc7363c
xor edi, r11d
mov rax, qword [rbp + 0x80]
movzx edx, byte [rax]
lea eax, [r15 + rdx]
mov esi, eax
not esi
lea r14d, [rsi + rsi*2]
xor r9d, 0xf4f8eabb
lea esi, [r9 + r9]
sub esi, edx
add eax, edx
lea r14d, [rax + r14]
add r14d, 1
xor r14d, esi
mov esi, r11d
sub esi, ebx
neg ebx
mov eax, ebx
xor eax, r11d
sub esi, eax
mov eax, r14d
xor eax, 0x7cc456ca
and ebx, r11d
add ebx, ebx
xor ebx, esi
lea ebx, [rbx + rax]
add ebx, 0xecaba2c
lea eax, [rdx - 1]
mov esi, edx
neg esi
and ebx, esi
xor ebx, edi
or eax, r11d
mov ecx, r11d
or ecx, esi
xor esi, r11d
sub esi, eax
lea edi, [rdx + r10*2]
mov edx, r10d
not ecx
lea eax, [rcx + rcx*2]
add edx, r10d
add esi, eax
movabs rax, 0x5970c7eb10e86d44
mov r10, rax
xor edi, r10d
xor edi, esi
mov eax, r11d
or eax, 0x9e
movzx eax, al
imul eax, eax
imul eax, eax, 0x9d3d
or r8d, 0xaa
movzx ecx, r8b
imul ecx, ecx
imul ecx, ecx, 0x22ed
xor esi, esi
cmp eax, ecx
sete sil
lea eax, [r10 + 0x20e3dcce]
neg esi
xor esi, eax
xor edi, ebx
xor edi, esi
mov r13, qword [rbp + 0x328]
mov dword [r13], edi
or r14d, 0x49
movzx eax, r14b
imul eax, eax
imul eax, eax, 0xbc6f
or ecx, 0xe1
movzx ecx, cl
imul ecx, ecx
imul ecx, ecx, 0x69a3
xor ebx, ebx
cmp eax, ecx
sete bl
mov eax, edi
or eax, 0xda413123
mov ecx, edi
not ecx
xor edi, 0x25becedc
sub edi, eax
mov eax, ecx
and eax, 0xda413123
lea eax, [rax + rax*2]
add edi, eax
lea eax, [rcx + rcx]
add eax, 0xda413124
xor edi, eax
xor edi, 0x1a932306
sub edi, ebx
add edi, 0xe57e220e
mov r8, qword [rbp + 0x318]
mov dword [r8], edi
or r9d, r11d
mov eax, r11d
or eax, r15d
sub edx, r15d
xor r15d, r11d
sub r15d, r9d
not eax
lea eax, [rax + rax*2]
add r15d, eax
xor r15d, edx
mov rax, qword [rbp + 0x2d0]
mov dword [rax], r15d
jmp 0x41147a
cmp r14d, 0x40b2d93
jg 0x412ee8
cmp r14d, 0xd6ac8a14
je 0x410668
cmp r14d, 0xe4e6f514
je 0x41370b
cmp r14d, 0xf07b4a94
jne 0x41147a
mov rax, qword [rbp + 0x2d0]
mov eax, dword [rax]
lea rsp, [rbp + 0x358]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov qword [rbp + 0x2d8], r10
mov qword [rbp + 0x2e8], r15
cmp r14d, 0x40b2d94
je 0x40cf64
cmp r14d, 0xc9bb5ff
je 0x40f227
cmp r14d, 0x122d5ab4
mov r10, qword [rbp + 0x2d8]
je 0x40d9d3
jmp 0x41147a
cmp r14d, 0x2a3bb2fb
mov r13, qword [rbp + 0x328]
mov qword [rbp + 0x2f0], rsi
jg 0x413167
cmp r14d, 0x1b02a460
je 0x40f8af
cmp r14d, 0x29a7171f
jne 0x41147a
mov rcx, qword [rbp + 0x100]
mov r8, qword [rcx]
mov rcx, qword [rcx]
lea rdx, [0x0041d040]
mov rsi, rdx
mov edx, dword [rdx + rcx*8 + 4]
mov rbx, qword [rbp + 0x260]
mov rbx, qword [rbx]
mov edi, dword [rsi + rbx*8 + 4]
mov dword [rsi + rcx*8 + 4], edi
mov rcx, qword [rbp + 0x238]
mov ecx, dword [rcx]
mov dword [rsi + r8*8 + 8], ecx
mov dword [rsi + rbx*8 + 4], edx
mov rcx, qword [rbp + 0x140]
mov rdx, qword [rcx]
mov rcx, qword [rbp + 0x270]
mov eax, dword [rcx]
mov dword [rdx], eax
mov rcx, qword [rbp + 0x310]
mov edx, dword [rcx]
mov rcx, qword [rbp + 0xa0]
mov dword [rcx], edx
mov rcx, qword [rbp + 0x330]
lea ebx, [rdx + rcx]
mov edi, edx
xor edi, ecx
sub ebx, edi
and edx, ecx
add edx, edx
xor edx, ebx
mov ecx, eax
not ecx
mov rsi, qword [rbp + 0x338]
or ecx, esi
mov ebx, esi
mov edi, esi
xor esi, eax
sub esi, ecx
or ebx, eax
not ebx
lea ecx, [rbx + rbx*2]
not edi
add edi, edi
sub edi, eax
add esi, ecx
xor esi, edi
lea ecx, [r15 + rsi]
mov ebx, r15d
xor ebx, esi
sub ecx, ebx
lea edx, [rsi + rdx]
add edx, 1
and esi, r15d
add esi, esi
xor esi, ecx
xor esi, edx
or eax, 0x62
movzx ecx, al
imul ecx, ecx
imul edx, ecx, 0xdae7
mov rax, qword [rbp + 0x348]
or eax, 0xa1
movzx ecx, al
imul ecx, ecx
imul ebx, ecx, 0xbfa1
xor ecx, ecx
cmp edx, ebx
sete cl
mov edx, r8d
not edx
or edx, r11d
mov ebx, r11d
or ebx, r8d
mov edi, r11d
not edi
add edi, edi
sub edi, r8d
xor r11d, r8d
sub r11d, edx
not ebx
lea eax, [rbx + rbx*2]
add r11d, eax
xor r11d, edi
neg ecx
xor ecx, 0x3391a84f
add r11d, 0xeff490e
imul r11d, ecx
mov eax, r11d
cdq
idiv esi
cmp eax, 0xbc8c20dc
jg 0x413f53
cmp eax, 0x816f46bd
je 0x4112cf
cmp eax, 0x92d4524c
jne 0x413f74
mov rax, qword [rbp - 0x68]
mov eax, dword [rax]
mov ecx, eax
or ecx, 0x40
movzx ecx, cl
imul ecx, ecx
imul esi, ecx, 0xed5
mov r13, qword [rbp + 0x328]
mov dword [r13], eax
mov edx, esi
not edx
lea ebx, [rdx + rdx*2]
mov edi, 0xfffffffe
sub edi, esi
mov ecx, esi
sub ecx, edx
add ecx, ebx
xor ecx, edi
add ecx, 0xe45e7361
mov edx, eax
or edx, 0x92
movzx edx, dl
imul edx, edx
imul edx, edx, 0xb657
xor ebx, ebx
cmp edx, 0xa875bd1
sete bl
neg ebx
xor ebx, 0xb2013194
imul ebx, ecx
mov r8, qword [rbp + 0x318]
mov dword [r8], ebx
mov rcx, qword [rbp - 0x60]
mov ecx, dword [rcx]
mov rdx, qword [rbp + 0x1b8]
mov dword [rdx], ecx
or esi, 0xd0
movzx ecx, sil
imul ecx, ecx
imul ecx, ecx, 0x3d73
or eax, 0x70
movzx eax, al
imul eax, eax
imul eax, eax, 0xd069
xor edx, edx
cmp ecx, eax
sete dl
neg rdx
mov rax, qword [rbp + 0x1c0]
mov qword [rax], rdx
jmp 0x41147a
cmp r14d, 0x330b2bd3
mov qword [rbp + 0x2e8], r15
jg 0x413189
cmp r14d, 0x2a3bb2fc
je 0x40e878
jmp 0x41147a
cmp r14d, 0x466a6c13
jg 0x4131d9
cmp r14d, 0x394643c7
jg 0x4131ba
cmp r14d, 0x330b2bd4
je 0x40e564
cmp r14d, 0x36dc4df4
je 0x40d2ef
jmp 0x41147a
cmp r14d, 0x394643c8
je 0x410058
cmp r14d, 0x3e20b814
je 0x40f421
jmp 0x41147a
cmp r14d, 0x55cedc53
jg 0x413201
cmp r14d, 0x466a6c14
je 0x410a13
cmp r14d, 0x4ea675f4
je 0x40ca17
jmp 0x41147a
cmp r14d, 0x6b3522fe
je 0x413575
cmp r14d, 0x5a22ce94
je 0x40e0e1
cmp r14d, 0x55cedc54
jne 0x41147a
mov rcx, qword [rbp + 0x258]
mov eax, dword [rcx]
mov dword [0x0041d040], eax
mov esi, dword [rcx]
mov eax, esi
not eax
mov r12, qword [rbp + 0x338]
or eax, r12d
mov ecx, r12d
or ecx, esi
not ecx
lea ecx, [rcx + rcx*2]
mov edx, r12d
not edx
mov qword [rbp + 0x350], rdx
add edx, edx
sub edx, esi
mov edi, r12d
xor edi, esi
sub edi, eax
add edi, ecx
xor edi, edx
movabs rax, 0xebf6ab506efb7af1
lea r8, [rdi + rax]
mov rdx, qword [rbp + 0x320]
mov rax, qword [rbp + 0x330]
lea ecx, [rdx + rax]
mov ebx, edx
xor ebx, eax
sub ecx, ebx
and edx, eax
add edx, edx
xor edx, ecx
movabs rcx, 0x296f519240c1c9ef
add rdx, rcx
imul rdx, r8
sub rsp, 0x20
mov rcx, rsi
call fcn.00416860
add rsp, 0x20
mov rcx, qword [rbp + 0x40]
mov dword [rcx], eax
mov edx, dword [rcx]
lea ecx, [rsi + rdi]
mov ebx, esi
xor ebx, edi
sub ecx, ebx
and edi, esi
add edi, edi
xor edi, ecx
xor r8d, r8d
cmp edx, edi
sete r8b
mov rcx, qword [rbp + 0x310]
mov edx, dword [rcx]
mov ecx, dword [rbp + 0x2f8]
or ecx, eax
mov ebx, eax
mov r11, qword [rbp + 0x340]
or ebx, r11d
not ebx
lea ebx, [rbx + rbx*2]
mov esi, eax
xor esi, r11d
sub esi, ecx
mov ecx, eax
not ecx
add ecx, ecx
sub ecx, r11d
add esi, ebx
xor esi, ecx
lea ecx, [rdi + rdx]
mov ebx, edi
xor ebx, edx
sub ecx, ebx
mov r10d, edi
and r10d, edx
add r10d, r10d
xor r10d, ecx
xor edx, r10d
xor edx, esi
xor edx, 0xf4b7716d
mov rcx, qword [rbp + 0x38]
mov dword [rcx], edx
lea ecx, [rdx + rax]
mov esi, edx
xor esi, eax
sub ecx, esi
and edx, eax
add edx, edx
xor edx, ecx
mov rbx, qword [rbp + 0x348]
lea ecx, [rdi + rbx]
mov esi, edi
xor esi, ebx
sub ecx, esi
mov r9d, r8d
neg r9d
and edi, ebx
mov esi, edx
xor esi, 0xc160bcf4
add edi, edi
xor edi, ecx
xor edi, 0x342945ae
add edi, esi
and edi, r9d
mov ecx, edx
not ecx
or ecx, r14d
mov esi, r14d
or esi, edx
mov ebx, r14d
not ebx
add ebx, ebx
sub ebx, edx
xor edx, r14d
sub edx, ecx
not esi
lea ecx, [rsi + rsi*2]
add edx, ecx
xor edx, ebx
lea ecx, [r10 + r15]
mov ebx, r10d
xor ebx, r15d
sub ecx, ebx
and r10d, r15d
add r10d, r10d
xor r10d, ecx
xor r10d, edx
xor r10d, 1
or r14d, 0xa7
movzx ecx, r14b
imul ecx, ecx
imul edx, ecx, 0x7835
or eax, 0x2c
movzx eax, al
imul eax, eax
imul eax, eax, 0xa351
xor ecx, ecx
cmp edx, eax
sete cl
sub r10d, ecx
mov rbx, qword [rbp + 0x350]
or ebx, edx
mov eax, edx
or eax, r12d
mov ecx, edx
not ecx
add ecx, ecx
sub ecx, r12d
xor edx, r12d
sub edx, ebx
not eax
lea eax, [rax + rax*2]
add edx, eax
xor edx, ecx
or r8d, 0x8a
imul r8d, r8d
imul eax, r8d, 0xa2d7
or r11d, 0xd2
movzx ecx, r11b
imul ecx, ecx
imul ecx, ecx, 0x8f9f
xor ebx, ebx
cmp eax, ecx
mov rax, qword [rbp + 0x30]
mov dword [rax], edi
sete bl
neg ebx
xor ebx, 0xdff5c852
lea eax, [rdx + rbx]
add eax, 0x35058e2e
xor edx, edx
div r10d
cmp eax, 0x14fb567f
jg 0x413470
cmp eax, 0x82ed747a
je 0x40fe7c
cmp eax, 0x9425e2b3
je 0x40cd86
call qword [rbx]
mov rsp, rbp
loope 0x41347e
or edi, dword [0x153c8af5]
cmp eax, 0x14fb5680
je 0x40d515
cmp eax, 0x215d64a6
jne 0x413468
pop rbp
and dword [rbp - 0x1a], esi
mov rax, qword [rbp + 0x48]
mov ebx, dword [rax]
mov ecx, ebx
not ecx
or ecx, 0xa021040
and ecx, 0xa061440
mov edx, ebx
and edx, 0x40400
lea ecx, [rdx + rcx]
add ecx, 0x1010104
mov edx, ecx
xor edx, 0xb071544
xor ecx, 0x1bae98a8
mov eax, ebx
or eax, 0x72
movzx eax, al
imul eax, eax
imul eax, eax, 0x5315
xor edi, edi
cmp eax, 0x7f45bb4
sete dil
sub ecx, edi
add ecx, 0x3b6c2098
and ecx, ebx
mov rax, qword [rbp + 0x50]
xor ecx, dword [rax]
lea eax, [rcx + rdx]
mov edi, ecx
xor edi, edx
sub eax, edi
mov r13, qword [rbp + 0x328]
mov dword [r13], ecx
and ecx, edx
add ecx, ecx
xor ecx, eax
movabs rax, 0x209fff224dceca96
mov rdi, rax
add eax, ecx
or ebx, 0x8b
movzx edx, bl
imul edx, edx
imul edx, edx, 0x6217
or ecx, 0xfb
movzx ecx, cl
imul ecx, ecx
imul ecx, ecx, 0x3f3d
xor ebx, ebx
cmp edx, ecx
sete bl
lea ecx, [rdi + 0x10c4ec]
xor ecx, eax
neg ebx
xor ebx, ecx
mov r8, qword [rbp + 0x318]
mov dword [r8], ebx
mov rax, qword [rbp + 0x260]
mov rax, qword [rax]
mov rcx, qword [rbp + 0x58]
mov ecx, dword [rcx]
mov rdx, qword [rbp + 0x1b8]
mov dword [rdx], ecx
mov rcx, qword [rbp + 0x1c0]
mov qword [rcx], rax
jmp 0x41147a
mov rax, qword [rbp + 0x2b0]
mov rax, qword [rax]
mov rcx, qword [rbp + 0x90]
mov qword [rcx], rax
mov rax, qword [rbp + 0x2a8]
mov rax, qword [rax]
mov rcx, qword [rbp + 0xf0]
mov qword [rcx], rax
mov rax, qword [rbp + 0x2a0]
mov rax, qword [rax]
mov rcx, qword [rbp + 0xe8]
mov qword [rcx], rax
mov rbx, qword [rcx]
mov rdx, qword [rbp + 0x108]
mov qword [rdx], rbx
mov rax, qword [rcx]
movsxd rdi, dword [rax + 0x3c]
mov rdx, qword [rdx]
sub rsp, 0x20
mov rcx, rdi
call fcn.00416860
add rsp, 0x20
mov rcx, qword [rbp + 0x88]
mov qword [rcx], rax
lea ecx, [rbx + rdi]
mov eax, ebx
xor eax, edi
sub ecx, eax
mov eax, ebx
and eax, edi
add eax, eax
xor eax, ecx
mov rcx, qword [rbp + 0x340]
lea edi, [rcx + r14]
mov edx, ecx
xor edx, r14d
sub edi, edx
and ecx, r14d
add ecx, ecx
xor ecx, edi
add ecx, 0x15d223f
mov rdi, qword [rbp + 0x320]
lea r8d, [rbx + rdi]
mov edx, ebx
xor edx, edi
sub r8d, edx
and ebx, edi
add ebx, ebx
xor ebx, r8d
xor ebx, eax
xor ebx, ecx
xor ebx, 0x15d223e
mov rax, qword [rbp + 0x348]
or eax, 0x6a
movzx eax, al
imul eax, eax
imul eax, eax, 0xf079
or esi, 0x15
movzx ecx, sil
imul ecx, ecx
imul ecx, ecx, 0xb65
xor edx, edx
cmp eax, ecx
sete dl
mov ecx, 0xdeb1adee
sub ecx, edx
mov rax, qword [rbp + 0x338]
or eax, 0x74
movzx eax, al
imul eax, eax
imul edx, eax, 0x7f19
mov eax, ebx
or eax, 0x17
movzx eax, al
imul eax, eax
imul edi, eax, 0x586d
xor eax, eax
cmp edx, edi
sete al
xor eax, 0xe64faa37
xor eax, ecx
xor edx, edx
div ebx
cmp eax, 0x1ea6d21f
jg 0x4136cc
cmp eax, 0x8d05bd33
je 0x411777
cmp eax, 0xe1a6fadc
je 0x40db7e
cmp eax, 0x2912bcd
je 0x40f068
jmp 0x4136f4
cmp eax, 0x1ea6d220
je 0x41187f
cmp eax, 0x38fe07d9
mov r13, qword [rbp + 0x328]
je 0x40fe7c
cmp eax, 0x4dc19867
je 0x411c8e
xor rsp, r11
xor rsp, r11
mov rsp, rbp
mov rsp, rbp
lea rdx, [rbp - 4]
lea rdx, [rbp - 4]
loop 0x413719
or ecx, dword [rax - 0x75]
test dword [rax + 0x44000002], edx
mov edi, dword [rax]
mov rax, qword [rbp + 0x290]
mov r15d, dword [rax]
mov rax, qword [rbp + 0x240]
mov dword [rax], r15d
add al, byte [rax]
add byte [rcx + rcx*4 + 0x38], al
mov rax, qword [rbp + 0x288]
mov ecx, dword [rax]
mov qword [rbp + 0x350], rcx
mov eax, r15d
or eax, 0x86
movzx eax, al
imul eax, eax
imul eax, eax, 0x577
mov r12, rsi
mov rdx, qword [rbp + 0x320]
mov ebx, edx
or ebx, 0xde
movzx edx, bl
imul edx, edx
imul edx, edx, 0x57b5
mov dword [rbp + 0x340], edx
xor ebx, ebx
cmp eax, edx
sete bl
mov rdx, qword [rbp + 0x338]
mov eax, edx
not eax
or eax, r15d
mov edi, r15d
or edi, edx
not edi
lea edi, [rdi + rdi*2]
mov esi, r15d
not esi
add esi, esi
sub esi, edx
xor edx, r15d
sub edx, eax
add edx, edi
xor edx, esi
sub rdx, rbx
mov eax, 0xffffffff
add rdx, rax
sub rsp, 0x20
mov rsi, r10
call fcn.00416860
add rsp, 0x20
mov rcx, qword [rbp + 0x1d8]
mov dword [rcx], eax
mov rdi, qword [rbp + 0x348]
lea ecx, [rdi + r15]
mov edx, edi
xor edx, r15d
sub ecx, edx
and edi, r15d
add edi, edi
xor edi, ecx
movabs rcx, 0x6d027c4dc8554ef5
add rcx, rdi
or esi, 0x80
movzx edx, sil
imul edx, edx
imul edx, edx, 0x8af1
or edi, 0xc0
movzx edi, dil
imul edi, edi
imul edi, edi, 0x7907
xor esi, esi
cmp edx, edi
sete sil
movabs rdx, 0x6d027c4d37aab10a
sub rdx, rsi
xor rdx, rcx
and rdx, rax
mov rcx, qword [rbp + 0x118]
mov qword [rcx], rdx
mov rax, qword [rbp + 0x128]
mov rax, qword [rax]
mov rcx, qword [rcx]
mov ecx, dword [rax + rcx*4]
mov rax, qword [rbp + 0x268]
mov rdx, qword [rax]
sub rsp, 0x20
call fcn.00416860
add rsp, 0x20
mov rcx, qword [rbp + 0x278]
mov qword [rcx], rax
mov edx, dword [rbp + 0x340]
mov eax, edx
not eax
or eax, r14d
mov ecx, r14d
or ecx, edx
mov ebx, edx
not ecx
lea ecx, [rcx + rcx*2]
mov edx, r14d
not edx
add edx, edx
sub edx, ebx
xor r14d, ebx
sub r14d, eax
add r14d, ecx
xor r14d, edx
xor r14d, 0x2296ad0
mov rdx, qword [rbp + 0x330]
lea eax, [r12 + rdx]
mov ecx, r12d
xor ecx, edx
sub eax, ecx
and r12d, edx
add r12d, r12d
xor r12d, eax
xor r12d, 0xeadf93ce
add r12d, r14d
mov rax, qword [rbp + 0x350]
or eax, 0x4a
movzx eax, al
imul eax, eax
imul ecx, eax, 0x82fd
mov rax, qword [rbp + 0x320]
or eax, 0xce
movzx eax, al
imul eax, eax
imul edx, eax, 0x79c9
xor eax, eax
cmp ecx, edx
sete al
neg eax
or eax, r12d
cmp eax, 0xf10befc1
jg 0x413b88
cmp eax, 0xa2bba1e9
je 0x4112cf
cmp eax, 0xb342a3de
je 0x412cbc
cmp eax, 0xed08fe9e
jne 0x413bbd
mov rax, qword [rbp + 0x278]
mov rax, qword [rax]
movzx r14d, word [rax]
lea ecx, [r14 + rax]
mov edx, r14d
xor edx, eax
sub ecx, edx
mov edx, r14d
and edx, eax
add edx, edx
xor edx, ecx
lea ebx, [r14 + rdx]
mov ecx, r14d
xor ecx, edx
sub ebx, ecx
mov r13d, r14d
and r13d, edx
add r13d, r13d
xor r13d, ebx
lea ebx, [r13 - 0x3ea71d6b]
xor ebx, edx
xor ebx, 0x95cf
xor r9d, r9d
cmp r14w, bx
sete r9b
mov rcx, qword [rbp + 0x310]
mov r10d, dword [rcx]
lea edx, [r9 + 0x7e]
imul edx, edx
imul r8d, edx, 0xbd0d
mov edx, eax
or edx, 0x9e
movzx edx, dl
imul edx, edx
imul ebx, edx, 0x5a7
xor r11d, r11d
cmp r8d, ebx
sete r11b
lea edi, [rax + r10]
mov esi, eax
xor esi, r10d
sub edi, esi
and eax, r10d
add eax, eax
xor eax, edi
mov esi, r11d
neg esi
mov r12d, eax
xor r12d, r10d
xor r12d, esi
or ebx, 0x90
movzx ebx, bl
imul ebx, ebx
imul ebx, ebx, 0xce2f
mov edx, r10d
or edx, 0xe
movzx edx, dl
imul edx, edx
imul r15d, edx, 0x1dd7
xor edx, edx
cmp ebx, r15d
sete dl
mov edi, r15d
xor edi, ebx
lea ecx, [r15 + rbx]
sub ecx, edi
neg edx
and ebx, r15d
add ebx, ebx
xor ebx, ecx
add ebx, 0xed6744d8
xor ebx, edx
xor ebx, 0x17a2380a
mov qword [rbp + 0x350], r9
mov ecx, r9d
sub ecx, r11d
mov edx, esi
xor edx, r9d
sub ecx, edx
and esi, r9d
add esi, esi
xor esi, ecx
and esi, ebx
xor r12d, esi
mov ecx, esi
not ecx
or ecx, r15d
mov edx, r15d
or edx, esi
not edx
lea edx, [rdx + rdx*2]
mov r11d, r15d
not r11d
lea edi, [r11 + r11]
sub edi, esi
xor esi, r15d
sub esi, ecx
add esi, edx
xor esi, edi
mov ecx, r14d
not ecx
or ecx, eax
mov edx, eax
or edx, r14d
not edx
lea edx, [rdx + rdx*2]
mov edi, eax
not edi
add edi, edi
sub edi, r14d
xor eax, r14d
sub eax, ecx
add eax, edx
xor eax, edi
mov ecx, eax
mov dword [rbp + 0x348], eax
not ecx
or ecx, r8d
mov edi, r8d
or edi, eax
mov ebx, r8d
not ebx
add ebx, ebx
sub ebx, eax
xor eax, r8d
mov r8d, r12d
xor r8d, 0x329112de
sub eax, ecx
mov ecx, r8d
or ecx, r10d
xor r12d, 0x4d6eed21
add r12d, r12d
sub r12d, r10d
not edi
lea edi, [rdi + rdi*2]
add eax, edi
mov edx, r8d
xor edx, r10d
xor eax, ebx
mov edi, eax
xor edi, r10d
lea r14d, [rax + 0x4e90587d]
lea r9d, [rax + r10]
and eax, r10d
mov ebx, r10d
not ebx
or ebx, r8d
sub edx, ebx
not ecx
lea ecx, [rcx + rcx*2]
add edx, ecx
xor edx, r12d
mov rcx, qword [rbp + 0x350]
neg ecx
xor esi, 0x671990b7
xor edx, 0x4bd83e53
add edx, esi
and edx, ecx
or r11d, r13d
mov ecx, r13d
or ecx, r15d
mov ebx, r13d
not ebx
add ebx, ebx
sub ebx, r15d
xor r13d, r15d
sub r13d, r11d
not ecx
lea ecx, [rcx + rcx*2]
add r13d, ecx
xor r13d, ebx
mov ecx, dword [rbp + 0x348]
xor ecx, 0x4bb5ede0
xor r13d, 0xcc9409f4
add r13d, ecx
xor r13d, r8d
xor r13d, edx
mov rcx, qword [rbp + 0x328]
mov dword [rcx], r13d
mov r13, rcx
sub r9d, edi
add eax, eax
xor eax, r9d
xor eax, 0xf953f9a4
imul eax, r14d
mov r8, qword [rbp + 0x318]
mov dword [r8], eax
mov rax, qword [rbp + 0x240]
mov eax, dword [rax]
mov rcx, qword [rbp + 0x248]
jmp 0x411478
cmp eax, 0xcda0306
jg 0x413ba7
cmp eax, 0xf10befc2
je 0x40e6d3
cmp eax, 0xf609dcc8
je 0x40dca8
jmp 0x413bbd
cmp eax, 0xcda0307
je 0x410bf6
cmp eax, 0x1bd201a1
je 0x41187f
lea rdx, [rbp - 4]
add rsp, qword [0x1c]
pop rbp
ret
mov rax, qword [rbp + 0x148]
mov eax, dword [rax]
mov r13, qword [rbp + 0x328]
mov dword [r13], eax
mov ecx, eax
or ecx, 0xe4
movzx ecx, cl
imul ecx, ecx
imul ecx, ecx, 0x5639
xor edx, edx
cmp ecx, 0x21c0adc7
sete dl
mov ecx, 0x114514
sub ecx, edx
mov r8, qword [rbp + 0x318]
mov dword [r8], ecx
mov rcx, qword [rbp + 0x1e8]
mov dword [rcx], 0x1f3
mov ecx, eax
not ecx
lea ebx, [rcx + rcx*2]
mov edi, 0xfffffffe
sub edi, eax
sub eax, ecx
add eax, ebx
xor eax, edi
add eax, 0x1cae8743
neg edx
or edx, 0xf2
movzx ecx, dl
imul ecx, ecx
imul ecx, ecx, 0xb069
xor edx, edx
cmp ecx, 0x1b69159
sete dl
neg edx
xor edx, eax
xor edx, 0x1cae86b7
mov rax, qword [rbp + 0x1f0]
mov dword [rax], edx
jmp 0x41147a
cmp eax, 0xf32e98de
je 0x40fd2d
cmp eax, 0xfabc5844
je 0x40f068
call qword [rbx]
lea rdx, [rbp - 4]
call qword [rbx]
add rsp, qword [4]
pop rbp
ret
mov eax, r10d
not eax
mov r11, qword [rbp + 0x320]
or eax, r11d
mov ecx, r11d
or ecx, r10d
not ecx
lea ecx, [rcx + rcx*2]
mov edx, r11d
not edx
add edx, edx
sub edx, r10d
mov ebx, r11d
xor ebx, r10d
sub ebx, eax
add ebx, ecx
xor ebx, edx
mov r14, qword [rbp + 0x338]
lea eax, [r14 + rbx]
mov ecx, r14d
xor ecx, ebx
sub eax, ecx
mov ecx, r14d
and ecx, ebx
add ecx, ecx
xor ecx, eax
lea eax, [rcx + rbx]
add eax, 0x1f4
mov dword [0x0041d040], eax
mov rax, qword [rbp + 0x310]
mov r12d, dword [rax]
mov rax, qword [rbp + 0x350]
lea edx, [rax + r12]
mov ebx, eax
xor ebx, r12d
sub edx, ebx
and eax, r12d
add eax, eax
xor eax, edx
mov rdi, qword [rbp + 0x308]
lea edx, [rax + rdi]
mov ebx, eax
xor ebx, edi
sub edx, ebx
and edi, eax
add edi, edi
xor edi, edx
add edi, 0x72a530d7
mov r9d, eax
xor r9d, r12d
xor r9d, edi
mov r15, qword [rbp + 0x330]
mov edx, r15d
or edx, 0x56
movzx edx, dl
imul edx, edx
imul edx, edx, 0x2e85
or ecx, 0x1e
movzx ecx, cl
imul ecx, ecx
imul r8d, ecx, 0x83a7
xor esi, esi
cmp edx, r8d
sete sil
neg esi
mov r13, qword [rbp + 0x348]
mov edx, r13d
or edx, 0xd8
movzx edx, dl
imul edx, edx
imul edx, edx, 0x63c5
or eax, 0xf4
movzx edi, al
imul edi, edi
imul ecx, edi, 0x9e27
xor edi, edi
cmp edx, ecx
sete dil
lea ecx, [rdx + r13]
mov ebx, r13d
xor ebx, edx
sub ecx, ebx
and r13d, edx
add r13d, r13d
xor r13d, ecx
mov ecx, r8d
sub ecx, edi
neg edi
mov edx, r13d
xor edx, edi
xor edx, 0x158bc9c2
and edx, esi
xor edx, r9d
xor edx, 0x117834bb
mov ebx, edi
xor ebx, r8d
sub ecx, ebx
and edi, r8d
add edi, edi
xor edi, ecx
lea ecx, [r14 + r13]
mov ebx, r13d
xor ebx, r14d
sub ecx, ebx
mov esi, r13d
and esi, r14d
add esi, esi
xor esi, ecx
mov ecx, esi
xor ecx, 0xd01e3cc3
lea r9d, [rdi + rcx]
add r9d, 0xabe30a79
xor r9d, edx
mov ecx, edx
or ecx, 0xf7
movzx ecx, cl
imul ecx, ecx
imul ecx, ecx, 0x46b1
or r14d, 0x9a
movzx edi, r14b
imul edi, edi
imul edi, edi, 0xd745
xor ebx, ebx
cmp ecx, edi
sete bl
xor ebx, 0x63a35c7f
or esi, 0xe
movzx ecx, sil
imul ecx, ecx
imul ecx, ecx, 0x853
or edx, 0x83
movzx edx, dl
imul edx, edx
imul edx, edx, 0x3565
xor edi, edi
cmp ecx, edx
sete dil
xor edi, 0xc2d0637f
imul edi, ebx
or r8d, 0x6e
movzx ecx, r8b
imul ecx, ecx
imul edx, ecx, 0xbc03
or r11d, 0xfd
movzx ecx, r11b
imul ecx, ecx
imul ebx, ecx, 0xdd57
xor ecx, ecx
cmp edx, ebx
mov rdx, qword [rbp + 0x148]
mov dword [rdx], r9d
sete cl
neg ecx
xor ecx, edi
lea edx, [r15 + r13]
mov ebx, r13d
xor ebx, r15d
sub edx, ebx
and r13d, r15d
add r13d, r13d
xor r13d, edx
lea edx, [r12 + r10]
mov ebx, r12d
xor ebx, r10d
sub edx, ebx
and r12d, r10d
add r12d, r12d
xor r12d, edx
add r13d, 0xbc7ea166
add r12d, 0x97537108
xor r12d, r13d
imul r12d, ecx
cmp r12d, 0x1264eb3c
je 0x41187f
cmp r12d, 0x2b2dd06e
je 0x413bce
call qword [rbx]
xor rsp, r11
xor rsp, r11
mov rsp, rbp
call qword [rbx]
loopne 0x413f28
or edi, dword [0x587ebd0f]
cmp eax, 0x583d7df0
je 0x41187f
cmp eax, 0x694ca996
je 0x40db7e
imul r9, qword [rdi], 0xffffffffff9c4e84
invalid
cmp eax, 0x7fd094d1
je 0x40fd2d
lea rdx, [rbp - 4]
xor rsp, r11
mov rsp, rbp
popfq
add rsp, qword [0xc]
pop rbp
ret
cmp eax, 0xbc8c20dd
je 0x40dca8
cmp eax, 0xf35bba34
je 0x40f609
cmp eax, 0x53a6bb52
je 0x411c8e
lea rdx, [rbp - 4]
xor rsp, r11
mov rsp, rbp
popfq
ret 0xb0f