Function at 0x1400aa590
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push rbp
push rsi
push rbx
sub rsp, 0x290
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x1b8], r8
mov qword [rbp + 0x1c0], rdx
mov qword [rbp + 0x1c8], rcx
mov eax, 0x10
call fcn.1401c7680
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x1d0], rax
sub rsp, 0x20
call fcn.1400ac0ca
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x1d0]
mov qword [rbp + 0x1d8], rcx
mov ecx, 0xc0183b86
xor ecx, 0xc0183b86
mov dword [rax], ecx
mov ax, 0x5909
xor ax, 0x5826
mov word [rbp + 0x20e], ax
lea rcx, [rbp + 0x20e]
sub rsp, 0x20
call fcn.140060746
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x1d8]
mov qword [rbp + 0x1e0], rcx
cmp byte [rax], 0
jne 0x1400ac059
mov rax, qword [rbp + 0x1e0]
mov rdx, qword [rax]
mov rcx, qword [rax + 8]
add rcx, 8
lea rax, [0x1401dbdb8]
cmp rdx, 0
cmove rcx, rax
mov edx, 0x84d968b0
xor edx, 0x4d968b0
mov r8d, 0x38ac5bc6
xor r8d, 0x38ac5bc7
mov r11d, 0x525b5f45
xor r11d, 0x525b5f46
mov r10d, 0x470327b3
xor r10d, 0x47032733
movabs rax, 0x9a641a3e58a9ed63
movabs r9, 0x9a641a3e58a9ed63
xor rax, r9
xor r9d, r9d
sub rsp, 0x40
mov dword [rsp + 0x20], r11d
mov dword [rsp + 0x28], r10d
mov qword [rsp + 0x30], rax
call fcn.1400a3c46
add rsp, 0x40
mov rcx, rax
mov rax, qword [rbp + 0x1d8]
mov qword [rbp + 0x1b0], rcx
mov al, byte [rax]
mov cl, 0xdc
xor cl, 0xdc
cmp al, cl
jne 0x1400ac059
mov rcx, qword [rbp + 0x1b0]
xor eax, eax
mov edx, eax
sub rsp, 0x20
call fcn.1400a3c90
add rsp, 0x20
mov ecx, eax
mov rax, qword [rbp + 0x1d8]
mov dword [rbp + 0x1ac], ecx
cmp byte [rax], 0
jne 0x1400ac059
mov rax, qword [0x1401ddb38]
mov rax, qword [rax]
mov al, byte [rax + 0x10]
mov byte [rbp + 0x19f], al
mov rax, qword [0x1401dd6b0]
sub rsp, 0x20
call qword [rax]
add rsp, 0x20
mov rcx, rax
mov al, byte [rbp + 0x19f]
mov qword [rbp + 0x1a0], rcx
cmp al, 0
je 0x1400aa786
mov rcx, qword [rbp + 0x1a0]
mov eax, dword [rbp + 0x1ac]
movsxd r8, eax
xor edx, edx
sub rsp, 0x20
call fcn.1400a3c13
mov rcx, qword [rbp + 0x1d8]
add rsp, 0x20
cmp byte [rcx], 0
mov qword [rbp + 0x190], rax
je 0x1400aa7c2
jmp 0x1400ac059
mov rcx, qword [rbp + 0x1a0]
mov eax, dword [rbp + 0x1ac]
movsxd r8, eax
xor edx, edx
sub rsp, 0x20
call fcn.1400a7719
mov rcx, qword [rbp + 0x1d8]
add rsp, 0x20
mov cl, byte [rcx]
mov dl, 0xe8
xor dl, 0xe8
cmp cl, dl
mov qword [rbp + 0x190], rax
jne 0x1400ac059
mov rax, qword [rbp + 0x190]
mov qword [rbp + 0x188], rax
mov eax, dword [0x1401ccc38]
xor eax, 0xdaa27283
mov ecx, dword [0x1401ccc3c]
xor ecx, 0x644a77dc
xor edx, edx
div ecx
and eax, 0x4a0c6ffd
or eax, 0xde5d98c9
xor eax, 0xdd052bf4
cmp eax, 0x7aebe84f
ja 0x1400ac067
mov r9, qword [rbp + 0x1d0]
mov r8d, dword [rbp + 0x1ac]
mov rcx, qword [rbp + 0x1b0]
mov eax, dword [0x1401ccc40]
xor eax, dword [0x1401ccc44]
mov r10d, 0xf68f4307
xor r10d, 0x696204de
xor edx, edx
div r10d
mov rdx, qword [rbp + 0x188]
and eax, 0x7ec8613d
xor eax, 0x793b40e1
mov dword [rbp + 0x180], eax
xor eax, eax
sub rsp, 0x30
mov qword [rsp + 0x20], 0
call fcn.1400a3cc0
mov rcx, qword [rbp + 0x1d8]
add rsp, 0x30
mov eax, dword [rbp + 0x180]
cmp byte [rcx], 0
sete cl
mov byte [rbp + 0x187], cl
cmp eax, 0xc75dbeee
jae 0x1400aa805
mov al, byte [rbp + 0x187]
test al, 1
jne 0x1400aa89e
jmp 0x1400ac059
mov r8, qword [rbp + 0x188]
movsxd rdx, dword [r8 + 0x3c]
mov rcx, rdx
add rcx, r8
mov qword [rbp + 0x178], rcx
mov rax, rcx
xor rax, r8
xor rcx, rdx
and rax, rcx
cmp rax, 0
jge 0x1400aa8de
sub rsp, 0x20
call fcn.140008024
add rsp, 0x20
jmp 0x1400ac059
mov rax, qword [rbp + 0x178]
mov rdx, rax
add rdx, 0x18
mov qword [rbp + 0x150], rdx
mov ecx, dword [rax + 0x88]
mov dword [rbp + 0x15c], ecx
mov rcx, rax
add rcx, 0x14
mov qword [rbp + 0x160], rcx
movzx eax, word [rax + 0x14]
xor ecx, ecx
sub rcx, rdx
sub rax, rcx
mov qword [rbp + 0x168], rax
movabs rcx, 0x5193af0d15126535
movabs r8, 0xae6c50f2eaed9aca
xor rcx, r8
xor rdx, rcx
mov qword [rbp + 0x170], rdx
mov rcx, rax
xor rcx, rdx
xor rcx, 0xffffffffffffffff
or rax, rdx
and rax, rcx
cmp rax, 0
jge 0x1400aa96d
sub rsp, 0x20
call fcn.140008024
add rsp, 0x20
jmp 0x1400ac059
mov rcx, qword [rbp + 0x168]
mov rax, qword [rbp + 0x178]
add rax, 6
mov qword [rbp + 0x138], rax
xor eax, eax
mov qword [rbp + 0x140], rcx
mov word [rbp + 0x14e], ax
mov rdx, qword [rbp + 0x138]
mov rax, qword [rbp + 0x140]
mov cx, word [rbp + 0x14e]
mov word [rbp + 0x126], cx
mov qword [rbp + 0x128], rax
cmp cx, word [rdx]
mov qword [rbp + 0x130], rax
jae 0x1400aae77
mov rcx, qword [rbp + 0x170]
mov rdx, qword [rbp + 0x150]
mov rax, qword [rbp + 0x160]
movzx eax, word [rax]
add rax, rdx
mov qword [rbp + 0x118], rax
and rax, rcx
cmp rax, 0
jge 0x1400aaa0a
sub rsp, 0x20
call fcn.140008024
add rsp, 0x20
jmp 0x1400ac059
mov rax, qword [rbp + 0x118]
mov cx, word [rbp + 0x126]
imul cx, cx, 0x28
movzx ecx, cx
mov edx, ecx
mov rcx, rax
add rcx, rdx
mov qword [rbp + 0x110], rcx
mov rdx, rax
and rdx, rdx
movabs r8, 0x1661f8dd31023602
movabs r9, 0xe99e0722cefdc9fd
xor r8, r9
xor rdx, r8
xor rdx, 0xffffffffffffffff
movabs r8, 0x6e1eb0e238340d91
movabs r9, 0x91e14f1dc7cbf26e
xor r8, r9
movabs r9, 0xe01cbc346f3c26fa
movabs r10, 0x1fe343cb90c3d905
xor r9, r10
xor r8, r9
or rdx, r8
mov r8, 0xffffffffffffffff
and r8, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
xor rax, 0xffffffffffffffff
movabs r9, 0xaca4c0029e303d7a
movabs r10, 0x535b3ffd61cfc285
xor r9, r10
xor r8, r9
or rax, r8
movabs r8, 0x80ed160055e7bed1
movabs r9, 0x7f12e9ffaa18412e
xor r8, r9
xor rdx, r8
movabs r8, 0xa0288cfee9145837
movabs r9, 0x5fd7730116eba7c8
xor r8, r9
xor rax, r8
or rdx, rax
mov rax, rcx
xor rax, 0xffffffffffffffff
movabs r8, 0xcf5186e4f2ac93e7
movabs r9, 0x30ae791b0d536c18
xor r8, r9
xor rcx, r8
and rax, rcx
movabs r8, 0x6e322198c1f146df
movabs rcx, 0x91cdde673e0eb920
xor r8, rcx
mov rcx, rdx
xor rcx, r8
xor rdx, 0xffffffffffffffff
and rcx, rdx
or rax, rcx
xor rax, 0xffffffffffffffff
cmp rax, 0
jge 0x1400aab58
sub rsp, 0x20
call fcn.140008024
add rsp, 0x20
jmp 0x1400ac059
mov eax, dword [0x1401ccc48]
xor eax, 0xb931e86d
xor eax, dword [0x1401ccc4c]
or eax, 0x2d49c222
mov ecx, eax
and ecx, 0x2ae856f1
xor ecx, 0xffffffff
add eax, 0x2ae856f1
add eax, 1
add eax, ecx
mov edx, 0xe8c31332
xor edx, 0x8e1eafeb
mov ecx, eax
xor ecx, edx
xor ecx, 0xffffffff
and ecx, 0x66ddbcd9
shl ecx, 1
sub ecx, 0x66ddbcd9
sub eax, ecx
cmp eax, 0x4904aac2
jbe 0x1400ac070
mov rcx, qword [rbp + 0x110]
xor eax, eax
mov dword [rbp + 0xfc], eax
mov eax, 0x81d69e32
mov dword [rbp + 0xf8], eax
mov rax, rcx
mov qword [rbp + 0xf0], rax
sub rsp, 0x20
mov edx, 6
call fcn.140063730
mov r9, qword [rbp + 0x1d8]
mov rdx, qword [rbp + 0x128]
mov r10, qword [rbp + 0xf0]
mov ecx, dword [rbp + 0xf8]
add rsp, 0x20
mov r8, rax
mov eax, dword [rbp + 0xfc]
mov r9b, byte [r9]
test r9b, r9b
sete r11b
sub r8, 0x22cb4c19
setne r8b
sete bl
movzx r8d, r8b
shl r8d, 3
and r11b, bl
test r11b, 1
cmovne rdx, r10
mov qword [rbp + 0x100], rdx
mov edx, 2
cmp r9b, 0
cmove edx, r8d
mov dword [rbp + 0x10c], edx
cmp eax, ecx
ja 0x1400aabb1
mov ax, word [rbp + 0x126]
mov ecx, dword [rbp + 0x10c]
test ecx, 0xfffffff7
mov dword [rbp + 0xe8], ecx
mov word [rbp + 0xee], ax
je 0x1400aac83
jmp 0x1400aad8d
mov eax, dword [0x1401ccc58]
xor eax, 0x224c222d
mov ecx, dword [0x1401ccc5c]
mov edx, 0x18260fb1
xor edx, 0x7608d708
xor ecx, edx
add eax, ecx
mov ecx, 0x3b003bda
xor edx, edx
div ecx
mov ecx, eax
and ecx, 0xc30bcad3
or eax, 0xc30bcad3
add ecx, eax
mov eax, ecx
and eax, 0x41d5f70e
or ecx, 0x41d5f70e
add eax, ecx
cmp eax, 0xa54d5e8f
je 0x1400ac079
mov cx, word [rbp + 0x126]
mov eax, dword [0x1401ccc60]
mov r8d, dword [0x1401ccc64]
xor r8d, 0x5f42e7e0
mov edx, eax
xor edx, r8d
xor r8d, 0xffffffff
and eax, r8d
shl eax, 1
sub eax, edx
mov r8d, 0x4df357b2
xor edx, edx
div r8d
imul eax, eax, 0x39accc96
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x85cdbe3b
mov r8d, 0xffffffff
xor r8d, 0xe90348ac
or eax, edx
mov edx, 0xdc4d6bc6
xor edx, 0x354e236a
or edx, r8d
xor eax, 0xffffffff
and eax, edx
mov dx, cx
and dx, 1
mov r8w, 0x6d69
xor r8w, 0x6d6b
imul dx, r8w
xor cx, 1
add cx, dx
mov word [rbp + 0xe6], cx
cmp eax, 0x340fd17d
je 0x1400aacd5
mov ax, word [rbp + 0xe6]
xor ecx, ecx
mov dword [rbp + 0xe8], ecx
mov word [rbp + 0xee], ax
jmp 0x1400aad8d
mov eax, dword [rbp + 0xe8]
mov cx, word [rbp + 0xee]
mov word [rbp + 0xde], cx
mov dword [rbp + 0xe0], eax
mov eax, dword [0x1401ccc68]
or eax, dword [0x1401ccc6c]
mov ecx, 0xa1ebbb34
xor ecx, 0x5e58d058
and eax, ecx
xor eax, 0xffffffff
mov ecx, 0xffffffff
xor ecx, 0xdcee000a
mov edx, 0xffffffff
xor edx, 0x6aa02d1b
or eax, ecx
mov ecx, 0xcf505ba1
xor ecx, 0xa5f076ba
or ecx, edx
xor eax, 0xffffffff
and eax, ecx
imul eax, eax, 0xb20f17fa
cmp eax, 0xe91b2dfe
ja 0x1400ac082
mov eax, dword [0x1401ccc70]
xor edx, edx
div dword [0x1401ccc74]
sub eax, 0xc07d30e2
sub eax, 0x5abaad9b
add eax, 0x3ce3990b
cmp eax, 0x72cb755b
ja 0x1400ac082
mov ax, word [rbp + 0xde]
mov rcx, qword [rbp + 0x100]
mov edx, dword [rbp + 0xe0]
test edx, edx
mov qword [rbp + 0x140], rcx
mov word [rbp + 0x14e], ax
je 0x1400aa996
jmp 0x1400aae55
mov rax, qword [rbp + 0x100]
mov ecx, dword [rbp + 0xe0]
sub ecx, 7
mov qword [rbp + 0x130], rax
jne 0x1400ac059
jmp 0x1400aae77
mov rax, qword [rbp + 0x130]
mov qword [rbp + 0xd0], rax
mov eax, dword [0x1401ccc78]
xor eax, 0x3dd3e0c0
mov edx, dword [0x1401ccc7c]
mov r8d, eax
xor r8d, 0xffffffff
mov ecx, edx
and ecx, r8d
xor edx, 0xffffffff
and eax, edx
or ecx, eax
mov r8d, 0xffffffff
xor r8d, 0x654ba293
mov edx, ecx
and edx, r8d
mov eax, ecx
or eax, r8d
xor eax, 0xffffffff
imul eax, edx
mov edx, ecx
and edx, 0x654ba293
or ecx, 0x654ba293
imul ecx, edx
add ecx, eax
mov edx, ecx
xor edx, 0xffffffff
and edx, 0x23918eed
mov r8d, 0xffffffff
xor r8d, 0x23918eed
mov eax, ecx
and eax, r8d
imul eax, edx
mov edx, ecx
and edx, 0x23918eed
or ecx, 0x23918eed
imul ecx, edx
add ecx, eax
mov eax, ecx
xor eax, 0xffffffff
and eax, 0x4f0f5127
mov edx, 0xffffffff
xor edx, 0x4f0f5127
and ecx, edx
or eax, ecx
cmp eax, 0x1517da32
je 0x1400ac08b
mov rdx, qword [rbp + 0x188]
mov ecx, dword [rbp + 0x15c]
mov r8d, dword [0x1401ccc80]
imul r8d, dword [0x1401ccc84]
xor r8d, 0xaf51a391
mov r9d, 0xff056f8b
xor r9d, 0x265454ff
mov eax, r8d
or eax, r9d
xor eax, 0xffffffff
or r8d, 0xd9513b74
xor r8d, 0xffffffff
xor eax, 0xffffffff
xor r8d, 0xffffffff
and eax, r8d
add eax, 0xea0c830
add eax, 0x82c8cae1
mov r8d, 0x356c36a5
xor r8d, 0x3bccfe95
sub eax, r8d
movsxd r9, ecx
xor ecx, ecx
sub rcx, rdx
mov r8, r9
sub r8, rcx
mov qword [rbp + 0xc0], r8
mov rcx, r8
xor rcx, rdx
movabs rdx, 0xfe73760dbb8a8e82
movabs r10, 0x18c89f24475717d
xor rdx, r10
mov r10, r8
xor r10, rdx
mov rdx, r9
and rdx, r10
xor r9, 0xffffffffffffffff
and r8, r9
or rdx, r8
and rcx, rdx
cmp rcx, 0
setl cl
mov byte [rbp + 0xcf], cl
cmp eax, 0x20a3985
jb 0x1400aaf30
mov al, byte [rbp + 0xcf]
test al, 1
jne 0x1400ab00e
jmp 0x1400ab020
sub rsp, 0x20
call fcn.140008024
add rsp, 0x20
jmp 0x1400ac059
mov rdx, qword [rbp + 0xd0]
mov rcx, qword [rbp + 0xc0]
sub rsp, 0x20
call fcn.1400aa460
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x1d8]
mov qword [rbp + 0xb8], rcx
cmp byte [rax], 0
jne 0x1400ac059
mov r8, qword [rbp + 0x188]
mov rax, qword [rbp + 0xb8]
movsxd rax, dword [rax + 0x20]
movabs rdx, 0x2c1caf471b77ba96
mov rcx, rax
add rcx, rdx
add rcx, r8
movabs rdx, 0x2c1caf471b77ba96
sub rcx, rdx
mov qword [rbp + 0xb0], rcx
mov rdx, rcx
xor rdx, r8
xor rcx, rax
mov rax, rdx
xor rax, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
and rax, rdx
or rcx, rcx
xor rcx, 0xffffffffffffffff
movabs rdx, 0xb756d0781f3e033c
movabs r8, 0x48a92f87e0c1fcc3
xor rdx, r8
xor rax, rdx
xor rcx, 0xffffffffffffffff
and rax, rcx
cmp rax, 0
jge 0x1400ab2b7
mov ecx, dword [0x1401ccc88]
xor ecx, 0x27e93f5a
mov eax, dword [0x1401ccc8c]
mov edx, 0x8cfe7abe
xor edx, 0x2cab9256
xor eax, edx
add ecx, eax
mov r8d, 0x400dd0a2
xor r8d, 0xe736c5ad
mov eax, 0xb22224cf
xor eax, 0x4ddddb30
xor r8d, eax
mov edx, ecx
and edx, r8d
mov eax, ecx
or eax, r8d
xor eax, 0xffffffff
imul eax, edx
mov edx, ecx
and edx, 0xa73b150f
mov r8d, 0x25987632
xor r8d, 0x82a3633d
or ecx, r8d
imul ecx, edx
add ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov r8d, 0x954b9b64
xor r8d, 0x6ab4649b
mov edx, ecx
xor edx, r8d
or eax, edx
mov edx, 0x8ce40e0a
xor edx, 0x731bf1f5
xor eax, edx
mov edx, 0xffffffff
xor edx, 0x9ba7c7ba
or eax, edx
mov edx, 0xffffffff
xor edx, 0x9ba7c7ba
mov r8d, 0xebb054b
xor r8d, 0x951cc2f1
mov r9d, 0x4178a539
xor r9d, 0xbe875ac6
xor r8d, r9d
or edx, r8d
and ecx, edx
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
mov ecx, 0xbff405c
xor ecx, 0xced2ade1
xor edx, edx
div ecx
cmp eax, 0xf8d6632f
je 0x1400ac094
mov eax, dword [0x1401ccc90]
xor eax, 0x91da250b
mov r8d, dword [0x1401ccc94]
mov r9d, r8d
xor r9d, 0xffffffff
mov edx, eax
and edx, r9d
mov ecx, eax
or ecx, r9d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, eax
xor ecx, 0xffffffff
mov edx, 0x4391073e
xor edx, 0x4d03fd
and edx, ecx
mov r8d, 0xf9360568
xor r8d, 0xbaea01ab
mov ecx, 0x44a328c6
xor ecx, 0xbb5cd739
xor r8d, ecx
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x43dc04c3
mov r8d, 0x58d45d2f
xor r8d, 0x1b0859ec
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, 0x51e4050f
xor edx, edx
div ecx
mov ecx, 0xccd69655
xor ecx, 0x332969aa
mov edx, eax
xor edx, ecx
and edx, 0x2b3bac62
mov r8d, 0xffffffff
xor r8d, 0x2b3bac62
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x2b3bac62
or eax, 0x2b3bac62
imul eax, edx
add eax, ecx
mov dword [rbp + 0xac], eax
sub rsp, 0x20
call fcn.140008024
mov eax, dword [rbp + 0xac]
add rsp, 0x20
cmp eax, 0x9f1c59ca
ja 0x1400ac094
jmp 0x1400ac059
mov rdx, qword [rbp + 0xd0]
mov rcx, qword [rbp + 0xb0]
sub rsp, 0x20
call fcn.1400aa460
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x1d8]
mov qword [rbp + 0xa0], rcx
cmp byte [rax], 0
jne 0x1400ac059
mov ecx, dword [0x1401ccc98]
mov eax, 0x6f2ecbe9
xor eax, 0x542109ce
xor ecx, eax
add ecx, dword [0x1401ccc9c]
mov edx, 0x51730490
xor edx, 0xae8cfb6f
mov eax, ecx
xor eax, edx
mov edx, ecx
xor edx, 0xffffffff
and eax, edx
mov edx, 0x8cb09f74
or edx, 0x8cb09f74
mov r8d, 0x1cf1832f
xor r8d, 0xe30e7cd0
xor edx, r8d
xor eax, 0xffffffff
xor edx, 0xffffffff
and eax, edx
mov edx, 0x81266f7c
xor edx, 0x7ed99083
xor ecx, edx
mov edx, 0xe798d637
xor edx, 0x6b284943
mov r8d, 0xb3066b6d
xor r8d, 0x4cf99492
xor edx, r8d
and ecx, edx
or eax, ecx
xor eax, 0xffffffff
and eax, 0x30f7534a
mov edx, 0x174cea69
xor edx, 0xe8b31596
mov ecx, eax
xor ecx, edx
and ecx, 0xe031a808
mov edx, 0x21a18ff6
xor edx, 0xc19027fe
mov r8d, 0x93e7018b
xor r8d, 0x6c18fe74
xor edx, r8d
and eax, edx
sub eax, ecx
cmp eax, 0x7d8aeb42
jae 0x1400ac09d
mov r10, qword [rbp + 0x188]
mov rcx, qword [rbp + 0xb8]
mov eax, dword [0x1401ccca0]
mov r8d, dword [0x1401ccca4]
mov edx, eax
xor edx, r8d
mov r9d, 0xc80d8b6f
xor r9d, 0x37f27490
xor edx, r9d
mov r9d, r8d
and r9d, edx
mov edx, 0xaef786eb
xor edx, 0xaef786e9
imul edx, r9d
sub edx, r8d
sub eax, edx
xor edx, edx
sub edx, eax
xor eax, eax
sub eax, 0xa6aba513
add edx, eax
xor eax, eax
sub eax, edx
or eax, 0x470f2e45
mov edx, 0xe8bb3a20
xor edx, 0xc4fc5e63
or eax, edx
movsxd r9, dword [rcx + 0x1c]
mov rcx, r9
and rcx, r10
shl rcx, 1
mov r8, r9
xor r8, r10
add r8, rcx
mov qword [rbp + 0x90], r8
mov rdx, r8
xor rdx, 0xffffffffffffffff
mov rcx, r10
and rcx, rdx
movabs rdx, 0x3669395f3a6b3565
movabs r11, 0xc996c6a0c594ca9a
xor rdx, r11
xor r10, rdx
mov rdx, r8
and rdx, r10
or rcx, rdx
mov rdx, r8
or rdx, rdx
movabs r10, 0x323b61ecde58b832
movabs r11, 0xcdc49e1321a747cd
xor r10, r11
xor rdx, r10
movabs r11, 0xfb9d111602c15a2e
movabs r10, 0x462eee9fd3ea5d1
xor r11, r10
mov r10, r9
xor r10, r11
movabs rsi, 0x93ec02f87ca37a49
movabs r11, 0x6c13fd07835c85b6
xor rsi, r11
mov r11, r9
xor r11, rsi
and r10, r11
xor rdx, 0xffffffffffffffff
xor r10, 0xffffffffffffffff
and rdx, r10
or r8, r9
xor r8, 0xffffffffffffffff
or rdx, r8
xor rdx, 0xffffffffffffffff
and rcx, rdx
cmp rcx, 0
setl cl
mov byte [rbp + 0x9f], cl
cmp eax, 0x4042bd1
jb 0x1400ab3b0
mov al, byte [rbp + 0x9f]
test al, 1
jne 0x1400ab50f
jmp 0x1400ab521
sub rsp, 0x20
call fcn.140008024
add rsp, 0x20
jmp 0x1400ac059
mov rdx, qword [rbp + 0xd0]
mov rcx, qword [rbp + 0x90]
sub rsp, 0x20
call fcn.1400aa460
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x1d8]
mov qword [rbp + 0x88], rcx
cmp byte [rax], 0
jne 0x1400ac059
mov rax, qword [rbp + 0x1b8]
mov rcx, qword [rbp + 0xb8]
add rcx, 0x18
mov qword [rbp + 0x68], rcx
add rax, 8
mov qword [rbp + 0x70], rax
xor eax, eax
mov ecx, eax
xor eax, eax
mov qword [rbp + 0x78], rcx
mov dword [rbp + 0x84], eax
mov rcx, qword [rbp + 0x68]
mov rax, qword [rbp + 0x78]
mov edx, dword [rbp + 0x84]
mov dword [rbp + 0x5c], edx
mov qword [rbp + 0x60], rax
movsxd rcx, dword [rcx]
cmp rax, rcx
jge 0x1400ac038
mov rcx, qword [rbp + 0x60]
lea rdx, [rbp + 0x200]
sub rsp, 0x20
call fcn.1400ac0e5
add rsp, 0x20
test al, 1
jne 0x1400ab5ca
jmp 0x1400ab5dc
sub rsp, 0x20
call fcn.140008024
add rsp, 0x20
jmp 0x1400ac038
mov r9, qword [rbp + 0x188]
mov rax, qword [rbp + 0xa0]
add rax, qword [rbp + 0x200]
movsxd rdx, dword [rax]
mov rcx, rdx
add rcx, r9
mov qword [rbp + 0x50], rcx
mov rax, rcx
and rax, r9
movabs r8, 0xd67b5ea6f0796c8f
movabs r10, 0xd67b5ea6f0796c8d
xor r8, r10
imul r8, rax
mov rax, rcx
add rax, r9
sub rax, r8
xor rcx, rdx
and rax, rcx
movabs rcx, 0xa328c18c37bbc325
movabs rdx, 0xa328c18c37bbc325
xor rcx, rdx
cmp rax, rcx
jge 0x1400ab660
sub rsp, 0x20
call fcn.140008024
add rsp, 0x20
jmp 0x1400ac038
mov rdx, qword [rbp + 0xd0]
mov rcx, qword [rbp + 0x50]
sub rsp, 0x20
call fcn.1400aa460
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x1d8]
mov qword [rbp + 0x48], rcx
mov al, byte [rax]
mov cl, 0xfe
xor cl, 0xfe
cmp al, cl
jne 0x1400ac038
mov ecx, dword [0x1401ccca8]
xor ecx, 0xd1e923b9
mov r8d, dword [0x1401cccac]
mov eax, ecx
and eax, eax
xor eax, 0xffffffff
mov edx, 0x579b8085
xor edx, 0xa8647f7a
xor eax, edx
mov edx, r8d
xor edx, 0xffffffff
or eax, edx
mov edx, r8d
xor edx, 0xffffffff
mov r9d, 0x600683ad
xor r9d, 0x9ff97c52
xor r8d, r9d
or edx, r8d
xor ecx, 0xffffffff
xor edx, 0xffffffff
or ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
or eax, 0xf46a9ea0
mov ecx, 0x39e8a13c
xor edx, edx
div ecx
mov edx, 0xffffffff
xor edx, 0x62d1a0e4
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, 0x62d1a0e4
add eax, edx
sub eax, ecx
cmp eax, 0x9636d4f2
jae 0x1400ac0a6
mov rcx, qword [rbp + 0x60]
mov eax, dword [0x1401cccb0]
mov r8d, dword [0x1401cccb4]
xor r8d, 0x80871549
mov edx, eax
add edx, 1
xor eax, 0xffffffff
or eax, r8d
add eax, edx
sub eax, 0x121d49ae
sub eax, 0x8bb6149d
add eax, 0x8f735fab
mov dword [rbp + 0x40], eax
movabs rax, 0xe948134d5a194266
movabs rdx, 0xe948134d5a194267
xor rax, rdx
add rcx, rax
mov qword [rbp + 0x38], rcx
lea rdx, [rbp + 0x1f8]
sub rsp, 0x20
call fcn.1400ac0e5
add rsp, 0x20
mov cl, al
mov eax, dword [rbp + 0x40]
mov byte [rbp + 0x47], cl
cmp eax, 0xd8247850
ja 0x1400ab721
mov al, byte [rbp + 0x47]
test al, 1
jne 0x1400ab7ad
jmp 0x1400ab7bf
sub rsp, 0x20
call fcn.140008024
add rsp, 0x20
jmp 0x1400ac038
mov r9, qword [rbp + 0x188]
mov rax, qword [rbp + 0x88]
add rax, qword [rbp + 0x1f8]
movsxd r8, dword [rax]
mov rcx, r8
add rcx, r9
mov qword [rbp + 0x30], rcx
mov rax, rcx
xor rax, 0xffffffffffffffff
movabs rdx, 0x38c333c4e66105a1
and rax, rdx
mov r11, 0xffffffffffffffff
movabs rdx, 0x38c333c4e66105a1
xor r11, rdx
mov r10, rcx
and r10, r11
movabs rsi, 0x39939d1649d9d86f
movabs rdx, 0xc66c62e9b6262790
xor rsi, rdx
mov rdx, r9
xor rdx, rsi
movabs rsi, 0x38c333c4e66105a1
and rdx, rsi
and r9, r11
or rax, r10
or rdx, r9
xor rax, rdx
mov r9, rcx
and r9, r8
movabs rdx, 0x4c41538044d12726
movabs r10, 0x4c41538044d12724
xor rdx, r10
imul rdx, r9
add rcx, r8
sub rcx, rdx
and rax, rcx
cmp rax, 0
jge 0x1400ab88b
sub rsp, 0x20
call fcn.140008024
add rsp, 0x20
jmp 0x1400ac038
mov rdx, qword [rbp + 0x168]
mov rcx, qword [rbp + 0x30]
sub rsp, 0x20
call fcn.1400aa460
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x1d8]
mov qword [rbp + 0x28], rcx
cmp byte [rax], 0
jne 0x1400ac038
mov rcx, qword [rbp + 0x48]
xor eax, eax
cmp rcx, 0
mov rdx, rax
mov qword [rbp + 0x10], rdx
mov qword [rbp + 0x18], rcx
mov qword [rbp + 0x20], rax
je 0x1400ab9ae
mov rax, qword [rbp + 0x10]
mov rcx, qword [rbp + 0x18]
mov qword [rbp], rcx
mov qword [rbp + 8], rax
cmp byte [rcx], 0
mov qword [rbp + 0x20], rax
je 0x1400ab9ae
mov rdx, qword [rbp + 8]
mov rax, qword [rbp]
add rax, 1
movabs r8, 0xa03722518a24e0bf
movabs rcx, 0xa03722518a24e0bf
xor r8, rcx
movabs rcx, 0x91847286dd16b200
movabs r9, 0x91847286dd16b201
xor rcx, r9
sub r8, rcx
mov rcx, rdx
sub rcx, r8
movabs r9, 0xc646907684cc9c46
movabs r8, 0x39b96f897b3363b9
xor r9, r8
mov r8, rdx
xor r8, r9
and r8, 0xffffffffffffffff
mov r9, 0xffffffffffffffff
xor r9, 0xffffffffffffffff
and rdx, r9
or r8, rdx
mov rdx, rcx
and rdx, r8
movabs r8, 0x7fd1501e52644b7f
movabs r9, 0x7fd1501e52644b7f
xor r8, r9
cmp rdx, r8
mov qword [rbp + 0x10], rcx
mov qword [rbp + 0x18], rax
jge 0x1400ab8d9
sub rsp, 0x20
call fcn.140008024
mov rax, qword [rbp + 8]
add rsp, 0x20
mov qword [rbp + 0x20], rax
mov rdx, qword [rbp + 0x20]
mov qword [rbp - 8], rdx
movabs rcx, 0x30ee3fe0b05a055
movabs rax, 0xfcf11c01f4fa5faa
xor rcx, rax
mov rax, rdx
add rax, rcx
mov rcx, rax
xor rcx, rdx
cmp rcx, 0
setl cl
cmp rax, 0xffffffffffffffff
setg al
and al, cl
test al, 1
jne 0x1400ab9f6
jmp 0x1400aba08
sub rsp, 0x20
call fcn.140008024
add rsp, 0x20
jmp 0x1400ac038
mov rcx, qword [rbp + 0x1b8]
mov rax, qword [rbp + 0x70]
mov rax, qword [rax]
mov qword [rbp - 0x18], rax
mov rcx, qword [rcx]
mov qword [rbp - 0x10], rcx
cmp rax, 0
je 0x1400aba4e
mov rax, qword [rbp - 0x10]
mov r8, qword [rbp - 0x18]
mov rdx, qword [rbp - 8]
mov rcx, qword [rbp + 0x48]
sub rsp, 0x20
call rax
add rsp, 0x20
mov qword [rbp - 0x20], rax
jmp 0x1400aba68
mov rax, qword [rbp - 0x10]
mov rdx, qword [rbp - 8]
mov rcx, qword [rbp + 0x48]
sub rsp, 0x20
call rax
add rsp, 0x20
mov qword [rbp - 0x20], rax
mov rax, qword [rbp - 0x20]
mov qword [rbp - 0x28], rax
mov ecx, dword [0x1401cccb8]
add ecx, dword [0x1401cccbc]
mov edx, 0x16283dc9
xor edx, 0xe9d7c236
mov eax, ecx
xor eax, edx
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0x41cbe760
xor ecx, 0x502f11c9
mov edx, 0xa3e7a937
xor edx, 0x5c1856c8
xor ecx, edx
mov edx, 0xc75a4ebc
xor edx, 0xd6beb815
mov r8d, 0x2a9953e1
xor r8d, 0xd566ac1e
xor edx, r8d
and ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
imul eax, eax, 0x7986eefe
add eax, 0x4ff0a5df
cmp eax, 0xf7278ab5
jae 0x1400ac0af
mov rcx, qword [rbp + 0x1d8]
mov eax, dword [0x1401cccc0]
mov edx, dword [0x1401cccc4]
mov r8d, 0xc0461c7a
xor r8d, 0x3c940ab4
xor edx, r8d
mov r8d, 0x7ff38a9d
xor r8d, 0x800c7562
xor edx, r8d
mov r8d, 0x8438cd8
xor r8d, 0x8438cd8
mov r9d, 0xd82cc58f
xor r9d, 0xd82cc58e
sub r8d, r9d
sub edx, r8d
sub eax, edx
mov edx, eax
and edx, 0xfeeba330
shl edx, 1
add eax, 0xfeeba330
sub eax, edx
add eax, 0xb921a5b9
mov edx, eax
add edx, 1
mov r8d, 0xaf50a52c
xor r8d, 0x50af5ad3
xor eax, r8d
or eax, 0xf4d81f87
add eax, edx
cmp byte [rcx], 0
sete cl
mov byte [rbp - 0x29], cl
cmp eax, 0x56d4f7a7
jae 0x1400ac0af
mov al, byte [rbp - 0x29]
test al, 1
jne 0x1400abb8f
jmp 0x1400ac038
mov eax, dword [rbp + 0x5c]
mov rcx, qword [rbp - 0x28]
mov rdx, qword [rbp + 0x1c8]
cmp rcx, rdx
mov dword [rbp - 0x30], eax
jne 0x1400ac043
mov rax, qword [rbp + 0x28]
mov rcx, qword [0x1401ddb38]
mov rcx, qword [rcx]
cmp byte [rcx + 0x10], 0
mov qword [rbp - 0x38], rax
je 0x1400abf9c
mov eax, dword [0x1401cccc8]
add eax, dword [0x1401ccccc]
or eax, 0xf0f9d983
add eax, 0x1ff8d6f4
mov ecx, 0xe90594e3
xor ecx, 0x25ae1004
xor eax, ecx
mov ecx, 0xe0969ff8
xor ecx, 0xc5d82d7b
cmp eax, ecx
jb 0x1400ac0b8
mov ecx, dword [0x1401cccd0]
mov edx, dword [0x1401cccd4]
mov eax, ecx
and eax, edx
xor ecx, edx
or eax, ecx
mov ecx, 0xbf276802
xor edx, edx
div ecx
mov rdx, qword [rbp + 0x60]
imul eax, eax, 0xf9486686
mov ecx, 0xe153a7af
xor ecx, 0x73b28b36
or eax, ecx
mov ecx, 0x21ecb8f6
xor ecx, 0xee269bfc
add rdx, 0xffffffff80000007
movabs r8, 0x5ed69d7e8808b450
movabs r9, 0xa12962818808b450
xor r8, r9
cmp rdx, r8
setb dl
mov byte [rbp - 0x39], dl
cmp eax, ecx
jbe 0x1400abbfb
mov al, byte [rbp - 0x39]
test al, 1
jne 0x1400abe95
jmp 0x1400abc79
mov rcx, qword [rbp + 0x60]
xor eax, eax
sub rax, rcx
xor ecx, ecx
sub rcx, 7
add rax, rcx
movabs rcx, 0xd3213fc96f86c6f9
movabs rdx, 0xd3213fc96f86c6f9
xor rcx, rdx
sub rcx, rax
lea rdx, [rbp + 0x1f0]
sub rsp, 0x20
call fcn.1400ac0e5
add rsp, 0x20
test al, 1
jne 0x1400abe95
mov r8, qword [rbp + 0x188]
mov rax, qword [rbp + 0xa0]
add rax, qword [rbp + 0x1f0]
movsxd rax, dword [rax]
mov rdx, rax
add rdx, r8
mov qword [rbp - 0x48], rdx
mov rcx, rdx
xor rcx, r8
xor rdx, rax
mov rax, rcx
and rax, rdx
xor rax, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
or rcx, rdx
and rax, rcx
xor rax, 0xffffffffffffffff
cmp rax, 0
jl 0x1400abe95
mov rdx, qword [rbp + 0xd0]
mov rcx, qword [rbp - 0x48]
sub rsp, 0x20
call fcn.1400aa460
add rsp, 0x20
mov rax, qword [rbp + 0x1d8]
mov al, byte [rax]
mov cl, 0x87
xor cl, 0x87
cmp al, cl
jne 0x1400abf97
mov rax, qword [rbp + 0x60]
add rax, 0xffffffff80000008
movabs rcx, 0xffffffff00000000
cmp rax, rcx
jb 0x1400abe95
mov rcx, qword [rbp + 0x60]
add rcx, 8
lea rdx, [rbp + 0x1e8]
sub rsp, 0x20
call fcn.1400ac0e5
add rsp, 0x20
test al, 1
jne 0x1400abe95
mov r9, qword [rbp + 0x188]
mov rax, qword [rbp + 0x88]
add rax, qword [rbp + 0x1e8]
movsxd r8, dword [rax]
mov rdx, r8
add rdx, r9
mov qword [rbp - 0x50], rdx
mov rcx, rdx
xor rcx, 0xffffffffffffffff
movabs rax, 0x9d4b5b59459126c3
and rcx, rax
mov r11, 0xffffffffffffffff
movabs rax, 0x9d4b5b59459126c3
xor r11, rax
mov r10, rdx
and r10, r11
movabs rsi, 0x20d1f3bdc8be5150
movabs rax, 0xdf2e0c423741aeaf
xor rsi, rax
mov rax, r9
xor rax, rsi
movabs rsi, 0x9d4b5b59459126c3
and rax, rsi
and r9, r11
or rcx, r10
or rax, r9
xor rcx, rax
mov r9, rdx
xor r9, r8
xor r9, 0xffffffffffffffff
mov rax, r8
and rax, r9
shl rax, 1
sub rax, r8
sub rdx, rax
mov rax, rcx
xor rax, 0xffffffffffffffff
mov r8, rdx
xor r8, 0xffffffffffffffff
or rax, r8
and rcx, rdx
movabs rdx, 0xa11a14a1a6dd1cf6
movabs r8, 0x5ee5eb5e5922e309
xor rdx, r8
xor rcx, rdx
xor rax, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
or rax, rcx
cmp rax, 0
jl 0x1400abe95
mov rdx, qword [rbp + 0x168]
mov rcx, qword [rbp - 0x50]
sub rsp, 0x20
call fcn.1400aa460
mov rcx, qword [rbp + 0x1d8]
add rsp, 0x20
cmp byte [rcx], 0
mov qword [rbp - 0x38], rax
je 0x1400abf9c
jmp 0x1400abf97
mov ecx, dword [0x1401cccd8]
mov edx, dword [0x1401cccdc]
mov r8d, 0xc37f57cc
xor r8d, 0x3c80a833
mov eax, ecx
xor eax, r8d
xor ecx, 0xffffffff
and eax, ecx
mov ecx, edx
xor ecx, 0xffffffff
xor edx, 0xffffffff
and ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
or eax, 0xc90c5e04
mov ecx, 0xf4865104
xor ecx, 0x10662a8f
sub eax, ecx
mov ecx, 0xf236b0d5
xor edx, edx
div ecx
cmp eax, 0x40ea4073
ja 0x1400ac0c1
mov ecx, dword [0x1401ccce0]
mov eax, 0x5e0c4dba
xor eax, 0x7d795981
xor ecx, eax
mov edx, dword [0x1401ccce4]
mov r8d, 0xeb4822fe
xor r8d, 0x14b7dd01
mov eax, ecx
xor eax, r8d
mov r9d, 0x5f056c08
xor r9d, 0xa0fa93f7
mov r8d, ecx
xor r8d, r9d
and eax, r8d
mov r9d, 0xa87bf32a
xor r9d, 0x57840cd5
mov r8d, edx
xor r8d, r9d
mov r9d, edx
xor r9d, 0xffffffff
and r8d, r9d
or eax, r8d
xor eax, 0xffffffff
or ecx, edx
xor ecx, 0xffffffff
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
sub eax, 0xc75bbb5b
imul eax, eax, 0xbcde6a08
mov ecx, 0x8a90b25e
xor edx, edx
div ecx
mov dword [rbp - 0x54], eax
sub rsp, 0x20
call fcn.140008024
mov eax, dword [rbp - 0x54]
add rsp, 0x20
cmp eax, 0x628dd438
je 0x1400ac0c1
jmp 0x1400abf97
jmp 0x1400ac038
mov rax, qword [rbp - 0x38]
mov qword [rbp - 0x70], rax
mov rcx, qword [0x1401ccc30]
mov qword [rbp - 0x68], rcx
movabs rdx, 0xf0861192d580cf32
movabs rax, 0xf0861192d580cf32
xor rdx, rax
xor eax, eax
cmp rcx, rdx
mov qword [rbp - 0x60], rax
jge 0x1400abff9
mov rcx, qword [rbp - 0x68]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.14000c8ac
add rsp, 0x20
jmp 0x1400ac038
mov rdx, qword [rbp - 0x68]
mov rcx, qword [rbp - 0x60]
mov qword [rbp - 0x78], rcx
mov eax, 1
cmp rcx, rdx
mov dword [rbp - 0x30], eax
je 0x1400ac043
mov rax, qword [rbp - 0x78]
mov rcx, qword [rbp + 0x1c0]
mov rdx, qword [rbp - 0x70]
mov dl, byte [rdx + rax]
mov byte [rcx + rax], dl
add rax, 1
mov qword [rbp - 0x60], rax
jmp 0x1400abff9
mov eax, dword [rbp + 0x5c]
mov dword [rbp - 0x7c], eax
jmp 0x1400ac059
mov rcx, qword [rbp + 0x38]
mov eax, dword [rbp - 0x30]
mov qword [rbp + 0x78], rcx
mov dword [rbp + 0x84], eax
jmp 0x1400ab584
mov eax, dword [rbp - 0x7c]
lea rsp, [rbp + 0x210]
pop rbx
pop rsi
pop rbp
ret
mov ecx, 0xe9a77d3d
xchg ebp, eax
out 0xff, eax
call [rax + 0x4c]
lahf
pop rax
lahf
mov ebp, ecx
cmp bl, ch
invalid
adc eax, 0xe9d50a72
push rbx
in al, dx
invalid
mov ecx, dword [rbx + 0x73e9af2b]
in eax, dx
invalid
lodsb al, byte [rsi]
frstor dword [rbp - 0x1163169a]
invalid
mov ch, ch
std
jmp 0x1400ab1c1
or ecx, ebx
and dl, byte [rbp - 0x17]
or dh, bl
invalid
xor dword [rbp + 0x72e95e30], edi
idiv bh
jmp qword [rbp - 0x16996201]
movsd dword [rdi], dword [rsi]
call [rbp - 0x5d4169a]
invalid
adc dh, dh
invalid
cmp dword [rdx + 0x26e90394], 0x48fffffe
sub esp, 0x28