Function at 0x140240b60
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x388
lea rbp, [rsp + 0x80]
mov qword [rbp + 0xd8], rcx
mov eax, 0x10
mov qword [rbp + 0x120], rax
call fcn.140271bb0
sub rsp, rax
mov rax, qword [rbp + 0x120]
mov rcx, rsp
mov qword [rbp + 0xe0], rcx
call fcn.140271bb0
sub rsp, rax
mov rax, qword [rbp + 0x120]
mov rcx, rsp
mov qword [rbp + 0xe8], rcx
call fcn.140271bb0
sub rsp, rax
mov rax, qword [rbp + 0x120]
mov rcx, rsp
mov qword [rbp + 0xf0], rcx
call fcn.140271bb0
sub rsp, rax
mov rax, qword [rbp + 0x120]
mov rcx, rsp
mov qword [rbp + 0xf8], rcx
call fcn.140271bb0
sub rsp, rax
mov rax, qword [rbp + 0x120]
mov rcx, rsp
mov qword [rbp + 0x100], rcx
call fcn.140271bb0
sub rsp, rax
mov rax, qword [rbp + 0x120]
mov rcx, rsp
mov qword [rbp + 0x108], rcx
call fcn.140271bb0
sub rsp, rax
mov rax, qword [rbp + 0x120]
mov rcx, rsp
mov qword [rbp + 0x110], rcx
call fcn.140271bb0
sub rsp, rax
mov rax, qword [rbp + 0x120]
mov rcx, rsp
mov qword [rbp + 0x118], rcx
call fcn.140271bb0
sub rsp, rax
mov rax, qword [rbp + 0x120]
mov rcx, rsp
mov qword [rbp + 0x128], rcx
call fcn.140271bb0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x130], rax
mov rax, qword [0x14028d330]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000efc9
add rsp, 0x20
mov qword [rbp + 0x140], rax
add rax, 0x60
mov qword [rbp + 0x138], rax
mov word [rbp + 0x2b6], 0xb21
lea rcx, [rbp + 0x2b6]
sub rsp, 0x20
call fcn.140096085
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x140]
mov qword [rbp + 0x148], rcx
cmp byte [rax + 0x60], 0
jne 0x140242198
mov rax, qword [rbp + 0x148]
mov rcx, qword [0x14028d338]
mov rdx, qword [rcx]
mov qword [rbp + 0x288], rdx
mov rcx, qword [rcx + 8]
mov qword [rbp + 0x290], rcx
mov rcx, qword [rax]
mov qword [rbp + 0x278], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x280], rax
mov rax, qword [0x14028d330]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000efc9
add rsp, 0x20
mov rax, qword [rbp + 0x288]
mov qword [rbp + 0x2c8], rax
mov rax, qword [rbp + 0x290]
mov qword [rbp + 0x2d0], rax
mov rax, qword [rbp + 0x278]
mov qword [rbp + 0x2b8], rax
mov rax, qword [rbp + 0x280]
mov qword [rbp + 0x2c0], rax
lea rcx, [rbp + 0x298]
lea rdx, [rbp + 0x2c8]
lea r8, [rbp + 0x2b8]
sub rsp, 0x20
call fcn.1400ca2e0
mov rax, qword [rbp + 0x138]
add rsp, 0x20
mov rcx, qword [rbp + 0x298]
mov qword [rbp + 0xc8], rcx
mov rcx, qword [rbp + 0x2a0]
mov qword [rbp + 0xd0], rcx
cmp byte [rax], 0
jne 0x140242198
mov word [rbp + 0x2b4], 0x922
lea rcx, [rbp + 0x2b4]
sub rsp, 0x20
call fcn.140096085
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x138]
mov qword [rbp + 0xc0], rcx
mov al, byte [rax]
mov cl, 0x93
xor cl, 0x93
cmp al, cl
jne 0x14024203a
mov rax, qword [rbp + 0xf8]
mov rcx, qword [rbp + 0xc0]
mov rdx, qword [rcx]
mov qword [rax], rdx
mov rcx, qword [rcx + 8]
mov qword [rax + 8], rcx
mov rax, qword [0x14028d330]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000efc9
mov r8, qword [rbp + 0xc8]
mov rcx, qword [rbp + 0xd0]
mov rdx, qword [rbp + 0xe0]
add rsp, 0x20
mov rax, qword [rbp + 0xf8]
mov qword [rdx], r8
mov qword [rdx + 8], rcx
mov rcx, qword [rax]
mov qword [rbp + 0x2d8], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x2e0], rax
lea rcx, [rbp + 0x268]
lea r8, [rbp + 0x2d8]
sub rsp, 0x20
call fcn.1400ca2e0
mov rax, qword [rbp + 0x138]
add rsp, 0x20
mov rcx, qword [rbp + 0x268]
mov qword [rbp + 0xb0], rcx
mov rcx, qword [rbp + 0x270]
mov qword [rbp + 0xb8], rcx
cmp byte [rax], 0
jne 0x14024203a
mov ecx, 2
mov r8d, 8
sub rsp, 0x20
mov rdx, r8
call fcn.140020645
add rsp, 0x20
mov qword [rbp + 0x98], rax
mov ecx, 0x18
mov edx, 8
sub rsp, 0x20
call fcn.1400370c0
mov rcx, qword [rbp + 0xe8]
add rsp, 0x20
mov qword [rbp + 0xa0], rax
mov word [rcx], 0xc1
sub rsp, 0x20
call fcn.140096085
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x138]
mov qword [rbp + 0xa8], rcx
cmp byte [rax], 0
jne 0x140241fe4
mov eax, dword [0x14027faf0]
xor edx, edx
div dword [0x14027faf4]
mov ecx, 0xbd3c94ba
xor edx, edx
div ecx
mov ecx, eax
mov eax, ecx
and eax, 0xffd27e64
xor ecx, 0xffd27e64
or eax, ecx
mov r8d, 0xffffffff
xor r8d, 0xe6f48c16
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0xe6f48c16
or eax, 0xe6f48c16
imul eax, edx
add eax, ecx
cmp eax, 0x8047a31d
jae 0x14024248d
mov rax, qword [rbp + 0xa8]
mov ecx, dword [0x14027faf8]
xor ecx, 0xdb95b3f1
mov r8d, dword [0x14027fafc]
mov r9d, ecx
xor r9d, r8d
mov edx, 0xc49e8eb1
xor edx, 0x3b61714e
xor r9d, edx
mov edx, r8d
and edx, r9d
shl edx, 1
sub edx, r8d
sub ecx, edx
xor ecx, 0x4cd0d4b7
and ecx, 0x87ca6607
or ecx, 0x817ac1a4
mov dword [rbp + 0x90], ecx
mov rcx, qword [rax]
mov qword [rbp + 0x248], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x250], rax
lea rcx, [rbp + 0x258]
lea rdx, [rbp + 0x248]
sub rsp, 0x20
call fcn.140039831
mov rax, qword [rbp + 0xa0]
add rsp, 0x20
mov rdx, qword [rbp + 0x258]
mov rcx, qword [rbp + 0x260]
mov qword [rax], rdx
mov qword [rax + 8], rcx
mov ecx, 0x620
sub rsp, 0x20
call fcn.140096360
mov rdx, qword [rbp + 0xa0]
mov rcx, qword [rbp + 0x138]
add rsp, 0x20
mov r8d, eax
mov eax, dword [rbp + 0x90]
mov dword [rdx + 0x10], r8d
mov cl, byte [rcx]
mov dl, 0x35
xor dl, 0x35
cmp cl, dl
sete cl
mov byte [rbp + 0x97], cl
cmp eax, 0xb1a92a0d
je 0x14024248d
mov al, byte [rbp + 0x97]
test al, 1
jne 0x140241071
jmp 0x140241fe4
mov cx, 0xd887
xor cx, 0xdcc1
sub rsp, 0x20
call fcn.140096360
mov rcx, qword [rbp + 0xa0]
add rsp, 0x20
mov edx, eax
mov rax, qword [rbp + 0x138]
mov dword [rcx + 0x14], edx
cmp byte [rax], 0
jne 0x140241fe4
mov rax, qword [rbp + 0x98]
mov rcx, qword [rbp + 0xa0]
mov qword [rax + 8], rcx
movabs rcx, 0x57ea17f2bc55d872
movabs rax, 0x57ea17f2bc55d86a
xor rcx, rax
movabs rdx, 0xb2dd15f136ba9731
movabs rax, 0xb2dd15f136ba9739
xor rdx, rax
sub rsp, 0x20
call fcn.1400370c0
add rsp, 0x20
mov qword [rbp + 0x80], rax
mov word [rbp + 0x2b2], 0x734
lea rcx, [rbp + 0x2b2]
sub rsp, 0x20
call fcn.140096085
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x138]
mov qword [rbp + 0x88], rcx
mov al, byte [rax]
mov cl, 0x2b
xor cl, 0x2b
cmp al, cl
jne 0x140241fe4
mov rax, qword [rbp + 0x88]
mov rcx, qword [rax]
mov qword [rbp + 0x228], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x230], rax
lea rcx, [rbp + 0x238]
lea rdx, [rbp + 0x228]
sub rsp, 0x20
call fcn.140039831
mov rax, qword [rbp + 0x80]
add rsp, 0x20
mov rdx, qword [rbp + 0x238]
mov rcx, qword [rbp + 0x240]
mov qword [rax], rdx
mov qword [rax + 8], rcx
mov cx, 0x5cce
xor cx, 0x5d9a
sub rsp, 0x20
call fcn.140096360
mov rcx, qword [rbp + 0x80]
add rsp, 0x20
mov edx, eax
mov rax, qword [rbp + 0x138]
mov dword [rcx + 0x10], edx
mov al, byte [rax]
mov cl, 0x8d
xor cl, 0x8d
cmp al, cl
jne 0x140241fe4
mov ecx, 0x314
sub rsp, 0x20
call fcn.140096360
mov rcx, qword [rbp + 0x80]
add rsp, 0x20
mov edx, eax
mov rax, qword [rbp + 0x138]
mov dword [rcx + 0x14], edx
cmp byte [rax], 0
jne 0x140241fe4
mov rdx, qword [rbp + 0x100]
mov rax, qword [rbp + 0x98]
mov rcx, qword [rbp + 0xb8]
mov r8, qword [rbp + 0xb0]
mov r9, qword [rbp + 0x80]
mov qword [rax + 0x10], r9
mov qword [rbp + 0x218], r8
mov qword [rbp + 0x220], rcx
movabs rcx, 0xf2cd3a4a7a17fb4a
movabs r8, 0xf2cd3a4a7a17fb48
xor rcx, r8
mov qword [rdx], rcx
mov qword [rdx + 8], rax
mov r8d, 0x8e9bf797
xor r8d, 0x8e9bf796
lea rcx, [rbp + 0x218]
sub rsp, 0x20
call fcn.1401b7fea
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x138]
mov qword [rbp + 0x78], rcx
mov al, byte [rax]
mov cl, 9
xor cl, 9
cmp al, cl
jne 0x140241fe4
mov eax, dword [0x14027fb00]
sub eax, dword [0x14027fb04]
and eax, 0x87446dfc
and eax, 0x721ffa4
xor eax, 0xb1e86b0c
cmp eax, 0x99b04349
je 0x140242496
mov eax, dword [0x14027fb08]
xor edx, edx
div dword [0x14027fb0c]
mov ecx, eax
mov edx, 0x367d81bd
xor edx, 0xc9827e42
mov eax, ecx
xor eax, edx
mov edx, ecx
xor edx, 0xffffffff
and eax, edx
mov edx, 0xffffffff
xor edx, 0xc6b74778
mov r8d, 0x609f2daf
xor r8d, 0xa6286ad7
mov r9d, 0x74de0ab7
xor r9d, 0x8b21f548
xor r8d, r9d
and edx, r8d
mov r8d, 0x38bca569
xor r8d, 0xc7435a96
xor eax, r8d
xor edx, 0xffffffff
and eax, edx
mov edx, 0xf9b4f34f
xor edx, 0x3f03b437
or ecx, edx
xor ecx, 0xffffffff
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
mov ecx, eax
and ecx, 0xcba74d90
or eax, 0xcba74d90
add ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x7636029b
and eax, edx
or ecx, 0x7636029b
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0xe185e157
xor ecx, 0x1e7a1ea8
xor eax, ecx
mov dword [rbp + 0x64], eax
mov eax, 0x3ec2171c
xor eax, 0xc173a144
mov dword [rbp + 0x60], eax
mov ax, 0xd93c
xor ax, 0xd92a
mov word [rbp + 0x2b0], ax
lea rcx, [rbp + 0x2b0]
sub rsp, 0x20
call fcn.140096085
mov rdx, qword [rbp + 0x138]
mov ecx, dword [rbp + 0x60]
add rsp, 0x20
mov r8, rax
mov eax, dword [rbp + 0x64]
mov qword [rbp + 0x68], r8
cmp byte [rdx], 0
sete dl
mov byte [rbp + 0x77], dl
cmp eax, ecx
jae 0x1402412a4
mov al, byte [rbp + 0x77]
test al, 1
jne 0x1402413c3
jmp 0x140241fe4
mov rax, qword [rbp + 0x68]
mov rcx, qword [rax]
mov qword [rbp + 0x1f8], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x200], rax
lea rcx, [rbp + 0x208]
lea rdx, [rbp + 0x1f8]
sub rsp, 0x20
call fcn.140039831
mov r8, qword [rbp + 0xd8]
mov rax, qword [rbp + 0x108]
add rsp, 0x20
mov rdx, qword [rbp + 0x208]
mov rcx, qword [rbp + 0x210]
mov r8, qword [r8]
add r8, 0x18
mov qword [rbp + 0x50], r8
mov qword [rax], rdx
mov qword [rax + 8], rcx
lea rcx, [rbp + 0x1e8]
xor edx, edx
mov r8d, 0x10
sub rsp, 0x20
call sub.msvcrt.dll_memset
mov rcx, qword [rbp + 0x50]
mov rdx, qword [rbp + 0x78]
mov r8, qword [rbp + 0x108]
add rsp, 0x20
xor eax, eax
mov r9d, eax
lea rax, [rbp + 0x1e8]
sub rsp, 0x30
mov qword [rsp + 0x20], rax
call fcn.1401b7d64
add rsp, 0x30
mov ecx, eax
mov rax, qword [rbp + 0x138]
mov dword [rbp + 0x5c], ecx
cmp byte [rax], 0
jne 0x140241fe4
mov eax, dword [rbp + 0x5c]
cdqe
mov qword [rbp + 0x40], rax
mov word [rbp + 0x2ae], 0x2ce
lea rcx, [rbp + 0x2ae]
sub rsp, 0x20
call fcn.140096085
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x138]
mov qword [rbp + 0x48], rcx
cmp byte [rax], 0
jne 0x140241fe4
mov rax, qword [rbp + 0x48]
mov rcx, qword [rax]
mov qword [rbp + 0x1d8], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x1e0], rax
mov rax, qword [0x14028d330]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000efc9
mov rdx, qword [rbp + 0xc8]
mov rcx, qword [rbp + 0x110]
add rsp, 0x20
mov rax, qword [rbp + 0xd0]
mov qword [rbp + 0x2f8], rdx
mov qword [rbp + 0x300], rax
mov rax, qword [rbp + 0x1d8]
mov qword [rbp + 0x2e8], rax
mov rax, qword [rbp + 0x1e0]
mov qword [rbp + 0x2f0], rax
lea rdx, [rbp + 0x2f8]
lea r8, [rbp + 0x2e8]
sub rsp, 0x20
call fcn.1400ca2e0
mov rcx, qword [rbp + 0x110]
mov rax, qword [rbp + 0x138]
add rsp, 0x20
mov rdx, qword [rcx]
mov qword [rbp + 0x30], rdx
mov rcx, qword [rcx + 8]
mov qword [rbp + 0x38], rcx
mov al, byte [rax]
mov cl, 0xcf
xor cl, 0xcf
cmp al, cl
jne 0x140241fe4
mov ecx, 1
mov r8d, 8
sub rsp, 0x20
mov rdx, r8
call fcn.140020645
add rsp, 0x20
mov qword [rbp + 0x18], rax
mov ecx, 0x18
mov edx, 8
sub rsp, 0x20
call fcn.1400370c0
add rsp, 0x20
mov qword [rbp + 0x20], rax
mov ax, 0x19e2
xor ax, 0x1a26
mov word [rbp + 0x2ac], ax
lea rcx, [rbp + 0x2ac]
sub rsp, 0x20
call fcn.140096085
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x138]
mov qword [rbp + 0x28], rcx
cmp byte [rax], 0
jne 0x140241f44
mov eax, dword [0x14027fb10]
mov ecx, dword [0x14027fb14]
xor ecx, 0xe6a11e0d
add eax, ecx
or eax, 0xf2706275
mov ecx, 0x4cc58e24
xor edx, edx
div ecx
imul eax, eax, 0x8cd92330
cmp eax, 0xfaf1a885
jae 0x14024249f
mov rcx, qword [rbp + 0x118]
mov rax, qword [rbp + 0x28]
mov edx, dword [str.b4g]
mov r8d, dword [0x14027fb1c]
mov r9d, 0xac315ad
xor r9d, 0xf53cea52
xor r8d, r9d
add edx, r8d
mov r8d, 0x3eea74a5
xor r8d, 0x3eea74a4
add edx, r8d
xor edx, 0x4c238594
mov r8d, 0x40b0e0ad
xor r8d, 0xd36df6fc
add edx, r8d
sub edx, 0x86b37d98
mov dword [rbp + 0x10], edx
mov rdx, qword [rax]
mov qword [rbp + 0x1c8], rdx
mov rax, qword [rax + 8]
mov qword [rbp + 0x1d0], rax
lea rdx, [rbp + 0x1c8]
sub rsp, 0x20
call fcn.140039831
mov rcx, qword [rbp + 0x118]
mov rax, qword [rbp + 0x20]
add rsp, 0x20
mov rdx, qword [rcx]
mov rcx, qword [rcx + 8]
mov qword [rax], rdx
mov qword [rax + 8], rcx
mov ecx, 0x205
sub rsp, 0x20
call fcn.140096360
mov rdx, qword [rbp + 0x20]
mov rcx, qword [rbp + 0x138]
add rsp, 0x20
mov r8d, eax
mov eax, dword [rbp + 0x10]
mov dword [rdx + 0x10], r8d
cmp byte [rcx], 0
sete cl
mov byte [rbp + 0x17], cl
cmp eax, 0xf80aefe1
je 0x14024161c
mov al, byte [rbp + 0x17]
test al, 1
jne 0x140241703
jmp 0x140241f44
mov ecx, 0x8c8
sub rsp, 0x20
call fcn.140096360
mov rcx, qword [rbp + 0x20]
add rsp, 0x20
mov edx, eax
mov rax, qword [rbp + 0x138]
mov dword [rcx + 0x14], edx
mov al, byte [rax]
mov cl, 0x72
xor cl, 0x72
cmp al, cl
jne 0x140241f44
mov eax, dword [0x14027fb20]
mov edx, dword [0x14027fb24]
mov ecx, eax
xor ecx, 0xffffffff
and ecx, edx
mov r8d, 0xf880e554
xor r8d, 0x77f1aab
xor edx, r8d
and eax, edx
sub eax, ecx
mov ecx, 0xc4080dc7
xor ecx, 0x4adbdd0e
xor eax, ecx
mov ecx, 0x2d05493f
xor edx, edx
div ecx
imul eax, eax, 0xfa994d58
cmp eax, 0x53d6713
jb 0x1402424a8
mov rcx, qword [rbp + 0x128]
mov rax, qword [rbp + 0x18]
mov rdx, qword [rbp + 0x38]
mov r8, qword [rbp + 0x30]
mov r9, qword [rbp + 0x20]
mov r11d, dword [0x14027fb28]
xor r11d, 0x99491b7c
mov r10d, dword [0x14027fb2c]
xor r10d, 0xda6d9167
imul r11d, r10d
mov esi, 0xffffffff
xor esi, 0x3eb31bd7
mov r10d, r11d
xor r10d, esi
and r10d, r11d
mov r15d, r10d
and r15d, 0x8ff6058
mov r11d, 0x57bb4c3b
xor r11d, 0x5f442c63
or r10d, r11d
add r15d, r10d
mov r11d, r15d
xor r11d, 0xffffffff
mov edi, 0xffffffff
xor edi, 0x2ca4c071
mov esi, 0x67891e8e
xor esi, 0x44a93b76
mov r10d, 0xb1c72c3e
xor r10d, 0x4e38d3c1
xor esi, r10d
mov ebx, 0xbdb6609
xor ebx, 0x28fb43f1
mov r10d, r11d
and r10d, ebx
and r15d, esi
mov ebx, edi
and ebx, 0x232025f8
mov r14d, esi
and r14d, 0x2ca4c071
or r10d, r15d
or ebx, r14d
xor r10d, ebx
or r11d, edi
xor r11d, 0xffffffff
or esi, 0x232025f8
and r11d, esi
or r10d, r11d
mov dword [rbp - 4], r10d
mov qword [rax + 8], r9
mov qword [rcx], r8
mov qword [rcx + 8], rdx
mov qword [rbp + 0x1b8], 1
mov qword [rbp + 0x1c0], rax
lea rdx, [rbp + 0x1b8]
mov r8d, 1
sub rsp, 0x20
call fcn.1401b7fea
mov rcx, qword [rbp + 0x138]
add rsp, 0x20
mov rdx, rax
mov eax, dword [rbp - 4]
mov qword [rbp], rdx
cmp byte [rcx], 0
sete cl
mov byte [rbp + 0xf], cl
cmp eax, 0x71eda8d6
jae 0x1402424a8
mov al, byte [rbp + 0xf]
test al, 1
jne 0x1402418c9
jmp 0x140241f44
mov eax, dword [0x14027fb30]
mov edx, dword [0x14027fb34]
mov ecx, eax
and ecx, edx
xor eax, edx
or ecx, eax
mov eax, ecx
and eax, 0x9ffcebe9
xor eax, 0xffffffff
mov edx, 0x7e8d4b21
xor edx, 0xe171a0c8
add ecx, edx
add ecx, 1
add ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, 0x3b912410
xor edx, 0xc46edbef
xor ecx, edx
or eax, ecx
mov ecx, 0x15081e24
and ecx, 0x15081e24
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0x4f05dfa1
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x4f05dfa1
or eax, 0x4f05dfa1
imul eax, edx
add eax, ecx
cmp eax, 0x5c3a290a
jae 0x1402424b1
mov rcx, qword [rbp + 0xf0]
mov eax, dword [0x14027fb38]
mov r8d, dword [0x14027fb3c]
mov edx, eax
xor edx, r8d
mov r9d, 0xc19b5523
xor r9d, 0x3e64aadc
xor edx, r9d
mov r9d, r8d
and r9d, edx
mov edx, 0x1cebf285
xor edx, 0x1cebf287
imul edx, r9d
sub edx, r8d
sub eax, edx
mov edx, 0x34c7faf0
xor edx, 0xcb38050f
mov r8d, eax
xor r8d, edx
and r8d, 0x2e02d285
mov r9d, 0x58da39ae
xor r9d, 0x76d8eb2b
mov edx, 0x2af93bfd
xor edx, 0xd506c402
xor r9d, edx
mov edx, eax
and edx, r9d
imul edx, r8d
mov r8d, eax
and r8d, 0x2e02d285
or eax, 0x2e02d285
imul eax, r8d
add eax, edx
or eax, 0xa60efefb
mov r8d, 0xa05b770a
xor r8d, 0xa05b770b
mov edx, eax
add edx, r8d
xor eax, 0xffffffff
or eax, 0xbaf6a1b0
add eax, edx
mov dword [rbp - 0x14], eax
mov ax, 0x78ef
xor ax, 0x7b4e
mov word [rcx], ax
sub rsp, 0x20
call fcn.140096085
mov rcx, qword [rbp + 0x138]
add rsp, 0x20
mov rdx, rax
mov eax, dword [rbp - 0x14]
mov qword [rbp - 0x10], rdx
cmp byte [rcx], 0
sete cl
mov byte [rbp - 5], cl
cmp eax, 0xb5afb8e3
je 0x14024195a
mov al, byte [rbp - 5]
test al, 1
jne 0x140241a5f
jmp 0x140241f44
mov rcx, qword [rbp + 0x130]
mov rax, qword [rbp - 0x10]
mov rdx, qword [rax]
mov qword [rbp + 0x1a8], rdx
mov rax, qword [rax + 8]
mov qword [rbp + 0x1b0], rax
lea rdx, [rbp + 0x1a8]
sub rsp, 0x20
call fcn.140039831
mov rax, qword [rbp + 0x130]
mov rdx, qword [rbp + 0xd8]
add rsp, 0x20
mov rcx, qword [rax]
mov rax, qword [rax + 8]
mov rdx, qword [rdx]
add rdx, 0x18
mov qword [rbp - 0x20], rdx
mov qword [rbp + 0x198], rcx
mov qword [rbp + 0x1a0], rax
lea rcx, [rbp + 0x188]
xor edx, edx
mov r8d, 0x10
sub rsp, 0x20
call sub.msvcrt.dll_memset
mov rcx, qword [rbp - 0x20]
mov rdx, qword [rbp]
add rsp, 0x20
lea r8, [rbp + 0x198]
xor eax, eax
mov r9d, eax
lea rax, [rbp + 0x188]
sub rsp, 0x30
mov qword [rsp + 0x20], rax
call fcn.1401b7d64
add rsp, 0x30
mov ecx, eax
mov rax, qword [rbp + 0x138]
mov dword [rbp - 0x18], ecx
cmp byte [rax], 0
jne 0x140241f44
mov rcx, qword [rbp + 0x40]
mov eax, dword [rbp - 0x18]
movsxd r8, eax
mov rdx, r8
add rdx, rcx
mov qword [rbp - 0x28], rdx
mov rax, rdx
xor rax, rcx
movabs r9, 0xec7896016b0c64de
movabs rcx, 0x138769fe94f39b21
xor r9, rcx
mov rcx, rdx
xor rcx, r9
mov r9, rdx
xor r9, 0xffffffffffffffff
or rcx, r9
and rcx, r8
movabs r9, 0xfabc6f34e34b528f
movabs r10, 0x54390cb1cb4ad70
xor r9, r10
xor rcx, r9
and r8, r8
xor r8, 0xffffffffffffffff
and rdx, r8
xor rdx, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
or rcx, rdx
xor rax, 0xffffffffffffffff
movabs rdx, 0x4a5e359999defa6e
movabs r8, 0xb5a1ca6666210591
xor rdx, r8
xor rcx, rdx
movabs rdx, 0xb2a9a177a4b71910
movabs r8, 0x6dd2a55555997cf1
xor rdx, r8
movabs r8, 0x1b560213c659e3a5
movabs r9, 0xe4a9fdec39a61c5a
xor r8, r9
xor rdx, r8
or rax, rcx
movabs rcx, 0x41b9aa7aa6308678
movabs r8, 0x9ec2ae58571ee399
xor rcx, r8
or rcx, rdx
movabs rdx, 0x3d133f266044aefd
movabs r8, 0xc2ecc0d99fbb5102
xor rdx, r8
xor rax, rdx
and rax, rcx
cmp rax, 0
jge 0x140241c3b
sub rsp, 0x20
call fcn.14000f24b
add rsp, 0x20
jmp 0x140241f44
mov rax, qword [rbp - 0x28]
movabs rcx, 0xa07feee579b9acab
add rax, rcx
add rax, 0xffffffff80000000
movabs rcx, 0xa07feee579b9acab
sub rax, rcx
movabs rcx, 0xffffffff00000000
cmp rax, rcx
jae 0x140241c84
sub rsp, 0x20
call fcn.14000f24b
add rsp, 0x20
jmp 0x140241f44
sub rsp, 0x20
mov cx, 0x302
call fcn.140095ec0
mov rdx, qword [rbp - 0x28]
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x138]
mov al, byte [rax]
test al, al
sete al
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x140241cbf
jmp 0x140241f44
mov ecx, 0x30
mov edx, 8
sub rsp, 0x20
call fcn.1400370c0
add rsp, 0x20
mov qword [rbp - 0x40], rax
mov qword [rax], 0
mov dword [rax + 8], 1
mov cx, 0x3e01
xor cx, 0x377b
sub rsp, 0x20
call fcn.140096360
mov rdx, qword [rbp + 0x138]
add rsp, 0x20
mov ecx, eax
mov rax, qword [rbp - 0x40]
mov dword [rax + 0xc], ecx
mov cl, 1
xor eax, eax
cmp byte [rdx], 0
mov byte [rbp - 0x31], cl
mov qword [rbp - 0x30], rax
jne 0x140241f07
mov ecx, 0x20
mov edx, 8
sub rsp, 0x20
call fcn.140029060
add rsp, 0x20
mov qword [rbp - 0x50], rax
mov word [rbp + 0x186], 0x993
lea rcx, [rbp + 0x186]
sub rsp, 0x20
call fcn.140096085
mov rdx, qword [rbp + 0x138]
add rsp, 0x20
mov qword [rbp - 0x48], rax
mov cl, 1
xor eax, eax
cmp byte [rdx], 0
mov byte [rbp - 0x31], cl
mov qword [rbp - 0x30], rax
jne 0x140241f07
mov eax, dword [0x14027fb40]
xor edx, edx
div dword [0x14027fb44]
xor eax, 0x7aefe20b
xor ecx, ecx
sub ecx, 0x7703a29f
sub eax, ecx
mov ecx, 0x840d963f
xor edx, edx
div ecx
cmp eax, 0xf777d4ea
je 0x1402424ba
mov eax, dword [0x14027fb48]
or eax, dword [0x14027fb4c]
mov edx, 0xffffffff
xor edx, 0x164efce4
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, 0x164efce4
add eax, edx
sub eax, ecx
mov ecx, 0xe79d57ab
xor edx, edx
div ecx
mov edx, eax
mov rax, qword [rbp - 0x48]
mov ecx, edx
and ecx, 0x175dba72
xor ecx, 0xffffffff
mov r8d, 0xefcddd2a
xor r8d, 0xf8906758
and edx, r8d
xor edx, 0xffffffff
and ecx, edx
xor ecx, 0xffffffff
mov dword [rbp - 0x58], ecx
mov rcx, qword [rax]
mov qword [rbp + 0x160], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x168], rax
lea rcx, [rbp + 0x170]
lea rdx, [rbp + 0x160]
sub rsp, 0x20
call fcn.140039831
mov rdx, qword [rbp - 0x50]
add rsp, 0x20
mov rcx, qword [rbp + 0x170]
mov rax, qword [rbp + 0x178]
mov qword [rdx + 8], rcx
mov qword [rdx + 0x10], rax
lea rcx, [rbp + 0x150]
sub rsp, 0x20
call fcn.1400a9a0c
mov rdx, qword [rbp - 0x40]
mov rcx, qword [rbp + 0x138]
mov eax, dword [rbp - 0x58]
add rsp, 0x20
mov r8, qword [rbp + 0x150]
mov qword [rdx + 0x10], r8
mov r8, qword [rbp + 0x158]
mov qword [rdx + 0x18], r8
cmp byte [rcx], 0
sete cl
mov byte [rbp - 0x51], cl
cmp eax, 0xf0d45b53
ja 0x1402424ba
mov rax, qword [rbp - 0x50]
mov dl, byte [rbp - 0x51]
mov cl, 1
test dl, 1
mov byte [rbp - 0x31], cl
mov qword [rbp - 0x30], rax
jne 0x140241eba
jmp 0x140241f07
mov rdx, qword [rbp - 0x40]
mov rax, qword [rbp + 0xd8]
mov rcx, qword [0x14028c7f8]
mov qword [rdx + 0x20], rcx
mov rcx, qword [0x14028c800]
mov qword [rdx + 0x28], rcx
mov rax, qword [rax]
mov rcx, qword [rax + 0x20]
add rcx, 8
sub rsp, 0x20
call fcn.140048270
mov rcx, qword [rbp + 0x138]
mov rax, qword [rbp - 0x50]
add rsp, 0x20
mov cl, byte [rcx]
mov byte [rbp - 0x31], cl
mov qword [rbp - 0x30], rax
mov rax, qword [rbp + 0x138]
mov dl, byte [rbp - 0x31]
mov rcx, qword [rbp - 0x30]
mov byte [rbp - 0x59], dl
mov byte [rax], 0
sub rsp, 0x20
call fcn.14023d780
mov rax, qword [rbp + 0x138]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140241f44
mov rax, qword [rbp + 0x138]
mov cl, byte [rbp - 0x59]
mov byte [rax], cl
mov rax, qword [rbp + 0x38]
cmp rax, 0
je 0x140241fe4
mov rax, qword [rbp + 0x38]
mov rcx, qword [rax]
mov rax, rcx
xor rax, 0xffffffffffffffff
movabs rdx, 0xe7d1932fc883cc7f
movabs r8, 0x182e6cd0377c3380
xor rdx, r8
xor rcx, rdx
and rax, rcx
mov rcx, 0xffffffffffffffff
movabs rdx, 0x4000000000000000
xor rcx, rdx
mov rdx, 0xffffffffffffffff
movabs r8, 0x4000000000000000
xor rdx, r8
and rcx, rdx
xor rax, 0xffffffffffffffff
movabs rdx, 0x1dd9f273bfd1123c
movabs r8, 0xe2260d8c402eedc3
xor rdx, r8
xor rcx, rdx
and rax, rcx
cmp rax, 0
jne 0x140241fe4
mov rcx, qword [rbp + 0x38]
sub rsp, 0x20
call fcn.14001d1d6
add rsp, 0x20
mov rax, qword [rbp + 0xb8]
cmp rax, 0
je 0x14024203a
mov rax, qword [rbp + 0xb8]
mov rcx, qword [rax]
mov rdx, 0xffffffffffffffff
movabs rax, 0x4000000000000000
xor rdx, rax
mov rax, rcx
xor rax, rdx
and rax, rcx
cmp rax, 0
jne 0x14024203a
mov rcx, qword [rbp + 0xb8]
sub rsp, 0x20
call fcn.14001d1d6
add rsp, 0x20
mov rax, qword [rbp + 0xd0]
cmp rax, 0
je 0x1402420ad
mov rax, qword [rbp + 0xd0]
mov rax, qword [rax]
movabs rdx, 0x4000000000000000
mov rcx, rax
xor rcx, rdx
xor rcx, 0xffffffffffffffff
movabs rdx, 0x4000000000000000
or rax, rdx
and rax, rcx
movabs rcx, 0xc3776a8caf0527f7
movabs rdx, 0xc3776a8caf0527f7
xor rcx, rdx
cmp rax, rcx
jne 0x1402420ad
mov rcx, qword [rbp + 0xd0]
sub rsp, 0x20
call fcn.14001d1d6
add rsp, 0x20
mov eax, dword [0x14027fb50]
xor eax, 0x26fba664
xor eax, dword [0x14027fb54]
mov ecx, 0xd9b37b52
xor ecx, 0xc34b64e5
or eax, ecx
mov ecx, 0xeadb1f36
xor ecx, 0x71a7dda3
xor edx, edx
div ecx
mov ecx, 0xc6388e36
xor ecx, 0xa9ff79c6
xor edx, edx
div ecx
cmp eax, 0x755e7e11
ja 0x1402424c3
mov rdx, qword [rbp + 0x138]
mov eax, dword [str.BWL]
sub eax, dword [0x14027fb5c]
mov ecx, 0x5b1490cb
xor ecx, 0xa4eb6f34
mov r8d, eax
xor r8d, ecx
and r8d, 0xcbb0b678
mov r9d, 0xb300370
xor r9d, 0xc080b508
mov ecx, 0x9a4a3cb8
xor ecx, 0x65b5c347
xor r9d, ecx
mov ecx, eax
and ecx, r9d
imul ecx, r8d
mov r8d, eax
and r8d, 0xcbb0b678
or eax, 0xcbb0b678
imul eax, r8d
add eax, ecx
imul eax, eax, 0xf33a0804
xor eax, 0xae26a71b
mov ecx, 0x2582ecc5
xor ecx, 0xb9a24c6
mov dl, byte [rdx]
mov r8b, 0x88
xor r8b, 0x88
cmp dl, r8b
sete dl
mov byte [rbp - 0x5a], dl
cmp eax, ecx
jbe 0x1402420f4
mov al, byte [rbp - 0x5a]
test al, 1
jne 0x140242345
jmp 0x140242198
mov eax, dword [0x14027fb60]
xor eax, 0xd69eacd4
xor eax, dword [0x14027fb64]
imul eax, eax, 0xa388f4fd
mov ecx, 0x77a78b00
xor edx, edx
div ecx
mov ecx, 0x5906c665
xor ecx, 0x7c0c055d
xor edx, edx
div ecx
cmp eax, 0x74b0d0ec
je 0x1402424cc
mov eax, dword [0x14027fb68]
xor eax, 0xc05ce090
and eax, dword [0x14027fb6c]
xor eax, 0x74081427
mov ecx, 0x46c02353
xor ecx, 0xbb12fe5f
imul eax, ecx
imul eax, eax, 0xbe62aebc
mov dword [rbp - 0x6c], eax
mov rax, qword [0x14028d330]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000efc9
add rsp, 0x20
mov rcx, rax
mov eax, dword [rbp - 0x6c]
mov rcx, qword [rcx + 0x10]
mov rcx, qword [rcx]
mov qword [rbp - 0x68], rcx
cmp word [rcx + 0x12], 1
setg cl
mov byte [rbp - 0x5b], cl
cmp eax, 0xbae23a7c
je 0x1402424cc
mov al, byte [rbp - 0x5b]
test al, 1
jne 0x14024224c
jmp 0x140242345
mov rax, qword [rbp - 0x68]
mov rax, qword [rax + 0x18]
cmp dword [rax + 8], 0xd4054986
jne 0x140242345
mov eax, dword [0x14027fb70]
mov ecx, 0x13d08319
xor ecx, 0xbdf9ef24
xor eax, ecx
xor eax, dword [0x14027fb74]
mov ecx, 0x3469e16b
xor edx, edx
div ecx
or eax, 0xf031d6ab
sub eax, 0x6140e1fb
cmp eax, 0x1b42ffac
jbe 0x1402424d5
mov rax, qword [rbp + 0x138]
mov ecx, dword [0x14027fb78]
mov edx, dword [0x14027fb7c]
xor edx, 0xffffffff
xor r8d, r8d
sub r8d, 1
sub edx, r8d
sub ecx, edx
xor ecx, 0xf6c1b73f
add ecx, 0x56eed610
mov edx, 0x30ef8191
xor edx, 0x30ef8191
mov r8d, 0x7b13cd2
xor r8d, 0x1de561b7
sub edx, r8d
sub ecx, edx
mov dword [rbp - 0x74], ecx
mov cl, 0x54
xor cl, 0x54
mov byte [rax], cl
sub rsp, 0x20
call fcn.140240ad1
add rsp, 0x20
mov rcx, rax
sub rsp, 0x20
call fcn.1400cdd40
mov rcx, qword [rbp + 0x138]
mov eax, dword [rbp - 0x74]
add rsp, 0x20
cmp byte [rcx], 0
sete cl
mov byte [rbp - 0x6d], cl
cmp eax, 0xcc30fb79
ja 0x140242298
mov al, byte [rbp - 0x6d]
test al, 1
jne 0x140242338
jmp 0x140242345
sub rsp, 0x20
call fcn.140240b30
add rsp, 0x20
mov eax, dword [0x14027fb80]
xor edx, edx
div dword [0x14027fb84]
mov ecx, eax
mov eax, ecx
and eax, 0x37d21cd7
shl eax, 1
mov edx, 0xe0e486d7
xor edx, 0xd7369a00
xor ecx, edx
add ecx, eax
mov r8d, 0xd7f27566
xor r8d, 0x83331023
mov eax, 0xb97c62fb
xor eax, 0x46839d04
xor r8d, eax
mov edx, ecx
and edx, r8d
mov eax, ecx
or eax, r8d
mov r8d, 0x9c028a1e
xor r8d, 0x63fd75e1
xor eax, r8d
imul eax, edx
mov edx, ecx
and edx, 0x54c16545
or ecx, 0x54c16545
imul ecx, edx
add ecx, eax
mov eax, ecx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0xd8816473
and ecx, 0xd8816473
mov edx, 0x6e4777cb
xor edx, 0x91b88834
xor ecx, edx
and eax, ecx
xor eax, 0xffffffff
cmp eax, 0xd8c1334c
jb 0x1402424de
mov ecx, dword [0x14027fb88]
mov edx, dword [0x14027fb8c]
xor edx, 0x2692207a
mov r8d, 0xc3751a30
xor r8d, 0x3c8ae5cf
mov eax, ecx
xor eax, r8d
mov r8d, ecx
xor r8d, 0xffffffff
or eax, r8d
xor eax, 0xffffffff
mov r8d, edx
xor r8d, 0xffffffff
or eax, r8d
and edx, edx
xor edx, 0xffffffff
and ecx, edx
mov edx, 0xf43e048b
xor edx, 0xbc1fb74
xor ecx, edx
mov edx, 0x69da78cb
xor edx, 0x96258734
xor eax, edx
xor ecx, 0xffffffff
or eax, ecx
sub eax, 0x9a8df80a
add eax, 0xac427ac2
add eax, 0x9a8df80a
mov ecx, 0x39ffdc0e
xor ecx, 0x2a70efaa
out dx, eax
jo 0x14024248f
xor edx, edx
div ecx
mov ecx, 0x1e4e4fe9
xor edx, edx
div ecx
cmp eax, 0x19b74342
jae 0x1402424de
lea rsp, [rbp + 0x308]
pop rbx
pop rdi
pop rsi
pop r14
pop r15
pop rbp
ret
movabs byte [0xffffeadee950b929], al
mov ecx, 0xeadee950
invalid
invalid
jmp 0x1402412a4
jge 0x140242462
cmp al, 0xb8
jmp 0x14024161c
mov ecx, 0xe9c0df75
sal edx, 1
invalid
adc al, byte [rsi + 0x1b]
jmp 0x14024195a
mov dh, byte [rcx - 0x37]
ret
test al, 0x93
stosd dword [rdi], eax
cmc
jmp 0x1402420f4
jae 0x14024249a
add ecx, edi
jmp 0x1402421d2
shl byte [rax - 0x45166838], 0xfd
invalid
int1
invalid