Function at 0x14024d3e0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
sub rsp, 0x338
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x150], rcx
mov eax, 0x10
mov qword [rbp + 0x170], rax
call fcn.140271bb0
sub rsp, rax
mov rax, qword [rbp + 0x170]
mov rcx, rsp
mov qword [rbp + 0x158], rcx
call fcn.140271bb0
sub rsp, rax
mov rax, qword [rbp + 0x170]
mov rcx, rsp
mov qword [rbp + 0x160], rcx
call fcn.140271bb0
sub rsp, rax
mov rax, qword [rbp + 0x170]
mov rcx, rsp
mov qword [rbp + 0x168], rcx
call fcn.140271bb0
sub rsp, rax
mov rax, qword [rbp + 0x170]
mov rcx, rsp
mov qword [rbp + 0x178], rcx
call fcn.140271bb0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x180], rax
mov rax, qword [0x14028d330]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000efc9
add rsp, 0x20
mov qword [rbp + 0x190], rax
add rax, 0x60
mov qword [rbp + 0x188], rax
mov qword [rbp + 0x290], 0
mov word [rbp + 0x28e], 0x2ea
lea rcx, [rbp + 0x28e]
sub rsp, 0x20
call fcn.140096085
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x190]
mov qword [rbp + 0x198], rcx
cmp byte [rax + 0x60], 0
jne 0x14024f250
mov eax, dword [str.Ycp3]
xor eax, 0x9aada945
mov r8d, dword [0x140280014]
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
sub eax, 0x9816606e
mov ecx, 0xec385fb8
xor edx, edx
div ecx
xor eax, 0xda7205e
cmp eax, 0x4115158d
je 0x14024f503
mov rax, qword [rbp + 0x198]
mov ecx, dword [0x140280018]
mov edx, dword [0x14028001c]
mov r8d, 0x262afb04
xor r8d, 0x5c60b1d0
xor edx, r8d
sub ecx, edx
mov r8d, 0x485bdf38
xor r8d, 0xd1f2f51e
mov edx, ecx
xor edx, r8d
mov r8d, 0x6b145953
xor r8d, 0x94eba6ac
xor edx, r8d
and edx, 0x99a92a26
shl edx, 1
mov r8d, 0x1e3f1409
xor r8d, 0x87963e2f
sub edx, r8d
sub ecx, edx
and ecx, 0x9dbef538
or ecx, 0xf1b9d40a
mov dword [rbp + 0x134], ecx
mov rcx, qword [0x14028d258]
mov rdx, qword [rcx]
mov qword [rbp + 0x268], rdx
mov rcx, qword [rcx + 8]
mov qword [rbp + 0x270], rcx
mov rcx, qword [rax]
mov qword [rbp + 0x258], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x260], rax
mov rax, qword [0x14028d330]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000efc9
add rsp, 0x20
mov rax, qword [rbp + 0x268]
mov qword [rbp + 0x2a8], rax
mov rax, qword [rbp + 0x270]
mov qword [rbp + 0x2b0], rax
mov rax, qword [rbp + 0x258]
mov qword [rbp + 0x298], rax
mov rax, qword [rbp + 0x260]
mov qword [rbp + 0x2a0], rax
lea rcx, [rbp + 0x278]
lea rdx, [rbp + 0x2a8]
lea r8, [rbp + 0x298]
sub rsp, 0x20
call fcn.1400ca2e0
mov rcx, qword [rbp + 0x188]
mov eax, dword [rbp + 0x134]
add rsp, 0x20
mov rdx, qword [rbp + 0x278]
mov qword [rbp + 0x138], rdx
mov rdx, qword [rbp + 0x280]
mov qword [rbp + 0x140], rdx
mov cl, byte [rcx]
mov dl, 0x68
xor dl, 0x68
cmp cl, dl
sete cl
mov byte [rbp + 0x14f], cl
cmp eax, 0x82971fa0
jbe 0x14024f503
mov al, byte [rbp + 0x14f]
test al, 1
jne 0x14024d6a7
jmp 0x14024f250
movabs rcx, 0x1c3e4902dcf26b09
movabs rax, 0x1c3e4902dcf26b08
xor rcx, rax
movabs rdx, 0x1288548293099f67
movabs rax, 0x1288548293099f6f
xor rdx, rax
movabs r8, 0x9b77b51bf6c71182
movabs rax, 0x9b77b51bf6c7118a
xor r8, rax
sub rsp, 0x20
call fcn.140020645
add rsp, 0x20
mov qword [rbp + 0x118], rax
mov ecx, 0x18
mov edx, 8
sub rsp, 0x20
call fcn.1400370c0
mov rcx, qword [rbp + 0x158]
add rsp, 0x20
mov qword [rbp + 0x120], rax
mov word [rcx], 0x48d
sub rsp, 0x20
call fcn.140096085
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x188]
mov qword [rbp + 0x128], rcx
cmp byte [rax], 0
jne 0x14024f264
mov eax, dword [0x140280020]
xor eax, 0xc482d169
imul eax, dword [0x140280024]
sub eax, 0xbc60b9cf
sub eax, 0x751fab97
add eax, 0xbc60b9cf
and eax, 0x6015d828
or eax, 0x61b47eeb
mov ecx, 0xb70253d1
xor ecx, 0x3d19ec56
cmp eax, ecx
je 0x14024f50c
mov rax, qword [rbp + 0x128]
mov r8d, dword [0x140280028]
mov edx, dword [0x14028002c]
mov ecx, r8d
xor ecx, edx
mov r9d, 0x28db1f81
xor r9d, 0xd724e07e
xor ecx, r9d
mov r9d, edx
and r9d, ecx
mov ecx, 0x6e03a186
xor ecx, 0x6e03a184
imul ecx, r9d
sub ecx, edx
sub r8d, ecx
add r8d, 0x18ad9ded
mov ecx, 0x7f89231f
xor ecx, 0x958ceac0
mov edx, r8d
xor edx, ecx
mov ecx, 0xffffffff
xor ecx, 0xea05c9df
and r8d, ecx
mov ecx, 0x90f6ef57
xor ecx, 0x90f6ef55
imul ecx, r8d
sub ecx, edx
mov r8d, ecx
xor r8d, 0xffffffff
and r8d, 0x5d1ac6d5
mov r9d, 0xffffffff
xor r9d, 0x5d1ac6d5
mov edx, ecx
and edx, r9d
imul edx, r8d
mov r8d, ecx
and r8d, 0x5d1ac6d5
or ecx, 0x5d1ac6d5
imul ecx, r8d
add ecx, edx
mov dword [rbp + 0x110], ecx
mov rcx, qword [rax]
mov qword [rbp + 0x238], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x240], rax
lea rcx, [rbp + 0x248]
lea rdx, [rbp + 0x238]
sub rsp, 0x20
call fcn.140039831
mov rax, qword [rbp + 0x120]
add rsp, 0x20
mov rdx, qword [rbp + 0x248]
mov rcx, qword [rbp + 0x250]
mov qword [rax], rdx
mov qword [rax + 8], rcx
mov ecx, 0x901
sub rsp, 0x20
call fcn.140096360
mov rdx, qword [rbp + 0x120]
mov rcx, qword [rbp + 0x188]
add rsp, 0x20
mov r8d, eax
mov eax, dword [rbp + 0x110]
mov dword [rdx + 0x10], r8d
cmp byte [rcx], 0
sete cl
mov byte [rbp + 0x117], cl
cmp eax, 0xd0129896
je 0x14024d78f
mov al, byte [rbp + 0x117]
test al, 1
jne 0x14024d8eb
jmp 0x14024f264
mov r11d, dword [0x140280030]
mov eax, 0x6edd8162
xor eax, 0x630b449c
xor r11d, eax
mov r10d, dword [0x140280034]
mov ecx, r11d
xor ecx, 0xffffffff
mov r8d, r10d
xor r8d, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x8cc310f0
mov eax, ecx
and eax, 0x8cc310f0
and r11d, edx
mov r9d, r8d
and r9d, 0x8cc310f0
and r10d, edx
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, r8d
xor ecx, 0xffffffff
or edx, 0x8cc310f0
and ecx, edx
or eax, ecx
and eax, 0x43faf310
mov ecx, 0x1c16a64a
xor edx, edx
div ecx
xor eax, 0x3ae797d5
mov ecx, 0x6fc7c9af
xor ecx, 0x2e7276fa
cmp eax, ecx
ja 0x14024f515
mov eax, dword [0x140280038]
mov ecx, dword [0x14028003c]
mov edx, 0x177e12bf
xor edx, 0x30851b0f
xor ecx, edx
and eax, eax
xor eax, 0xffffffff
and ecx, ecx
mov edx, 0x5deffea5
xor edx, 0xa210015a
xor ecx, edx
mov edx, 0x6cbc2537
xor edx, 0x9343dac8
xor eax, edx
mov edx, 0xa243fe62
xor edx, 0x5dbc019d
xor ecx, edx
or eax, ecx
mov ecx, 0xcf943614
xor edx, edx
div ecx
mov ecx, 0x7e9f752a
xor ecx, 0x8499e9c1
imul eax, ecx
and eax, 0xa4efe2c8
mov dword [rbp + 0x104], eax
mov ecx, 0x4e5
sub rsp, 0x20
call fcn.140096360
mov rcx, qword [rbp + 0x188]
add rsp, 0x20
mov edx, eax
mov eax, dword [rbp + 0x104]
mov dword [rbp + 0x108], edx
cmp byte [rcx], 0
sete cl
mov byte [rbp + 0x10f], cl
cmp eax, 0x4254d93
jbe 0x14024f515
mov al, byte [rbp + 0x10f]
test al, 1
jne 0x14024da30
jmp 0x14024f264
mov ecx, 0xa31
sub rsp, 0x20
call fcn.140096360
add rsp, 0x20
mov ecx, eax
mov rax, qword [rbp + 0x188]
mov dword [rbp + 0x100], ecx
mov al, byte [rax]
mov cl, 0xe6
xor cl, 0xe6
cmp al, cl
jne 0x14024f264
mov ecx, dword [0x140280040]
xor ecx, 0xc0e9815d
mov edx, dword [0x140280044]
xor edx, 0xd31ae34b
mov r8d, 0x460e770f
xor r8d, 0x460e770e
mov eax, ecx
add eax, r8d
xor ecx, 0xffffffff
or ecx, edx
add ecx, eax
mov eax, ecx
or eax, 0x77161e38
xor eax, 0xffffffff
xor ecx, 0xffffffff
mov edx, 0x806af61d
xor edx, 0xf77ce825
mov r8d, 0x34571165
xor r8d, 0xcba8ee9a
xor edx, r8d
and ecx, edx
or eax, ecx
xor eax, 0xffffffff
mov ecx, 0xd9f13257
xor ecx, 0x2ab56e6a
add eax, ecx
or eax, 0xe0cbd0de
mov ecx, 0x70cad5fa
xor ecx, 0xc96a5124
cmp eax, ecx
jb 0x14024f51e
mov r8d, dword [rbp + 0x108]
mov eax, dword [0x140280048]
mov r9d, dword [0x14028004c]
mov edx, 0xacec905c
xor edx, 0x53136fa3
mov ecx, eax
xor ecx, edx
mov edx, r9d
and edx, ecx
mov ecx, 0xc156998f
xor ecx, 0x3ea96670
mov r10d, r9d
xor r10d, ecx
mov ecx, eax
and ecx, r10d
imul ecx, edx
mov edx, eax
and edx, r9d
or eax, r9d
imul eax, edx
add eax, ecx
mov ecx, 0x205a7cf8
xor edx, edx
div ecx
mov ecx, 0xa1a1a3e3
xor edx, edx
div ecx
mov edx, dword [rbp + 0x100]
mov ecx, eax
mov eax, ecx
and eax, 0x56d67440
mov r9d, 0xe95c5b23
xor r9d, 0xbf8a2f63
or ecx, r9d
add eax, ecx
movsxd r11, r8d
movsxd rcx, edx
movabs r9, 0xcc52df429cd57148
movabs r10, 0x33ad20bd632a8eb7
xor r9, r10
mov rsi, r11
xor rsi, r9
mov r10, rcx
and r10, rsi
mov r9, rcx
or r9, rsi
xor r9, 0xffffffffffffffff
imul r9, r10
mov r10, rcx
and r10, r11
or rcx, r11
imul rcx, r10
add rcx, r9
mov qword [rbp + 0xe0], rcx
cvtsi2sd xmm0, r8d
cvtsi2sd xmm1, edx
mulsd xmm0, xmm1
movsd qword [rbp + 0xe8], xmm0
cvtsi2sd xmm1, rcx
movsd qword [rbp + 0xf0], xmm1
ucomisd xmm0, xmm1
sete cl
setnp dl
and cl, dl
mov byte [rbp + 0xff], cl
cmp eax, 0x535ece4
jbe 0x14024f51e
mov al, byte [rbp + 0xff]
test al, 1
jne 0x14024dc77
jmp 0x14024dc06
movsd xmm1, qword [rbp + 0xe8]
movsd xmm0, qword [rbp + 0xf0]
subsd xmm0, xmm1
sub rsp, 0x20
call fcn.140271c60
add rsp, 0x20
movaps xmm1, xmm0
movsd xmm0, qword [rbp + 0xe8]
movsd qword [rbp + 0xd8], xmm1
sub rsp, 0x20
call fcn.140271c60
movsd xmm1, qword [rbp + 0xd8]
add rsp, 0x20
movsd xmm2, qword [0x14028c7e0]
mulsd xmm1, xmm2
ucomisd xmm0, xmm1
jae 0x14024dc77
sub rsp, 0x20
call fcn.14000f24b
add rsp, 0x20
jmp 0x14024f264
mov eax, dword [0x140280050]
xor edx, edx
div dword [0x140280054]
mov ecx, eax
mov edx, 0xffffffff
xor edx, 0x6bfca606
mov eax, ecx
xor eax, edx
and eax, ecx
and eax, 0xc35b8545
mov r8d, 0xffffffff
xor r8d, 0x40cd9b4b
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov r8d, 0x72bbed92
xor r8d, 0x327676d9
mov edx, eax
and edx, r8d
mov r8d, 0x8dc2b0c8
xor r8d, 0xcd0f2b83
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, 0xb6f273fa
xor ecx, 0x1c8fbc30
cmp eax, ecx
je 0x14024f527
mov rcx, qword [rbp + 0xe0]
mov eax, dword [0x140280058]
mov r9d, dword [0x14028005c]
mov edx, 0x7fa5dd48
xor edx, 0x805a22b7
mov r10d, r9d
xor r10d, edx
mov r8d, eax
and r8d, r10d
mov edx, eax
or edx, r10d
xor edx, 0xffffffff
imul edx, r8d
mov r8d, eax
and r8d, r9d
or eax, r9d
imul eax, r8d
add eax, edx
mov edx, 0x13cb244e
xor edx, 0xec34dbb1
mov r8d, eax
xor r8d, edx
and r8d, 0x87744699
mov r9d, 0xffffffff
xor r9d, 0x87744699
mov edx, eax
and edx, r9d
imul edx, r8d
mov r9d, 0xe0b26b79
xor r9d, 0x67c62de0
mov r8d, eax
and r8d, r9d
or eax, 0x87744699
imul eax, r8d
add eax, edx
mov r8d, 0x196b91f3
xor r8d, 0x1519e504
xor edx, edx
div r8d
add eax, 0xe1470177
movabs rdx, 0x2f97ee1c055d8c70
movabs r8, 0xd06811e3855d8c70
xor rdx, r8
add rcx, rdx
movabs rdx, 0x60a7e64663db0b63
movabs r8, 0x9f5819b963db0b63
xor rdx, r8
cmp rcx, rdx
setb cl
mov byte [rbp + 0xd7], cl
cmp eax, 0xf05dd2d9
ja 0x14024dcf4
mov al, byte [rbp + 0xd7]
test al, 1
jne 0x14024ddf8
jmp 0x14024de0a
sub rsp, 0x20
call fcn.14000f24b
add rsp, 0x20
jmp 0x14024f264
mov rax, qword [rbp + 0x118]
mov rcx, qword [rbp + 0x140]
mov rdx, qword [rbp + 0x138]
mov r8, qword [rbp + 0x120]
mov r9, qword [rbp + 0xe0]
mov dword [r8 + 0x14], r9d
mov qword [rax + 8], r8
mov qword [rbp + 0x228], rdx
mov qword [rbp + 0x230], rcx
mov qword [rbp + 0x218], 1
mov qword [rbp + 0x220], rax
lea rcx, [rbp + 0x228]
lea rdx, [rbp + 0x218]
sub rsp, 0x20
call fcn.1401a57f8
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x188]
mov qword [rbp + 0xc8], rcx
cmp byte [rax], 0
jne 0x14024f264
mov rcx, qword [rbp + 0xc8]
mov qword [rbp + 0x290], rcx
xor eax, eax
mov dl, al
xor dl, 1
sub rsp, 0x20
and dl, 1
call fcn.1401a64b2
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x188]
mov qword [rbp + 0xc0], rcx
cmp byte [rax], 0
jne 0x14024f264
mov eax, dword [0x140280060]
mov ecx, dword [0x140280064]
mov edx, 0x106cc5d6
xor edx, 0x32c6adcb
xor ecx, edx
xor edx, edx
div ecx
mov ecx, 0x1dbb5d88
xor edx, edx
div ecx
mov ecx, 0xffffffff
xor ecx, 0xa07df67d
add eax, ecx
mov ecx, 0xcc9c457
xor ecx, 0xcc9c456
add eax, ecx
mov ecx, 0x5aa08a6
xor ecx, 0x7b131eb9
add eax, ecx
cmp eax, 0x17da9c9e
jbe 0x14024f530
mov eax, dword [0x140280068]
mov edx, dword [0x14028006c]
mov ecx, eax
xor ecx, edx
mov r8d, 0x79f4cf65
xor r8d, 0x860b309a
xor ecx, r8d
or eax, edx
and eax, ecx
and eax, 0xd6be09fc
and eax, 0x51e2960a
add eax, 0x4ee06605
mov dword [rbp + 0xac], eax
mov word [rbp + 0x28c], 0x3f0
lea rcx, [rbp + 0x28c]
sub rsp, 0x20
call fcn.140096085
mov rcx, qword [rbp + 0x188]
add rsp, 0x20
mov rdx, rax
mov eax, dword [rbp + 0xac]
mov qword [rbp + 0xb0], rdx
mov cl, byte [rcx]
mov dl, pe_nt_image_headers64
xor dl, 0x80
cmp cl, dl
sete cl
mov byte [rbp + 0xbf], cl
cmp eax, 0xe2d657ef
ja 0x14024df21
mov al, byte [rbp + 0xbf]
test al, 1
jne 0x14024dfbe
jmp 0x14024f264
mov ecx, 1
mov r8d, 8
sub rsp, 0x20
mov rdx, r8
call fcn.140020645
add rsp, 0x20
mov qword [rbp + 0x90], rax
movabs rcx, 0x41b74d55522cb6bb
movabs rax, 0x41b74d55522cb6a3
xor rcx, rax
movabs rdx, 0x4e42e82163684d91
movabs rax, 0x4e42e82163684d99
xor rdx, rax
sub rsp, 0x20
call fcn.1400370c0
add rsp, 0x20
mov qword [rbp + 0x98], rax
mov word [rbp + 0x28a], 0x6b5
lea rcx, [rbp + 0x28a]
sub rsp, 0x20
call fcn.140096085
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x188]
mov qword [rbp + 0xa0], rcx
cmp byte [rax], 0
jne 0x14024f264
mov rax, qword [rbp + 0xa0]
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 rax, qword [rbp + 0x98]
add rsp, 0x20
mov rdx, qword [rbp + 0x208]
mov rcx, qword [rbp + 0x210]
mov qword [rax], rdx
mov qword [rax + 8], rcx
mov ecx, 0xaff
sub rsp, 0x20
call fcn.140096360
mov rcx, qword [rbp + 0x98]
add rsp, 0x20
mov edx, eax
mov rax, qword [rbp + 0x188]
mov dword [rcx + 0x10], edx
mov al, byte [rax]
mov cl, 0xec
xor cl, 0xec
cmp al, cl
jne 0x14024f264
mov cx, 0x57ce
xor cx, 0x54a9
sub rsp, 0x20
call fcn.140096360
add rsp, 0x20
mov ecx, eax
mov rax, qword [rbp + 0x188]
mov dword [rbp + 0x8c], ecx
cmp byte [rax], 0
jne 0x14024f264
mov eax, dword [0x140280070]
and eax, dword [0x140280074]
mov ecx, 0x14b3cebe
xor ecx, 0xe1147902
add eax, ecx
add eax, 0x9f205b40
sub eax, 0xf5a7b7bc
imul eax, eax, 0x175aea9e
add eax, 0xeb7f42c1
cmp eax, 0x5ff80d00
jae 0x14024f539
mov eax, dword [0x140280078]
mov edx, dword [0x14028007c]
mov ecx, eax
and ecx, edx
or eax, edx
add ecx, eax
mov edx, 0xcb81c9ad
xor edx, 0xb978cda1
mov eax, ecx
xor eax, edx
xor eax, 0xffffffff
or ecx, 0x72f9040c
and ecx, eax
mov eax, 0x3e9185e6
xor eax, 0xf6df1f34
imul ecx, eax
mov edx, 0xffffffff
xor edx, 0x6dbad0e2
mov eax, ecx
xor eax, edx
and eax, ecx
mov dword [rbp + 0x80], eax
mov ecx, 0x86d
sub rsp, 0x20
call fcn.140096360
mov rcx, qword [rbp + 0x188]
add rsp, 0x20
mov edx, eax
mov eax, dword [rbp + 0x80]
mov dword [rbp + 0x84], edx
cmp byte [rcx], 0
sete cl
mov byte [rbp + 0x8b], cl
cmp eax, 0x89e8642c
jae 0x14024f539
mov al, byte [rbp + 0x8b]
test al, 1
jne 0x14024e1ea
jmp 0x14024f264
mov eax, dword [0x140280080]
xor edx, edx
div dword [0x140280084]
or eax, 0xddfde5be
xor eax, 0xa12b74bb
sub eax, 0x3cf55378
cmp eax, 0x68e67ab0
je 0x14024f542
mov edx, dword [rbp + 0x84]
mov r8d, dword [rbp + 0x8c]
mov eax, dword [0x140280088]
mov ecx, dword [0x14028008c]
mov r9d, 0x61d5b114
xor r9d, 0x269235f2
xor ecx, r9d
mov r9d, 0xdab13544
xor r9d, 0x254ecabb
xor ecx, r9d
xor r9d, r9d
sub r9d, 1
sub ecx, r9d
sub eax, ecx
mov ecx, eax
xor ecx, 0xf5c25f5a
xor ecx, 0xffffffff
and ecx, 0xf5c25f5a
shl ecx, 1
sub ecx, 0xf5c25f5a
sub eax, ecx
mov ecx, 0x2f43243b
xor ecx, 0xb4348842
or eax, ecx
mov r10d, 0x470a3697
xor r10d, 0x2295aaae
mov ecx, 0xda319445
xor ecx, 0x25ce6bba
xor r10d, ecx
mov r9d, eax
and r9d, r10d
mov ecx, eax
or ecx, r10d
mov r10d, 0xa75e61ad
xor r10d, 0x58a19e52
xor ecx, r10d
imul ecx, r9d
mov r10d, 0x3c641bb
xor r10d, 0x6659dd82
mov r9d, eax
and r9d, r10d
or eax, 0x659f9c39
imul eax, r9d
add eax, ecx
movsxd r11, r8d
movsxd rcx, edx
mov r9, rcx
xor r9, 0xffffffffffffffff
mov r10, r11
and r10, r9
mov rsi, r11
xor rsi, 0xffffffffffffffff
mov r9, rcx
and r9, rsi
imul r9, r10
mov r10, rcx
and r10, r11
or rcx, r11
imul rcx, r10
add rcx, r9
mov qword [rbp + 0x60], rcx
cvtsi2sd xmm0, r8d
cvtsi2sd xmm1, edx
mulsd xmm0, xmm1
movsd qword [rbp + 0x68], xmm0
cvtsi2sd xmm1, rcx
movsd qword [rbp + 0x70], xmm1
ucomisd xmm0, xmm1
sete cl
setnp dl
and cl, dl
mov byte [rbp + 0x7f], cl
cmp eax, 0x43d6f12f
jb 0x14024e212
mov al, byte [rbp + 0x7f]
test al, 1
jne 0x14024e3b8
jmp 0x14024e356
movsd xmm1, qword [rbp + 0x68]
movsd xmm0, qword [rbp + 0x70]
subsd xmm0, xmm1
sub rsp, 0x20
call fcn.140271c60
add rsp, 0x20
movaps xmm1, xmm0
movsd xmm0, qword [rbp + 0x68]
movsd qword [rbp + 0x58], xmm1
sub rsp, 0x20
call fcn.140271c60
movsd xmm1, qword [rbp + 0x58]
add rsp, 0x20
movsd xmm2, qword [0x14028c7e0]
mulsd xmm1, xmm2
ucomisd xmm0, xmm1
jae 0x14024e3b8
sub rsp, 0x20
call fcn.14000f24b
add rsp, 0x20
jmp 0x14024f264
mov ecx, dword [0x140280090]
xor ecx, 0x45c722c7
mov r8d, dword [0x140280094]
xor r8d, 0x99c1585b
mov eax, ecx
xor eax, 0xffffffff
mov edx, r8d
and edx, eax
mov r9d, r8d
xor r9d, 0xffffffff
mov eax, ecx
and eax, r9d
imul eax, edx
mov edx, ecx
and edx, r8d
or ecx, r8d
imul ecx, edx
add ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x70c017f5
and eax, edx
mov edx, 0x97fa9bd4
xor edx, 0x6805642b
xor ecx, edx
mov edx, 0x211aee44
xor edx, 0x51daf9b1
mov r8d, 0x5d93f9c0
xor r8d, 0xa26c063f
xor edx, r8d
and ecx, edx
or eax, ecx
mov ecx, 0x98bb35d9
xor ecx, 0x6744ca26
xor eax, ecx
sub eax, 0x109d7d45
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0x41ce7f41
mov edx, 0x72300281
xor edx, 0x33fe7dc0
mov r8d, 0x751bc62
xor r8d, 0xf8ae439d
xor edx, r8d
and eax, edx
sub eax, ecx
mov ecx, 0x8f94a77a
xor ecx, 0x77249649
cmp eax, ecx
je 0x14024f54b
mov rdx, qword [rbp + 0x60]
mov ecx, dword [0x140280098]
mov eax, dword [0x14028009c]
mov r8d, 0x154f9498
xor r8d, 0xf7cbe521
add ecx, r8d
sub ecx, eax
mov eax, 0x77cd0611
xor eax, 0x954977a8
sub ecx, eax
mov r8d, 0x567fa40c
xor r8d, 0xb13b987
mov eax, ecx
and eax, r8d
xor ecx, 0x5d6c1d8b
or eax, ecx
sub eax, 0x5a484786
mov ecx, 0xdd5c69a
xor ecx, 0xb975cc0
sub eax, ecx
mov ecx, 0x98100d61
xor ecx, 0xc2584ae7
add eax, ecx
mov r8d, eax
xor r8d, 0x406ee81d
mov ecx, 0xd64f58ea
xor ecx, 0x29b0a715
xor r8d, ecx
mov ecx, 0x335eeab9
xor ecx, 0x733002a4
and ecx, r8d
shl ecx, 1
sub ecx, 0x406ee81d
sub eax, ecx
mov ecx, 0x83733873
xor ecx, 0x194e93e4
movabs r8, 0xa6b2db84296b8c04
movabs r9, 0x594d247ba96b8c04
xor r8, r9
add rdx, r8
movabs r8, 0x741f8cdb8604ce31
movabs r9, 0x8be073248604ce31
xor r8, r9
cmp rdx, r8
setb dl
mov byte [rbp + 0x57], dl
cmp eax, ecx
je 0x14024e485
mov al, byte [rbp + 0x57]
test al, 1
jne 0x14024e57a
jmp 0x14024e6d3
mov eax, dword [0x1402800a0]
mov edx, dword [0x1402800a4]
xor edx, 0x3c87093b
mov ecx, eax
or ecx, ecx
xor ecx, 0xffffffff
mov r8d, edx
or r8d, r8d
xor r8d, 0xffffffff
or ecx, r8d
xor ecx, 0xffffffff
mov r8d, 0x2f6f3793
xor r8d, 0xd090c86c
xor eax, r8d
xor edx, 0xffffffff
and eax, edx
mov edx, 0x4a1a214d
xor edx, 0xb5e5deb2
xor ecx, edx
mov edx, 0xd7e0de69
xor edx, 0x281f2196
xor eax, edx
and ecx, eax
mov edx, 0xd31791d
xor edx, 0xf2ce86e2
mov eax, ecx
xor eax, edx
mov edx, 0xffffffff
xor edx, 0x87edc5e4
or eax, edx
mov edx, 0x28e8b7ab
xor edx, 0xaf05724f
and ecx, edx
mov edx, 0x9757f0c7
xor edx, 0x68a80f38
xor ecx, edx
xor eax, 0xffffffff
mov edx, 0xcae6b7db
xor edx, 0x35194824
xor ecx, edx
or eax, ecx
mov ecx, 0x883feb95
xor edx, edx
div ecx
mov r8d, 0xffffffff
xor r8d, 0xe00a8ec2
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
mov r8d, 0x3b40664c
xor r8d, 0xc4bf99b3
xor ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xe00a8ec2
or eax, 0xe00a8ec2
imul eax, edx
add eax, ecx
cmp eax, 0x10bf37b1
je 0x14024f554
mov eax, dword [0x1402800a8]
xor eax, 0x15c8329d
mov ecx, dword [0x1402800ac]
xor ecx, 0xbd938c7e
xor edx, edx
div ecx
xor ecx, ecx
sub ecx, 0x22c6d61f
sub eax, ecx
mov ecx, 0x70e28086
xor ecx, 0x70e28086
sub ecx, eax
xor eax, eax
sub eax, 0x27518085
add ecx, eax
xor eax, eax
sub eax, ecx
or eax, 0xc1be6d59
mov dword [rbp + 0x50], eax
sub rsp, 0x20
call fcn.14000f24b
mov eax, dword [rbp + 0x50]
add rsp, 0x20
cmp eax, 0xde5665ed
jae 0x14024f554
jmp 0x14024f264
mov eax, dword [0x1402800b0]
xor eax, 0x9d3479cb
add eax, dword [0x1402800b4]
or eax, 0xc12ae679
mov ecx, 0xcebfc320
xor ecx, 0xd2d54fd
mov edx, 0x8e6a4a0e
xor edx, 0x7195b5f1
xor ecx, edx
xor edx, edx
sub edx, 1
sub ecx, edx
sub eax, ecx
xor eax, 0xce9a6dd7
cmp eax, 0x130a3573
je 0x14024f55d
mov eax, dword [0x1402800b8]
xor eax, 0xbb081406
or eax, dword [0x1402800bc]
imul eax, eax, 0x5a200f8d
and eax, 0x81267fad
mov r8d, 0xffffffff
xor r8d, 0xd50ac829
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov r8d, 0x371f9437
xor r8d, 0xe2155c1e
mov edx, eax
and edx, r8d
or eax, 0xd50ac829
imul eax, edx
add eax, ecx
mov dword [rbp + 0x44], eax
mov eax, 0xec011db8
xor eax, 0x1f916911
mov dword [rbp + 0x40], eax
mov ecx, 0x7e5
sub rsp, 0x20
call fcn.140096360
mov rdx, qword [rbp + 0x188]
mov ecx, dword [rbp + 0x40]
add rsp, 0x20
mov r8d, eax
mov eax, dword [rbp + 0x44]
mov dword [rbp + 0x48], r8d
cmp byte [rdx], 0
sete dl
mov byte [rbp + 0x4f], dl
cmp eax, ecx
ja 0x14024e71a
mov al, byte [rbp + 0x4f]
test al, 1
jne 0x14024e7c6
jmp 0x14024f264
mov eax, dword [0x1402800c0]
mov edx, dword [0x1402800c4]
mov ecx, edx
and ecx, eax
xor ecx, 0xffffffff
add eax, edx
add eax, 1
add eax, ecx
imul eax, eax, 0x5e5ee204
mov ecx, 0x8749081
xor edx, edx
div ecx
mov r11d, eax
mov ecx, r11d
xor ecx, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0x6b175be4
mov edx, 0xffffffff
xor edx, 0x8f33d620
mov eax, ecx
and eax, 0x8f33d620
and r11d, edx
mov r9d, r8d
and r9d, 0x8f33d620
mov r10d, edx
and r10d, 0x6b175be4
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, r8d
xor ecx, 0xffffffff
or edx, 0x8f33d620
and ecx, edx
or eax, ecx
cmp eax, 0xf316ddd9
je 0x14024f566
movsd xmm0, qword [rbp + 0x70]
mov edx, dword [rbp + 0x48]
mov rcx, qword [rbp + 0x60]
mov eax, dword [0x1402800c8]
and eax, dword [0x1402800cc]
mov r9d, eax
and r9d, 0xfc8500db
mov r8d, 0xc0aa51ec
xor r8d, 0xc0aa51ee
imul r8d, r9d
add eax, 0xfc8500db
sub eax, r8d
mov r8d, 0x815700b9
xor r8d, 0x63677b1f
sub eax, r8d
and eax, 0xabbd0dbb
movsxd r10, edx
mov r8, rcx
xor r8, 0xffffffffffffffff
mov r9, r10
and r9, r8
mov r11, r10
xor r11, 0xffffffffffffffff
mov r8, rcx
and r8, r11
imul r8, r9
mov r9, rcx
and r9, r10
or rcx, r10
imul rcx, r9
add rcx, r8
mov qword [rbp + 0x20], rcx
cvtsi2sd xmm1, edx
mulsd xmm0, xmm1
movsd qword [rbp + 0x28], xmm0
cvtsi2sd xmm1, rcx
movsd qword [rbp + 0x30], xmm1
ucomisd xmm0, xmm1
sete cl
setnp dl
and cl, dl
mov byte [rbp + 0x3f], cl
cmp eax, 0xa352a3cf
jb 0x14024e852
mov al, byte [rbp + 0x3f]
test al, 1
jne 0x14024eaa4
jmp 0x14024e918
mov ecx, dword [0x1402800d0]
xor ecx, 0xb99380c5
mov edx, dword [0x1402800d4]
mov eax, ecx
and eax, edx
shl eax, 1
add ecx, edx
sub ecx, eax
mov edx, 0x59bb0193
xor edx, 0x67a72e6b
mov eax, ecx
and eax, edx
xor ecx, 0x3e1c2ff8
or eax, ecx
mov ecx, eax
xor ecx, 0xffffffff
mov edx, 0xb56a0818
xor edx, 0x1640b27b
and edx, ecx
mov r8d, 0xffffffff
xor r8d, 0xa32aba63
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xa32aba63
or eax, 0xa32aba63
imul eax, edx
add eax, ecx
mov edx, 0x397d30d8
xor edx, 0xc682cf27
mov ecx, eax
xor ecx, edx
and ecx, 0x2b6bec88
mov edx, 0xffffffff
xor edx, 0x2b6bec88
and eax, edx
sub eax, ecx
mov ecx, 0x4b7cb0e7
xor ecx, 0xa7ee49bf
cmp eax, ecx
ja 0x14024f56f
movsd xmm1, qword [rbp + 0x28]
movsd xmm0, qword [rbp + 0x30]
mov eax, dword [0x1402800d8]
mov ecx, 0x65e4a21e
xor ecx, 0xe66b1973
xor eax, ecx
mov r8d, dword [0x1402800dc]
mov ecx, 0x2a2867c0
xor ecx, 0xd5d7983f
mov r9d, r8d
xor r9d, ecx
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, 0xd8a93b9f
xor edx, edx
div ecx
sub eax, 0xfb4e6921
mov ecx, 0x1f168405
xor ecx, 0xb00b4045
xor edx, edx
div ecx
mov dword [rbp + 0x18], eax
subsd xmm0, xmm1
sub rsp, 0x20
call fcn.140271c60
add rsp, 0x20
movaps xmm1, xmm0
movsd xmm0, qword [rbp + 0x28]
movsd qword [rbp + 0x10], xmm1
sub rsp, 0x20
call fcn.140271c60
movsd xmm1, qword [rbp + 0x10]
mov eax, dword [rbp + 0x18]
add rsp, 0x20
movsd xmm2, qword [0x14028c7e0]
mulsd xmm1, xmm2
ucomisd xmm0, xmm1
setb cl
mov byte [rbp + 0x1f], cl
cmp eax, 0xf2e93a87
ja 0x14024e9bc
mov al, byte [rbp + 0x1f]
test al, 1
jne 0x14024ea92
jmp 0x14024eaa4
sub rsp, 0x20
call fcn.14000f24b
add rsp, 0x20
jmp 0x14024f264
mov eax, dword [0x1402800e0]
xor eax, 0x18b2bac0
and eax, dword [0x1402800e4]
mov ecx, 0xa746690b
xor edx, edx
div ecx
imul ecx, eax, 0x696cde42
mov eax, ecx
xor eax, 0xffffffff
mov edx, 0x1cae73b7
xor edx, 0xe3518c48
xor ecx, edx
and eax, ecx
mov ecx, 0x64914d5d
xor ecx, 0xa0055093
mov edx, 0xf9aad2a0
xor edx, 0x3d3ecf6e
or ecx, edx
mov edx, 0xe7b8f6ec
xor edx, 0x18470913
xor ecx, edx
mov edx, 0xca820a0b
xor edx, 0x357df5f4
xor eax, edx
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0x64fedb7a
xor ecx, 0xd27fc02e
cmp eax, ecx
ja 0x14024f578
mov rdx, qword [rbp + 0x20]
mov ecx, dword [0x1402800e8]
mov r8d, dword [0x1402800ec]
mov r9d, ecx
xor r9d, r8d
xor r9d, 0xffffffff
mov eax, r8d
and eax, r9d
shl eax, 1
sub eax, r8d
sub ecx, eax
sub ecx, 0x870c63b
xor eax, eax
sub eax, ecx
xor ecx, ecx
sub ecx, 0xa2c44d4c
add eax, ecx
xor ecx, ecx
sub ecx, eax
mov r8d, 0xb4571724
xor r8d, 0xad029d2b
mov eax, 0x1a6ee49d
xor eax, 0xe5911b62
xor r8d, eax
mov eax, ecx
xor eax, r8d
and eax, ecx
mov ecx, 0xc3f45718
xor ecx, 0x9f82f3c9
movabs r8, 0x2b9ef5256b25156c
movabs r9, 0x2b9ef5256b25156c
xor r8, r9
sub r8, rdx
xor edx, edx
sub rdx, 0xffffffff80000000
add r8, rdx
xor edx, edx
sub rdx, r8
movabs r8, 0xad3ea13daf1b4d4
movabs r9, 0xf52c15ecdaf1b4d4
xor r8, r9
cmp rdx, r8
setb dl
mov byte [rbp + 0xf], dl
cmp eax, ecx
jae 0x14024eb22
mov al, byte [rbp + 0xf]
test al, 1
jne 0x14024ebf2
jmp 0x14024ec04
sub rsp, 0x20
call fcn.14000f24b
add rsp, 0x20
jmp 0x14024f264
mov r8, qword [rbp + 0x160]
mov rcx, qword [rbp + 0xc0]
mov rax, qword [rbp + 0x90]
mov rdx, qword [rbp + 0xb0]
mov r9, qword [rbp + 0x98]
mov r10, qword [rbp + 0x20]
mov dword [r9 + 0x14], r10d
mov qword [rax + 8], r9
mov r9, qword [rdx]
mov qword [rbp + 0x1e8], r9
mov rdx, qword [rdx + 8]
mov qword [rbp + 0x1f0], rdx
mov qword [r8], 1
mov qword [r8 + 8], rax
lea rdx, [rbp + 0x1e8]
mov r9d, 1
sub rsp, 0x20
call fcn.1401a5fa0
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x188]
mov qword [rbp], rcx
cmp byte [rax], 0
jne 0x14024f264
mov rdx, qword [rbp]
lea rcx, [rbp + 0x290]
sub rsp, 0x20
call fcn.1401a59f9
mov rax, qword [rbp + 0x188]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14024f264
mov rax, qword [rbp + 0x290]
mov qword [rbp - 8], rax
lea rcx, [rbp + 0x290]
sub rsp, 0x20
call fcn.1401a54d0
mov rax, qword [rbp + 0x188]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14024f264
mov ecx, dword [0x1402800f0]
xor ecx, 0xd8963a66
mov edx, dword [0x1402800f4]
xor eax, eax
sub eax, edx
sub ecx, eax
mov edx, 0xffffffff
xor edx, 0x796e3ab0
mov eax, ecx
and eax, edx
mov edx, ecx
xor edx, 0x796e3ab0
add ecx, edx
sub ecx, eax
mov eax, ecx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0xffffffff
xor ecx, 0xfff26586
mov edx, 0xffffffff
xor edx, 0xfff26586
and ecx, edx
or eax, ecx
xor eax, 0xffffffff
mov ecx, 0xc5711b4b
xor ecx, 0x75ec7d8f
xor edx, edx
div ecx
mov ecx, 0x822eb925
xor ecx, 0xf7d4d833
cmp eax, ecx
je 0x14024f581
mov eax, dword [0x1402800f8]
mov ecx, dword [0x1402800fc]
xor ecx, 0xb68921bb
sub eax, ecx
mov r8d, 0xffffffff
xor r8d, 0xe25f2a8b
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
mov r8d, 0xca641195
xor r8d, 0x359bee6a
xor ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xe25f2a8b
mov r8d, 0x3c8a8c68
xor r8d, 0xded5a6e3
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, 0x991e9a75
xor ecx, 0x75425cf1
sub eax, ecx
mov ecx, 0xcd2ec875
xor ecx, 0xc68b44dc
add eax, ecx
add eax, 0xec5cc684
mov ecx, 0x8d8ebd87
xor edx, edx
div ecx
mov dword [rbp - 0x1c], eax
mov eax, 0xce2cf0de
xor eax, 0x89f27235
mov dword [rbp - 0x20], eax
mov word [rbp + 0x288], 0x5fa
lea rcx, [rbp + 0x288]
sub rsp, 0x20
call fcn.140096085
mov rdx, qword [rbp + 0x188]
mov ecx, dword [rbp - 0x20]
add rsp, 0x20
mov r8, rax
mov eax, dword [rbp - 0x1c]
mov qword [rbp - 0x18], r8
cmp byte [rdx], 0
sete dl
mov byte [rbp - 9], dl
cmp eax, ecx
ja 0x14024ed57
mov al, byte [rbp - 9]
test al, 1
jne 0x14024ee3c
jmp 0x14024f264
mov rax, qword [rbp - 0x18]
mov rcx, qword [rax]
mov qword [rbp + 0x1c8], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x1d0], rax
lea rcx, [rbp + 0x1d8]
lea rdx, [rbp + 0x1c8]
sub rsp, 0x20
call fcn.140039831
mov r8, qword [rbp + 0x150]
mov rax, qword [rbp + 0x168]
add rsp, 0x20
mov rdx, qword [rbp + 0x1d8]
mov rcx, qword [rbp + 0x1e0]
mov r8, qword [r8]
add r8, 0x18
mov qword [rbp - 0x30], r8
mov qword [rax], rdx
mov qword [rax + 8], rcx
lea rcx, [rbp + 0x1b8]
xor edx, edx
mov r8d, 0x10
sub rsp, 0x20
call sub.msvcrt.dll_memset
mov rcx, qword [rbp - 0x30]
mov rdx, qword [rbp - 8]
mov r8, qword [rbp + 0x168]
add rsp, 0x20
xor eax, eax
mov r9d, eax
lea rax, [rbp + 0x1b8]
sub rsp, 0x30
mov qword [rsp + 0x20], rax
call fcn.1401b7d64
add rsp, 0x30
mov ecx, eax
mov rax, qword [rbp + 0x188]
mov dword [rbp - 0x24], ecx
cmp byte [rax], 0
jne 0x14024f264
sub rsp, 0x20
mov cx, 0x616
call fcn.140095ec0
mov edx, dword [rbp - 0x24]
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x188]
mov al, byte [rax]
test al, al
sete al
movsxd rdx, edx
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x14024ef39
jmp 0x14024f24b
mov ecx, 0x30
mov edx, 8
sub rsp, 0x20
call fcn.1400370c0
add rsp, 0x20
mov qword [rbp - 0x48], rax
mov qword [rax], 0
mov ecx, 0x497b5cf1
xor ecx, 0x497b5cf0
mov dword [rax + 8], ecx
mov cx, 0x5efd
xor cx, 0x5b7b
sub rsp, 0x20
call fcn.140096360
mov rdx, qword [rbp + 0x188]
add rsp, 0x20
mov ecx, eax
mov rax, qword [rbp - 0x48]
mov dword [rax + 0xc], ecx
mov cl, 1
xor eax, eax
cmp byte [rdx], 0
mov byte [rbp - 0x39], cl
mov qword [rbp - 0x38], rax
jne 0x14024f20e
mov ecx, 0x20
mov edx, 8
sub rsp, 0x20
call fcn.140029060
add rsp, 0x20
mov qword [rbp - 0x58], rax
mov ax, 0xcd82
xor ax, 0xc7d6
mov word [rbp + 0x1b6], ax
lea rcx, [rbp + 0x1b6]
sub rsp, 0x20
call fcn.140096085
mov rdx, qword [rbp + 0x188]
add rsp, 0x20
mov qword [rbp - 0x50], rax
mov cl, 1
xor eax, eax
cmp byte [rdx], 0
mov byte [rbp - 0x39], cl
mov qword [rbp - 0x38], rax
jne 0x14024f20e
mov eax, dword [0x140280100]
mov r8d, dword [0x140280104]
xor r8d, 0x1bbb871c
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
and ecx, 0x97d41484
shl ecx, 1
add eax, 0x97d41484
sub eax, ecx
mov ecx, 0xfcffa287
xor ecx, 0xf3e6d761
add eax, ecx
mov r8d, 0xffffffff
xor r8d, 0x82eee6fb
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x82eee6fb
or eax, 0x82eee6fb
imul eax, edx
add eax, ecx
mov ecx, 0x18741a26
xor ecx, 0xbae25f2
cmp eax, ecx
jbe 0x14024f58a
mov rcx, qword [rbp + 0x178]
mov rdx, qword [rbp + 0x180]
mov rax, qword [rbp - 0x50]
mov r8d, dword [0x140280108]
xor r8d, 0xa51522fe
mov r11d, dword [0x14028010c]
mov r9d, r8d
xor r9d, 0xffffffff
mov r10d, r11d
and r10d, r9d
mov r9d, 0xb0170ca2
xor r9d, 0x4fe8f35d
mov esi, r11d
xor esi, r9d
mov r9d, r8d
and r9d, esi
imul r9d, r10d
mov r10d, r8d
and r10d, r11d
or r8d, r11d
imul r8d, r10d
add r8d, r9d
xor r9d, r9d
sub r9d, 0xd77b274d
sub r8d, r9d
mov r9d, 0x8e545f9e
xor r9d, 0x753e685d
or r8d, r9d
imul r8d, r8d, 0xbd68faa1
mov dword [rbp - 0x60], r8d
mov r8, qword [rax]
mov qword [rdx], r8
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.140039831
mov rax, qword [rbp + 0x178]
mov rdx, qword [rbp - 0x58]
add rsp, 0x20
mov rcx, qword [rax]
mov rax, qword [rax + 8]
mov qword [rdx + 8], rcx
mov qword [rdx + 0x10], rax
lea rcx, [rbp + 0x1a0]
sub rsp, 0x20
call fcn.1400a9a0c
mov rdx, qword [rbp - 0x48]
mov rcx, qword [rbp + 0x188]
mov eax, dword [rbp - 0x60]
add rsp, 0x20
mov r8, qword [rbp + 0x1a0]
mov qword [rdx + 0x10], r8
mov r8, qword [rbp + 0x1a8]
mov qword [rdx + 0x18], r8
cmp byte [rcx], 0
sete cl
mov byte [rbp - 0x59], cl
cmp eax, 0x6619169f
je 0x14024f099
mov rax, qword [rbp - 0x58]
mov dl, byte [rbp - 0x59]
mov cl, 1
test dl, 1
mov byte [rbp - 0x39], cl
mov qword [rbp - 0x38], rax
jne 0x14024f1c1
jmp 0x14024f20e
mov rdx, qword [rbp - 0x48]
mov rax, qword [rbp + 0x150]
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 + 0x188]
mov rax, qword [rbp - 0x58]
add rsp, 0x20
mov cl, byte [rcx]
mov byte [rbp - 0x39], cl
mov qword [rbp - 0x38], rax
mov rax, qword [rbp + 0x188]
mov dl, byte [rbp - 0x39]
mov rcx, qword [rbp - 0x38]
mov byte [rbp - 0x61], dl
mov byte [rax], 0
sub rsp, 0x20
call fcn.14023d780
mov rax, qword [rbp + 0x188]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14024f24b
mov rax, qword [rbp + 0x188]
mov cl, byte [rbp - 0x61]
mov byte [rax], cl
jmp 0x14024f264
mov rax, qword [rbp + 0x188]
mov byte [rax], 0
mov al, 1
mov byte [rbp - 0x62], al
jmp 0x14024f33c
mov rcx, qword [rbp + 0x140]
mov rdx, qword [rbp + 0x188]
mov al, byte [rdx]
mov byte [rbp - 0x63], al
mov r8b, 0x14
xor r8b, 0x14
mov byte [rdx], r8b
cmp rcx, 0
mov byte [rbp - 0x62], al
je 0x14024f33c
mov al, byte [rbp - 0x63]
mov rcx, qword [rbp + 0x140]
mov rdx, qword [rcx]
movabs r8, 0x9734febca3e16184
movabs rcx, 0xd734febca3e16184
xor r8, rcx
mov rcx, rdx
and rcx, r8
movabs r8, 0x18df5342b9ffdd6b
movabs r9, 0xe720acbd46002294
xor r8, r9
xor rcx, r8
xor rdx, 0xffffffffffffffff
movabs r8, 0xea39e97f2dd25834
movabs r9, 0xaa39e97f2dd25834
xor r8, r9
movabs r9, 0x78700b27500d7383
movabs r10, 0x878ff4d8aff28c7c
xor r9, r10
xor r8, r9
or rdx, r8
xor rcx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
or rcx, rdx
cmp rcx, 0
mov byte [rbp - 0x62], al
jne 0x14024f33c
mov rcx, qword [rbp + 0x140]
sub rsp, 0x20
call fcn.14001d1d6
mov al, byte [rbp - 0x63]
add rsp, 0x20
mov byte [rbp - 0x62], al
mov al, byte [rbp - 0x62]
mov byte [rbp - 0x64], al
mov rcx, qword [rbp + 0x290]
sub rsp, 0x20
call fcn.1401a5240
mov rax, qword [rbp + 0x188]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14024f37a
mov al, byte [rbp - 0x64]
mov rcx, qword [rbp + 0x188]
mov byte [rcx], al
cmp al, 0
je 0x14024f4f9
mov rax, qword [0x14028d330]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000efc9
add rsp, 0x20
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
mov qword [rbp - 0x70], rax
mov ax, word [rax + 0x12]
mov cx, 0xa156
xor cx, 0xa157
cmp ax, cx
jle 0x14024f4f9
mov rax, qword [rbp - 0x70]
mov rax, qword [rax + 0x18]
cmp dword [rax + 8], 0xd4054986
jne 0x14024f4f9
mov eax, dword [0x140280110]
mov edx, dword [0x140280114]
mov ecx, eax
xor ecx, edx
xor edx, 0xffffffff
and eax, edx
shl eax, 1
sub eax, ecx
mov edx, 0x3b41e55a
xor edx, 0x2f6c9e81
mov ecx, eax
and ecx, edx
shl ecx, 1
add eax, 0x142d7bdb
sub eax, ecx
xor ecx, ecx
sub ecx, eax
mov eax, 0x480a4aaa
xor eax, 0x480a4aaa
mov edx, 0xa5530ebc
xor edx, 0x588685b
sub eax, edx
add ecx, eax
xor eax, eax
sub eax, ecx
and eax, 0xc400bfca
cmp eax, 0x64a25755
je 0x14024f593
mov eax, dword [0x140280118]
xor eax, dword [0x14028011c]
sub eax, 0xbbcd136a
mov r8d, 0xffffffff
xor r8d, 0x6322f6ea
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x6322f6ea
mov r8d, 0x9a4f8cf4
xor r8d, 0xf96d7a1e
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, 0xdf18c386
xor ecx, 0x3b03345a
xor edx, edx
div ecx
mov ecx, eax
mov rax, qword [rbp + 0x188]
mov dword [rbp - 0x78], ecx
mov ecx, 0x7e80dc50
xor ecx, 0x341120b1
mov dword [rbp - 0x7c], ecx
mov byte [rax], 0
sub rsp, 0x20
call fcn.140240ad1
add rsp, 0x20
mov rcx, rax
sub rsp, 0x20
call fcn.1400cdd40
mov rdx, qword [rbp + 0x188]
mov ecx, dword [rbp - 0x7c]
mov eax, dword [rbp - 0x78]
add rsp, 0x20
cmp byte [rdx], 0
sete dl
mov byte [rbp - 0x71], dl
cmp eax, ecx
ja 0x14024f42a
mov al, byte [rbp - 0x71]
test al, 1
jne 0x14024f4ec
add eax, 0xe9000000
or eax, 0x48000000
sub esp, 0x20
jmp 0x14024f4f9
sub rsp, 0x20
call fcn.140240b30
add rsp, 0x20
lea rsp, [rbp + 0x2b8]
pop rsi
pop rbp
ret
rol dh, 0xa1
int3
jp 0x14024f4e3
add bh, byte [rdi - 0x17]
jp 0x14024f4f5
invalid
cmp ecx, dword [rcx + 0x56e97ea0]
in al, 0xff
invalid
invalid
lodsb al, byte [rsi]
or al, 0x80
invalid
mov esi, dword [rcx + rdx*8 + 0x51]
jmp 0x14024df21
cvtdq2ps xmm7, xmmword [rax - 0x13fa16cf]
invalid
add eax, 0xe9e98693
invalid
xor bh, cl
fist word [rcx]
jmp 0x14024e485
adc al, 0x33
invalid
insb byte [rdi], dx
cmpsb byte [rsi], byte [rdi]
invalid
sub cl, byte [rcx + 0x37]
mov ch, cl
jrcxz 0x14024f55f
invalid
movabs al, byte [0xfffff444e9901445]
and dword [rsi - 0xc], ecx
jmp 0x14024eb22
invalid
mov edx, 0xe9c66621
invalid
pushfq
and bh, cl
invalid