Function at 0x401530
Capabilities:
Authenticate hmac

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x2a8
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0x210], xmm6
mov qword [rbp + 0x98], r8
mov r8, rdx
mov qword [rbp - 8], rcx
mov edi, dword [rbp + 0x290]
lea eax, [rdi + r9]
mov ecx, edi
xor ecx, r9d
mov dword [rbp + 0x170], ecx
sub eax, ecx
mov r12d, edi
and r12d, r9d
add r12d, r12d
mov dword [rbp + 0xd0], eax
xor r12d, eax
mov ecx, edi
not ecx
mov eax, r12d
or eax, ecx
mov rdx, rcx
mov qword [rbp + 0x1c8], rcx
mov ecx, r12d
xor ecx, edi
sub ecx, eax
mov eax, r12d
or eax, edi
not eax
lea eax, [rax + rax*2]
add ecx, eax
mov eax, r12d
not eax
add eax, eax
sub eax, edi
xor ecx, eax
lea eax, [rcx + 0x13a36bc8]
mov rsi, rcx
xor eax, r12d
xor eax, 0x13a36bc9
lea rax, [rax*8 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0x30], rsp
mov eax, r8d
not eax
or eax, edi
mov ecx, edi
or ecx, r8d
not ecx
lea ecx, [rcx + rcx*2]
add edx, edx
mov dword [rbp + 0x1c4], edx
sub edx, r8d
xor edi, r8d
sub edi, eax
add edi, ecx
xor edi, edx
mov eax, edi
xor eax, 0x4ccd844b
lea ecx, [r12 + r9]
mov edx, r12d
xor edx, r9d
sub ecx, edx
mov edx, r12d
and edx, r9d
add edx, edx
xor edx, ecx
lea ecx, [rdx - 0x2d2ada9d]
mov r13, rdx
mov qword [rbp - 0x78], rdx
imul ecx, eax
lea rax, [rcx*8 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0x38], rsp
lea eax, [rsi + r8]
mov ecx, esi
xor ecx, r8d
sub eax, ecx
mov ecx, esi
and ecx, r8d
mov rbx, r8
mov qword [rbp + 0x1e8], r8
add ecx, ecx
xor ecx, eax
mov eax, ecx
mov r11, rcx
xor eax, 0xdb276efd
lea ecx, [rsi + rdi]
mov edx, esi
xor edx, edi
sub ecx, edx
and esi, edi
add esi, esi
xor esi, ecx
lea ecx, [rsi + 0x5b889e55]
mov r15, rsi
imul ecx, eax
lea rax, [rcx*8 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.004181d0
sub rsp, rax
mov qword [rbp], rsp
mov eax, edi
or eax, 0x81
movzx eax, al
imul eax, eax
imul r14d, eax, 0x39a1
mov eax, r12d
or eax, 0xbb
movzx eax, al
imul eax, eax
imul r10d, eax, 0x8015
xor r8d, r8d
cmp r14d, r10d
sete r8b
mov eax, 0x78ed5014
sub eax, r8d
mov ecx, ebx
or ecx, 9
movzx ecx, cl
imul ecx, ecx
imul esi, ecx, 0xb52d
mov qword [rbp + 0x48], rsi
mov ecx, r13d
or ecx, 0x3f
movzx ecx, cl
imul ecx, ecx
imul ecx, ecx, 0x67cd
mov dword [rbp + 0x1f8], ecx
xor edx, edx
cmp esi, ecx
sete dl
mov ecx, edx
xor ecx, 0x78ed5015
xor ecx, eax
lea eax, [rcx*4 + 0xf]
and eax, 0xfffffff0
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0x70], rsp
mov qword [rbp + 0x200], r9
mov qword [rbp + 0x1d0], rdi
lea eax, [r9 + rdi]
mov ecx, r9d
xor ecx, edi
sub eax, ecx
mov r13d, r9d
and r13d, edi
add r13d, r13d
xor r13d, eax
mov rcx, rdx
neg edx
lea eax, [rcx - 1]
mov rbx, rcx
mov qword [rbp - 0x60], rcx
or eax, r14d
mov ecx, r14d
or ecx, edx
mov rdi, rdx
mov qword [rbp + 0x178], rdx
not ecx
lea ecx, [rcx + rcx*2]
mov edx, r14d
not edx
lea edx, [rbx + rdx*2]
mov ebx, r14d
xor ebx, edi
sub ebx, eax
add ebx, ecx
xor ebx, edx
mov qword [rbp + 0x188], rbx
lea eax, [rbx - 0x3884e92e]
xor eax, r13d
xor eax, 0xc77b16d3
lea rax, [rax*4 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0x78], rsp
mov edx, r8d
neg edx
lea esi, [r8 - 1]
mov qword [rbp + 0x208], r15
mov eax, r15d
or eax, esi
mov dword [rbp + 0x100], esi
mov ecx, r15d
or ecx, edx
mov ebx, edx
not ecx
lea ecx, [rcx + rcx*2]
mov edx, r15d
not edx
mov qword [rbp + 0x1e0], rdx
lea edx, [r8 + rdx*2]
mov qword [rbp + 0xf8], r8
mov edi, r15d
xor edi, ebx
sub edi, eax
add edi, ecx
xor edi, edx
mov qword [rbp + 0x190], rdi
mov qword [rbp + 0x1f0], r11
lea eax, [r11 + r15]
mov ecx, r11d
xor ecx, r15d
sub eax, ecx
and r11d, r15d
add r11d, r11d
xor r11d, eax
lea eax, [r11 - 0x5f9ee8ca]
xor eax, edi
xor eax, 0xa0611737
lea rax, [rax*4 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0x10], rsp
mov eax, dword [rbp + 0x1f8]
or eax, 0x9b
movzx eax, al
imul eax, eax
imul ecx, eax, 0xe135
or r10d, 0x48
movzx eax, r10b
imul eax, eax
imul r9d, eax, 0xe279
xor eax, eax
cmp ecx, r9d
mov r15, rcx
sete al
mov rdi, rax
mov qword [rbp + 0x1d8], rax
mov eax, r13d
or eax, esi
mov esi, r13d
mov dword [rbp + 0x148], ebx
or esi, ebx
not esi
lea esi, [rsi + rsi*2]
mov ecx, r13d
not ecx
mov qword [rbp + 0x138], rcx
lea ecx, [r8 + rcx*2]
mov edx, r13d
xor edx, ebx
sub edx, eax
add edx, esi
xor edx, ecx
mov eax, edi
neg eax
mov qword [rbp + 0x198], rax
xor eax, edx
xor eax, 1
lea rax, [rax*4 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0x18], rsp
mov r10, qword [rbp + 0x1d0]
lea eax, [r10 + r14]
mov ecx, r10d
xor ecx, r14d
sub eax, ecx
and r14d, r10d
add r14d, r14d
xor r14d, eax
lea eax, [r14 - 0x26456453]
mov ecx, edx
mov dword [rbp + 0x180], edx
mov edi, edx
not edi
or edi, r11d
mov edx, r11d
or edx, ecx
not edx
lea edx, [rdx + rdx*2]
mov esi, r11d
not esi
add esi, esi
sub esi, ecx
mov ebx, r11d
xor ebx, ecx
sub ebx, edi
add ebx, edx
xor ebx, esi
mov qword [rbp + 0x40], rbx
lea ecx, [rbx - 0x26456454]
xor ecx, eax
lea rax, [rcx*8 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0x20], rsp
or r9d, 0x25
movzx eax, r9b
imul eax, eax
imul ecx, eax, 0xe837
mov qword [rbp + 0x128], rcx
mov eax, dword [rbp + 0x1f8]
or eax, 0xe6
movzx eax, al
imul eax, eax
imul ebx, eax, 0x7e71
xor eax, eax
cmp ecx, ebx
sete al
mov qword [rbp + 0x108], rax
mov ecx, eax
neg ecx
mov dword [rbp + 0x174], ecx
mov eax, ecx
xor eax, 0x6173fd1b
mov r9, qword [rbp + 0x1f0]
mov ecx, r9d
or ecx, 0xef
movzx ecx, cl
imul ecx, ecx
imul edx, ecx, 0x3d97
mov dword [rbp + 0xd4], edx
or r11d, 0x47
movzx ecx, r11b
imul ecx, ecx
imul edi, ecx, 0xdfc7
xor ecx, ecx
cmp edx, edi
sete cl
neg ecx
xor ecx, 0xf31513
imul ecx, eax
lea rax, [rcx*4 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0x28], rsp
mov rdx, rbx
mov qword [rbp + 0x118], rbx
mov rbx, qword [rbp + 0x1e0]
or ebx, edx
mov eax, edx
mov r8, qword [rbp + 0x208]
or eax, r8d
not eax
lea eax, [rax + rax*2]
mov ecx, edx
not ecx
add ecx, ecx
sub ecx, r8d
xor edx, r8d
sub edx, ebx
add edx, eax
xor edx, ecx
mov rbx, rdx
mov qword [rbp + 0x158], rdx
mov rdx, qword [rbp + 0x188]
lea eax, [rdx + r12]
mov ecx, edx
xor ecx, r12d
sub eax, ecx
and r12d, edx
add r12d, r12d
xor r12d, eax
mov qword [rbp + 0x1a0], r12
lea eax, [r12 - 0x47676a72]
xor eax, ebx
xor eax, 0xb898958f
lea rax, [rax*4 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0xb8], rsp
or r14d, 0xc4
movzx eax, r14b
imul eax, eax
imul edx, eax, 0x71cb
mov qword [rbp + 0x1e0], rdx
mov rax, qword [rbp + 0x178]
or eax, 0x1a
movzx eax, al
imul eax, eax
imul ecx, eax, 0xf56b
mov qword [rbp + 0x50], rcx
xor eax, eax
cmp edx, ecx
sete al
mov qword [rbp + 0x1b0], rax
neg eax
mov dword [rbp + 0x140], eax
xor eax, 0x32ec131b
mov ecx, r13d
or ecx, 0xc2
movzx ecx, cl
imul ecx, ecx
imul edx, ecx, 0xbfd5
mov qword [rbp + 0x130], rdx
mov r14, qword [rbp + 0x48]
mov ecx, r14d
or ecx, 0x57
movzx ecx, cl
imul ecx, ecx
imul ebx, ecx, 0x6403
mov dword [rbp + 0x160], ebx
xor ecx, ecx
cmp edx, ebx
sete cl
mov qword [rbp - 0x40], rcx
sub eax, ecx
add eax, 0xcd13ece6
lea rax, [rax*4 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0xc0], rsp
mov r12d, dword [rbp + 0x290]
lea eax, [r14 + r12]
mov ecx, r14d
xor ecx, r12d
sub eax, ecx
and r14d, r12d
mov r11, r12
add r14d, r14d
xor r14d, eax
mov qword [rbp + 0x1b8], r14
mov eax, r14d
xor eax, 0xc1f6a4db
mov r14, r15
mov ecx, r14d
or ecx, 0xf9
movzx ecx, cl
imul ecx, ecx
imul edx, ecx, 0xa553
mov dword [rbp + 0x1a8], edx
mov ecx, r8d
or ecx, 0xdd
movzx ecx, cl
imul ecx, ecx
imul r10d, ecx, 0x5ad
xor ecx, ecx
cmp edx, r10d
sete cl
mov qword [rbp - 0x70], rcx
sub eax, ecx
add eax, 0x3e095b26
lea rax, [rax*4 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0x80], rsp
mov rdx, qword [rbp + 0x198]
mov eax, edx
or eax, dword [rbp + 0x138]
mov ecx, edx
mov r12, rdx
or ecx, r13d
not ecx
lea esi, [rcx + rcx*2]
mov rcx, qword [rbp + 0x1d8]
lea ebx, [rcx + rcx]
add ebx, 0xfffffffe
sub ebx, r13d
xor r12d, r13d
sub r12d, eax
add r12d, esi
xor r12d, ebx
lea eax, [r12 - 0x3f2ae277]
mov edx, r9d
or edx, 0x78
movzx edx, dl
imul edx, edx
imul r15d, edx, 0x86f5
mov ebx, r11d
or ebx, 0x62
movzx ebx, bl
imul ebx, ebx
imul edx, ebx, 0x14e3
xor r8d, r8d
cmp r15d, edx
sete r8b
mov r11d, r8d
neg r11d
mov esi, r11d
xor esi, 0x308e68b9
imul esi, eax
lea eax, [rcx - 1]
mov dword [rbp + 0xf0], eax
lea rax, [rsi*4 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0x88], rsp
mov qword [rbp - 0x48], r10
mov rbx, r14
mov qword [rbp + 0x120], r14
lea eax, [r10 + r14]
mov esi, r10d
xor esi, ebx
sub eax, esi
mov r9d, r10d
and r9d, ebx
add r9d, r9d
xor r9d, eax
mov eax, r9d
xor eax, 0xb8444304
mov rbx, qword [rbp + 0x158]
mov esi, ebx
or esi, 0xd0
movzx esi, sil
imul esi, esi
imul r10d, esi, 0xc205
mov dword [rbp + 0x110], r10d
mov rbx, qword [rbp + 0x178]
mov esi, ebx
or esi, 0xe5
movzx esi, sil
imul esi, esi
imul ebx, esi, 0x685
mov qword [rbp - 0x58], rbx
xor esi, esi
cmp r10d, ebx
sete sil
sub eax, esi
add eax, 0x47bbbcfd
add rax, 0xf
and rax, 0xfffffffffffffff0
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0x90], rsp
mov qword [rbp - 0x68], rdx
mov eax, edx
not eax
or eax, r11d
mov ebx, r11d
or ebx, edx
not ebx
lea ebx, [rbx + rbx*2]
mov qword [rbp + 0xe8], r8
mov esi, r8d
add esi, 0xffffffff
mov dword [rbp + 0x16c], esi
lea esi, [r8 + r8]
add esi, 0xfffffffe
sub esi, edx
mov r14d, r11d
mov r10, r11
xor r14d, edx
sub r14d, eax
add r14d, ebx
xor r14d, esi
mov rax, qword [rbp + 0x208]
or eax, 0xcd
movzx eax, al
imul eax, eax
imul edx, eax, 0xde3b
mov qword [rbp + 0x150], rdx
mov eax, edi
or eax, 0x86
movzx eax, al
imul eax, eax
imul r11d, eax, 0x2c35
xor eax, eax
cmp edx, r11d
sete al
neg eax
xor eax, 0xd39fa12d
lea eax, [r14 + rax]
add eax, 0x2c605ed4
add rax, 0xf
and rax, 0xfffffffffffffff0
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 8], rsp
mov rdx, qword [rbp + 0x138]
or edx, r9d
mov eax, r9d
or eax, r13d
not eax
lea eax, [rax + rax*2]
mov esi, r9d
not esi
add esi, esi
sub esi, r13d
xor r9d, r13d
sub r9d, edx
add r9d, eax
xor r9d, esi
mov dword [rbp + 0xd8], r9d
xor r9d, 0xad3d58c9
mov rdx, qword [rbp + 0x1a0]
mov r8d, dword [rbp + 0xf0]
or r8d, edx
mov esi, edx
mov rcx, qword [rbp + 0x198]
or esi, ecx
not esi
lea r13d, [rsi + rsi*2]
mov eax, edx
not eax
mov qword [rbp - 0x20], rax
mov rbx, qword [rbp + 0x1d8]
lea esi, [rbx + rax*2]
mov ebx, edx
xor ebx, ecx
sub ebx, r8d
add ebx, r13d
xor ebx, esi
mov qword [rbp + 0x58], rbx
lea esi, [rbx + 0x67c64179]
imul esi, r9d
lea rax, [rsi*4 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0x138], rsp
lea eax, [rdi + r11]
mov esi, edi
xor esi, r11d
sub eax, esi
and edi, r11d
add edi, edi
xor edi, eax
xor edi, 0x171eea4e
mov eax, r12d
not eax
mov rcx, qword [rbp + 0x1e0]
or eax, ecx
mov ebx, ecx
or ebx, r12d
not ebx
lea ebx, [rbx + rbx*2]
mov esi, ecx
not esi
add esi, esi
sub esi, r12d
xor ecx, r12d
sub ecx, eax
add ecx, ebx
xor ecx, esi
mov eax, ecx
mov r11, rcx
xor eax, 0xe8e115b3
add eax, edi
lea rax, [rax*4 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0xf0], rsp
mov edx, dword [rbp + 0x100]
mov rsi, qword [rbp + 0x120]
or edx, esi
mov eax, esi
mov ecx, dword [rbp + 0x148]
or eax, ecx
not eax
lea eax, [rax + rax*2]
mov ebx, esi
not ebx
mov rdi, qword [rbp + 0xf8]
lea ebx, [rdi + rbx*2]
xor esi, ecx
sub esi, edx
add esi, eax
xor esi, ebx
or r12d, 0xb6
movzx eax, r12b
imul eax, eax
imul r12d, eax, 0xb53f
mov rax, qword [rbp + 0x150]
or eax, 0xe1
movzx eax, al
imul eax, eax
imul ecx, eax, 0x5585
mov qword [rbp - 0x10], rcx
xor eax, eax
cmp r12d, ecx
sete al
neg eax
lea eax, [rsi + rax]
add eax, 1
lea rax, [rax*4 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0x120], rsp
mov eax, dword [rbp + 0x180]
or eax, 0x6b
movzx eax, al
imul eax, eax
imul ecx, eax, 0xcb5
mov rax, qword [rbp + 0x1d0]
or eax, 0x19
movzx eax, al
imul eax, eax
imul edx, eax, 0x9d2d
mov qword [rbp + 0x180], rdx
xor eax, eax
cmp ecx, edx
sete al
xor eax, 0x997e9b75
mov edi, dword [rbp + 0x160]
mov edx, edi
not edx
mov dword [rbp + 0xe0], edx
mov ecx, r15d
or ecx, edx
mov edx, r15d
or edx, edi
not edx
lea edx, [rdx + rdx*2]
mov ebx, r15d
not ebx
add ebx, ebx
sub ebx, edi
xor r15d, edi
sub r15d, ecx
add r15d, edx
xor r15d, ebx
xor r15d, 0xc2871cdd
imul r15d, eax
lea rax, [r15*8 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0x60], rsp
mov qword [rbp - 0x50], r11
lea eax, [r11 + r14]
mov ecx, r11d
xor ecx, r14d
sub eax, ecx
and r11d, r14d
add r11d, r11d
xor r11d, eax
lea eax, [r11 - 0x4c728475]
mov r15, rsi
lea ecx, [r12 + rsi]
mov edx, r12d
xor edx, r15d
sub ecx, edx
and r15d, r12d
add r15d, r15d
xor r15d, ecx
lea ecx, [r15 - 0x4c728476]
xor ecx, eax
lea rax, [rcx*4 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0x68], rsp
mov rdx, qword [rbp + 0x1f0]
mov rbx, qword [rbp + 0x118]
lea eax, [rdx + rbx]
mov ecx, edx
xor ecx, ebx
sub eax, ecx
and edx, ebx
add edx, edx
xor edx, eax
mov qword [rbp + 0x1f0], rdx
mov eax, dword [rbp + 0x110]
or eax, 0x25
movzx eax, al
imul eax, eax
imul eax, eax, 0x77b9
mov rcx, qword [rbp + 0x208]
or ecx, 0x7a
movzx ecx, cl
imul ecx, ecx
imul ebx, ecx, 0x8ed3
mov qword [rbp + 0x118], rbx
xor ecx, ecx
cmp eax, ebx
sete cl
mov eax, 0x71dd9ada
sub eax, ecx
mov rbx, rcx
xor eax, edx
xor eax, 0x71dd9adb
lea rax, [rax*4 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0xf8], rsp
mov rdx, qword [rbp + 0x190]
lea eax, [r14 + rdx]
mov ecx, r14d
xor ecx, edx
sub eax, ecx
and r14d, edx
add r14d, r14d
xor r14d, eax
xor r14d, 0x37d01e59
mov ecx, ebx
neg ecx
mov esi, dword [rbp + 0x16c]
or esi, ecx
mov eax, ecx
mov rdi, rcx
mov qword [rbp - 0x30], rcx
mov r13, r10
or eax, r13d
not eax
lea eax, [rax + rax*2]
lea ecx, [rbx + rbx]
add ecx, 0xfffffffe
mov dword [rbp + 0x16c], ecx
mov qword [rbp - 0x38], rbx
mov rcx, qword [rbp + 0xe8]
lea ecx, [rcx + rbx*2]
add ecx, 0xfffffffe
xor r13d, edi
sub r13d, esi
add r13d, eax
xor r13d, ecx
lea eax, [r14 + r13]
add eax, 0xc82fe1a8
mov qword [rbp - 0x18], r13
lea rax, [rax*4 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0x100], rsp
mov rdi, qword [rbp + 0x108]
lea eax, [rdi - 1]
or eax, r15d
mov ecx, r15d
mov ebx, dword [rbp + 0x174]
or ecx, ebx
not ecx
lea ecx, [rcx + rcx*2]
mov edx, r15d
not edx
lea edx, [rdi + rdx*2]
xor r15d, ebx
sub r15d, eax
add r15d, ecx
xor r15d, edx
add r15d, 0xa08752ab
mov eax, r12d
or eax, 0x80
movzx eax, al
imul eax, eax
imul edi, eax, 0x4283
mov rax, qword [rbp + 0x1a0]
or eax, 0x7c
movzx eax, al
imul eax, eax
imul eax, eax, 0x83a7
xor r8d, r8d
cmp edi, eax
sete r8b
mov r9d, r8d
neg r9d
mov eax, r9d
xor eax, 0x3bfe1803
imul eax, r15d
lea rax, [rax*8 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0x108], rsp
mov r14, qword [rbp + 0x1b8]
mov r15d, r14d
not r15d
mov ecx, dword [rbp + 0x140]
mov esi, ecx
or esi, r15d
mov edx, ecx
or edx, r14d
not edx
lea r10d, [rdx + rdx*2]
mov rax, qword [rbp + 0x1b0]
lea ebx, [rax + rax]
add ebx, 0xfffffffe
mov dword [rbp + 0xe4], ebx
sub ebx, r14d
xor ecx, r14d
sub ecx, esi
add ecx, r10d
xor ecx, ebx
mov eax, r13d
or eax, 0x1d
movzx eax, al
imul eax, eax
imul ebx, eax, 0xffa9
mov rax, qword [rbp + 0x40]
or eax, 0x15
movzx eax, al
imul eax, eax
imul r10d, eax, 0xa6d5
xor eax, eax
cmp ebx, r10d
sete al
neg eax
xor eax, ecx
xor eax, 1
lea rax, [rax*4 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0xa8], rsp
or ebx, 0xf6
movzx eax, bl
imul eax, eax
imul edx, eax, 0x5147
mov qword [rbp + 0xe8], rdx
mov rcx, qword [rbp + 0x1e0]
mov eax, ecx
or eax, 0xd5
movzx eax, al
imul eax, eax
imul r10d, eax, 0x68ef
xor eax, eax
cmp edx, r10d
sete al
mov rbx, rax
mov qword [rbp - 0x28], rax
mov rax, qword [rbp + 0x190]
or eax, 0x57
movzx eax, al
imul eax, eax
imul edx, eax, 0x40f
mov eax, dword [rbp + 0x148]
or eax, 0x93
movzx eax, al
imul eax, eax
imul esi, eax, 0x7ead
mov dword [rbp + 0xdc], esi
xor eax, eax
cmp edx, esi
sete al
neg eax
xor eax, 0xb4e18390
sub eax, ebx
add eax, 0x4b1e7c71
add rax, 0xf
and rax, 0xfffffffffffffff0
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0xb0], rsp
mov rsi, qword [rbp + 0x150]
lea eax, [r14 + rsi]
mov edx, r14d
xor edx, esi
sub eax, edx
and esi, r14d
add esi, esi
xor esi, eax
mov r13, rsi
mov rsi, qword [rbp + 0x50]
lea eax, [rcx + rsi]
mov edx, ecx
xor edx, esi
sub eax, edx
mov edx, ecx
and edx, esi
add edx, edx
xor edx, eax
lea eax, [rdx + r13]
add eax, 1
lea rax, [rax*4 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0x208], rsp
mov esi, dword [rbp + 0x1f8]
mov eax, esi
not eax
or eax, r14d
mov edx, r14d
or edx, esi
not edx
lea edx, [rdx + rdx*2]
add r15d, r15d
sub r15d, esi
xor r14d, esi
sub r14d, eax
add r14d, edx
xor r14d, r15d
mov eax, r14d
xor eax, 0x5eb9ce65
mov rsi, qword [rbp + 0x180]
lea edx, [r14 + rsi]
mov qword [rbp + 0x1b8], r14
mov ebx, r14d
xor ebx, esi
sub edx, ebx
and esi, r14d
add esi, esi
xor esi, edx
mov qword [rbp + 0x180], rsi
mov edx, esi
xor edx, 0xa146319c
add edx, eax
lea rax, [rdx*8 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0xc8], rsp
mov eax, edi
not eax
or eax, r9d
mov edx, r9d
or edx, edi
not edx
lea edx, [rdx + rdx*2]
add r8d, r8d
sub r8d, edi
add r8d, 0xfffffffe
xor r9d, edi
sub r9d, eax
add r9d, edx
xor r9d, r8d
mov rbx, qword [rbp + 0x1e8]
mov eax, ebx
sub eax, dword [rbp + 0x1b0]
mov esi, dword [rbp + 0x140]
mov edx, esi
xor edx, ebx
sub eax, edx
mov edx, esi
mov ecx, esi
and edx, ebx
add edx, edx
xor edx, eax
xor edx, 0xdf0fbb84
lea eax, [r9 + rdx]
add eax, 0x20f0447d
lea rax, [rax*8 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0xa0], rsp
mov r14, qword [rbp - 0x10]
lea eax, [r12 + r14]
mov edx, r12d
xor edx, r14d
sub eax, edx
and r12d, r14d
add r12d, r12d
xor r12d, eax
lea eax, [r12 + 0x5124f639]
mov rsi, qword [rbp + 0x130]
lea edx, [rdi + rsi]
mov ebx, edi
xor ebx, esi
sub edx, ebx
and edi, esi
add edi, edi
xor edi, edx
add edi, 0xf38e1809
imul edi, eax
lea rax, [rdi*8 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0x130], rsp
mov edx, dword [rbp + 0x160]
mov rdi, qword [rbp - 0x20]
or edi, edx
mov eax, edx
mov ebx, edx
mov rdx, qword [rbp + 0x1a0]
or eax, edx
not eax
lea eax, [rax + rax*2]
mov esi, dword [rbp + 0xe0]
add esi, esi
sub esi, edx
xor edx, ebx
sub edx, edi
add edx, eax
xor edx, esi
mov r8, rdx
mov esi, dword [rbp + 0xd4]
mov eax, esi
not eax
mov rdi, qword [rbp + 0x178]
or eax, edi
mov edx, edi
or edx, esi
not edx
lea edx, [rdx + rdx*2]
mov rbx, qword [rbp - 0x60]
lea ebx, [rbx + rbx]
add ebx, 0xfffffffe
sub ebx, esi
xor edi, esi
sub edi, eax
add edi, edx
xor edi, ebx
lea eax, [r8 + rdi]
add eax, 1
lea rax, [rax*8 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0x148], rsp
or r10d, 0x9a
movzx eax, r10b
imul eax, eax
imul eax, eax, 0x3f5
mov r15, qword [rbp + 0x158]
mov edx, r15d
or edx, 2
movzx edx, dl
imul edx, edx
imul edx, edx, 0x913d
xor ebx, ebx
cmp eax, edx
sete bl
neg ebx
mov eax, r9d
mov rdi, qword [rbp - 0x40]
sub eax, edi
neg edi
mov edx, r9d
xor edx, edi
sub eax, edx
and edi, r9d
add edi, edi
xor edi, eax
add edi, 0x11b299cb
xor edi, ebx
xor edi, 0x11b299ca
lea rax, [rdi*4 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0x150], rsp
mov eax, ecx
or eax, 0xd5
movzx eax, al
imul eax, eax
imul eax, eax, 0xdbcd
mov edx, dword [rbp + 0x174]
or edx, 0x20
movzx edx, dl
imul edx, edx
imul ebx, edx, 0xeb09
mov dword [rbp + 0x174], ebx
xor edx, edx
cmp eax, ebx
sete dl
mov eax, 0xe3f61bb4
sub eax, edx
mov r8, qword [rbp + 0x1d0]
lea edx, [r11 + r8]
mov ebx, r11d
xor ebx, r8d
sub edx, ebx
and r11d, r8d
add r11d, r11d
xor r11d, edx
xor r11d, eax
xor r11d, 0xe3f61bb5
lea rax, [r11*8 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.004181d0
sub rsp, rax
mov r13, rsp
mov rsi, qword [rbp + 0x188]
mov eax, esi
not eax
mov ebx, dword [rbp + 0x1a8]
or eax, ebx
mov edx, ebx
or edx, esi
not edx
lea edx, [rdx + rdx*2]
mov edi, ebx
not edi
add edi, edi
sub edi, esi
xor ebx, esi
sub ebx, eax
add ebx, edx
xor ebx, edi
mov dword [rbp + 0x1a8], ebx
mov r10d, ebx
xor r10d, 0xe45d082e
mov rdx, qword [rbp + 0x200]
mov eax, edx
not eax
mov rsi, qword [rbp + 0x118]
mov r11d, esi
mov qword [rbp + 0x1f8], rax
or r11d, eax
mov ebx, esi
or ebx, edx
not ebx
lea ebx, [rbx + rbx*2]
mov edi, esi
not edi
add edi, edi
sub edi, edx
xor esi, edx
sub esi, r11d
add esi, ebx
xor esi, edi
lea eax, [rsi + r10]
add eax, 0x1ba2f7d3
lea rax, [rax*8 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.004181d0
sub rsp, rax
mov r10, rsp
mov rbx, r15
lea eax, [r14 + r15]
mov edx, r14d
xor edx, ebx
sub eax, edx
and ebx, r14d
add ebx, ebx
xor ebx, eax
mov rdi, rbx
mov rsi, qword [rbp + 0x58]
mov edx, esi
not edx
mov dword [rbp + 0x178], edx
mov ebx, ecx
or ebx, edx
mov edx, ecx
or edx, esi
not edx
lea edx, [rdx + rdx*2]
mov eax, dword [rbp + 0xe4]
sub eax, esi
mov r11d, ecx
xor r11d, esi
sub r11d, ebx
add r11d, edx
xor r11d, eax
xor edi, r11d
xor edi, 1
lea rax, [rdi*8 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.004181d0
sub rsp, rax
mov rdx, rsp
mov rdi, qword [rbp + 0x128]
lea eax, [r9 + rdi]
mov ebx, r9d
xor ebx, edi
sub eax, ebx
and r9d, edi
add r9d, r9d
xor r9d, eax
mov rax, qword [rbp - 0x48]
or eax, 0x34
movzx eax, al
imul eax, eax
imul esi, eax, 0xe819
mov qword [rbp + 0x1a0], rsi
or r8d, 0x91
movzx eax, r8b
imul eax, eax
imul eax, eax, 0xf1af
xor ebx, ebx
cmp esi, eax
sete bl
sub r9d, ebx
add r9d, 1
lea rax, [r9*8 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0x160], rsp
mov ebx, dword [rbp + 0x110]
mov eax, ebx
not eax
or eax, r12d
mov ecx, r12d
or ecx, ebx
mov edi, ebx
not ecx
lea ecx, [rcx + rcx*2]
mov ebx, r12d
not ebx
add ebx, ebx
sub ebx, edi
xor r12d, edi
sub r12d, eax
add r12d, ecx
xor r12d, ebx
add r12d, 0xaf770889
mov rdi, qword [rbp + 0x1e0]
mov eax, edi
sub eax, dword [rbp + 0x1d8]
mov ecx, edi
mov rbx, qword [rbp + 0x198]
xor ecx, ebx
sub eax, ecx
and ebx, edi
add ebx, ebx
xor ebx, eax
add ebx, 0x9274edb9
imul ebx, r12d
lea rax, [rbx*8 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0x128], rsp
mov rbx, qword [rbp + 0x1f0]
lea eax, [r11 + rbx]
mov ecx, r11d
xor ecx, ebx
sub eax, ecx
and r11d, ebx
add r11d, r11d
xor r11d, eax
mov rdi, qword [rbp - 0x18]
mov r8d, edi
not r8d
mov eax, dword [rbp + 0xd8]
or r8d, eax
mov ecx, eax
or ecx, edi
mov ebx, eax
not ebx
add ebx, ebx
sub ebx, edi
xor edi, eax
sub edi, r8d
not ecx
lea eax, [rcx + rcx*2]
add edi, eax
mov qword [rbp + 0x158], r10
mov rax, qword [rbp + 0x1e8]
mov qword [r10], rax
mov qword [r13], rdx
xor edi, ebx
mov qword [rbp + 0x110], r13
mov rax, qword [r13]
lea rax, [rdi + r11]
add rax, 0xffffffffff676980
mov edi, dword [rbp + 0x290]
imul rax, rdi
mov qword [rdx], rax
mov r12, qword [rbp - 0x78]
mov rbx, qword [rbp - 0x58]
lea eax, [rbx + r12]
mov ecx, ebx
xor ecx, r12d
sub eax, ecx
and r12d, ebx
add r12d, r12d
xor r12d, eax
mov r14, qword [rbp + 0x1b8]
mov eax, r14d
not eax
mov r15, qword [rbp - 0x30]
or eax, r15d
mov ecx, r15d
or ecx, r14d
mov ebx, dword [rbp + 0x16c]
sub ebx, r14d
xor r14d, r15d
sub r14d, eax
not ecx
lea eax, [rcx + rcx*2]
add r14d, eax
mov eax, r12d
xor eax, 0x11
xor r14d, ebx
mov ecx, r14d
xor ecx, 0xf1
imul ecx, eax
sub rsp, 0x20
call fcn.00416a50
mov r9, rdi
add rsp, 0x20
mov ebx, eax
mov rax, qword [rbp + 0x150]
mov dword [rax], ebx
mov rcx, qword [rbp + 0x48]
mov rdi, qword [rbp + 0x188]
lea eax, [rdi + rcx]
mov edx, edi
xor edx, ecx
sub eax, edx
and edi, ecx
add edi, edi
xor edi, eax
mov ecx, dword [rbp + 0x174]
mov eax, ecx
sub eax, dword [rbp - 0x38]
mov edx, ecx
mov esi, ecx
xor edx, r15d
sub eax, edx
and r15d, ecx
add r15d, r15d
xor r15d, eax
lea eax, [rdi + r15]
add eax, 1
lea rax, [rax*4 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.004181d0
sub rsp, rax
mov r8, rsp
mov eax, ebx
or eax, dword [rbp + 0x1c8]
mov edx, ebx
mov ecx, ebx
xor ebx, r9d
sub ebx, eax
or edx, r9d
not edx
lea eax, [rdx + rdx*2]
not ecx
add ecx, ecx
sub ecx, r9d
add ebx, eax
xor ebx, ecx
mov rdx, qword [rbp + 0x40]
lea eax, [rdx + r14]
mov ecx, edx
xor ecx, r14d
sub eax, ecx
and r14d, edx
xor ebx, 0xecba98a3
add r14d, r14d
xor r14d, eax
mov eax, r14d
xor eax, 0xac3613dc
imul eax, ebx
mov dword [r8], eax
mov rdx, qword [rbp + 0x180]
mov eax, edx
sub eax, dword [rbp + 0x1b0]
mov r13d, dword [rbp + 0x140]
mov ecx, r13d
xor ecx, edx
sub eax, ecx
and edx, r13d
add edx, edx
xor edx, eax
mov rdi, rdx
mov rdx, qword [rbp - 0x28]
mov ecx, edx
neg ecx
lea eax, [rdx - 1]
mov rbx, rdx
mov r13d, dword [rbp + 0x1a8]
or eax, r13d
mov edx, r13d
not edx
lea edx, [rbx + rdx*2]
mov ebx, r13d
or ebx, ecx
xor ecx, r13d
sub ecx, eax
not ebx
lea eax, [rbx + rbx*2]
add ecx, eax
xor edi, 0xf489898d
xor ecx, edx
mov eax, ecx
xor eax, 0x346de145
imul eax, edi
lea rax, [rax*4 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.004181d0
sub rsp, rax
mov r9, rsp
mov r10, qword [rbp - 0x68]
mov rbx, qword [rbp + 0xe8]
lea eax, [rbx + r10]
mov edx, ebx
xor edx, r10d
sub eax, edx
and ebx, r10d
add ebx, ebx
xor ebx, eax
mov r11, rbx
mov rdi, qword [rbp - 0x70]
mov eax, edi
neg eax
lea edx, [rdi - 1]
mov esi, dword [rbp + 0xdc]
or edx, esi
mov ebx, esi
not ebx
lea ebx, [rdi + rbx*2]
mov edi, esi
or edi, eax
xor eax, esi
sub eax, edx
not edi
lea edx, [rdi + rdi*2]
add eax, edx
xor eax, ebx
xor eax, r11d
xor eax, 0x5e6e9aa8
mov dword [r9], eax
mov rax, qword [rbp - 0x50]
or eax, 0xf3
movzx eax, al
imul eax, eax
imul eax, eax, 0x5b79
or r12d, 0x1e
movzx edx, r12b
imul edx, edx
imul edx, edx, 0x2f29
xor ebx, ebx
cmp eax, edx
sete bl
mov r11, qword [rbp + 0x1a0]
mov eax, r11d
not eax
mov rdx, qword [rbp + 0x58]
or eax, edx
mov edi, edx
xor edx, r11d
sub edx, eax
or edi, r11d
not edi
lea eax, [rdi + rdi*2]
add edx, eax
mov eax, dword [rbp + 0x178]
add eax, eax
sub eax, r11d
xor edx, eax
mov rsi, r8
xor edx, 0x8ac373
sub edx, ebx
add edx, 0xff753c8e
lea rax, [rdx*8 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0x180], rsp
mov rbx, r10
mov rdi, qword [rbp + 0x118]
lea eax, [r10 + rdi]
mov edx, ebx
xor edx, edi
sub eax, edx
and ebx, edi
add ebx, ebx
xor ebx, eax
add ebx, 0x5df0b837
mov rdi, r14
lea eax, [r11 + r14]
mov edx, r11d
xor edx, edi
sub eax, edx
and edi, r11d
add edi, edi
xor edi, eax
add edi, 0x5df0b836
xor edi, ebx
lea rax, [rdi*8 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0x178], rsp
mov r13, qword [rbp + 0x1e0]
lea eax, [rcx + r13]
mov edx, r13d
xor edx, ecx
sub eax, edx
and ecx, r13d
add ecx, ecx
xor ecx, eax
add ecx, 0xd366c011
mov rbx, qword [rbp + 0x50]
mov eax, ebx
not eax
mov rdi, qword [rbp + 0x190]
or eax, edi
mov edx, edi
or edx, ebx
mov r8, rbx
not edx
lea edx, [rdx + rdx*2]
mov ebx, edi
not ebx
add ebx, ebx
sub ebx, r8d
xor edi, r8d
sub edi, eax
add edi, edx
xor edi, ebx
mov rbx, qword [rbp + 0x200]
xor edi, 0xd62230f1
imul edi, ecx
lea rax, [rdi*8 + 0xf]
mov rdi, qword [rbp + 0x208]
and rax, 0xfffffffffffffff0
call fcn.004181d0
sub rsp, rax
mov qword [rbp + 0x188], rsp
xorps xmm6, xmm6
mov qword [rbp + 0x1d0], rsi
mov qword [rbp + 0x1d8], r9
jmp 0x404673
mov rax, qword [rbp + 0x128]
mov rax, qword [rax]
mov rcx, qword [rbp + 0x158]
cmp rax, qword [rcx]
mov rax, qword [rbp + 0xb0]
setb byte [rax]
mov rax, qword [rbp + 0x208]
mov r9d, dword [rax]
mov rax, qword [rbp + 0x1a0]
lea edx, [rax + r9]
mov ecx, eax
xor ecx, r9d
sub edx, ecx
mov ecx, eax
and ecx, r9d
add ecx, ecx
xor ecx, edx
mov r8d, ecx
mov ebx, ecx
not ebx
mov rdx, qword [rbp + 0x1e0]
or ebx, edx
mov edi, edx
or edi, ecx
mov esi, edx
not esi
add esi, esi
sub esi, ecx
xor ecx, edx
sub ecx, ebx
xor r8d, 0x9799fc73
not edi
lea ebx, [rdi + rdi*2]
add ecx, ebx
xor ecx, esi
xor ecx, 0x85957201
imul ecx, r8d
mov rsi, qword [rbp + 0x1b0]
mov edx, esi
not edx
or edx, eax
mov ebx, eax
or ebx, esi
mov edi, eax
not edi
add edi, edi
sub edi, esi
xor eax, esi
sub eax, edx
not ebx
lea edx, [rbx + rbx*2]
add eax, edx
xor eax, edi
mov rdi, qword [rbp + 0x198]
lea edx, [rdi + rax]
mov ebx, edi
xor ebx, eax
sub edx, ebx
xor ecx, r9d
and edi, eax
add edi, edi
xor edi, edx
add edi, 0xe716b19f
xor edi, eax
xor edi, ecx
xor edi, 0x20754945
mov rcx, qword [rbp + 0xa8]
mov dword [rcx], edi
mov r8d, dword [rbp + 0x290]
mov ecx, r8d
or ecx, 0xd3
movzx ecx, cl
imul ecx, ecx
imul edx, ecx, 0x9ea1
mov rbx, qword [rbp + 0x190]
mov ecx, ebx
or ecx, 0x80
movzx ecx, cl
imul ecx, ecx
imul ecx, ecx, 0x914f
xor esi, esi
cmp edx, ecx
sete sil
neg esi
xor esi, 0x60e6d3a5
lea edx, [r9 + r8]
mov edi, r9d
xor edi, r8d
sub edx, edi
and r9d, r8d
add r9d, r9d
xor r9d, edx
xor r9d, 0x7d7579fa
add r9d, esi
mov edx, ecx
not edx
or edx, ebx
mov esi, ebx
or esi, ecx
mov edi, ebx
not edi
add edi, edi
sub edi, ecx
xor ebx, ecx
sub ebx, edx
not esi
lea ecx, [rsi + rsi*2]
add ebx, ecx
xor ebx, edi
add ebx, r9d
cmp ebx, 0xe5e2b83f
jg 0x402ea4
cmp ebx, 0xc9baaf88
mov r15, qword [rbp + 0x200]
mov r14, qword [rbp + 0x1c8]
mov r12, qword [rbp + 0x1f8]
je 0x403c04
cmp ebx, 0xde5c4d9f
jne 0x402eca
mov rax, qword [rbp + 0xb0]
movzx eax, byte [rax]
neg eax
mov rsi, qword [rbp + 0x1e8]
mov ecx, esi
not ecx
or ecx, r15d
mov edx, r15d
or edx, esi
not edx
lea edx, [rdx + rdx*2]
lea ebx, [r12 + r12]
sub ebx, esi
mov edi, r15d
xor edi, esi
sub edi, ecx
add edi, edx
xor edi, ebx
add edi, 0x29ab449
mov ecx, eax
or ecx, 0x34
movzx ecx, cl
imul ecx, ecx
imul ecx, ecx, 0x8551
xor ebx, ebx
cmp ecx, 0xacb94f59
sete bl
mov ecx, ebx
neg ecx
mov edx, ecx
xor edx, 0xd2c82414
imul edx, edi
lea edi, [rbx - 1]
lea ebx, [rbx + r14*2]
and edx, eax
mov rax, qword [rbp + 0xa8]
mov eax, dword [rax]
xor eax, edx
mov r9, qword [rbp + 0x1d8]
mov dword [r9], eax
mov r11d, dword [rbp + 0x290]
or edi, r11d
mov eax, r11d
or eax, ecx
not eax
lea eax, [rax + rax*2]
xor ecx, r11d
sub ecx, edi
add ecx, eax
xor ecx, ebx
mov eax, edx
not eax
or eax, ecx
mov ebx, ecx
or ebx, edx
mov edi, ecx
not edi
add edi, edi
sub edi, edx
xor edx, ecx
sub edx, eax
not ebx
lea eax, [rbx + rbx*2]
add edx, eax
xor edx, edi
xor edx, 0xac8faa5f
lea eax, [rcx + rdx]
add eax, 0x53819ab5
mov rsi, qword [rbp + 0x1d0]
mov dword [rsi], eax
mov rax, qword [rbp + 0x188]
mov qword [rax], 0
mov rbx, r15
mov rdi, qword [rbp + 0x208]
jmp 0x404673
cmp ebx, 0xe5e2b840
mov r15, qword [rbp + 0x200]
mov r12, qword [rbp + 0x1f8]
je 0x406198
cmp ebx, 0x74c33b3
je 0x405bcb
lea rdx, [rbp - 4]
xor rsp, r11
call qword [rbx]
jle 0x402ee4
or ecx, dword [rax - 0x75]
test dword [rax + 0x48000001], ecx
mov eax, dword [rax]
mov rax, qword [rbp + 0x188]
mov rax, qword [rax]
mov rcx, qword [rbp + 0x108]
mov qword [rcx], rax
mov rax, qword [rbp + 0x148]
add dword [rax], eax
add byte [rax - 0x77], cl
add dword [rax - 0x75], ecx
test dword [rax + 1], ecx
add byte [rax], al
mov rax, qword [rax]
mov rax, qword [rbp + 0x208]
mov edx, dword [rax]
mov r14, qword [rbp + 0x1a8]
lea ecx, [r14 + r12]
mov eax, r14d
xor eax, r12d
sub ecx, eax
mov eax, r14d
and eax, r12d
add eax, eax
xor eax, ecx
movabs rcx, 0x562bee6cc3afb075
mov r15, r8
mov r8, rcx
lea r9d, [rcx + rax]
add r9d, 0x20066109
mov edi, r15d
not edi
mov r10d, dword [rbp + 0x290]
or edi, r10d
mov esi, r10d
or esi, r15d
not esi
lea esi, [rsi + rsi*2]
mov r11, rbx
mov ebx, r10d
xor ebx, r15d
sub ebx, edi
mov edi, dword [rbp + 0x1c4]
sub edi, r15d
add ebx, esi
xor edi, r8d
xor edi, ebx
xor edi, edx
xor edi, r9d
mov r8, qword [rbp + 0x198]
mov ecx, r8d
or ecx, 0xfe
movzx ecx, cl
imul ecx, ecx
imul r9d, ecx, 0x7f87
or r15d, 0x8d
movzx ebx, r15b
imul ebx, ebx
imul ebx, ebx, 0xb051
xor esi, esi
cmp r9d, ebx
sete sil
mov r13, qword [rbp + 0x1e0]
lea ebx, [rdx + r13]
mov ecx, edx
xor ecx, r13d
sub ebx, ecx
xor esi, 0x137f22cd
and edx, r13d
add edx, edx
xor edx, ebx
mov ecx, edx
xor ecx, 0x887ef69f
imul ecx, esi
xor ecx, edi
mov rbx, qword [rbp + 0x100]
mov dword [rbx], ecx
mov ecx, r12d
not ecx
or ecx, r8d
mov edi, r8d
or edi, r12d
mov ebx, r12d
neg ebx
xor r8d, r12d
sub r8d, ecx
not edi
add edi, r8d
xor edi, ebx
mov ecx, edx
not ecx
or ecx, r11d
mov ebx, r11d
or ebx, edx
mov esi, r11d
not esi
add esi, esi
sub esi, edx
xor edx, r11d
not ebx
lea ebx, [rbx + rbx*2]
sub edx, ecx
add edx, ebx
xor edx, esi
mov rsi, qword [rbp + 0x190]
mov ecx, esi
not ecx
or ecx, r10d
mov ebx, r10d
or ebx, esi
mov r8d, dword [rbp + 0x1c4]
sub r8d, esi
xor esi, r10d
sub esi, ecx
and edi, 1
neg edi
xor edx, 0x682641c4
not ebx
lea ecx, [rbx + rbx*2]
add esi, ecx
xor esi, r8d
lea ecx, [rsi + rdx]
add ecx, 0xddf091a3
and ecx, edi
mov rdx, qword [rbp + 0xf8]
mov dword [rdx], ecx
lea ecx, [r14 + r9]
mov edx, r14d
xor edx, r9d
sub ecx, edx
and r14d, r9d
add r14d, r14d
xor r14d, ecx
mov ecx, r14d
or ecx, 0x24
movzx ecx, cl
imul ecx, ecx
imul ecx, ecx, 0xebb7
mov r15, qword [rbp + 0x200]
mov edx, r15d
or edx, 0x49
movzx edx, dl
imul edx, edx
imul edx, edx, 0x6c29
xor edi, edi
cmp ecx, edx
sete dil
lea ecx, [rdi + rdi]
add ecx, 0xfffffffe
mov edx, edi
neg edx
mov ebx, edx
xor ebx, 0x9c3aa701
lea r8d, [r14 + rbx]
add r8d, 0x63c55900
mov esi, r9d
not esi
or esi, edx
mov ebx, edx
or ebx, r9d
sub ecx, r9d
xor r9d, edx
sub r9d, esi
not ebx
lea ebx, [rbx + rbx*2]
add r9d, ebx
xor r9d, ecx
mov ecx, r13d
not ecx
lea ecx, [rdi + rcx*2]
mov ebx, edi
add ebx, 0xffffffff
or r9d, r8d
or ebx, r13d
mov edi, r13d
or edi, edx
xor edx, r13d
sub edx, ebx
not edi
lea ebx, [rdi + rdi*2]
add edx, ebx
xor edx, ecx
xor edx, 0xb882ded1
imul edx, r9d
lea ecx, [rax + r12]
mov ebx, eax
xor ebx, r12d
sub ecx, ebx
and eax, r12d
add eax, eax
xor eax, ecx
add eax, 0x4568905c
imul eax, edx
cmp eax, 0xe91c0a23
jg 0x40331f
cmp eax, 0xab51199d
mov r12, qword [rbp + 0x1f8]
je 0x405bcb
cmp eax, 0xc645a31c
jne 0x405a46
mov rax, qword [rbp + 0x100]
mov eax, dword [rax]
mov rcx, qword [rbp + 0xf8]
mov r8d, dword [rcx]
xor r8d, eax
mov edx, eax
not edx
mov rcx, qword [rbp + 0x1e8]
or edx, ecx
mov ebx, ecx
or ebx, eax
not ebx
lea ebx, [rbx + rbx*2]
mov edi, ecx
not edi
add edi, edi
sub edi, eax
xor eax, ecx
sub eax, edx
add eax, ebx
xor eax, edi
lea ebx, [rax + 0x3f0a6fcd]
or eax, 0x8a
movzx eax, al
imul eax, eax
imul r9d, eax, 0x8a5
mov r11d, dword [rbp + 0x290]
mov eax, r11d
or eax, 0x2d
movzx eax, al
imul eax, eax
imul r10d, eax, 0x5fb3
xor edi, edi
cmp r9d, r10d
sete dil
mov ecx, edi
xor ecx, 0xe76dd59d
imul ecx, ebx
mov esi, edi
neg esi
mov edx, esi
or edx, r12d
mov ebx, esi
xor ebx, r15d
sub ebx, edx
mov edx, esi
or edx, r15d
not edx
lea edx, [rdx + rdx*2]
add ebx, edx
add edi, edi
sub edi, r15d
add edi, 0xfffffffe
xor ebx, edi
and ebx, ecx
xor ebx, r8d
lea edx, [rbx + r11]
mov ecx, ebx
xor ecx, r11d
sub edx, ecx
mov ecx, ebx
and ecx, r11d
add ecx, ecx
xor ecx, edx
or esi, 0xc7
movzx edx, sil
imul edx, edx
imul edx, edx, 0x7e55
mov edi, ecx
or edi, 0x31
movzx edi, dil
imul edi, edi
imul edi, edi, 0xc5f
xor esi, esi
cmp edx, edi
lea edx, [rcx - 0x498a7f0f]
sete sil
neg esi
xor esi, 0x6c528048
imul esi, edx
or r9d, 0x7f
movzx edx, r9b
imul edx, edx
imul edx, edx, 0xe6ef
mov eax, r10d
or eax, 0x57
movzx eax, al
imul eax, eax
imul eax, eax, 0x4e67
xor edi, edi
cmp edx, eax
sete dil
neg edi
and edi, esi
xor edi, ebx
mov eax, ecx
not eax
or eax, r10d
mov ebx, r10d
or ebx, ecx
mov esi, r10d
not esi
add esi, esi
sub esi, ecx
xor ecx, r10d
sub ecx, eax
not ebx
lea eax, [rbx + rbx*2]
add ecx, eax
mov r9, qword [rbp + 0x1d8]
mov dword [r9], edi
xor ecx, esi
xor ecx, 0xaa0ad53d
or edi, 0xdd
movzx eax, dil
imul eax, eax
imul eax, eax, 0x7e35
or edx, 0x81
movzx edx, dl
imul edx, edx
imul edx, edx, 0xfdb7
xor ebx, ebx
cmp eax, edx
sete bl
neg ebx
xor ebx, 0xfc91f2a4
imul ebx, ecx
mov rsi, qword [rbp + 0x1d0]
mov dword [rsi], ebx
mov rax, qword [rbp + 0x108]
mov rax, qword [rax]
mov rcx, qword [rbp + 0x178]
mov qword [rcx], rax
jmp 0x402e95
cmp eax, 0xe91c0a24
mov r14, qword [rbp + 0x1c8]
mov r12, qword [rbp + 0x1f8]
je 0x4044be
cmp eax, 0xa5071cf
je 0x403c04
cmp eax, 0x345c26f1
jne 0x405a46
mov rax, qword [rbp + 0x138]
mov r10d, dword [rax]
mov eax, r10d
or eax, 0xda
movzx eax, al
imul eax, eax
imul eax, eax, 0xea2f
mov rdx, qword [rbp + 0x1e8]
mov ecx, edx
or ecx, 0x7c
movzx ecx, cl
imul ecx, ecx
imul r11d, ecx, 0x57ef
xor r13d, r13d
cmp eax, r11d
sete r13b
movabs rcx, 0x72e184949c0a0e81
mov r8, rcx
sub ecx, r13d
mov ebx, edx
sub ebx, r13d
neg r13d
mov edi, r13d
xor edi, edx
sub ebx, edi
mov esi, r13d
and esi, edx
add esi, esi
xor esi, ebx
lea r12d, [r8 + rsi]
add r12d, 0x125dc8f
xor r12d, ecx
imul r12d, r10d
mov rcx, qword [rbp + 0xf0]
mov rdx, r15
mov r15d, dword [rcx]
mov ecx, edx
or ecx, 0x66
movzx ecx, cl
imul ecx, ecx
imul edx, ecx, 0x7361
mov dword [rbp + 0x1f0], edx
mov ecx, eax
or ecx, 0x23
movzx ecx, cl
imul ecx, ecx
imul ecx, ecx, 0x429d
xor r14d, r14d
cmp edx, ecx
sete r14b
movabs rcx, 0x22c4331ef2e00945
mov rdx, rcx
mov edi, edx
sub edi, r14d
mov ecx, r11d
not ecx
or ecx, r12d
mov ebx, r12d
or ebx, r11d
not ebx
lea r8d, [rbx + rbx*2]
mov ebx, r12d
xor ebx, r11d
sub ebx, ecx
mov ecx, r12d
not ecx
add ebx, r8d
mov qword [rbp + 0x140], rcx
add ecx, ecx
sub ecx, r11d
xor ebx, ecx
lea ecx, [rdx + 8]
xor ecx, edi
xor ecx, ebx
mov qword [rbp + 0x1e0], r15
mov r9d, r15d
sar r9d, cl
mov ecx, r10d
xor ecx, esi
lea edi, [r10 + rsi]
sub edi, ecx
mov qword [rbp + 0x1b0], r10
and esi, r10d
add esi, esi
xor esi, edi
xor esi, 0xa4adcb3b
neg r14d
mov ecx, r14d
or ecx, 0x28
movzx ecx, cl
imul ecx, ecx
imul edi, ecx, 0x8015
mov r10d, dword [rbp + 0x290]
mov ecx, r10d
or ecx, 0xa2
movzx ecx, cl
imul ecx, ecx
imul ecx, ecx, 0x5777
xor r15d, r15d
cmp edi, ecx
sete r15b
mov edi, r15d
neg edi
mov edx, edi
xor edx, 0x5b5235c4
add edx, esi
and edx, r9d
mov qword [rbp + 0x198], r12
mov qword [rbp + 0x1a0], rdx
xor r12d, edx
or r14d, 8
movzx esi, r14b
imul esi, esi
imul esi, esi, 0xe1e5
mov r10d, dword [rbp + 0x1f0]
mov edx, r10d
or edx, 0x58
movzx edx, dl
imul edx, edx
imul r14d, edx, 0x470f
xor edx, edx
cmp esi, r14d
sete dl
mov r8d, edi
xor r8d, r14d
and edi, r14d
sub r14d, r15d
sub r14d, r8d
add edi, edi
xor edi, r14d
neg edx
xor edx, 0xd5da9bfd
mov r15d, edi
xor r15d, 0x1b8e225
imul r15d, edx
mov qword [rbp + 0x1a8], r12
imul r15d, r12d
or edi, 0x68
movzx edx, dil
imul edx, edx
imul r14d, edx, 0xaf2b
or r13d, 0xcd
movzx edx, r13b
imul edx, edx
imul edx, edx, 0x1183
xor edi, edi
cmp r14d, edx
sete dil
mov edx, eax
xor edx, ecx
lea r8d, [rax + rcx]
sub r8d, edx
and eax, ecx
add eax, eax
xor eax, r8d
neg edi
xor edi, 0x6b
add eax, edi
mov ecx, r15d
xor ecx, esi
lea edx, [r15 + rsi]
sub edx, ecx
mov ecx, r15d
and ecx, esi
add ecx, ecx
xor ecx, edx
mov edx, r14d
xor edx, esi
lea edi, [r14 + rsi]
sub edi, edx
and esi, r14d
add esi, esi
xor esi, edi
xor ecx, 0x49d093be
mov r13d, esi
xor r13d, 0xb62f6d41
add r13d, ecx
add al, 0x9d
mov qword [rbp + 0x190], r9
mov edi, r9d
mov ecx, eax
sar edi, cl
and r13d, edi
mov r8d, r15d
xor r8d, r13d
or ebx, 0x21
movzx eax, bl
imul eax, eax
imul eax, eax, 0x9f23
or r14d, 0x8f
movzx ecx, r14b
imul ecx, ecx
imul ecx, ecx, 0x6c19
xor edx, edx
cmp eax, ecx
sete dl
movabs rax, 0x2517c53e62ce6743
lea r12d, [rax + 0x11d1b8f]
xor r12d, esi
neg edx
xor r12d, eax
xor r12d, edx
imul r12d, r8d
or r10d, 0x62
movzx eax, r10b
imul eax, eax
imul eax, eax, 0x33fd
mov ecx, edi
or ecx, 0xe
movzx ecx, cl
imul ecx, ecx
imul ecx, ecx, 0xf99d
xor edx, edx
cmp eax, ecx
sete dl
movabs rax, 0x895508de3623d80
mov rsi, rax
sub eax, edx
or r11d, 0xcb
movzx ecx, r11b
mov r10d, dword [rbp + 0x290]
imul ecx, ecx
imul edx, ecx, 0xb82b
mov ecx, r10d
or ecx, 0x59
movzx ecx, cl
imul ecx, ecx
imul ebx, ecx, 0x48a1
xor ecx, ecx
cmp edx, ebx
sete cl
neg ecx
lea edx, [rsi + 8]
xor ecx, edx
xor ecx, eax
mov ebx, edi
sar ebx, cl
mov rsi, qword [rbp + 0x1d0]
mov dword [rsi], r12d
cmp r12d, 0x414e55c7
jg 0x405105
cmp r12d, 0xe750a814
mov r9, qword [rbp + 0x1d8]
jg 0x404dad
cmp r12d, 0xb78ebdd4
mov qword [rbp + 0x1b8], r8
je 0x4053e8
cmp r12d, 0xbb548cdc
je 0x403ded
mov r8, rbx
cmp r12d, 0xbcc11c99
mov rbx, qword [rbp + 0x200]
mov rdi, qword [rbp + 0x208]
jne 0x404673
lea eax, [r12 + rbx]
mov ecx, r12d
xor ecx, ebx
sub eax, ecx
mov r10d, r12d
and r10d, ebx
add r10d, r10d
xor r10d, eax
xor r13d, r13d
cmp ebx, r10d
sete r13b
mov edi, dword [rdi]
mov eax, edi
not eax
or eax, r12d
mov edx, r12d
or edx, edi
not edx
lea edx, [rdx + rdx*2]
mov ebx, r12d
not ebx
add ebx, ebx
sub ebx, edi
xor r12d, edi
sub r12d, eax
add r12d, edx
xor r12d, ebx
mov eax, r8d
or eax, 0x7f
movzx eax, al
imul eax, eax
imul eax, eax, 0xdf69
mov r14, r12
mov r12d, dword [rbp + 0x290]
mov r11, qword [rbp + 0x1e8]
mov edx, r11d
or edx, 0x8e
movzx edx, dl
imul edx, edx
imul edx, edx, 0x887b
xor esi, esi
cmp eax, edx
sete sil
mov eax, 0x6d5e8d0e
sub eax, esi
xor r14d, edi
xor r14d, eax
xor r14d, 0x5bd133f3
mov ecx, r13d
neg ecx
lea eax, [rdi + r15]
mov ebx, edi
xor ebx, r15d
sub eax, ebx
and edi, r15d
add edi, edi
xor edi, eax
xor edi, 0xfe1f6f81
mov eax, r11d
or eax, 0xed
movzx eax, al
imul eax, eax
imul r9d, eax, 0xa6bb
mov eax, r8d
or eax, 2
movzx eax, al
imul eax, eax
imul ebx, eax, 0xf0d9
xor eax, eax
cmp r9d, ebx
sete al
neg eax
xor eax, 0xca8a9fcc
imul eax, edi
lea ebx, [rsi - 1]
mov rdx, qword [rbp + 0x1b8]
mov edi, edx
not edi
lea r9d, [rsi + rdi*2]
neg esi
or ebx, edx
mov edi, edx
or edi, esi
xor esi, edx
sub esi, ebx
and eax, ecx
not edi
lea ebx, [rdi + rdi*2]
add esi, ebx
xor esi, r9d
xor esi, 0x7c936fe3
mov ebx, r11d
or ebx, 0xde
movzx ebx, bl
imul ebx, ebx
imul r9d, ebx, 0xa61
mov rdx, qword [rbp + 0x1e0]
or edx, 0x74
movzx edi, dl
imul edi, edi
imul edi, edi, 0x66e3
xor ebx, ebx
cmp r9d, edi
mov rdx, qword [rbp + 0x78]
mov dword [rdx], r14d
mov rdx, qword [rbp + 0x70]
mov dword [rdx], eax
sete bl
xor ebx, 0xc5054dcb
imul ebx, esi
lea eax, [r10 + r12]
mov edi, r10d
xor edi, r12d
sub eax, edi
and r10d, r12d
add r10d, r10d
xor r10d, eax
add r10d, ebx
mov rbx, qword [rbp + 0x1b0]
mov eax, ebx
sub eax, r13d
mov edx, ecx
xor edx, ebx
sub eax, edx
and ecx, ebx
add ecx, ecx
xor ecx, eax
mov eax, r8d
mov r14, qword [rbp + 0x1c8]
or eax, r14d
mov edx, r8d
mov ebx, r8d
xor r8d, r12d
sub r8d, eax
or edx, r12d
not edx
lea eax, [rdx + rdx*2]
add r8d, eax
not ebx
add ebx, ebx
sub ebx, r12d
xor r8d, ebx
xor ecx, 0x83873949
add r8d, 0x3fe4360
imul r8d, ecx
mov eax, r8d
cdq
idiv r10d
cmp eax, 0x5157f149
jg 0x405a53
cmp eax, 0x88f7f706
mov r15, qword [rbp + 0x200]
mov r12, qword [rbp + 0x1f8]
je 0x4044be
cmp eax, 0xb38a1054
je 0x403163
call qword [rbx]
lea rdx, [rbp - 4]
lea rdx, [rbp - 4]
call qword [rbx]
lea rdx, [rbp - 4]
mov rsp, rbp
mov rsp, rbp
jb 0x403942
or ecx, dword [rax - 0x75]
test dword [rax + 1], esp
add byte [rax], al
mov rax, qword [rbp + 0x160]
mov r9, qword [rax]
mov ecx, r15d
or ecx, 0x91
movzx ecx, cl
leave
xchg ecx, eax
add byte [rax], al
add byte [rdi], cl
mov dh, 0xc9
imul ecx, ecx
imul ecx, ecx, 0x4c57
mov rax, qword [rbp + 0x1b0]
mov edx, eax
or edx, 0xfc
movzx edx, dl
imul edx, edx
imul edx, edx, 0x4e17
mov qword [rbp + 0x1f0], rbx
xor ebx, ebx
cmp ecx, edx
sete bl
xor ebx, 0x4bbba149
mov rcx, qword [rbp + 0x1e0]
or ecx, 0x5b
movzx ecx, cl
imul ecx, ecx
imul r14d, ecx, 0x85a5
mov ecx, r15d
or ecx, 0x2a
movzx ecx, cl
imul ecx, ecx
imul ecx, ecx, 0xdaf5
xor edx, edx
cmp r14d, ecx
sete dl
xor edx, 0x740bc307
imul edx, ebx
lea ecx, [r15 + rdi]
mov ebx, r15d
xor ebx, edi
sub ecx, ebx
and r15d, edi
add r15d, r15d
xor r15d, ecx
mov ecx, r15d
xor ecx, 0x630b30e5
mov rsi, qword [rbp + 0x200]
lea ebx, [rsi + rax]
mov edi, esi
xor edi, eax
sub ebx, edi
and eax, esi
add eax, eax
xor eax, ebx
xor eax, 0x999433b4
imul eax, ecx
sub rsp, 0x60
movups xmmword [rsp + 0x48], xmm6
movups xmmword [rsp + 0x38], xmm6
mov qword [rsp + 0x28], r9
mov qword [rsp + 0x20], r9
mov dword [rsp + 0x30], eax
mov rcx, qword [rbp + 0x98]
mov rdi, r8
xor r8d, r8d
mov r9, 0xffffffffffffffff
call fcn.00416b50
add rsp, 0x60
mov rbx, qword [rbp + 0x198]
lea ecx, [rbx + rsi]
mov edx, ebx
xor edx, esi
sub ecx, edx
and ebx, esi
add ebx, ebx
xor ebx, ecx
xor r10d, r10d
cmp eax, ebx
setl r10b
xor r15d, 0x249d5adf
or r14d, 0xf9
movzx eax, r14b
imul eax, eax
imul eax, eax, 0x3581
or edi, 0x1a
movzx edx, dil
imul edx, edx
imul edx, edx, 0xa2af
xor esi, esi
cmp eax, edx
sete sil
mov eax, 0xe4510716
sub eax, esi
imul eax, r15d
mov rcx, qword [rbp + 0x208]
xor eax, dword [rcx]
mov r9d, r10d
neg r9d
lea edx, [r12 + rax]
mov ebx, r12d
xor ebx, eax
sub edx, ebx
mov ebx, r12d
and ebx, eax
add ebx, ebx
xor ebx, edx
mov edx, ebx
xor edx, 0x5fba8873
mov rcx, qword [rbp + 0x1a8]
or ecx, 0xb
movzx edi, cl
imul edi, edi
imul r8d, edi, 0x652f
or ebx, 0xf6
movzx ebx, bl
imul ebx, ebx
imul edi, ebx, 0xe17f
xor ebx, ebx
cmp r8d, edi
sete bl
mov edi, ebx
xor edi, 0x24287be7
imul edi, edx
and edi, r9d
xor eax, edi
mov rcx, qword [rbp + 0x68]
mov dword [rcx], eax
neg esi
or esi, 0x41
movzx eax, sil
imul eax, eax
imul eax, eax, 0xfbc5
or r13d, 0x70
movzx edx, r13b
imul edx, edx
imul edx, edx, 0x2ce3
xor esi, esi
cmp eax, edx
sete sil
mov rcx, qword [rbp + 0x1f0]
lea eax, [r12 + rcx]
mov edx, r12d
xor edx, ecx
sub eax, edx
and r12d, ecx
add r12d, r12d
xor r12d, eax
xor r12d, 0x16b31a5
sub r12d, esi
lea eax, [rbx - 1]
mov edx, edi
not edx
lea edx, [rbx + rdx*2]
neg ebx
or eax, edi
mov esi, edi
or esi, ebx
xor ebx, edi
sub ebx, eax
not esi
lea eax, [rsi + rsi*2]
add ebx, eax
xor ebx, edx
lea eax, [r12 + rbx]
add eax, 0xfe94ce5c
mov edx, r8d
not edx
or edx, r10d
mov ebx, r10d
mov ecx, r10d
xor r10d, r8d
sub r10d, edx
or ebx, r8d
not ebx
lea edx, [rbx + rbx*2]
add r10d, edx
not ecx
add ecx, ecx
sub ecx, r8d
xor r10d, ecx
xor r10d, 0x96008eb
or r8d, 0x43
movzx ecx, r8b
imul ecx, ecx
imul ecx, ecx, 0xd12d
xor edx, edx
cmp ecx, 0x7b9a5693
sete dl
neg edx
xor edx, 0x908fb962
imul edx, r10d
imul edx, eax
cmp edx, 0x40200423
jg 0x403db5
cmp edx, 0xc06feff2
mov r15, qword [rbp + 0x200]
mov r12, qword [rbp + 0x1f8]
je 0x403163
cmp edx, 0x287a3cf6
jne 0x403de2
mov eax, r15d
or eax, 0x95
movzx eax, al
imul eax, eax
imul r9d, eax, 0xfa13
mov rcx, qword [rbp + 0x1e8]
mov eax, ecx
or eax, 0xa4
movzx eax, al
imul eax, eax
imul r10d, eax, 0xdbad
xor ebx, ebx
cmp r9d, r10d
sete bl
neg ebx
mov edx, ebx
xor edx, 0x37143ba1
lea edi, [rcx + r15]
mov esi, ecx
xor esi, r15d
sub edi, esi
mov esi, ecx
and esi, r15d
add esi, esi
xor esi, edi
lea r8d, [rsi + rdx]
add r8d, 0xe42eca15
mov r11d, dword [rbp + 0x290]
mov edi, r11d
or edi, 0xc2
movzx edi, dil
imul edi, edi
imul edi, edi, 0x2b6f
mov esi, r15d
or esi, 0x11
movzx esi, sil
imul esi, esi
imul edx, esi, 0x2e19
xor esi, esi
cmp edi, edx
sete sil
neg esi
and esi, r8d
mov rax, qword [rbp + 0x68]
mov r8d, dword [rax]
xor r8d, esi
lea edi, [r9 + rsi]
mov edx, r9d
xor edx, esi
sub edi, edx
mov edx, r9d
and edx, esi
add edx, edx
xor edx, edi
lea edi, [r10 + rdx]
mov ecx, r10d
xor ecx, edx
sub edi, ecx
and r10d, edx
add r10d, r10d
xor r10d, edi
lea ecx, [r10 + rdx]
add ecx, 0x3a409009
or esi, 0x84
movzx edi, sil
imul edi, edi
imul esi, edi, 0xf1a5
or ebx, 0x91
movzx ebx, bl
imul ebx, ebx
imul edi, ebx, 0x125
xor ebx, ebx
cmp esi, edi
sete bl
neg ebx
and ebx, ecx
xor ebx, r8d
lea ecx, [rdx + rdi]
mov eax, edx
xor eax, edi
sub ecx, eax
and edx, edi
add edx, edx
xor edx, ecx
or esi, 4
movzx eax, sil
imul eax, eax
imul eax, eax, 0x4e79
or r9d, 0x71
movzx ecx, r9b
imul ecx, ecx
imul edi, ecx, 0x337f
xor ecx, ecx
cmp eax, edi
sete cl
mov eax, ecx
xor eax, 0xfcdc6e5
xor ebx, edx
xor ebx, eax
xor ebx, 0xefd17be
mov r9, qword [rbp + 0x1d8]
mov dword [r9], ebx
mov eax, edx
sub eax, ecx
neg ecx
mov ebx, edx
xor ebx, ecx
sub eax, ebx
and ecx, edx
add ecx, ecx
xor ecx, eax
lea eax, [rcx - 0x5c5d52d]
mov edx, ecx
not edx
or edx, r10d
mov ebx, r10d
or ebx, ecx
mov edi, r10d
not edi
add edi, edi
sub edi, ecx
xor ecx, r10d
sub ecx, edx
not ebx
lea edx, [rbx + rbx*2]
add ecx, edx
xor ecx, edi
xor ecx, 0xc7ef521c
imul ecx, eax
mov rsi, qword [rbp + 0x1d0]
mov dword [rsi], ecx
jmp 0x402e87
cmp edx, 0x40200424
mov r15, qword [rbp + 0x200]
mov r14, qword [rbp + 0x1c8]
mov r12, qword [rbp + 0x1f8]
je 0x4044be
cmp edx, 0x7a0a9367
je 0x405bcb
popfq
mov rsp, rbp
lea rdx, [rbp - 4]
jns 0x403dfb
or ecx, dword [rax - 0x75]
test dword [rax + 1], edi
add byte [rax], al
mov rax, qword [rbp + 0x178]
mov rax, qword [rax]
mov rcx, qword [rbp + 0x60]
mov qword [rcx], rax
mov rax, qword [rbp + 0xa0]
mov rax, qword [rax]
mov rax, qword [rbp + 0x208]
mov edi, dword [rax]
mov r10, qword [rbp + 0x190]
lea eax, [rbx + r10]
mov ecx, ebx
xor ecx, r10d
sub eax, ecx
mov ecx, ebx
and ecx, r10d
add ecx, ecx
xor ecx, eax
mov rsi, qword [rbp + 0x1a0]
lea eax, [r15 + rsi]
mov edx, r15d
xor edx, esi
sub eax, edx
and r15d, esi
add r15d, r15d
xor r15d, eax
xor r15d, 0xedd3dec5
mov r8d, dword [rbp + 0x290]
lea r11d, [rcx + r15]
add r11d, 0x9719abe2
xor r11d, edi
mov r14, qword [rbp + 0x1a8]
mov eax, r14d
mov qword [rbp + 0x1e0], r12
mov r12, qword [rbp + 0x1f8]
or eax, r12d
mov ecx, r14d
mov r15, qword [rbp + 0x200]
or ecx, r15d
not ecx
lea ecx, [rcx + rcx*2]
mov qword [rbp + 0x1f0], rbx
mov ebx, r14d
not ebx
add ebx, ebx
sub ebx, r15d
xor r14d, r15d
sub r14d, eax
add r14d, ecx
xor r14d, ebx
mov eax, edi
or eax, 0xf9
movzx eax, al
imul eax, eax
imul ecx, eax, 0x7507
mov dword [rbp + 0x198], ecx
mov eax, r11d
or eax, 0xe
movzx eax, al
imul eax, eax
imul eax, eax, 0x16af
mov dword [rbp + 0x1a8], eax
xor r13d, r13d
cmp ecx, eax
sete r13b
xor r13d, 0x43879fa3
xor r13d, r14d
xor r13d, 0xb25d4872
mov eax, r10d
not eax
mov rsi, qword [rbp + 0x1b8]
or eax, esi
mov ecx, esi
or ecx, r10d
not ecx
lea ecx, [rcx + rcx*2]
mov ebx, esi
not ebx
add ebx, ebx
sub ebx, r10d
xor esi, r10d
sub esi, eax
add esi, ecx
xor esi, ebx
and r13d, esi
mov eax, edi
not eax
mov r9, qword [rbp + 0x1b0]
or eax, r9d
mov ecx, r9d
or ecx, edi
mov ebx, r9d
xor ebx, edi
sub ebx, eax
mov eax, edi
neg eax
not ecx
add ecx, ebx
xor ecx, eax
and ecx, 1
neg ecx
mov eax, r10d
or eax, 0x8e
movzx eax, al
imul eax, eax
imul eax, eax, 0xebd5
or edi, 0x62
movzx ebx, dil
imul ebx, ebx
imul ebx, ebx, 0x2615
xor edx, edx
cmp eax, ebx
sete dl
neg edx
xor edx, 0x37954b7b
mov rbx, qword [rbp + 0x1e8]
lea eax, [r8 + rbx]
mov edi, r8d
xor edi, ebx
sub eax, edi
mov edi, r8d
and edi, ebx
add edi, edi
xor edi, eax
mov eax, edi
xor eax, 0xa7c4d93
imul eax, edx
and eax, ecx
xor eax, r11d
xor eax, r13d
mov ecx, edi
not ecx
or ecx, r14d
mov edx, r14d
or edx, edi
mov ebx, r14d
not ebx
add ebx, ebx
sub ebx, edi
xor edi, r14d
sub edi, ecx
not edx
lea ecx, [rdx + rdx*2]
add edi, ecx
xor edi, ebx
xor edi, 0x23557feb
mov ecx, dword [rbp + 0x198]
or ecx, 0x63
movzx ecx, cl
imul ecx, ecx
imul ecx, ecx, 0x6601
or r9d, 0xbf
movzx edx, r9b
imul edx, edx
imul edx, edx, 0x75b9
xor ebx, ebx
cmp ecx, edx
sete bl
sub edi, ebx
mov ecx, dword [rbp + 0x1a8]
or ecx, 0x2a
movzx ecx, cl
imul ecx, ecx
imul ecx, ecx, 0x3c7
mov rdx, qword [rbp + 0x1e0]
or edx, 0x5b
movzx edx, dl
imul edx, edx
imul edx, edx, 0xb807
xor ebx, ebx
cmp ecx, edx
mov rcx, qword [rbp + 0x120]
mov dword [rcx], eax
sete bl
sub edi, ebx
add edi, 0xdcaa8016
or eax, 0x6a
movzx eax, al
imul eax, eax
imul eax, eax, 0xc11
mov rcx, qword [rbp + 0x1f0]
or ecx, 0xa6
movzx ecx, cl
imul ecx, ecx
imul ecx, ecx, 0xe521
xor edx, edx
cmp eax, ecx
sete dl
lea eax, [rsi + r10]
mov ecx, esi
xor ecx, r10d
sub eax, ecx
and esi, r10d
add esi, esi
xor esi, eax
neg edx
xor esi, edx
xor esi, 0x48e82ffd
imul esi, edi
cmp esi, 0xa9d5fca
jg 0x4040d3
cmp esi, 0xd322d3e6
mov r14, qword [rbp + 0x1c8]
je 0x406198
cmp esi, 0xfc071c43
je 0x402db0
cmp esi, 0x26a4377
je 0x4056f5
popfq
call qword [rbx]
jnp 0x4040e1
or eax, dword [rcx + 0xb26a2fe]
jb 0x4040e9
cmp esi, 0x720b26a2
jg 0x404364
pop qword [rbp - 0x7efffffe]
dec bl
pop rdi
popfq
or cl, byte [rdi]
test cl, dh
sldt word [rax]
cmp esi, 0xa9d5fcb
je 0x4050dc
retf
add byte [rax], al
cmp esi, 0x48e82ffd
jne 0x4040cd
mov rcx, r12
mov r12d, dword [rbp + 0x290]
mov rdx, r12
mov eax, edx
or eax, ecx
mov ecx, edx
or ecx, r15d
not ecx
lea ecx, [rcx + rcx*2]
mov edx, dword [rbp + 0x1c4]
sub edx, r15d
mov ebx, dword [rbp + 0x170]
mov r11d, ebx
sub r11d, eax
add r11d, ecx
xor r11d, edx
mov eax, r11d
xor eax, 0x3103aa93
mov rsi, qword [rbp + 0x1e8]
lea ecx, [r11 + rsi]
mov edx, r11d
xor edx, esi
sub ecx, edx
mov r14d, r11d
and r14d, esi
add r14d, r14d
xor r14d, ecx
mov r8d, r14d
xor r8d, 0xb1ce8a7f
imul r8d, eax
lea ecx, [r14 + r15]
mov eax, r14d
xor eax, r15d
sub ecx, eax
mov eax, r14d
and eax, r15d
add eax, eax
xor eax, ecx
and r8d, eax
mov rcx, qword [rbp + 0x120]
mov edi, dword [rcx]
mov r9d, r8d
xor r9d, edi
mov ecx, eax
not ecx
or ecx, esi
mov ebx, esi
or ebx, eax
not ebx
lea r10d, [rbx + rbx*2]
mov ebx, esi
not ebx
add ebx, ebx
sub ebx, eax
xor eax, esi
sub eax, ecx
add eax, r10d
xor eax, ebx
lea r10d, [rax - 0x6a422801]
mov ebx, r14d
not ebx
mov esi, r9d
or esi, ebx
mov ecx, r9d
xor ecx, r14d
sub ecx, esi
mov esi, r9d
or esi, r14d
not esi
lea esi, [rsi + rsi*2]
add ecx, esi
mov esi, r9d
not esi
add esi, esi
sub esi, r14d
xor ecx, esi
xor ecx, 0x420f99e
imul ecx, r10d
lea esi, [rdi + r14]
mov edx, edi
xor edx, r14d
sub esi, edx
and edi, r14d
add edi, edi
xor edi, esi
and ecx, edi
xor ecx, r9d
mov edx, r11d
not edx
or edx, r14d
mov esi, r14d
xor esi, r11d
sub esi, edx
mov edx, r14d
or edx, r11d
not edx
lea edx, [rdx + rdx*2]
add ebx, ebx
sub ebx, r11d
add esi, edx
xor esi, ebx
add esi, 0xc0b0eb7f
or eax, 0xc6
movzx eax, al
imul eax, eax
imul eax, eax, 0xd6af
mov edx, edi
or edx, 0x41
movzx edx, dl
imul edx, edx
imul ebx, edx, 0x77f9
xor edx, edx
cmp eax, ebx
sete dl
xor edx, 0x851abf43
imul edx, esi
or edi, 0x9c
movzx ebx, dil
imul ebx, ebx
imul edi, ebx, 0xd32b
or eax, 0x21
movzx eax, al
imul eax, eax
imul eax, eax, 0x7901
xor ebx, ebx
cmp edi, eax
sete bl
neg ebx
and ebx, edx
xor ebx, ecx
or r9d, 0x21
movzx ecx, r9b
imul ecx, ecx
imul ecx, ecx, 0xb015
or r11d, 0x34
movzx edx, r11b
imul edx, edx
imul edx, edx, 0x8f9
xor edi, edi
cmp ecx, edx
sete dil
lea ecx, [rax + r15]
mov edx, eax
xor edx, r15d
sub ecx, edx
and eax, r15d
add eax, eax
xor eax, ecx
mov ecx, eax
xor ecx, 0x2809afa2
sub ecx, edi
add ecx, 0x6868d00e
xor ecx, ebx
mov edx, eax
or edx, 0xaf
movzx edx, dl
imul edx, edx
imul edx, edx, 0xeb5b
or r8d, 0x15
movzx ebx, r8b
imul ebx, ebx
imul ebx, ebx, 0xa3e1
xor edi, edi
cmp edx, ebx
sete dil
xor edi, 0x9e5c01cd
or eax, 0xcf
movzx eax, al
imul eax, eax
imul eax, eax, 0x13eb
or r14d, 0xf1
movzx edx, r14b
imul edx, edx
imul edx, edx, 0x1051
xor ebx, ebx
cmp eax, edx
mov r9, qword [rbp + 0x1d8]
mov dword [r9], ecx
sete bl
mov eax, 0xa425d564
sub eax, ebx
imul eax, edi
mov rsi, qword [rbp + 0x1d0]
mov dword [rsi], eax
mov rax, qword [rbp + 0x60]
mov rax, qword [rax]
mov rcx, qword [rbp + 0x180]
mov qword [rcx], rax
jmp 0x402e95
cmp esi, 0x720b26a3
je 0x403163
cmp esi, 0x7ea74975
jne 0x4040cd
mov rax, qword [rbp + 0xc0]
mov ecx, dword [rax]
mov rax, qword [rbp + 0xb8]
mov ebx, dword [rax]
mov eax, ebx
xor eax, ecx
mov edx, ecx
not edx
or edx, r15d
mov edi, r15d
or edi, ecx
not edi
lea esi, [rdi + rdi*2]
mov edi, r15d
xor edi, ecx
sub edi, edx
lea edx, [r12 + r12]
sub edx, ecx
add edi, esi
xor edi, edx
add edi, 0x141c62d3
mov edx, eax
or edx, 0xc1
movzx edx, dl
imul edx, edx
imul r8d, edx, 0x2a1d
or ebx, 0x51
movzx ebx, bl
imul ebx, ebx
imul ebx, ebx, 0x1b4f
xor esi, esi
cmp r8d, ebx
sete sil
neg esi
xor esi, 0x1e3f7c37
imul esi, edi
mov rdx, qword [rbp + 0x1e8]
lea edi, [rdx + r15]
mov ebx, edx
xor ebx, r15d
sub edi, ebx
mov ebx, edx
and ebx, r15d
add ebx, ebx
xor ebx, edi
and ebx, esi
mov r11d, dword [rbp + 0x290]
lea edi, [rbx + r11]
mov esi, ebx
xor esi, r11d
sub edi, esi
xor eax, ebx
and ebx, r11d
add ebx, ebx
xor ebx, edi
add ebx, 0xeb512519
or ecx, 0x61
movzx ecx, cl
imul ecx, ecx
imul ecx, ecx, 0x5135
xor ebx, eax
or eax, 0x98
movzx eax, al
imul eax, eax
imul edx, eax, 0x5da3
xor edi, edi
cmp ecx, edx
sete dil
neg edi
xor edi, ebx
xor edi, 0x93fd8df5
mov r9, qword [rbp + 0x1d8]
mov dword [r9], edi
lea ebx, [rcx + r8]
mov edi, ecx
xor edi, r8d
sub ebx, edi
and ecx, r8d
add ecx, ecx
xor ecx, ebx
mov ebx, edx
or ebx, r12d
mov eax, edx
not eax
add eax, eax
sub eax, r15d
xor eax, ecx
mov ecx, edx
xor edx, r15d
sub edx, ebx
or ecx, r15d
not ecx
lea ecx, [rcx + rcx*2]
add edx, ecx
xor edx, eax
xor edx, 0x114514
mov rsi, qword [rbp + 0x1d0]
mov dword [rsi], edx
mov rax, qword [rbp + 0x180]
jmp 0x402e8e
mov r13, qword [rbp + 0x208]
mov edx, dword [r13]
lea eax, [rdx + r15]
mov ecx, edx
xor ecx, r15d
sub eax, ecx
mov ebx, edx
and ebx, r15d
add ebx, ebx
xor ebx, eax
mov edi, ebx
xor edi, 0xa00a04b5
lea eax, [rdx + rbx]
mov ecx, edx
xor ecx, ebx
sub eax, ecx
mov r10d, edx
and r10d, ebx
add r10d, r10d
xor r10d, eax
lea eax, [r10 + 0x2fa708a7]
imul eax, edi
xor eax, edx
mov edi, r15d
or edi, r14d
mov esi, r15d
mov r14d, dword [rbp + 0x290]
mov rcx, r14
or esi, ecx
not esi
lea r8d, [rsi + rsi*2]
lea r9d, [r12 + r12]
mov esi, r9d
sub esi, ecx
mov ecx, dword [rbp + 0x170]
sub ecx, edi
add ecx, r8d
movabs rdi, 0x2de253186415f011
lea r11d, [rdi + 0x2fdc50e0]
xor r11d, esi
xor r11d, ecx
or edx, 0xe6
movzx ecx, dl
imul ecx, ecx
imul r8d, ecx, 0xf529
mov ecx, ebx
or ecx, 0xfc
movzx ecx, cl
imul ecx, ecx
imul ecx, ecx, 0x4513
xor edx, edx
cmp r8d, ecx
sete dl
neg edx
xor edx, edi
xor r11d, eax
xor r11d, edx
mov edx, eax
not edx
mov ecx, r15d
or ecx, edx
mov esi, r15d
xor esi, eax
sub esi, ecx
mov ecx, r15d
or ecx, eax
not ecx
lea ecx, [rcx + rcx*2]
sub r9d, eax
add esi, ecx
xor esi, r9d
or edx, ebx
mov ecx, ebx
or ecx, eax
mov edi, ebx
not edi
add edi, edi
sub edi, eax
xor eax, ebx
sub eax, edx
not ecx
lea ecx, [rcx + rcx*2]
add eax, ecx
add esi, 0xf5dca16b
xor eax, edi
lea ecx, [rax + 0x72135797]
imul ecx, esi
mov rdx, qword [rbp + 8]
movzx edx, byte [rdx]
neg edx
and ecx, edx
xor ecx, r11d
mov r9, qword [rbp + 0x1d8]
mov dword [r9], ecx
mov rcx, qword [rbp + 0x1e8]
or ecx, 0xd0
movzx ecx, cl
imul ecx, ecx
imul ecx, ecx, 0x91f9
or r10d, 0x47
movzx edx, r10b
imul edx, edx
imul edx, edx, 0x28bb
xor ebx, ebx
cmp ecx, edx
sete bl
movabs rcx, 0x1cbe2a601ea80087
mov rsi, rcx
sub ecx, ebx
mov edx, r8d
not edx
or edx, eax
mov ebx, eax
or ebx, r8d
mov edi, eax
not edi
add edi, edi
sub edi, r8d
xor eax, r8d
sub eax, edx
not ebx
lea edx, [rbx + rbx*2]
add eax, edx
lea edx, [rsi + 0x11450c]
xor edx, edi
mov rdi, r13
xor edx, eax
xor edx, ecx
mov rsi, qword [rbp + 0x1d0]
mov dword [rsi], edx
mov rax, qword [rbp + 0x188]
mov qword [rax], 0
mov rbx, r15
mov r15d, dword [r9]
mov dword [rdi], r15d
mov eax, ebx
or eax, 0x4a
movzx eax, al
imul eax, eax
imul edx, eax, 0x8243
mov eax, r15d
or eax, 0xbd
movzx eax, al
imul eax, eax
imul r8d, eax, 0x7415
xor ecx, ecx
cmp edx, r8d
sete cl
neg ecx
xor ecx, 0xbe0be8
mov r9d, r15d
not r9d
mov r10d, dword [rbp + 0x290]
mov edx, r10d
or edx, r9d
mov ebx, r10d
or ebx, r15d
not ebx
lea ebx, [rbx + rbx*2]
mov rax, rdi
mov edi, dword [rbp + 0x1c4]
sub edi, r15d
mov r11d, r10d
xor r11d, r15d
sub r11d, edx
add r11d, ebx
xor r11d, edi
lea r12d, [r11 + rcx]
add r12d, 0xff41f417
and r12d, dword [rax]
mov ecx, dword [rsi]
mov edx, ecx
or edx, 0xc0
movzx edx, dl
imul edx, edx
imul edx, edx, 0xf367
mov ebx, r12d
or ebx, 0xaf
movzx ebx, bl
imul ebx, ebx
imul ebx, ebx, 0xdc7b
xor eax, eax
cmp edx, ebx
sete al
lea edx, [r8 + r10]
mov ebx, r8d
xor ebx, r10d
sub edx, ebx
and r8d, r10d
add r8d, r8d
xor r8d, edx
mov qword [rbp + 0x1f0], rax
lea edi, [rax - 1]
mov dword [rbp + 0x1e0], edi
mov edx, r8d
not edx
lea r14d, [rax + rdx*2]
mov edx, eax
neg edx
movabs rax, 0x5ffd4ca05d6fb0f3
lea esi, [rax + 0x45209e19]
xor esi, r8d
xor esi, eax
xor esi, edx
and esi, ecx
mov ebx, r8d
or ebx, edi
mov ecx, r8d
or ecx, edx
not ecx
lea edi, [rcx + rcx*2]
mov ecx, r8d
xor ecx, edx
sub ecx, ebx
add ecx, edi
xor ecx, r14d
mov r13d, ecx
xor r13d, 0x9e888129
mov edi, ecx
or edi, 0x44
movzx edi, dil
imul edi, edi
imul edi, edi, 0xc401
mov ebx, esi
or ebx, 0x66
movzx ebx, bl
imul ebx, ebx
imul r14d, ebx, 0x94e1
xor ebx, ebx
cmp edi, r14d
sete bl
neg ebx
xor ebx, 0xf6cd6de7
imul ebx, r13d
mov r13d, ecx
xor r13d, edi
lea eax, [rcx + rdi]
sub eax, r13d
and ecx, edi
add ecx, ecx
xor ecx, eax
mov eax, r12d
xor eax, r8d
lea edi, [r12 + r8]
sub edi, eax
and ebx, r12d
xor esi, ebx
and r8d, r12d
add r8d, r8d
xor r8d, edi
movabs rax, 0x739b51ec64f69721
mov rdi, rax
lea eax, [rax + rcx]
add eax, 0xdcdb8f
xor r8d, edi
xor r8d, eax
imul r8d, esi
or r14d, 0xc7
movzx eax, r14b
imul eax, eax
imul eax, eax, 0xddab
mov esi, ebx
or esi, 0x2f
movzx esi, sil
imul esi, esi
imul esi, esi, 0xa597
xor r14d, r14d
cmp eax, esi
sete r14b
mov eax, ecx
not eax
or eax, r15d
mov esi, r15d
or esi, ecx
add r9d, r9d
sub r9d, ecx
xor ecx, r15d
sub ecx, eax
not esi
lea eax, [rsi + rsi*2]
add ecx, eax
mov esi, r14d
neg esi
xor ecx, r9d
mov eax, esi
xor eax, 0x13
xor ecx, 0xf5
add ecx, eax
sar r12d, cl
mov r13, qword [rbp + 0x1c8]
mov rax, qword [rbp + 0x1f0]
lea r9d, [rax + r13*2]
mov rdi, qword [rbp + 0xf0]
mov dword [rdi], r12d
mov eax, dword [rbp + 0x1e0]
or eax, r10d
mov ecx, r10d
or ecx, edx
xor edx, r10d
sub edx, eax
mov edi, dword [rdi]
not ecx
lea ecx, [rcx + rcx*2]
add edx, ecx
xor edx, r9d
lea eax, [rbx + rdi]
mov ecx, ebx
xor ecx, edi
sub eax, ecx
and ebx, edi
add ebx, ebx
xor ebx, eax
movabs rax, 0xfcf45012239c727
mov rcx, rax
xor eax, edx
lea ecx, [rcx + rbx]
add ecx, 0xb1
xor ecx, eax
and ecx, edi
xor r8d, ecx
mov rax, qword [rbp + 0x138]
mov dword [rax], r8d
mov eax, ecx
sub eax, r14d
mov ebx, ecx
xor ebx, esi
sub eax, ebx
and esi, ecx
add esi, esi
xor esi, eax
or r11d, 0x3b
movzx eax, r11b
imul eax, eax
imul ebx, eax, 0xae2b
or r12d, 0x18
movzx eax, r12b
imul eax, eax
imul edi, eax, 0x6b87
xor r8d, r8d
cmp ebx, edi
sete r8b
mov edi, ecx
mov ebx, ecx
lea r9d, [rcx + rsi]
mov eax, ecx
mov r12, qword [rbp + 0x1f8]
or eax, r12d
mov r15, qword [rbp + 0x200]
xor ebx, r15d
sub ebx, eax
mov eax, ecx
or edi, r15d
not edi
lea edi, [rdi + rdi*2]
add ebx, edi
movabs rdi, 0x5ae21eaffb1252b0
mov r10, rdi
lea edi, [rdi + rsi]
add edi, 1
xor eax, esi
and esi, ecx
not ecx
add ecx, ecx
sub ecx, r15d
xor ebx, ecx
xor edi, r10d
xor ebx, edi
neg r8d
xor ebx, r8d
sub r9d, eax
add esi, esi
xor esi, r9d
lea eax, [rdx + rsi]
mov ecx, edx
xor ecx, esi
sub eax, ecx
and edx, esi
add edx, edx
xor edx, eax
lea eax, [rdx + rsi]
add eax, 0x6db9aa0a
cdq
idiv ebx
cmp eax, 0x37d35da2
mov r14, r13
jg 0x404b4d
cmp eax, 0x88ce0de6
je 0x405a82
cmp eax, 0xe5151703
jne 0x404b6e
mov eax, dword [rbp + 0xd0]
mov r11d, eax
and r11d, 1
mov eax, r11d
neg eax
mov r14d, dword [rbp + 0x290]
mov rbx, r14
mov ecx, ebx
or ecx, 0x3a
movzx ecx, cl
imul ecx, ecx
imul r10d, ecx, 0xe0b7
mov rcx, qword [rbp + 0x1e8]
mov edx, ecx
or edx, 0x5d
movzx edx, dl
imul edx, edx
imul r8d, edx, 0x8ebd
xor esi, esi
cmp r10d, r8d
sete sil
mov edx, ebx
or edx, 0x57
movzx edx, dl
imul edx, edx
imul r9d, edx, 0x52bb
mov edx, eax
or edx, 0x40
movzx edx, dl
imul edx, edx
imul ebx, edx, 0x183b
xor ecx, ecx
cmp r9d, ebx
sete cl
add ecx, esi
xor ecx, 0x4616d367
and ecx, eax
mov rdx, qword [rbp + 0x28]
mov r9d, dword [rdx]
xor r9d, ecx
mov ebx, ecx
sub ebx, esi
neg esi
mov edx, ecx
xor edx, esi
sub ebx, edx
and esi, ecx
add esi, esi
xor esi, ebx
or r10d, 0x2b
movzx edx, r10b
imul edx, edx
imul r10d, edx, 0xca9f
mov ebx, esi
or ebx, 0x1d
movzx ebx, bl
imul ebx, ebx
imul ebx, ebx, 0xadd5
xor edx, edx
cmp r10d, ebx
sete dl
neg edx
lea edx, [rsi + rdx]
add edx, 0xfed06a27
lea ebx, [r11 - 1]
or ebx, r11d
mov edi, r11d
or edi, eax
mov esi, r11d
not esi
lea esi, [r11 + rsi*2]
xor eax, r11d
sub eax, ebx
not edi
lea ebx, [rdi + rdi*2]
add eax, ebx
xor eax, esi
and eax, edx
mov edx, r10d
not edx
or edx, ecx
mov edi, ecx
or edi, r10d
mov ebx, ecx
not ebx
add ebx, ebx
sub ebx, r10d
xor ecx, r10d
sub ecx, edx
not edi
lea edx, [rdi + rdi*2]
add ecx, edx
xor r9d, eax
movabs rdx, 0x24a9acb9ec6f8305
mov rdi, rdx
xor ebx, edi
xor ebx, ecx
or r8d, 0x3e
movzx ecx, r8b
imul ecx, ecx
imul ecx, ecx, 0x263f
or eax, 0xbf
movzx eax, al
imul eax, eax
imul eax, eax, 0xdae9
xor edx, edx
cmp ecx, eax
mov rax, qword [rbp + 0x1d8]
mov dword [rax], r9d
mov r9, rax
sete dl
lea eax, [rdi + 0xf430c]
neg edx
xor edx, eax
xor edx, ebx
mov rsi, qword [rbp + 0x1d0]
mov dword [rsi], edx
jmp 0x402e95
cmp eax, 0x37d35da3
je 0x405bcb
cmp eax, 0x53b5d726
je 0x4044be
cmp eax, 0x6db9aa0a
je 0x40334e
xor rsp, r11
popfq
mov rsp, rbp
call qword [rbx]
loopne 0x404b88
or ecx, dword [rbp - 0x77]
invalid
mov r12, r8
mov rax, qword [rbp + 0x148]
mov rbx, qword [rbp + 0x128]
mov qword [rax], rbx
mov rax, qword [rax]
mov r14, qword [rbp + 0x1b0]
add dword [rax], eax
add byte [rax - 0x77], cl
sbb byte [rax - 0x75], cl
add byte [rbx + rcx*4 - 0x4b], cl
mov al, 1
add byte [rax], al
lea eax, [r15 + r14]
mov ecx, r15d
xor ecx, r14d
sub eax, ecx
and r15d, r14d
add r15d, r15d
xor r15d, eax
mov qword [rbx], r15
mov rax, qword [rbp + 0x158]
mov r9, qword [rax]
mov rax, qword [rbp + 0xc8]
mov rdx, qword [rax]
sub rsp, 0x30
mov qword [rsp + 0x20], rbx
mov rcx, 0xffffffffffffffff
mov r8, qword [rbp - 8]
call fcn.00416ad0
mov r8d, dword [rbp + 0x290]
add rsp, 0x30
mov ecx, eax
mov rsi, qword [rbp + 0x1f0]
mov eax, esi
or eax, 0xbd
movzx eax, al
imul eax, eax
imul eax, eax, 0x6697
mov edx, r12d
or edx, 0xb0
movzx edx, dl
imul edx, edx
imul ebx, edx, 0x856f
xor r9d, r9d
cmp eax, ebx
sete r9b
mov eax, r9d
neg eax
cmp ecx, eax
mov rcx, qword [rbp + 8]
setl byte [rcx]
lea ecx, [rsi + r13]
mov ebx, esi
xor ebx, r13d
sub ecx, ebx
and esi, r13d
add esi, esi
xor esi, ecx
mov ecx, r12d
not ecx
mov rbx, qword [rbp + 0x1e0]
or ecx, ebx
mov edx, ebx
or edx, r12d
mov edi, ebx
not edi
add edi, edi
sub edi, r12d
xor ebx, r12d
sub ebx, ecx
not edx
lea ecx, [rdx + rdx*2]
add ebx, ecx
xor esi, 0x7ec604df
xor ebx, edi
add ebx, 0x9eb6b71f
imul ebx, esi
or r14d, 0xbb
movzx ecx, r14b
imul ecx, ecx
imul edx, ecx, 0xb66f
mov rcx, qword [rbp + 0x1e8]
or ecx, 0xa2
movzx ecx, cl
imul ecx, ecx
imul edi, ecx, 0x88ed
xor ecx, ecx
cmp edx, edi
sete cl
neg ecx
xor ecx, ebx
mov ebx, r15d
mov r14, qword [rbp + 0x1c8]
or ebx, r14d
mov edi, r15d
mov esi, r15d
xor r15d, r8d
sub r15d, ebx
or edi, r8d
not edi
lea ebx, [rdi + rdi*2]
add r15d, ebx
lea ebx, [r9 - 1]
not esi
add esi, esi
sub esi, r8d
xor r15d, esi
or ebx, r8d
mov edi, r8d
or edi, eax
xor eax, r8d
sub eax, ebx
not edi
lea ebx, [rdi + rdi*2]
add eax, ebx
lea edx, [r9 + r14*2]
xor eax, edx
add r15d, 0xa5e9e86b
add eax, 0x4cba3b5b
imul eax, r15d
xor edx, edx
div ecx
cmp eax, 0x2dd75b7c
jg 0x404d5f
cmp eax, 0xc96649bc
mov r15, qword [rbp + 0x200]
mov r12, qword [rbp + 0x1f8]
jg 0x404d47
cmp eax, 0x84744709
je 0x4044be
cmp eax, 0x96043702
je 0x4049cc
jmp 0x404da1
cmp eax, 0xc96649bd
je 0x405a82
cmp eax, 0xfcbc87dc
je 0x403c04
jmp 0x404da1
cmp eax, 0x6c4c4a59
mov r15, qword [rbp + 0x200]
mov r12, qword [rbp + 0x1f8]
jg 0x404d8b
cmp eax, 0x2dd75b7d
je 0x402db0
cmp eax, 0x3eb4f7e4
jne 0x404da1
jmp 0x4050dc
cmp eax, 0x6c4c4a5a
je 0x40437c
cmp eax, 0x70e2c07c
je 0x405bcb
mov rsp, rbp
xor rsp, r11
xor rsp, r11
retf 0xb0f
cmp r12d, 0x3621cf3a
je 0x402ed6
mov qword [rbp + 0x1b8], r8
cmp r12d, 0xe750a815
je 0x405eee
cmp r12d, 0x1eb00296
mov rbx, qword [rbp + 0x200]
mov rdi, qword [rbp + 0x208]
jne 0x404673
mov rax, qword [rbp + 0x130]
mov rcx, qword [rax]
mov r8, qword [rbp + 0x190]
mov eax, r8d
or eax, 0x5e
movzx eax, al
imul eax, eax
imul edx, eax, 0x923
mov rax, qword [rbp + 0x1a0]
or eax, 3
movzx eax, al
imul eax, eax
imul r13d, eax, 0x4cd
xor eax, eax
cmp edx, r13d
sete al
mov qword [rbp + 0x1f0], rax
xor eax, 0xf4401df
mov ebx, r8d
not ebx
or ebx, edx
mov r14, r12
mov r12, rdi
mov edi, edx
or edi, r8d
not edi
lea edi, [rdi + rdi*2]
mov esi, edx
not esi
add esi, esi
sub esi, r8d
xor edx, r8d
sub edx, ebx
add edx, edi
xor edx, esi
add edx, 0x4110fa1f
imul edx, eax
sub rsp, 0x20
xor r8d, r8d
call fcn.00416b90
add rsp, 0x20
mov ecx, dword [r12]
mov rdi, qword [rbp + 0x1a8]
lea edx, [r14 + rdi]
mov ebx, r14d
xor ebx, edi
sub edx, ebx
and r14d, edi
add r14d, r14d
xor r14d, edx
xor r14d, 0xf8c26d46
mov edx, ecx
or edx, 0x91
movzx edx, dl
imul edx, edx
imul r8d, edx, 0x9557
mov r11, qword [rbp + 0x1e0]
mov edx, r11d
or edx, 0x33
movzx edx, dl
imul edx, edx
imul edx, edx, 0xd43b
xor ebx, ebx
cmp r8d, edx
sete bl
sub r14d, ebx
add r14d, 0x2b96d551
xor r14d, ecx
mov ecx, edx
not ecx
or ecx, r11d
mov ebx, r11d
or ebx, edx
not ebx
lea ebx, [rbx + rbx*2]
mov edi, r11d
not edi
add edi, edi
sub edi, edx
xor r11d, edx
sub r11d, ecx
add r11d, ebx
xor r11d, edi
lea edx, [r11 - 0x7a25e279]
mov r10, qword [rbp + 0x1b0]
mov ecx, r10d
not ecx
mov ebx, r13d
or ebx, ecx
mov edi, r13d
xor edi, r10d
sub edi, ebx
mov ebx, r13d
or ebx, r10d
not ebx
lea ebx, [rbx + rbx*2]
add edi, ebx
mov ebx, r13d
not ebx
add ebx, ebx
sub ebx, r10d
xor edi, ebx
add edi, 0x4d54a6dc
xor edi, edx
or ecx, r15d
mov edx, r15d
or edx, r10d
not edx
lea edx, [rdx + rdx*2]
mov ebx, r15d
not ebx
add ebx, ebx
sub ebx, r10d
xor r15d, r10d
sub r15d, ecx
add r15d, edx
xor r15d, ebx
lea ecx, [r11 + rax]
mov edx, r11d
xor edx, eax
sub ecx, edx
and eax, r11d
add eax, eax
xor eax, ecx
xor eax, r15d
xor eax, 0x34047b13
mov ecx, r10d
or ecx, 0x19
movzx ecx, cl
imul ecx, ecx
imul ecx, ecx, 0xfd1
mov edx, r11d
or edx, 0x40
movzx edx, dl
imul edx, edx
imul ebx, edx, 0x5903
xor r9d, r9d
cmp ecx, ebx
sete r9b
neg r9d
and r9d, eax
xor edi, r9d
xor edi, r14d
mov rax, qword [rbp + 0x28]
mov dword [rax], edi
lea eax, [rcx + r13]
mov ebx, ecx
xor ebx, r13d
sub eax, ebx
and ecx, r13d
add ecx, ecx
xor ecx, eax
mov rdx, qword [rbp + 0x1f0]
mov eax, edx
neg eax
lea ebx, [rdx - 1]
or ebx, r8d
mov edi, r8d
or edi, eax
xor eax, r8d
mov esi, r8d
not esi
lea esi, [rdx + rsi*2]
sub eax, ebx
not edi
lea ebx, [rdi + rdi*2]
add eax, ebx
xor eax, esi
xor eax, 0xc3bcf456
lea ecx, [rcx + rax]
add ecx, 0x3c430bab
or r10d, 0xde
movzx eax, r10b
imul eax, eax
imul ebx, eax, 0x6f1f
mov rax, qword [rbp + 0x1b8]
or eax, 0x8e
movzx eax, al
imul eax, eax
imul edi, eax, 0x1a05
xor eax, eax
cmp ebx, edi
sete al
mov edx, r9d
sub edx, eax
neg eax
or ecx, eax
mov ebx, r9d
xor ebx, eax
sub edx, ebx
and eax, r9d
add eax, eax
xor eax, edx
mov edx, r11d
not edx
or edx, r15d
mov ebx, r15d
or ebx, r11d
mov edi, r15d
not edi
add edi, edi
sub edi, r11d
xor r15d, r11d
sub r15d, edx
not ebx
lea edx, [rbx + rbx*2]
add r15d, edx
xor r15d, edi
xor eax, 0x3f166d57
xor r15d, 0x59471ef5
imul r15d, eax
mov eax, r15d
cdq
idiv ecx
cmp eax, 0xdcbf070c
jg 0x4057a6
cmp eax, 0x9367d643
mov r15, qword [rbp + 0x200]
mov r14, qword [rbp + 0x1c8]
mov r12, qword [rbp + 0x1f8]
je 0x4049cc
cmp eax, 0xcbbcb666
je 0x402db0
cmp eax, 0xdb5c0717
jne 0x4057ef
mov rax, qword [rbp + 0x30]
mov rax, qword [rax]
mov rax, qword [rbp + 0x38]
mov rax, qword [rax]
movaps xmm6, xmmword [rbp + 0x210]
lea rsp, [rbp + 0x228]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
cmp r12d, 0x61add653
mov r9, qword [rbp + 0x1d8]
jg 0x405157
cmp r12d, 0x414e55c8
je 0x4057fa
cmp r12d, 0x53bf7754
je 0x402c1a
mov qword [rbp + 0x1f0], rbx
mov rax, r12
cmp eax, 0x5c0efc14
mov rbx, qword [rbp + 0x200]
mov rdi, qword [rbp + 0x208]
je 0x404b7a
jmp 0x404673
cmp r12d, 0x61add654
je 0x406338
cmp r12d, 0x75195b0f
je 0x403934
cmp r12d, 0x767be114
mov rbx, qword [rbp + 0x200]
mov rdi, qword [rbp + 0x208]
jne 0x404673
mov rax, qword [rbp + 0x150]
mov ecx, dword [rax]
lea eax, [rcx + r13]
mov edx, r13d
xor edx, ecx
sub eax, edx
mov edx, r13d
and edx, ecx
add edx, edx
xor edx, eax
xor r8d, r8d
cmp ecx, edx
setl r8b
mov ecx, r12d
not ecx
or ecx, r8d
mov edx, r8d
or edx, r12d
not edx
lea edx, [rdx + rdx*2]
mov eax, r8d
not eax
add eax, eax
sub eax, r12d
mov esi, r8d
xor esi, r12d
sub esi, ecx
add esi, edx
xor esi, eax
xor esi, 0x4b3903d9
mov r10, qword [rbp + 0x1a8]
mov eax, dword [rbp + 0x290]
mov rdx, rax
add eax, r10d
mov ecx, r10d
xor ecx, edx
sub eax, ecx
and r10d, edx
add r10d, r10d
xor r10d, eax
add r10d, 0xb243af2e
imul r10d, esi
xor r10d, dword [rdi]
or r12d, 0xc5
movzx eax, r12b
imul eax, eax
imul r9d, eax, 0x739f
mov r11, qword [rbp + 0x1a0]
mov eax, r11d
or eax, 0x8f
movzx eax, al
imul eax, eax
imul eax, eax, 0xd8e9
xor edx, edx
cmp r9d, eax
sete dl
mov eax, 0x2c6cbe16
sub eax, edx
mov edx, ebx
or edx, 0x7b
movzx edx, dl
imul edx, edx
mov r15, rbx
imul ebx, edx, 0x679
mov edx, r13d
or edx, 0xc3
movzx edx, dl
imul edx, edx
imul edi, edx, 0x125
xor edx, edx
cmp ebx, edi
sete dl
mov esi, edx
xor esi, 0xded0af1
xor esi, eax
mov edi, edx
neg edi
mov eax, edi
mov r12, qword [rbp + 0x1f8]
or eax, r12d
mov ecx, edi
xor edi, r15d
sub edi, eax
or ecx, r15d
not ecx
lea eax, [rcx + rcx*2]
add edi, eax
add edx, edx
sub edx, r15d
add edx, 0xfffffffe
xor edi, edx
and edi, esi
xor edi, r10d
neg r8d
mov eax, ebx
or eax, 0x5e
movzx eax, al
imul eax, eax
imul eax, eax, 0x7dcb
mov ecx, r11d
or ecx, 0xdb
movzx ecx, cl
imul ecx, ecx
imul ecx, ecx, 0x855d
xor edx, edx
cmp eax, ecx
sete dl
mov rsi, qword [rbp + 0x1e8]
lea eax, [rsi + rbx]
mov ecx, esi
xor ecx, ebx
sub eax, ecx
neg edx
and ebx, esi
add ebx, ebx
xor ebx, eax
add ebx, 0x49e2de8c
xor ebx, edx
xor ebx, 0x8d6afcf2
and ebx, r8d
mov eax, esi
or eax, 0xd0
movzx eax, al
imul eax, eax
imul eax, eax, 0x9f23
mov ecx, r13d
or ecx, 0x59
movzx ecx, cl
imul ecx, ecx
imul ecx, ecx, 0x5323
xor edx, edx
cmp eax, ecx
mov rax, qword [rbp + 0xb8]
mov dword [rax], ebx
sete dl
neg edx
or r11d, 0x86
movzx eax, r11b
imul eax, eax
imul ecx, eax, 0x5029
or ebx, 0x3c
movzx eax, bl
imul eax, eax
imul ebx, eax, 0x17f5
xor eax, eax
cmp ecx, ebx
sete al
xor eax, 0xfe573323
xor eax, edx
xor eax, 0xd765ff3a
or r9d, 0x11
movzx ecx, r9b
imul ecx, ecx
imul edx, ecx, 0x757
or r13d, 0x80
movzx ecx, r13b
imul ecx, ecx
imul ebx, ecx, 0xa1fb
xor ecx, ecx
cmp edx, ebx
mov rdx, qword [rbp + 0xc0]
mov dword [rdx], edi
sete cl
neg ecx
or ecx, eax
cmp ecx, 0x95e1a00a
je 0x403163
cmp ecx, 0x121fd281
je 0x4040f3
cmp ecx, 0x2932cc19
je 0x40437c
mov rsp, rbp
popfq
xor rsp, r11
jne 0x4053f6
or ecx, dword [rax - 0x75]
test dword [rax + 0x48000000], ebx
mov eax, dword [rax]
mov rax, qword [rbp + 0x98]
mov rax, qword [rax]
mov rcx, qword [rbp + 0x130]
mov qword [rcx], rax
cmp qword [rcx], 0
add dword [rax], eax
add byte [rax - 0x77], cl
add dword [rax - 0x7d], ecx
cmp dword [rax], eax
mov rax, qword [rbp + 0x90]
sete byte [rax]
mov rax, qword [rbp + 0x1b0]
or eax, 0xe7
movzx eax, al
imul eax, eax
imul eax, eax, 0x77b3
mov dword [rbp + 0x1f0], eax
xor r8d, r8d
cmp eax, 0x3c0b31
sete r8b
mov ecx, r8d
neg ecx
mov eax, r12d
not eax
mov r14, qword [rbp + 0x190]
or eax, r14d
mov edx, r14d
xor edx, r12d
sub edx, eax
mov eax, r14d
or eax, r12d
not eax
lea eax, [rax + rax*2]
add edx, eax
mov eax, r14d
not eax
add eax, eax
sub eax, r12d
xor edx, eax
mov eax, ecx
xor eax, 0x90f74a54
lea r10d, [rdx + rax]
add r10d, 0x4e5c4dfd
mov rdx, qword [rbp + 0x208]
mov r9d, dword [rdx]
xor r10d, r9d
or r15d, 0xf5
movzx edi, r15b
imul edi, edi
imul r11d, edi, 0x80d7
mov edi, r13d
or edi, 0x72
movzx edi, dil
imul edi, edi
imul esi, edi, 0x10fd
xor edx, edx
cmp r11d, esi
sete dl
mov esi, r9d
xor esi, ebx
mov rdi, rbx
add ebx, r9d
sub ebx, esi
and r9d, edi
add r9d, r9d
xor r9d, ebx
mov r15, qword [rbp + 0x200]
mov ebx, r15d
sub ebx, edx
neg edx
mov edi, edx
xor edi, 0x91fe03dd
mov esi, r9d
xor esi, 0x1380c4e8
imul esi, edi
mov edi, edx
xor edi, r15d
sub ebx, edi
and edx, r15d
add edx, edx
xor edx, ebx
mov edi, r12d
sub edi, r8d
mov ebx, r12d
xor ebx, ecx
sub edi, ebx
and ecx, r12d
add ecx, ecx
xor ecx, edi
mov r8, qword [rbp + 0x1e8]
mov rax, qword [rbp + 0x140]
or eax, r8d
mov ebx, r8d
mov r12, qword [rbp + 0x198]
or ebx, r12d
mov edi, r8d
not edi
add edi, edi
sub edi, r12d
xor r12d, r8d
sub r12d, eax
not ebx
lea ebx, [rbx + rbx*2]
add r12d, ebx
mov ebx, ecx
xor ebx, 0x3ba578d
xor r12d, edi
xor r12d, 0xa048913a
add r12d, ebx
lea ebx, [r14 + rcx]
mov edi, r14d
xor edi, ecx
sub ebx, edi
and ecx, r14d
and esi, edx
xor esi, r10d
add ecx, ecx
xor ecx, ebx
and ecx, r12d
mov ebx, r11d
or ebx, 0xd1
movzx ebx, bl
imul ebx, ebx
imul ebx, ebx, 0x8fad
or r10d, 0x10
movzx eax, r10b
imul eax, eax
imul eax, eax, 0x45ef
xor edi, edi
cmp ebx, eax
sete dil
mov ebx, 0x6b2394e8
sub ebx, edi
or r11d, 0x60
movzx eax, r11b
imul eax, eax
imul r8d, eax, 0x39ef
mov eax, dword [rbp + 0x1f0]
or eax, 0xbe
movzx eax, al
imul eax, eax
imul edi, eax, 0xa39
xor eax, eax
cmp r8d, edi
mov rdi, qword [rbp + 0x88]
mov dword [rdi], esi
mov rdi, qword [rbp + 0x80]
mov dword [rdi], ecx
sete al
neg eax
xor eax, ebx
xor eax, 0x6b2394e9
or r9d, 0xbd
movzx ecx, r9b
imul ecx, ecx
imul ecx, ecx, 0x93d7
or edx, 0x99
movzx edx, dl
imul edx, edx
imul edx, edx, 0x3aa9
xor ebx, ebx
cmp ecx, edx
sete bl
sub eax, ebx
or edx, 0x94
movzx ecx, dl
imul ecx, ecx
imul edx, ecx, 0xa74d
mov rcx, qword [rbp + 0x1b8]
or ecx, 0x5d
movzx ecx, cl
imul ecx, ecx
imul ecx, ecx, 0xaffd
xor ebx, ebx
cmp edx, ecx
sete bl
mov edx, r13d
not edx
or edx, ecx
mov edi, ecx
or edi, r13d
mov esi, ecx
not esi
add esi, esi
sub esi, r13d
xor ecx, r13d
sub ecx, edx
not edi
lea edx, [rdi + rdi*2]
add ecx, edx
xor ecx, esi
neg ebx
xor ecx, ebx
xor ecx, 0x37b4bfbd
imul ecx, eax
cmp ecx, 0xfbf60c4e
enter 0xfffffffffffff981, 0x4e
or al, 0xf6
sti
jg 0x4056b2
cmp ecx, 0xe0160b11
mov r14, qword [rbp + 0x1c8]
mov r12, qword [rbp + 0x1f8]
je 0x4056f5
cmp ecx, 0xe7b595e7
je 0x402db0
jmp 0x4056e4
cmp ecx, 0xfbf60c4f
mov r14, qword [rbp + 0x1c8]
mov r12, qword [rbp + 0x1f8]
je 0x4040f3
cmp ecx, 0x37b4bfbd
je 0x406198
cmp ecx, 0x5a45690e
je 0x4044be
xor rsp, r11
call qword [rbx]
popfq
lea rdx, [rbp - 4]
lea rdx, [rbp - 4]
jno 0x405703
or ecx, dword [rax - 0x75]
js 0x405685
mov rax, qword [rbp + 0x78]
mov eax, dword [rax]
mov rcx, qword [rbp + 0x70]
mov ecx, dword [rcx]
xor ecx, eax
add byte [rax - 0x75], cl
jo 0x40568b
or dword [rcx], esi
ror dword [rbp - 0x3d76f7e4], 0x31
retf 0xd329
lea ebx, [rax + rcx]
mov edx, eax
xor edx, ecx
sub ebx, edx
mov edx, eax
and edx, ecx
add edx, edx
xor edx, ebx
mov ebx, eax
not ebx
or ebx, r15d
mov edi, r15d
or edi, eax
not edi
lea r8d, [rdi + rdi*2]
mov esi, r15d
xor esi, eax
sub esi, ebx
lea edi, [r12 + r12]
add esi, r8d
mov ebx, edi
sub ebx, eax
xor esi, ebx
add edx, 0x83dfd338
xor edx, ecx
add esi, 0xf2e09fff
xor edx, esi
mov r9, qword [rbp + 0x1d8]
mov dword [r9], edx
mov ecx, r15d
or ecx, r14d
mov edx, dword [rbp + 0x170]
sub edx, ecx
mov ecx, r15d
mov r11d, dword [rbp + 0x290]
or ecx, r11d
not ecx
lea ecx, [rcx + rcx*2]
sub edi, r11d
add edx, ecx
xor edx, edi
mov rdi, qword [rbp + 0x1e8]
lea ecx, [rdi + rax]
mov ebx, edi
xor ebx, eax
sub ecx, ebx
and eax, edi
add eax, eax
xor eax, ecx
xor eax, edx
xor eax, 0x114514
mov rsi, qword [rbp + 0x1d0]
mov dword [rsi], eax
jmp 0x402e95
cmp eax, 0x1f9f6b4c
mov r15, qword [rbp + 0x200]
mov r14, qword [rbp + 0x1c8]
mov r12, qword [rbp + 0x1f8]
jg 0x4057d9
cmp eax, 0xdcbf070d
je 0x403163
cmp eax, 0xf55bd1a4
jne 0x4057ef
jmp 0x406198
cmp eax, 0x1f9f6b4d
je 0x4044be
cmp eax, 0x4701ff61
je 0x405bcb
call qword [rbx]
xor rsp, r11
xor rsp, r11
jle 0x405808
or ecx, dword [rax - 0x75]
test dword [rax + 1], esp
add byte [rax], al
mov rax, qword [rbp + 0x160]
mov rax, qword [rax]
mov rcx, qword [rbp + 0x20]
mov qword [rcx], rax
mov rax, qword [rbp + 0x208]
mov r14d, dword [rax]
mov r9, qword [rbp + 0x1a0]
mov ecx, r9d
or ecx, 0x7d
movzx ecx, cl
imul ecx, ecx
imul edx, ecx, 0xc96b
mov ecx, ebx
or ecx, 0xfc
movzx ecx, cl
imul ecx, ecx
mov r11, rbx
imul ebx, ecx, 0xf5b7
xor ecx, ecx
cmp edx, ebx
sete cl
neg ecx
xor ecx, 0x1f8adcc5
mov eax, dword [rbp + 0x290]
mov edx, eax
or edx, 0xa9
movzx edx, dl
imul edx, edx
mov qword [rbp + 0x1b8], r8
imul r10d, edx, 0x8923
mov edx, r13d
or edx, 0xa8
movzx edx, dl
imul edx, edx
imul edx, edx, 0x70cf
xor edi, edi
cmp r10d, edx
sete dil
sub ecx, edi
add ecx, 0x6afbbbf7
xor ecx, r14d
mov rax, qword [rbp + 0x190]
or eax, 0xc7
movzx edx, al
imul edx, edx
imul esi, edx, 0x175
mov rax, qword [rbp + 0x1e0]
or eax, 0x87
movzx edx, al
imul edx, edx
imul edx, edx, 0x926b
xor r8d, r8d
cmp esi, edx
sete r8b
or r11d, 0xa7
movzx esi, r11b
imul esi, esi
imul esi, esi, 0x455
mov r12, qword [rbp + 0x200]
mov ebx, r12d
or ebx, 0x98
movzx ebx, bl
imul ebx, ebx
imul ebx, ebx, 0x23f9
cmp esi, ebx
sete r11b
mov edi, edx
not edi
or edi, r9d
mov esi, r9d
or esi, edx
mov ebx, r9d
not ebx
add ebx, ebx
sub ebx, edx
xor r9d, edx
sub r9d, edi
not esi
lea edx, [rsi + rsi*2]
add r9d, edx
xor r9d, ebx
xor r11b, r8b
movzx edx, r11b
neg edx
xor edx, 0x4118ae5
and r9d, edx
xor r9d, ecx
mov rax, qword [rbp + 0x18]
mov dword [rax], r9d
or r10d, 0x11
movzx edx, r10b
mov rsi, qword [rbp + 0x1b8]
imul edx, edx
imul edx, edx, 0x94e1
or ecx, 0x7d
movzx ecx, cl
imul ecx, ecx
imul ecx, ecx, 0xf0bf
xor ebx, ebx
cmp edx, ecx
sete bl
neg ebx
mov rax, qword [rbp + 0x10]
mov dword [rax], ebx
lea edx, [r8 - 1]
mov r9, qword [rbp + 0x1f8]
lea ebx, [r8 + r9*2]
mov ecx, r8d
neg ecx
or edx, r12d
mov edi, r12d
or edi, ecx
not edi
lea edi, [rdi + rdi*2]
xor ecx, r12d
sub ecx, edx
add ecx, edi
xor ecx, ebx
mov edx, esi
not edx
or edx, r14d
mov ebx, r14d
mov eax, r14d
xor r14d, esi
sub r14d, edx
or ebx, esi
not ebx
lea edx, [rbx + rbx*2]
add r14d, edx
xor ecx, 0x9284299
not eax
add eax, eax
sub eax, esi
xor r14d, eax
add r14d, 0x3a30885b
imul r14d, ecx
mov eax, r15d
not eax
or eax, r13d
mov ecx, r13d
or ecx, r15d
not r13d
add r13d, r13d
sub r13d, r15d
mov r15, r12
mov r12, r9
sub esi, eax
not ecx
lea eax, [rcx + rcx*2]
add esi, eax
xor esi, r13d
add esi, r14d
cmp esi, 0xb737d52b
mov r14, qword [rbp + 0x1c8]
je 0x4056f5
cmp esi, 0xca2642b6
je 0x40437c
cmp esi, 0xcb60f463
je 0x405a82
lea rdx, [rbp - 4]
call qword [rbx]
mov rsp, rbp
jno 0x405a54
or ecx, dword [rcx + rsi - 0x24]
xor rsp, r11
popfq
mov rsp, rbp
xor rsp, r11
loop 0x405a61
or edi, dword [0x51984ba2]
cmp eax, 0x5157f14a
int1
push rdi
push rcx
mov r15, qword [rbp + 0x200]
mov r12, qword [rbp + 0x1f8]
je 0x405bcb
movsd dword [rdi], dword [rsi]
clc
add dword [rax], eax
add byte [rdi], cl
test byte [rdi + 1], bl
add byte [rax], al
cmp eax, 0x68219660
je 0x4056f5
cmp eax, 0x58db494b
jne 0x40391b
mov r10, qword [rbp + 0x1e8]
mov r11d, dword [rbp + 0x290]
lea eax, [r11 + r10]
mov ecx, r11d
xor ecx, r10d
sub eax, ecx
mov edi, r11d
and edi, r10d
add edi, edi
xor edi, eax
mov eax, edi
or eax, r14d
mov edx, edi
or edx, r11d
not edx
lea edx, [rdx + rdx*2]
mov ebx, edi
not ebx
add ebx, ebx
sub ebx, r11d
mov ecx, edi
xor ecx, r11d
sub ecx, eax
add ecx, edx
xor ecx, ebx
lea esi, [rcx + rdi]
add esi, 0xda9510f3
mov rax, qword [rbp + 0x10]
and esi, dword [rax]
mov r8d, esi
mov ebx, ecx
not ebx
or ebx, esi
mov edi, esi
or edi, ecx
mov edx, esi
not edx
add edx, edx
sub edx, ecx
xor esi, ecx
mov rax, qword [rbp + 0x18]
mov r9d, dword [rax]
xor r8d, r9d
not edi
lea ecx, [rdi + rdi*2]
sub esi, ebx
add esi, ecx
movabs rax, 0x365be4b73c9abe99
mov rbx, rax
xor edx, ebx
xor edx, esi
mov ecx, r10d
or ecx, 0xdb
movzx ecx, cl
imul ecx, ecx
imul ecx, ecx, 0xa6cd
mov eax, r9d
or eax, 0x22
movzx eax, al
imul eax, eax
imul edi, eax, 0xc4a5
xor eax, eax
cmp ecx, edi
sete al
neg eax
lea ebx, [rbx + rax]
add ebx, 0x43c41081
xor ebx, r8d
xor ebx, edx
lea eax, [rdi + r15]
mov ecx, edi
xor ecx, r15d
sub eax, ecx
mov ecx, edi
and ecx, r15d
add ecx, ecx
xor ecx, eax
xor ecx, 0x2306f314
or edi, 0x83
movzx eax, dil
imul eax, eax
imul eax, eax, 0x269
or r9d, 0x9c
movzx edx, r9b
imul edx, edx
imul edx, edx, 0x364f
xor edi, edi
cmp eax, edx
mov r9, qword [rbp + 0x1d8]
mov dword [r9], ebx
sete dil
sub ecx, edi
add ecx, 0xdd0a5200
mov rsi, qword [rbp + 0x1d0]
mov dword [rsi], ecx
mov rax, qword [rbp + 0x20]
mov rax, qword [rax]
mov rcx, qword [rbp + 0x188]
mov qword [rcx], rax
jmp 0x402e95
mov rax, qword [rbp]
mov rbx, qword [rax]
mov eax, ebx
not eax
mov r11, qword [rbp + 0x1e8]
or eax, r11d
mov ecx, r11d
or ecx, ebx
not ecx
lea ecx, [rcx + rcx*2]
mov edx, r11d
not edx
add edx, edx
sub edx, ebx
mov edi, r11d
xor edi, ebx
mov r13, rbx
sub edi, eax
add edi, ecx
xor edi, edx
movabs rax, 0x3bf5a20506ea253e
mov r9, rax
add rax, rdi
mov r8d, dword [rbp + 0x290]
mov ecx, r8d
or ecx, r12d
mov edx, r8d
or edx, r15d
not edx
lea edx, [rdx + rdx*2]
mov ebx, dword [rbp + 0x1c4]
sub ebx, r15d
mov esi, dword [rbp + 0x170]
mov r10d, esi
sub r10d, ecx
add r10d, edx
xor r10d, ebx
lea r14, [r9 + 1]
xor r14, r10
xor r14, rax
mov qword [rbp + 0x1f0], r13
and r14, r13
lea eax, [r15 + rdi]
mov ecx, r15d
xor ecx, edi
sub eax, ecx
mov esi, r15d
and esi, edi
add esi, esi
xor esi, eax
xor r9d, r9d
cmp r14, rsi
sete r9b
lea eax, [rdi + r11]
mov ecx, edi
xor ecx, r11d
sub eax, ecx
and edi, r11d
add edi, edi
xor edi, eax
xor edi, 0xc1a5dd1f
mov eax, r10d
or eax, 0x84
movzx eax, al
imul eax, eax
imul ecx, eax, 0xa373
mov eax, r13d
or eax, 0x68
movzx eax, al
imul eax, eax
imul r11d, eax, 0x9a57
xor eax, eax
cmp ecx, r11d
sete al
sub edi, eax
add edi, 0x2903e8b6
mov rdx, qword [rbp + 0x208]
xor edi, dword [rdx]
mov ebx, esi
not ebx
or ebx, r14d
mov edx, r14d
or edx, esi
not edx
lea r15d, [rdx + rdx*2]
mov edx, r14d
not edx
add edx, edx
sub edx, esi
mov r12d, r14d
xor r12d, esi
sub r12d, ebx
add r12d, r15d
xor r12d, edx
movabs rdx, 0x5d101532a1809fcc
add r12d, edx
neg eax
mov edx, r10d
or edx, 1
movzx edx, dl
imul edx, edx
imul edx, edx, 0x863f
or eax, 0x67
movzx eax, al
imul eax, eax
imul r13d, eax, 0xd757
xor r15d, r15d
cmp edx, r13d
sete r15b
mov edx, r11d
not edx
or edx, ecx
mov ebx, ecx
xor ebx, r11d
sub ebx, edx
mov edx, ecx
or edx, r11d
not edx
lea edx, [rdx + rdx*2]
add ebx, edx
mov edx, ecx
not edx
add edx, edx
sub edx, r11d
xor ebx, edx
mov edx, r9d
xor edx, esi
lea eax, [r9 + rsi]
sub eax, edx
and esi, r9d
add esi, esi
xor esi, eax
mov eax, ebx
xor eax, 0x528bd0d5
add esi, 0xec14e352
imul esi, eax
mov eax, r13d
xor eax, r8d
lea edx, [r8 + r13]
sub edx, eax
and r13d, r8d
add r13d, r13d
xor r13d, edx
and r13d, esi
xor r12d, edi
xor r13d, r12d
neg r15d
movabs rax, 0x5d101532a1809fcc
lea eax, [rax + r15]
add eax, 0x1e228efa
xor r13d, eax
neg r9d
or r11d, 0x15
movzx eax, r11b
imul eax, eax
imul eax, eax, 0xf72d
or edi, 0x54
movzx edx, dil
imul edx, edx
imul edx, edx, 0x4705
xor edi, edi
cmp eax, edx
sete dil
neg edi
xor edi, 0x6ad56cf7
lea eax, [rcx + r14]
mov edx, ecx
xor edx, r14d
sub eax, edx
and ecx, r14d
add ecx, ecx
xor ecx, eax
lea edi, [rcx + rdi]
add edi, 0xb9c836bf
and edi, r9d
lea eax, [rdi + r14]
mov edx, edi
xor edx, r14d
sub eax, edx
and r14d, edi
add r14d, r14d
xor r14d, eax
movabs rax, 0x9254e589bfe1733
mov r8, rax
add eax, 0x1fe222e9
mov r11, qword [rbp + 0x200]
lea edx, [r11 + rbx]
mov esi, r11d
xor esi, ebx
sub edx, esi
and ebx, r11d
add ebx, ebx
xor ebx, edx
add ebx, r8d
xor ebx, eax
xor ebx, r14d
mov edx, edi
not edx
mov r9d, ecx
or r9d, edx
mov esi, ecx
mov eax, ecx
xor ecx, edi
sub ecx, r9d
or esi, edi
not esi
lea esi, [rsi + rsi*2]
add ecx, esi
not eax
add eax, eax
sub eax, edi
xor ecx, eax
and ecx, ebx
mov rbx, r11
xor r13d, edi
xor ecx, r13d
mov r9, qword [rbp + 0x1d8]
mov dword [r9], ecx
mov eax, edi
or eax, dword [rbp + 0x1f8]
mov ecx, edi
xor edi, ebx
sub edi, eax
or ecx, ebx
not ecx
lea eax, [rcx + rcx*2]
add edx, edx
sub edx, ebx
add edi, eax
xor edi, edx
mov rdx, qword [rbp + 0x1f0]
lea eax, [rdx + r10]
mov ecx, edx
xor ecx, r10d
sub eax, ecx
and r10d, edx
add r10d, r10d
xor r10d, eax
xor r10d, 0xddd3de36
lea eax, [rdi + r10]
add eax, 0x223d66de
mov rdi, qword [rbp + 0x208]
mov rsi, qword [rbp + 0x1d0]
mov dword [rsi], eax
mov rax, qword [rbp + 0x178]
mov qword [rax], 0
jmp 0x404673
mov rcx, qword [rbp + 0x200]
mov eax, ecx
or eax, 0xb8
movzx eax, al
imul eax, eax
imul r8d, eax, 0xbbed
mov rax, qword [rbp + 0x1b8]
or eax, 0x54
movzx eax, al
imul eax, eax
imul eax, eax, 0xa39f
xor esi, esi
cmp r8d, eax
sete sil
mov r12d, esi
neg r12d
mov eax, r12d
xor eax, 0x9d0932eb
or ecx, 0x24
movzx ecx, cl
imul ecx, ecx
imul r15d, ecx, 0x860f
or r13d, 0x36
movzx ecx, r13b
imul ecx, ecx
imul ecx, ecx, 0xd171
xor edx, edx
cmp r15d, ecx
sete dl
mov qword [rbp + 0x1f0], rdx
mov r10d, 0x4b149000
sub r10d, edx
imul r10d, eax
mov rdi, qword [rbp + 0x1a8]
mov r13d, edi
not r13d
mov ebx, r12d
or ebx, r13d
mov eax, r12d
or eax, edi
not eax
lea r9d, [rax + rax*2]
add esi, esi
sub esi, edi
add esi, 0xfffffffe
mov eax, r12d
xor eax, edi
sub eax, ebx
add eax, r9d
xor eax, esi
mov ebx, r8d
not ebx
or ebx, ecx
mov esi, ecx
or esi, r8d
mov edx, ecx
not edx
add edx, edx
sub edx, r8d
xor ecx, r8d
sub ecx, ebx
not esi
lea ebx, [rsi + rsi*2]
add ecx, ebx
xor ecx, edx
mov rdx, qword [rbp + 0xa0]
mov rsi, qword [rbp + 0x160]
mov qword [rdx], rsi
xor eax, 0x239f5738
lea eax, [rcx + rax]
add eax, 0xdc60a908
mov rcx, qword [rdx]
mov qword [rsi], 0
sub rsp, 0x30
mov dword [rsp + 0x20], r10d
mov dword [rsp + 0x28], eax
mov rcx, 0xffffffffffffffff
mov rdx, rsi
xor r8d, r8d
mov r9, qword [rbp + 0x158]
mov r14d, dword [rbp + 0x290]
call fcn.00416a90
add rsp, 0x30
mov rcx, qword [rsi]
mov rbx, qword [rbp + 0xc8]
mov qword [rbx], rcx
xor edx, edx
cmp qword [rbx], 0
setne dl
or r13d, r15d
mov ecx, r15d
or ecx, edi
mov ebx, r15d
not ebx
add ebx, ebx
sub ebx, edi
xor r15d, edi
not ecx
lea ecx, [rcx + rcx*2]
sub r15d, r13d
add r15d, ecx
xor r15d, ebx
mov rcx, qword [rbp + 0x1f0]
mov ebx, ecx
neg ebx
lea esi, [rcx - 1]
mov rdi, rcx
or esi, r14d
mov ecx, r14d
xor ecx, ebx
sub ecx, esi
mov esi, r14d
or esi, ebx
not esi
lea esi, [rsi + rsi*2]
add ecx, esi
mov r14, qword [rbp + 0x1c8]
lea esi, [rdi + r14*2]
xor ecx, esi
lea esi, [r15 - 0x2dfd4de3]
add ecx, 0xd908666b
imul ecx, esi
shr eax, cl
mov ecx, r15d
not ecx
or ecx, eax
mov esi, eax
xor esi, r15d
sub esi, ecx
mov ecx, eax
or ecx, r15d
not ecx
lea ecx, [rcx + rcx*2]
add esi, ecx
mov ecx, eax
not ecx
add ecx, ecx
sub ecx, r15d
xor esi, ecx
mov ecx, r15d
sub ecx, edi
mov edi, ebx
xor edi, r15d
sub ecx, edi
and ebx, r15d
xor esi, 0x3d57fb6b
add ebx, ebx
xor ebx, ecx
mov edi, ebx
xor edi, 0x5ff35943
imul edi, esi
xor edi, eax
sub rsp, 0x20
mov rcx, rdi
call fcn.00406430
add rsp, 0x20
mov rcx, qword [rbp]
mov qword [rcx], rax
mov rdx, qword [rbp + 0x198]
lea eax, [rdi + rdx]
mov ecx, edi
xor ecx, edx
sub eax, ecx
and edi, edx
add edi, edi
xor edi, eax
add edi, 0xc1517263
or r12d, 0x91
movzx eax, r12b
imul eax, eax
imul eax, eax, 0x1f99
mov ecx, ebx
or ecx, 0x81
movzx ecx, cl
imul ecx, ecx
imul ecx, ecx, 0x1741
xor edx, edx
cmp eax, ecx
sete dl
neg edx
xor edx, edi
xor edx, 0xa40ab8d4
mov rdi, qword [rbp + 0x1b0]
lea eax, [rbx + rdi]
mov ecx, ebx
xor ecx, edi
sub eax, ecx
and ebx, edi
add ebx, ebx
xor ebx, eax
or ebx, edx
cmp ebx, 0xe143278e
jg 0x4062fb
cmp ebx, 0x88676ead
mov r15, qword [rbp + 0x200]
je 0x403c04
cmp ebx, 0xcf23a316
jne 0x40632d
mov rax, qword [rbp + 0x88]
mov ecx, dword [rax]
mov rax, qword [rbp + 0x80]
mov r8d, dword [rax]
xor ecx, r8d
mov eax, ecx
or eax, 0x50
movzx eax, al
imul eax, eax
imul edi, eax, 0x19c7
mov rax, qword [rbp + 0x1e8]
or eax, 0x3a
movzx eax, al
imul eax, eax
imul eax, eax, 0x42cb
xor r10d, r10d
cmp edi, eax
sete r10b
neg r10d
mov ebx, r8d
or ebx, 0x8b
movzx ebx, bl
imul ebx, ebx
imul edi, ebx, 0x5245
mov ebx, eax
or ebx, 0x31
movzx ebx, bl
imul ebx, ebx
imul ebx, ebx, 0xe695
xor esi, esi
cmp edi, ebx
sete sil
xor esi, 0xfa64089d
xor r10d, ecx
xor r10d, esi
mov rcx, qword [rbp + 0x90]
movzx r9d, byte [rcx]
mov ebx, edi
not ebx
mov r11d, dword [rbp + 0x290]
or ebx, r11d
mov ecx, r11d
or ecx, edi
mov edx, dword [rbp + 0x1c4]
sub edx, edi
xor edi, r11d
sub edi, ebx
mov esi, r9d
neg esi
not ecx
lea ecx, [rcx + rcx*2]
add edi, ecx
xor edi, edx
add edi, 0xb1c106c8
mov ecx, eax
or ecx, 0x5a
movzx ecx, cl
imul ecx, ecx
imul ecx, ecx, 0xf58d
or r8d, 0x2f
movzx edx, r8b
imul edx, edx
imul edx, edx, 0x8dd9
xor ebx, ebx
cmp ecx, edx
sete bl
neg ebx
xor ebx, edi
xor ebx, 0x2ce4e401
and ebx, esi
xor ebx, r10d
xor ebx, 0xc6ca12c0
mov rdi, qword [rbp + 0x1d8]
mov dword [rdi], ebx
or esi, 0x5c
movzx ecx, sil
imul ecx, ecx
imul ecx, ecx, 0xf871
mov edx, r15d
or edx, 0x3f
movzx edx, dl
imul edx, edx
imul edx, edx, 0x8ad7
xor ebx, ebx
cmp ecx, edx
sete bl
lea ecx, [rax + r9]
mov edx, eax
xor edx, r9d
sub ecx, edx
and eax, r9d
mov r9, rdi
add eax, eax
xor eax, ecx
neg ebx
add eax, 0x1df77c08
xor eax, ebx
xor eax, 0x1de6391c
mov rsi, qword [rbp + 0x1d0]
mov dword [rsi], eax
jmp 0x402e87
cmp ebx, 0xe143278f
mov r15, qword [rbp + 0x200]
mov r12, qword [rbp + 0x1f8]
je 0x405a82
cmp ebx, 0xd1600e4
je 0x4050dc
cmp ebx, 0x655bcab7
je 0x405bcb
popfq
popfq
lea rdx, [rbp - 4]
call qword [rbx]
ret 0xb0f
mov rax, qword [rbp + 0x180]
mov rax, qword [rax]
mov rcx, qword [rbp + 0x38]
mov qword [rcx], rax
mov rax, qword [rbp + 0x110]
mov rax, qword [rax]
mov rcx, qword [rbp + 0x30]
mov qword [rcx], rax
lea eax, [r15 + rbx]
mov ecx, r15d
xor ecx, ebx
sub eax, ecx
and r15d, ebx
add r15d, r15d
xor r15d, eax
add r15d, 0x33c73104
mov rdx, qword [rbp + 0x1e0]
mov eax, dword [rbp + 0x290]
mov rbx, rax
add eax, edx
mov ecx, edx
xor ecx, ebx
sub eax, ecx
mov ecx, edx
and ecx, ebx
add ecx, ecx
xor ecx, eax
add ecx, 0xb55f6ba0
xor ecx, r15d
or edx, 0x54
movzx eax, dl
imul eax, eax
imul edx, eax, 0x5461
mov r15, qword [rbp + 0x200]
mov eax, r15d
or eax, 0xf3
movzx eax, al
imul eax, eax
imul ebx, eax, 0xe279
xor eax, eax
cmp edx, ebx
sete al
neg eax
or eax, ecx
cmp eax, 0xd2e80136
jg 0x4063f9
cmp eax, 0x86985aa4
mov r12, qword [rbp + 0x1f8]
je 0x4050dc
cmp eax, 0x8e0ac20e
je 0x4040f3
jmp 0x406416
cmp eax, 0xd2e80137
mov r12, qword [rbp + 0x1f8]
je 0x40334e
cmp eax, 0x34f14143
je 0x403163
mov rsp, rbp
call qword [rbx]
popfq
add rsp, qword [0x48]
pop rbp
ret