Function at 0x18003aea0
Capabilities:
Execute anti-debugging instructions
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x1f8
mov qword [rsp + 0x1a0], rdx
rdtsc
mov r10, rdx
shl r10, 0x20
or r10, rax
rdtsc
shl rdx, 0x20
or rdx, rax
cmp r10, rdx
mov edx, 0xf63ef91e
mov ebp, 0xfad4f742
cmove ebp, edx
mov r14, rcx
movsxd rax, dword [rcx + 0x3c]
add rax, rcx
mov qword [rsp + 0x168], rax
movzx edx, word [rcx]
mov ecx, ebp
xor ecx, 0x4e5c
mov eax, ebp
xor eax, 0xd433
sub cx, word [rsp + 4]
movzx r9d, word [rsp + 4]
or r9w, ax
mov r10d, ebp
xor r10d, 0xfffff740
imul r10d, r9d
movzx r9d, word [rsp + 4]
not r9d
or r9d, eax
mov r11d, ebp
xor r11d, 0xfffff743
imul r11d, r9d
movzx r9d, word [rsp + 4]
and r9w, ax
mov eax, ebp
xor eax, 0xffffad0f
add ecx, eax
add ecx, r11d
add ecx, r10d
add ecx, r9d
inc ecx
mov eax, ebp
xor eax, 0x6f67
imul eax, ecx
mov ecx, ebp
xor ecx, 0xffff8374
add ecx, eax
mov word [rsp + 0x56], cx
mov ecx, ebp
xor ecx, 0x34ef
imul cx, word [rsp + 0x56]
mov eax, ebp
xor eax, 0xffffa2c0
add eax, ecx
cmp dx, ax
mov edx, 0xcc7b17a9
mov ecx, 0xafaaa702
cmove ecx, edx
mov r9d, ebp
and r9d, 0x8efe7e5e
xor r9d, ecx
xor r9d, 0xc800c35
mov edi, r9d
shr edi, 8
mov r11d, ebp
xor r11d, 0xe1a7ef8c
mov esi, ebp
xor esi, 0x27131a26
mov eax, ebp
xor eax, 0x3df44170
mov dword [rsp + 0xb0], eax
shr eax, 8
mov dword [rsp + 0xac], eax
mov eax, ebp
xor eax, 0x270f9c55
mov dword [rsp + 0x38], eax
shr eax, 8
mov dword [rsp + 0x34], eax
mov ebx, ebp
xor ebx, 0xe9055ee5
mov eax, ebx
shr eax, 8
mov dword [rsp + 8], eax
mov eax, ebp
xor eax, 0xfb33a124
mov dword [rsp + 0xa8], eax
shr eax, 8
mov dword [rsp + 0xa4], eax
mov eax, ebp
xor eax, 0xd262ff7
mov dword [rsp + 0xa0], eax
shr eax, 8
mov dword [rsp + 0x9c], eax
mov eax, ebp
xor eax, 0x4e1d1e8a
mov dword [rsp + 0x98], eax
shr eax, 8
mov dword [rsp + 0x94], eax
mov eax, ebp
xor eax, 0x3d593e4e
mov dword [rsp + 0x90], eax
shr eax, 8
mov dword [rsp + 0x8c], eax
mov eax, ebp
xor eax, 0x81405a22
mov dword [rsp + 0x88], eax
shr eax, 8
mov dword [rsp + 0x84], eax
mov eax, ebp
xor eax, 0x8bcb422f
mov dword [rsp + 0x80], eax
shr eax, 8
mov dword [rsp + 0x7c], eax
test r8d, r8d
mov ecx, 0x403847a5
mov eax, 0x80ce4bfc
cmove eax, ecx
mov dword [rsp + 0x144], eax
mov eax, r8d
mov qword [rsp + 0x190], rax
mov qword [rsp + 0x160], rax
mov dword [rsp + 0x30], ebx
mov qword [rsp + 0x198], r14
jmp 0x18003b0f9
mov rax, qword [rsp + 0x28]
mov eax, dword [rax + rcx*8 + 0xc]
mov qword [rsp + 0x160], rax
add rax, r14
mov qword [rsp + 0x1c0], rax
nop word cs:[rax + rax]
xor r9d, r12d
mov edi, r9d
shr edi, 8
mov r12d, edi
shl r12d, 8
movzx r13d, r9b
or r12d, r13d
mov r15d, r12d
imul r15d, r11d
add r15d, esi
cmp r15d, 0x69c6275
jle 0x18003b2f0
cmp r15d, 0x41cc70a3
jle 0x18003b350
cmp r15d, 0x54aa3919
jle 0x18003b56f
cmp r15d, 0x6304cc53
jle 0x18003b663
cmp r15d, 0x6304cc54
je 0x18003babf
cmp r15d, 0x7926b290
je 0x18003ba96
cmp r15d, 0x7eb741e6
jne 0x18003b0f9
and edi, 0xffffff
shl rdi, 8
or r13, rdi
xor r13, rbp
mov rax, r13
movabs rcx, 0x3a816632d1bcea0a
xor rax, rcx
mov r9, r13
xor r9, 0x270f9c54
lea rcx, [r9 + rax]
sub rcx, qword [rsp + 0x110]
mov rdx, qword [rsp + 0x110]
xor rdx, rax
imul rdx, r9
add rdx, rcx
mov rcx, qword [rsp + 0x110]
xor rcx, r13
movabs r8, 0xc57e99cd2e4315f5
xor rcx, r8
mov r8, qword [rsp + 0x110]
not r8
or r8, rax
mov rax, r13
xor rax, 0xffffffffd8f063ab
imul rax, r8
mov r10, r13
xor r10, 0x270f9c57
imul rcx, r10
add rax, rcx
add rax, rdx
mov rcx, r13
movabs rdx, 0x8e7c7fc89200533e
xor rcx, rdx
imul rcx, rax
mov rax, r13
movabs rdx, 0x58f8aa7370cc6125
xor rax, rdx
add rax, rcx
mov qword [rsp + 0x1c8], rax
mov rax, r13
movabs rcx, 0x1165524ff0797916
xor rax, rcx
imul rax, qword [rsp + 0x1c8]
movabs rcx, 0x8cb9128df350e7e5
xor r13, rcx
add r13, rax
mov rax, qword [rsp + 0x170]
mov qword [rsp + 0x108], rax
mov qword [rsp + 0xc0], r13
mov rax, qword [rsp + 0x108]
mov rcx, qword [rsp + 0xc0]
imul rcx, r9
add rcx, r9
mov rdx, qword [rsp + 0xc0]
xor rdx, qword [rsp + 0x108]
sub rcx, rdx
add rcx, qword [rsp + 0xc0]
mov rdx, qword [rsp + 0xc0]
and rdx, qword [rsp + 0x108]
not rdx
add rdx, rax
imul rdx, r10
lea rax, [rdx + rcx]
inc rax
mov r9d, 0x2f3a9744
mov qword [rsp + 0x1a8], rax
cmp rax, qword [rsp + 0x188]
je 0x18003b0f0
mov r9d, 0x2e35f16b
jmp 0x18003b0f0
cmp r15d, 0xc6f92607
jg 0x18003b3a0
cmp r15d, 0xa728e61b
jle 0x18003b5b9
cmp r15d, 0xad5eebdf
jle 0x18003b682
cmp r15d, 0xad5eebe0
je 0x18003bbdc
cmp r15d, 0xbed58dc6
je 0x18003b8df
cmp r15d, 0xc4c4a72e
je 0x18003b8df
jmp 0x18003b0f9
cmp r15d, 0x1f3d01c7
jle 0x18003b5f0
cmp r15d, 0x35a96c9f
jle 0x18003b809
cmp r15d, 0x35a96ca0
je 0x18003bced
cmp r15d, 0x3a9f33e6
je 0x18003bcf7
cmp r15d, 0x3e6b26f2
jne 0x18003b0f9
mov rax, qword [rsp + 0x1b8]
jmp 0x18003b645
cmp r15d, 0xe28fb555
jle 0x18003b61c
cmp r15d, 0x18009
jle 0x18003b847
cmp r15d, 0x1800a
je 0x18003bd17
cmp r15d, 0x2b0b88c
je 0x18003ba96
cmp r15d, 0x5eca024
jne 0x18003b0f9
and edi, 0xffffff
shl rdi, 8
or r13, rdi
xor r13, rbp
mov r10, r13
movabs rax, 0x7e36659205d4bd83
xor r10, rax
mov rcx, qword [rsp + 0x130]
xor rcx, r10
mov r15d, 0x8bcb422d
lea r9, [r15 + 0x4e48c6b3]
xor r9, r13
imul rcx, r9
mov rax, qword [rsp + 0x130]
or rax, r10
mov rdx, r13
xor rdx, 0x25ebf71d
add rdx, r10
movabs r8, 0xffffffff04cc5eda
lea rdi, [r8 + 0x211f9842]
xor rdi, r13
imul rax, rdi
add rdx, rcx
mov rcx, qword [rsp + 0x130]
xor rcx, r13
movabs r8, 0x81c99a6dfa2b427c
xor rcx, r8
add rdx, qword [rsp + 0x130]
add rdx, rax
add r15, 0x4e48c6b6
xor r15, r13
imul rcx, r15
lea rax, [rcx + rdx]
inc rax
mov rcx, r13
movabs rdx, 0x11ba9906805d1f9
xor rcx, rdx
imul rcx, rax
mov rax, r13
movabs rdx, 0xa35fd8140f3b146a
xor rax, rdx
add rax, rcx
mov qword [rsp + 0x1e8], rax
mov rax, r13
movabs rcx, 0x9cc63dc5942bd1f1
xor rax, rcx
imul rax, qword [rsp + 0x1e8]
movabs rcx, 0xe3671fcd12cd910a
xor r13, rcx
add r13, rax
mov rax, qword [rsp + 0xf0]
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x60], r13
mov rax, qword [rsp + 0x60]
and rax, qword [rsp + 0x68]
imul r9, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x60]
or rcx, qword [rsp + 0x68]
sub r9, rcx
mov rcx, qword [rsp + 0x60]
not rcx
or rcx, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x68]
not rdx
add rdx, rax
add rdx, rcx
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x68]
not rcx
or rcx, rax
imul rcx, rdi
add rcx, r9
imul rdx, r15
add rdx, rcx
lea rax, [rdx + rdx*4]
mov rcx, qword [rsp + 0x28]
mov eax, dword [rcx + rax*8 + 0xc]
mov dword [rsp + 0xb4], eax
mov dword [rsp + 0xb8], 0
jmp 0x18003c2d7
cmp r15d, 0x4b6b19c5
jle 0x18003b86e
cmp r15d, 0x511cd50c
je 0x18003bd4c
cmp r15d, 0x52b8007e
jne 0x18003c2ed
movzx eax, word [rsp + 0x54]
mov qword [rsp + 0x188], rax
xor r12d, dword [rsp + 0x144]
mov edi, r12d
shr edi, 8
mov r9d, r12d
jmp 0x18003b0f9
cmp r15d, 0x97d24709
jg 0x18003b8a6
cmp r15d, 0x8499ca9e
je 0x18003ba81
cmp r15d, 0x9049bb78
jne 0x18003b0f9
mov dword [rsp + 0xbc], 0
jmp 0x18003b831
cmp r15d, 0xd0eb881
jg 0x18003b8c5
cmp r15d, 0x69c6276
je 0x18003bd77
cmp r15d, 0xb0c97c6
je 0x18003baac
jmp 0x18003b0f9
cmp r15d, 0xcc41e0f5
jg 0x18003b8ef
cmp r15d, 0xc6f92608
je 0x18003be20
cmp r15d, 0xc9ba5028
jne 0x18003b0f9
xor eax, eax
mov qword [rsp + 0xf8], rax
mov eax, dword [rsp + 0x94]
mov edi, eax
mov r9d, dword [rsp + 0x98]
jmp 0x18003b0f9
cmp r15d, 0x54aa391a
je 0x18003baac
cmp r15d, 0x6030198a
je 0x18003ba81
jmp 0x18003b0f9
cmp r15d, 0xa728e61c
je 0x18003befc
cmp r15d, 0xa7db0378
jne 0x18003b0f9
and edi, 0xffffff
shl rdi, 8
or r13, rdi
xor r13, rbp
mov rax, r13
movabs rcx, 0x7bf360cb8337d729
xor rax, rcx
mov rcx, qword [rsp + 0x1d8]
or rcx, rax
mov rdx, r13
movabs r8, 0x840c9f347cc828d7
xor rdx, r8
mov r8, qword [rsp + 0x1d8]
not r8
or r8, rax
mov eax, 0x8bcb422d
lea r9, [rax + 0x6f685ef8]
xor r9, r13
imul r8, r9
add rdx, r9
add rdx, rcx
lea rax, [r8 + rdx]
inc rax
mov rcx, r13
movabs rdx, 0x99bfe42147d9e449
xor rcx, rdx
imul rcx, rax
mov rax, r13
movabs rdx, 0xa1b41857c6275fa
xor rax, rdx
add rax, rcx
mov qword [rsp + 0x1d0], rax
mov rax, r13
movabs rcx, 0x4ac07ea1e5142d41
xor rax, rcx
imul rax, qword [rsp + 0x1d0]
mov rcx, r13
movabs rdx, 0x467ac84991483d4e
xor rcx, rdx
add rcx, rax
mov rax, qword [rsp + 0x180]
mov qword [rsp + 0xd0], rax
mov qword [rsp + 0xc8], rcx
mov rax, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0xc8]
mov rdx, qword [rsp + 0xd0]
not rdx
and rdx, rcx
movabs rcx, 0xffffffff04cc5eda
xor r13, rcx
imul r13, rdx
add rax, qword [rsp + 0xc8]
mov rcx, qword [rsp + 0xc8]
xor rcx, qword [rsp + 0xd0]
add r13, qword [rsp + 0xc8]
add rcx, rax
mov rax, qword [rsp + 0xd0]
not rax
add rax, rcx
imul rax, r9
add rax, r13
inc rax
mov r9d, 0x55e772ff
mov qword [rsp + 0x1b0], rax
cmp rax, qword [rsp + 0x190]
je 0x18003b0f0
mov r9d, 0xac92b6d4
jmp 0x18003b0f0
cmp r15d, 0x1f3d01c8
je 0x18003c0f7
cmp r15d, 0x2ee486bc
jne 0x18003b0f9
mov eax, dword [rsp + 0x148]
mov dword [rsp + 0xbc], eax
mov eax, dword [rsp + 0x8c]
mov edi, eax
mov r9d, dword [rsp + 0x90]
jmp 0x18003b0f9
cmp r15d, 0xe28fb556
je 0x18003ba81
cmp r15d, 0xfff7dd2c
jne 0x18003b0f9
mov rax, qword [rsp + 0x1a8]
jmp 0x18003bcf9
cmp r15d, 0x41cc70a4
je 0x18003c124
cmp r15d, 0x49a539a0
jne 0x18003b0f9
mov eax, dword [rsp + 0xb4]
add rax, r14
mov ecx, dword [rsp + 0xb8]
add rcx, rax
mov qword [rsp + 0x58], rcx
jmp 0x18003ba88
cmp r15d, 0x97d2470a
je 0x18003c277
cmp r15d, 0x9991c02e
je 0x18003ba81
jmp 0x18003b0f9
cmp r15d, 0xd0eb882
je 0x18003c2bd
cmp r15d, 0x153f25d0
jne 0x18003b0f9
mov eax, dword [rsp + 0x34]
mov edi, eax
mov r9d, dword [rsp + 0x38]
jmp 0x18003b0f9
cmp r15d, 0xcc41e0f6
je 0x18003ba81
cmp r15d, 0xdd45231a
jne 0x18003b0f9
mov rax, qword [rsp + 0x128]
not rax
and edi, 0xffffff
shl rdi, 8
or r13, rdi
xor r13, rbp
mov rcx, r13
movabs rdx, 0x37dd3109e286eb58
xor rcx, rdx
and rax, rcx
mov r8d, 0x8bcb422d
lea r9, [r8 + 1]
add rax, qword [rsp + 0x128]
xor r9, r13
mov rdx, qword [rsp + 0x128]
not rdx
add rdx, rax
mov rax, r13
movabs r10, 0xc822cef61d7914a6
xor rax, r10
and rcx, qword [rsp + 0x128]
imul rdx, r9
add rax, r9
add rax, rcx
add rax, rdx
inc rax
mov rcx, r13
movabs rdx, 0x4ce95e0bd394d64e
xor rcx, rdx
imul rcx, rax
mov rax, r13
movabs rdx, 0x56b4b0b8b90162cb
xor rax, rdx
add rax, rcx
mov qword [rsp + 0x1e0], rax
mov rax, r13
movabs rcx, 0x7ae1942894b94d8e
xor rax, rcx
imul rax, qword [rsp + 0x1e0]
mov rcx, r13
movabs rdx, 0x86d8058f7ea0b6b3
xor rcx, rdx
add rcx, rax
mov rax, qword [rsp + 0xf0]
mov qword [rsp + 0x120], rax
mov qword [rsp + 0x118], rcx
mov rax, r13
xor rax, r8
imul rax, qword [rsp + 0x118]
mov rcx, qword [rsp + 0x118]
or rcx, qword [rsp + 0x120]
movabs rdx, 0xffffffff04cc5eda
add rdx, 0x6f685ef7
xor rdx, r13
mov r10, qword [rsp + 0x120]
not r10
imul rdx, r10
mov r8, qword [rsp + 0x118]
and r8, qword [rsp + 0x120]
not rcx
not r8
add r8, rcx
imul r8, r9
add r8, rdx
add r8, rax
mov r9d, 0x6a77df22
mov qword [rsp + 0x1b8], r8
cmp r8, qword [rsp + 0x188]
je 0x18003b0f0
mov r9d, 0x83485cc
jmp 0x18003b0f0
xor eax, eax
mov qword [rsp + 0x58], rax
mov eax, dword [rsp + 8]
mov edi, eax
mov r9d, ebx
jmp 0x18003b0f9
mov eax, dword [rsp + 0xa4]
mov edi, eax
mov r9d, dword [rsp + 0xa8]
jmp 0x18003b0f9
mov eax, dword [rsp + 0x7c]
mov edi, eax
mov r9d, dword [rsp + 0x80]
jmp 0x18003b0f9
mov rax, qword [rsp + 0xf8]
lea rcx, [rax + rax*4]
mov rax, qword [rsp + 0x28]
mov edi, dword [rax + rcx*8 + 0x24]
mov ecx, dword [rsp + 0x4c]
mov r15d, r12d
xor r15d, ebp
mov r10d, r15d
xor r10d, 0xb1e2e174
mov ebx, r15d
xor ebx, 0xd075a8c1
mov r13d, dword [rsp + 0x4c]
or r13d, ebx
mov r9d, r15d
xor r9d, 0x4e1d1e8b
mov edx, r15d
xor edx, 0x2f8a573e
mov eax, dword [rsp + 0x4c]
not eax
add eax, ecx
mov ecx, dword [rsp + 0x4c]
not ecx
or ecx, ebx
add ecx, r13d
mov ebx, r15d
xor ebx, 0x6e1d1e8a
add ebx, edx
imul ecx, r9d
imul eax, r10d
add eax, ebx
add eax, ecx
mov ecx, r15d
xor ecx, 0x64135b7b
imul ecx, eax
mov eax, r15d
xor eax, 0x7a72ce6a
add eax, ecx
mov dword [rsp + 0x158], eax
mov eax, r15d
xor eax, 0xd2d1159b
imul eax, dword [rsp + 0x158]
xor r15d, 0x8a049faa
add r15d, eax
mov dword [rsp + 0x24], edi
mov dword [rsp + 0x20], r15d
mov eax, dword [rsp + 0x20]
and eax, dword [rsp + 0x24]
mov ecx, dword [rsp + 0x24]
mov edx, dword [rsp + 0x20]
mov edi, dword [rsp + 0x24]
not edi
and edi, edx
imul edi, r10d
sub edi, ecx
add eax, dword [rsp + 0x20]
imul eax, r9d
mov ecx, dword [rsp + 0x20]
xor ecx, dword [rsp + 0x24]
add eax, edi
imul ecx, r9d
mov r9d, 0x5cfa7b6f
add ecx, eax
je 0x18003bbba
mov r9d, 0x98868d36
xor r9d, r12d
mov edi, r9d
shr edi, 8
mov rax, qword [rsp + 0xf8]
mov qword [rsp + 0xf0], rax
mov ebx, dword [rsp + 0x30]
jmp 0x18003b0f9
mov eax, dword [rsp + 0x44]
mov r9d, r12d
xor r9d, ebp
mov edi, r9d
xor edi, 0xf9ab9752
mov edx, r9d
xor edx, 0xd8f8b135
mov ecx, r9d
xor ecx, 0x27074ecb
mov r8d, r9d
xor r8d, 0xd8f8b134
mov r10d, dword [rsp + 0x44]
xor r10d, r8d
add r10d, eax
or r8d, dword [rsp + 0x44]
mov eax, r9d
xor eax, 0x65468ad
imul eax, r8d
and ecx, dword [rsp + 0x44]
not ecx
mov r8d, r9d
xor r8d, 0xf9ab9751
imul ecx, r8d
imul r10d, edi
add r8d, edx
add r8d, eax
add r8d, r10d
add r8d, ecx
mov eax, r9d
xor eax, 0x7ac8d4d1
imul eax, r8d
mov ecx, r9d
xor ecx, 0x53450a26
add ecx, eax
mov dword [rsp + 0x150], ecx
mov eax, r9d
xor eax, 0xc1236bd1
imul eax, dword [rsp + 0x150]
mov ecx, r9d
xor ecx, 0x7db9e8da
add ecx, eax
mov eax, dword [rsp + 0x3c]
mov dword [rsp + 0x1c], eax
mov dword [rsp + 0x40], ecx
mov eax, dword [rsp + 0x1c]
mov ecx, dword [rsp + 0x40]
xor ecx, dword [rsp + 0x1c]
mov edx, dword [rsp + 0x40]
xor edx, dword [rsp + 0x1c]
not edx
xor r9d, 0x65468ae
imul r9d, edx
sub r9d, ecx
mov ecx, dword [rsp + 0x40]
mov edx, dword [rsp + 0x1c]
not edx
or edx, ecx
add edx, eax
imul edx, edi
add edx, r9d
mov r9d, 0x542aa048
mov dword [rsp + 0x148], edx
cmp edx, dword [rsp + 0x14c]
je 0x18003b0f0
mov r9d, 0x831c4266
jmp 0x18003b0f0
mov rax, qword [rsp + 0x1b0]
jmp 0x18003bd59
xor eax, eax
mov qword [rsp + 0x100], rax
mov eax, dword [rsp + 0x84]
mov edi, eax
mov r9d, dword [rsp + 0x88]
jmp 0x18003b0f9
mov rax, qword [rsp + 0x170]
lea rcx, [rax + rax*4]
mov rax, qword [rsp + 0x28]
mov eax, dword [rax + rcx*8 + 8]
mov r9d, 0x7de834e6
mov dword [rsp + 0x14c], eax
test eax, eax
je 0x18003b0c5
mov r9d, 0x29f1253
jmp 0x18003b0c5
mov eax, dword [rsp + 0xbc]
mov dword [rsp + 0x3c], eax
xor eax, eax
mov qword [rsp + 0x178], rax
mov eax, dword [rsp + 0x9c]
mov edi, eax
mov r9d, dword [rsp + 0xa0]
jmp 0x18003b0f9
mov eax, dword [rsp + 0x3c]
mov dword [rsp + 0x14], eax
mov rax, qword [rsp + 0x180]
mov dword [rsp + 0xc], eax
mov eax, dword [rsp + 0xc]
not eax
and eax, dword [rsp + 0x14]
mov r9d, r12d
xor r9d, ebp
mov ecx, r9d
xor ecx, 0xe48fa333
imul ecx, eax
mov eax, dword [rsp + 0x14]
add eax, dword [rsp + 0xc]
mov edx, r9d
mov r8d, dword [rsp + 0xc]
or r8d, dword [rsp + 0x14]
xor edx, 0x1b705ccc
add r8d, eax
imul r8d, edx
mov eax, dword [rsp + 0xc]
xor eax, dword [rsp + 0x14]
mov edx, dword [rsp + 0xc]
not edx
xor r9d, 0x1b705ccf
imul r9d, edx
add r9d, eax
add r9d, r8d
add r9d, ecx
mov eax, dword [rsp + 0xc]
and eax, dword [rsp + 0x14]
add eax, r9d
add eax, 2
mov r9d, 0x488d9ac3
movzx ecx, byte [rsp + 7]
mov rdx, qword [rsp + 0x1c0]
cmp cl, byte [rdx + rax]
je 0x18003b0f0
mov r9d, 0xe2dbcb9d
jmp 0x18003b0f0
mov rax, qword [rsp + 0x168]
mov edi, dword [rax]
mov r15d, r12d
xor r15d, ebp
mov r9d, r15d
xor r9d, 0x64b272c4
mov ecx, dword [rsp + 0x50]
or ecx, r9d
mov r10d, r15d
xor r10d, 0x4f046562
mov ebx, r15d
xor ebx, 0xcc262394
mov r13d, dword [rsp + 0x50]
not r13d
or r13d, r9d
add r13d, ecx
mov ecx, r15d
xor ecx, 0x9b4d8d3b
or ecx, dword [rsp + 0x50]
imul r13d, r10d
mov r10d, r15d
and r9d, dword [rsp + 0x50]
xor r10d, 0xb0fb9a9d
not r9d
add r9d, ecx
imul r9d, r10d
mov ecx, r15d
xor ecx, 0xb0fbdfcc
add ecx, ebx
add ecx, r13d
add ecx, r9d
mov r9d, r15d
xor r9d, 0xeb2b4975
imul r9d, ecx
mov ecx, r15d
xor ecx, 0x2e5facdc
add ecx, r9d
mov dword [rsp + 0x15c], ecx
mov ecx, r15d
xor ecx, 0xec58aec5
imul ecx, dword [rsp + 0x15c]
xor r15d, 0x43dfb95c
add r15d, ecx
mov r9d, 0x689fca9a
cmp edi, r15d
je 0x18003beea
mov r9d, 0x31bd41
xor r9d, r12d
mov edi, r9d
shr edi, 8
mov ebx, dword [rsp + 0x30]
jmp 0x18003b0f9
and edi, 0xffffff
shl rdi, 8
or r13, rdi
xor r13, rbp
mov r9, r13
movabs rax, 0x1eddffce87e88fd3
xor r9, rax
mov rcx, qword [rsp + 0x138]
and rcx, r9
movabs rax, 0xe12200317817702c
lea r10, [rax + 1]
xor r10, r13
mov edx, 0x8bcb422d
lea rdi, [rdx + 0x4c990df1]
xor rdi, r13
add rdi, r10
lea r10, [rdx + 0x4c990dd7]
xor r10, r13
imul rcx, r10
add rdi, rcx
mov rcx, r13
xor rcx, rax
and rcx, qword [rsp + 0x138]
sub rdi, rcx
mov rcx, qword [rsp + 0x138]
xor rcx, r9
and r9, qword [rsp + 0x138]
not r9
add rdi, rcx
add rdx, 0x4c990dda
xor rdx, r13
imul r9, rdx
lea rcx, [r9 + rdi]
inc rcx
mov r9, r13
movabs rax, 0xf125cbb93b75d991
xor r9, rax
imul r9, rcx
mov rcx, r13
movabs rax, 0xe5606fe58ba9bee8
xor rcx, rax
add rcx, r9
mov qword [rsp + 0x1f0], rcx
mov rcx, r13
movabs rax, 0xe632007ae46dd621
xor rcx, rax
imul rcx, qword [rsp + 0x1f0]
movabs rax, 0x7668d6899a5655b8
xor r13, rax
add r13, rcx
mov rax, qword [rsp + 0x168]
mov qword [rsp + 0xe8], rax
mov qword [rsp + 0xe0], r13
mov rcx, qword [rsp + 0xe0]
not rcx
and rcx, qword [rsp + 0xe8]
imul rcx, r10
mov r9, qword [rsp + 0xe8]
add r9, qword [rsp + 0xe0]
mov r10, qword [rsp + 0xe0]
xor r10, qword [rsp + 0xe8]
add rcx, rdx
add rcx, qword [rsp + 0xe0]
mov rdi, qword [rsp + 0xe8]
not rdi
add rdi, r9
not r10
add rdi, r10
imul rdi, rdx
add rcx, rdi
inc rcx
movzx r9d, word [rax + 0x14]
mov qword [rsp + 0xd8], rcx
mov qword [rsp + 0x70], r9
mov rcx, qword [rsp + 0xd8]
add rcx, qword [rsp + 0x70]
mov r9, qword [rsp + 0x70]
or r9, qword [rsp + 0xd8]
add r9, rcx
mov r10, qword [rsp + 0x70]
xor r10, qword [rsp + 0xd8]
not r10
add r10, r9
mov rcx, qword [rsp + 0x70]
not rcx
add rcx, r10
imul rcx, rdx
mov r9, qword [rsp + 0x70]
not r9
or r9, qword [rsp + 0xd8]
sub rdx, r9
mov qword [rsp + 0x28], rdx
movzx eax, word [rax + 6]
mov r9d, 0x78f8ad1f
mov word [rsp + 0x54], ax
test ax, ax
je 0x18003c0ed
mov r9d, 0x4a62e6af
add qword [rsp + 0x28], rcx
jmp 0x18003b0f0
mov rax, qword [rsp + 0xf0]
lea rax, [rax + rax*4]
mov rcx, qword [rsp + 0x28]
cmp dword [rcx + rax*8 + 8], 0
mov r9d, 0xf77e9693
je 0x18003b0f0
mov r9d, 0xc8f9b5e
jmp 0x18003b0f0
mov rax, qword [rsp + 0x100]
lea rax, [rax + rax*4]
mov rcx, qword [rsp + 0x28]
mov r15d, dword [rcx + rax*8 + 0x24]
mov r9d, r12d
mov r14, rbp
xor r9d, ebp
mov ebx, r9d
xor ebx, 0x266b7af8
mov ecx, dword [rsp + 0x48]
or ecx, ebx
mov ebp, r9d
xor ebp, 0x81405a23
imul ecx, ebp
mov eax, dword [rsp + 0x48]
not eax
mov edi, r9d
xor edi, 0x81405a20
imul eax, edi
mov edx, dword [rsp + 0x48]
not edx
or edx, ebx
mov r8d, r9d
and ebx, dword [rsp + 0x48]
xor r8d, 0xd9948507
not ebx
mov r10d, r9d
xor r10d, 0x7ebfa5dc
imul ebx, r10d
mov r13d, r9d
xor r13d, 0xa1405a22
add r13d, r8d
add r13d, eax
add r13d, ecx
sub r13d, edx
add r13d, ebx
mov eax, r9d
xor eax, 0xdc2803ad
imul eax, r13d
mov ecx, r9d
xor ecx, 0x6154123c
add ecx, eax
mov dword [rsp + 0x154], ecx
mov eax, r9d
xor eax, 0x8c38ff4d
imul eax, dword [rsp + 0x154]
xor r9d, 0xf1e93edc
add r9d, eax
mov dword [rsp + 0x18], r15d
mov dword [rsp + 0x10], r9d
mov eax, dword [rsp + 0x10]
and eax, dword [rsp + 0x18]
imul eax, ebp
mov ecx, dword [rsp + 0x10]
or ecx, dword [rsp + 0x18]
sub eax, ecx
mov ecx, dword [rsp + 0x10]
xor ecx, dword [rsp + 0x18]
mov edx, dword [rsp + 0x10]
not edx
imul edx, r10d
add edx, ecx
add edx, eax
mov eax, dword [rsp + 0x10]
not eax
or eax, dword [rsp + 0x18]
imul eax, edi
add eax, edx
inc eax
mov ecx, dword [rsp + 0x10]
and ecx, dword [rsp + 0x18]
inc ecx
imul ecx, ebp
mov r9d, 0xeddaf2c7
cmp eax, ecx
je 0x18003c24a
mov r9d, 0x15102555
xor r9d, r12d
mov edi, r9d
shr edi, 8
mov rax, qword [rsp + 0x100]
mov qword [rsp + 0x170], rax
mov rbp, r14
mov r14, qword [rsp + 0x198]
mov ebx, dword [rsp + 0x30]
jmp 0x18003b0f9
mov rax, qword [rsp + 0x1a0]
mov rcx, qword [rsp + 0x178]
movzx eax, byte [rax + rcx]
xor r9b, bpl
xor r9b, 0x3b
mov byte [rsp + 7], al
cmp al, r9b
mov r9d, 0x8327124f
je 0x18003c2a7
mov r9d, 0x1656733a
xor r9d, r12d
mov edi, r9d
shr edi, 8
mov qword [rsp + 0x180], rcx
jmp 0x18003b0f9
mov eax, dword [rsp + 0x3c]
mov dword [rsp + 0xb8], eax
mov rax, qword [rsp + 0x160]
mov dword [rsp + 0xb4], eax
mov eax, dword [rsp + 0xac]
mov edi, eax
mov r9d, dword [rsp + 0xb0]
jmp 0x18003b0f9
cmp r15d, 0x4b6b19c6
jne 0x18003b0f9
mov rax, qword [rsp + 0x58]
add rsp, 0x1f8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret