Function at 0x140015370
Capabilities:
Access peb ldr_data
Encode data using xor
Resolve function by hash

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x1a8
lea rbp, [rsp + 0x80]
xorps xmm0, xmm0
movups xmmword [rbp + 0x4c], xmm0
movaps xmmword [rbp + 0x40], xmm0
movaps xmmword [rbp + 0x30], xmm0
movaps xmmword [rbp + 0x20], xmm0
movaps xmmword [rbp + 0x10], xmm0
movaps xmmword [rbp], xmm0
movaps xmmword [rbp - 0x10], xmm0
movaps xmmword [rbp - 0x20], xmm0
movaps xmmword [rbp - 0x30], xmm0
movaps xmmword [rbp - 0x40], xmm0
movaps xmmword [rbp - 0x50], xmm0
movaps xmmword [rbp - 0x60], xmm0
movaps xmmword [rbp - 0x70], xmm0
cmp dword [0x1400a53b4], 9
mov eax, dword [0x1400a53b0]
setg cl
lea edx, [rax + 1]
imul edx, eax
and dl, cl
mov byte [rbp + 0xf7], dl
mov eax, 1
lea rcx, [0x140036940]
nop dword [rax]
movsxd rdx, dword [rcx + rax*4 - 4]
xor dword [rbp + rdx*4 - 0x70], 0x1e27
movsxd rdx, dword [rcx + rax*4]
xor dword [rbp + rdx*4 - 0x70], 0x1e27
add rax, 2
cmp rax, 0x33
jne 0x1400153f0
mov eax, 0x72dc
mov dword [rbp + 0x9c], 0
mov r14d, 0x8dfc83f5
xorps xmm0, xmm0
lea rdi, [0x140036b90]
lea r10, [0x140036c40]
lea r11, [0x140036a10]
lea r13, [0x140036ad0]
lea rsi, [0x140036870]
mov dword [rbp + 0xac], 0
mov dword [rbp + 0xa4], 0
mov dword [rbp + 0xa8], 0
mov dword [rbp + 0xa0], 0
mov dword [rbp + 0x68], 0
mov dword [rbp + 0x6c], 0
mov dword [rbp + 0x70], 0
mov dword [rbp + 0x74], 0
mov dword [rbp + 0x78], 0
mov dword [rbp + 0x7c], 0
mov dword [rbp + 0x80], 0
mov dword [rbp + 0x84], 0
mov dword [rbp + 0x88], 0
mov dword [rbp + 0x8c], 0
mov dword [rbp + 0x90], 0
mov dword [rbp + 0x94], 0
mov dword [rbp + 0x98], 0
mov dword [rbp + 0xb0], 0
mov dword [rbp + 0xb4], 0
jmp 0x140015510
mov eax, dword [rbp + 0x58]
mov ecx, 0x1131
xor eax, ecx
nop word cs:[rax + rax]
cmp eax, 0x3737
jg 0x1400156d0
cmp eax, 0x1c07
jle 0x140015790
cmp eax, 0x2fcb
jle 0x1400158bf
cmp eax, 0x339c
jle 0x140015a75
cmp eax, 0x3688
jg 0x140015f39
cmp eax, 0x339d
je 0x1400169f4
cmp eax, 0x34c1
jne 0x140015510
mov eax, 0x10
call fcn.1400320f0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0xd8], rax
mov eax, 0x10
call fcn.1400320f0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x100], rax
mov eax, 0x10
call fcn.1400320f0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x108], rax
mov eax, 0x10
call fcn.1400320f0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0xf8], rax
mov eax, 0x10
call fcn.1400320f0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x110], rax
mov eax, 0x10
call fcn.1400320f0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0xe8], rax
mov eax, 0x10
call fcn.1400320f0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0xb8], rax
mov rax, qword [rbp + 0x100]
mov rax, qword [rbp + 0x108]
mov rax, qword [rbp + 0xf8]
mov rax, qword [rbp + 0x110]
mov rax, qword [rbp + 0xe8]
mov rax, qword gs:[0x60]
mov rcx, qword [rbp + 0x100]
mov qword [rcx], rax
mov rax, qword [rbp + 0x100]
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
mov rcx, qword [rbp + 0x100]
mov qword [rcx], rax
mov rax, qword [rbp + 0x100]
mov rax, qword [rax]
mov rax, qword [rax + 0x20]
mov rcx, qword [rbp + 0x108]
mov qword [rcx], rax
mov eax, 0x10
call fcn.1400320f0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x118], rax
mov rax, qword [rbp + 0x118]
mov dword [rax], 0x94c6cb8f
cmp dword [0x1400a53bc], 0xa
mov eax, dword [0x1400a53b8]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp + 0xac], 0
je 0x140016b06
test al, al
mov eax, 0x14f5
mov ecx, 0x4145
cmovne eax, ecx
xor eax, dword [rbp - 0x68]
mov cl, 1
mov dword [rbp + 0xac], ecx
jmp 0x140015510
cmp eax, 0x5bcf
jle 0x140015830
cmp eax, 0x6aee
jg 0x14001591b
cmp eax, 0x60c3
jg 0x140015acd
cmp eax, 0x5f10
jle 0x140015fa2
cmp eax, 0x5f11
je 0x140015fed
cmp eax, 0x5f44
jne 0x140015510
cmp dword [0x1400a53c4], 0xa
mov eax, dword [0x1400a53c0]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp + 0xa4], 0
jne 0x140015764
mov ecx, 1
nop
movsxd rdx, dword [r13 + rcx*4 - 4]
xor dword [rbp + rdx*4 - 0x70], 0x985
movsxd rdx, dword [r13 + rcx*4]
xor dword [rbp + rdx*4 - 0x70], 0x985
add rcx, 2
cmp rcx, 0x2f
jne 0x140015740
test al, al
mov eax, 0x3dfe
mov ecx, 0x6176
cmovne eax, ecx
xor eax, dword [rbp - 0x64]
mov cl, 1
mov dword [rbp + 0xa4], ecx
jmp 0x140015510
cmp eax, 0xbce
jg 0x140015995
cmp eax, 0x91a
jg 0x140015b91
cmp eax, 0xef
je 0x14001604e
cmp eax, 0x270
je 0x1400160a2
cmp eax, 0x44e
jne 0x140015510
mov eax, dword [0x1400a53e8]
cmp dword [0x1400a53ec], 0xa
setl cl
lea edx, [rax + rax]
add edx, 0x1b488ab8
add edx, eax
add edx, 0x1b488ab7
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp + 0x74], 0
jne 0x140015807
xor dword [rbp - 0x3c], 0x476
xor dword [rbp + 0x30], 0x476
test al, al
mov eax, 0x1a61
mov ecx, 0x1d64
cmovne eax, ecx
xor eax, dword [rbp - 0x40]
mov cl, 1
mov dword [rbp + 0x74], ecx
jmp 0x140015510
cmp eax, 0x4653
jg 0x1400159ef
cmp eax, 0x3e93
jg 0x140015cec
cmp eax, 0x3738
je 0x140016c32
cmp eax, 0x3b9c
je 0x1400160d0
cmp eax, 0x3e46
jne 0x140015510
mov eax, dword [0x1400a4d74]
cmp dword [0x1400a4d70], 0xa
setl cl
mov edx, 1
sub edx, eax
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp + 0x8c], 0
jne 0x1400158a0
xor dword [rbp - 0xc], 0x4819
xor dword [rbp + 0x48], 0x4819
test al, al
mov eax, 0x5269
mov ecx, 0x434b
cmovne eax, ecx
xor eax, dword [rbp - 0x10]
mov cl, 1
mov dword [rbp + 0x8c], ecx
jmp 0x140015510
cmp eax, 0x2d35
jg 0x140015d61
cmp eax, 0x1c08
je 0x140016ce9
cmp eax, 0x20d4
je 0x140016c9b
cmp eax, 0x285f
jne 0x140015510
mov rax, qword [rbp + 0x108]
cmp qword [rax], 0
mov eax, 0x6a78ebb9
mov ecx, 0x8450692b
cmove eax, ecx
mov rcx, qword [rbp + 0x118]
mov dword [rcx], eax
mov eax, dword [rbp + 0x28]
mov ecx, 0x3740
xor eax, ecx
jmp 0x140015510
cmp eax, 0x70c6
jg 0x140015e00
cmp eax, 0x6aef
je 0x140016ab2
cmp eax, 0x6bb1
je 0x14001611d
cmp eax, 0x6cd0
jne 0x140015510
cmp dword [0x1400a4c8c], 0xa
mov eax, dword [0x1400a4c88]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp + 0x7c], 0
jne 0x140015979
xor dword [rbp - 0x2c], 0x22f1
xor dword [rbp + 0x38], 0x22f1
test al, al
mov eax, 0x64c6
mov ecx, 0x5c2e
cmovne eax, ecx
xor eax, dword [rbp - 0x30]
mov cl, 1
mov dword [rbp + 0x7c], ecx
jmp 0x140015510
cmp eax, 0x124a
jg 0x140015e53
cmp eax, 0xbcf
je 0x140016150
cmp eax, 0xc50
je 0x140016bba
cmp eax, 0x105a
jne 0x140015510
mov eax, dword [0x1400a4cf0]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
mov eax, 0x2ea7
mov ecx, 0x5e2f
cmove eax, ecx
cmp dword [0x1400a4cf4], 0xa
cmovl eax, ecx
xor eax, dword [rbp + 0x18]
jmp 0x140015510
cmp eax, 0x5390
jg 0x140015ec9
cmp eax, 0x4654
je 0x1400161fd
cmp eax, 0x4b40
je 0x1400161aa
cmp eax, 0x5035
jne 0x140015510
mov rax, qword [rbp + 0x108]
mov rax, qword [rax]
mov rax, qword [rax + 0x50]
mov rcx, qword [rbp + 0xf8]
mov qword [rcx], rax
mov rax, qword [rbp + 0x108]
mov rax, qword [rax]
movzx eax, word [rax + 0x48]
mov rcx, qword [rbp + 0xe8]
mov word [rcx], ax
mov rax, qword [rbp + 0x110]
mov qword [rax], 0
mov rax, qword [rbp + 0x118]
mov dword [rax], 0x96fb2959
mov eax, dword [rbp + 0x2c]
mov ecx, 0x361d
xor eax, ecx
jmp 0x140015510
cmp eax, 0x2fcc
je 0x1400154fc
cmp eax, 0x3029
je 0x14001615f
cmp eax, 0x321e
jne 0x140015510
mov rax, qword [rbp + 0xd8]
mov qword [rax], 0
mov rax, qword [rbp + 0xb8]
mov dword [rax], 1
mov rax, qword [rbp + 0x118]
mov dword [rax], 0xb2085ca9
mov eax, dword [rbp + 0x50]
mov ecx, 0x2d2c
xor eax, ecx
jmp 0x140015510
cmp eax, 0x60c4
je 0x140016a5e
cmp eax, 0x657f
je 0x140016251
cmp eax, 0x6930
jne 0x140015510
mov rax, qword [rbp + 0x108]
mov rax, qword [rax]
mov rax, qword [rax + 0x50]
mov rcx, qword [rbp + 0xf8]
mov qword [rcx], rax
mov rax, qword [rbp + 0x108]
mov rax, qword [rax]
movzx eax, word [rax + 0x48]
mov rcx, qword [rbp + 0xe8]
mov word [rcx], ax
mov rax, qword [rbp + 0x110]
mov qword [rax], 0
mov rax, qword [rbp + 0x118]
mov dword [rax], 0x96fb2959
mov eax, dword [0x1400a53e0]
mov ecx, dword [0x1400a53e4]
cmp ecx, 0xa
setl r8b
cmp ecx, 9
setg cl
lea ebx, [rax + 1]
imul ebx, eax
and ebx, 1
sete al
mov r9d, eax
and r9b, cl
mov edx, r8d
xor dl, al
or al, cl
xor cl, al
xor dl, r9b
or bl, r8b
xor bl, dl
or bl, cl
xor al, r8b
xor al, bl
mov eax, 0xf18
mov ecx, 0x5fc2
cmovne eax, ecx
xor eax, dword [rbp - 0x44]
jmp 0x140015510
cmp eax, 0x91b
je 0x140016285
cmp eax, 0xabb
je 0x1400162b3
cmp eax, 0xaf4
jne 0x140015510
mov eax, 0x10
call fcn.1400320f0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0xd8], rax
mov eax, 0x10
call fcn.1400320f0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x100], rax
mov eax, 0x10
call fcn.1400320f0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x108], rax
mov eax, 0x10
call fcn.1400320f0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0xf8], rax
mov eax, 0x10
call fcn.1400320f0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x110], rax
mov eax, 0x10
call fcn.1400320f0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0xe8], rax
mov eax, 0x10
call fcn.1400320f0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0xb8], rax
mov rax, qword [rbp + 0x100]
mov rax, qword [rbp + 0x108]
mov rax, qword [rbp + 0xf8]
mov rax, qword [rbp + 0x110]
mov rax, qword [rbp + 0xe8]
mov rax, qword gs:[0x60]
mov rcx, qword [rbp + 0x100]
mov qword [rcx], rax
mov rax, qword [rbp + 0x100]
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
mov rcx, qword [rbp + 0x100]
mov qword [rcx], rax
mov rax, qword [rbp + 0x100]
mov rax, qword [rax]
mov rax, qword [rax + 0x20]
mov rcx, qword [rbp + 0x108]
mov qword [rcx], rax
mov eax, 0x10
call fcn.1400320f0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x118], rax
mov rax, qword [rbp + 0x118]
mov dword [rax], 0x94c6cb8f
mov eax, dword [rbp + 0x1c]
mov ecx, 0x2ac0
xor eax, ecx
jmp 0x140015510
cmp eax, 0x3e94
je 0x140016327
cmp eax, 0x4121
je 0x140016369
cmp eax, 0x413f
jne 0x140015510
cmp dword [0x1400a4cb4], 0xa
mov eax, dword [0x1400a4cb0]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp + 0x88], 0
jne 0x140015d42
xor dword [rbp - 0x14], 0x5497
xor dword [rbp + 0x44], 0x5497
test al, al
mov eax, 0x4b80
mov ecx, 0x726c
cmovne eax, ecx
xor eax, dword [rbp - 0x18]
mov cl, 1
mov dword [rbp + 0x88], ecx
jmp 0x140015510
cmp eax, 0x2d36
je 0x1400163bf
cmp eax, 0x2d81
je 0x1400163fc
cmp eax, 0x2e2b
jne 0x140015510
mov rax, qword [rbp + 0xe8]
mov rax, qword [rbp + 0x110]
mov rax, qword [rbp + 0xf8]
mov rax, qword [rbp + 0x108]
mov rax, qword [rbp + 0x100]
mov rax, qword [rbp + 0xd8]
mov rax, qword [rax]
mov qword [rbp - 0x78], rax
cmp dword [0x1400a4d5c], 0xa
mov eax, dword [0x1400a4d58]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp + 0xb0], 0
jne 0x140015de1
xor dword [rbp + 0x10], 0x24e
test al, al
mov eax, 0x1e19
mov ecx, 0x1bae
cmovne eax, ecx
xor eax, dword [rbp + 0xc]
mov cl, 1
mov dword [rbp + 0xb0], ecx
jmp 0x140015510
cmp eax, 0x70c7
je 0x140016482
cmp eax, 0x7109
je 0x1400164e7
cmp eax, 0x72dc
jne 0x140015510
mov al, byte [rbp + 0xf7]
cmp byte [rbp + 0x9c], 0
je 0x140016b39
test al, 1
mov eax, 0x2ae6
mov ecx, 0x14d3
cmovne eax, ecx
xor eax, dword [rbp - 0x70]
mov cl, 1
mov dword [rbp + 0x9c], ecx
jmp 0x140015510
cmp eax, 0x124b
je 0x140016502
cmp eax, 0x15de
je 0x14001655e
cmp eax, 0x1b99
jne 0x140015510
mov rax, qword [rbp + 0x108]
mov rax, qword [rax]
mov rax, qword [rax + 0x20]
mov rcx, qword [rbp + 0x100]
mov qword [rcx], rax
mov rax, qword [rbp + 0x100]
mov rax, qword [rax]
mov rcx, qword [rbp + 0xd8]
mov qword [rcx], rax
mov rax, qword [rbp + 0xb8]
mov dword [rax], 1
mov rax, qword [rbp + 0x118]
mov dword [rax], 0xb2085ca9
mov eax, dword [rbp + 0x48]
mov ecx, 0xb52
xor eax, ecx
jmp 0x140015510
cmp eax, 0x5391
je 0x1400165c1
cmp eax, 0x5494
je 0x140016738
cmp eax, 0x5662
jne 0x140015510
mov rax, qword [rbp + 0x108]
cmp qword [rax], 0
mov eax, 0x6a78ebb9
mov ecx, 0x8450692b
cmove eax, ecx
mov rcx, qword [rbp + 0x118]
mov dword [rcx], eax
mov eax, dword [0x1400a54ec]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
mov eax, 0x497d
mov ecx, 0x61cd
cmove eax, ecx
cmp dword [0x1400a54e8], 0xa
cmovl eax, ecx
xor eax, dword [rbp - 0x4c]
jmp 0x140015510
cmp eax, 0x3689
je 0x1400168bd
cmp eax, 0x3711
jne 0x140015510
mov rax, qword [rbp + 0xf8]
mov rax, qword [rax]
add rax, 1
mov rcx, qword [rbp + 0xf8]
mov qword [rcx], rax
mov rax, qword [rbp + 0x118]
mov dword [rax], 0xf8263fdf
mov eax, dword [0x1400a4c98]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
mov eax, 0x273a
mov ecx, 0x42aa
cmove eax, ecx
cmp dword [0x1400a4c9c], 0xa
cmovl eax, ecx
xor eax, dword [rbp - 0x24]
jmp 0x140015510
cmp eax, 0x5e67
jne 0x140016d37
mov rax, qword [rbp + 0xe8]
mov rax, qword [rbp + 0x110]
mov rax, qword [rbp + 0xf8]
mov rax, qword [rbp + 0x108]
mov rax, qword [rbp + 0x100]
mov rax, qword [rbp + 0xd8]
mov rax, qword [rax]
mov qword [rbp - 0x78], rax
mov eax, dword [rbp + 0x54]
mov ecx, 0x6e55
xor eax, ecx
jmp 0x140015510
mov rax, qword [rbp + 0xf8]
mov rax, qword [rax]
movzx eax, byte [rax]
mov rcx, qword [rbp + 0x110]
mov rcx, qword [rcx]
lea rax, [rax + rcx - 0x20]
mov rcx, qword [rbp + 0x110]
mov qword [rcx], rax
mov rax, qword [rbp + 0x118]
mov dword [rax], 0xc9a02598
mov eax, dword [0x1400a4c80]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, 0x275d
mov ecx, 0x1926
cmove eax, ecx
cmp dword [0x1400a4c84], 0xa
cmovl eax, ecx
xor eax, dword [rbp - 0x34]
jmp 0x140015510
cmp dword [0x1400a4ce0], 0xa
mov eax, dword [0x1400a4ce4]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp + 0xb4], 0
jne 0x140016083
xor dword [rbp + 0x18], 0x489b
xor dword [rbp + 0x58], 0x489b
test al, al
mov eax, 0x663c
mov ecx, 0x59aa
cmovne eax, ecx
xor eax, dword [rbp + 0x14]
mov cl, 1
mov dword [rbp + 0xb4], ecx
jmp 0x140015510
mov rax, qword [rbp + 0x110]
cmp dword [rax], 0x6a4abc5b
mov eax, 0xce61a3f9
cmove eax, r14d
mov rcx, qword [rbp + 0x118]
mov dword [rcx], eax
mov eax, dword [rbp + 0x44]
mov ecx, 0x26fb
xor eax, ecx
jmp 0x140015510
mov rax, qword [rbp + 0x110]
cmp dword [rax], 0x6a4abc5b
mov eax, 0xce61a3f9
cmove eax, r14d
mov rcx, qword [rbp + 0x118]
mov dword [rcx], eax
mov eax, dword [0x1400a4d94]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
mov eax, 0x1f17
mov ecx, 0x1d88
cmove eax, ecx
cmp dword [0x1400a4d90], 0xa
cmovl eax, ecx
xor eax, dword [rbp - 0x14]
jmp 0x140015510
mov rax, qword [rbp + 0x108]
mov rax, qword [rax]
mov rax, qword [rax]
mov rcx, qword [rbp + 0x108]
mov qword [rcx], rax
mov rax, qword [rbp + 0x118]
mov dword [rax], 0x94c6cb8f
mov eax, dword [rbp + 0x4c]
mov ecx, 0x49e6
xor eax, ecx
jmp 0x140015510
mov eax, dword [rbp + 0x24]
mov ecx, 0x6046
xor eax, ecx
jmp 0x140015510
mov eax, dword [rbp + 0x64]
cmp byte [rbp + 0xa0], 0
je 0x140016b63
mov cl, 1
mov dword [rbp + 0xa0], ecx
cmp eax, 0xc9a02597
jg 0x1400169c8
cmp eax, 0x96fb2958
jg 0x140016b99
cmp eax, 0x8450692b
je 0x1400161fd
cmp eax, 0x8dfc83f5
je 0x140015867
cmp eax, 0x94c6cb8f
jne 0x140016ce9
mov eax, dword [0x1400a53d8]
cmp dword [0x1400a53dc], 0xa
setl cl
lea edx, [rax + rax]
add edx, eax
add edx, 1
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp + 0x6c], 0
jne 0x1400161e1
xor dword [rbp - 0x4c], 0x28d2
xor dword [rbp + 0x28], 0x28d2
test al, al
mov eax, 0x61af
mov ecx, 0x1f92
cmovne eax, ecx
xor eax, dword [rbp - 0x50]
mov cl, 1
mov dword [rbp + 0x6c], ecx
jmp 0x140015510
cmp dword [0x1400a4cc4], 0xa
mov eax, dword [0x1400a4cc0]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp + 0x94], 0
jne 0x140016232
xor dword [rbp + 4], 0x25fd
xor dword [rbp + 0x50], 0x25fd
test al, al
mov eax, 0x7bee
mov ecx, 0x8d1
cmovne eax, ecx
xor eax, dword [rbp]
mov cl, 1
mov dword [rbp + 0x94], ecx
jmp 0x140015510
mov rax, qword [rbp + 0xf8]
mov rax, qword [rax]
add rax, 1
mov rcx, qword [rbp + 0xf8]
mov qword [rcx], rax
mov rax, qword [rbp + 0x118]
mov dword [rax], 0xf8263fdf
mov eax, dword [rbp + 0x3c]
mov ecx, 0x7554
xor eax, ecx
jmp 0x140015510
mov eax, dword [0x1400a53d0]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, 0x6292
mov ecx, 0x69b2
cmove eax, ecx
cmp dword [0x1400a53d4], 0xa
cmovl eax, ecx
xor eax, dword [rbp - 0x54]
jmp 0x140015510
mov rax, qword [rbp + 0x108]
mov rax, qword [rax]
mov rax, qword [rax + 0x20]
mov rcx, qword [rbp + 0x100]
mov qword [rcx], rax
mov rax, qword [rbp + 0x100]
mov rax, qword [rax]
mov rcx, qword [rbp + 0xd8]
mov qword [rcx], rax
mov rax, qword [rbp + 0xb8]
mov dword [rax], 1
mov rax, qword [rbp + 0x118]
mov dword [rax], 0xb2085ca9
mov eax, dword [0x1400a4dac]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
mov eax, 0x1a70
mov ecx, 0x106
cmove eax, ecx
cmp dword [0x1400a4da8], 0xa
cmovl eax, ecx
xor eax, dword [rbp - 0xc]
jmp 0x140015510
mov rax, qword [rbp + 0xf8]
mov rax, qword [rax]
movzx eax, byte [rax]
mov rcx, qword [rbp + 0x110]
mov rcx, qword [rcx]
lea rax, [rax + rcx - 0x20]
mov rcx, qword [rbp + 0x110]
mov qword [rcx], rax
mov rax, qword [rbp + 0x118]
mov dword [rax], 0xc9a02598
mov eax, dword [rbp + 0x34]
mov ecx, 0x46d8
xor eax, ecx
jmp 0x140015510
mov rax, qword [rbp + 0xd8]
mov qword [rax], 0
mov rax, qword [rbp + 0xb8]
mov dword [rax], 1
mov rax, qword [rbp + 0x118]
mov dword [rax], 0xb2085ca9
mov eax, dword [0x1400a4d18]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
mov eax, 0x5e13
mov ecx, 0x6ce2
cmove eax, ecx
cmp dword [0x1400a4d1c], 0xa
cmovl eax, ecx
xor eax, dword [rbp + 4]
jmp 0x140015510
mov rax, qword [rbp + 0xf8]
mov rax, qword [rax]
movzx eax, byte [rax]
mov rcx, qword [rbp + 0x110]
add rax, qword [rcx]
mov rcx, qword [rbp + 0x110]
mov qword [rcx], rax
mov rax, qword [rbp + 0x118]
mov dword [rax], 0xc9a02598
mov eax, dword [rbp + 0x38]
mov ecx, 0x7edf
xor eax, ecx
jmp 0x140015510
mov rax, qword [rbp + 0x118]
mov eax, dword [rax]
mov dword [rbp + 0x64], eax
cmp dword [0x1400a53cc], 0xa
mov eax, dword [0x1400a53c8]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp + 0xa8], 0
jne 0x140016463
mov ecx, 1
nop word cs:[rax + rax]
nop
movsxd rdx, dword [rdi + rcx*4 - 4]
xor dword [rbp + rdx*4 - 0x70], 0x2297
movsxd rdx, dword [rdi + rcx*4]
xor dword [rbp + rdx*4 - 0x70], 0x2297
add rcx, 2
cmp rcx, 0x2d
jne 0x140016440
test al, al
mov eax, 0x347b
mov ecx, 0x755b
cmovne eax, ecx
xor eax, dword [rbp - 0x60]
mov cl, 1
mov dword [rbp + 0xa8], ecx
jmp 0x140015510
mov rax, qword [rbp + 0x108]
mov rax, qword [rax]
mov rax, qword [rax]
mov rcx, qword [rbp + 0x108]
mov qword [rcx], rax
mov rax, qword [rbp + 0x118]
mov dword [rax], 0x94c6cb8f
mov eax, dword [0x1400a4d20]
mov ecx, dword [0x1400a4d24]
cmp ecx, 0xa
setl dl
lea ebx, [rax + 1]
imul ebx, eax
test bl, 1
sete al
xor al, dl
mov eax, 0x5290
mov edx, 0x39ce
cmovne eax, edx
test bl, 1
cmove eax, edx
cmp ecx, 0xa
cmovl eax, edx
xor eax, dword [rbp - 4]
jmp 0x140015510
mov rax, qword [rbp + 0x118]
mov eax, dword [rax]
mov dword [rbp + 0x64], eax
mov eax, dword [rbp + 0x20]
mov ecx, 0x68f3
xor eax, ecx
jmp 0x140015510
mov rax, qword [rbp + 0xe8]
movzx eax, word [rax]
mov rcx, qword [rbp + 0xe8]
add ax, 0xffff
mov edx, 0x96fb2959
mov ebx, 0xaa84ee83
cmove edx, ebx
mov word [rcx], ax
mov rax, qword [rbp + 0x118]
mov dword [rax], edx
mov eax, dword [0x1400a4ca8]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
mov eax, 0x2e89
mov ecx, 0x18ef
cmove eax, ecx
cmp dword [0x1400a4cac], 0xa
cmovl eax, ecx
xor eax, dword [rbp - 0x1c]
jmp 0x140015510
mov rax, qword [rbp + 0xf8]
mov rax, qword [rax]
movzx eax, byte [rax]
mov rcx, qword [rbp + 0x110]
mov rcx, qword [rcx]
sub rcx, rax
lea rax, [rcx + rax*2]
mov rcx, qword [rbp + 0x110]
mov qword [rcx], rax
mov rax, qword [rbp + 0x118]
mov dword [rax], 0xc9a02598
mov eax, dword [0x1400a54bc]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
mov eax, 0x4637
mov ecx, 0x6bee
cmove eax, ecx
cmp dword [0x1400a54b8], 0xa
cmovl eax, ecx
xor eax, dword [rbp - 0x2c]
jmp 0x140015510
mov rax, qword [rbp + 0x110]
mov r10d, dword [rax]
movaps xmmword [rbp + 0xc0], xmm0
mov eax, dword [0x1400a4d2c]
cmp dword [0x1400a4d28], 0xa
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
mov edx, ecx
and dl, al
mov byte [rbp + 0x127], dl
xor cl, al
mov byte [rbp + 0x126], cl
mov r15d, 0x1e27
mov r9d, dword [rbp + 0xc0]
xor r9d, r15d
mov dword [rbp + 0xc0], r9d
mov ecx, dword [rbp + 0xc8]
xor ecx, r15d
mov dword [rbp + 0xc8], ecx
mov esi, dword [rbp + 0xcc]
xor esi, r15d
rol r10d, 0x13
mov dword [rbp + 0xcc], esi
mov eax, dword [0x1400a4d68]
lea edx, [rax + 1]
imul edx, eax
test dl, 1
mov r8d, 0x6995
mov eax, 0x36d3
cmove r8d, eax
cmp dword [0x1400a4d6c], 0xa
cmovl r8d, eax
mov dword [rbp + 0xd0], 0x1e27
mov eax, 0x2e15
mov r11b, 1
xor r12d, r12d
mov edx, r15d
xor edx, 0x601c
mov edi, ecx
xor edi, r8d
mov ebx, esi
nop word [rax + rax]
cmp eax, 0x7793
jg 0x1400166b0
cmp eax, 0x28d2
je 0x1400168fa
cmp eax, 0x2e15
jne 0x140016690
jmp 0x1400166f0
cmp eax, 0x7794
je 0x1400166d9
cmp eax, 0x7e1d
jne 0x140016690
mov dword [rbp + 0xe4], r10d
mov eax, ebx
xor eax, 0x52f6
test r12b, r12b
cmove ebx, eax
mov r12b, 1
mov eax, edi
jmp 0x140016690
mov dword [rbp + 0xe4], r10d
mov eax, edx
jmp 0x140016690
mov dl, byte [rbp + 0x127]
cmp byte [rbp + 0x126], 0
mov eax, 0x69b3
mov esi, 0x603a
cmovne eax, esi
test dl, dl
cmovne eax, esi
mov edx, ecx
xor edx, 0x26
mov esi, ebx
xor esi, 0x26
mov edi, r15d
xor edi, 0x26
test r11b, 1
cmove esi, ebx
cmovne ecx, edx
cmovne r15d, edi
xor eax, r9d
xor r11d, r11d
jmp 0x140016677
mov rax, qword [rbp + 0x110]
mov r14d, dword [rax]
movaps xmmword [rbp + 0xc0], xmm0
mov ecx, dword [0x1400a4d2c]
cmp dword [0x1400a4d28], 0xa
setl al
lea ebx, [rcx + 1]
imul ebx, ecx
test bl, 1
sete cl
mov edx, eax
and dl, cl
mov byte [rbp + 0x127], dl
xor al, cl
mov byte [rbp + 0x126], al
mov r8d, 0x1e27
mov r12d, dword [rbp + 0xc0]
xor r12d, r8d
mov dword [rbp + 0xc0], r12d
mov r15d, dword [rbp + 0xc8]
xor r15d, r8d
mov dword [rbp + 0xc8], r15d
mov edi, dword [rbp + 0xcc]
xor edi, r8d
rol r14d, 0x13
mov dword [rbp + 0xcc], edi
mov eax, dword [0x1400a4d68]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
mov esi, 0x6995
mov eax, 0x36d3
cmove esi, eax
cmp dword [0x1400a4d6c], 0xa
cmovl esi, eax
mov dword [rbp + 0xd0], 0x1e27
mov r10d, 0x2e15
mov cl, 1
xor r11d, r11d
mov edx, r8d
xor edx, 0x601c
mov ebx, r15d
xor ebx, esi
mov r9d, edi
nop
cmp r10d, 0x7793
jg 0x140016830
cmp r10d, 0x28d2
je 0x14001693f
cmp r10d, 0x2e15
jne 0x140016800
jmp 0x140016870
cmp r10d, 0x7794
je 0x140016860
cmp r10d, 0x7e1d
jne 0x140016800
mov dword [rbp + 0xe4], r14d
mov eax, r9d
xor eax, 0x52f6
test r11b, r11b
cmove r9d, eax
mov r11b, 1
mov r10d, ebx
jmp 0x140016800
mov dword [rbp + 0xe4], r14d
mov r10d, edx
jmp 0x140016800
mov al, byte [rbp + 0x127]
cmp byte [rbp + 0x126], 0
mov r10d, 0x69b3
mov edx, 0x603a
cmovne r10d, edx
test al, al
cmovne r10d, edx
mov eax, r15d
xor eax, 0x26
mov edi, r9d
xor edi, 0x26
mov edx, r8d
xor edx, 0x26
test cl, 1
cmove edi, r9d
cmovne r15d, eax
cmovne r8d, edx
xor r10d, r12d
xor ecx, ecx
jmp 0x1400167ed
mov rax, qword [rbp + 0xe8]
movzx eax, word [rax]
mov rcx, qword [rbp + 0xe8]
add ax, 0xffff
mov word [rcx], ax
mov eax, 0x96fb2959
mov ecx, 0xaa84ee83
cmove eax, ecx
mov rcx, qword [rbp + 0x118]
mov dword [rcx], eax
mov eax, dword [rbp + 0x40]
mov ecx, 0xa4b
xor eax, ecx
jmp 0x140015510
mov dword [rbp + 0xcc], esi
mov eax, dword [rbp + 0xe4]
mov rcx, qword [rbp + 0x110]
mov qword [rcx], rax
mov rax, qword [rbp + 0xf8]
mov rax, qword [rax]
cmp byte [rax], 0x60
mov eax, 0x4d829101
mov ecx, 0x19ae53ea
cmova eax, ecx
mov rcx, qword [rbp + 0x118]
mov dword [rcx], eax
mov eax, dword [rbp + 0x30]
mov ecx, 0x1912
xor eax, ecx
jmp 0x1400169a7
mov dword [rbp + 0xcc], edi
mov eax, dword [rbp + 0xe4]
mov rcx, qword [rbp + 0x110]
mov qword [rcx], rax
mov rax, qword [rbp + 0xf8]
mov rax, qword [rax]
cmp byte [rax], 0x60
mov eax, 0x4d829101
mov ecx, 0x19ae53ea
cmova eax, ecx
mov rcx, qword [rbp + 0x118]
mov dword [rcx], eax
mov eax, dword [0x1400a4c70]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
mov eax, 0x1e17
mov ecx, 0x4d69
cmove eax, ecx
cmp dword [0x1400a4c74], 0xa
cmovl eax, ecx
xor eax, dword [rbp - 0x3c]
mov r14d, 0x8dfc83f5
lea rdi, [0x140036b90]
lea r10, [0x140036c40]
lea r11, [0x140036a10]
lea rsi, [0x140036870]
jmp 0x140015510
cmp eax, 0x19ae53e9
jg 0x140016c15
cmp eax, 0xc9a02598
je 0x140016a5e
cmp eax, 0xce61a3f9
je 0x140016ab2
cmp eax, 0xf8263fdf
jne 0x140016ce9
cmp dword [0x1400a4ca4], 0xa
mov eax, dword [0x1400a4ca0]
setl cl
lea edx, [rax - 0x55b4f7ab]
lea ebx, [rax + rax]
add ebx, 0xaa4b0855
not edx
sub edx, ebx
add edx, 0xab69ef56
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp + 0x84], 0
jne 0x140016a3f
xor dword [rbp - 0x1c], 0x51f0
xor dword [rbp + 0x40], 0x51f0
test al, al
mov eax, 0x7f79
mov ecx, 0x5bbb
cmovne eax, ecx
xor eax, dword [rbp - 0x20]
mov cl, 1
mov dword [rbp + 0x84], ecx
jmp 0x140015510
cmp dword [0x1400a4c94], 0xa
mov eax, dword [0x1400a4c90]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp + 0x80], 0
jne 0x140016a93
xor dword [rbp - 0x24], 0xbb5
xor dword [rbp + 0x3c], 0xbb5
test al, al
mov eax, 0x2c8f
mov ecx, 0x7ee1
cmovne eax, ecx
xor eax, dword [rbp - 0x28]
mov cl, 1
mov dword [rbp + 0x80], ecx
jmp 0x140015510
cmp dword [0x1400a4d4c], 0xa
mov eax, dword [0x1400a4d48]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp + 0x90], 0
jne 0x140016ae7
xor dword [rbp - 4], 0x70d1
xor dword [rbp + 0x4c], 0x70d1
test al, al
mov eax, 0x2241
mov ecx, 0x3937
cmovne eax, ecx
xor eax, dword [rbp - 8]
mov cl, 1
mov dword [rbp + 0x90], ecx
jmp 0x140015510
mov ecx, 1
nop dword [rax + rax]
movsxd rdx, dword [r11 + rcx*4 - 4]
xor dword [rbp + rdx*4 - 0x70], 0x52f6
cmp rcx, 0x2f
je 0x1400156af
movsxd rdx, dword [r11 + rcx*4]
xor dword [rbp + rdx*4 - 0x70], 0x52f6
add rcx, 2
jmp 0x140016b10
mov ecx, 1
nop
movsxd rdx, dword [rsi + rcx*4 - 4]
xor byte [rbp + rdx*4 - 0x70], 0x26
cmp rcx, 0x31
je 0x140015e34
movsxd rdx, dword [rsi + rcx*4]
xor byte [rbp + rdx*4 - 0x70], 0x26
add rcx, 2
jmp 0x140016b40
mov ecx, 1
nop dword [rax + rax]
movsxd rdx, dword [r10 + rcx*4 - 4]
xor dword [rbp + rdx*4 - 0x70], 0x2e15
cmp rcx, 0x2b
je 0x14001616f
movsxd rdx, dword [r10 + rcx*4]
xor dword [rbp + rdx*4 - 0x70], 0x2e15
add rcx, 2
jmp 0x140016b70
cmp eax, 0x96fb2959
je 0x1400157c7
cmp eax, 0xaa84ee83
je 0x140015d0d
cmp eax, 0xb2085ca9
jne 0x140016ce9
cmp dword [0x1400a4dc8], 0xa
mov eax, dword [0x1400a4dcc]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp + 0x98], 0
jne 0x140016bf6
xor dword [rbp + 0xc], 0x98e
xor dword [rbp + 0x10], 0x98e
xor dword [rbp + 0x54], 0x98e
test al, al
mov eax, 0x1797
mov ecx, 0x67db
cmovne eax, ecx
xor eax, dword [rbp + 8]
mov cl, 1
mov dword [rbp + 0x98], ecx
jmp 0x140015510
cmp eax, 0x19ae53ea
je 0x140016c9b
cmp eax, 0x4d829101
je 0x140015947
cmp eax, 0x6a78ebb9
jne 0x140016ce9
mov ecx, dword [0x1400a54f0]
mov eax, dword [0x1400a54f4]
cmp eax, 9
setg r8b
cmp eax, 0xa
setl al
lea ebx, [rcx + 1]
imul ebx, ecx
and ebx, 1
sete cl
mov edx, eax
xor dl, cl
or bl, al
xor bl, dl
or r8b, cl
and al, cl
xor al, r8b
xor al, bl
or al, dl
cmp byte [rbp + 0x70], 0
jne 0x140016c7f
xor dword [rbp - 0x44], 0x16dd
xor dword [rbp + 0x2c], 0x16dd
test al, 1
mov eax, 0x19c5
mov ecx, 0x20c0
cmovne eax, ecx
xor eax, dword [rbp - 0x48]
mov cl, 1
mov dword [rbp + 0x70], ecx
jmp 0x140015510
cmp dword [0x1400a4c7c], 0xa
mov eax, dword [0x1400a4c78]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp + 0x78], 0
jne 0x140016ccd
xor dword [rbp - 0x34], 0x5039
xor dword [rbp + 0x34], 0x5039
test al, al
mov eax, 0x7764
mov ecx, 0x16e1
cmovne eax, ecx
xor eax, dword [rbp - 0x38]
mov cl, 1
mov dword [rbp + 0x78], ecx
jmp 0x140015510
cmp dword [0x1400a54f8], 0xa
mov eax, dword [0x1400a54fc]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp + 0x68], 0
jne 0x140016d1b
xor dword [rbp - 0x54], 0x20ad
xor dword [rbp + 0x24], 0x20ad
test al, al
mov eax, 0x423f
mov ecx, 0x40eb
cmovne eax, ecx
xor eax, dword [rbp - 0x58]
mov cl, 1
mov dword [rbp + 0x68], ecx
jmp 0x140015510
cmp eax, 0x5bd0
jne 0x140015510
mov rax, qword [rbp - 0x78]
lea rsp, [rbp + 0x128]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret