Function at 0x140040950
Capabilities:
Generate random numbers using a mersenne twister

Disassembly:
push rbp
sub rsp, 0x60
lea rbp, [rsp + 0x60]
mov qword [rbp - 0x40], rcx
mov rax, qword [0x14009e7a8]
xor rax, rbp
mov qword [rbp - 8], rax
mov ecx, dword [0x1400a1028]
mov eax, dword [0x1400a102c]
mov edx, ecx
sub edx, 0x52ab22dd
sub edx, 1
add edx, 0x52ab22dd
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
and cl, 1
mov byte [rbp - 0x32], cl
cmp eax, 0xa
setl al
and al, 1
mov byte [rbp - 0x31], al
mov dword [rbp - 0x38], 0x72413a88
mov eax, dword [rbp - 0x38]
mov dword [rbp - 0x44], eax
sub eax, 0x9a213c2f
je 0x140040ea0
jmp 0x1400409c3
mov eax, dword [rbp - 0x44]
sub eax, 0xa0a73245
je 0x140040f41
jmp 0x1400409d6
mov eax, dword [rbp - 0x44]
sub eax, 0xbbbc2dac
je 0x140041500
jmp 0x1400409e9
mov eax, dword [rbp - 0x44]
sub eax, 0xbf183486
je 0x140041331
jmp 0x1400409fc
mov eax, dword [rbp - 0x44]
sub eax, 0xc199ba25
je 0x140040ed3
jmp 0x140040a0f
mov eax, dword [rbp - 0x44]
sub eax, 0xca3364c5
je 0x140040e94
jmp 0x140040a22
mov eax, dword [rbp - 0x44]
sub eax, 0xd2d16dfe
je 0x140040c32
jmp 0x140040a35
mov eax, dword [rbp - 0x44]
sub eax, 0xd2da84fb
je 0x140040b31
jmp 0x140040a48
mov eax, dword [rbp - 0x44]
sub eax, 0xd4ea582d
je 0x140041165
jmp 0x140040a5b
mov eax, dword [rbp - 0x44]
sub eax, 0xe32dc6b4
je 0x140040c3e
jmp 0x140040a6e
mov eax, dword [rbp - 0x44]
sub eax, 0xed955b7a
je 0x140040ef2
jmp 0x140040a81
mov eax, dword [rbp - 0x44]
sub eax, 0xf83f966d
je 0x140040ec7
jmp 0x140040a94
mov eax, dword [rbp - 0x44]
sub eax, 0xfc176a1a
je 0x1400412f5
jmp 0x140040aa7
mov eax, dword [rbp - 0x44]
sub eax, 0xfee6f3e5
je 0x140040c5d
jmp 0x140040aba
mov eax, dword [rbp - 0x44]
sub eax, 0xaec16a6
je 0x14004118c
jmp 0x140040acd
mov eax, dword [rbp - 0x44]
sub eax, 0x1d06f37b
je 0x140040ca7
jmp 0x140040ae0
mov eax, dword [rbp - 0x44]
sub eax, 0x3c853ddd
je 0x140041159
jmp 0x140040af3
mov eax, dword [rbp - 0x44]
sub eax, 0x72413a88
je 0x140040b0b
jmp 0x140040b06
jmp 0x1400416a5
mov al, byte [rbp - 0x32]
mov cl, byte [rbp - 0x31]
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0xfc176a1a
mov ecx, 0xd2da84fb
test dl, 1
cmovne eax, ecx
mov dword [rbp - 0x38], eax
jmp 0x1400416a5
mov rcx, qword [rbp - 0x40]
mov eax, 0x10
mov qword [rbp - 0x58], rax
call fcn.140058490
sub rsp, rax
mov rax, qword [rbp - 0x58]
mov rdx, rsp
mov qword [rbp - 0x50], rdx
call fcn.140058490
sub rsp, rax
mov rax, qword [rbp - 0x58]
mov rdx, rsp
mov qword [rbp - 0x30], rdx
call fcn.140058490
sub rsp, rax
mov rax, qword [rbp - 0x58]
mov rdx, rsp
mov qword [rbp - 0x28], rdx
call fcn.140058490
sub rsp, rax
mov rax, qword [rbp - 0x58]
mov rdx, rsp
mov qword [rbp - 0x20], rdx
call fcn.140058490
sub rsp, rax
mov rax, qword [rbp - 0x50]
mov rdx, rsp
mov qword [rbp - 0x18], rdx
mov qword [rax], rcx
mov rax, qword [rax]
mov qword [rbp - 0x10], rax
mov rax, qword [rbp - 0x30]
mov dword [rax], 0
mov ecx, dword [0x1400a1028]
mov eax, dword [0x1400a102c]
mov edx, ecx
add edx, 0x8661bc29
sub edx, 1
sub edx, 0x8661bc29
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete r11b
cmp eax, 0xa
setl r10b
mov al, r11b
xor al, 0xff
mov r8b, r10b
xor r8b, 0xff
mov cl, 1
xor cl, 1
mov dl, al
and dl, 0xff
and r11b, cl
mov r9b, r8b
and r9b, 0xff
and r10b, cl
or dl, r11b
or r9b, r10b
xor dl, r9b
or al, r8b
xor al, 0xff
or cl, 1
and al, cl
or dl, al
mov eax, 0xfc176a1a
mov ecx, 0xd2d16dfe
test dl, 1
cmovne eax, ecx
mov dword [rbp - 0x38], eax
jmp 0x1400416a5
mov dword [rbp - 0x38], 0xe32dc6b4
jmp 0x1400416a5
mov rdx, qword [rbp - 0x30]
mov eax, 0xf83f966d
mov ecx, 0xfee6f3e5
cmp dword [rdx], 0xe3
cmovl eax, ecx
mov dword [rbp - 0x38], eax
jmp 0x1400416a5
mov eax, dword [0x1400a1028]
mov ecx, dword [0x1400a102c]
xor r8d, r8d
sub r8d, 1
mov edx, eax
add edx, r8d
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0xbf183486
mov ecx, 0x1d06f37b
test dl, 1
cmovne eax, ecx
mov dword [rbp - 0x38], eax
jmp 0x1400416a5
mov rax, qword [rbp - 0x10]
mov rcx, qword [rbp - 0x30]
mov ecx, dword [rcx]
add ecx, 0x46ab2e75
add ecx, 0x270
sub ecx, 0x46ab2e75
movsxd rcx, ecx
mov r11d, dword [rax + rcx*4 + 4]
xor r11d, 0xffffffff
mov ecx, 0xffffffff
xor ecx, 0x80000000
mov eax, 0xffffffff
xor eax, 0x40d3cebf
or r11d, ecx
or eax, 0x40d3cebf
xor r11d, 0xffffffff
and r11d, eax
mov rax, qword [rbp - 0x10]
mov rcx, qword [rbp - 0x30]
mov ecx, dword [rcx]
add ecx, 0xafc9ba8
add ecx, 0x270
sub ecx, 0xafc9ba8
xor edx, edx
sub edx, 1
sub ecx, edx
movsxd rcx, ecx
mov r10d, dword [rax + rcx*4 + 4]
xor r10d, 0xffffffff
mov ecx, 0xffffffff
xor ecx, 0x7fffffff
mov eax, 0xffffffff
xor eax, 0x1b3ec8c4
or r10d, ecx
or eax, 0x1b3ec8c4
xor r10d, 0xffffffff
and r10d, eax
mov eax, r11d
xor eax, 0xffffffff
mov r8d, r10d
xor r8d, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x4ea5539f
mov ecx, eax
and ecx, 0x4ea5539f
and r11d, edx
mov r9d, r8d
and r9d, 0x4ea5539f
and r10d, edx
or ecx, r11d
or r9d, r10d
xor ecx, r9d
or eax, r8d
xor eax, 0xffffffff
or edx, 0x4ea5539f
and eax, edx
or ecx, eax
mov rax, qword [rbp - 0x28]
mov dword [rax], ecx
mov rax, qword [rbp - 0x28]
mov eax, dword [rax]
shr eax, 1
mov rcx, qword [rbp - 0x28]
mov ecx, dword [rcx]
mov edx, 0xffffffff
xor edx, 1
mov r8d, ecx
xor r8d, edx
and r8d, ecx
xor ecx, ecx
mov edx, 0x9908b0df
cmp r8d, 0
cmovne ecx, edx
mov edx, eax
xor edx, 0xffffffff
mov r8d, ecx
and r8d, edx
xor ecx, 0xffffffff
and eax, ecx
or r8d, eax
mov rax, qword [rbp - 0x10]
mov rcx, qword [rbp - 0x30]
mov ecx, dword [rcx]
xor edx, edx
sub edx, ecx
xor ecx, ecx
sub ecx, 0x270
add edx, ecx
xor ecx, ecx
sub ecx, edx
add ecx, 0x5fc9cfd8
add ecx, 0x18d
sub ecx, 0x5fc9cfd8
movsxd rcx, ecx
mov ecx, dword [rax + rcx*4 + 4]
mov edx, r8d
xor edx, 0xffffffff
and edx, 0x41c738ea
mov r9d, 0xffffffff
xor r9d, 0x41c738ea
and r8d, r9d
mov eax, ecx
xor eax, 0xffffffff
and eax, 0x41c738ea
and ecx, r9d
or edx, r8d
or eax, ecx
xor edx, eax
mov rax, qword [rbp - 0x10]
mov rcx, qword [rbp - 0x30]
movsxd rcx, dword [rcx]
mov dword [rax + rcx*4 + 4], edx
mov eax, dword [0x1400a1028]
mov ecx, dword [0x1400a102c]
xor r8d, r8d
sub r8d, 1
mov edx, eax
add edx, r8d
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0xbf183486
mov ecx, 0xca3364c5
test dl, 1
cmovne eax, ecx
mov dword [rbp - 0x38], eax
jmp 0x1400416a5
mov dword [rbp - 0x38], 0x9a213c2f
jmp 0x1400416a5
mov rax, qword [rbp - 0x30]
mov ecx, dword [rax]
xor eax, eax
sub eax, ecx
xor ecx, ecx
sub ecx, 1
add eax, ecx
xor ecx, ecx
sub ecx, eax
mov rax, qword [rbp - 0x30]
mov dword [rax], ecx
mov dword [rbp - 0x38], 0xe32dc6b4
jmp 0x1400416a5
mov dword [rbp - 0x38], 0xc199ba25
jmp 0x1400416a5
mov rdx, qword [rbp - 0x30]
mov eax, 0xaec16a6
mov ecx, 0xed955b7a
cmp dword [rdx], 0x26f
cmovl eax, ecx
mov dword [rbp - 0x38], eax
jmp 0x1400416a5
mov eax, dword [0x1400a1028]
mov ecx, dword [0x1400a102c]
mov edx, eax
add edx, 0xbb25b92f
sub edx, 1
sub edx, 0xbb25b92f
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0xbbbc2dac
mov ecx, 0xa0a73245
test dl, 1
cmovne eax, ecx
mov dword [rbp - 0x38], eax
jmp 0x1400416a5
mov rax, qword [rbp - 0x10]
mov rcx, qword [rbp - 0x30]
mov ecx, dword [rcx]
xor edx, edx
sub edx, ecx
xor ecx, ecx
sub ecx, 0x270
add edx, ecx
xor ecx, ecx
sub ecx, edx
movsxd rcx, ecx
mov eax, dword [rax + rcx*4 + 4]
mov ecx, 0xffffffff
xor ecx, 0x80000000
mov r11d, eax
xor r11d, ecx
and r11d, eax
mov rax, qword [rbp - 0x10]
mov rcx, qword [rbp - 0x30]
mov ecx, dword [rcx]
xor edx, edx
sub edx, 0x270
sub ecx, edx
xor edx, edx
sub edx, 1
sub ecx, edx
movsxd rcx, ecx
mov r10d, dword [rax + rcx*4 + 4]
xor r10d, 0xffffffff
mov ecx, 0xffffffff
xor ecx, 0x7fffffff
mov eax, 0xffffffff
xor eax, 0xe2c217ce
or r10d, ecx
or eax, 0xe2c217ce
xor r10d, 0xffffffff
and r10d, eax
mov eax, r11d
xor eax, 0xffffffff
mov r8d, r10d
xor r8d, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x5af60638
mov ecx, eax
and ecx, 0x5af60638
and r11d, edx
mov r9d, r8d
and r9d, 0x5af60638
and r10d, edx
or ecx, r11d
or r9d, r10d
xor ecx, r9d
or eax, r8d
xor eax, 0xffffffff
or edx, 0x5af60638
and eax, edx
or ecx, eax
mov rax, qword [rbp - 0x20]
mov dword [rax], ecx
mov rax, qword [rbp - 0x20]
mov r8d, dword [rax]
shr r8d, 1
mov rax, qword [rbp - 0x20]
mov ecx, dword [rax]
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 1
mov eax, 0xffffffff
xor eax, 0x2f7b966
or ecx, edx
or eax, 0x2f7b966
xor ecx, 0xffffffff
and ecx, eax
xor edx, edx
mov eax, 0x9908b0df
cmp ecx, 0
cmovne edx, eax
mov eax, r8d
xor eax, 0xffffffff
and eax, 0xa1f0d0f8
mov r9d, 0xffffffff
xor r9d, 0xa1f0d0f8
and r8d, r9d
mov ecx, edx
xor ecx, 0xffffffff
and ecx, 0xa1f0d0f8
and edx, r9d
or eax, r8d
or ecx, edx
xor eax, ecx
mov rcx, qword [rbp - 0x10]
mov rdx, qword [rbp - 0x30]
mov edx, dword [rdx]
sub edx, 0x87a4ecde
sub edx, 0x270
add edx, 0x87a4ecde
sub edx, 0x12b46e09
add edx, 0x18d
add edx, 0x12b46e09
movsxd rdx, edx
mov ecx, dword [rcx + rdx*4 + 4]
mov r8d, eax
xor r8d, 0xffffffff
mov edx, ecx
and edx, r8d
xor ecx, 0xffffffff
and eax, ecx
or edx, eax
mov rax, qword [rbp - 0x10]
mov rcx, qword [rbp - 0x30]
movsxd rcx, dword [rcx]
mov dword [rax + rcx*4 + 4], edx
mov ecx, dword [0x1400a1028]
mov eax, dword [0x1400a102c]
mov edx, ecx
add edx, 0x5dc8209e
sub edx, 1
sub edx, 0x5dc8209e
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete r11b
cmp eax, 0xa
setl r10b
mov al, r11b
xor al, 0xff
mov r8b, r10b
xor r8b, 0xff
mov cl, 1
xor cl, 0
mov dl, al
and dl, 0
and r11b, cl
mov r9b, r8b
and r9b, 0
and r10b, cl
or dl, r11b
or r9b, r10b
xor dl, r9b
or al, r8b
xor al, 0xff
or cl, 0
and al, cl
or dl, al
mov eax, 0xbbbc2dac
mov ecx, 0x3c853ddd
test dl, 1
cmovne eax, ecx
mov dword [rbp - 0x38], eax
jmp 0x1400416a5
mov dword [rbp - 0x38], 0xd4ea582d
jmp 0x1400416a5
mov rax, qword [rbp - 0x30]
mov ecx, dword [rax]
xor eax, eax
sub eax, ecx
xor ecx, ecx
sub ecx, 1
add eax, ecx
xor ecx, ecx
sub ecx, eax
mov rax, qword [rbp - 0x30]
mov dword [rax], ecx
mov dword [rbp - 0x38], 0xc199ba25
jmp 0x1400416a5
mov rax, qword [rbp - 0x10]
mov rcx, qword [rbp - 0x30]
mov ecx, dword [rcx]
xor edx, edx
sub edx, 0x270
sub ecx, edx
movsxd rcx, ecx
mov eax, dword [rax + rcx*4 + 4]
mov ecx, 0xffffffff
xor ecx, 0x80000000
mov r11d, eax
xor r11d, ecx
and r11d, eax
mov rax, qword [rbp - 0x10]
mov r10d, dword [rax + 4]
xor r10d, 0xffffffff
mov ecx, 0xffffffff
xor ecx, 0x7fffffff
mov eax, 0xffffffff
xor eax, 0xd6df1f48
or r10d, ecx
or eax, 0xd6df1f48
xor r10d, 0xffffffff
and r10d, eax
mov eax, r11d
xor eax, 0xffffffff
mov r8d, r10d
xor r8d, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x9dcd3ffb
mov ecx, eax
and ecx, 0x9dcd3ffb
and r11d, edx
mov r9d, r8d
and r9d, 0x9dcd3ffb
and r10d, edx
or ecx, r11d
or r9d, r10d
xor ecx, r9d
or eax, r8d
xor eax, 0xffffffff
or edx, 0x9dcd3ffb
and eax, edx
or ecx, eax
mov rax, qword [rbp - 0x18]
mov dword [rax], ecx
mov rax, qword [rbp - 0x18]
mov r8d, dword [rax]
shr r8d, 1
mov rax, qword [rbp - 0x18]
mov ecx, dword [rax]
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 1
mov eax, 0xffffffff
xor eax, 0x798f77c7
or ecx, edx
or eax, 0x798f77c7
xor ecx, 0xffffffff
and ecx, eax
xor edx, edx
mov eax, 0x9908b0df
cmp ecx, 0
cmovne edx, eax
mov eax, r8d
xor eax, 0xffffffff
and eax, 0x80100eff
mov r9d, 0xffffffff
xor r9d, 0x80100eff
and r8d, r9d
mov ecx, edx
xor ecx, 0xffffffff
and ecx, 0x80100eff
and edx, r9d
or eax, r8d
or ecx, edx
xor eax, ecx
mov rcx, qword [rbp - 0x10]
mov ecx, dword [rcx + 0x634]
mov r8d, eax
xor r8d, 0xffffffff
mov edx, ecx
and edx, r8d
xor ecx, 0xffffffff
and eax, ecx
or edx, eax
mov rax, qword [rbp - 0x10]
mov rcx, qword [rbp - 0x30]
movsxd rcx, dword [rcx]
mov dword [rax + rcx*4 + 4], edx
mov rax, qword [rbp - 0x10]
mov dword [rax], 0
mov rcx, qword [rbp - 8]
xor rcx, rbp
sub rsp, 0x20
call fcn.140058500
nop
mov rsp, rbp
pop rbp
ret
mov rdx, qword [rbp - 0x40]
mov eax, 0x10
mov qword [rbp - 0x60], rax
call fcn.140058490
sub rsp, rax
mov rax, qword [rbp - 0x60]
mov rcx, rsp
call fcn.140058490
sub rsp, rax
mov rax, rsp
mov qword [rcx], rdx
mov dword [rax], 0
mov dword [rbp - 0x38], 0xd2da84fb
jmp 0x1400416a5
mov rax, qword [rbp - 0x10]
mov rcx, qword [rbp - 0x30]
mov ecx, dword [rcx]
add ecx, 0xbde00ade
add ecx, 0x270
sub ecx, 0xbde00ade
movsxd rcx, ecx
mov r11d, dword [rax + rcx*4 + 4]
xor r11d, 0xffffffff
mov ecx, 0xffffffff
xor ecx, 0x80000000
mov eax, 0xffffffff
xor eax, 0x493d461
or r11d, ecx
or eax, 0x493d461
xor r11d, 0xffffffff
and r11d, eax
mov rax, qword [rbp - 0x10]
mov rcx, qword [rbp - 0x30]
mov ecx, dword [rcx]
sub ecx, 0x93579a77
add ecx, 0x270
add ecx, 0x93579a77
xor edx, edx
sub edx, 1
sub ecx, edx
movsxd rcx, ecx
mov r10d, dword [rax + rcx*4 + 4]
xor r10d, 0xffffffff
mov ecx, 0xffffffff
xor ecx, 0x7fffffff
mov eax, 0xffffffff
xor eax, 0x595927f8
or r10d, ecx
or eax, 0x595927f8
xor r10d, 0xffffffff
and r10d, eax
mov eax, r11d
xor eax, 0xffffffff
mov r8d, r10d
xor r8d, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xa6be5db3
mov ecx, eax
and ecx, 0xa6be5db3
and r11d, edx
mov r9d, r8d
and r9d, 0xa6be5db3
and r10d, edx
or ecx, r11d
or r9d, r10d
xor ecx, r9d
or eax, r8d
xor eax, 0xffffffff
or edx, 0xa6be5db3
and eax, edx
or ecx, eax
mov rax, qword [rbp - 0x28]
mov dword [rax], ecx
mov rax, qword [rbp - 0x28]
mov edx, dword [rax]
shr edx, 1
mov rax, qword [rbp - 0x28]
mov eax, dword [rax]
mov ecx, 0xffffffff
xor ecx, 1
mov r8d, eax
xor r8d, ecx
and r8d, eax
xor ecx, ecx
mov eax, 0x9908b0df
cmp r8d, 0
cmovne ecx, eax
mov r8d, edx
xor r8d, 0xffffffff
and r8d, 0x75d0e1e9
mov r9d, 0xffffffff
xor r9d, 0x75d0e1e9
and edx, r9d
mov eax, ecx
xor eax, 0xffffffff
and eax, 0x75d0e1e9
and ecx, r9d
or r8d, edx
or eax, ecx
xor r8d, eax
mov rax, qword [rbp - 0x10]
mov rcx, qword [rbp - 0x30]
mov ecx, dword [rcx]
xor edx, edx
sub edx, ecx
xor ecx, ecx
sub ecx, 0x270
add edx, ecx
xor ecx, ecx
sub ecx, edx
xor edx, edx
sub edx, ecx
xor ecx, ecx
sub ecx, 0x18d
add edx, ecx
xor ecx, ecx
sub ecx, edx
movsxd rcx, ecx
mov ecx, dword [rax + rcx*4 + 4]
mov edx, r8d
xor edx, 0xffffffff
and edx, 0x35d81403
mov r9d, 0xffffffff
xor r9d, 0x35d81403
and r8d, r9d
mov eax, ecx
xor eax, 0xffffffff
and eax, 0x35d81403
and ecx, r9d
or edx, r8d
or eax, ecx
xor edx, eax
mov rax, qword [rbp - 0x10]
mov rcx, qword [rbp - 0x30]
movsxd rcx, dword [rcx]
mov dword [rax + rcx*4 + 4], edx
mov dword [rbp - 0x38], 0x1d06f37b
jmp 0x1400416a5
mov rax, qword [rbp - 0x10]
mov rcx, qword [rbp - 0x30]
mov ecx, dword [rcx]
xor edx, edx
sub edx, ecx
xor ecx, ecx
sub ecx, 0x270
add edx, ecx
xor ecx, ecx
sub ecx, edx
movsxd rcx, ecx
mov r11d, dword [rax + rcx*4 + 4]
xor r11d, 0xffffffff
mov ecx, 0xffffffff
xor ecx, 0x80000000
mov eax, 0xffffffff
xor eax, 0xc6420bcd
or r11d, ecx
or eax, 0xc6420bcd
xor r11d, 0xffffffff
and r11d, eax
mov rax, qword [rbp - 0x10]
mov rcx, qword [rbp - 0x30]
mov ecx, dword [rcx]
add ecx, 0x20e80b2
add ecx, 0x270
sub ecx, 0x20e80b2
add ecx, 0xb1ea4dc5
add ecx, 1
sub ecx, 0xb1ea4dc5
movsxd rcx, ecx
mov r10d, dword [rax + rcx*4 + 4]
xor r10d, 0xffffffff
mov ecx, 0xffffffff
xor ecx, 0x7fffffff
mov eax, 0xffffffff
xor eax, 0x641f9ee0
or r10d, ecx
or eax, 0x641f9ee0
xor r10d, 0xffffffff
and r10d, eax
mov eax, r11d
xor eax, 0xffffffff
mov r8d, r10d
xor r8d, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x9b1e976d
mov ecx, eax
and ecx, 0x9b1e976d
and r11d, edx
mov r9d, r8d
and r9d, 0x9b1e976d
and r10d, edx
or ecx, r11d
or r9d, r10d
xor ecx, r9d
or eax, r8d
xor eax, 0xffffffff
or edx, 0x9b1e976d
and eax, edx
or ecx, eax
mov rax, qword [rbp - 0x20]
mov dword [rax], ecx
mov rax, qword [rbp - 0x20]
mov ecx, dword [rax]
shr ecx, 1
mov rax, qword [rbp - 0x20]
mov r8d, dword [rax]
xor r8d, 0xffffffff
mov edx, 0xffffffff
xor edx, 1
mov eax, 0xffffffff
xor eax, 0xfeefb4c4
or r8d, edx
or eax, 0xfeefb4c4
xor r8d, 0xffffffff
and r8d, eax
xor edx, edx
mov eax, 0x9908b0df
cmp r8d, 0
cmovne edx, eax
mov r8d, ecx
xor r8d, 0xffffffff
mov eax, edx
and eax, r8d
xor edx, 0xffffffff
and ecx, edx
or eax, ecx
mov rcx, qword [rbp - 0x10]
mov rdx, qword [rbp - 0x30]
mov edx, dword [rdx]
xor r8d, r8d
sub r8d, 0x270
add edx, r8d
add edx, 0x8ed6cb0e
add edx, 0x18d
sub edx, 0x8ed6cb0e
movsxd rdx, edx
mov ecx, dword [rcx + rdx*4 + 4]
mov r8d, eax
xor r8d, 0xffffffff
mov edx, ecx
and edx, r8d
xor ecx, 0xffffffff
and eax, ecx
or edx, eax
mov rax, qword [rbp - 0x10]
mov rcx, qword [rbp - 0x30]
movsxd rcx, dword [rcx]
mov dword [rax + rcx*4 + 4], edx
mov dword [rbp - 0x38], 0xa0a73245
jmp 0x1400409ad