Function at 0x140095f20
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x338
mov rbx, r8
mov qword [rsp + 0x20], rdx
mov rsi, rcx
mov eax, dword [0x14158ede4]
add eax, dword [0x14158ede0]
mov ecx, eax
and ecx, 0x2ceca3a4
xor eax, 0x2ceca3a4
lea eax, [rax + rcx*2]
mov ecx, eax
xor ecx, 0xdd804d2b
add ecx, eax
and eax, 0x227fb2d4
sub ecx, eax
mov eax, ecx
not eax
mov edx, ecx
and edx, 0xe1bdd728
and eax, 0x1e4228d7
imul eax, edx
mov edx, ecx
and edx, 0x1e4228d7
or ecx, 0x1e4228d7
imul ecx, edx
add ecx, eax
cmp ecx, 0x5460392c
jb 0x140095fd6
mov eax, dword [0x14158ede8]
imul eax, dword [0x14158edec]
imul ebp, eax, 0x154d0ee3
or ebp, 0x331bf417
add ebp, 0xc37ed0cf
lea rdi, [rsp + 0x28]
mov r8d, 0x30d
mov rcx, rdi
xor edx, edx
call fcn.14021c2d0
cmp ebp, 0xa7760ac1
jae 0x140095fea
lea rcx, [rsp + 0x28]
mov r8d, 0x30d
xor edx, edx
call fcn.14021c2d0
jmp 0x140095f9a
xor r15d, r15d
mov rax, rbx
mov rdx, qword [rsp + 0x20]
nop word cs:[rax + rax]
mov r8, rdx
mov rcx, rax
nop word cs:[rax + rax]
mov edx, dword [0x14158edf4]
mov eax, edx
xor eax, edx
not eax
and eax, dword [0x14158edf0]
xor eax, edx
add eax, 0xfee8290e
mov edx, eax
not edx
mov r9d, eax
and r9d, 0xd3885321
and edx, 0x2c77acde
imul edx, r9d
mov r9d, eax
and r9d, 0x2c77acde
or eax, 0x2c77acde
imul eax, r9d
add eax, edx
mov edx, eax
not edx
and edx, 0xcd851db1
mov r9d, eax
and r9d, 0x327ae24e
imul r9d, edx
mov edx, eax
and edx, 0xcd851db0
or eax, 0xcd851db1
imul eax, edx
add eax, r9d
cmp eax, 0xada4e6c8
ja 0x140096010
test rcx, rcx
je 0x14009765d
lea rdx, [r8 + 1]
lea rax, [rcx - 1]
nop dword [rax]
mov r9d, dword [0x14158edf8]
or r9d, dword [0x14158edfc]
mov r10d, r9d
and r10d, 0x32f3ee21
xor r10d, 0x20800020
and r9d, 0x20800020
or r9d, r10d
xor r9d, 0x700820
cmp r9d, 0x2b54e3e1
jb 0x1400960a0
movzx r9d, byte [r8]
nop dword [rax]
mov r10d, dword [0x14158ee00]
mov r11d, dword [0x14158ee04]
mov ebp, r10d
xor ebp, r11d
not r11d
and r11d, r10d
add r11d, r11d
sub r11d, ebp
imul r10d, r11d, 0x7cfd2b34
or r10d, 0x89426a5
and r10d, 0xd9973ead
cmp r10d, 0x690fa6e
je 0x1400960e0
cmp r9b, 0x30
je 0x140096000
xor r15d, r15d
jmp 0x140096144
inc r8
inc r15
mov qword [rsp + 0x28], r15
test rcx, rcx
je 0x140096410
mov eax, dword [0x14158ee08]
xor edx, edx
div dword [0x14158ee0c]
mov eax, dword [0x14158ee10]
add eax, dword [0x14158ee14]
mov edx, eax
not edx
and edx, 0xb8980641
mov r9d, eax
and r9d, 0x4767f9be
imul r9d, edx
mov edx, eax
and edx, 0xb8980641
or eax, 0xb8980641
imul eax, edx
add eax, r9d
add eax, 0x764e97bd
mov edx, eax
xor edx, 0x730f0777
and edx, eax
cmp edx, 0x8df33b6
jb 0x140096152
movzx edx, byte [r8]
lea eax, [rdx - 0x30]
cmp al, 9
ja 0x140096337
nop
mov edx, dword [0x14158ee18]
mov r9d, dword [0x14158ee1c]
not r9d
add edx, r9d
add edx, 0x17b136ea
imul rdx, rdx, 0x61861e0b
shr rdx, 0x3e
or edx, 0x255f13e8
cmp edx, 0x4fd7391d
ja 0x1400961b0
dec rcx
nop word cs:[rax + rax]
mov edx, dword [0x14158ee20]
mov r9d, dword [0x14158ee24]
mov r10d, edx
not r10d
and r10d, r9d
not r9d
and r9d, edx
sub r9d, r10d
add r9d, 0xad17822e
and r9d, 0xbc7f0691
xor r9d, 0x3c750400
add r9d, 0x76d4586d
jb 0x1400961f0
cmp r15, 0x2ff
ja 0x140096130
nop word [rax + rax]
mov edx, dword [0x14158ee28]
add edx, dword [0x14158ee2c]
mov r9d, edx
not r9d
or edx, 0xcd70f991
or r9d, 0x328f066e
and r9d, edx
not r9d
mov edx, r9d
and edx, 0xe7806da6
or r9d, 0xe7806da6
add r9d, edx
mov edx, r9d
not edx
and edx, 0x83686ed
and r9d, 0xf7c97912
sub r9d, edx
cmp r9d, 0x976e9ccd
je 0x140096240
mov edx, dword [0x14158ee30]
and edx, dword [0x14158ee34]
add edx, 0x38327735
not edx
or edx, 0x410845f1
cmp edx, 0xf80406ac
ja 0x140096330
nop dword [rax + rax]
mov edx, dword [0x14158ee38]
sub edx, dword [0x14158ee3c]
add edx, 0xf283aab4
or edx, 0x1f5b5de2
add edx, 0xb79c8a4b
mov byte [rsp + r15 + 0x30], al
cmp edx, 0x87d03bbd
jb 0x140096330
mov r15, qword [rsp + 0x28]
mov eax, dword [0x14158ee40]
mov edx, dword [0x14158ee44]
mov r9d, edx
not r9d
and r9d, eax
xor edx, eax
add edx, eax
sub edx, r9d
add edx, 0xfffd218c
or edx, 0x285129d0
cmp edx, 0x78ae6a28
je 0x1400962f0
jmp 0x140096130
mov byte [rsp + r15 + 0x30], al
jmp 0x1400962c0
movabs r9, 0x74e1b6557bfc1dea
lea rax, [r8 + 1]
lea r10, [rcx + r9]
not r9
add r9, r10
nop
mov r10d, dword [0x14158ee48]
mov r11d, dword [0x14158ee4c]
mov ebp, r10d
not ebp
and ebp, r11d
mov r12d, r11d
not r12d
and r12d, r10d
imul r12d, ebp
mov ebp, r10d
and ebp, r11d
or r10d, r11d
imul r10d, ebp
add r10d, r12d
mov r11d, r10d
xor r11d, 0x7735559a
or r10d, 0x88caaa65
and r10d, r11d
imul r10d, r10d, 0x7a7c6ea2
imul r10, r10, 0x859cc81
shr r10, 0x3a
cmp r10d, 0x2977a8b1
ja 0x140096350
cmp dl, 0x2e
jne 0x140096412
nop word [rax + rax]
mov edx, dword [0x14158ee50]
or edx, dword [0x14158ee54]
mov r10d, edx
not r10d
and r10d, 0x10187f0e
and edx, 0xefe780f1
sub edx, r10d
add edx, 0x8e902eb6
mov r10d, edx
and r10d, 0x56f23c2c
add r10d, r10d
sub edx, r10d
cmp edx, 0x5f6b1107
je 0x1400963c0
test r15, r15
je 0x140096420
mov rcx, r9
mov r11, rax
jmp 0x140096644
xor ecx, ecx
test r15, r15
jne 0x140096d10
jmp 0x140096ca6
add r8, rcx
nop word cs:[rax + rax]
mov ecx, dword [0x14158ee58]
mov edx, dword [0x14158ee5c]
mov r10d, ecx
xor r10d, edx
not r10d
or ecx, edx
and ecx, r10d
add ecx, 0xa6d6a330
mov edx, ecx
not edx
mov r10d, ecx
and r10d, 0x6b89793e
and edx, 0x947686c1
imul edx, r10d
mov r10d, ecx
and r10d, 0x947686c1
or ecx, 0x947686c1
imul ecx, r10d
add ecx, edx
mov edx, ecx
not edx
or edx, 0x4b0d444
or ecx, 0xfb4f2bbb
and ecx, edx
cmp ecx, 0xae899198
ja 0x140096430
nop dword [rax + rax]
mov ecx, dword [0x14158ee60]
mov edx, dword [0x14158ee64]
mov r10d, edx
not r10d
mov r11d, ecx
and r11d, r10d
or r10d, ecx
not r10d
imul r10d, r11d
mov r11d, ecx
and r11d, edx
or ecx, edx
imul ecx, r11d
add ecx, r10d
mov edx, ecx
not edx
mov r10d, ecx
and r10d, 0x6edc385
and edx, 0x19123c7a
imul edx, r10d
mov r10d, ecx
and r10d, 0x19123c7a
or ecx, 0x19123c7a
imul ecx, r10d
add ecx, edx
and ecx, 0x129d4d28
xor ecx, 0x810521
cmp ecx, 0x708f3d08
je 0x1400964a0
xor r10d, r10d
mov rdx, r9
nop dword [rax]
mov r11, rax
mov rcx, rdx
nop word cs:[rax + rax]
mov eax, dword [0x14158ee68]
mov edx, dword [0x14158ee6c]
add eax, edx
add eax, 0x84a0d1fa
or eax, 0xd780cffe
xor eax, 0x1c8c75fb
cmp eax, 0x8b4041e
jb 0x140096530
test rcx, rcx
je 0x140096c2a
mov eax, dword [0x14158ee70]
xor edx, edx
div dword [0x14158ee74]
mov edx, eax
or edx, 0xe59f460
mov ebp, eax
not ebp
and ebp, 0x51220011
mov r12d, edx
and r12d, 0xa8d42b8e
imul r12d, ebp
and edx, 0x572bd471
or eax, 0x5f7bf471
imul eax, edx
add eax, r12d
add eax, 0x850bd239
cmp eax, 0xb35c5be6
ja 0x14009655d
lea rdx, [rcx - 1]
lea rax, [r11 + 1]
movzx ebp, byte [r11]
nop word cs:[rax + rax]
mov r14d, dword [0x14158ee78]
mov r13d, dword [0x14158ee7c]
mov r12d, r14d
not r12d
or r12d, r13d
not r13d
or r13d, r14d
and r13d, r12d
mov r14d, r13d
not r14d
mov r12d, r14d
and r12d, 0x1935079b
and r13d, 0xe6caf864
imul r13d, r12d
mov r12d, r14d
and r12d, 0x66caf864
or r14d, 0x66caf864
imul r14d, r12d
add r14d, r13d
mov r12d, r14d
not r12d
or r12d, 0x8101824a
and r12d, 0xc9fda6fb
and r14d, 0x22001100
or r14d, r12d
cmp r14d, 0xdcc9f9e6
ja 0x1400965c0
cmp bpl, 0x30
je 0x140096520
cmp rcx, 8
jb 0x1400968ca
movabs rax, 0xcfcfcfcfcfcfcfd0
jmp 0x140096675
add rcx, 0xfffffffffffffff8
add r11, 8
mov r15, r10
cmp rcx, 7
jbe 0x1400968d0
lea r10, [r15 + 8]
cmp r10, 0x300
jae 0x14009691a
mov r12, qword [r11]
mov r10d, dword [0x14158eed8]
add r10d, dword [0x14158eedc]
mov r14d, r10d
not r14d
mov ebp, r10d
and ebp, 0xec79ef2e
and r14d, 0x138610d1
imul r14d, ebp
mov ebp, r10d
and ebp, 0x138610d1
or r10d, 0x138610d1
imul r10d, ebp
add r10d, r14d
add r10d, 0x966d3088
xor r10d, 0x35652ec0
cmp r10d, 0xaee5ff84
ja 0x140096689
movabs rdx, 0x4646464646464646
lea r10, [r12 + rdx]
mov r14, r12
and r14, rax
xor r12, rax
lea r12, [r12 + r14*2]
or r10, r12
movabs r13, 0x8080808080808080
xor r13, r10
not r13
nop dword [rax]
mov ebp, dword [str.SH2_a]
mov edx, dword [0x14158eee4]
mov r8d, ebp
not r8d
and r8d, edx
mov r14d, edx
not r14d
and r14d, ebp
imul r14d, r8d
mov r8d, ebp
and r8d, edx
or ebp, edx
imul ebp, r8d
add ebp, r14d
or ebp, 0x99e4414
and ebp, 0x99e5496
add ebp, 0xe10415b5
cmp ebp, 0xead7cc01
ja 0x140096710
test r13, r10
jne 0x14009691a
mov edx, dword [0x14158eee8]
mov r8d, dword [0x14158eeec]
mov r10d, edx
xor r10d, r8d
not r10d
and r10d, r8d
add r10d, r10d
sub r8d, r10d
add r8d, edx
not r8d
and r8d, 0x967d7613
mov edx, r8d
not edx
xor r8d, 0x1420912c
add r8d, edx
and edx, 0x1420912c
sub r8d, edx
add r8d, 0x325bba57
cmp r8d, 0x3273b67c
ja 0x140096764
cmp r15, 0x301
jae 0x140096c50
mov edx, dword [0x14158eef8]
xor edx, dword [0x14158eefc]
xor edx, 0xa0663e40
imul rdx, rdx, 0xa3b3a51
shr rdx, 0x3b
mov r8d, edx
xor r8d, 0xe9562db7
add r8d, edx
cmp r8d, 0x6e5f5abf
jb 0x1400967c5
mov edx, dword [0x14158ef00]
mov r8d, dword [0x14158ef04]
mov r10d, r8d
not r10d
mov ebp, edx
and ebp, r10d
or r10d, edx
not r10d
imul r10d, ebp
mov ebp, edx
and ebp, r8d
or edx, r8d
imul edx, ebp
add edx, r10d
mov r8d, edx
not r8d
or r8d, 0xcc700184
add edx, r8d
inc edx
mov r8d, edx
not r8d
and r8d, 0x640f34b9
mov r10d, edx
and r10d, 0x9bf0cb46
imul r10d, r8d
mov r8d, edx
and r8d, 0x640f34b9
or edx, 0x640f34b9
imul edx, r8d
add edx, r10d
xor edx, 0xc0481517
cmp edx, 0xec9d1456
ja 0x1400968ab
nop word [rax + rax]
mov edx, dword [0x14158ef08]
or edx, dword [0x14158ef0c]
mov qword [rsp + r15 + 0x30], r12
mov r10, qword [rsp + 0x28]
add r10, 8
mov qword [rsp + 0x28], r10
cmp edx, 0xaaae85fe
jne 0x140096660
mov qword [rsp + r15 + 0x30], r12
mov rdx, qword [rsp + 0x28]
mov r8d, edx
and r8d, 8
or rdx, 8
add rdx, r8
mov qword [rsp + 0x28], rdx
jmp 0x140096880
mov r10, r15
nop dword [rax]
mov eax, dword [0x14158ee80]
mov edx, dword [0x14158ee84]
mov r8d, edx
and r8d, eax
add eax, edx
sub eax, r8d
mov edx, eax
or edx, 0x100804
not eax
or eax, 0x110c4310
and eax, 0x938e631a
and edx, 0x20300c84
sub edx, eax
cmp edx, 0x3226f086
je 0x1400968d0
test rcx, rcx
jne 0x14009691d
xor ecx, ecx
mov r8, r11
jmp 0x140096c2c
mov r10, r15
mov r8, r11
mov eax, dword [0x14158ee88]
sub eax, dword [0x14158ee8c]
mov edx, eax
not edx
mov r11d, eax
or r11d, 0x306cd809
mov ebp, r11d
and ebp, 0x7d22d60b
and edx, 0x829121f4
imul edx, ebp
and r11d, 0x82dd29f4
or eax, 0xb2fdf9fd
imul eax, r11d
add eax, edx
add eax, 0x42b27f39
cmp eax, 0x9169bb9b
ja 0x140096920
xor r11d, r11d
mov r15d, 0xd8af47c7
nop word cs:[rax + rax]
movzx ebp, byte [r8]
add bpl, 0xd0
cmp bpl, 9
ja 0x140096c2c
mov edx, dword [0x14158ee90]
mov r14d, dword [0x14158ee94]
mov eax, edx
not eax
mov r12d, r14d
not r12d
mov r13d, eax
and r13d, 0xa92185
and edx, 0x6010403a
or edx, r13d
or eax, r12d
and r12d, 0xa92185
and r14d, 0x6010403a
or r14d, r12d
xor r14d, edx
not eax
or eax, r14d
or eax, 0x9f469e40
mov edx, eax
and edx, 0x61a349e1
add edx, edx
neg edx
add eax, edx
add eax, 0x1bb32e68
cmp eax, 0xc8811cdc
ja 0x140096992
dec rcx
mov eax, dword [0x14158ee9c]
add eax, dword [0x14158ee98]
mov edx, eax
not edx
mov r14d, eax
and r14d, 0x5f6a781d
and edx, 0xa09587e2
imul edx, r14d
mov r14d, eax
and r14d, 0xa09587e2
or eax, 0xa09587e2
imul eax, r14d
mov r12d, 0x1594f8e6
sub r12d, eax
sub r12d, edx
add eax, edx
add eax, 0xea6b0719
or r12d, 0xd1013685
or eax, 0x2efec97a
and eax, r12d
cmp eax, 0xf70b4e81
ja 0x1400969fa
inc r8
nop dword [rax]
test r11b, r11b
jne 0x140096a60
cmp r10, 0x2ff
ja 0x140096ae0
mov eax, dword [0x14158eea0]
xor eax, dword [0x14158eea4]
or eax, 0x9f138128
mov edx, 0x9c91d52c
sub edx, eax
or edx, 0x6f51de86
add eax, edx
add eax, 0x636e2ad4
cmp eax, 0x38aec5f4
jb 0x140096a6e
mov eax, dword [0x14158eea8]
xor edx, edx
div dword [0x14158eeac]
mov edx, eax
xor edx, 0x42121449
xor eax, 0xca1e7649
and edx, 0x633314db
add edx, edx
sub edx, eax
mov eax, edx
and eax, 0x57f3408c
add eax, eax
sub edx, eax
cmp edx, 0x73fa0e9c
jne 0x140096af0
jmp 0x140096c20
mov rax, r10
jmp 0x140096b40
mov eax, dword [0x14158eeb0]
mov edx, dword [0x14158eeb4]
mov r14d, edx
not r14d
mov r12d, eax
and r12d, r14d
or r14d, eax
not r14d
imul r14d, r12d
mov r12d, eax
and r12d, edx
or eax, edx
imul eax, r12d
add eax, r14d
xor eax, 0x90754
or eax, 0xdff6f8ab
mov byte [rsp + r10 + 0x30], bpl
cmp eax, 0x81d71a8f
je 0x140096c20
mov rax, qword [rsp + 0x28]
mov edx, dword [0x14158eeb8]
sub edx, dword [0x14158eebc]
mov r10d, edx
not r10d
mov ebp, edx
and ebp, 0xa0f5c065
and r10d, 0x5f0a3f9a
imul r10d, ebp
mov ebp, edx
and ebp, 0x5f0a3f9a
or edx, 0x5f0a3f9a
imul edx, ebp
add edx, r10d
imul rdx, r15
shr rdx, 0x3a
mov r10d, edx
and r10d, 0xffffffeb
add r10d, r10d
neg r10d
add edx, r10d
add edx, 0x7269b9ab
cmp edx, 0xef1ecf4
jae 0x140096bc0
mov rdx, rax
xor rdx, 1
mov r10d, eax
and r10d, 1
lea rdx, [rdx + r10*2]
mov qword [rsp + 0x28], rdx
nop word cs:[rax + rax]
mov edx, dword [0x14158eec0]
mov r10d, dword [0x14158eec4]
mov ebp, r10d
not ebp
mov r14d, edx
and r14d, ebp
or ebp, edx
not ebp
imul ebp, r14d
mov r14d, edx
and r14d, r10d
or edx, r10d
imul edx, r14d
add edx, ebp
and edx, 0x53d769cc
add edx, 0x5484ece4
not edx
and edx, 0x71aed0d8
lea r10, [rax + 1]
mov qword [rsp + 0x28], r10
cmp edx, 0x3dbd7660
ja 0x140096bc0
test rcx, rcx
jne 0x140096980
jmp 0x140096c2a
mov byte [rsp + r10 + 0x30], bpl
jmp 0x140096af0
xor ecx, ecx
mov eax, dword [0x14158eec8]
xor edx, edx
div dword [0x14158eecc]
and eax, 0x6f0f65b6
add eax, 0xe27f390c
cmp eax, 0x4a08e339
jae 0x140096cae
jmp 0x140096ced
ud2
xor r15d, r15d
jmp 0x1400970eb
mov eax, dword [0x14158eed0]
imul eax, dword [0x14158eed4]
add eax, 0x825cd971
mov edx, eax
not edx
or eax, 0x91110100
or edx, 0x400c289
and edx, eax
not edx
and edx, 0x9511c389
mov eax, ecx
sub eax, r9d
mov dword [rsp + 0x330], eax
cmp edx, 0x5de622c9
jne 0x140096cfb
mov eax, ecx
sub eax, r9d
mov dword [rsp + 0x330], eax
jmp 0x140096cae
mov r15, r10
test r15, r15
je 0x140096ca6
nop word cs:[rax + rax]
mov eax, dword [0x14158ef10]
mov edx, dword [0x14158ef14]
not eax
not edx
or edx, eax
mov eax, edx
not eax
or eax, 0x24849520
and edx, 0x58200a48
and eax, 0x26dfd5b1
or eax, edx
xor eax, 0xa269275f
add eax, 0x1c8615fc
cmp eax, 0xd1417676
jb 0x140096d10
cmp rbx, rcx
jb 0x1400970af
mov eax, 0xb6be5521
nop word [rax + rax]
mov edx, dword [0x14158ef18]
sub edx, dword [0x14158ef1c]
or edx, 0xacfc3298
imul rdx, rax
shr rdx, 0x3f
not edx
and edx, 0x3777d3e5
cmp edx, 0x558c2d2f
je 0x140096d60
nop word [rax + rax]
mov eax, dword [0x14158ef20]
xor edx, edx
div dword [0x14158ef24]
imul rdx, rax, 0x4ad03673
shr rdx, 0x20
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 0x1a
or eax, 0xfe1819c
mov edx, eax
xor edx, 0xfa0002c
and edx, eax
cmp edx, 0xaa966881
ja 0x140096d90
sub rbx, rcx
jne 0x140096de0
xor eax, eax
jmp 0x140096faf
mov eax, dword [0x14158ef28]
add eax, dword [0x14158ef2c]
imul eax, eax, 0x8cff6e47
mov edx, eax
not edx
and edx, 0xe883a5bb
mov r9d, eax
and r9d, 0x177c5a44
imul r9d, edx
mov edx, eax
and edx, 0xe883a5bb
or eax, 0xe883a5bb
imul eax, edx
add eax, r9d
mov edx, eax
xor edx, 0x7241a68
add edx, eax
and eax, 0xf8dbe597
sub edx, eax
cmp edx, 0xe369ae9c
ja 0x140096de0
nop word cs:[rax + rax]
mov eax, dword [0x14158ef30]
or eax, dword [0x14158ef34]
mov edx, eax
and edx, 0x4863dae4
xor eax, 0x4863dae4
lea eax, [rax + rdx*2]
imul rax, rax, 0x3e2d277d
shr rax, 0x3a
add eax, 0x21c9f33c
cmp eax, 0x426ecc9e
ja 0x140096e40
nop word cs:[rax + rax]
mov eax, dword [0x14158ef38]
xor edx, edx
div dword [0x14158ef3c]
mov edx, eax
and edx, 0x3d4a55c0
add edx, edx
neg edx
add eax, edx
add eax, 0xbd4a55c0
mov edx, eax
not edx
mov r9d, eax
and r9d, 0x56772210
and edx, 0xa988ddef
imul edx, r9d
mov r9d, eax
and r9d, 0xa988ddef
or eax, 0xa988ddef
imul eax, r9d
add eax, edx
xor eax, 0x322c0074
cmp eax, 0xe87312ae
ja 0x140096e80
xor eax, eax
nop dword [rax]
mov edx, dword [0x14158ef58]
or edx, dword [0x14158ef5c]
shr edx, 2
imul rdx, rdx, 0x2252c07f
shr rdx, 0x37
xor edx, 0x43ee0479
cmp edx, 0x68921513
je 0x140096ee0
mov rdx, qword [rsp + 0x20]
movzx edx, byte [rdx + rbx - 1]
cmp dl, 0x30
jge 0x140096f30
cmp dl, 0x2e
je 0x140096f35
jmp 0x140096faf
jne 0x140096faf
inc rax
mov edx, dword [0x14158ef60]
mov r9d, dword [0x14158ef64]
mov r10d, edx
not r10d
and r10d, r9d
not r9d
and r9d, edx
sub r9d, r10d
mov edx, r9d
not edx
mov r10d, r9d
and r10d, 0x2baf2ef3
and edx, 0xd450d10c
imul edx, r10d
mov r10d, r9d
and r10d, 0xd450d10c
or r9d, 0xd450d10c
imul r9d, r10d
add edx, r9d
add edx, 0xfbdacd6e
mov r9d, edx
xor r9d, 0xd413fab4
or edx, 0x2bec054a
and edx, r9d
cmp edx, 0x14ed5de8
je 0x140096f35
dec rbx
jne 0x140096ee0
mov edx, dword [rsp + 0x330]
add edx, eax
sub r15, rax
mov qword [rsp + 0x28], r15
lea eax, [r15 + rdx]
mov dword [rsp + 0x330], eax
cmp r15, 0x300
jbe 0x1400970eb
mov eax, dword [0x14158ef68]
xor edx, edx
div dword [0x14158ef6c]
mov edx, eax
xor edx, 0x3be8f51e
and edx, eax
mov eax, edx
xor eax, 0x76d60d0a
and edx, 0x929f2f5
add edx, edx
sub edx, eax
and edx, 0x987da221
cmp edx, 0x4ddc8c6f
jae 0x140097020
mov byte [rsp + 0x334], 1
nop word [rax + rax]
mov eax, dword [0x14158ef70]
mov edx, dword [0x14158ef74]
mov r9d, edx
not r9d
and r9d, eax
xor edx, eax
add edx, eax
sub edx, r9d
mov eax, edx
xor eax, 0x50690ee7
and edx, 0x2f96f118
add edx, edx
sub edx, eax
imul rax, rdx, 0x541db59
shr rax, 0x38
imul eax, eax, 0x2bc501a
mov byte [rsp + 0x334], 1
cmp eax, 0x94c851a5
ja 0x140097020
mov eax, dword [0x14158ef78]
mov edx, dword [0x14158ef7c]
mov r9d, eax
not r9d
and r9d, edx
not edx
and edx, eax
sub edx, r9d
mov eax, edx
or eax, 0x48020dc
not edx
and edx, 0x18018020
and eax, 0x6f820df
or eax, edx
cmp eax, 0x1717c406
jne 0x140097562
jmp 0x1400975a1
mov eax, dword [0x14158ef40]
imul eax, dword [str.g_fg_t]
mov ecx, eax
xor ecx, 0x21500440
xor eax, 0x21561742
and ecx, 0x7171e4c0
add ecx, ecx
sub ecx, eax
imul eax, ecx, 0x4cb39bcc
cmp eax, 0x93170d97
jne 0x1400974f8
jmp 0x140097529
cmp rcx, 1
jb 0x1400975c0
lea r9, [r8 + 1]
lea r10, [rcx - 1]
movzx eax, byte [r8]
nop word cs:[rax + rax]
mov r11d, dword [0x14158ef88]
sub r11d, dword [0x14158ef8c]
mov edx, r11d
xor edx, 0x3299d45f
xor r11d, 0x1022b20
and r11d, 0x30aab72
mov ebx, edx
and ebx, 0xfcf5548d
imul ebx, r11d
mov r11d, edx
and r11d, 0x30aab72
or edx, 0x30aab72
imul edx, r11d
add edx, ebx
mov r11d, edx
not r11d
mov ebx, edx
and ebx, 0x3e729dba
and r11d, 0xc18d6244
imul r11d, ebx
mov ebx, edx
and ebx, 0xc18d6244
or edx, 0xc18d6244
imul edx, ebx
add edx, r11d
cmp edx, 0x70f57b2f
ja 0x140097110
cmp al, 0x65
jge 0x140097199
cmp al, 0x45
je 0x1400971a0
jmp 0x1400975c0
jne 0x1400975c0
nop
mov eax, dword [0x14158efa8]
or eax, dword [0x14158efac]
and eax, 0xc94ce7c9
add eax, 0x59a1d52f
imul rax, rax, 0x4521a09d
shr rax, 0x3c
cmp eax, 0x6032e55a
ja 0x1400971a0
add r8, 2
mov rax, rcx
and rax, 0xfffffffffffffffe
or rcx, 0xfffffffffffffffe
add rcx, rax
nop word [rax + rax]
mov eax, dword [0x14158efb0]
xor edx, edx
div dword [0x14158efb4]
or eax, 0x41910c32
xor eax, 0x51211820
or eax, 0xae4ae1cc
cmp eax, 0x1f9b2fd9
jb 0x1400971e0
mov eax, 0xd6a3378f
nop dword [rax]
mov edx, dword [0x14158efb8]
and edx, dword [0x14158efbc]
mov r11d, edx
not r11d
and r11d, 0xfefcc55c
mov ebx, edx
and ebx, 0x1033aa3
imul ebx, r11d
mov r11d, edx
and r11d, 0xfefcc55c
or edx, 0xfefcc55c
imul edx, r11d
add edx, ebx
add edx, 0x9dbe9adc
imul rdx, rax
shr rdx, 0x3f
cmp edx, 0xb6883853
ja 0x140097210
test r10, r10
je 0x1400972e7
mov eax, dword [0x14158efc0]
xor edx, edx
div dword [0x14158efc4]
nop dword [rax + rax]
mov eax, dword [0x14158efc8]
xor eax, dword [0x14158efcc]
mov edx, eax
not edx
and edx, 0x38e5ea29
and eax, 0xc71a15d6
sub eax, edx
imul eax, eax, 0x74e6820d
mov edx, eax
not edx
and edx, 0xc70e702f
mov r11d, eax
and r11d, 0x38f18fd0
imul r11d, edx
mov edx, eax
and edx, 0xc70e702f
or eax, 0xc70e702f
imul eax, edx
add eax, r11d
cmp eax, 0xf7569c43
ja 0x140097280
movzx r11d, byte [r9]
cmp r11b, 0x2d
jge 0x1400972ef
cmp r11b, 0x2b
jne 0x140097300
jmp 0x1400972f1
xor r8d, r8d
jmp 0x1400974da
jne 0x140097300
mov r9, r8
mov r10, rcx
test rcx, rcx
je 0x140097466
mov eax, dword [0x14158efd0]
mov ecx, dword [0x14158efd4]
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
not ecx
mov edx, eax
and edx, 0xe05d16bf
and ecx, 0x1fa2e940
imul ecx, edx
mov edx, eax
and edx, 0x1fa2e940
or eax, 0x1fa2e940
imul eax, edx
add eax, ecx
mov ecx, eax
xor ecx, 0xd256d84d
add ecx, eax
and eax, 0x2da92780
sub ecx, eax
mov eax, ecx
xor eax, 0x707182ee
and ecx, 0xf8e7d01
add ecx, ecx
sub ecx, eax
cmp ecx, 0xdb7bba5e
ja 0x140097300
xor ecx, ecx
xor eax, eax
nop word cs:[rax + rax]
mov edx, dword [0x14158efd8]
sub edx, dword [0x14158efdc]
imul rdx, rdx, 0x253e909b
shr rdx, 0x3d
or edx, 0x84677b84
xor edx, 0x6433d390
add edx, 0x18cbfbc5
cmp edx, 0x5f83fa6a
jb 0x140097390
movzx edx, byte [r9]
mov r8d, edx
and r8b, 0xd0
or dl, 0xd0
add dl, r8b
cmp dl, 9
ja 0x140097468
nop dword [rax + rax]
mov r8d, dword [0x14158efe0]
mov ebx, dword [str._f_r]
mov ebp, r8d
xor ebp, ebx
not ebp
and ebp, ebx
add ebp, ebp
sub ebx, ebp
add ebx, r8d
mov r8d, ebx
and r8d, 0xb31c2e11
and ebx, 0x101c2610
add ebx, ebx
sub r8d, ebx
add r8d, 0xd8aa3a80
cmp r8d, 0x86259e65
jb 0x1400973e0
dec r10
inc r9
mov r8d, eax
not r8d
mov ebx, eax
and ebx, 0xfffffff5
and r8d, 0xa
imul r8d, ebx
mov ebx, eax
and ebx, 0xa
mov ebp, eax
or ebp, 0xa
imul ebp, ebx
movzx edx, dl
add edx, ebp
add edx, r8d
cmp eax, 0x10000
cmovl ecx, edx
cmovl eax, edx
test r10, r10
jne 0x140097390
jmp 0x140097468
xor ecx, ecx
mov eax, dword [0x14158efe8]
xor edx, edx
div dword [0x14158efec]
mov eax, 0xade70021
mov edx, ecx
neg edx
nop
mov r8d, dword [0x14158eff0]
mov r9d, dword [0x14158eff4]
not r8d
not r9d
or r9d, r8d
mov r8d, r9d
not r8d
xor r9d, 0x468a1aac
and r9d, r8d
imul r9, rax
shr r9, 0x3d
mov r10d, r9d
xor r10d, 0xadd0c012
add r10d, r9d
mov r8d, r9d
and r8d, 0xfffffffd
sub r10d, r8d
cmp r11b, 0x2d
mov r8d, ecx
cmove r8d, edx
cmp r10d, 0x83dfd193
je 0x140097480
mov eax, dword [0x14158eff8]
xor edx, edx
div dword [0x14158effc]
cmp eax, 0x6f09131
jne 0x14009779c
jmp 0x1400977c8
mov eax, dword [0x14158ef48]
xor eax, dword [0x14158ef4c]
or eax, 0xfdcf7c5a
imul eax, eax, 0xc8aa93e6
mov ecx, eax
not ecx
and ecx, 0x7964b830
and eax, 0x869b47ce
sub eax, ecx
ud2
ud2
mov eax, dword [0x14158ef80]
mov edx, dword [0x14158ef84]
mov r9d, edx
and r9d, eax
add eax, edx
sub eax, r9d
add eax, 0x6bd34797
xor eax, 0xc31ca988
mov edx, 0x8c22a7b3
imul rdx, rax
shr rdx, 0x3e
mov qword [rsp + 0x28], 0x300
cmp edx, 0xac77b115
jb 0x1400975ac
mov qword [rsp + 0x28], 0x300
jmp 0x140097562
mov r15d, 0x300
jmp 0x1400970eb
mov eax, dword [0x14158ef90]
and eax, dword [0x14158ef94]
mov ecx, eax
xor ecx, 0xa6cc3056
or eax, 0x5933cfa9
and eax, ecx
imul rax, rax, 0x130e882d
shr rax, 0x3c
or eax, 0x86965b82
cmp eax, 0xf0f9069e
je 0x1400975c0
nop word cs:[rax + rax]
mov eax, dword [0x14158ef98]
xor edx, edx
div dword [0x14158ef9c]
mov ecx, eax
xor ecx, 0xfb13dc26
add ecx, eax
and eax, 0x4ec23d9
sub ecx, eax
mov eax, ecx
not eax
and eax, 0x93cdb1ec
mov edx, ecx
and edx, 0x6c324e13
imul edx, eax
mov eax, ecx
and eax, 0x93cdb1ec
or ecx, 0x93cdb1ec
imul ecx, eax
add ecx, edx
or ecx, 0x6ebb4067
cmp ecx, 0x3bfb725d
jb 0x140097600
cmp r15, 0x12
ja 0x1400976ff
movabs rbx, 0x9dada8f97f84063d
mov eax, dword [0x14158efa0]
xor edx, edx
div dword [0x14158efa4]
mov ecx, eax
not ecx
and ecx, 0x56cf502e
mov edx, eax
and edx, 0xa930afd1
imul edx, ecx
mov ecx, eax
and ecx, 0x56cf502e
or eax, 0x56cf502e
imul eax, ecx
add eax, edx
imul rax, rax, 0x14967d7f
shr rax, 0x3c
imul eax, eax, 0xf08383d
cmp eax, 0x7118d5b3
ja 0x1400976e1
lea rcx, [r15 + rdi]
add rcx, 8
mov rax, r15
xor rax, 0x13
mov r8d, r15d
not r8d
and r8d, 0x13
add r8, r8
sub r8, rax
xor ebp, ebp
xor edx, edx
call fcn.14021c2d0
test bpl, bpl
je 0x1400976ff
lea rcx, [r15 + rdi]
add rcx, 8
mov r8, rbx
sub r8, r15
sub r8, rbx
add r8, 0x13
xor edx, edx
call fcn.14021c2d0
jmp 0x1400976b4
mov eax, dword [0x14158f008]
and eax, dword [0x14158f00c]
xor eax, 0x201e5643
mov ecx, eax
or ecx, 0x942240
and ecx, 0x5497a241
or eax, 0xfed7a24d
add eax, ecx
cmp eax, 0x30d53832
je 0x140097745
lea rdx, [rsp + 0x28]
mov r8d, 0x310
mov rcx, rsi
call fcn.14021bb50
xor eax, eax
test al, al
je 0x14009775a
lea rdx, [rsp + 0x28]
mov r8d, 0x310
mov rcx, rsi
call fcn.14021bb50
jmp 0x14009772c
mov eax, 0xc6b7a8f5
nop
mov ecx, dword [0x14158f010]
xor ecx, dword [0x14158f014]
or ecx, 0x8903c7ee
xor ecx, 0x4074b0a
imul rcx, rax
shr rcx, 0x3f
cmp ecx, 0x31c6b326
ja 0x140097760
add rsp, 0x338
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov eax, dword [str.E_An_]
mov ecx, dword [0x14158f004]
mov edx, ecx
not edx
and edx, eax
xor ecx, eax
add ecx, eax
sub ecx, edx
add dword [rsp + 0x330], r8d
cmp ecx, 0x9aa7b0df
jne 0x1400975c0
add dword [rsp + 0x330], r8d
jmp 0x14009779c