Function at 0x1400a6e50
Capabilities:
Encode data using xor
Generate random numbers using a mersenne twister

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x12e0]
mov eax, 0x13e0
call fcn.1400e8c90
sub rsp, rax
mov rax, qword [0x1401cbbd0]
xor rax, rsp
mov qword [rbp + 0x12d0], rax
lea rdx, str.Function_2
lea rcx, [0x1401ce7c0]
call fcn.1400a4af0
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.1400a4910
movzx edx, al
mov rcx, rbx
call fcn.1400a58a0
mov rcx, rbx
call fcn.1400a4660
call fcn.140122cb4
mov dword [rbp + 0x12c4], 0xffffffff
mov dword [rsp + 0x44], eax
mov r14d, 1
mov edx, r14d
mov esi, 0x270
nop dword [rax]
mov ecx, eax
shr ecx, 0x1e
xor ecx, eax
imul eax, ecx, 0x6c078965
add eax, edx
mov dword [rsp + rdx*4 + 0x44], eax
inc rdx
cmp rdx, rsi
jb 0x1400a6ef0
mov dword [rsp + 0x40], esi
mov r13, qword [0x1401cf280]
sub r13, qword [0x1401cf278]
sar r13, 6
dec r13d
mov edi, dword [0x1401cbce4]
lea rdx, str.____________________________________________________________
lea rcx, [0x1401ce7c0]
call fcn.1400a4af0
mov edx, dword [0x1401cbce4]
mov rcx, rax
call fcn.1400a2400
mov rcx, rax
lea rdx, str._______________________________________________________________________
call fcn.1400a4af0
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.1400a4910
movzx edx, al
mov rcx, rbx
call fcn.1400a58a0
mov rcx, rbx
call fcn.1400a4660
lea eax, [rdi - 0x80000000]
mov r12d, 0x80000000
lea r15d, [rdi + r12]
cmp edi, r12d
cmovae r15d, eax
mov ebx, 0x80000064
sub ebx, r15d
cmp ebx, 0xffffffff
jne 0x1400a7025
lea r8, [rsp + 0x48]
nop
mov edx, dword [r8 - 4]
xor edx, dword [r8]
btr edx, 0x1f
xor edx, dword [r8 - 4]
mov eax, edx
and al, r14b
neg al
sbb ecx, ecx
and ecx, 0x9908b0df
xor ecx, dword [r8 + 0x630]
shr edx, 1
xor ecx, edx
mov dword [r8 + 0x9bc], ecx
lea r8, [r8 + 4]
sub rsi, r14
jne 0x1400a6fb0
mov ecx, dword [rsp + 0x40]
mov edx, dword [rsp + rcx*4 + 0x44]
inc ecx
mov dword [rsp + 0x40], ecx
mov eax, edx
shr eax, 0xb
and eax, dword [rbp + 0x12c4]
xor edx, eax
mov eax, edx
and eax, 0xff3a58ad
shl eax, 7
xor edx, eax
mov eax, edx
and eax, 0xffffdf8c
shl eax, 0xf
xor edx, eax
mov ecx, edx
shr ecx, 0x12
xor ecx, edx
jmp 0x1400a7068
inc ebx
lea rcx, [rsp + 0x40]
call fcn.140034ec0
mov edi, ebx
mov ecx, eax
imul rcx, rdi
cmp ecx, ebx
jae 0x1400a7064
mov eax, ebx
neg eax
xor edx, edx
div ebx
mov ebx, edx
cmp ecx, edx
jae 0x1400a7064
nop dword [rax + rax]
lea rcx, [rsp + 0x40]
call fcn.140034ec0
mov ecx, eax
imul rcx, rdi
cmp ecx, ebx
jb 0x1400a7050
shr rcx, 0x20
lea edx, [rcx + r15]
lea eax, [rdx + r12]
lea ecx, [rdx - 0x80000000]
cmp edx, r12d
cmovae ecx, eax
mov eax, dword [0x1401cbce4]
cmp ecx, eax
jg 0x1400a709d
cmp byte [0x1401cf181], 0
jne 0x1400a709d
mov byte [0x1401cf181], r14b
call fcn.1400a5bb0
jmp 0x1400a70b0
add eax, 7
mov ecx, 0x64
cmp eax, ecx
cmovg eax, ecx
mov dword [0x1401cbce4], eax
lea rcx, [rsp + 0x40]
call fcn.140034ec0
mov ecx, eax
lea rdi, [rcx + rcx*2]
add rdi, rdi
cmp edi, 6
jae 0x1400a70e8
cmp edi, 4
jae 0x1400a70e8
nop dword [rax]
lea rcx, [rsp + 0x40]
call fcn.140034ec0
mov ecx, eax
lea rdi, [rcx + rcx*2]
add rdi, rdi
cmp edi, 4
jb 0x1400a70d0
shr rdi, 0x20
lea rdx, str.Condition:
lea rcx, [0x1401ce7c0]
call fcn.1400a4af0
mov edx, edi
mov rcx, rax
call fcn.1400a2400
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.1400a4910
movzx edx, al
mov rcx, rbx
call fcn.1400a58a0
mov rcx, rbx
call fcn.1400a4660
xor r15d, r15d
lea rcx, [0x1401ce7c0]
test edi, edi
jne 0x1400a7176
lea rdx, str.Condition_is_0
call fcn.1400a4af0
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.1400a4910
movzx edx, al
mov rcx, rbx
call fcn.1400a58a0
mov rcx, rbx
call fcn.1400a4660
jmp 0x1400a7a4a
cmp edi, r14d
jne 0x1400a72a0
lea rdx, str.Condition_is_1
call fcn.1400a4af0
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.1400a4910
movzx edx, al
mov rcx, rbx
call fcn.1400a58a0
mov rcx, rbx
call fcn.1400a4660
lea rcx, [rsp + 0x40]
call fcn.140034ec0
mov ecx, eax
lea rax, [rcx + rcx*4]
add rax, rax
cmp eax, 0xa
jae 0x1400a71e8
cmp eax, 6
jae 0x1400a71e8
nop
lea rcx, [rsp + 0x40]
call fcn.140034ec0
mov ecx, eax
lea rax, [rcx + rcx*4]
add rax, rax
cmp eax, 6
jb 0x1400a71d0
shr rax, 0x20
lea ecx, [rax - 0x7fffffff]
lea eax, [rcx + r12]
lea esi, [rcx - 0x80000000]
cmp ecx, r12d
cmovae esi, eax
lea rdx, str.Loop_count:
lea rcx, [0x1401ce7c0]
call fcn.1400a4af0
mov edx, esi
mov rcx, rax
call fcn.1400a2400
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.1400a4910
movzx edx, al
mov rcx, rbx
call fcn.1400a58a0
mov rcx, rbx
call fcn.1400a4660
mov edi, r15d
test esi, esi
jle 0x1400a7a4a
lea rdx, str.Iteration:
lea rcx, [0x1401ce7c0]
call fcn.1400a4af0
inc edi
mov edx, edi
mov rcx, rax
call fcn.1400a2400
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.1400a4910
movzx edx, al
mov rcx, rbx
call fcn.1400a58a0
mov rcx, rbx
call fcn.1400a4660
cmp edi, esi
jl 0x1400a7251
jmp 0x1400a7a4a
cmp edi, 2
jne 0x1400a772f
lea rdx, str.Condition_is_2
call fcn.1400a4af0
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.1400a4910
movzx edx, al
mov rcx, rbx
call fcn.1400a58a0
mov rcx, rbx
call fcn.1400a4660
lea rcx, [rsp + 0x40]
call fcn.140034ec0
mov ecx, eax
lea rax, [rcx + rcx*4]
add rax, rax
cmp eax, 0xa
jae 0x1400a7318
cmp eax, 6
jae 0x1400a7318
nop dword [rax]
lea rcx, [rsp + 0x40]
call fcn.140034ec0
mov ecx, eax
lea rax, [rcx + rcx*4]
add rax, rax
cmp eax, 6
jb 0x1400a7300
shr rax, 0x20
lea ecx, [rax - 0x7fffffff]
lea eax, [rcx + r12]
lea esi, [rcx - 0x80000000]
cmp ecx, r12d
cmovae esi, eax
lea rdx, str.Loop_count:
lea rcx, [0x1401ce7c0]
call fcn.1400a4af0
mov edx, esi
mov rcx, rax
call fcn.1400a2400
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.1400a4910
movzx edx, al
mov rcx, rbx
call fcn.1400a58a0
mov rcx, rbx
call fcn.1400a4660
mov edi, r15d
test esi, esi
jle 0x1400a73ca
nop dword [rax]
lea rdx, str.Iteration:
lea rcx, [0x1401ce7c0]
call fcn.1400a4af0
inc edi
mov edx, edi
mov rcx, rax
call fcn.1400a2400
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.1400a4910
movzx edx, al
mov rcx, rbx
call fcn.1400a58a0
mov rcx, rbx
call fcn.1400a4660
cmp edi, esi
jl 0x1400a7380
lea rcx, [rsp + 0x40]
call fcn.140034ec0
mov ecx, eax
lea rdi, [rcx + rcx*2]
add rdi, rdi
cmp edi, 6
jae 0x1400a7408
cmp edi, 4
jae 0x1400a7408
nop word [rax + rax]
lea rcx, [rsp + 0x40]
call fcn.140034ec0
mov ecx, eax
lea rdi, [rcx + rcx*2]
add rdi, rdi
cmp edi, 4
jb 0x1400a73f0
shr rdi, 0x20
lea rdx, str.Nested_Condition:
lea rcx, [0x1401ce7c0]
call fcn.1400a4af0
mov edx, edi
mov rcx, rax
call fcn.1400a2400
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.1400a4910
movzx edx, al
mov rcx, rbx
call fcn.1400a58a0
mov rcx, rbx
call fcn.1400a4660
lea rcx, [0x1401ce7c0]
test edi, edi
jne 0x1400a7493
lea rdx, str.Nested_condition_is_0
call fcn.1400a4af0
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.1400a4910
movzx edx, al
mov rcx, rbx
call fcn.1400a58a0
mov rcx, rbx
call fcn.1400a4660
jmp 0x1400a76aa
lea rdx, str.Nested_condition_is_not_0
call fcn.1400a4af0
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.1400a4910
movzx edx, al
mov rcx, rbx
call fcn.1400a58a0
mov rcx, rbx
call fcn.1400a4660
lea rcx, [rsp + 0x40]
call fcn.140034ec0
mov ecx, eax
lea rdi, [rcx + rcx*2]
add rdi, rdi
cmp edi, 6
jae 0x1400a74fb
cmp edi, 4
jae 0x1400a74fb
lea rcx, [rsp + 0x40]
call fcn.140034ec0
mov ecx, eax
lea rdi, [rcx + rcx*2]
add rdi, rdi
cmp edi, 4
jb 0x1400a74e3
shr rdi, 0x20
lea rdx, str.Additional_Condition_within_Nested_Condition:
lea rcx, [0x1401ce7c0]
call fcn.1400a4af0
mov edx, edi
mov rcx, rax
call fcn.1400a2400
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.1400a4910
movzx edx, al
mov rcx, rbx
call fcn.1400a58a0
mov rcx, rbx
call fcn.1400a4660
lea rcx, [0x1401ce7c0]
test edi, edi
jne 0x1400a7586
lea rdx, str.Additional_Condition_is_0
call fcn.1400a4af0
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.1400a4910
movzx edx, al
mov rcx, rbx
call fcn.1400a58a0
mov rcx, rbx
call fcn.1400a4660
jmp 0x1400a76aa
lea rdx, str.Additional_Condition_is_not_0
call fcn.1400a4af0
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.1400a4910
movzx edx, al
mov rcx, rbx
call fcn.1400a58a0
mov rcx, rbx
call fcn.1400a4660
lea rcx, [rsp + 0x40]
call fcn.140034ec0
mov ecx, eax
lea rax, [rcx + rcx*4]
add rax, rax
cmp eax, 0xa
jae 0x1400a75ee
cmp eax, 6
jae 0x1400a75ee
lea rcx, [rsp + 0x40]
call fcn.140034ec0
mov ecx, eax
lea rax, [rcx + rcx*4]
add rax, rax
cmp eax, 6
jb 0x1400a75d6
shr rax, 0x20
lea ecx, [rax - 0x7fffffff]
lea eax, [rcx + r12]
lea esi, [rcx - 0x80000000]
cmp ecx, r12d
cmovae esi, eax
lea rdx, str.Nested_Loop_count_within_Additional_Condition:
lea rcx, [0x1401ce7c0]
call fcn.1400a4af0
mov edx, esi
mov rcx, rax
call fcn.1400a2400
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.1400a4910
movzx edx, al
mov rcx, rbx
call fcn.1400a58a0
mov rcx, rbx
call fcn.1400a4660
mov edi, r15d
test esi, esi
jle 0x1400a76aa
nop dword [rax]
nop word [rax + rax]
lea rdx, str.Nested_iteration_within_Additional_Condition:
lea rcx, [0x1401ce7c0]
call fcn.1400a4af0
inc edi
mov edx, edi
mov rcx, rax
call fcn.1400a2400
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.1400a4910
movzx edx, al
mov rcx, rbx
call fcn.1400a58a0
mov rcx, rbx
call fcn.1400a4660
cmp edi, esi
jl 0x1400a7660
cmp r13d, r12d
jb 0x1400a76c3
cmp r13d, 0xffffffff
jne 0x1400a76c3
lea rcx, [rsp + 0x40]
call fcn.140034ec0
mov ecx, eax
jmp 0x1400a7708
lea ebx, [r13 + 1]
lea rcx, [rsp + 0x40]
call fcn.140034ec0
mov edi, ebx
mov ecx, eax
imul rcx, rdi
cmp ecx, ebx
jae 0x1400a7704
mov eax, ebx
neg eax
xor edx, edx
div ebx
mov ebx, edx
cmp ecx, edx
jae 0x1400a7704
nop dword [rax + rax]
lea rcx, [rsp + 0x40]
call fcn.140034ec0
mov ecx, eax
imul rcx, rdi
cmp ecx, ebx
jb 0x1400a76f0
shr rcx, 0x20
movsxd rcx, ecx
shl rcx, 6
mov rax, qword [0x1401cf278]
mov rcx, qword [rcx + rax + 0x38]
test rcx, rcx
je 0x1400a814d
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
jmp 0x1400a7a4a
cmp edi, 3
jne 0x1400a7bcd
lea rdx, str.Condition_is_3
call fcn.1400a4af0
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.1400a4910
movzx edx, al
mov rcx, rbx
call fcn.1400a58a0
mov rcx, rbx
call fcn.1400a4660
lea rcx, [rsp + 0x40]
call fcn.140034ec0
mov ecx, eax
lea rax, [rcx + rcx*4]
add rax, rax
cmp eax, 0xa
jae 0x1400a77a8
cmp eax, 6
jae 0x1400a77a8
nop dword [rax + rax]
lea rcx, [rsp + 0x40]
call fcn.140034ec0
mov ecx, eax
lea rax, [rcx + rcx*4]
add rax, rax
cmp eax, 6
jb 0x1400a7790
shr rax, 0x20
lea ecx, [rax - 0x7fffffff]
lea eax, [rcx + r12]
lea edx, [rcx - 0x80000000]
cmp ecx, r12d
cmovae edx, eax
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x20], xmm0
mov qword [rsp + 0x30], rax
movsxd r12, edx
mov rdx, r12
lea rcx, [rsp + 0x20]
call fcn.1400a9950
nop
mov r14d, r15d
test r12, r12
jle 0x1400a79f6
mov rsi, r15
mov ecx, r14d
imul ecx, r14d
mov rax, qword [rsp + 0x20]
mov dword [rax + rsi*4], ecx
lea rdx, str.Array_element_at_index
lea rcx, [0x1401ce7c0]
call fcn.1400a4af0
mov edx, r14d
mov rcx, rax
call fcn.1400a2400
mov rcx, rax
lea rdx, [0x1401b4d08]
call fcn.1400a4af0
mov rcx, qword [rsp + 0x20]
mov edx, dword [rcx + rsi*4]
mov rcx, rax
call fcn.1400a2400
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.1400a4910
movzx edx, al
mov rcx, rbx
call fcn.1400a58a0
mov rcx, rbx
call fcn.1400a4660
lea rcx, [rsp + 0x40]
call fcn.140034ec0
mov ecx, eax
lea rdi, [rcx + rcx*2]
add rdi, rdi
cmp edi, 3
ja 0x1400a7898
nop dword [rax]
lea rcx, [rsp + 0x40]
call fcn.140034ec0
mov ecx, eax
lea rdi, [rcx + rcx*2]
add rdi, rdi
cmp edi, 4
jb 0x1400a7880
shr rdi, 0x20
lea rdx, str.Additional_Condition_within_Array_Loop:
lea rcx, [0x1401ce7c0]
call fcn.1400a4af0
mov edx, edi
mov rcx, rax
call fcn.1400a2400
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.1400a4910
movzx edx, al
mov rcx, rbx
call fcn.1400a58a0
mov rcx, rbx
call fcn.1400a4660
lea rcx, [0x1401ce7c0]
test edi, edi
jne 0x1400a78f7
lea rdx, str.Additional_Condition_is_0
jmp 0x1400a79bb
lea rdx, str.Additional_Condition_is_not_0
call fcn.1400a4af0
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.1400a4910
movzx edx, al
mov rcx, rbx
call fcn.1400a58a0
mov rcx, rbx
call fcn.1400a4660
lea rcx, [rsp + 0x40]
call fcn.140034ec0
mov ecx, eax
lea rdi, [rcx + rcx*2]
add rdi, rdi
cmp edi, 3
ja 0x1400a795a
lea rcx, [rsp + 0x40]
call fcn.140034ec0
mov ecx, eax
lea rdi, [rcx + rcx*2]
add rdi, rdi
cmp edi, 4
jb 0x1400a7942
shr rdi, 0x20
lea rdx, str.Nested_Condition_within_Additional_Condition:
lea rcx, [0x1401ce7c0]
call fcn.1400a4af0
mov edx, edi
mov rcx, rax
call fcn.1400a2400
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.1400a4910
movzx edx, al
mov rcx, rbx
call fcn.1400a58a0
mov rcx, rbx
call fcn.1400a4660
lea rcx, [0x1401ce7c0]
test edi, edi
lea rdx, str.Nested_condition_is_0
je 0x1400a79bb
lea rdx, str.Nested_condition_is_not_0
call fcn.1400a4af0
mov rbx, rax
mov rax, qword [rax]
movsxd rcx, dword [rax + 4]
add rcx, rbx
mov dl, 0xa
call fcn.1400a4910
movzx edx, al
mov rcx, rbx
call fcn.1400a58a0
mov rcx, rbx
call fcn.1400a4660
inc r14d
inc rsi
cmp rsi, r12
jl 0x1400a77f1
mov rcx, qword [rsp + 0x20]
test rcx, rcx
je 0x1400a7a44
mov rdx, qword [rsp + 0x30]
sub rdx, rcx
and rdx, 0xfffffffffffffffc
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400a7a31
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400a8153
call fcn.1400e846c
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x20], xmm0
mov qword [rsp + 0x30], r15
mov r12d, 0x80000000
lea rcx, [rsp + 0x40]
call fcn.140034ec0
mov ecx, eax
lea rax, [rcx + rcx*4]
add rax, rax
cmp eax, 0xa
jae 0x1400a7a88
cmp eax, 6
jae 0x1400a7a88
nop word [rax + rax]
lea rcx, [rsp + 0x40]
call fcn.140034ec0
mov ecx, eax
lea rax, [rcx + rcx*4]
add rax, rax
cmp eax, 6
jb 0x1400a7a70
shr rax, 0x20
lea ecx, [rax - 0x7fffffff]
lea eax, [rcx + r12]
lea r14d, [rcx - 0x80000000]
cmp ecx, r12d
cmovae r14d, eax
lea rdx, str.Extra_loop_count:
lea rcx, [0x1401ce7c0]
call fcn.1400a4af0
mov edx, r14d
mov rcx, rax
call fcn.1400a2400
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.1400a4910
movzx edx, al
mov rcx, rbx
call fcn.1400a58a0
mov rcx, rbx
call fcn.1400a4660
test r14d, r14d
jle 0x1400a8117
lea rdx, str.Extra_iteration:
lea rcx, [0x1401ce7c0]
call fcn.1400a4af0
lea esi, [r15 + 1]
mov edx, esi
mov rcx, rax
call fcn.1400a2400
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.1400a4910
movzx edx, al
mov rcx, rbx
call fcn.1400a58a0
mov rcx, rbx
call fcn.1400a4660
lea rcx, [rsp + 0x40]
call fcn.140034ec0
mov ecx, eax
lea rdi, [rcx + rcx*2]
add rdi, rdi
cmp edi, 3
ja 0x1400a7b6a
lea rcx, [rsp + 0x40]
call fcn.140034ec0
mov ecx, eax
lea rdi, [rcx + rcx*2]
add rdi, rdi
cmp edi, 4
jb 0x1400a7b52
shr rdi, 0x20
lea rdx, str.Extra_Condition:
lea rcx, [0x1401ce7c0]
call fcn.1400a4af0
mov edx, edi
mov rcx, rax
call fcn.1400a2400
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.1400a4910
movzx edx, al
mov rcx, rbx
call fcn.1400a58a0
mov rcx, rbx
call fcn.1400a4660
lea rcx, [0x1401ce7c0]
test edi, edi
jne 0x1400a801b
lea rdx, str.Extra_Condition_is_0
jmp 0x1400a80df
cmp edi, 4
jne 0x1400a7d8f
lea rdx, str.Condition_is_4
call fcn.1400a4af0
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.1400a4910
movzx edx, al
mov rcx, rbx
call fcn.1400a58a0
mov rcx, rbx
call fcn.1400a4660
lea rcx, [rsp + 0x40]
call fcn.140034ec0
mov ecx, eax
lea rax, [rcx + rcx*4]
add rax, rax
cmp eax, 0xa
jae 0x1400a7c3e
cmp eax, 6
jae 0x1400a7c3e
lea rcx, [rsp + 0x40]
call fcn.140034ec0
mov ecx, eax
lea rax, [rcx + rcx*4]
add rax, rax
cmp eax, 6
jb 0x1400a7c26
shr rax, 0x20
lea ecx, [rax - 0x7fffffff]
lea eax, [rcx + r12]
lea ebx, [rcx - 0x80000000]
cmp ecx, r12d
cmovae ebx, eax
mov eax, r14d
cmp ebx, eax
jl 0x1400a7c6a
nop
imul r14d, eax
inc eax
cmp eax, ebx
jle 0x1400a7c60
lea rdx, str.Factorial_of
lea rcx, [0x1401ce7c0]
call fcn.1400a4af0
mov edx, ebx
mov rcx, rax
call fcn.1400a2400
mov rcx, rax
lea rdx, [0x1401b4d08]
call fcn.1400a4af0
mov edx, r14d
mov rcx, rax
call fcn.1400a2400
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.1400a4910
movzx edx, al
mov rcx, rbx
call fcn.1400a58a0
mov rcx, rbx
call fcn.1400a4660
lea rcx, [rsp + 0x40]
call fcn.140034ec0
mov ecx, eax
lea rdi, [rcx + rcx*2]
add rdi, rdi
cmp edi, 6
jae 0x1400a7cfd
cmp edi, 4
jae 0x1400a7cfd
lea rcx, [rsp + 0x40]
call fcn.140034ec0
mov ecx, eax
lea rdi, [rcx + rcx*2]
add rdi, rdi
cmp edi, 4
jb 0x1400a7ce5
shr rdi, 0x20
lea rdx, str.Additional_Condition_within_Factorial_Loop:
lea rcx, [0x1401ce7c0]
call fcn.1400a4af0
mov edx, edi
mov rcx, rax
call fcn.1400a2400
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.1400a4910
movzx edx, al
mov rcx, rbx
call fcn.1400a58a0
mov rcx, rbx
call fcn.1400a4660
lea rcx, [0x1401ce7c0]
test edi, edi
lea rdx, str.Additional_Condition_is_0
je 0x1400a7d5e
lea rdx, str.Additional_Condition_is_not_0
call fcn.1400a4af0
mov rbx, rax
mov rax, qword [rax]
movsxd rcx, dword [rax + 4]
add rcx, rbx
mov dl, 0xa
call fcn.1400a4910
movzx edx, al
mov rcx, rbx
call fcn.1400a58a0
mov rcx, rbx
call fcn.1400a4660
jmp 0x1400a7a4a
lea rdx, str.Condition_is_5
call fcn.1400a4af0
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.1400a4910
movzx edx, al
mov rcx, rbx
call fcn.1400a58a0
mov rcx, rbx
call fcn.1400a4660
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x38], r15
mov r8d, recv
lea rdx, str.Hello__World_
lea rcx, [rsp + 0x20]
call fcn.14002a8a0
nop
lea rdx, str.Message_length:
lea rcx, [0x1401ce7c0]
call fcn.1400a4af0
mov rdx, qword [rsp + 0x30]
mov rcx, rax
call fcn.1400a9a20
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.1400a4910
movzx edx, al
mov rcx, rbx
call fcn.1400a58a0
mov rcx, rbx
call fcn.1400a4660
lea rcx, [rsp + 0x40]
call fcn.140034ec0
mov ecx, eax
lea rdi, [rcx + rcx*2]
add rdi, rdi
cmp edi, 6
jae 0x1400a7e68
cmp edi, 4
jae 0x1400a7e68
lea rcx, [rsp + 0x40]
call fcn.140034ec0
mov ecx, eax
lea rdi, [rcx + rcx*2]
add rdi, rdi
cmp edi, 4
jb 0x1400a7e50
shr rdi, 0x20
lea rdx, str.Additional_Condition_within_Condition_5:
lea rcx, [0x1401ce7c0]
call fcn.1400a4af0
mov edx, edi
mov rcx, rax
call fcn.1400a2400
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.1400a4910
movzx edx, al
mov rcx, rbx
call fcn.1400a58a0
mov rcx, rbx
call fcn.1400a4660
lea rcx, [0x1401ce7c0]
test edi, edi
jne 0x1400a7ec7
lea rdx, str.Additional_Condition_is_0
jmp 0x1400a7f99
lea rdx, str.Additional_Condition_is_not_0
call fcn.1400a4af0
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.1400a4910
movzx edx, al
mov rcx, rbx
call fcn.1400a58a0
mov rcx, rbx
call fcn.1400a4660
lea rcx, [rsp + 0x40]
call fcn.140034ec0
mov ecx, eax
lea rdi, [rcx + rcx*2]
add rdi, rdi
cmp edi, 6
jae 0x1400a7f38
cmp edi, 4
jae 0x1400a7f38
nop word [rax + rax]
lea rcx, [rsp + 0x40]
call fcn.140034ec0
mov ecx, eax
lea rdi, [rcx + rcx*2]
add rdi, rdi
cmp edi, 4
jb 0x1400a7f20
shr rdi, 0x20
lea rdx, str.Nested_Condition_within_Additional_Condition:
lea rcx, [0x1401ce7c0]
call fcn.1400a4af0
mov edx, edi
mov rcx, rax
call fcn.1400a2400
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.1400a4910
movzx edx, al
mov rcx, rbx
call fcn.1400a58a0
mov rcx, rbx
call fcn.1400a4660
lea rcx, [0x1401ce7c0]
test edi, edi
lea rdx, str.Nested_condition_is_0
je 0x1400a7f99
lea rdx, str.Nested_condition_is_not_0
call fcn.1400a4af0
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
mov rbx, rax
mov dl, 0xa
add rcx, rax
call fcn.1400a4910
movzx edx, al
mov rcx, rbx
call fcn.1400a58a0
mov rcx, rbx
call fcn.1400a4660
nop
mov rdx, qword [rsp + 0x38]
cmp rdx, 0x10
jb 0x1400a8003
inc rdx
mov rcx, qword [rsp + 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400a7ffe
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400a8147
call fcn.1400e846c
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x38], send
mov byte [rsp + 0x20], 0
jmp 0x1400a7a4a
lea rdx, str.Extra_Condition_is_not_0
call fcn.1400a4af0
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.1400a4910
movzx edx, al
mov rcx, rbx
call fcn.1400a58a0
mov rcx, rbx
call fcn.1400a4660
lea rcx, [rsp + 0x40]
call fcn.140034ec0
mov ecx, eax
lea rdi, [rcx + rcx*2]
add rdi, rdi
cmp edi, 3
ja 0x1400a807e
lea rcx, [rsp + 0x40]
call fcn.140034ec0
mov ecx, eax
lea rdi, [rcx + rcx*2]
add rdi, rdi
cmp edi, 4
jb 0x1400a8066
shr rdi, 0x20
lea rdx, str.Nested_Condition_within_Extra_Condition:
lea rcx, [0x1401ce7c0]
call fcn.1400a4af0
mov edx, edi
mov rcx, rax
call fcn.1400a2400
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.1400a4910
movzx edx, al
mov rcx, rbx
call fcn.1400a58a0
mov rcx, rbx
call fcn.1400a4660
lea rcx, [0x1401ce7c0]
test edi, edi
lea rdx, str.Nested_condition_is_0
je 0x1400a80df
lea rdx, str.Nested_condition_is_not_0
call fcn.1400a4af0
mov rbx, rax
mov rax, qword [rax]
movsxd rcx, dword [rax + 4]
add rcx, rbx
mov dl, 0xa
call fcn.1400a4910
movzx edx, al
mov rcx, rbx
call fcn.1400a58a0
mov rcx, rbx
call fcn.1400a4660
mov r15d, esi
cmp esi, r14d
jl 0x1400a7af2
mov rcx, qword [rbp + 0x12d0]
xor rcx, rsp
call fcn.1400e7e50
lea r11, [rsp + 0x13e0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.1400c5da0
int3
call fcn.1401225f0
int3
call fcn.1400c5da0
int3