Function at 0x1400af670
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.1400f44f0
sub rsp, rax
mov rax, qword [0x1401d9bd0]
xor rax, rsp
mov qword [rbp + 0x12d0], rax
lea rdx, str.Function_2
lea rcx, [0x1401dc7c0]
call fcn.1400ad310
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.1400ad130
movzx edx, al
mov rcx, rbx
call fcn.1400ae0c0
mov rcx, rbx
call fcn.1400ace80
call fcn.14012e3ec
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 0x1400af710
mov dword [rsp + 0x40], esi
mov r13, qword [0x1401dd280]
sub r13, qword [0x1401dd278]
sar r13, 6
dec r13d
mov edi, dword [0x1401d9ce4]
lea rdx, str.____________________________________________________________
lea rcx, [0x1401dc7c0]
call fcn.1400ad310
mov edx, dword [0x1401d9ce4]
mov rcx, rax
call fcn.1400aac20
mov rcx, rax
lea rdx, str._______________________________________________________________________
call fcn.1400ad310
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.1400ad130
movzx edx, al
mov rcx, rbx
call fcn.1400ae0c0
mov rcx, rbx
call fcn.1400ace80
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 0x1400af845
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 0x1400af7d0
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 0x1400af888
inc ebx
lea rcx, [rsp + 0x40]
call fcn.14003e9a0
mov edi, ebx
mov ecx, eax
imul rcx, rdi
cmp ecx, ebx
jae 0x1400af884
mov eax, ebx
neg eax
xor edx, edx
div ebx
mov ebx, edx
cmp ecx, edx
jae 0x1400af884
nop dword [rax + rax]
lea rcx, [rsp + 0x40]
call fcn.14003e9a0
mov ecx, eax
imul rcx, rdi
cmp ecx, ebx
jb 0x1400af870
shr rcx, 0x20
lea edx, [rcx + r15]
lea eax, [rdx + r12]
lea ecx, [rdx - 0x80000000]
cmp edx, r12d
cmovae ecx, eax
mov eax, dword [0x1401d9ce4]
cmp ecx, eax
jg 0x1400af8bd
cmp byte [0x1401dd181], 0
jne 0x1400af8bd
mov byte [0x1401dd181], r14b
call fcn.1400ae3d0
jmp 0x1400af8d0
add eax, 7
mov ecx, 0x64
cmp eax, ecx
cmovg eax, ecx
mov dword [0x1401d9ce4], eax
lea rcx, [rsp + 0x40]
call fcn.14003e9a0
mov ecx, eax
lea rdi, [rcx + rcx*2]
add rdi, rdi
cmp edi, 6
jae 0x1400af908
cmp edi, 4
jae 0x1400af908
nop dword [rax]
lea rcx, [rsp + 0x40]
call fcn.14003e9a0
mov ecx, eax
lea rdi, [rcx + rcx*2]
add rdi, rdi
cmp edi, 4
jb 0x1400af8f0
shr rdi, 0x20
lea rdx, str.Condition:
lea rcx, [0x1401dc7c0]
call fcn.1400ad310
mov edx, edi
mov rcx, rax
call fcn.1400aac20
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.1400ad130
movzx edx, al
mov rcx, rbx
call fcn.1400ae0c0
mov rcx, rbx
call fcn.1400ace80
xor r15d, r15d
lea rcx, [0x1401dc7c0]
test edi, edi
jne 0x1400af996
lea rdx, str.Condition_is_0
call fcn.1400ad310
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.1400ad130
movzx edx, al
mov rcx, rbx
call fcn.1400ae0c0
mov rcx, rbx
call fcn.1400ace80
jmp 0x1400b026a
cmp edi, r14d
jne 0x1400afac0
lea rdx, str.Condition_is_1
call fcn.1400ad310
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.1400ad130
movzx edx, al
mov rcx, rbx
call fcn.1400ae0c0
mov rcx, rbx
call fcn.1400ace80
lea rcx, [rsp + 0x40]
call fcn.14003e9a0
mov ecx, eax
lea rax, [rcx + rcx*4]
add rax, rax
cmp eax, 0xa
jae 0x1400afa08
cmp eax, 6
jae 0x1400afa08
nop
lea rcx, [rsp + 0x40]
call fcn.14003e9a0
mov ecx, eax
lea rax, [rcx + rcx*4]
add rax, rax
cmp eax, 6
jb 0x1400af9f0
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, [0x1401dc7c0]
call fcn.1400ad310
mov edx, esi
mov rcx, rax
call fcn.1400aac20
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.1400ad130
movzx edx, al
mov rcx, rbx
call fcn.1400ae0c0
mov rcx, rbx
call fcn.1400ace80
mov edi, r15d
test esi, esi
jle 0x1400b026a
lea rdx, str.Iteration:
lea rcx, [0x1401dc7c0]
call fcn.1400ad310
inc edi
mov edx, edi
mov rcx, rax
call fcn.1400aac20
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.1400ad130
movzx edx, al
mov rcx, rbx
call fcn.1400ae0c0
mov rcx, rbx
call fcn.1400ace80
cmp edi, esi
jl 0x1400afa71
jmp 0x1400b026a
cmp edi, 2
jne 0x1400aff4f
lea rdx, str.Condition_is_2
call fcn.1400ad310
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.1400ad130
movzx edx, al
mov rcx, rbx
call fcn.1400ae0c0
mov rcx, rbx
call fcn.1400ace80
lea rcx, [rsp + 0x40]
call fcn.14003e9a0
mov ecx, eax
lea rax, [rcx + rcx*4]
add rax, rax
cmp eax, 0xa
jae 0x1400afb38
cmp eax, 6
jae 0x1400afb38
nop dword [rax]
lea rcx, [rsp + 0x40]
call fcn.14003e9a0
mov ecx, eax
lea rax, [rcx + rcx*4]
add rax, rax
cmp eax, 6
jb 0x1400afb20
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, [0x1401dc7c0]
call fcn.1400ad310
mov edx, esi
mov rcx, rax
call fcn.1400aac20
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.1400ad130
movzx edx, al
mov rcx, rbx
call fcn.1400ae0c0
mov rcx, rbx
call fcn.1400ace80
mov edi, r15d
test esi, esi
jle 0x1400afbea
nop dword [rax]
lea rdx, str.Iteration:
lea rcx, [0x1401dc7c0]
call fcn.1400ad310
inc edi
mov edx, edi
mov rcx, rax
call fcn.1400aac20
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.1400ad130
movzx edx, al
mov rcx, rbx
call fcn.1400ae0c0
mov rcx, rbx
call fcn.1400ace80
cmp edi, esi
jl 0x1400afba0
lea rcx, [rsp + 0x40]
call fcn.14003e9a0
mov ecx, eax
lea rdi, [rcx + rcx*2]
add rdi, rdi
cmp edi, 6
jae 0x1400afc28
cmp edi, 4
jae 0x1400afc28
nop word [rax + rax]
lea rcx, [rsp + 0x40]
call fcn.14003e9a0
mov ecx, eax
lea rdi, [rcx + rcx*2]
add rdi, rdi
cmp edi, 4
jb 0x1400afc10
shr rdi, 0x20
lea rdx, str.Nested_Condition:
lea rcx, [0x1401dc7c0]
call fcn.1400ad310
mov edx, edi
mov rcx, rax
call fcn.1400aac20
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.1400ad130
movzx edx, al
mov rcx, rbx
call fcn.1400ae0c0
mov rcx, rbx
call fcn.1400ace80
lea rcx, [0x1401dc7c0]
test edi, edi
jne 0x1400afcb3
lea rdx, str.Nested_condition_is_0
call fcn.1400ad310
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.1400ad130
movzx edx, al
mov rcx, rbx
call fcn.1400ae0c0
mov rcx, rbx
call fcn.1400ace80
jmp 0x1400afeca
lea rdx, str.Nested_condition_is_not_0
call fcn.1400ad310
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.1400ad130
movzx edx, al
mov rcx, rbx
call fcn.1400ae0c0
mov rcx, rbx
call fcn.1400ace80
lea rcx, [rsp + 0x40]
call fcn.14003e9a0
mov ecx, eax
lea rdi, [rcx + rcx*2]
add rdi, rdi
cmp edi, 6
jae 0x1400afd1b
cmp edi, 4
jae 0x1400afd1b
lea rcx, [rsp + 0x40]
call fcn.14003e9a0
mov ecx, eax
lea rdi, [rcx + rcx*2]
add rdi, rdi
cmp edi, 4
jb 0x1400afd03
shr rdi, 0x20
lea rdx, str.Additional_Condition_within_Nested_Condition:
lea rcx, [0x1401dc7c0]
call fcn.1400ad310
mov edx, edi
mov rcx, rax
call fcn.1400aac20
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.1400ad130
movzx edx, al
mov rcx, rbx
call fcn.1400ae0c0
mov rcx, rbx
call fcn.1400ace80
lea rcx, [0x1401dc7c0]
test edi, edi
jne 0x1400afda6
lea rdx, str.Additional_Condition_is_0
call fcn.1400ad310
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.1400ad130
movzx edx, al
mov rcx, rbx
call fcn.1400ae0c0
mov rcx, rbx
call fcn.1400ace80
jmp 0x1400afeca
lea rdx, str.Additional_Condition_is_not_0
call fcn.1400ad310
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.1400ad130
movzx edx, al
mov rcx, rbx
call fcn.1400ae0c0
mov rcx, rbx
call fcn.1400ace80
lea rcx, [rsp + 0x40]
call fcn.14003e9a0
mov ecx, eax
lea rax, [rcx + rcx*4]
add rax, rax
cmp eax, 0xa
jae 0x1400afe0e
cmp eax, 6
jae 0x1400afe0e
lea rcx, [rsp + 0x40]
call fcn.14003e9a0
mov ecx, eax
lea rax, [rcx + rcx*4]
add rax, rax
cmp eax, 6
jb 0x1400afdf6
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, [0x1401dc7c0]
call fcn.1400ad310
mov edx, esi
mov rcx, rax
call fcn.1400aac20
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.1400ad130
movzx edx, al
mov rcx, rbx
call fcn.1400ae0c0
mov rcx, rbx
call fcn.1400ace80
mov edi, r15d
test esi, esi
jle 0x1400afeca
nop dword [rax]
nop word [rax + rax]
lea rdx, str.Nested_iteration_within_Additional_Condition:
lea rcx, [0x1401dc7c0]
call fcn.1400ad310
inc edi
mov edx, edi
mov rcx, rax
call fcn.1400aac20
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.1400ad130
movzx edx, al
mov rcx, rbx
call fcn.1400ae0c0
mov rcx, rbx
call fcn.1400ace80
cmp edi, esi
jl 0x1400afe80
cmp r13d, r12d
jb 0x1400afee3
cmp r13d, 0xffffffff
jne 0x1400afee3
lea rcx, [rsp + 0x40]
call fcn.14003e9a0
mov ecx, eax
jmp 0x1400aff28
lea ebx, [r13 + 1]
lea rcx, [rsp + 0x40]
call fcn.14003e9a0
mov edi, ebx
mov ecx, eax
imul rcx, rdi
cmp ecx, ebx
jae 0x1400aff24
mov eax, ebx
neg eax
xor edx, edx
div ebx
mov ebx, edx
cmp ecx, edx
jae 0x1400aff24
nop dword [rax + rax]
lea rcx, [rsp + 0x40]
call fcn.14003e9a0
mov ecx, eax
imul rcx, rdi
cmp ecx, ebx
jb 0x1400aff10
shr rcx, 0x20
movsxd rcx, ecx
shl rcx, 6
mov rax, qword [0x1401dd278]
mov rcx, qword [rcx + rax + 0x38]
test rcx, rcx
je 0x1400b096d
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
jmp 0x1400b026a
cmp edi, 3
jne 0x1400b03ed
lea rdx, str.Condition_is_3
call fcn.1400ad310
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.1400ad130
movzx edx, al
mov rcx, rbx
call fcn.1400ae0c0
mov rcx, rbx
call fcn.1400ace80
lea rcx, [rsp + 0x40]
call fcn.14003e9a0
mov ecx, eax
lea rax, [rcx + rcx*4]
add rax, rax
cmp eax, 0xa
jae 0x1400affc8
cmp eax, 6
jae 0x1400affc8
nop dword [rax + rax]
lea rcx, [rsp + 0x40]
call fcn.14003e9a0
mov ecx, eax
lea rax, [rcx + rcx*4]
add rax, rax
cmp eax, 6
jb 0x1400affb0
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.1400b2170
nop
mov r14d, r15d
test r12, r12
jle 0x1400b0216
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, [0x1401dc7c0]
call fcn.1400ad310
mov edx, r14d
mov rcx, rax
call fcn.1400aac20
mov rcx, rax
lea rdx, [0x1401c1da8]
call fcn.1400ad310
mov rcx, qword [rsp + 0x20]
mov edx, dword [rcx + rsi*4]
mov rcx, rax
call fcn.1400aac20
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.1400ad130
movzx edx, al
mov rcx, rbx
call fcn.1400ae0c0
mov rcx, rbx
call fcn.1400ace80
lea rcx, [rsp + 0x40]
call fcn.14003e9a0
mov ecx, eax
lea rdi, [rcx + rcx*2]
add rdi, rdi
cmp edi, 3
ja 0x1400b00b8
nop dword [rax]
lea rcx, [rsp + 0x40]
call fcn.14003e9a0
mov ecx, eax
lea rdi, [rcx + rcx*2]
add rdi, rdi
cmp edi, 4
jb 0x1400b00a0
shr rdi, 0x20
lea rdx, str.Additional_Condition_within_Array_Loop:
lea rcx, [0x1401dc7c0]
call fcn.1400ad310
mov edx, edi
mov rcx, rax
call fcn.1400aac20
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.1400ad130
movzx edx, al
mov rcx, rbx
call fcn.1400ae0c0
mov rcx, rbx
call fcn.1400ace80
lea rcx, [0x1401dc7c0]
test edi, edi
jne 0x1400b0117
lea rdx, str.Additional_Condition_is_0
jmp 0x1400b01db
lea rdx, str.Additional_Condition_is_not_0
call fcn.1400ad310
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.1400ad130
movzx edx, al
mov rcx, rbx
call fcn.1400ae0c0
mov rcx, rbx
call fcn.1400ace80
lea rcx, [rsp + 0x40]
call fcn.14003e9a0
mov ecx, eax
lea rdi, [rcx + rcx*2]
add rdi, rdi
cmp edi, 3
ja 0x1400b017a
lea rcx, [rsp + 0x40]
call fcn.14003e9a0
mov ecx, eax
lea rdi, [rcx + rcx*2]
add rdi, rdi
cmp edi, 4
jb 0x1400b0162
shr rdi, 0x20
lea rdx, str.Nested_Condition_within_Additional_Condition:
lea rcx, [0x1401dc7c0]
call fcn.1400ad310
mov edx, edi
mov rcx, rax
call fcn.1400aac20
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.1400ad130
movzx edx, al
mov rcx, rbx
call fcn.1400ae0c0
mov rcx, rbx
call fcn.1400ace80
lea rcx, [0x1401dc7c0]
test edi, edi
lea rdx, str.Nested_condition_is_0
je 0x1400b01db
lea rdx, str.Nested_condition_is_not_0
call fcn.1400ad310
mov rbx, rax
mov rax, qword [rax]
movsxd rcx, dword [rax + 4]
add rcx, rbx
mov dl, 0xa
call fcn.1400ad130
movzx edx, al
mov rcx, rbx
call fcn.1400ae0c0
mov rcx, rbx
call fcn.1400ace80
inc r14d
inc rsi
cmp rsi, r12
jl 0x1400b0011
mov rcx, qword [rsp + 0x20]
test rcx, rcx
je 0x1400b0264
mov rdx, qword [rsp + 0x30]
sub rdx, rcx
and rdx, 0xfffffffffffffffc
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400b0251
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400b0973
call fcn.1400f3ccc
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x20], xmm0
mov qword [rsp + 0x30], r15
mov r12d, 0x80000000
lea rcx, [rsp + 0x40]
call fcn.14003e9a0
mov ecx, eax
lea rax, [rcx + rcx*4]
add rax, rax
cmp eax, 0xa
jae 0x1400b02a8
cmp eax, 6
jae 0x1400b02a8
nop word [rax + rax]
lea rcx, [rsp + 0x40]
call fcn.14003e9a0
mov ecx, eax
lea rax, [rcx + rcx*4]
add rax, rax
cmp eax, 6
jb 0x1400b0290
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, [0x1401dc7c0]
call fcn.1400ad310
mov edx, r14d
mov rcx, rax
call fcn.1400aac20
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.1400ad130
movzx edx, al
mov rcx, rbx
call fcn.1400ae0c0
mov rcx, rbx
call fcn.1400ace80
test r14d, r14d
jle 0x1400b0937
lea rdx, str.Extra_iteration:
lea rcx, [0x1401dc7c0]
call fcn.1400ad310
lea esi, [r15 + 1]
mov edx, esi
mov rcx, rax
call fcn.1400aac20
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.1400ad130
movzx edx, al
mov rcx, rbx
call fcn.1400ae0c0
mov rcx, rbx
call fcn.1400ace80
lea rcx, [rsp + 0x40]
call fcn.14003e9a0
mov ecx, eax
lea rdi, [rcx + rcx*2]
add rdi, rdi
cmp edi, 3
ja 0x1400b038a
lea rcx, [rsp + 0x40]
call fcn.14003e9a0
mov ecx, eax
lea rdi, [rcx + rcx*2]
add rdi, rdi
cmp edi, 4
jb 0x1400b0372
shr rdi, 0x20
lea rdx, str.Extra_Condition:
lea rcx, [0x1401dc7c0]
call fcn.1400ad310
mov edx, edi
mov rcx, rax
call fcn.1400aac20
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.1400ad130
movzx edx, al
mov rcx, rbx
call fcn.1400ae0c0
mov rcx, rbx
call fcn.1400ace80
lea rcx, [0x1401dc7c0]
test edi, edi
jne 0x1400b083b
lea rdx, str.Extra_Condition_is_0
jmp 0x1400b08ff
cmp edi, 4
jne 0x1400b05af
lea rdx, str.Condition_is_4
call fcn.1400ad310
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.1400ad130
movzx edx, al
mov rcx, rbx
call fcn.1400ae0c0
mov rcx, rbx
call fcn.1400ace80
lea rcx, [rsp + 0x40]
call fcn.14003e9a0
mov ecx, eax
lea rax, [rcx + rcx*4]
add rax, rax
cmp eax, 0xa
jae 0x1400b045e
cmp eax, 6
jae 0x1400b045e
lea rcx, [rsp + 0x40]
call fcn.14003e9a0
mov ecx, eax
lea rax, [rcx + rcx*4]
add rax, rax
cmp eax, 6
jb 0x1400b0446
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 0x1400b048a
nop
imul r14d, eax
inc eax
cmp eax, ebx
jle 0x1400b0480
lea rdx, str.Factorial_of
lea rcx, [0x1401dc7c0]
call fcn.1400ad310
mov edx, ebx
mov rcx, rax
call fcn.1400aac20
mov rcx, rax
lea rdx, [0x1401c1da8]
call fcn.1400ad310
mov edx, r14d
mov rcx, rax
call fcn.1400aac20
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.1400ad130
movzx edx, al
mov rcx, rbx
call fcn.1400ae0c0
mov rcx, rbx
call fcn.1400ace80
lea rcx, [rsp + 0x40]
call fcn.14003e9a0
mov ecx, eax
lea rdi, [rcx + rcx*2]
add rdi, rdi
cmp edi, 6
jae 0x1400b051d
cmp edi, 4
jae 0x1400b051d
lea rcx, [rsp + 0x40]
call fcn.14003e9a0
mov ecx, eax
lea rdi, [rcx + rcx*2]
add rdi, rdi
cmp edi, 4
jb 0x1400b0505
shr rdi, 0x20
lea rdx, str.Additional_Condition_within_Factorial_Loop:
lea rcx, [0x1401dc7c0]
call fcn.1400ad310
mov edx, edi
mov rcx, rax
call fcn.1400aac20
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.1400ad130
movzx edx, al
mov rcx, rbx
call fcn.1400ae0c0
mov rcx, rbx
call fcn.1400ace80
lea rcx, [0x1401dc7c0]
test edi, edi
lea rdx, str.Additional_Condition_is_0
je 0x1400b057e
lea rdx, str.Additional_Condition_is_not_0
call fcn.1400ad310
mov rbx, rax
mov rax, qword [rax]
movsxd rcx, dword [rax + 4]
add rcx, rbx
mov dl, 0xa
call fcn.1400ad130
movzx edx, al
mov rcx, rbx
call fcn.1400ae0c0
mov rcx, rbx
call fcn.1400ace80
jmp 0x1400b026a
lea rdx, str.Condition_is_5
call fcn.1400ad310
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.1400ad130
movzx edx, al
mov rcx, rbx
call fcn.1400ae0c0
mov rcx, rbx
call fcn.1400ace80
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.14002bc20
nop
lea rdx, str.Message_length:
lea rcx, [0x1401dc7c0]
call fcn.1400ad310
mov rdx, qword [rsp + 0x30]
mov rcx, rax
call fcn.1400b2240
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.1400ad130
movzx edx, al
mov rcx, rbx
call fcn.1400ae0c0
mov rcx, rbx
call fcn.1400ace80
lea rcx, [rsp + 0x40]
call fcn.14003e9a0
mov ecx, eax
lea rdi, [rcx + rcx*2]
add rdi, rdi
cmp edi, 6
jae 0x1400b0688
cmp edi, 4
jae 0x1400b0688
lea rcx, [rsp + 0x40]
call fcn.14003e9a0
mov ecx, eax
lea rdi, [rcx + rcx*2]
add rdi, rdi
cmp edi, 4
jb 0x1400b0670
shr rdi, 0x20
lea rdx, str.Additional_Condition_within_Condition_5:
lea rcx, [0x1401dc7c0]
call fcn.1400ad310
mov edx, edi
mov rcx, rax
call fcn.1400aac20
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.1400ad130
movzx edx, al
mov rcx, rbx
call fcn.1400ae0c0
mov rcx, rbx
call fcn.1400ace80
lea rcx, [0x1401dc7c0]
test edi, edi
jne 0x1400b06e7
lea rdx, str.Additional_Condition_is_0
jmp 0x1400b07b9
lea rdx, str.Additional_Condition_is_not_0
call fcn.1400ad310
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.1400ad130
movzx edx, al
mov rcx, rbx
call fcn.1400ae0c0
mov rcx, rbx
call fcn.1400ace80
lea rcx, [rsp + 0x40]
call fcn.14003e9a0
mov ecx, eax
lea rdi, [rcx + rcx*2]
add rdi, rdi
cmp edi, 6
jae 0x1400b0758
cmp edi, 4
jae 0x1400b0758
nop word [rax + rax]
lea rcx, [rsp + 0x40]
call fcn.14003e9a0
mov ecx, eax
lea rdi, [rcx + rcx*2]
add rdi, rdi
cmp edi, 4
jb 0x1400b0740
shr rdi, 0x20
lea rdx, str.Nested_Condition_within_Additional_Condition:
lea rcx, [0x1401dc7c0]
call fcn.1400ad310
mov edx, edi
mov rcx, rax
call fcn.1400aac20
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.1400ad130
movzx edx, al
mov rcx, rbx
call fcn.1400ae0c0
mov rcx, rbx
call fcn.1400ace80
lea rcx, [0x1401dc7c0]
test edi, edi
lea rdx, str.Nested_condition_is_0
je 0x1400b07b9
lea rdx, str.Nested_condition_is_not_0
call fcn.1400ad310
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
mov rbx, rax
mov dl, 0xa
add rcx, rax
call fcn.1400ad130
movzx edx, al
mov rcx, rbx
call fcn.1400ae0c0
mov rcx, rbx
call fcn.1400ace80
nop
mov rdx, qword [rsp + 0x38]
cmp rdx, 0x10
jb 0x1400b0823
inc rdx
mov rcx, qword [rsp + 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400b081e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400b0967
call fcn.1400f3ccc
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x38], send
mov byte [rsp + 0x20], 0
jmp 0x1400b026a
lea rdx, str.Extra_Condition_is_not_0
call fcn.1400ad310
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.1400ad130
movzx edx, al
mov rcx, rbx
call fcn.1400ae0c0
mov rcx, rbx
call fcn.1400ace80
lea rcx, [rsp + 0x40]
call fcn.14003e9a0
mov ecx, eax
lea rdi, [rcx + rcx*2]
add rdi, rdi
cmp edi, 3
ja 0x1400b089e
lea rcx, [rsp + 0x40]
call fcn.14003e9a0
mov ecx, eax
lea rdi, [rcx + rcx*2]
add rdi, rdi
cmp edi, 4
jb 0x1400b0886
shr rdi, 0x20
lea rdx, str.Nested_Condition_within_Extra_Condition:
lea rcx, [0x1401dc7c0]
call fcn.1400ad310
mov edx, edi
mov rcx, rax
call fcn.1400aac20
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.1400ad130
movzx edx, al
mov rcx, rbx
call fcn.1400ae0c0
mov rcx, rbx
call fcn.1400ace80
lea rcx, [0x1401dc7c0]
test edi, edi
lea rdx, str.Nested_condition_is_0
je 0x1400b08ff
lea rdx, str.Nested_condition_is_not_0
call fcn.1400ad310
mov rbx, rax
mov rax, qword [rax]
movsxd rcx, dword [rax + 4]
add rcx, rbx
mov dl, 0xa
call fcn.1400ad130
movzx edx, al
mov rcx, rbx
call fcn.1400ae0c0
mov rcx, rbx
call fcn.1400ace80
mov r15d, esi
cmp esi, r14d
jl 0x1400b0312
mov rcx, qword [rbp + 0x12d0]
xor rcx, rsp
call fcn.1400f36b0
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.1400cf4e0
int3
call fcn.14012dc60
int3
call fcn.1400cf4e0
int3