Function at 0x18000dee0
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 [0x180099c24], 9
mov eax, dword [0x180099c20]
setg cl
lea edx, [rax + 1]
imul edx, eax
and dl, cl
mov byte [rbp + 0xf7], dl
mov eax, 1
lea rcx, [0x18002c560]
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 0x18000df60
mov eax, 0x72dc
mov dword [rbp + 0x9c], 0
mov r14d, 0x8dfc83f5
xorps xmm0, xmm0
lea rdi, [0x18002c7b0]
lea r10, [0x18002c860]
lea r11, [0x18002c630]
lea r13, [0x18002c6f0]
lea rsi, [0x18002c490]
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 0x18000e080
mov eax, dword [rbp + 0x58]
mov ecx, 0x1131
xor eax, ecx
nop word cs:[rax + rax]
cmp eax, 0x3737
jg 0x18000e240
cmp eax, 0x1c07
jle 0x18000e300
cmp eax, 0x2fcb
jle 0x18000e42f
cmp eax, 0x339c
jle 0x18000e5e5
cmp eax, 0x3688
jg 0x18000eaa9
cmp eax, 0x339d
je 0x18000f564
cmp eax, 0x34c1
jne 0x18000e080
mov eax, 0x10
call fcn.180028230
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0xd8], rax
mov eax, 0x10
call fcn.180028230
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x100], rax
mov eax, 0x10
call fcn.180028230
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x108], rax
mov eax, 0x10
call fcn.180028230
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0xf8], rax
mov eax, 0x10
call fcn.180028230
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x110], rax
mov eax, 0x10
call fcn.180028230
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0xe8], rax
mov eax, 0x10
call fcn.180028230
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.180028230
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x118], rax
mov rax, qword [rbp + 0x118]
mov dword [rax], 0x94c6cb8f
cmp dword [0x180099c2c], 0xa
mov eax, dword [0x180099c28]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp + 0xac], 0
je 0x18000f676
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 0x18000e080
cmp eax, 0x5bcf
jle 0x18000e3a0
cmp eax, 0x6aee
jg 0x18000e48b
cmp eax, 0x60c3
jg 0x18000e63d
cmp eax, 0x5f10
jle 0x18000eb12
cmp eax, 0x5f11
je 0x18000eb5d
cmp eax, 0x5f44
jne 0x18000e080
cmp dword [0x180099c34], 0xa
mov eax, dword [0x180099c30]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp + 0xa4], 0
jne 0x18000e2d4
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 0x18000e2b0
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 0x18000e080
cmp eax, 0xbce
jg 0x18000e505
cmp eax, 0x91a
jg 0x18000e701
cmp eax, 0xef
je 0x18000ebbe
cmp eax, 0x270
je 0x18000ec12
cmp eax, 0x44e
jne 0x18000e080
mov eax, dword [0x180099d4c]
cmp dword [0x180099d48], 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 0x18000e377
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 0x18000e080
cmp eax, 0x4653
jg 0x18000e55f
cmp eax, 0x3e93
jg 0x18000e85c
cmp eax, 0x3738
je 0x18000f7a2
cmp eax, 0x3b9c
je 0x18000ec40
cmp eax, 0x3e46
jne 0x18000e080
mov eax, dword [0x180099d00]
cmp dword [0x180099d04], 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 0x18000e410
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 0x18000e080
cmp eax, 0x2d35
jg 0x18000e8d1
cmp eax, 0x1c08
je 0x18000f859
cmp eax, 0x20d4
je 0x18000f80b
cmp eax, 0x285f
jne 0x18000e080
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 0x18000e080
cmp eax, 0x70c6
jg 0x18000e970
cmp eax, 0x6aef
je 0x18000f622
cmp eax, 0x6bb1
je 0x18000ec8d
cmp eax, 0x6cd0
jne 0x18000e080
cmp dword [0x180099cd4], 0xa
mov eax, dword [0x180099cd0]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp + 0x7c], 0
jne 0x18000e4e9
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 0x18000e080
cmp eax, 0x124a
jg 0x18000e9c3
cmp eax, 0xbcf
je 0x18000ecc0
cmp eax, 0xc50
je 0x18000f72a
cmp eax, 0x105a
jne 0x18000e080
mov eax, dword [0x180099d8c]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
mov eax, 0x2ea7
mov ecx, 0x5e2f
cmove eax, ecx
cmp dword [0x180099d88], 0xa
cmovl eax, ecx
xor eax, dword [rbp + 0x18]
jmp 0x18000e080
cmp eax, 0x5390
jg 0x18000ea39
cmp eax, 0x4654
je 0x18000ed6d
cmp eax, 0x4b40
je 0x18000ed1a
cmp eax, 0x5035
jne 0x18000e080
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 0x18000e080
cmp eax, 0x2fcc
je 0x18000e06c
cmp eax, 0x3029
je 0x18000eccf
cmp eax, 0x321e
jne 0x18000e080
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 0x18000e080
cmp eax, 0x60c4
je 0x18000f5ce
cmp eax, 0x657f
je 0x18000edc1
cmp eax, 0x6930
jne 0x18000e080
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 [0x180099c60]
mov ecx, dword [0x180099c64]
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 0x18000e080
cmp eax, 0x91b
je 0x18000edf5
cmp eax, 0xabb
je 0x18000ee23
cmp eax, 0xaf4
jne 0x18000e080
mov eax, 0x10
call fcn.180028230
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0xd8], rax
mov eax, 0x10
call fcn.180028230
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x100], rax
mov eax, 0x10
call fcn.180028230
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x108], rax
mov eax, 0x10
call fcn.180028230
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0xf8], rax
mov eax, 0x10
call fcn.180028230
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x110], rax
mov eax, 0x10
call fcn.180028230
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0xe8], rax
mov eax, 0x10
call fcn.180028230
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.180028230
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 0x18000e080
cmp eax, 0x3e94
je 0x18000ee97
cmp eax, 0x4121
je 0x18000eed9
cmp eax, 0x413f
jne 0x18000e080
cmp dword [0x180099ca4], 0xa
mov eax, dword [0x180099ca0]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp + 0x88], 0
jne 0x18000e8b2
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 0x18000e080
cmp eax, 0x2d36
je 0x18000ef2f
cmp eax, 0x2d81
je 0x18000ef6c
cmp eax, 0x2e2b
jne 0x18000e080
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 [0x180099d38], 0xa
mov eax, dword [0x180099d3c]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp + 0xb0], 0
jne 0x18000e951
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 0x18000e080
cmp eax, 0x70c7
je 0x18000eff2
cmp eax, 0x7109
je 0x18000f057
cmp eax, 0x72dc
jne 0x18000e080
mov al, byte [rbp + 0xf7]
cmp byte [rbp + 0x9c], 0
je 0x18000f6a9
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 0x18000e080
cmp eax, 0x124b
je 0x18000f072
cmp eax, 0x15de
je 0x18000f0ce
cmp eax, 0x1b99
jne 0x18000e080
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 0x18000e080
cmp eax, 0x5391
je 0x18000f131
cmp eax, 0x5494
je 0x18000f2a8
cmp eax, 0x5662
jne 0x18000e080
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 [0x180099c50]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
mov eax, 0x497d
mov ecx, 0x61cd
cmove eax, ecx
cmp dword [0x180099c54], 0xa
cmovl eax, ecx
xor eax, dword [rbp - 0x4c]
jmp 0x18000e080
cmp eax, 0x3689
je 0x18000f42d
cmp eax, 0x3711
jne 0x18000e080
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 [0x180099d7c]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
mov eax, 0x273a
mov ecx, 0x42aa
cmove eax, ecx
cmp dword [0x180099d78], 0xa
cmovl eax, ecx
xor eax, dword [rbp - 0x24]
jmp 0x18000e080
cmp eax, 0x5e67
jne 0x18000f8a7
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 0x18000e080
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 [0x180099cfc]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, 0x275d
mov ecx, 0x1926
cmove eax, ecx
cmp dword [0x180099cf8], 0xa
cmovl eax, ecx
xor eax, dword [rbp - 0x34]
jmp 0x18000e080
cmp dword [0x180099d2c], 0xa
mov eax, dword [0x180099d28]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp + 0xb4], 0
jne 0x18000ebf3
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 0x18000e080
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 0x18000e080
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 [0x180099d80]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
mov eax, 0x1f17
mov ecx, 0x1d88
cmove eax, ecx
cmp dword [0x180099d84], 0xa
cmovl eax, ecx
xor eax, dword [rbp - 0x14]
jmp 0x18000e080
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 0x18000e080
mov eax, dword [rbp + 0x24]
mov ecx, 0x6046
xor eax, ecx
jmp 0x18000e080
mov eax, dword [rbp + 0x64]
cmp byte [rbp + 0xa0], 0
je 0x18000f6d3
mov cl, 1
mov dword [rbp + 0xa0], ecx
cmp eax, 0xc9a02597
jg 0x18000f538
cmp eax, 0x96fb2958
jg 0x18000f709
cmp eax, 0x8450692b
je 0x18000ed6d
cmp eax, 0x8dfc83f5
je 0x18000e3d7
cmp eax, 0x94c6cb8f
jne 0x18000f859
mov eax, dword [0x180099c48]
cmp dword [0x180099c4c], 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 0x18000ed51
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 0x18000e080
cmp dword [0x180099d54], 0xa
mov eax, dword [0x180099d50]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp + 0x94], 0
jne 0x18000eda2
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 0x18000e080
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 0x18000e080
mov eax, dword [0x180099c40]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, 0x6292
mov ecx, 0x69b2
cmove eax, ecx
cmp dword [0x180099c44], 0xa
cmovl eax, ecx
xor eax, dword [rbp - 0x54]
jmp 0x18000e080
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 [0x180099cec]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
mov eax, 0x1a70
mov ecx, 0x106
cmove eax, ecx
cmp dword [0x180099ce8], 0xa
cmovl eax, ecx
xor eax, dword [rbp - 0xc]
jmp 0x18000e080
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 0x18000e080
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 [0x180099ca8]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
mov eax, 0x5e13
mov ecx, 0x6ce2
cmove eax, ecx
cmp dword [0x180099cac], 0xa
cmovl eax, ecx
xor eax, dword [rbp + 4]
jmp 0x18000e080
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 0x18000e080
mov rax, qword [rbp + 0x118]
mov eax, dword [rax]
mov dword [rbp + 0x64], eax
cmp dword [0x180099c3c], 0xa
mov eax, dword [0x180099c38]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp + 0xa8], 0
jne 0x18000efd3
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 0x18000efb0
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 0x18000e080
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 [0x180099c78]
mov ecx, dword [0x180099c7c]
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 0x18000e080
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 0x18000e080
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 [0x180099c94]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
mov eax, 0x2e89
mov ecx, 0x18ef
cmove eax, ecx
cmp dword [0x180099c90], 0xa
cmovl eax, ecx
xor eax, dword [rbp - 0x1c]
jmp 0x18000e080
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 [0x180099c74]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
mov eax, 0x4637
mov ecx, 0x6bee
cmove eax, ecx
cmp dword [0x180099c70], 0xa
cmovl eax, ecx
xor eax, dword [rbp - 0x2c]
jmp 0x18000e080
mov rax, qword [rbp + 0x110]
mov r10d, dword [rax]
movaps xmmword [rbp + 0xc0], xmm0
mov eax, dword [0x180099d68]
cmp dword [0x180099d6c], 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 [0x180099c6c]
lea edx, [rax + 1]
imul edx, eax
test dl, 1
mov r8d, 0x6995
mov eax, 0x36d3
cmove r8d, eax
cmp dword [0x180099c68], 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 0x18000f220
cmp eax, 0x28d2
je 0x18000f46a
cmp eax, 0x2e15
jne 0x18000f200
jmp 0x18000f260
cmp eax, 0x7794
je 0x18000f249
cmp eax, 0x7e1d
jne 0x18000f200
mov dword [rbp + 0xe4], r10d
mov eax, ebx
xor eax, 0x52f6
test r12b, r12b
cmove ebx, eax
mov r12b, 1
mov eax, edi
jmp 0x18000f200
mov dword [rbp + 0xe4], r10d
mov eax, edx
jmp 0x18000f200
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 0x18000f1e7
mov rax, qword [rbp + 0x110]
mov r14d, dword [rax]
movaps xmmword [rbp + 0xc0], xmm0
mov ecx, dword [0x180099d68]
cmp dword [0x180099d6c], 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 [0x180099c6c]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
mov esi, 0x6995
mov eax, 0x36d3
cmove esi, eax
cmp dword [0x180099c68], 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 0x18000f3a0
cmp r10d, 0x28d2
je 0x18000f4af
cmp r10d, 0x2e15
jne 0x18000f370
jmp 0x18000f3e0
cmp r10d, 0x7794
je 0x18000f3d0
cmp r10d, 0x7e1d
jne 0x18000f370
mov dword [rbp + 0xe4], r14d
mov eax, r9d
xor eax, 0x52f6
test r11b, r11b
cmove r9d, eax
mov r11b, 1
mov r10d, ebx
jmp 0x18000f370
mov dword [rbp + 0xe4], r14d
mov r10d, edx
jmp 0x18000f370
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 0x18000f35d
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 0x18000e080
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 0x18000f517
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 [0x180099d24]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
mov eax, 0x1e17
mov ecx, 0x4d69
cmove eax, ecx
cmp dword [0x180099d20], 0xa
cmovl eax, ecx
xor eax, dword [rbp - 0x3c]
mov r14d, 0x8dfc83f5
lea rdi, [0x18002c7b0]
lea r10, [0x18002c860]
lea r11, [0x18002c630]
lea rsi, [0x18002c490]
jmp 0x18000e080
cmp eax, 0x19ae53e9
jg 0x18000f785
cmp eax, 0xc9a02598
je 0x18000f5ce
cmp eax, 0xce61a3f9
je 0x18000f622
cmp eax, 0xf8263fdf
jne 0x18000f859
cmp dword [0x180099d0c], 0xa
mov eax, dword [0x180099d08]
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 0x18000f5af
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 0x18000e080
cmp dword [0x180099ccc], 0xa
mov eax, dword [0x180099cc8]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp + 0x80], 0
jne 0x18000f603
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 0x18000e080
cmp dword [0x180099cf4], 0xa
mov eax, dword [0x180099cf0]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp + 0x90], 0
jne 0x18000f657
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 0x18000e080
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 0x18000e21f
movsxd rdx, dword [r11 + rcx*4]
xor dword [rbp + rdx*4 - 0x70], 0x52f6
add rcx, 2
jmp 0x18000f680
mov ecx, 1
nop
movsxd rdx, dword [rsi + rcx*4 - 4]
xor byte [rbp + rdx*4 - 0x70], 0x26
cmp rcx, 0x31
je 0x18000e9a4
movsxd rdx, dword [rsi + rcx*4]
xor byte [rbp + rdx*4 - 0x70], 0x26
add rcx, 2
jmp 0x18000f6b0
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 0x18000ecdf
movsxd rdx, dword [r10 + rcx*4]
xor dword [rbp + rdx*4 - 0x70], 0x2e15
add rcx, 2
jmp 0x18000f6e0
cmp eax, 0x96fb2959
je 0x18000e337
cmp eax, 0xaa84ee83
je 0x18000e87d
cmp eax, 0xb2085ca9
jne 0x18000f859
cmp dword [0x180099d5c], 0xa
mov eax, dword [0x180099d58]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp + 0x98], 0
jne 0x18000f766
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 0x18000e080
cmp eax, 0x19ae53ea
je 0x18000f80b
cmp eax, 0x4d829101
je 0x18000e4b7
cmp eax, 0x6a78ebb9
jne 0x18000f859
mov ecx, dword [0x180099c58]
mov eax, dword [0x180099c5c]
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 0x18000f7ef
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 0x18000e080
cmp dword [0x180099d60], 0xa
mov eax, dword [0x180099d64]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp + 0x78], 0
jne 0x18000f83d
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 0x18000e080
cmp dword [0x18009a138], 0xa
mov eax, dword [0x18009a13c]
setl cl
lea edx, [rax + 1]
imul edx, eax
test dl, 1
sete al
or al, cl
cmp byte [rbp + 0x68], 0
jne 0x18000f88b
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 0x18000e080
cmp eax, 0x5bd0
jne 0x18000e080
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