Function at 0x14015d330
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r14
push rsi
push rdi
push rbx
sub rsp, 0x3c0
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x2a0], rdx
mov qword [rbp + 0x2a8], rcx
mov eax, 0x10
mov qword [rbp + 0x2b8], rax
call fcn.1402a7dd0
sub rsp, rax
mov rax, qword [rbp + 0x2b8]
mov rcx, rsp
mov qword [rbp + 0x2b0], rcx
call fcn.1402a7dd0
sub rsp, rax
mov rax, qword [rbp + 0x2b8]
mov rcx, rsp
mov qword [rbp + 0x2c0], rcx
call fcn.1402a7dd0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x2c8], rax
mov rax, qword [0x1402c6150]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000eaf8
add rsp, 0x20
mov qword [rbp + 0x2d8], rax
add rax, 0x60
mov qword [rbp + 0x2d0], rax
mov ecx, 0xef50
mov edx, 0x782
sub rsp, 0x20
call fcn.14009026b
add rsp, 0x20
mov cx, ax
mov rax, qword [rbp + 0x2d8]
mov word [rbp + 0x2e6], cx
cmp byte [rax + 0x60], 0
jne 0x140160319
mov rcx, qword [rbp + 0x2a0]
mov ax, word [rbp + 0x2e6]
mov byte [rbp + 0x28f], al
movabs rdx, 0xee77523a108255bf
movabs rax, 0xee77523a108255be
xor rdx, rax
sub rsp, 0x20
call fcn.1400321d0
mov r8b, byte [rbp + 0x28f]
mov rax, qword [rbp + 0x2a0]
add rsp, 0x20
mov rcx, rax
add rcx, 8
mov qword [rbp + 0x290], rcx
mov rcx, qword [rax + 8]
mov rdx, qword [rax]
mov byte [rcx + rdx + 8], r8b
mov rcx, qword [rax]
mov rax, rcx
and rax, 1
movabs r8, 0x69b83a220077f6d0
movabs rdx, 0x69b83a220077f6d1
xor r8, rdx
mov rdx, rcx
or rdx, r8
add rax, rdx
mov qword [rbp + 0x298], rax
xor rcx, 0xffffffffffffffff
and rax, rcx
cmp rax, 0
jge 0x14015d4b1
sub rsp, 0x20
call fcn.14000ee80
add rsp, 0x20
jmp 0x14015d4d1
mov rcx, qword [rbp + 0x298]
mov rax, qword [rbp + 0x290]
mov rdx, qword [rbp + 0x2a0]
mov qword [rdx], rcx
mov rax, qword [rax]
mov byte [rax + rcx + 8], 0
mov eax, dword [0x1402b0e88]
xor eax, 0x19e763e9
sub eax, dword [0x1402b0e8c]
mov ecx, 0x2bb7a60e
xor ecx, 0x2bb7a60e
mov edx, 0x8f549b90
xor edx, 0xe3424745
sub ecx, edx
add eax, ecx
mov edx, 0xb63c43dc
xor edx, 0x49c3bc23
mov ecx, eax
xor ecx, edx
mov edx, 0xdfaba75
xor edx, 0xc380d343
and edx, ecx
mov r8d, 0xffffffff
xor r8d, 0xce7a6936
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xce7a6936
or eax, 0xce7a6936
imul eax, edx
add eax, ecx
xor ecx, ecx
sub ecx, 0x35be3db9
add eax, ecx
mov ecx, 0xa90e72d7
xor ecx, 0x4f6410a8
cmp eax, ecx
je 0x14016041f
mov ecx, dword [0x1402b0e90]
mov edx, dword [0x1402b0e94]
xor edx, 0xffffffff
mov eax, ecx
xor eax, edx
and eax, ecx
sub eax, 0xbbd21263
mov ecx, 0x2df8aa09
xor ecx, 0xb70fb1e
imul eax, ecx
imul eax, eax, 0x2d7200b6
mov dword [rbp + 0x288], eax
mov ecx, 0x274
sub rsp, 0x20
call fcn.14008c370
mov rcx, qword [rbp + 0x2d0]
add rsp, 0x20
mov dl, al
mov eax, dword [rbp + 0x288]
mov byte [rbp + 0x28d], dl
cmp byte [rcx], 0
sete cl
mov byte [rbp + 0x28e], cl
cmp eax, 0x7f2980f8
je 0x14016041f
mov al, byte [rbp + 0x28e]
test al, 1
jne 0x14015d5e1
jmp 0x140160319
mov ecx, 0x33d
sub rsp, 0x20
call fcn.14008c370
add rsp, 0x20
mov cl, al
mov rax, qword [rbp + 0x2d0]
mov byte [rbp + 0x287], cl
cmp byte [rax], 0
jne 0x140160319
mov rax, qword [rbp + 0x2a8]
mov rcx, qword [rax]
mov qword [rbp + 0x268], rcx
xor eax, eax
cmp rcx, 0
mov rcx, rax
mov qword [rbp + 0x270], rcx
mov qword [rbp + 0x278], rax
jle 0x14015fdd8
mov rcx, qword [rbp + 0x268]
mov rax, qword [rbp + 0x2a8]
add rax, 8
mov qword [rbp + 0x248], rax
xor eax, eax
mov qword [rbp + 0x250], rcx
mov rcx, rax
mov qword [rbp + 0x258], rcx
mov qword [rbp + 0x260], rax
mov al, byte [rbp + 0x28d]
mov rcx, qword [rbp + 0x248]
mov r8, qword [rbp + 0x250]
mov rdx, qword [rbp + 0x258]
mov r9, qword [rbp + 0x260]
mov qword [rbp + 0x220], r9
mov qword [rbp + 0x228], rdx
mov qword [rbp + 0x230], r8
mov rcx, qword [rcx]
mov qword [rbp + 0x238], rcx
mov cl, byte [rcx + rdx + 8]
mov byte [rbp + 0x243], cl
movzx edx, cl
mov dword [rbp + 0x244], edx
cmp al, cl
ja 0x14015d913
mov r8, qword [rbp + 0x228]
mov rdx, qword [rbp + 0x230]
mov rcx, qword [rbp + 0x238]
add rcx, 8
sub rsp, 0x20
call fcn.14015cc60
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x2d0]
mov qword [rbp + 0x210], rcx
mov dword [rbp + 0x21c], ecx
cmp byte [rax], 0
jne 0x140160319
mov rax, qword [rbp + 0x210]
movabs rcx, 0x100000000
and rax, rcx
cmp rax, 0
je 0x14015d7b9
mov ecx, dword [rbp + 0x21c]
mov eax, 1
cmp ecx, 0x80
mov qword [rbp + 0x208], rax
jb 0x14015d789
mov ecx, dword [rbp + 0x21c]
mov eax, 2
cmp ecx, 0x800
mov qword [rbp + 0x208], rax
jb 0x14015d789
mov edx, dword [rbp + 0x21c]
mov eax, 4
mov ecx, 3
cmp edx, 0x10000
cmovb rax, rcx
mov qword [rbp + 0x208], rax
mov rax, qword [rbp + 0x220]
mov r8, qword [rbp + 0x228]
mov rcx, qword [rbp + 0x208]
xor edx, edx
sub rdx, r8
sub rcx, rdx
mov qword [rbp + 0x1f8], rcx
mov qword [rbp + 0x200], rax
jmp 0x14015fd8e
mov eax, dword [0x1402b0e98]
add eax, dword [0x1402b0e9c]
mov ecx, 0x99efdb91
xor edx, edx
div ecx
mov ecx, 0x76887c9a
xor ecx, 0xf1a2f4ba
xor edx, edx
div ecx
xor eax, 0xac3f35d
cmp eax, 0x39ea8c94
je 0x140160428
mov eax, dword [0x1402b0ea0]
mov edx, dword [0x1402b0ea4]
mov ecx, eax
and ecx, edx
or eax, edx
add ecx, eax
add ecx, 0x805fce6e
add ecx, 0xaccb4f86
sub ecx, 0x805fce6e
mov eax, 0xb310e9e6
xor eax, 0xf1467a49
and eax, ecx
xor eax, 0xffffffff
add ecx, 0x425693af
add ecx, 1
add ecx, eax
mov eax, ecx
and eax, eax
xor eax, 0xffffffff
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xc81e896
or eax, edx
mov edx, 0xc81e896
and edx, 0xc81e896
mov r8d, 0xf41d8e69
xor r8d, 0xbe27196
xor edx, r8d
and ecx, edx
xor ecx, 0xffffffff
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov dword [rbp + 0x1f4], eax
mov ecx, 0x40
mov edx, 8
sub rsp, 0x20
call fcn.140025b10
add rsp, 0x20
mov rcx, rax
mov rax, qword [0x1402c5dd0]
mov qword [rcx], rax
lea rax, [0x1402c37f0]
mov qword [rcx + 0x10], rax
mov rax, qword [0x1402c3800]
mov qword [rcx + 0x18], rax
mov rax, qword [str._8__]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
movabs rax, 0xbf4cbfea864b7501
movabs rdx, 0xbf4cbfea98e74be8
xor rax, rdx
lea rdx, [0x1402c37f0]
lea r8, [0x1402c3810]
lea r9, [0x1402c3817]
sub rsp, 0x30
mov qword [rsp + 0x20], rax
call fcn.140025a43
mov eax, dword [rbp + 0x1f4]
add rsp, 0x30
cmp eax, 0xd4305748
jbe 0x14015d7ed
jmp 0x140160319
mov rax, qword [rbp + 0x228]
mov cl, byte [rbp + 0x287]
mov dl, byte [rbp + 0x243]
cmp cl, dl
mov qword [rbp + 0x1e8], rax
ja 0x14015da6e
mov ecx, 0x8daa
mov edx, 0x6578
sub rsp, 0x20
call fcn.14009026b
add rsp, 0x20
mov cx, ax
mov rax, qword [rbp + 0x2d0]
mov word [rbp + 0x1e6], cx
cmp byte [rax], 0
jne 0x140160319
mov rax, qword [rbp + 0x228]
mov cl, byte [rbp + 0x243]
mov dx, word [rbp + 0x1e6]
cmp cl, dl
mov qword [rbp + 0x1e8], rax
je 0x14015da6e
mov cx, 0x6255
xor cx, 0x55
mov dx, 0xd1be
xor dx, 0x5b12
sub rsp, 0x20
call fcn.14009026b
add rsp, 0x20
mov cx, ax
mov rax, qword [rbp + 0x2d0]
mov word [rbp + 0x1e4], cx
cmp byte [rax], 0
jne 0x140160319
mov rax, qword [rbp + 0x228]
mov cl, byte [rbp + 0x243]
mov dx, word [rbp + 0x1e4]
cmp cl, dl
mov qword [rbp + 0x1e8], rax
je 0x14015da6e
mov cx, 0x513a
xor cx, 0xe978
mov dx, 0x11a6
xor dx, 0x416b
sub rsp, 0x20
call fcn.14009026b
add rsp, 0x20
mov cx, ax
mov rax, qword [rbp + 0x2d0]
mov word [rbp + 0x1e2], cx
cmp byte [rax], 0
jne 0x140160319
mov rax, qword [rbp + 0x220]
mov rcx, qword [rbp + 0x228]
mov dl, byte [rbp + 0x243]
mov r8w, word [rbp + 0x1e2]
sub dl, r8b
setne dl
mov r8b, dl
and r8b, 1
movzx r8d, r8b
add rcx, r8
test dl, 1
mov rdx, rcx
mov qword [rbp + 0x1e8], rdx
mov qword [rbp + 0x1f8], rcx
mov qword [rbp + 0x200], rax
jne 0x14015fd8e
mov rcx, qword [rbp + 0x220]
mov rax, qword [rbp + 0x1e8]
mov qword [rbp + 0x1d0], rax
movabs rdx, 0xa092b994291c53b9
sub rax, rdx
sub rax, rcx
movabs rcx, 0xa092b994291c53b9
add rax, rcx
mov qword [rbp + 0x1d8], rax
cmp rax, 0
jle 0x14015db86
mov rcx, qword [rbp + 0x2a0]
mov rax, qword [rbp + 0x1d8]
mov rdx, qword [rbp + 0x248]
mov rdx, qword [rdx]
mov qword [rbp + 0x1b0], rdx
mov rdx, qword [rcx]
mov qword [rbp + 0x1a8], rdx
add rdx, rax
sub rsp, 0x20
call fcn.140028330
mov rdx, qword [rbp + 0x290]
mov r8, qword [rbp + 0x1a8]
mov rax, qword [rbp + 0x1b0]
mov rcx, qword [rbp + 0x220]
add rsp, 0x20
mov rdx, qword [rdx]
add rdx, 8
add rdx, r8
mov qword [rbp + 0x1b8], rdx
add rax, 8
add rax, rcx
mov qword [rbp + 0x1c0], rax
xor eax, eax
mov qword [rbp + 0x1c8], rax
mov rdx, qword [rbp + 0x1c8]
mov rcx, qword [rbp + 0x1d8]
mov rax, qword [rbp + 0x1b8]
mov r8, qword [rbp + 0x1c0]
mov r8b, byte [r8 + rdx]
mov byte [rax + rdx], r8b
movabs r8, 0x1a3ba65674451fdf
movabs rax, 0x1a3ba65674451fde
xor r8, rax
mov rax, rdx
and rax, r8
or rdx, 1
add rax, rdx
cmp rax, rcx
mov qword [rbp + 0x1c8], rax
jne 0x14015db2e
mov rax, qword [rbp + 0x2d0]
cmp byte [rax], 0
jne 0x140160319
mov ecx, 0xd4e2
mov edx, 0x3c30
sub rsp, 0x20
call fcn.14009026b
add rsp, 0x20
mov cx, ax
mov rax, qword [rbp + 0x2d0]
mov word [rbp + 0x1a6], cx
cmp byte [rax], 0
jne 0x14015e2bd
mov al, byte [rbp + 0x243]
mov cx, word [rbp + 0x1a6]
cmp al, cl
je 0x14015dc1a
mov cx, 0x6899
xor cx, 0x262e
mov dx, 0x29b7
xor dx, 0x8fac
sub rsp, 0x20
call fcn.14009026b
add rsp, 0x20
mov cx, ax
mov rax, qword [rbp + 0x2d0]
mov word [rbp + 0x1a4], cx
cmp byte [rax], 0
je 0x14015e2c2
jmp 0x14015e83d
mov eax, dword [0x1402b0ea8]
mov ecx, 0x6d82a90b
xor ecx, 0xdc9c79fb
xor eax, ecx
mov ecx, dword [0x1402b0eac]
mov edx, 0xf1c444aa
xor edx, 0xcdc3130c
xor ecx, edx
xor edx, edx
div ecx
mov ecx, 0x7c1dd714
xor ecx, 0x66052369
mov edx, 0x72634c03
xor edx, 0x8d9cb3fc
xor ecx, edx
xor edx, edx
sub edx, 1
sub ecx, edx
sub eax, ecx
mov ecx, 0x3b4648da
xor edx, edx
div ecx
xor eax, 0x359b3a5a
cmp eax, 0x8d6de725
ja 0x140160431
mov ecx, dword [0x1402b0eb0]
imul ecx, dword [0x1402b0eb4]
mov eax, ecx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x97294500
and eax, edx
mov edx, 0xf6d59968
xor edx, 0x92a6697
xor ecx, edx
mov edx, 0xffffffff
xor edx, 0x97294500
and ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
mov ecx, eax
and ecx, 0xd97f5ab
shl ecx, 1
add eax, 0xd97f5ab
sub eax, ecx
mov ecx, 0x4853ea9c
xor ecx, 0xc2159256
and eax, ecx
mov dword [rbp + 0x194], eax
mov word [rbp + 0x33e], 0x15f
lea rcx, [rbp + 0x33e]
sub rsp, 0x20
call fcn.14008b2d0
mov rcx, qword [rbp + 0x2d0]
add rsp, 0x20
mov rdx, rax
mov eax, dword [rbp + 0x194]
mov qword [rbp + 0x198], rdx
mov cl, byte [rcx]
mov dl, 0xd0
xor dl, 0xd0
cmp cl, dl
sete cl
mov byte [rbp + 0x1a3], cl
cmp eax, 0xd1fb6e02
jae 0x14015dc7e
mov al, byte [rbp + 0x1a3]
test al, 1
jne 0x14015dd4d
jmp 0x14015dd48
jmp 0x140160319
mov rax, qword [rbp + 0x198]
mov rcx, qword [rbp + 0x2a0]
mov rdx, qword [rax]
sub rsp, 0x20
call fcn.1400321d0
mov rcx, qword [rbp + 0x198]
add rsp, 0x20
mov rax, qword [rcx]
mov qword [rbp + 0x180], rax
mov rcx, qword [rcx + 8]
mov qword [rbp + 0x188], rcx
cmp rax, 0
jle 0x14015e2b8
mov rdx, qword [rbp + 0x180]
movabs rcx, 0x57f500e6339f4cc
movabs rax, 0x4e8e2712fd23e16b
xor rcx, rax
mov rax, rdx
sub rax, rcx
add rax, 1
movabs rcx, 0x4bf1771c9e1a15a7
add rax, rcx
mov qword [rbp + 0x178], rax
movabs rcx, 0xae317704d9f04de6
movabs r8, 0x51ce88fb260fb219
xor rcx, r8
xor rdx, rcx
xor rax, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
mov rcx, 0xffffffffffffffff
movabs r8, 0xc0ed7e760e892277
xor rcx, r8
or rax, rdx
movabs rdx, 0xc0ed7e760e892277
or rcx, rdx
xor rax, 0xffffffffffffffff
and rax, rcx
cmp rax, 0
jge 0x14015dfc4
mov ecx, dword [0x1402b0eb8]
xor ecx, 0x2b064494
mov r8d, dword [0x1402b0ebc]
xor r8d, 0xa2a679e2
mov edx, 0x2e040410
xor edx, 0xd1fbfbef
mov eax, ecx
xor eax, edx
mov edx, r8d
and edx, eax
mov eax, 0x96678ca4
xor eax, 0x6998735b
mov r9d, r8d
xor r9d, eax
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, 0x12200f7c
xor eax, 0xdecfa040
add ecx, eax
mov eax, 0xafb99bc3
xor eax, 0xeae5ba41
sub ecx, eax
sub ecx, 0xccefaf3c
mov edx, 0xffffffff
xor edx, 0xf28de9e4
mov eax, ecx
and eax, edx
mov r8d, 0xbe8e4df5
xor r8d, 0x4c03a411
mov edx, ecx
xor edx, r8d
add ecx, edx
sub ecx, eax
mov eax, ecx
or eax, eax
xor eax, 0xffffffff
mov edx, 0x3a46ce22
or edx, 0x3a46ce22
xor edx, 0xffffffff
or eax, edx
xor eax, 0xffffffff
mov edx, 0x68e73f08
xor edx, 0x52a1f12a
or ecx, edx
mov edx, 0x8337dfae
xor edx, 0x7cc82051
xor ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
cmp eax, 0xf388e248
ja 0x14016043a
mov r11d, dword [0x1402b0ec0]
xor r11d, 0x23fb9f4b
and r11d, dword [0x1402b0ec4]
mov eax, 0x272dc59c
xor eax, 0xab683ba8
or r11d, eax
add r11d, 0x6961fda5
mov eax, 0x9de152b3
xor eax, 0x621ead4c
mov ecx, r11d
xor ecx, eax
mov r8d, 0xffffffff
xor r8d, 0xd3185529
mov edx, 0xffffffff
xor edx, 0xb53863a5
mov eax, ecx
and eax, 0xb53863a5
and r11d, edx
mov r9d, r8d
and r9d, 0xb53863a5
mov r10d, edx
and r10d, 0xd3185529
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, r8d
xor ecx, 0xffffffff
or edx, 0xb53863a5
and ecx, edx
or eax, ecx
mov dword [rbp + 0x174], eax
mov eax, 0xbbdff4fc
xor eax, 0x3977d6b
mov dword [rbp + 0x170], eax
sub rsp, 0x20
call fcn.14000ee80
mov ecx, dword [rbp + 0x170]
mov eax, dword [rbp + 0x174]
add rsp, 0x20
cmp eax, ecx
je 0x14016043a
jmp 0x14015e2b8
mov eax, dword [0x1402b0ec8]
mov ecx, 0xfa382432
xor ecx, 0x5b738bf9
xor eax, ecx
mov edx, dword [0x1402b0ecc]
mov ecx, eax
xor ecx, edx
xor ecx, 0xffffffff
or eax, edx
and eax, ecx
mov ecx, 0xdc2374ae
xor ecx, 0xce294a7f
add eax, ecx
and eax, 0x121569eb
mov ecx, 0xc46fdb15
xor ecx, 0xc46fdb15
mov edx, 0x73582153
xor edx, 0x16e2cbf7
sub ecx, edx
add eax, ecx
mov ecx, 0x470d2193
xor ecx, 0xba861738
cmp eax, ecx
je 0x140160443
mov rdx, qword [rbp + 0x178]
mov ecx, dword [0x1402b0ed0]
mov r8d, dword [0x1402b0ed4]
mov r9d, ecx
xor r9d, r8d
xor r9d, 0xffffffff
mov eax, r8d
and eax, r9d
shl eax, 1
sub eax, r8d
sub ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0x7f15ca2e
and eax, r8d
xor ecx, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0x7f15ca2e
and ecx, r8d
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
imul ecx, eax, 0x8a713623
mov eax, ecx
xor eax, 0xffffffff
mov r8d, 0xac9c418d
xor r8d, 0xec15f2b1
mov r9d, 0x12d8e01e
xor r9d, 0xed271fe1
xor r8d, r9d
or eax, r8d
and ecx, 0x4089b33c
xor ecx, 0xffffffff
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0x73eb5598
xor ecx, 0x16e1bd93
cmp rdx, 0
setl dl
mov byte [rbp + 0x16f], dl
cmp eax, ecx
ja 0x140160443
mov al, byte [rbp + 0x16f]
test al, 1
jne 0x14015e0f2
jmp 0x14015e119
mov rcx, qword [rbp + 0x178]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.140018506
add rsp, 0x20
jmp 0x14015e2b8
mov eax, dword [0x1402b0ed8]
xor eax, 0x6c0a7cfb
xor edx, edx
div dword [0x1402b0edc]
mov edx, 0xffffffff
xor edx, 0xf0e28103
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, 0xf0e28103
add eax, edx
sub eax, ecx
xor eax, 0xfb7b84ac
mov ecx, 0xa306159
xor ecx, 0xafb6c2a5
sub eax, ecx
cmp eax, 0xbcc18ef2
je 0x14016044c
mov rcx, qword [rbp + 0x188]
mov r8, qword [rbp + 0x2a0]
mov eax, dword [0x1402b0ee0]
mov edx, 0xcff443a
xor edx, 0x5b6b904f
xor eax, edx
xor edx, edx
div dword [0x1402b0ee4]
mov edx, eax
and edx, 0x43bfd7bc
shl edx, 1
xor eax, 0x43bfd7bc
add eax, edx
mov r9d, 0x992ef18
xor edx, edx
div r9d
mov rdx, qword [rbp + 0x290]
mov r10d, eax
xor r10d, 0xc3976257
xor r10d, 0xffffffff
and r10d, 0xc3976257
mov r9d, 0xa8814955
xor r9d, 0xa8814957
imul r9d, r10d
sub r9d, 0xc3976257
sub eax, r9d
mov rdx, qword [rdx]
add rdx, 8
add rdx, qword [r8]
mov qword [rbp + 0x158], rdx
add rcx, 8
mov qword [rbp + 0x160], rcx
cmp eax, 0x61d14f18
jbe 0x14015e164
xor eax, eax
mov qword [rbp + 0x150], rax
jmp 0x14015e216
mov rcx, qword [rbp + 0x150]
mov rdx, qword [rbp + 0x180]
mov rax, qword [rbp + 0x158]
mov r8, qword [rbp + 0x160]
mov r8b, byte [r8 + rcx]
mov byte [rax + rcx], r8b
mov rax, rcx
add rax, 1
cmp rcx, rdx
mov qword [rbp + 0x150], rax
jne 0x14015e216
mov rdx, qword [rbp + 0x180]
mov rax, qword [rbp + 0x2a0]
mov r8, qword [rax]
mov rax, rdx
xor rax, 0xffffffffffffffff
xor ecx, ecx
sub rcx, 1
sub rax, rcx
mov rcx, r8
sub rcx, rax
mov qword [rbp + 0x148], rcx
mov rax, rcx
xor rax, r8
xor rcx, rdx
and rax, rcx
cmp rax, 0
jge 0x14015e2a7
sub rsp, 0x20
call fcn.14000ee80
add rsp, 0x20
jmp 0x14015e2b8
mov rax, qword [rbp + 0x2a0]
mov rcx, qword [rbp + 0x148]
mov qword [rax], rcx
jmp 0x14015fc76
jmp 0x140160319
mov al, byte [rbp + 0x243]
mov cx, word [rbp + 0x1a4]
cmp al, cl
je 0x14015e313
mov ecx, 0x75a6
mov edx, 0x9d5e
sub rsp, 0x20
call fcn.14009026b
add rsp, 0x20
mov cx, ax
mov rax, qword [rbp + 0x2d0]
mov word [rbp + 0x146], cx
mov al, byte [rax]
mov cl, 0x55
xor cl, 0x55
cmp al, cl
je 0x14015e842
jmp 0x14015f19e
mov ax, 0xd604
xor ax, 0xd67e
mov word [rbp + 0x33c], ax
lea rcx, [rbp + 0x33c]
sub rsp, 0x20
call fcn.14008b2d0
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x2d0]
mov qword [rbp + 0x138], rcx
cmp byte [rax], 0
je 0x14015e355
jmp 0x140160319
mov rax, qword [rbp + 0x138]
mov rcx, qword [rbp + 0x2a0]
mov rdx, qword [rax]
sub rsp, 0x20
call fcn.1400321d0
mov rcx, qword [rbp + 0x138]
add rsp, 0x20
mov rax, qword [rcx]
mov qword [rbp + 0x128], rax
mov rcx, qword [rcx + 8]
mov qword [rbp + 0x130], rcx
cmp rax, 0
jle 0x14015e838
mov rdx, qword [rbp + 0x128]
mov rax, rdx
and rax, 1
mov rcx, rdx
or rcx, 1
add rax, rcx
mov qword [rbp + 0x120], rax
movabs r8, 0xbdb07df052bfb259
movabs rcx, 0x424f820fad404da6
xor r8, rcx
mov rcx, rdx
xor rcx, r8
mov r8, rdx
xor r8, 0xffffffffffffffff
and rcx, r8
movabs r8, 0xcfd57799c5d2b488
movabs r9, 0x302a88663a2d4b77
xor r8, r9
movabs r9, 0x389445ec86c07856
movabs r10, 0xc76bba13793f87a9
xor r9, r10
xor r8, r9
movabs r9, 0xbd4a5f2a974c4756
movabs r10, 0x42b5a0d568b3b8a9
xor r9, r10
movabs r10, 0x11c83ab93ed0cb63
movabs r11, 0xee37c546c12f349c
xor r10, r11
xor r9, r10
and r8, r9
xor rcx, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
and rcx, r8
xor rdx, 0xffffffffffffffff
mov r8, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
and rdx, r8
movabs r8, 0x6f9861b6b0771477
movabs r9, 0x90679e494f88eb88
xor r8, r9
xor rcx, r8
movabs r8, 0x531eafb016fcea9
movabs r9, 0xface1504fe903156
xor r8, r9
xor rdx, r8
and rcx, rdx
and rax, rcx
cmp rax, 0
jge 0x14015e4b7
sub rsp, 0x20
call fcn.14000ee80
add rsp, 0x20
jmp 0x14015e838
mov rax, qword [rbp + 0x120]
cmp rax, 0
jge 0x14015e5d1
mov eax, dword [0x1402b0ee8]
xor eax, dword [0x1402b0eec]
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0xecbdb7a9
mov edx, 0xffffffff
xor edx, 0xecbdb7a9
and eax, edx
sub eax, ecx
mov ecx, 0x9d62ccc3
xor ecx, 0x375cbefb
mov edx, 0x6f990077
xor edx, 0x9066ff88
xor ecx, edx
mov edx, 0x6eea0771
xor edx, 0x6eea0771
mov r8d, 0xd61f5b6f
xor r8d, 0xd61f5b6e
sub edx, r8d
sub ecx, edx
sub eax, ecx
mov ecx, 0x7a34233e
xor ecx, 0x2f45c779
and eax, ecx
cmp eax, 0xbeddfbd7
ja 0x140160455
mov rcx, qword [rbp + 0x120]
mov eax, dword [0x1402b0ef0]
mov r8d, dword [0x1402b0ef4]
mov edx, 0x725efefa
xor edx, 0x1f8b3072
xor r8d, edx
mov edx, eax
xor edx, r8d
mov r9d, 0xb2dbb882
xor r9d, 0x4d24477d
xor edx, r9d
or eax, r8d
and eax, edx
imul eax, eax, 0x55bd898c
mov edx, 0x3c4d8b1e
xor edx, 0xee555913
add eax, edx
mov edx, 0xfa4cd6ca
xor edx, 0xeeead587
imul eax, edx
mov dword [rbp + 0x11c], eax
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.140018506
mov eax, dword [rbp + 0x11c]
add rsp, 0x20
cmp eax, 0x1380d44e
je 0x140160455
jmp 0x14015e838
mov rax, qword [rbp + 0x130]
mov rdx, qword [rbp + 0x2a0]
mov rcx, qword [rbp + 0x290]
mov rcx, qword [rcx]
add rcx, 8
add rcx, qword [rdx]
mov qword [rbp + 0x100], rcx
add rax, 8
mov qword [rbp + 0x108], rax
xor eax, eax
mov qword [rbp + 0x110], rax
mov rcx, qword [rbp + 0x110]
mov rdx, qword [rbp + 0x128]
mov rax, qword [rbp + 0x100]
mov r8, qword [rbp + 0x108]
mov r8b, byte [r8 + rcx]
mov byte [rax + rcx], r8b
xor eax, eax
mov r8d, eax
sub r8, 1
mov rax, rcx
sub rax, r8
cmp rcx, rdx
mov qword [rbp + 0x110], rax
jne 0x14015e60b
mov eax, dword [0x1402b0ef8]
and eax, dword [0x1402b0efc]
mov ecx, eax
and ecx, 0xd190f248
xor ecx, 0xffffffff
add eax, 0xd190f248
add eax, 1
add eax, ecx
and eax, 0x3a541d6e
sub eax, 0x2ed6d230
add eax, 0x1e62bc60
add eax, 0x2ed6d230
cmp eax, 0x954609bd
jae 0x14016045e
mov r9, qword [rbp + 0x128]
mov rcx, qword [rbp + 0x2a0]
mov eax, dword [0x1402b0f00]
mov r8d, dword [0x1402b0f04]
mov edx, r8d
and edx, eax
mov r10d, 0x7646c859
xor r10d, 0x89b937a6
xor edx, r10d
add eax, r8d
add eax, 1
add eax, edx
mov edx, 0xfb4707ed
xor edx, 0x2b908b18
or eax, edx
mov r8d, 0xb3c8879e
xor r8d, 0xbaf3ac7e
xor edx, edx
div r8d
mov edx, eax
mov eax, edx
and eax, eax
xor eax, 0xffffffff
xor eax, 0xffffffff
mov r8d, 0x1b8bb110
xor r8d, 0x9530b8cf
mov r10d, 0xf49c1d1b
xor r10d, 0xb63e2e4
xor r8d, r10d
or eax, r8d
mov r8d, 0xffffffff
xor r8d, 0x8ebb09df
mov r10d, 0xffffffff
xor r10d, 0x8ebb09df
or r8d, r10d
and edx, r8d
mov r8d, 0x30bddffe
xor r8d, 0xcf422001
xor edx, r8d
mov r8d, 0x9b6f989
xor r8d, 0xf6490676
xor eax, r8d
mov r8d, 0x3b43e749
xor r8d, 0xc4bc18b6
xor edx, r8d
or eax, edx
mov rcx, qword [rcx]
movabs rdx, 0xc8c07d4e4e2d72e4
movabs r8, 0xc8c07d4e4e2d72e4
xor rdx, r8
sub rdx, rcx
movabs r8, 0x8a47a38157a697ba
movabs r10, 0x8a47a38157a697ba
xor r8, r10
sub r8, r9
add rdx, r8
xor r8d, r8d
sub r8, rdx
mov qword [rbp + 0xf0], r8
mov rdx, r8
xor rdx, rcx
mov r10, r8
xor r10, r9
xor r10, 0xffffffffffffffff
mov rcx, r9
and rcx, r10
shl rcx, 1
sub rcx, r9
sub r8, rcx
mov rcx, rdx
and rcx, r8
xor rcx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
or rdx, r8
xor rcx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
or rcx, rdx
cmp rcx, 0
setl cl
mov byte [rbp + 0xff], cl
cmp eax, 0x91ce4185
je 0x14015e68e
mov al, byte [rbp + 0xff]
test al, 1
jne 0x14015e815
jmp 0x14015e827
sub rsp, 0x20
call fcn.14000ee80
add rsp, 0x20
jmp 0x14015e838
mov rax, qword [rbp + 0x2a0]
mov rcx, qword [rbp + 0xf0]
mov qword [rax], rcx
jmp 0x14015fc76
jmp 0x140160319
mov al, byte [rbp + 0x243]
mov cx, word [rbp + 0x146]
cmp al, cl
je 0x14015ea54
mov ecx, dword [0x1402b0f08]
mov eax, dword [0x1402b0f0c]
xor eax, 0xd3ad5c6a
add ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xc8ebfac3
or eax, edx
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xc8ebfac3
or ecx, edx
mov edx, 0x187c7384
xor edx, 0xe7838c7b
xor eax, edx
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0xa8b88def
xor edx, edx
div ecx
mov ecx, eax
and ecx, 0x48e32505
mov edx, 0xd1f8ad42
xor edx, 0x2e0752bd
xor ecx, edx
mov edx, 0x622c01db
xor edx, 0x2acf24de
add eax, edx
add eax, 1
add eax, ecx
mov ecx, 0x98e4a64a
xor ecx, 0xb22f89b9
cmp eax, ecx
jbe 0x140160467
mov eax, dword [0x1402b0f10]
mov ecx, dword [0x1402b0f14]
xor ecx, 0x6de2032b
or eax, ecx
mov ecx, eax
and ecx, ecx
xor ecx, 0xffffffff
xor ecx, 0xffffffff
mov edx, 0x43a16f08
xor edx, 0xa2b024d2
mov r8d, 0x9b728f25
xor r8d, 0x648d70da
xor edx, r8d
or ecx, edx
mov edx, 0x8533e604
xor edx, 0x6422adde
mov r8d, 0x838a02f
xor r8d, 0xf7c75fd0
xor edx, r8d
mov r8d, 0xdd7aed17
xor r8d, 0x3c6ba6cd
mov r9d, 0xb9d468f9
xor r9d, 0x462b9706
xor r8d, r9d
or edx, r8d
and eax, edx
mov edx, 0xd0b753c9
xor edx, 0x2f48ac36
xor eax, edx
xor ecx, 0xffffffff
xor eax, 0xffffffff
or ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, 0xb4541f3f
xor edx, 0x4babe0c0
xor ecx, edx
or eax, ecx
mov ecx, 0x6ed1ac01
xor ecx, 0x7dcc6c5f
mov edx, 0xdc0d010f
xor edx, 0x23f2fef0
xor ecx, edx
mov edx, 0xffffffff
xor edx, 0x131dc05e
or ecx, edx
mov edx, 0x8b849c2b
xor edx, 0x747b63d4
xor eax, edx
xor ecx, 0xffffffff
or eax, ecx
mov r8d, 0x86d27459
xor r8d, 0xd37e190f
mov ecx, 0x9616f8ed
xor ecx, 0x69e90712
xor r8d, ecx
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x55ac6d56
or eax, 0x55ac6d56
imul eax, edx
add eax, ecx
mov dword [rbp + 0xe8], eax
mov ecx, 0xacf6
mov edx, 0x440a
sub rsp, 0x20
call fcn.14009026b
mov rcx, qword [rbp + 0x2d0]
add rsp, 0x20
mov dx, ax
mov eax, dword [rbp + 0xe8]
mov word [rbp + 0xec], dx
cmp byte [rcx], 0
sete cl
mov byte [rbp + 0xef], cl
cmp eax, 0xf6f0c928
jae 0x140160467
mov al, byte [rbp + 0xef]
test al, 1
jne 0x14015f1a3
jmp 0x14015f369
mov eax, dword [0x1402b0f18]
and eax, dword [0x1402b0f1c]
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x661cb936
mov ecx, 0xffffffff
xor ecx, 0xaec06f13
or eax, edx
or ecx, 0xaec06f13
mov edx, 0xadc12044
xor edx, 0x523edfbb
xor eax, edx
and eax, ecx
imul eax, eax, 0xdeb0d68c
xor eax, 0x986ee672
cmp eax, 0x9d2c417a
jae 0x140160470
mov ecx, dword [0x1402b0f20]
mov eax, dword [0x1402b0f24]
xor eax, 0x15aa1c9e
imul ecx, eax
add ecx, 0x2eadcde3
mov eax, ecx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0xffffffff
xor ecx, 0xa181884b
mov edx, 0xffffffff
xor edx, 0xa181884b
and ecx, edx
or eax, ecx
xor eax, 0xffffffff
sub eax, 0x50863db1
mov dword [rbp + 0xd4], eax
mov word [rbp + 0x33a], 0x1c6
lea rcx, [rbp + 0x33a]
sub rsp, 0x20
call fcn.14008b2d0
mov rcx, qword [rbp + 0x2d0]
add rsp, 0x20
mov rdx, rax
mov eax, dword [rbp + 0xd4]
mov qword [rbp + 0xd8], rdx
cmp byte [rcx], 0
sete cl
mov byte [rbp + 0xe7], cl
cmp eax, 0x36547c03
jbe 0x140160470
mov al, byte [rbp + 0xe7]
test al, 1
jne 0x14015ec50
jmp 0x14015eb50
mov ecx, dword [0x1402b0f28]
mov edx, dword [0x1402b0f2c]
xor eax, eax
sub eax, ecx
mov ecx, 0xcb4907a9
xor ecx, 0xcb4907a9
sub ecx, edx
add eax, ecx
xor r11d, r11d
sub r11d, eax
add r11d, 0xe4a6554a
mov eax, 0x78b14f45
xor eax, 0xc13e9774
or r11d, eax
mov ecx, r11d
xor ecx, 0xffffffff
mov r8d, 0xd512d9d7
xor r8d, 0x451b9584
mov eax, 0x8b71ef02
xor eax, 0x748e10fd
xor r8d, eax
mov edx, 0xffffffff
xor edx, 0x9ed335cd
mov eax, ecx
and eax, 0x9ed335cd
and r11d, edx
mov r9d, r8d
and r9d, 0x9ed335cd
mov r10d, edx
and r10d, 0x90094c53
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, r8d
mov r8d, 0x64bc56ff
xor r8d, 0x9b43a900
xor ecx, r8d
or edx, 0x9ed335cd
and ecx, edx
or eax, ecx
cmp eax, 0xf4db431d
ja 0x140160479
mov eax, dword [0x1402b0f30]
mov edx, dword [0x1402b0f34]
mov ecx, eax
xor ecx, edx
xor ecx, 0xffffffff
or eax, edx
and eax, ecx
mov ecx, 0xf3f3de93
xor ecx, 0x9ea82dda
xor edx, edx
div ecx
mov ecx, 0x1d5608da
xor edx, edx
div ecx
mov ecx, 0x5220eeba
xor ecx, 0x5a698a65
imul eax, ecx
cmp eax, 0x5ab4b56
je 0x14015ec03
jmp 0x140160319
mov eax, dword [0x1402b0f38]
mov edx, dword [0x1402b0f3c]
mov r8d, 0x3124f78e
xor r8d, 0x3124f78f
mov ecx, eax
add ecx, r8d
xor eax, 0xffffffff
or eax, edx
add eax, ecx
mov ecx, 0x1422acec
xor edx, edx
div ecx
sub eax, 0x451c9a8
mov ecx, 0xbd0478cc
xor ecx, 0xf2741ac1
add eax, ecx
add eax, 0x451c9a8
imul eax, eax, 0x67ebf369
cmp eax, 0x17e71cd0
jb 0x140160482
mov rcx, qword [rbp + 0x2a0]
mov eax, dword [0x1402b0f40]
sub eax, dword [0x1402b0f44]
sub eax, 0x8b854e25
mov r8d, 0x8d939c51
xor r8d, 0x8f3b995e
xor edx, edx
div r8d
mov edx, eax
mov rax, qword [rbp + 0xd8]
mov r10d, 0xffffffff
xor r10d, 0xa103817e
mov r9d, edx
and r9d, r10d
mov r8d, edx
or r8d, r10d
mov r10d, 0xf650db13
xor r10d, 0x9af24ec
xor r8d, r10d
imul r8d, r9d
mov r10d, 0x835c0ee5
xor r10d, 0x225f8f9b
mov r9d, edx
and r9d, r10d
or edx, 0xa103817e
imul edx, r9d
add edx, r8d
mov dword [rbp + 0xbc], edx
mov edx, 0x82b8ae2f
xor edx, 0xbc1b5f6a
mov dword [rbp + 0xb8], edx
mov rdx, qword [rax]
sub rsp, 0x20
call fcn.1400321d0
mov r8, qword [rbp + 0xd8]
mov ecx, dword [rbp + 0xb8]
mov eax, dword [rbp + 0xbc]
add rsp, 0x20
mov rdx, qword [r8]
mov qword [rbp + 0xc0], rdx
mov r8, qword [r8 + 8]
mov qword [rbp + 0xc8], r8
cmp rdx, 0
setg dl
mov byte [rbp + 0xd3], dl
cmp eax, ecx
jb 0x140160482
mov al, byte [rbp + 0xd3]
test al, 1
jne 0x14015ed9d
jmp 0x14015f199
mov rdx, qword [rbp + 0xc0]
mov rax, rdx
add rax, 1
mov qword [rbp + 0xb0], rax
mov r8, rdx
xor r8, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
movabs rcx, 0xe73bcfa9505a606d
movabs r9, 0x18c43056afa59f92
xor rcx, r9
and rcx, r8
shl rcx, 1
movabs r8, 0x9360ec79324ed4ba
movabs r9, 0x6c9f1386cdb12b45
xor r8, r9
sub rcx, r8
sub rdx, rcx
movabs rcx, 0x53232950d69f017d
movabs r8, 0xacdcd6af2960fe82
xor rcx, r8
xor rax, rcx
movabs rcx, 0xf673ab5638536683
movabs r8, 0x98c54a9c7ac997c
xor rcx, r8
xor rdx, rcx
movabs rcx, 0xf7c3bea1226a34bd
movabs r8, 0x2350fe8198e97ee9
xor rcx, r8
movabs r8, 0x47618e74708d9efc
movabs r9, 0xb89e718b8f726103
xor r8, r9
xor rcx, r8
or rax, rdx
movabs rdx, 0xd4934020ba834a54
or rcx, rdx
xor rax, 0xffffffffffffffff
and rax, rcx
cmp rax, 0
jge 0x14015ee90
sub rsp, 0x20
call fcn.14000ee80
add rsp, 0x20
jmp 0x14015f199
mov eax, dword [0x1402b0f48]
xor edx, edx
div dword [0x1402b0f4c]
mov ecx, eax
mov edx, 0x77a95595
xor edx, 0xe9427f1d
mov eax, ecx
and eax, edx
mov edx, 0xd47b2859
xor edx, 0x4a9002d1
or ecx, edx
add eax, ecx
or eax, 0x1f150e54
mov ecx, 0x1629b55f
xor ecx, 0x83ffddf
and eax, ecx
cmp eax, 0xca45607a
jae 0x14016048b
mov eax, dword [0x1402b0f50]
xor eax, 0xac6429c0
or eax, dword [0x1402b0f54]
or eax, 0xb84ba32f
mov edx, eax
xor edx, 0xffffffff
and edx, 0xd9114013
mov r8d, 0x3e2f9670
xor r8d, 0xe73ed663
mov ecx, 0x31912753
xor ecx, 0xce6ed8ac
xor r8d, ecx
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xd9114013
or eax, 0xd9114013
imul eax, edx
add eax, ecx
mov ecx, 0x3929eded
xor edx, edx
div ecx
mov rdx, qword [rbp + 0xb0]
mov ecx, 0x580245c8
xor ecx, 0xaf19ceaf
cmp rdx, 0
setl dl
mov byte [rbp + 0xaf], dl
cmp eax, ecx
je 0x14015eedb
mov al, byte [rbp + 0xaf]
test al, 1
jne 0x14015ef74
jmp 0x14015efbb
mov rcx, qword [rbp + 0xb0]
movabs rdx, 0xceb880f8a4e79e07
movabs rax, 0xceb880f8a4e79e07
xor rdx, rax
movabs r8, 0x94ff8250b9584f2b
movabs rax, 0xeb007daf46a7b0d4
xor r8, rax
sub rsp, 0x20
call fcn.140018506
add rsp, 0x20
jmp 0x14015f199
mov rax, qword [rbp + 0xc8]
mov rdx, qword [rbp + 0x2a0]
mov rcx, qword [rbp + 0x290]
mov rcx, qword [rcx]
add rcx, 8
add rcx, qword [rdx]
mov qword [rbp + 0x90], rcx
add rax, 8
mov qword [rbp + 0x98], rax
xor eax, eax
mov qword [rbp + 0xa0], rax
mov rax, qword [rbp + 0xa0]
mov qword [rbp + 0x88], rax
mov eax, dword [0x1402b0f58]
mov ecx, dword [0x1402b0f5c]
xor ecx, 0x9935a095
imul eax, ecx
mov ecx, 0xb6786ca3
xor edx, edx
div ecx
imul eax, eax, 0x8eb0e115
add eax, 0x1ff43c7f
cmp eax, 0xc60bcf8c
jae 0x140160494
mov r8, qword [rbp + 0xc0]
mov r9, qword [rbp + 0x90]
mov r10, qword [rbp + 0x98]
mov eax, dword [0x1402b0f60]
mov ecx, dword [0x1402b0f64]
xor ecx, 0xffffffff
add eax, ecx
add eax, 1
mov ecx, 0x9b15c1c4
xor edx, edx
div ecx
mov rdx, qword [rbp + 0x88]
mov esi, 0xffffffff
xor esi, 0xb60c98d4
mov r11d, eax
and r11d, esi
mov ecx, eax
or ecx, esi
xor ecx, 0xffffffff
imul ecx, r11d
mov r11d, eax
and r11d, 0xb60c98d4
mov esi, 0x6fe97fe6
xor esi, 0xd9e5e732
or eax, esi
imul eax, r11d
add eax, ecx
add eax, 0xa9f79761
mov ecx, 0x4180c306
xor ecx, 0xac6d8925
mov r10b, byte [r10 + rdx]
mov byte [r9 + rdx], r10b
movabs r10, 0x1723df3d949c5589
movabs r9, 0x1723df3d949c5589
xor r10, r9
movabs r9, 0x1f1ca49183cce93e
movabs r11, 0x1f1ca49183cce93f
xor r9, r11
sub r10, r9
mov r9, rdx
sub r9, r10
mov qword [rbp + 0x78], r9
cmp rdx, r8
sete dl
mov byte [rbp + 0x87], dl
cmp eax, ecx
ja 0x140160494
mov rax, qword [rbp + 0x78]
mov cl, byte [rbp + 0x87]
test cl, 1
mov qword [rbp + 0xa0], rax
jne 0x14015f12f
jmp 0x14015eff5
mov r8, qword [rbp + 0xc0]
mov rax, qword [rbp + 0x2a0]
mov rdx, qword [rax]
xor eax, eax
sub rax, rdx
xor ecx, ecx
sub rcx, r8
add rax, rcx
xor ecx, ecx
sub rcx, rax
mov qword [rbp + 0x70], rcx
mov rax, rcx
xor rax, rdx
mov rdx, rcx
and rdx, r8
shl rdx, 1
add rcx, r8
sub rcx, rdx
and rax, rcx
cmp rax, 0
jge 0x14015f18b
sub rsp, 0x20
call fcn.14000ee80
add rsp, 0x20
jmp 0x14015f199
mov rax, qword [rbp + 0x2a0]
mov rcx, qword [rbp + 0x70]
mov qword [rax], rcx
jmp 0x14015fc76
jmp 0x140160319
mov al, byte [rbp + 0x243]
mov cx, word [rbp + 0xec]
cmp al, cl
je 0x14015f2d6
mov eax, dword [0x1402b0f68]
mov edx, dword [0x1402b0f6c]
mov ecx, edx
and ecx, eax
mov r8d, 0xa6b6a9e7
xor r8d, 0x59495618
xor ecx, r8d
add eax, edx
add eax, 1
add eax, ecx
mov ecx, 0x89bc7d9d
xor ecx, 0x1bcfb93b
and eax, ecx
add eax, 0xff99556d
mov ecx, 0x9dffd14c
xor edx, edx
div ecx
mov ecx, 0x9e571056
xor ecx, 0xb5b99407
cmp eax, ecx
jae 0x14016049d
mov eax, dword [0x1402b0f70]
mov ecx, dword [0x1402b0f74]
xor ecx, 0x77e697de
xor edx, edx
div ecx
and eax, 0x78a4ca37
imul eax, eax, 0x148a0319
mov r8d, 0x24e74c16
xor r8d, 0x8fc32b90
mov ecx, 0x921471ee
xor ecx, 0x6deb8e11
xor r8d, ecx
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
mov r8d, 0xaeacddc4
xor r8d, 0x5153223b
xor ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xab246786
or eax, 0xab246786
imul eax, edx
add eax, ecx
mov dword [rbp + 0x68], eax
mov eax, 0x7ad2aba0
xor eax, 0xb20280a0
mov dword [rbp + 0x64], eax
mov ecx, 0xaccb
mov edx, 0x4431
sub rsp, 0x20
call fcn.14009026b
mov rdx, qword [rbp + 0x2d0]
mov ecx, dword [rbp + 0x64]
add rsp, 0x20
mov r8w, ax
mov eax, dword [rbp + 0x68]
mov word [rbp + 0x6c], r8w
cmp byte [rdx], 0
sete dl
mov byte [rbp + 0x6f], dl
cmp eax, ecx
je 0x14016049d
mov al, byte [rbp + 0x6f]
test al, 1
jne 0x14015f36e
jmp 0x14015f5be
mov word [rbp + 0x338], 0x384
lea rcx, [rbp + 0x338]
sub rsp, 0x20
call fcn.14008b2d0
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x2d0]
mov qword [rbp + 0x58], rcx
mov al, byte [rax]
mov cl, 0x3b
xor cl, 0x3b
cmp al, cl
je 0x14015f315
jmp 0x140160319
mov rcx, qword [rbp + 0x2a0]
mov rax, qword [rbp + 0x58]
mov rdx, qword [rax]
sub rsp, 0x20
call fcn.1400321d0
mov rax, qword [rbp + 0x58]
mov rcx, qword [rbp + 0x2a0]
add rsp, 0x20
mov rdx, qword [rax]
mov qword [rbp + 0x328], rdx
mov rax, qword [rax + 8]
mov qword [rbp + 0x330], rax
lea rdx, [rbp + 0x328]
sub rsp, 0x20
call fcn.14015c610
add rsp, 0x20
jmp 0x14015fc76
jmp 0x140160319
mov al, byte [rbp + 0x243]
mov cx, word [rbp + 0x6c]
cmp al, cl
je 0x14015f499
mov ecx, dword [0x1402b0f78]
mov edx, dword [0x1402b0f7c]
mov eax, ecx
and eax, edx
xor ecx, edx
or eax, ecx
sub eax, 0xe282fe2e
mov ecx, 0x60126de5
xor ecx, 0xe7ab39a4
add eax, ecx
mov ecx, 0x7ae1548a
xor ecx, 0x9863aaa4
add eax, ecx
mov ecx, 0xd24b1936
xor edx, edx
div ecx
mov ecx, 0x7253d6a6
xor ecx, 0xdb16082
xor edx, edx
div ecx
cmp eax, 0x2019a1ec
jae 0x1401604a6
mov ecx, dword [0x1402b0f80]
mov eax, dword [0x1402b0f84]
mov edx, 0xc5431f99
xor edx, 0x9a438bb8
xor eax, edx
or ecx, eax
mov eax, ecx
xor eax, 0xffffffff
and eax, 0xd39d926c
mov edx, 0xffffffff
xor edx, 0xd39d926c
and ecx, edx
sub ecx, eax
or ecx, 0xda51eb89
mov eax, ecx
or eax, 0xb6dad427
xor eax, 0xffffffff
or ecx, 0xb6dad427
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0xb9472f1c
xor ecx, 0x46b8d0e3
xor eax, ecx
mov dword [rbp + 0x50], eax
mov eax, 0xaa93f6f3
xor eax, 0x58e6dfcc
mov dword [rbp + 0x4c], eax
mov ecx, 0xf518
mov edx, 0x1de5
sub rsp, 0x20
call fcn.14009026b
mov rdx, qword [rbp + 0x2d0]
mov ecx, dword [rbp + 0x4c]
add rsp, 0x20
mov r8w, ax
mov eax, dword [rbp + 0x50]
mov word [rbp + 0x54], r8w
mov dl, byte [rdx]
mov r8b, 0x10
xor r8b, 0x10
cmp dl, r8b
sete dl
mov byte [rbp + 0x57], dl
cmp eax, ecx
je 0x1401604a6
mov al, byte [rbp + 0x57]
test al, 1
jne 0x14015f5c3
jmp 0x14015f892
mov rcx, qword [rbp + 0x2b0]
mov word [rcx], 0x1c9
sub rsp, 0x20
call fcn.14008b2d0
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x2d0]
mov qword [rbp + 0x40], rcx
cmp byte [rax], 0
je 0x14015f56a
mov eax, dword [0x1402b0f88]
mov ecx, dword [0x1402b0f8c]
xor ecx, 0xefc08a2e
add eax, ecx
imul eax, eax, 0xf44d9f9c
sub eax, 0x3a9bf001
mov ecx, 0xf001dd37
xor ecx, 0x40d53a8b
sub eax, ecx
mov ecx, 0x9287a369
xor ecx, 0xa81c5368
add eax, ecx
or eax, 0xf469cb7f
cmp eax, 0xcd4dfee
je 0x1401604af
mov eax, dword [0x1402b0f90]
mov ecx, 0x40e3c6f7
xor ecx, 0xc2b18cd
xor eax, ecx
or eax, dword [0x1402b0f94]
add eax, 0x5c1fea0e
or eax, 0x43177082
mov edx, 0xffffffff
xor edx, 0x66268717
mov ecx, eax
and ecx, edx
mov r8d, 0xb086773a
xor r8d, 0xd6a0f02d
mov edx, eax
xor edx, r8d
add eax, edx
sub eax, ecx
cmp eax, 0x78ed0b90
ja 0x1401604af
jmp 0x140160319
mov rcx, qword [rbp + 0x2a0]
mov rax, qword [rbp + 0x40]
mov rdx, qword [rax]
sub rsp, 0x20
call fcn.1400321d0
mov rax, qword [rbp + 0x40]
mov rcx, qword [rbp + 0x2a0]
add rsp, 0x20
mov rdx, qword [rax]
mov qword [rbp + 0x318], rdx
mov rax, qword [rax + 8]
mov qword [rbp + 0x320], rax
lea rdx, [rbp + 0x318]
sub rsp, 0x20
call fcn.14015c610
add rsp, 0x20
jmp 0x14015fc76
jmp 0x140160319
mov eax, dword [0x1402b0f98]
xor eax, 0xae5bb825
xor edx, edx
div dword [0x1402b0f9c]
add eax, 0x39c34d61
mov ecx, 0x6d5e3119
xor ecx, 0x73c5f55e
imul eax, ecx
mov r8d, 0xffffffff
xor r8d, 0x5de01d44
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x5de01d44
or eax, 0x5de01d44
imul eax, edx
add eax, ecx
cmp eax, 0x2915bdf2
jbe 0x1401604b8
mov r8w, word [rbp + 0x54]
mov eax, dword [0x1402b0fa0]
mov ecx, dword [0x1402b0fa4]
xor ecx, 0xa55d1314
and eax, ecx
add eax, 0xce5af60d
add eax, 0xdce1161a
mov ecx, 0x2ac4c821
xor ecx, 0xa7463b22
xor edx, edx
div ecx
mov dl, byte [rbp + 0x243]
mov ecx, 0x44b31b3d
xor ecx, 0x275a6fd7
cmp dl, r8b
sete dl
mov byte [rbp + 0x3f], dl
cmp eax, ecx
ja 0x1401604b8
mov al, byte [rbp + 0x3f]
test al, 1
jne 0x14015f6ba
jmp 0x14015f687
mov ecx, 0xd2fa
mov edx, 0x3a03
sub rsp, 0x20
call fcn.14009026b
add rsp, 0x20
mov cx, ax
mov rax, qword [rbp + 0x2d0]
mov word [rbp + 0x3c], cx
cmp byte [rax], 0
je 0x14015f897
jmp 0x14015fa0b
mov eax, dword [0x1402b0fa8]
and eax, dword [0x1402b0fac]
mov ecx, 0x8fe60b01
xor ecx, 0x4c37ab41
add eax, ecx
and eax, eax
xor eax, 0xffffffff
mov ecx, 0x23a70826
xor ecx, 0xa497bfb
mov edx, 0x6075d27c
xor edx, 0x499ba1a1
and ecx, edx
mov edx, 0xeabcc64c
xor edx, 0x154339b3
xor ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
xor eax, 0xffffffff
mov ecx, 0xffffffff
xor ecx, 0xef787c92
mov edx, 0xaa404e1a
xor edx, 0x9b6c1e39
mov r8d, 0x42e4e1dc
xor r8d, 0xbd1b1e23
xor edx, r8d
or eax, ecx
mov ecx, 0x2ded199f
xor ecx, 0x1cc149bc
or ecx, edx
xor eax, 0xffffffff
and eax, ecx
cmp eax, 0x423a271a
jae 0x1401604c1
mov r11d, dword [0x1402b0fb0]
sub r11d, dword [0x1402b0fb4]
mov ecx, r11d
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x5701bcba
mov r8d, 0xffffffff
xor r8d, 0x7d1d56a1
mov eax, ecx
and eax, 0x7d1d56a1
and r11d, r8d
mov r9d, edx
and r9d, 0x7d1d56a1
mov r10d, r8d
and r10d, 0x5701bcba
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, edx
mov edx, 0x186fe826
xor edx, 0xe79017d9
xor ecx, edx
mov edx, 0xc3199bea
xor edx, 0xbe04cd4b
or edx, r8d
and ecx, edx
or eax, ecx
sub eax, 0x10289c3a
mov ecx, 0x3f106440
xor edx, edx
div ecx
mov dword [rbp + 0x2c], eax
mov eax, 0x75b95954
xor eax, 0xf1130ca0
mov dword [rbp + 0x28], eax
mov ax, 0x9645
xor ax, 0x9787
mov word [rbp + 0x316], ax
lea rcx, [rbp + 0x316]
sub rsp, 0x20
call fcn.14008b2d0
mov rdx, qword [rbp + 0x2d0]
mov ecx, dword [rbp + 0x28]
add rsp, 0x20
mov r8, rax
mov eax, dword [rbp + 0x2c]
mov qword [rbp + 0x30], r8
mov dl, byte [rdx]
mov r8b, 0xdf
xor r8b, 0xdf
cmp dl, r8b
sete dl
mov byte [rbp + 0x3b], dl
cmp eax, ecx
je 0x1401604c1
mov al, byte [rbp + 0x3b]
test al, 1
jne 0x14015f845
jmp 0x14015f840
jmp 0x140160319
mov rcx, qword [rbp + 0x2a0]
mov rax, qword [rbp + 0x30]
mov rdx, qword [rax]
sub rsp, 0x20
call fcn.1400321d0
mov rax, qword [rbp + 0x30]
mov rcx, qword [rbp + 0x2a0]
mov rdx, qword [rbp + 0x2c0]
add rsp, 0x20
mov r8, qword [rax]
mov qword [rdx], r8
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.14015c610
add rsp, 0x20
jmp 0x14015fc76
jmp 0x140160319
mov al, byte [rbp + 0x243]
mov cx, word [rbp + 0x3c]
cmp al, cl
je 0x14015f8ea
mov rcx, qword [rbp + 0x2c8]
mov ax, 0xb7b6
xor ax, 0xb68a
mov word [rcx], ax
sub rsp, 0x20
call fcn.14008b2d0
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x2d0]
mov qword [rbp + 0x20], rcx
mov al, byte [rax]
mov cl, 0x8b
xor cl, 0x8b
cmp al, cl
je 0x14015fa10
jmp 0x14015fb33
mov ax, 0x25c4
xor ax, 0x2461
mov word [rbp + 0x314], ax
lea rcx, [rbp + 0x314]
sub rsp, 0x20
call fcn.14008b2d0
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x2d0]
mov qword [rbp + 0x18], rcx
cmp byte [rax], 0
je 0x14015f9b7
mov eax, dword [0x1402b0fb8]
xor edx, edx
div dword [0x1402b0fbc]
mov ecx, 0x1dad1b9e
xor ecx, 0xb580bfb
xor edx, edx
div ecx
mov ecx, 0xf21da20e
xor edx, edx
div ecx
mov ecx, 0xf850352a
xor ecx, 0x548b61cb
add eax, ecx
cmp eax, 0xea9d00fa
ja 0x1401604ca
mov eax, dword [0x1402b0fc0]
imul eax, dword [0x1402b0fc4]
mov ecx, 0x5e89a319
xor ecx, 0x7e1b0209
sub eax, ecx
add eax, 0x8fb9db1f
mov ecx, 0x901abda8
xor ecx, 0xb0881cb8
add eax, ecx
add eax, 0x5f4084b6
mov ecx, 0xffffffff
xor ecx, 0xc8631022
xor edx, edx
sub edx, 1
sub ecx, edx
sub eax, ecx
cmp eax, 0xb15c01a4
je 0x1401604ca
jmp 0x140160319
mov rcx, qword [rbp + 0x2a0]
mov rax, qword [rbp + 0x18]
mov rdx, qword [rax]
sub rsp, 0x20
call fcn.1400321d0
mov rax, qword [rbp + 0x18]
mov rcx, qword [rbp + 0x2a0]
add rsp, 0x20
mov rdx, qword [rax]
mov qword [rbp + 0x300], rdx
mov rax, qword [rax + 8]
mov qword [rbp + 0x308], rax
lea rdx, [rbp + 0x300]
sub rsp, 0x20
call fcn.14015c610
add rsp, 0x20
jmp 0x14015fc76
jmp 0x140160319
mov rax, qword [rbp + 0x20]
mov rax, qword [rax + 8]
mov qword [rbp + 8], rax
mov word [rbp + 0x2fe], 0x2da
lea rcx, [rbp + 0x2fe]
sub rsp, 0x20
call fcn.14008b2d0
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x2d0]
mov qword [rbp + 0x10], rcx
mov al, byte [rax]
mov cl, 0x14
xor cl, 0x14
cmp al, cl
jne 0x14015fb33
mov rcx, qword [rbp + 0x2a0]
mov rax, qword [rbp + 0x10]
mov rdx, qword [rax]
sub rsp, 0x20
call fcn.1400321d0
mov rax, qword [rbp + 0x10]
mov rcx, qword [rbp + 0x2a0]
add rsp, 0x20
mov rdx, qword [rax]
mov qword [rbp + 0x2e8], rdx
mov rax, qword [rax + 8]
mov qword [rbp + 0x2f0], rax
lea rdx, [rbp + 0x2e8]
sub rsp, 0x20
call fcn.14015c610
add rsp, 0x20
mov ecx, 0x188
sub rsp, 0x20
call fcn.14008c370
add rsp, 0x20
mov cl, al
mov rax, qword [rbp + 0x2d0]
mov byte [rbp + 7], cl
cmp byte [rax], 0
jne 0x14015fb33
mov rax, qword [rbp + 8]
mov edx, dword [rbp + 0x244]
mov cl, byte [rbp + 7]
movzx ecx, cl
shr edx, cl
mov rcx, qword [rbp + 0x2a0]
mov r8d, 0x4f692118
xor r8d, 0x4f6921e7
and edx, r8d
mov edx, edx
mov dl, byte [rax + rdx + 8]
sub rsp, 0x20
call fcn.140160510
add rsp, 0x20
mov cx, 0x162
xor cx, 0xb8
sub rsp, 0x20
call fcn.14008c370
add rsp, 0x20
mov cl, al
mov rax, qword [rbp + 0x2d0]
mov byte [rbp + 6], cl
cmp byte [rax], 0
je 0x14015fb38
jmp 0x140160319
mov eax, dword [0x1402b0fc8]
and eax, dword [0x1402b0fcc]
mov r8d, 0xffffffff
xor r8d, 0xba3a5878
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
mov r8d, 0x3e5dc218
xor r8d, 0xc1a23de7
xor ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xba3a5878
or eax, 0xba3a5878
imul eax, edx
add eax, ecx
xor ecx, ecx
sub ecx, 0x409ed327
sub eax, ecx
mov ecx, 0x4b9c017d
xor edx, edx
div ecx
mov ecx, 0x3f318b6b
xor ecx, 0xcd38652c
cmp eax, ecx
jae 0x1401604d3
mov rcx, qword [rbp + 0x2a0]
mov rax, qword [rbp + 8]
mov r8b, byte [rbp + 0x243]
mov dl, byte [rbp + 6]
mov esi, dword [0x1402b0fd0]
or esi, dword [0x1402b0fd4]
mov r9d, esi
xor r9d, 0xffffffff
and r9d, 0x918158e5
mov r11d, 0xffffffff
xor r11d, 0x918158e5
and esi, r11d
mov r10d, 0xffffffff
xor r10d, 0xef96b1f1
and r10d, 0x918158e5
and r11d, 0xef96b1f1
or r9d, esi
or r10d, r11d
xor r9d, r10d
mov r10d, 0xffffffff
xor r10d, 0x514dec9c
mov r11d, 0xdc80b562
xor r11d, 0xdc80b562
mov esi, 0xed17b4c8
xor esi, 0xed17b4c9
sub r11d, esi
sub r10d, r11d
sub r9d, r10d
mov r10d, 0x9466f72a
xor r10d, 0x63e77e5f
imul r9d, r10d
mov dword [rbp], r9d
and dl, r8b
movzx edx, dl
mov dl, byte [rax + rdx + 8]
sub rsp, 0x20
call fcn.140160510
mov eax, dword [rbp]
add rsp, 0x20
cmp eax, 0xcfd0fb22
je 0x1401604d3
jmp 0x14015fc76
mov r8d, dword [0x1402b0fd8]
mov edx, dword [0x1402b0fdc]
mov eax, r8d
xor eax, 0xffffffff
and eax, 0x270260ec
mov r9d, 0xffffffff
xor r9d, 0x270260ec
and r8d, r9d
mov r10d, 0x186c8da
xor r10d, 0xfe793725
mov ecx, edx
xor ecx, r10d
and ecx, 0x270260ec
and edx, r9d
or eax, r8d
or ecx, edx
xor eax, ecx
imul eax, eax, 0xdbcee6d0
mov ecx, 0xc5d7370d
xor edx, edx
div ecx
xor eax, 0xfaae28b4
mov ecx, 0x55e50827
xor ecx, 0xbdaa0f61
cmp eax, ecx
jbe 0x1401604dc
mov rcx, qword [rbp + 0x1d0]
mov eax, dword [0x1402b0fe0]
mov edx, dword [0x1402b0fe4]
mov r8d, 0x70afa9da
xor r8d, 0x3c1a4f23
xor edx, r8d
mov r8d, 0xa69b3910
xor r8d, 0xa4dd0a4
add eax, r8d
sub eax, edx
sub eax, 0xacd6e9b4
mov r8d, 0x40ae14fb
xor edx, edx
div r8d
mov edx, eax
xor edx, 0x1a02afdb
xor edx, 0xffffffff
or eax, 0x1a02afdb
and eax, edx
mov edx, 0x26c41328
xor edx, 0xff2feb52
add eax, edx
movabs rdx, 0x80aec85e79f9b0d8
movabs r8, 0x80aec85e79f9b0d9
xor rdx, r8
add rcx, rdx
mov qword [rbp - 8], rcx
cmp eax, 0x35bc3f7f
jb 0x14015fce7
mov rax, qword [rbp - 8]
mov rcx, rax
mov qword [rbp + 0x1f8], rcx
mov qword [rbp + 0x200], rax
jmp 0x14015fd8e
mov rdx, qword [rbp + 0x2a8]
mov rax, qword [rbp + 0x1f8]
mov rcx, qword [rbp + 0x200]
mov rdx, qword [rdx]
cmp rax, rdx
mov qword [rbp + 0x250], rdx
mov rdx, rax
mov qword [rbp + 0x258], rdx
mov rdx, rcx
mov qword [rbp + 0x260], rdx
mov qword [rbp + 0x270], rcx
mov qword [rbp + 0x278], rax
jl 0x14015d66c
mov rax, qword [rbp + 0x270]
mov rcx, qword [rbp + 0x278]
mov qword [rbp - 0x18], rcx
mov qword [rbp - 0x10], rax
mov ecx, dword [0x1402b0fe8]
add ecx, dword [0x1402b0fec]
mov edx, 0x1abab5f0
xor edx, 0x31aca84b
mov eax, 0xafc26bc7
xor eax, 0x503d9438
xor edx, eax
mov eax, ecx
and eax, edx
mov edx, ecx
xor edx, 0x2b161dbb
add ecx, edx
sub ecx, eax
and ecx, 0x5f8404a6
mov eax, ecx
and eax, 0x74d046db
or ecx, 0x74d046db
add eax, ecx
mov ecx, 0x4f4bfbc9
xor ecx, 0x7b09f064
cmp eax, ecx
jbe 0x1401604e5
mov r8, qword [rbp - 0x10]
mov eax, dword [0x1402b0ff0]
xor edx, edx
div dword [0x1402b0ff4]
mov rdx, qword [rbp - 0x18]
mov r10d, eax
mov ecx, 0xb93672a0
xor ecx, 0xcb001b53
mov eax, r10d
xor eax, ecx
xor eax, 0xffffffff
or r10d, 0x723669f3
and r10d, eax
xor r10d, 0xfcca7dbc
mov eax, r10d
xor eax, 0xffffffff
and eax, 0x1b916d15
mov r11d, 0x5e19338c
xor r11d, 0x45885e99
mov ecx, 0xcbc2355f
xor ecx, 0x343dcaa0
xor r11d, ecx
and r10d, r11d
mov ecx, 0xad6ece01
xor ecx, 0xc6988280
mov r9d, 0x3335dc62
xor r9d, 0xccca239d
xor ecx, r9d
and ecx, 0x1b916d15
mov r9d, 0x7c0c6954
xor r9d, 0x17fa25d5
and r9d, r11d
or eax, r10d
or ecx, r9d
xor eax, ecx
mov ecx, 0x93858049
xor ecx, 0x4925e986
movabs r9, 0xb6a14605c8ef4794
add rdx, r9
sub rdx, r8
movabs r8, 0x636fabe4bf3c7f00
movabs r9, 0xd5ceede177d33894
xor r8, r9
sub rdx, r8
mov qword [rbp - 0x28], rdx
cmp rdx, 0
setg dl
mov byte [rbp - 0x19], dl
cmp eax, ecx
je 0x14015fe49
mov al, byte [rbp - 0x19]
test al, 1
jne 0x14015ff43
jmp 0x140160117
mov rcx, qword [rbp + 0x2a0]
mov rax, qword [rbp - 0x28]
mov rdx, qword [rbp + 0x2a8]
mov rdx, qword [rdx + 8]
mov qword [rbp - 0x48], rdx
mov rdx, qword [rcx]
mov qword [rbp - 0x50], rdx
add rdx, rax
sub rsp, 0x20
call fcn.140028330
mov rdx, qword [rbp + 0x290]
mov r8, qword [rbp - 0x50]
mov rax, qword [rbp - 0x48]
mov rcx, qword [rbp - 0x10]
add rsp, 0x20
mov rdx, qword [rdx]
add rdx, 8
add rdx, r8
mov qword [rbp - 0x40], rdx
add rax, 8
add rax, rcx
mov qword [rbp - 0x38], rax
xor eax, eax
mov qword [rbp - 0x30], rax
mov rax, qword [rbp - 0x30]
mov qword [rbp - 0x58], rax
mov ecx, dword [0x1402b0ff8]
mov edx, dword [0x1402b0ffc]
mov r8d, 0x416f172d
xor r8d, 0x416f172c
mov eax, ecx
add eax, r8d
mov r8d, 0xf3b3bd58
xor r8d, 0xc4c42a7
xor ecx, r8d
or ecx, edx
add ecx, eax
mov edx, 0xffffffff
xor edx, 0xafc00932
mov eax, ecx
and eax, edx
mov edx, ecx
xor edx, 0xafc00932
add ecx, edx
sub ecx, eax
mov eax, ecx
and eax, 0x9755cd38
or ecx, 0x9755cd38
add eax, ecx
mov ecx, 0xf1042a40
xor ecx, 0x5f8ec427
xor eax, ecx
cmp eax, 0xaecf6726
jb 0x1401604ee
mov rdx, qword [rbp - 0x28]
mov rcx, qword [rbp - 0x58]
mov r8, qword [rbp - 0x40]
mov r9, qword [rbp - 0x38]
mov r14d, dword [0x1402b1000]
mov ebx, dword [0x1402b1004]
mov eax, 0x2c260925
xor eax, 0xd3d9f6da
mov r10d, r14d
xor r10d, eax
mov eax, 0x40f38587
xor eax, 0xbf0c7a78
mov r11d, ebx
xor r11d, eax
mov esi, 0xffffffff
xor esi, 0x55da7a3d
mov eax, r10d
and eax, 0x55da7a3d
and r14d, esi
mov edi, r11d
and edi, 0x55da7a3d
and ebx, esi
or eax, r14d
or edi, ebx
xor eax, edi
or r10d, r11d
xor r10d, 0xffffffff
mov r11d, 0xd7b88a86
xor r11d, 0x8262f0bb
or r11d, esi
and r10d, r11d
or eax, r10d
sub eax, 0x547ae7d8
add eax, 0xa65b8ed5
xor eax, 0xb4c5e65
mov r9b, byte [r9 + rcx]
mov byte [r8 + rcx], r9b
movabs r8, 0x19a27c98538fc88a
movabs r9, 0x717962001a09ad93
xor r8, r9
add rcx, r8
add rcx, 1
movabs r8, 0x68db1e9849866519
sub rcx, r8
mov qword [rbp - 0x68], rcx
cmp rcx, rdx
sete cl
mov byte [rbp - 0x59], cl
cmp eax, 0x78a5bfa9
je 0x140160022
mov rax, qword [rbp - 0x68]
mov cl, byte [rbp - 0x59]
test cl, 1
mov qword [rbp - 0x30], rax
jne 0x140160117
jmp 0x14015ffa6
mov eax, dword [str._nBl_X]
imul eax, dword [0x1402b100c]
mov edx, 0x95ac0afd
xor edx, 0x95ac0afc
mov ecx, eax
add ecx, edx
mov edx, 0x744a0ae2
xor edx, 0x8bb5f51d
xor eax, edx
or eax, 0x502044eb
add eax, ecx
imul eax, eax, 0x894c15bb
mov ecx, eax
and ecx, 0xc78af26b
xor ecx, 0xffffffff
add eax, 0xc78af26b
add eax, 1
add eax, ecx
mov ecx, 0xd9987fa4
xor ecx, 0x17e6f0ba
cmp eax, ecx
je 0x1401604f7
mov rcx, qword [rbp + 0x2d0]
mov eax, dword [0x1402b1010]
mov edx, 0x2fc0720d
xor edx, 0xa366142f
xor eax, edx
mov edx, dword [0x1402b1014]
xor edx, 0xffffffff
add eax, edx
add eax, 1
mov r9d, 0xffffffff
xor r9d, 0xe6f7cfdf
mov r8d, eax
and r8d, r9d
mov edx, eax
or edx, r9d
mov r9d, 0xb25b85fd
xor r9d, 0x4da47a02
xor edx, r9d
imul edx, r8d
mov r8d, eax
and r8d, 0xe6f7cfdf
or eax, 0xe6f7cfdf
imul eax, r8d
add eax, edx
mov r8d, 0x7611ecf9
xor edx, edx
div r8d
and eax, 0x9908fbf5
cmp byte [rcx], 0
sete cl
mov byte [rbp - 0x69], cl
cmp eax, 0x9028c521
jae 0x140160175
mov al, byte [rbp - 0x69]
test al, 1
jne 0x140160212
jmp 0x140160319
mov cx, 0x3d15
xor cx, 0x15d6
mov dx, 0x9eae
xor dx, 0x5ebf
sub rsp, 0x20
call fcn.14009026b
add rsp, 0x20
mov cx, ax
mov rax, qword [rbp + 0x2d0]
mov word [rbp - 0x6c], cx
cmp byte [rax], 0
jne 0x140160319
mov rcx, qword [rbp + 0x2a0]
mov ax, word [rbp - 0x6c]
mov byte [rbp - 0x79], al
mov edx, 1
sub rsp, 0x20
call fcn.1400321d0
mov rcx, qword [rbp + 0x290]
mov r8b, byte [rbp - 0x79]
mov rax, qword [rbp + 0x2a0]
add rsp, 0x20
mov rcx, qword [rcx]
mov rdx, qword [rax]
mov byte [rcx + rdx + 8], r8b
mov rcx, qword [rax]
movabs rdx, 0xbf6c4f13927dc549
mov rax, rcx
sub rax, rdx
add rax, 1
movabs rdx, 0xbf6c4f13927dc549
add rax, rdx
mov qword [rbp - 0x78], rax
movabs rdx, 0x377d10648241c9a8
movabs r8, 0xc882ef9b7dbe3657
xor rdx, r8
xor rcx, rdx
and rax, rcx
movabs rcx, 0x7fc99b8ffa8624bc
movabs rdx, 0x7fc99b8ffa8624bc
xor rcx, rdx
cmp rax, rcx
jge 0x1401602fc
sub rsp, 0x20
call fcn.14000ee80
add rsp, 0x20
jmp 0x140160319
mov rcx, qword [rbp - 0x78]
mov rax, qword [rbp + 0x290]
mov rdx, qword [rbp + 0x2a0]
mov qword [rdx], rcx
mov rax, qword [rax]
mov byte [rax + rcx + 8], 0
mov eax, dword [0x1402b1018]
mov ecx, dword [0x1402b101c]
mov edx, 0xc38261c4
xor edx, 0x324c1a3a
xor ecx, edx
xor eax, ecx
mov ecx, 0x643b826a
xor ecx, 0x9bc47d95
mov edx, eax
xor edx, ecx
and edx, 0x2926fe0a
mov r8d, 0xffffffff
xor r8d, 0x2926fe0a
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x2926fe0a
or eax, 0x2926fe0a
imul eax, edx
add eax, ecx
xor eax, 0x36b8feb2
imul eax, eax, 0x81203fd7
mov ecx, 0xeeed7fae
xor ecx, 0xe701bd99
cmp eax, ecx
je 0x140160500
mov eax, dword [0x1402b1020]
and eax, dword [0x1402b1024]
sub eax, 0x4e51634c
add eax, 0x108d447b
mov ecx, 0x7ab0b69a
xor ecx, 0x34e1d5d6
add eax, ecx
mov edx, eax
xor edx, 0x118cd4e1
xor edx, 0xffffffff
and edx, 0x118cd4e1
mov ecx, 0xfe61cbc6
xor ecx, 0xfe61cbc4
imul ecx, edx
mov edx, 0x46621c6
xor edx, 0x15eaf527
sub ecx, edx
sub eax, ecx
mov ecx, 0xdea8ee48
xor ecx, 0xdfbcc952
sub eax, ecx
mov ecx, 0x40ce14c2
xor ecx, 0xa573ff90
sub eax, ecx
mov ecx, 0xfb8d1820
xor ecx, 0xfa993f3a
add eax, ecx
cmp eax, 0xa086800b
ja 0x14016038e
invalid
lea rsp, [rbp + 0x340]
pop rbx
pop rdi
pop rsi
pop r14
pop rbp
ret
lodsb al, byte [rsi]
mov dl, 0x26
mov ecx, gs
xor al, 0xd1
invalid
je 0x140160491
jns 0x140160459
jmp 0x14015d7ed
cli
pop rsi
or ecx, dword [rsi]
jmp 0x14015dc7e
fdivr st(7)
push qword [rbp - 0x1611e5bc]
mov esi, 0x39ffffda
invalid
mov ch, 0x44
sbb ch, dh
jmp 0x14015df01
cmp dword [rcx + 0x2f], eax
adc al, 0xe9
fcmovnu st(0), st(3)
invalid
mov dh, 0x62
invalid
add edi, dword [rbx]
jg 0x1401603ef
jmp 0x14015e53d
jmp 0x140160437
nop
clc
add byte [rcx - 0x1b8e17], ch
invalid
in al, dx
mov word [rcx], ds
pop rdx
jmp 0x14015eaa6
test dword [rdx + 0x2e], ecx
mov ebx, 0xffe781e9
call rax
mov cl, 0xe9
invalid
sal byte [rcx + 0x1be937e9], 1
call 0x16021048c
or ah, byte [rax]
and eax, 0xea47e928
invalid
invalid
xlatb
in eax, dx
cmpsd dword [rsi], dword [rdi]
mov cl, 0xe9
invalid
sub al, 0x3c
hlt
ror dword [rsi + 0x27e9279b], cl
out dx, eax
invalid
jne 0x140160513
xor dword [rdx], ebp
jmp 0x14015f512
clc
insb byte [rdi], dx
invalid
cmp dword [rbx], ecx
cdq
movsb byte [rdi], byte [rsi]
jmp 0x14015f74d
in al, 0x88
invalid
fadd dword [rax - 0x6d]
jle 0x1401604c1
retf 0xfff6
xchg edx, eax
rcl byte [rdi + 0x79], cl
jmp 0x14015fce7
in al, 0xae
and esp, dword [rbp - 0x6a417]
push rdx
fsub dword [rdi - 0xf]
fsub dword [rdi - 0xf]
jmp 0x140160022
lodsb al, byte [rsi]
mov edi, dword [rdx - 0x38a161e]
invalid
xchg dword [rbx - 0x7a166a1c], ecx
invalid
mov byte [rsp + 0x2f], dl