Function at 0x140002f53
Capabilities:
Authenticate hmac
Encode data using xor

Disassembly:
push rsi
push rdi
sub rsp, 0x38
mov esi, r8d
mov qword [rsp + 0x30], 0
mov byte [rsp + 0x20], 0
mov byte [rsp + 0x21], 0x1e
mov al, 0x54
mov byte [rsp + 0x22], al
mov byte [rsp + 0x23], 0x70
mov byte [rsp + 0x24], 0x5e
mov byte [rsp + 0x25], 0x7c
mov byte [rsp + 0x26], 0x4e
mov byte [rsp + 0x27], 0xfa
mov byte [rsp + 0x28], 0xf8
mov byte [rsp + 0x29], 0xc0
mov byte [rsp + 0x2a], al
mov al, 0x44
mov byte [rsp + 0x2b], al
mov byte [rsp + 0x2c], al
mov byte [rsp + 0x2d], 0x9c
mov al, byte [rsp + 0x20]
test al, 1
jne 0x140002fd2
mov eax, 1
mov r8b, byte [rsp + rax + 0x20]
ror r8b, 1
xor r8b, 0x4e
mov byte [rsp + rax + 0x20], r8b
inc rax
cmp rax, 0xe
jne 0x140002fb8
mov byte [rsp + 0x20], 0
mov byte [rsp + 0x21], 0xb4
mov al, 0xe8
mov byte [rsp + 0x22], al
mov byte [rsp + 0x23], 0xc6
mov byte [rsp + 0x24], 0xfe
mov byte [rsp + 0x25], al
mov al, 0xfa
mov byte [rsp + 0x26], al
mov byte [rsp + 0x27], 0x44
mov byte [rsp + 0x28], 0x46
mov byte [rsp + 0x29], 0x7e
mov byte [rsp + 0x2a], 0xea
mov byte [rsp + 0x2b], al
mov byte [rsp + 0x2c], al
mov byte [rsp + 0x2d], 0x22
mov al, byte [rsp + 0x20]
test al, 1
jne 0x14000303e
mov eax, 1
mov r8b, byte [rsp + rax + 0x20]
ror r8b, 1
xor r8b, 0x11
mov byte [rsp + rax + 0x20], r8b
inc rax
cmp rax, 0xe
jne 0x140003024
mov byte [rsp + 0x20], 0
mov byte [rsp + 0x21], 0x14
mov byte [rsp + 0x22], 0x42
mov byte [rsp + 0x23], 0x60
mov byte [rsp + 0x24], 0x4a
mov byte [rsp + 0x25], 0x68
mov byte [rsp + 0x26], 0x5a
mov byte [rsp + 0x27], 0xee
mov byte [rsp + 0x28], 0xec
mov byte [rsp + 0x29], 0xd4
mov byte [rsp + 0x2a], 0x40
mov al, 0x50
mov byte [rsp + 0x2b], al
mov byte [rsp + 0x2c], al
mov byte [rsp + 0x2d], 0x88
mov al, byte [rsp + 0x20]
test al, 1
jne 0x1400030ab
mov eax, 1
mov r8b, byte [rsp + rax + 0x20]
ror r8b, 1
xor r8b, 0x44
mov byte [rsp + rax + 0x20], r8b
inc rax
cmp rax, 0xe
jne 0x140003091
mov byte [rsp + 0x20], 0
mov byte [rsp + 0x21], 0xb8
mov al, 0xca
mov byte [rsp + 0x22], al
mov byte [rsp + 0x23], 0xfa
mov r8b, 0xf2
mov byte [rsp + 0x24], r8b
mov byte [rsp + 0x25], al
mov byte [rsp + 0x26], 0xe8
mov byte [rsp + 0x27], al
mov byte [rsp + 0x28], 0xf8
mov byte [rsp + 0x29], 0x76
mov byte [rsp + 0x2a], 0xe2
mov byte [rsp + 0x2b], r8b
mov byte [rsp + 0x2c], r8b
mov byte [rsp + 0x2d], 0x2a
mov al, byte [rsp + 0x20]
test al, 1
jne 0x14000311a
mov eax, 1
mov r8b, byte [rsp + rax + 0x20]
ror r8b, 1
xor r8b, 0x15
mov byte [rsp + rax + 0x20], r8b
inc rax
cmp rax, 0xe
jne 0x140003100
mov byte [rsp + 0x20], 0
mov byte [rsp + 0x21], 0xfc
mov byte [rsp + 0x22], 0xbe
mov al, 0xb0
mov byte [rsp + 0x23], al
mov r8b, 0xbc
mov byte [rsp + 0x24], r8b
mov byte [rsp + 0x25], al
mov byte [rsp + 0x26], 0x82
mov byte [rsp + 0x27], 0x96
mov byte [rsp + 0x28], r8b
mov byte [rsp + 0x29], 4
mov byte [rsp + 0x2a], 0x90
mov al, 0x80
mov byte [rsp + 0x2b], al
mov byte [rsp + 0x2c], al
mov byte [rsp + 0x2d], 0x58
mov al, byte [rsp + 0x20]
test al, 1
jne 0x14000318a
mov eax, 1
mov r8b, byte [rsp + rax + 0x20]
ror r8b, 1
xor r8b, 0x2c
mov byte [rsp + rax + 0x20], r8b
inc rax
cmp rax, 0xe
jne 0x140003170
mov byte [rsp + 0x20], 0
mov byte [rsp + 0x21], 0x84
mov byte [rsp + 0x22], 0x8c
mov al, 0xe
mov byte [rsp + 0x23], al
mov byte [rsp + 0x24], 0xd4
mov byte [rsp + 0x25], 0xc
mov byte [rsp + 0x26], al
mov byte [rsp + 0x27], 0x36
mov byte [rsp + 0x28], 0xa2
mov al, 0xb2
mov byte [rsp + 0x29], al
mov byte [rsp + 0x2a], al
mov byte [rsp + 0x2b], 0x6a
mov al, byte [rsp + 0x20]
test al, 1
jne 0x1400031ed
mov eax, 1
mov r8b, byte [rsp + rax + 0x20]
ror r8b, 1
xor r8b, 0x35
mov byte [rsp + rax + 0x20], r8b
inc rax
cmp rax, 0xc
jne 0x1400031d3
mov byte [rsp + 0x20], 0
mov byte [rsp + 0x21], 0x1e
mov byte [rsp + 0x22], 0x52
mov byte [rsp + 0x23], 0x7e
mov byte [rsp + 0x24], 0x50
mov byte [rsp + 0x25], 0xd2
mov byte [rsp + 0x26], 0xd0
mov byte [rsp + 0x27], 0xe8
mov byte [rsp + 0x28], 0x7c
mov al, 0x6c
mov byte [rsp + 0x29], al
mov byte [rsp + 0x2a], al
mov byte [rsp + 0x2b], 0xb4
mov al, byte [rsp + 0x20]
test al, 1
jne 0x140003250
mov eax, 1
mov r8b, byte [rsp + rax + 0x20]
ror r8b, 1
xor r8b, 0x5a
mov byte [rsp + rax + 0x20], r8b
inc rax
cmp rax, 0xc
jne 0x140003236
mov byte [rsp + 0x20], 0
mov byte [rsp + 0x21], 0x28
mov byte [rsp + 0x22], 0x5e
mov al, 0x56
mov byte [rsp + 0x23], al
mov byte [rsp + 0x24], 0x60
mov byte [rsp + 0x25], 0x4c
mov byte [rsp + 0x26], 0x6e
mov byte [rsp + 0x27], 0x5c
mov byte [rsp + 0x28], 0xd2
mov byte [rsp + 0x29], 0x46
mov byte [rsp + 0x2a], al
mov byte [rsp + 0x2b], al
mov byte [rsp + 0x2c], 0x8e
mov al, byte [rsp + 0x20]
test al, 1
jne 0x1400032b7
mov eax, 1
mov r8b, byte [rsp + rax + 0x20]
ror r8b, 1
xor r8b, 0x47
mov byte [rsp + rax + 0x20], r8b
inc rax
cmp rax, 0xd
jne 0x14000329d
mov byte [rsp + 0x20], 0
mov byte [rsp + 0x21], 0xea
mov byte [rsp + 0x22], 0x9c
mov byte [rsp + 0x23], 0x86
mov al, 0x94
mov byte [rsp + 0x24], al
mov byte [rsp + 0x25], al
mov byte [rsp + 0x26], 0x2a
mov byte [rsp + 0x27], 0x28
mov byte [rsp + 0x28], 0x10
mov byte [rsp + 0x29], 0x84
mov byte [rsp + 0x2a], al
mov byte [rsp + 0x2b], al
mov byte [rsp + 0x2c], 0x4c
mov al, byte [rsp + 0x20]
test al, 1
jne 0x14000331d
mov eax, 1
mov r8b, byte [rsp + rax + 0x20]
ror r8b, 1
xor r8b, 0x26
mov byte [rsp + rax + 0x20], r8b
inc rax
cmp rax, 0xd
jne 0x140003303
mov byte [rsp + 0x20], 0
mov byte [rsp + 0x21], 0xdc
mov al, 0x9a
mov byte [rsp + 0x22], al
mov byte [rsp + 0x23], 0x88
mov byte [rsp + 0x24], 0x24
mov byte [rsp + 0x25], 0x26
mov byte [rsp + 0x26], 0x1e
mov byte [rsp + 0x27], 0x8a
mov byte [rsp + 0x28], al
mov byte [rsp + 0x29], al
mov byte [rsp + 0x2a], 0x42
mov al, byte [rsp + 0x20]
test al, 1
jne 0x14000337a
mov eax, 1
mov r8b, byte [rsp + rax + 0x20]
ror r8b, 1
xor r8b, 0x21
mov byte [rsp + rax + 0x20], r8b
inc rax
cmp rax, 0xb
jne 0x140003360
mov byte [rsp + 0x20], 0
mov byte [rsp + 0x21], 0x5a
mov al, 0x1c
mov byte [rsp + 0x22], al
mov byte [rsp + 0x23], 0xe
mov byte [rsp + 0x24], 0x46
mov byte [rsp + 0x25], 0x2e
mov byte [rsp + 0x26], 0x2c
mov byte [rsp + 0x27], 0xa2
mov byte [rsp + 0x28], 0xa0
mov byte [rsp + 0x29], 0x98
mov byte [rsp + 0x2a], 0xc
mov byte [rsp + 0x2b], al
mov byte [rsp + 0x2c], al
mov byte [rsp + 0x2d], 0xc4
mov al, byte [rsp + 0x20]
test al, 1
jne 0x1400033e6
mov eax, 1
mov r8b, byte [rsp + rax + 0x20]
ror r8b, 1
xor r8b, 0x62
mov byte [rsp + rax + 0x20], r8b
inc rax
cmp rax, 0xe
jne 0x1400033cc
mov byte [rsp + 0x20], 0
mov byte [rsp + 0x21], 0xf2
mov byte [rsp + 0x22], 0xc6
mov al, 0xe6
mov byte [rsp + 0x23], al
mov r8b, 0xf6
mov byte [rsp + 0x24], r8b
mov byte [rsp + 0x25], r8b
mov byte [rsp + 0x26], 0x72
mov byte [rsp + 0x27], al
mov byte [rsp + 0x28], r8b
mov byte [rsp + 0x29], r8b
mov byte [rsp + 0x2a], 0x2e
mov al, byte [rsp + 0x20]
test al, 1
jne 0x140003447
mov eax, 1
mov r8b, byte [rsp + rax + 0x20]
ror r8b, 1
xor r8b, 0x17
mov byte [rsp + rax + 0x20], r8b
inc rax
cmp rax, 0xb
jne 0x14000342d
test rcx, rcx
je 0x140003489
mov dword [rsp + 0x20], ecx
mov eax, dword [rsp + 0x20]
imul eax, eax, 0xaaaaaaab
add eax, 0x2aaaaaaa
cmp eax, 0x55555555
jb 0x1400034ec
mov eax, dword [rsp + 0x20]
add eax, ecx
add eax, 2
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
test al, 3
jne 0x14000369b
inc dword [rsp + 0x20]
jmp 0x140003477
add edx, 0xfffffff1
cmp edx, 0xb
ja case.default.0x1400034a8
lea rcx, [rsp + 0x21]
lea rax, section..rdata
movsxd rdx, dword [rax + rdx*4]
add rdx, rax
jmp rdx
call qword [0x1400130e0]
mov rcx, rax
mov dword [rsp + 0x20], ecx
mov eax, dword [rsp + 0x20]
imul eax, eax, 0xaaaaaaab
add eax, 0x2aaaaaaa
cmp eax, 0x55555555
jb 0x140003546
mov eax, dword [rsp + 0x20]
add eax, ecx
add eax, 2
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
test al, 3
jne 0x14000389b
inc dword [rsp + 0x20]
jmp 0x1400034da
mov edx, dword [rsp + 0x20]
mov eax, dword [rsp + 0x20]
test dl, 1
jne 0x1400035a0
mov edx, dword [rsp + 0x20]
test al, 3
je 0x140003624
add edx, 2
lea eax, [rcx + 3]
imul eax, edx
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
test al, 1
jne 0x14000369b
mov eax, dword [rsp + 0x20]
imul edx, eax, 0xcccccccd
add edx, 0x19999999
mov eax, dword [rsp + 0x20]
cmp edx, 0x33333333
jb 0x140003542
dec eax
jmp 0x140003512
inc eax
jmp 0x140003512
mov edx, dword [rsp + 0x20]
mov eax, dword [rsp + 0x20]
test dl, 1
jne 0x1400035e2
mov edx, dword [rsp + 0x20]
test al, 3
je 0x140003824
add edx, 2
lea eax, [rcx + 3]
imul eax, edx
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
test al, 1
jne 0x14000389b
mov eax, dword [rsp + 0x20]
imul edx, eax, 0xcccccccd
add edx, 0x19999999
mov eax, dword [rsp + 0x20]
cmp edx, 0x33333333
jb 0x14000359c
dec eax
jmp 0x14000356c
inc eax
jmp 0x14000356c
sub eax, ecx
add eax, 2
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
imul eax, eax, 0xaaaaaaab
add eax, 0x2aaaaaaa
cmp eax, 0x55555554
ja 0x14000369b
inc dword [rsp + 0x20]
mov eax, dword [rsp + 0x20]
imul eax, eax, 0xaaaaaaab
add eax, 0x2aaaaaaa
cmp eax, 0x55555555
jb 0x1400035c3
jmp 0x14000369b
sub eax, ecx
add eax, 2
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
imul eax, eax, 0xaaaaaaab
add eax, 0x2aaaaaaa
cmp eax, 0x55555554
ja 0x14000389b
inc dword [rsp + 0x20]
mov eax, dword [rsp + 0x20]
imul eax, eax, 0xaaaaaaab
add eax, 0x2aaaaaaa
cmp eax, 0x55555555
jb 0x140003605
jmp 0x14000389b
imul eax, edx, 0xcccccccd
add eax, 0x19999999
cmp eax, 0x33333333
jb 0x14000369b
mov eax, dword [rsp + 0x20]
add eax, 0xb
lea r8d, [rcx + 0x17]
cdq
idiv r8d
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
imul eax, eax, 0xaaaaaaab
add eax, 0x2aaaaaaa
cmp eax, 0x55555554
ja 0x14000369b
mov eax, dword [rsp + 0x20]
imul edx, eax, 0xcccccccd
add edx, 0x19999999
mov eax, dword [rsp + 0x20]
cmp edx, 0x33333333
jb 0x14000367f
inc eax
jmp 0x140003681
dec eax
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
imul eax, eax, 0xaaaaaaab
add eax, 0x2aaaaaaa
cmp eax, 0x55555555
jb 0x14000365f
mov eax, dword [rsp + 0x20]
imul eax, eax, 0xb6db6db7
add eax, 0x12492492
cmp eax, 0x24924925
jb 0x1400036d0
mov eax, dword [rsp + 0x20]
add eax, ecx
add eax, 2
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
test al, 7
jne 0x140003a43
inc dword [rsp + 0x20]
jmp 0x1400036be
mov eax, dword [rsp + 0x20]
imul edx, eax, 0xcccccccd
add edx, 0x19999999
mov eax, dword [rsp + 0x20]
cmp edx, 0x33333333
jb 0x14000372e
sub eax, ecx
add eax, 2
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
imul eax, eax, 0xb6db6db7
add eax, 0x12492492
cmp eax, 0x24924924
ja 0x140003a43
inc dword [rsp + 0x20]
mov eax, dword [rsp + 0x20]
imul eax, eax, 0xb6db6db7
add eax, 0x12492492
cmp eax, 0x24924925
jb 0x14000370f
jmp 0x140003a43
mov edx, dword [rsp + 0x20]
test al, 7
je 0x14000379e
add edx, 2
lea eax, [rcx + 3]
imul eax, edx
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
imul eax, eax, 0xcccccccd
add eax, 0x19999999
cmp eax, 0x33333332
ja 0x140003a43
mov eax, dword [rsp + 0x20]
imul edx, eax, 0xba2e8ba3
add edx, 0xba2e8ba
mov eax, dword [rsp + 0x20]
cmp edx, 0x1745d175
jb 0x14000377d
dec eax
jmp 0x14000377f
inc eax
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
imul eax, eax, 0xcccccccd
add eax, 0x19999999
cmp eax, 0x33333333
jb 0x14000375d
jmp 0x140003a43
imul edx, edx, 0xba2e8ba3
add edx, 0xba2e8ba
mov eax, dword [rsp + 0x20]
cmp edx, 0x1745d175
jb 0x140003a24
add eax, 0xb
lea r8d, [rcx + 0x17]
cdq
idiv r8d
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
imul eax, eax, 0xc4ec4ec5
add eax, 0x9d89d89
cmp eax, 0x13b13b12
ja 0x140003a43
mov eax, dword [rsp + 0x20]
imul edx, eax, 0xba2e8ba3
add edx, 0xba2e8ba
mov eax, dword [rsp + 0x20]
cmp edx, 0x1745d175
jb 0x140003803
inc eax
jmp 0x140003805
dec eax
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
imul eax, eax, 0xc4ec4ec5
add eax, 0x9d89d89
cmp eax, 0x13b13b13
jb 0x1400037e3
jmp 0x140003a43
imul eax, edx, 0xcccccccd
add eax, 0x19999999
cmp eax, 0x33333333
jb 0x14000389b
mov eax, dword [rsp + 0x20]
add eax, 0xb
lea r8d, [rcx + 0x17]
cdq
idiv r8d
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
imul eax, eax, 0xaaaaaaab
add eax, 0x2aaaaaaa
cmp eax, 0x55555554
ja 0x14000389b
mov eax, dword [rsp + 0x20]
imul edx, eax, 0xcccccccd
add edx, 0x19999999
mov eax, dword [rsp + 0x20]
cmp edx, 0x33333333
jb 0x14000387f
inc eax
jmp 0x140003881
dec eax
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
imul eax, eax, 0xaaaaaaab
add eax, 0x2aaaaaaa
cmp eax, 0x55555555
jb 0x14000385f
mov eax, dword [rsp + 0x20]
imul eax, eax, 0xb6db6db7
add eax, 0x12492492
cmp eax, 0x24924925
jb 0x1400038d0
mov eax, dword [rsp + 0x20]
add eax, ecx
add eax, 2
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
test al, 7
jne 0x14000402f
inc dword [rsp + 0x20]
jmp 0x1400038be
mov eax, dword [rsp + 0x20]
imul edx, eax, 0xcccccccd
add edx, 0x19999999
mov eax, dword [rsp + 0x20]
cmp edx, 0x33333333
jb 0x14000392e
sub eax, ecx
add eax, 2
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
imul eax, eax, 0xb6db6db7
add eax, 0x12492492
cmp eax, 0x24924924
ja 0x14000402f
inc dword [rsp + 0x20]
mov eax, dword [rsp + 0x20]
imul eax, eax, 0xb6db6db7
add eax, 0x12492492
cmp eax, 0x24924925
jb 0x14000390f
jmp 0x14000402f
mov edx, dword [rsp + 0x20]
test al, 7
je 0x14000399e
add edx, 2
lea eax, [rcx + 3]
imul eax, edx
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
imul eax, eax, 0xcccccccd
add eax, 0x19999999
cmp eax, 0x33333332
ja 0x14000402f
mov eax, dword [rsp + 0x20]
imul edx, eax, 0xba2e8ba3
add edx, 0xba2e8ba
mov eax, dword [rsp + 0x20]
cmp edx, 0x1745d175
jb 0x14000397d
dec eax
jmp 0x14000397f
inc eax
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
imul eax, eax, 0xcccccccd
add eax, 0x19999999
cmp eax, 0x33333333
jb 0x14000395d
jmp 0x14000402f
imul edx, edx, 0xba2e8ba3
add edx, 0xba2e8ba
mov eax, dword [rsp + 0x20]
cmp edx, 0x1745d175
jb 0x140004010
add eax, 0xb
lea r8d, [rcx + 0x17]
cdq
idiv r8d
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
imul eax, eax, 0xc4ec4ec5
add eax, 0x9d89d89
cmp eax, 0x13b13b12
ja 0x14000402f
mov eax, dword [rsp + 0x20]
imul edx, eax, 0xba2e8ba3
add edx, 0xba2e8ba
mov eax, dword [rsp + 0x20]
cmp edx, 0x1745d175
jb 0x140003a03
inc eax
jmp 0x140003a05
dec eax
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
imul eax, eax, 0xc4ec4ec5
add eax, 0x9d89d89
cmp eax, 0x13b13b13
jb 0x1400039e3
jmp 0x14000402f
imul eax, eax, 0xc4ec4ec5
add eax, 0x9d89d89
cmp eax, 0x13b13b13
jb 0x140003a43
mov eax, dword [rsp + 0x20]
lea eax, [rax + rax*2]
inc eax
mov dword [rsp + 0x20], eax
call qword [0x1400130e0]
mov rcx, rax
mov dword [rsp + 0x20], ecx
mov eax, dword [rsp + 0x20]
imul eax, eax, 0xaaaaaaab
add eax, 0x2aaaaaaa
cmp eax, 0x55555555
jb 0x140003a85
mov eax, dword [rsp + 0x20]
add eax, ecx
add eax, 2
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
test al, 3
jne 0x140003b8d
inc dword [rsp + 0x20]
jmp 0x140003a73
mov edx, dword [rsp + 0x20]
mov eax, dword [rsp + 0x20]
test dl, 1
jne 0x140003ad7
mov edx, dword [rsp + 0x20]
test al, 3
je 0x140003b16
add edx, 2
lea eax, [rcx + 3]
imul eax, edx
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
test al, 1
jne 0x140003b8d
mov eax, dword [rsp + 0x20]
imul edx, eax, 0xcccccccd
add edx, 0x19999999
mov eax, dword [rsp + 0x20]
cmp edx, 0x33333333
jb 0x140003ad3
dec eax
jmp 0x140003aa3
inc eax
jmp 0x140003aa3
sub eax, ecx
add eax, 2
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
imul eax, eax, 0xaaaaaaab
add eax, 0x2aaaaaaa
cmp eax, 0x55555554
ja 0x140003b8d
inc dword [rsp + 0x20]
mov eax, dword [rsp + 0x20]
imul eax, eax, 0xaaaaaaab
add eax, 0x2aaaaaaa
cmp eax, 0x55555555
jb 0x140003afa
jmp 0x140003b8d
imul eax, edx, 0xcccccccd
add eax, 0x19999999
cmp eax, 0x33333333
jb 0x140003b8d
mov eax, dword [rsp + 0x20]
add eax, 0xb
lea r8d, [rcx + 0x17]
cdq
idiv r8d
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
imul eax, eax, 0xaaaaaaab
add eax, 0x2aaaaaaa
cmp eax, 0x55555554
ja 0x140003b8d
mov eax, dword [rsp + 0x20]
imul edx, eax, 0xcccccccd
add edx, 0x19999999
mov eax, dword [rsp + 0x20]
cmp edx, 0x33333333
jb 0x140003b71
inc eax
jmp 0x140003b73
dec eax
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
imul eax, eax, 0xaaaaaaab
add eax, 0x2aaaaaaa
cmp eax, 0x55555555
jb 0x140003b51
mov eax, dword [rsp + 0x20]
imul eax, eax, 0xb6db6db7
add eax, 0x12492492
cmp eax, 0x24924925
jb 0x140003bc2
mov eax, dword [rsp + 0x20]
add eax, ecx
add eax, 2
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
test al, 7
jne 0x140003d2a
inc dword [rsp + 0x20]
jmp 0x140003bb0
mov eax, dword [rsp + 0x20]
imul edx, eax, 0xcccccccd
add edx, 0x19999999
mov eax, dword [rsp + 0x20]
cmp edx, 0x33333333
jb 0x140003c20
sub eax, ecx
add eax, 2
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
imul eax, eax, 0xb6db6db7
add eax, 0x12492492
cmp eax, 0x24924924
ja 0x140003d2a
inc dword [rsp + 0x20]
mov eax, dword [rsp + 0x20]
imul eax, eax, 0xb6db6db7
add eax, 0x12492492
cmp eax, 0x24924925
jb 0x140003c01
jmp 0x140003d2a
mov edx, dword [rsp + 0x20]
test al, 7
je 0x140003c90
add edx, 2
lea eax, [rcx + 3]
imul eax, edx
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
imul eax, eax, 0xcccccccd
add eax, 0x19999999
cmp eax, 0x33333332
ja 0x140003d2a
mov eax, dword [rsp + 0x20]
imul edx, eax, 0xba2e8ba3
add edx, 0xba2e8ba
mov eax, dword [rsp + 0x20]
cmp edx, 0x1745d175
jb 0x140003c6f
dec eax
jmp 0x140003c71
inc eax
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
imul eax, eax, 0xcccccccd
add eax, 0x19999999
cmp eax, 0x33333333
jb 0x140003c4f
jmp 0x140003d2a
imul edx, edx, 0xba2e8ba3
add edx, 0xba2e8ba
mov eax, dword [rsp + 0x20]
cmp edx, 0x1745d175
jb 0x140003d0b
add eax, 0xb
lea r8d, [rcx + 0x17]
cdq
idiv r8d
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
imul eax, eax, 0xc4ec4ec5
add eax, 0x9d89d89
cmp eax, 0x13b13b12
ja 0x140003d2a
mov eax, dword [rsp + 0x20]
imul edx, eax, 0xba2e8ba3
add edx, 0xba2e8ba
mov eax, dword [rsp + 0x20]
cmp edx, 0x1745d175
jb 0x140003ced
inc eax
jmp 0x140003cef
dec eax
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
imul eax, eax, 0xc4ec4ec5
add eax, 0x9d89d89
cmp eax, 0x13b13b13
jb 0x140003ccd
jmp 0x140003d2a
imul eax, eax, 0xc4ec4ec5
add eax, 0x9d89d89
cmp eax, 0x13b13b13
jb 0x140003d2a
mov eax, dword [rsp + 0x20]
lea eax, [rax + rax*2]
inc eax
mov dword [rsp + 0x20], eax
test rcx, rcx
je case.default.0x1400034a8
lea rdi, [rsp + 0x30]
mov edx, esi
mov r8, rdi
call fcn.140006cc6
mov rcx, rax
mov qword [rdi], rax
mov dword [rsp + 0x20], ecx
mov eax, dword [rsp + 0x20]
imul eax, eax, 0xaaaaaaab
add eax, 0x2aaaaaaa
cmp eax, 0x55555555
jb 0x140003d81
mov eax, dword [rsp + 0x20]
add eax, ecx
add eax, 2
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
test al, 3
jne 0x140003e89
inc dword [rsp + 0x20]
jmp 0x140003d6f
mov edx, dword [rsp + 0x20]
mov eax, dword [rsp + 0x20]
test dl, 1
jne 0x140003dd3
mov edx, dword [rsp + 0x20]
test al, 3
je 0x140003e12
add edx, 2
lea eax, [rcx + 3]
imul eax, edx
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
test al, 1
jne 0x140003e89
mov eax, dword [rsp + 0x20]
imul edx, eax, 0xcccccccd
add edx, 0x19999999
mov eax, dword [rsp + 0x20]
cmp edx, 0x33333333
jb 0x140003dcf
dec eax
jmp 0x140003d9f
inc eax
jmp 0x140003d9f
sub eax, ecx
add eax, 2
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
imul eax, eax, 0xaaaaaaab
add eax, 0x2aaaaaaa
cmp eax, 0x55555554
ja 0x140003e89
inc dword [rsp + 0x20]
mov eax, dword [rsp + 0x20]
imul eax, eax, 0xaaaaaaab
add eax, 0x2aaaaaaa
cmp eax, 0x55555555
jb 0x140003df6
jmp 0x140003e89
imul eax, edx, 0xcccccccd
add eax, 0x19999999
cmp eax, 0x33333333
jb 0x140003e89
mov eax, dword [rsp + 0x20]
add eax, 0xb
lea r8d, [rcx + 0x17]
cdq
idiv r8d
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
imul eax, eax, 0xaaaaaaab
add eax, 0x2aaaaaaa
cmp eax, 0x55555554
ja 0x140003e89
mov eax, dword [rsp + 0x20]
imul edx, eax, 0xcccccccd
add edx, 0x19999999
mov eax, dword [rsp + 0x20]
cmp edx, 0x33333333
jb 0x140003e6d
inc eax
jmp 0x140003e6f
dec eax
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
imul eax, eax, 0xaaaaaaab
add eax, 0x2aaaaaaa
cmp eax, 0x55555555
jb 0x140003e4d
mov eax, dword [rsp + 0x20]
imul eax, eax, 0xb6db6db7
add eax, 0x12492492
cmp eax, 0x24924925
jb 0x140003ebe
mov eax, dword [rsp + 0x20]
add eax, ecx
add eax, 2
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
test al, 7
jne 0x14000432c
inc dword [rsp + 0x20]
jmp 0x140003eac
mov eax, dword [rsp + 0x20]
imul edx, eax, 0xcccccccd
add edx, 0x19999999
mov eax, dword [rsp + 0x20]
cmp edx, 0x33333333
jb 0x140003f1c
sub eax, ecx
add eax, 2
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
imul eax, eax, 0xb6db6db7
add eax, 0x12492492
cmp eax, 0x24924924
ja 0x14000432c
inc dword [rsp + 0x20]
mov eax, dword [rsp + 0x20]
imul eax, eax, 0xb6db6db7
add eax, 0x12492492
cmp eax, 0x24924925
jb 0x140003efd
jmp 0x14000432c
mov edx, dword [rsp + 0x20]
test al, 7
je 0x140003f8c
add edx, 2
add ecx, 3
imul ecx, edx
mov dword [rsp + 0x20], ecx
mov eax, dword [rsp + 0x20]
imul eax, eax, 0xcccccccd
add eax, 0x19999999
cmp eax, 0x33333332
ja 0x14000432c
mov eax, dword [rsp + 0x20]
imul ecx, eax, 0xba2e8ba3
add ecx, 0xba2e8ba
mov eax, dword [rsp + 0x20]
cmp ecx, 0x1745d175
jb 0x140003f6b
dec eax
jmp 0x140003f6d
inc eax
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
imul eax, eax, 0xcccccccd
add eax, 0x19999999
cmp eax, 0x33333333
jb 0x140003f4b
jmp 0x14000432c
imul edx, edx, 0xba2e8ba3
add edx, 0xba2e8ba
mov eax, dword [rsp + 0x20]
cmp edx, 0x1745d175
jb 0x14000430d
add eax, 0xb
add ecx, 0x17
cdq
idiv ecx
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
imul eax, eax, 0xc4ec4ec5
add eax, 0x9d89d89
cmp eax, 0x13b13b12
ja 0x14000432c
mov eax, dword [rsp + 0x20]
imul ecx, eax, 0xba2e8ba3
add ecx, 0xba2e8ba
mov eax, dword [rsp + 0x20]
cmp ecx, 0x1745d175
jb 0x140003fef
inc eax
jmp 0x140003ff1
dec eax
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
imul eax, eax, 0xc4ec4ec5
add eax, 0x9d89d89
cmp eax, 0x13b13b13
jb 0x140003fcf
jmp 0x14000432c
imul eax, eax, 0xc4ec4ec5
add eax, 0x9d89d89
cmp eax, 0x13b13b13
jb 0x14000402f
mov eax, dword [rsp + 0x20]
lea eax, [rax + rax*2]
inc eax
mov dword [rsp + 0x20], eax
test rcx, rcx
je case.default.0x1400034a8
lea rdi, [rsp + 0x30]
mov edx, esi
mov r8, rdi
call fcn.140006cc6
mov rcx, rax
mov qword [rdi], rax
mov dword [rsp + 0x20], ecx
mov eax, dword [rsp + 0x20]
imul eax, eax, 0xaaaaaaab
add eax, 0x2aaaaaaa
cmp eax, 0x55555555
jb 0x140004089
mov eax, dword [rsp + 0x20]
add eax, ecx
add eax, 2
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
test al, 3
jne 0x140004191
inc dword [rsp + 0x20]
jmp 0x140004070
xor eax, eax
jmp 0x140004331
mov edx, dword [rsp + 0x20]
mov eax, dword [rsp + 0x20]
test dl, 1
jne 0x1400040db
mov edx, dword [rsp + 0x20]
test al, 3
je 0x14000411a
add edx, 2
lea eax, [rcx + 3]
imul eax, edx
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
test al, 1
jne 0x140004191
mov eax, dword [rsp + 0x20]
imul edx, eax, 0xcccccccd
add edx, 0x19999999
mov eax, dword [rsp + 0x20]
cmp edx, 0x33333333
jb 0x1400040d7
dec eax
jmp 0x1400040a7
inc eax
jmp 0x1400040a7
sub eax, ecx
add eax, 2
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
imul eax, eax, 0xaaaaaaab
add eax, 0x2aaaaaaa
cmp eax, 0x55555554
ja 0x140004191
inc dword [rsp + 0x20]
mov eax, dword [rsp + 0x20]
imul eax, eax, 0xaaaaaaab
add eax, 0x2aaaaaaa
cmp eax, 0x55555555
jb 0x1400040fe
jmp 0x140004191
imul eax, edx, 0xcccccccd
add eax, 0x19999999
cmp eax, 0x33333333
jb 0x140004191
mov eax, dword [rsp + 0x20]
add eax, 0xb
lea r8d, [rcx + 0x17]
cdq
idiv r8d
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
imul eax, eax, 0xaaaaaaab
add eax, 0x2aaaaaaa
cmp eax, 0x55555554
ja 0x140004191
mov eax, dword [rsp + 0x20]
imul edx, eax, 0xcccccccd
add edx, 0x19999999
mov eax, dword [rsp + 0x20]
cmp edx, 0x33333333
jb 0x140004175
inc eax
jmp 0x140004177
dec eax
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
imul eax, eax, 0xaaaaaaab
add eax, 0x2aaaaaaa
cmp eax, 0x55555555
jb 0x140004155
mov eax, dword [rsp + 0x20]
imul eax, eax, 0xb6db6db7
add eax, 0x12492492
cmp eax, 0x24924925
jb 0x1400041c6
mov eax, dword [rsp + 0x20]
add eax, ecx
add eax, 2
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
test al, 7
jne 0x14000432c
inc dword [rsp + 0x20]
jmp 0x1400041b4
mov eax, dword [rsp + 0x20]
imul edx, eax, 0xcccccccd
add edx, 0x19999999
mov eax, dword [rsp + 0x20]
cmp edx, 0x33333333
jb 0x140004224
sub eax, ecx
add eax, 2
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
imul eax, eax, 0xb6db6db7
add eax, 0x12492492
cmp eax, 0x24924924
ja 0x14000432c
inc dword [rsp + 0x20]
mov eax, dword [rsp + 0x20]
imul eax, eax, 0xb6db6db7
add eax, 0x12492492
cmp eax, 0x24924925
jb 0x140004205
jmp 0x14000432c
mov edx, dword [rsp + 0x20]
test al, 7
je 0x140004294
add edx, 2
add ecx, 3
imul ecx, edx
mov dword [rsp + 0x20], ecx
mov eax, dword [rsp + 0x20]
imul eax, eax, 0xcccccccd
add eax, 0x19999999
cmp eax, 0x33333332
ja 0x14000432c
mov eax, dword [rsp + 0x20]
imul ecx, eax, 0xba2e8ba3
add ecx, 0xba2e8ba
mov eax, dword [rsp + 0x20]
cmp ecx, 0x1745d175
jb 0x140004273
dec eax
jmp 0x140004275
inc eax
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
imul eax, eax, 0xcccccccd
add eax, 0x19999999
cmp eax, 0x33333333
jb 0x140004253
jmp 0x14000432c
imul edx, edx, 0xba2e8ba3
add edx, 0xba2e8ba
mov eax, dword [rsp + 0x20]
cmp edx, 0x1745d175
jb 0x14000430d
add eax, 0xb
add ecx, 0x17
cdq
idiv ecx
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
imul eax, eax, 0xc4ec4ec5
add eax, 0x9d89d89
cmp eax, 0x13b13b12
ja 0x14000432c
mov eax, dword [rsp + 0x20]
imul ecx, eax, 0xba2e8ba3
add ecx, 0xba2e8ba
mov eax, dword [rsp + 0x20]
cmp ecx, 0x1745d175
jb 0x1400042ef
inc eax
jmp 0x1400042f1
dec eax
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
imul eax, eax, 0xc4ec4ec5
add eax, 0x9d89d89
cmp eax, 0x13b13b13
jb 0x1400042cf
jmp 0x14000432c
imul eax, eax, 0xc4ec4ec5
add eax, 0x9d89d89
cmp eax, 0x13b13b13
jb 0x14000432c
mov eax, dword [rsp + 0x20]
lea eax, [rax + rax*2]
inc eax
mov dword [rsp + 0x20], eax
mov rax, qword [rsp + 0x30]
add rsp, 0x38
pop rdi
pop rsi
ret