Function at 0x140003d40
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x38
mov r8, rdx
mov rsi, rcx
mov rax, qword [rdx + 0x10]
xor ecx, ecx
nop dword [rax]
test cl, cl
jne 0x140003d60
test rax, rax
je 0x140004290
mov rcx, qword [r8 + 0x30]
test rcx, rcx
je 0x140004290
nop word [rax + rax]
mov edx, dword [0x141585248]
add edx, dword [0x14158524c]
imul edx, edx, 0xd31df6c4
mov r9d, edx
not r9d
and r9d, 0x83d5981f
mov r10d, edx
and r10d, 0x7c2a67e0
imul r10d, r9d
mov r9d, edx
and r9d, 0x83d5981c
or edx, 0x83d5981f
imul edx, r9d
add edx, r10d
add edx, 0x297499c2
cmp edx, 0xd9bb8010
ja 0x140003d80
movzx r11d, word [r8 + 0x28]
nop word [rax + rax]
mov edx, dword [0x141585254]
mov r9d, edx
xor r9d, r9d
not r9d
and r9d, dword [0x141585250]
xor r9d, edx
imul rdx, r9, 0x1db594dd
shr rdx, 0x3c
add edx, 0x903e616d
cmp edx, 0x5d1e8f30
jb 0x140003de0
mov rdx, qword [r8 + 0x18]
mov r9d, 0x9ff5e9eb
xor r10d, r10d
nop
test r11w, r11w
je 0x140003e70
lea ebx, [r11 - 1]
mov edi, dword [0x141585270]
mov ebp, dword [0x141585274]
mov r14d, edi
not r14d
and r14d, ebp
mov r15d, ebp
not r15d
and r15d, edi
imul r15d, r14d
mov r14d, edi
and r14d, ebp
or edi, ebp
imul edi, r14d
add edi, r15d
cmp edi, 0x838e088c
je 0x140003e2a
mov edi, r11d
and edi, ebx
jmp 0x140003f40
mov r11d, dword [0x141585268]
mov edi, dword [0x14158526c]
mov ebx, r11d
and ebx, edi
add ebx, ebx
add r11d, edi
sub r11d, ebx
add r11d, 0x835028f7
imul r11, r9
shr r11, 0x3f
cmp r11d, 0xb1900d88
je 0x140003e70
add rax, 0xfffffffffffffc80
movdqa xmm0, xmmword [rdx]
add rdx, 0x10
pmovmskb r11d, xmm0
cmp r11w, 0xffff
je 0x140003e70
mov edi, dword [0x141585258]
or edi, dword [0x14158525c]
add edi, 0xb2593dd9
or edi, 0x6bfc5392
cmp edi, 0x6d168ee9
jb 0x140003f16
nop dword [rax]
mov edi, dword [0x141585260]
or edi, dword [0x141585264]
or edi, 0x369ff300
shr edi, 8
imul rdi, rdi, 0x11d2f73
shr rdi, 0x30
or edi, 0xb47c337e
mov qword [r8 + 0x18], rdx
mov qword [r8 + 0x10], rax
cmp edi, 0x1bdf19a
jae 0x140003f20
mov qword [r8 + 0x18], rdx
mov qword [r8 + 0x10], rax
jmp 0x140003ee0
mov edi, 0xfffffffe
sub edi, r11d
not edi
or edi, r11d
not r11d
not edi
nop word cs:[rax + rax]
mov ebx, dword [0x141585278]
mov r14d, dword [0x14158527c]
not r14d
add ebx, r14d
add ebx, 0x91179fe2
not ebx
and ebx, 0x8f791ffd
cmp ebx, 0x473b2e22
ja 0x140003f40
dec rcx
tzcnt r11d, r11d
neg r11
imul r11, r11, 0x38
lea rbx, [rax + r11]
add rbx, 0xffffffffffffffe0
test rbx, rbx
je 0x140003fa8
add r11, rax
movzx ebx, byte [rbx]
nop dword [rax + rax]
test r10b, r10b
jne 0x140003f90
cmp bl, 2
je 0x140003fd0
mov r11d, edi
test rcx, rcx
jne 0x140003e20
xor ecx, ecx
mov eax, dword [0x1415852a0]
xor edx, edx
div dword [0x1415852a4]
or eax, 0xb1b011f0
add eax, 0x5cc54eed
cmp eax, 0x74389910
jbe 0x14000423e
jmp 0x14000427a
mov word [r8 + 0x28], di
mov qword [r8 + 0x30], rcx
mov r14, qword [r11 - 0x10]
mov rdi, qword [r11 - 8]
test rdi, rdi
je 0x14000405d
xor eax, eax
nop dword [rax + rax]
test al, al
jne 0x140003ff0
test rdi, rdi
js 0x140004207
mov eax, dword [0x141585280]
mov ecx, dword [0x141585284]
mov edx, eax
not edx
or eax, ecx
not ecx
or ecx, edx
not ecx
not eax
or eax, ecx
not eax
add eax, 0x741d3a07
mov ecx, eax
not ecx
mov edx, eax
and edx, 0xc754795a
and ecx, 0x38ab86a5
imul ecx, edx
mov edx, eax
and edx, 0x38ab86a5
or eax, 0x38ab86a5
imul eax, edx
add eax, ecx
imul eax, eax, 0x5e8b9947
cmp eax, 0xabe076b7
jbe 0x140004156
jmp 0x1400041b4
mov ebx, 1
mov eax, dword [0x141585360]
mov ecx, dword [0x141585364]
add eax, ecx
add eax, 0x197d208a
and eax, 0x7ab48a86
xor eax, 0x5a808806
cmp eax, 0xdb72fbdf
jbe 0x1400040a0
mov rcx, rbx
mov rdx, r14
mov r8, rdi
call fcn.14021bb50
nop word cs:[rax + rax]
mov ebp, dword [0x141585368]
and ebp, dword [0x14158536c]
mov eax, ebp
not eax
mov ecx, ebp
and ecx, 0x4db0e19c
and eax, 0xb24f1e63
imul eax, ecx
mov ecx, ebp
and ecx, 0xb24f1e63
or ebp, 0xb24f1e63
imul ebp, ecx
add ebp, eax
mov rcx, rbx
mov rdx, r14
mov r8, rdi
call fcn.14021bb50
cmp ebp, 0x72ea5767
je 0x1400040a0
mov eax, dword [0x141585448]
xor eax, dword [0x14158544c]
and eax, 0xe8f09822
xor eax, 0x1f6ce0e8
add eax, 0xa2b42bac
cmp eax, 0x6803bbbc
ja 0x140004149
mov eax, dword [0x141585450]
mov ecx, dword [str._Yhdm]
mov edx, eax
not edx
and edx, ecx
not ecx
and ecx, eax
sub ecx, edx
imul eax, ecx, 0x2b3e05bd
add eax, 0x9f5c0552
or eax, 0x5a35befc
mov qword [rsi], rdi
mov qword [rsi + 8], rbx
mov qword [rsi + 0x10], rdi
cmp eax, 0x98e9fa86
jne 0x140005470
mov qword [rsi], rdi
mov qword [rsi + 8], rbx
mov qword [rsi + 0x10], rdi
jmp 0x14000410b
mov eax, dword [0x14158528c]
add eax, dword [0x141585288]
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x76b9154b
and ecx, 0x8946eab4
imul ecx, edx
mov edx, eax
and edx, 0x8946eab4
or eax, 0x8946eab4
imul eax, edx
add eax, ecx
imul eax, eax, 0x2a4da2c5
imul r15, rax, 0x7d6d4931
shr r15, 0x3e
movzx eax, byte [0x1415acbd0]
xor ecx, ecx
mov rdx, rdi
call fcn.1401ac910
cmp r15d, 0xbd04c0d1
jbe 0x1400041c7
movzx eax, byte [0x1415acbd0]
xor ecx, ecx
mov rdx, rdi
call fcn.14020ae90
jmp 0x140004156
mov rbx, rax
test rax, rax
je 0x140004207
mov eax, 0xf1c3f333
nop word cs:[rax + rax]
mov ecx, dword [0x141585290]
and ecx, dword [0x141585294]
add ecx, 0xe9a09420
imul rcx, rax
shr rcx, 0x3e
cmp ecx, 0xb3febb1
ja 0x1400041e0
jmp 0x140004062
mov eax, dword [0x141585298]
xor edx, edx
div dword [0x14158529c]
and eax, 0x7fffffff
xor eax, 0x4f4e84c1
add eax, 0x7de83e5d
and eax, 0x6bb582d0
cmp eax, 0xc7213352
ja 0x140004238
ud2
ud2
mov eax, dword [0x1415852a8]
mov edx, dword [0x1415852ac]
mov r9d, eax
not r9d
and r9d, edx
not edx
and edx, eax
sub edx, r9d
mov eax, edx
xor eax, 0x28000001
and eax, edx
not eax
or eax, 0xd7ffbf7e
mov word [r8 + 0x28], di
mov qword [r8 + 0x30], rcx
cmp eax, 0x95ee583f
jae 0x140004290
mov word [r8 + 0x28], di
mov qword [r8 + 0x30], rcx
jmp 0x14000423e
mov eax, dword [0x1415852b0]
xor edx, edx
div dword [str.fkIr]
add eax, 0x55a679d1
mov ecx, eax
and ecx, 0x559ec7e2
xor eax, 0xd59ec7e2
lea eax, [rax + rcx*2]
imul eax, eax, 0x802b7e3f
cmp eax, 0xf306b66e
ja 0x140004290
mov r9, qword [r8]
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x1400042d0
test r9, r9
je 0x140004bcd
xor eax, eax
nop
test al, al
jne 0x1400042e0
mov rdi, qword [r8 + 8]
mov eax, dword [0x1415852b8]
xor edx, edx
div dword [str.f_p_i]
mov eax, 0x80b33803
nop dword [rax + rax]
mov ecx, dword [0x1415852c0]
mov edx, dword [0x1415852c4]
mov r10d, edx
and r10d, ecx
add ecx, edx
sub ecx, r10d
mov edx, ecx
not edx
and edx, 0x172fa329
mov r10d, ecx
and r10d, 0x68d05cd6
imul r10d, edx
mov edx, ecx
and edx, 0x172fa329
or ecx, 0x172fa329
imul ecx, edx
add ecx, r10d
or ecx, 0xb561c6ad
imul rcx, rax
shr rcx, 0x3f
cmp ecx, 0x6c7d2e85
je 0x140004300
cmp r9, rdi
je 0x140004bcd
mov ecx, 0x8a26567f
nop word [rax + rax]
mov eax, dword [0x1415852c8]
xor edx, edx
div dword [0x1415852cc]
and eax, 0xfb87acb6
imul eax, eax, 0x33b2bdd0
imul rax, rcx
shr rax, 0x3f
cmp eax, 0xab311ac7
ja 0x140004370
nop dword [rax + rax]
mov eax, dword [0x1415852d0]
mov ecx, dword [0x1415852d4]
mov edx, eax
and edx, ecx
xor eax, ecx
lea eax, [rax + rdx*2]
mov ecx, eax
xor ecx, 0x16b02cc9
add ecx, eax
and eax, 0xe94fd336
sub ecx, eax
mov eax, ecx
xor eax, 0xa39beef3
xor ecx, 0x290c030
and ecx, 0x1a94c038
add ecx, ecx
sub eax, ecx
cmp eax, 0x239d5f53
je 0x1400043a0
movabs r10, 0xbb1073d6a14d5246
mov r11d, 0x8e0b8671
mov ebx, 0x818e28d7
mov qword [rsp + 0x30], rdi
mov r12, qword [r9]
mov rax, qword [r9 + 8]
mov qword [rsp + 0x20], rax
mov r14, qword [r9 + 0x18]
add r9, 0x30
movdqa xmm0, xmmword [r12]
pmovmskb r13d, xmm0
not r13d
lea r15, [r12 + 0x10]
mov qword [r8 + 0x10], r12
mov qword [r8 + 0x18], r15
mov word [r8 + 0x28], r13w
mov qword [r8 + 0x30], r14
test r14, r14
je 0x1400046fd
mov rax, r12
mov qword [rsp + 0x28], r12
nop word [rax + rax]
test r13w, r13w
je 0x1400044b0
nop word cs:[rax + rax]
mov eax, dword [0x1415852f0]
and eax, dword [0x1415852f4]
imul eax, eax, 0x3ffe4c6b
add eax, 0xf4995c6f
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x75cc1580
and ecx, 0x8a33ea7f
imul ecx, edx
mov edx, eax
and edx, 0x8a33ea7f
or eax, 0x8a33ea7f
imul eax, edx
add eax, ecx
cmp eax, 0x9274286d
ja 0x140004460
lea ebp, [r13 - 1]
jmp 0x1400045bb
mov eax, dword [0x1415852e8]
and eax, dword [0x1415852ec]
add eax, 0x52dcb727
mov rcx, rax
imul rcx, r11
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1d
xor eax, 0x45c262b1
cmp eax, 0x62839a3e
ja 0x1400044b0
add r12, 0xfffffffffffffc80
movdqa xmm0, xmmword [r15]
add r15, 0x10
pmovmskb r13d, xmm0
cmp r13w, 0xffff
je 0x1400044b0
mov ecx, dword [0x1415852d8]
mov edx, dword [0x1415852dc]
mov ebp, edx
not ebp
mov eax, ecx
and eax, ebp
or ebp, ecx
not ebp
imul ebp, eax
mov eax, ecx
and eax, edx
or ecx, edx
imul ecx, eax
add ecx, ebp
mov eax, ecx
not eax
or eax, 0x82b800b0
and eax, 0x92b989b3
and ecx, 0x400200
sub ecx, eax
cmp ecx, 0xb4115cc4
ja 0x14000459e
nop word cs:[rax + rax]
mov eax, dword [0x1415852e0]
xor eax, dword [0x1415852e4]
mov ecx, eax
and ecx, 0x3afc66ae
mov edx, ecx
not edx
mov ebp, eax
and ebp, 0x32d84626
and edx, 0x8c24a0c8
imul edx, ebp
and eax, 0x8242088
or ecx, 0x8c24a0c8
imul ecx, eax
lea eax, [rcx + rdx]
add eax, 0xde1ad244
mov qword [r8 + 0x18], r15
mov qword [r8 + 0x10], r12
cmp eax, 0x2720cf77
jae 0x1400045b0
mov qword [r8 + 0x18], r15
mov qword [r8 + 0x10], r12
jmp 0x140004550
mov ebp, 0xfffffffe
sub ebp, r13d
not r13d
and ebp, r13d
dec r14
tzcnt eax, r13d
add rax, r10
mov rcx, r10
sub rcx, rax
imul r13, rcx, 0x38
add r13, r12
mov rcx, r13
add rcx, 0xffffffffffffffe0
je 0x1400046d1
movzx ecx, byte [rcx]
nop word cs:[rax + rax]
mov edx, dword [str._EhH]
and edx, dword [0x1415852fc]
mov eax, edx
and eax, 0xf14213e4
or edx, 0xf14213e4
add edx, eax
imul rdx, rbx
shr rdx, 0x3e
mov eax, edx
not eax
mov edi, edx
and edi, 0xfffffffe
and eax, 0xb4ba7fad
imul eax, edi
mov edi, edx
and edi, 1
or edx, 0xb4ba7fad
imul edx, edi
add edx, eax
cmp edx, 0x7fd89a14
jb 0x1400045f0
cmp cl, 2
je 0x14000481e
nop word cs:[rax + rax]
mov r13d, dword [0x141585348]
mov eax, dword [0x14158534c]
mov ecx, r13d
not ecx
and ecx, eax
mov edx, eax
not edx
and edx, r13d
imul edx, ecx
mov ecx, r13d
and ecx, eax
or r13d, eax
imul r13d, ecx
add r13d, edx
mov eax, r13d
not eax
or eax, 0x330ad444
and eax, 0xb3bafcc4
mov ecx, r13d
and ecx, 0x44050000
or ecx, eax
xor ecx, 0x352789a0
and r13d, 0x84952000
or r13d, ecx
mov eax, r13d
xor eax, 0x5401cd6c
or r13d, 0xa3be3080
and r13d, eax
cmp r13d, 0xa3bc7966
ja 0x140004650
mov r13d, ebp
test r14, r14
jne 0x140004450
xor r14d, r14d
xor eax, eax
test al, al
mov rdi, qword [rsp + 0x30]
mov r12, qword [rsp + 0x28]
je 0x1400046f0
mov word [r8 + 0x28], bp
mov qword [r8 + 0x30], r14
nop word [rax + rax]
mov word [r8 + 0x28], bp
mov qword [r8 + 0x30], r14
test al, al
jne 0x1400046f0
mov eax, dword [0x141585350]
mov ecx, dword [0x141585354]
mov edx, eax
xor edx, ecx
not edx
and edx, ecx
add edx, edx
sub ecx, edx
add ecx, eax
mov eax, ecx
xor eax, 0x2a1e6c19
xor ecx, 0x444080c2
and ecx, 0x6e52acd3
mov edx, eax
and edx, 0x91ad532c
imul edx, ecx
mov ecx, eax
and ecx, 0x6e52acd3
or eax, 0x6e52acd3
imul eax, ecx
add eax, edx
mov ecx, eax
xor ecx, 0xe105cc13
or eax, 0x1efa33ec
and eax, ecx
cmp eax, 0x3004ac29
ja 0x1400046fd
nop dword [rax]
mov ecx, dword [0x141585358]
sub ecx, dword [0x14158535c]
mov eax, ecx
not eax
mov edx, ecx
and edx, 0x9cf688f9
and eax, 0x63097706
imul eax, edx
mov edx, ecx
and edx, 0x63097706
or ecx, 0x63097706
imul ecx, edx
add ecx, eax
mov eax, ecx
not eax
mov edx, ecx
and edx, 0x3d748ef4
and eax, 0xc28b710a
imul eax, edx
mov edx, ecx
and edx, 0xc28b710a
or ecx, 0xc28b710a
imul ecx, edx
add eax, ecx
add eax, 0x82cba979
cmp eax, 0x552c803d
jb 0x140004760
cmp r9, rdi
jne 0x1400043fe
mov eax, dword [0x141585370]
mov ecx, dword [0x141585374]
mov edx, eax
not edx
and edx, ecx
mov r9d, ecx
not r9d
and r9d, eax
imul r9d, edx
mov edx, eax
and edx, ecx
or eax, ecx
imul eax, edx
add eax, r9d
add eax, 0x5f5d6f97
and eax, 0x9328f364
add eax, 0xa9288a70
cmp eax, 0x996ba45d
mov r9, qword [rsp + 0x20]
jbe 0x140004b73
jmp 0x140004bbd
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x20]
add rax, rcx
inc rax
mov qword [r8], r9
mov qword [r8 + 0x20], rax
mov word [r8 + 0x28], bp
mov qword [r8 + 0x30], r14
mov r14, qword [r13 - 0x10]
mov rdi, qword [r13 - 8]
test rdi, rdi
je 0x140004a3f
nop
mov eax, dword [0x141585300]
or eax, dword [0x141585304]
or eax, 0xc1d9c25
add eax, 0xca1badf7
and eax, 0xedcbebb2
cmp eax, 0xa8f9d98e
ja 0x140004850
test rdi, rdi
js 0x140004aad
movzx eax, byte [0x1415acbd0]
mov eax, dword [0x141585308]
mov ecx, dword [0x14158530c]
mov edx, eax
and edx, ecx
add edx, edx
add eax, ecx
sub eax, edx
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x5c45ac3e
and ecx, 0xa3ba53c1
imul ecx, edx
mov edx, eax
and edx, 0xa3ba53c1
or eax, 0xa3ba53c1
imul eax, edx
add eax, ecx
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x3e1a3dd1
and ecx, 0xc1e5c22e
imul ecx, edx
mov edx, eax
and edx, 0xc1e5c22e
or eax, 0xc1e5c22e
imul eax, edx
add eax, ecx
xor eax, 0x931b43e
cmp eax, 0xc9c09f08
jbe 0x140004900
xor ecx, ecx
mov rdx, rdi
call fcn.1401ac910
nop dword [rax]
mov eax, dword [0x141585310]
mov ecx, dword [0x141585314]
mov edx, eax
xor edx, ecx
not ecx
and ecx, eax
add ecx, ecx
sub ecx, edx
xor ecx, 0x6ea0040c
or ecx, 0x115ad981
mov eax, ecx
and eax, 0x794f8dcf
xor ecx, 0x794f8dcf
lea ebp, [rcx + rax*2]
xor ecx, ecx
mov rdx, rdi
call fcn.1401ac910
cmp ebp, 0xc790f92
jb 0x140004900
mov rbx, rax
nop dword [rax]
mov eax, dword [0x141585318]
mov ecx, dword [0x14158531c]
mov edx, ecx
not edx
mov r8d, eax
and r8d, edx
or edx, eax
not edx
imul edx, r8d
mov r8d, eax
and r8d, ecx
or eax, ecx
imul eax, r8d
add eax, edx
mov ecx, eax
or ecx, 0xe43dca93
not eax
or eax, 0x1bc2356c
and eax, ecx
mov ecx, eax
not ecx
xor eax, 0xcca269e1
and ecx, 0x4ca269e1
add ecx, ecx
sub ecx, eax
cmp ecx, 0xeb8c99b2
je 0x140004950
test rbx, rbx
je 0x140004aad
mov eax, dword [0x141585320]
xor edx, edx
div dword [0x141585324]
nop
mov eax, dword [0x141585328]
xor edx, edx
div dword [0x14158532c]
add eax, 0xb3415ca9
mov ecx, eax
xor ecx, 0x60e59c
or eax, 0x4c061002
and eax, ecx
and eax, 0x4c66f59e
cmp eax, 0x90ed3aca
ja 0x1400049c0
nop
mov eax, dword [0x141585330]
mov ecx, dword [0x141585334]
mov edx, eax
and edx, ecx
xor eax, ecx
lea eax, [rax + rdx*2]
mov ecx, eax
not ecx
and ecx, 0x6d6acb2c
mov edx, eax
and edx, 0x929534d3
imul edx, ecx
mov ecx, eax
and ecx, 0x6d6acb2c
or eax, 0x6d6acb2c
imul eax, ecx
add eax, edx
or eax, 0x1fe1b831
xor eax, 0xec5fef1b
cmp eax, 0x2753ad8c
jb 0x1400049f0
jmp 0x140004a44
mov ebx, 1
mov ecx, dword [0x141585388]
mov edx, dword [0x14158538c]
mov eax, ecx
not eax
mov r8d, edx
not r8d
mov r9d, eax
and r9d, 0xb8f269b7
and ecx, 0x470d9648
or ecx, r9d
or eax, r8d
and r8d, 0xb8f269b7
and edx, 0x470d9648
or edx, r8d
xor edx, ecx
not eax
or eax, edx
mov ecx, eax
not ecx
and ecx, 0xeb35b7d5
and eax, 0x14ca482a
sub eax, ecx
imul eax, eax, 0xdd471ca0
cmp eax, 0x7bc445dc
jbe 0x140004b4b
jmp 0x140004b63
mov eax, dword [0x14158533c]
add eax, dword [0x141585338]
imul eax, eax, 0xab19f6f
imul rcx, rax, 0x29e7bbc5
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1f
not eax
and eax, 0x617c23b
xor eax, 0xd7a7bd8
cmp eax, 0xf4a55868
jbe 0x140004af0
ud2
mov eax, dword [0x141585340]
mov ecx, dword [0x141585344]
mov edx, eax
xor edx, ecx
not ecx
and ecx, eax
add ecx, ecx
sub ecx, edx
or ecx, 0x148020e2
mov eax, ecx
and eax, 0x15982fe6
mov edx, eax
not edx
mov r8d, ecx
and r8d, 0x4982302
and edx, 0xa3079c15
imul edx, r8d
and ecx, 0x11000ce4
or eax, 0xb3079cf5
imul eax, ecx
add eax, edx
ud2
mov rcx, rbx
mov rdx, r14
mov r8, rdi
call fcn.14021bb50
mov al, 1
test al, al
jne 0x1400040e9
mov rcx, rbx
mov rdx, r14
mov r8, rdi
call fcn.14021bb50
jmp 0x140004b4b
mov eax, dword [0x141585378]
or eax, dword [0x14158537c]
imul rax, rax, 0x176fc783
shr rax, 0x3c
not eax
and eax, 0xa24cb32d
xor eax, 0x30021803
or eax, 0x4da144d0
mov ecx, r9d
and ecx, 1
mov rdx, r9
xor rdx, 1
lea rcx, [rdx + rcx*2]
add rcx, r12
mov qword [r8], rdi
mov qword [r8 + 0x20], rcx
cmp eax, 0xa3883042
jae 0x140004bcd
lea rax, [r12 + r9]
inc rax
mov qword [r8], rdi
mov qword [r8 + 0x20], rax
jmp 0x140004b73
xor eax, eax
test al, al
je 0x140004be0
mov qword [r8 + 0x10], 0
nop dword [rax + rax]
mov eax, dword [0x141585380]
or eax, dword [0x141585384]
imul rax, rax, 0x6935f00d
shr rax, 0x3b
mov ecx, eax
and ecx, 6
xor eax, 0xf1c11096
lea eax, [rax + rcx*2]
mov qword [r8 + 0x10], 0
cmp eax, 0xa79b54e9
je 0x140004be0
mov rax, qword [r8 + 0x38]
test rax, rax
je 0x1400053f3
mov ecx, dword [0x141585390]
sub ecx, dword [str.JlO]
add ecx, 0x29dc4880
xor ecx, 0x402001
and ecx, 0x406064a7
cmp ecx, 0xbc508526
ja 0x140004c20
nop word cs:[rax + rax]
mov ecx, dword [0x141585398]
mov edx, dword [0x14158539c]
mov r9d, ecx
not r9d
mov r10d, edx
not r10d
mov r11d, r9d
and r11d, 0x5558bd22
and ecx, 0xaaa742dd
or ecx, r11d
or r9d, r10d
and r10d, 0x5558bd22
and edx, 0xaaa742dd
or edx, r10d
xor edx, ecx
not r9d
or r9d, edx
mov ecx, r9d
xor ecx, 0x835f40
add ecx, r9d
and r9d, 0x37ca0bf
sub ecx, r9d
add ecx, 0xbe8321b6
not ecx
or ecx, 0xfd59b6dc
cmp ecx, 0xd825543
jb 0x140004c50
mov rcx, qword [r8 + 0x58]
nop word cs:[rax + rax]
mov edx, dword [0x1415853a0]
sub edx, dword [0x1415853a4]
xor edx, 0x14770508
imul edx, edx, 0x38c58424
mov r9d, edx
not r9d
and r9d, 0xd5f9246b
and edx, 0x2a06db94
sub edx, r9d
cmp edx, 0xa0e401d2
je 0x140004cd0
test rcx, rcx
je 0x1400053f3
nop
mov edx, dword [0x1415853a8]
sub edx, dword [0x1415853ac]
or edx, 0x5fe6c84
add edx, 0x6314361
or edx, 0xf2ede84d
cmp edx, 0x8b4ab9e2
jb 0x140004d10
movzx r14d, word [r8 + 0x50]
movabs rdx, 0xd1a299dffbee3d08
mov r10, qword [r8 + 0x40]
mov r11d, 0xd64d5c7f
mov edi, 0x8506ab51
nop word cs:[rax + rax]
mov r9d, dword [0x1415853b0]
add r9d, dword [0x1415853b4]
mov ebx, r9d
xor ebx, 0x25d1fcfe
and ebx, r9d
imul r9, rbx, 0x449de5ab
shr r9, 0x3e
cmp r9d, 0x8f3ee11
ja 0x140004d60
test r14w, r14w
je 0x140004da0
lea r9d, [r14 - 1]
jmp 0x140004e6e
movdqa xmm0, xmmword [r10]
pmovmskb ebx, xmm0
add rax, 0xfffffffffffffc80
add r10, 0x10
cmp ebx, 0xffff
je 0x140004da0
mov r9d, dword [0x1415853b8]
mov ebp, dword [0x1415853bc]
mov r14d, ebp
not r14d
mov r15d, r9d
and r15d, r14d
or r14d, r9d
not r14d
imul r14d, r15d
mov r15d, r9d
and r15d, ebp
or r9d, ebp
imul r9d, r15d
add r9d, r14d
xor r9d, 0xb8301395
imul r9d, r9d, 0xa66b0d22
cmp r9d, 0xfbc2c77c
jne 0x140004e10
mov qword [r8 + 0x40], r10
mov qword [r8 + 0x38], rax
nop dword [rax]
mov r9d, dword [0x1415853c0]
xor r9d, dword [0x1415853c4]
mov ebp, r9d
xor ebp, 0xb5094e4a
and r9d, 0x4af6b1b5
add r9d, r9d
sub r9d, ebp
add r9d, 0x267aebc
imul r9, r11
shr r9, 0x3f
mov qword [r8 + 0x40], r10
mov qword [r8 + 0x38], rax
cmp r9d, 0x93d2195a
jae 0x140004e10
mov r9d, ebx
not r9d
lea r14d, [rbx + rbx]
not r14d
add r14d, ebx
and ebx, 1
and r9d, 0xfffffffe
sub r9d, ebx
and r9d, r14d
dec rcx
tzcnt ebx, r14d
mov r14, rdx
sub r14, rbx
sub r14, rdx
imul rbx, r14, 0x38
add rbx, rax
mov r14, rbx
add r14, 0xffffffffffffffe0
je 0x140004f52
movzx ebp, byte [r14]
mov r14d, dword [0x1415853c8]
mov r15d, dword [0x1415853cc]
mov r12d, r15d
not r12d
mov r13d, r14d
and r13d, r12d
or r12d, r14d
not r12d
imul r12d, r13d
mov r13d, r14d
and r13d, r15d
or r14d, r15d
imul r14d, r13d
add r14d, r12d
add r14d, 0x368f5e7
xor r14d, 0x2ffde8e
imul r14, rdi
shr r14, 0x3f
cmp r14d, 0xda21e8f8
ja 0x140004e9a
cmp bpl, 2
je 0x140004f88
mov ebx, dword [str.0_nN]
or ebx, dword [0x141585434]
imul ebx, ebx, 0x17d8b2a8
shr ebx, 1
imul rbx, rbx, 0x4f169f43
shr rbx, 0x3a
mov ebp, ebx
not ebp
and ebp, 0x42970ec1
mov r14d, ebx
and r14d, 0xfffffffe
imul r14d, ebp
mov ebp, ebx
and ebp, 1
or ebx, 0x42970ec1
imul ebx, ebp
add ebx, r14d
cmp ebx, 0xba5bd1b0
je 0x140004ef7
mov r14d, r9d
test rcx, rcx
jne 0x140004d60
xor ecx, ecx
mov eax, dword [0x141585458]
add eax, dword [0x14158545c]
mov edx, eax
xor edx, 0x169cc70c
xor eax, 0x823
and edx, 0x3e9fd71c
and eax, 0xc16028e3
or eax, edx
cmp eax, 0xa1258556
jne 0x140005386
jmp 0x1400053e8
mov eax, dword [0x1415853d0]
sub eax, dword [0x1415853d4]
mov edx, 0xa740f9ef
imul rdx, rax
shr rdx, 0x3e
imul eax, edx, 0x31be55f
mov edx, eax
not edx
and edx, 0x5147de9c
mov r10d, eax
and r10d, 0xeb82163
imul r10d, edx
mov edx, eax
and edx, 0x147de9c
or eax, 0x5147de9c
imul eax, edx
add eax, r10d
cmp eax, 0xc3533b4c
ja 0x14000500c
mov eax, dword [0x1415853d8]
xor edx, edx
div dword [0x1415853dc]
or eax, 0x3d4b5678
add eax, 0xe12ea0ba
imul rax, rax, 0x10bee0a3
shr rax, 0x3c
mov word [r8 + 0x50], r9w
mov qword [r8 + 0x58], rcx
cmp eax, 0xc4b3b302
jbe 0x140005017
mov word [r8 + 0x50], r9w
mov qword [r8 + 0x58], rcx
jmp 0x140004fd9
mov r14, qword [rbx - 0x10]
mov rdi, qword [rbx - 8]
test rdi, rdi
je 0x140005179
nop dword [rax + rax]
mov eax, dword [0x1415853e0]
xor edx, edx
div dword [0x1415853e4]
mov ecx, eax
or ecx, 0xe1b53a3c
mov edx, eax
not edx
and edx, 0x124840c2
mov r8d, ecx
and r8d, 0xac02a705
imul r8d, edx
and ecx, 0x53fd58fa
or eax, 0xf3fd7afe
imul eax, ecx
add eax, r8d
imul rax, rax, 0x6d664e1b
shr rax, 0x3e
cmp eax, 0xf4135cd6
je 0x140005030
test rdi, rdi
js 0x1400052c4
mov eax, dword [0x1415853e8]
mov ecx, dword [0x1415853ec]
mov edx, eax
not edx
and edx, ecx
mov r8d, ecx
not r8d
and r8d, eax
imul r8d, edx
mov edx, eax
and edx, ecx
or eax, ecx
imul eax, edx
add eax, r8d
imul eax, eax, 0xb239ad0f
cmp eax, 0x2784753d
jne 0x1400050d0
movzx eax, byte [0x1415acbd0]
nop dword [rax]
mov eax, dword [0x1415853f0]
mov ecx, dword [0x1415853f4]
mov edx, eax
not edx
mov r8d, ecx
not r8d
mov r9d, edx
and r9d, 0x5f228464
and eax, 0xa0dd7b9b
or eax, r9d
or edx, r8d
and r8d, 0x5f228464
and ecx, 0xa0dd7b9b
or ecx, r8d
xor ecx, eax
not edx
or edx, ecx
mov eax, edx
not eax
or eax, 0x7ff66ac9
add eax, edx
add eax, 0x6a419dcf
not eax
or eax, 0x92e22e5f
movzx ecx, byte [0x1415acbd0]
cmp eax, 0x1f71842a
jb 0x1400050d0
mov eax, dword [0x1415853f8]
add eax, dword [0x1415853fc]
mov ecx, eax
and ecx, 0xe9ce9e72
and eax, 0x4e1c12
sub ecx, eax
add ecx, 0x166f7d1e
mov eax, ecx
and eax, 0x11b83612
add eax, eax
sub ecx, eax
add ecx, 0x91b83613
cmp ecx, 0x63c0785c
jbe 0x140005207
jmp 0x140005231
mov ebx, 1
mov eax, dword [0x141585438]
mov ecx, dword [0x14158543c]
not eax
not ecx
or ecx, eax
mov eax, ecx
not eax
or ecx, 0x209cfc1c
or eax, 0xdf6303e3
and eax, ecx
imul eax, eax, 0x6d88c6a2
mov ecx, eax
and ecx, 0x170779f0
add ecx, ecx
sub eax, ecx
cmp eax, 0x2fb1bec6
je 0x1400051f7
mov eax, dword [0x141585440]
add eax, dword [0x141585444]
mov ecx, eax
xor ecx, 0x6a21763f
xor eax, 0x95968080
or eax, 0x2a691b73
lea ebp, [rcx + rax]
inc ebp
mov rcx, rbx
mov rdx, r14
mov r8, rdi
call fcn.14021bb50
cmp ebp, 0xdff7593
jbe 0x1400040e9
mov rcx, rbx
mov rdx, r14
mov r8, rdi
call fcn.14021bb50
jmp 0x1400051ba
mov ebp, dword [0x141585400]
xor ebp, dword [0x141585404]
or ebp, 0xdfbff5ef
and ebp, 0xffbff5ef
xor ecx, ecx
mov rdx, rdi
call fcn.14020ae90
cmp ebp, 0xf163f2c7
jne 0x14000523d
xor ecx, ecx
mov rdx, rdi
call fcn.14020ae90
jmp 0x140005207
mov rbx, rax
mov eax, dword [0x141585408]
add eax, dword [0x14158540c]
or eax, 0xbf152512
imul rax, rax, 0x30ecd3b5
shr rax, 0x3d
add eax, 0xab97b149
cmp eax, 0xd2f18645
ja 0x140005240
test rbx, rbx
je 0x1400052c4
nop dword [rax]
mov eax, dword [0x141585414]
xor eax, dword [0x141585410]
mov ecx, eax
and ecx, 0x43059a89
xor eax, 0x43059a89
lea eax, [rax + rcx*2]
add eax, 0xe187edca
mov ecx, eax
not ecx
mov edx, eax
and edx, 0xe98e3171
and ecx, 0x1671ce8e
imul ecx, edx
mov edx, eax
and edx, 0x1671ce8e
or eax, 0x1671ce8e
imul eax, edx
add eax, ecx
cmp eax, 0x36b29454
ja 0x140005270
jmp 0x14000517e
mov eax, dword [0x141585418]
imul eax, dword [0x14158541c]
not eax
or eax, 0x46a08145
and eax, 0xcfa98145
cmp eax, 0x39f7de97
je 0x14000532b
mov eax, dword [0x141585420]
imul eax, dword [0x141585424]
add eax, 0x4563024a
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x20e0d1d6
and ecx, 0x5f1f2e29
imul ecx, edx
mov edx, eax
and edx, 0x5f1f2e29
or eax, 0x5f1f2e29
imul eax, edx
add eax, ecx
and eax, 0x7d28f59a
ud2
ud2
mov eax, dword [0x141585460]
and eax, dword [0x141585464]
mov edx, eax
or edx, 0xbfefaa7b
not eax
or eax, 0x40105584
and eax, edx
mov edx, eax
not edx
mov r10d, edx
or r10d, 0xb0862279
mov r11d, r10d
and r11d, 0xc5650eed
and eax, 0xa18d102
imul eax, r11d
and r10d, 0x3a9af112
or edx, 0xba9ef37b
imul edx, r10d
add edx, eax
mov word [r8 + 0x50], r9w
mov qword [r8 + 0x58], rcx
cmp edx, 0xf0edf32f
jne 0x1400053f3
mov word [r8 + 0x50], r9w
mov qword [r8 + 0x58], rcx
jmp 0x140005386
mov eax, dword [0x141585468]
or eax, dword [0x14158546c]
mov ecx, eax
and ecx, 0x3fffffff
xor ecx, 0x7f584c0
and eax, 0x7f584c0
or eax, ecx
add eax, 0x95a5a6a7
or eax, 0xd547b92a
cmp eax, 0xb29b3684
jae 0x14000542d
mov qword [r8 + 0x38], 0
xor eax, eax
nop
mov qword [r8 + 0x38], 0
test al, al
jne 0x140005430
movabs rax, 0x8000000000000000
mov qword [rsi], rax
nop dword [rax]
mov eax, dword [0x141585470]
add eax, dword [0x141585474]
or eax, 0xdff7fffd
and eax, 0xdff7ffff
cmp eax, 0xaaa79bf3
jb 0x140005450
nop dword [rax]
mov eax, dword [0x141585478]
or eax, dword [0x14158547c]
mov ecx, eax
not ecx
and ecx, 0x29a3aada
mov edx, eax
and edx, 0xd65c5525
imul edx, ecx
mov ecx, eax
and ecx, 0x29a3aada
or eax, 0x29a3aada
imul eax, ecx
add eax, edx
mov ecx, eax
and ecx, 0x6cbef362
add ecx, ecx
sub eax, ecx
add eax, 0xecbef362
or eax, 0x981f552
cmp eax, 0x8989b03b
je 0x140005470
add rsp, 0x38
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret