Function at 0x1403f5080
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x1d8
mov r15, r9
mov r14, rdx
mov rbp, rcx
mov rdi, qword [rsp + 0x240]
mov rax, qword [0x1406a7e00]
xor rax, rsp
mov qword [rsp + 0x1d0], rax
mov rax, qword [rdx + 0x18]
mov ecx, dword [rax + 0x28]
or ecx, dword [rax + 0x30]
mov dword [rsp + 0x3c], r8d
jne 0x1403f50df
movzx eax, byte [rax + 1]
add al, 0xfb
cmp al, 7
ja 0x1403f50df
mov rax, qword [r15 + 0x38]
test byte [rax + 0x29], 0x40
jne 0x1403f53cf
movsxd rcx, dword [r15 + 0x48]
cmp ecx, dword [rdi + 0x18]
jne 0x1403f522e
lea r8, [rsp + 0xe0]
mov qword [rsp + 0x120], r8
movabs rax, 0x1000000000
mov qword [rsp + 0x128], rax
lea r9, [rsp + 0x130]
mov rcx, r15
mov rdx, rdi
call fcn.1403cc810
test al, al
je 0x1403f5300
lea r12, [rdi + 0x10]
mov eax, dword [rdi + 0x18]
test eax, eax
jle 0x1403f6477
mov qword [rsp + 0x40], rbp
xor esi, esi
lea r13, [rsp + 0x1b0]
lea rbp, [rsp + 0x58]
xor ebx, ebx
jmp 0x1403f5164
inc rbx
movsxd rax, dword [rdi + 0x18]
add rsi, 8
cmp rbx, rax
jge 0x1403f6472
mov rax, qword [rsp + 0x120]
mov rcx, qword [rax + rsi]
mov rax, qword [r12]
mov rdx, qword [rax + rsi]
mov qword [rax + rsi], 0
mov qword [rsp + 0x58], rdx
mov rdx, r13
mov r8, rbp
mov r9, r14
call fcn.1403d9200
mov rax, qword [r12]
add rax, rsi
cmp rax, r13
je 0x1403f51c8
mov rdx, qword [rsp + 0x1b0]
mov qword [rsp + 0x1b0], 0
mov rcx, qword [rax]
mov qword [rax], rdx
test rcx, rcx
je 0x1403f51c8
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
mov rcx, qword [rsp + 0x1b0]
test rcx, rcx
je 0x1403f51df
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
mov rax, qword [r12]
mov rcx, qword [rax + rsi]
test rcx, rcx
je 0x1403f521c
mov rax, qword [r15 + 0x40]
mov rax, qword [rax + rsi]
mov rax, qword [rax + 0x30]
mov eax, dword [rax + 0x28]
test al, 0x20
je 0x1403f5150
test al, 0x10
sete dl
or dl, 2
mov r8, qword [r14 + 0x20]
call fcn.1401b6940
test al, al
jne 0x1403f5150
mov rbp, qword [rsp + 0x40]
mov qword [rbp], 0
jmp 0x1403f658c
lea r13, [rsp + 0xf5]
xor r12d, r12d
movabs r8, 0xcccccccccccccccd
nop word cs:[rax + rax]
mov rax, rcx
mul r8
shr rdx, 3
lea eax, [rdx + rdx]
lea eax, [rax + rax*4]
mov r9d, ecx
sub r9d, eax
or r9b, 0x30
mov byte [r13 - 1], r9b
dec r13
inc r12
cmp rcx, 9
mov rcx, rdx
ja 0x1403f5250
mov qword [rsp + 0x190], 0
mov qword [rsp + 0x1a0], 0
mov qword [rsp + 0x1a8], 0xf
mov byte [rsp + 0x190], 0
test r12, r12
je 0x1403f5498
cmp r12, 0xf
jbe 0x1403f53a6
test r12, r12
js 0x1403f6618
mov rax, r12
or rax, 0xf
cmp rax, 0x17
mov esi, 0x16
cmovae rsi, rax
cmp rsi, 0xfff
jb 0x1403f5461
lea rcx, [rsi + 0x28]
call fcn.140560580
lea rbx, [rax + 0x27]
and rbx, 0xffffffffffffffe0
mov qword [rbx - 8], rax
jmp 0x1403f546d
movsxd rax, dword [rdi + 0x18]
mov rcx, qword [rdi + 0x10]
mov qword [rsp + 0x70], rcx
mov qword [rsp + 0x78], rax
lea rcx, [rsp + 0x190]
lea rdx, [rsp + 0x70]
call fcn.1403f6620
mov r12, qword [r15 + 0x10]
mov r15, qword [r15 + 0x18]
mov qword [rsp + 0x150], 0
mov qword [rsp + 0x160], 0
mov qword [rsp + 0x168], 0xf
mov byte [rsp + 0x150], 0
cmp r15, 0xf
jbe 0x1403f5438
test r15, r15
js 0x1403f6618
mov rax, r15
or rax, 0xf
cmp rax, 0x17
mov esi, 0x16
cmovae rsi, rax
cmp rsi, 0xfff
jb 0x1403f5d0b
lea rcx, [rsi + 0x28]
call fcn.140560580
lea rbx, [rax + 0x27]
and rbx, 0xffffffffffffffe0
mov qword [rbx - 8], rax
jmp 0x1403f5d17
mov qword [rsp + 0x1a0], r12
lea rcx, [rsp + 0x190]
mov rdx, r13
mov r8, r12
call fcn.140562340
mov byte [rsp + r12 + 0x190], 0
jmp 0x1403f5498
mov r14, qword [r14 + 0x20]
lea r12, [rsp + 0x190]
mov rcx, r15
mov rdx, r12
call fcn.1403cbad0
mov r8, qword [rsp + 0x1a0]
mov rax, qword [rsp + 0x1a8]
mov rcx, rax
sub rcx, r8
cmp rcx, 9
jae 0x1403f5a2a
lea rax, str.call_to_
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], 9
lea rcx, [rsp + 0x190]
mov edx, 9
xor r9d, r9d
call fcn.1401b7d80
mov r12, rax
jmp 0x1403f5ac5
mov qword [rsp + 0x160], r15
lea rcx, [rsp + 0x150]
mov rdx, r12
mov r8, r15
call fcn.140562340
mov byte [rsp + r15 + 0x150], 0
jmp 0x1403f5d42
lea rcx, [rsi + 1]
call fcn.140560580
mov rbx, rax
mov qword [rsp + 0x1a0], r12
mov qword [rsp + 0x1a8], rsi
mov rcx, rbx
mov rdx, r13
mov r8, r12
call fcn.140562340
mov byte [rbx + r12], 0
mov qword [rsp + 0x190], rbx
mov r13, qword [r15 + 0x10]
mov r12, qword [r15 + 0x18]
mov qword [rsp + 0x130], 0
mov qword [rsp + 0x148], 0xf
mov byte [rsp + 0x130], 0
cmp r12, 0xf
jbe 0x1403f5503
test r12, r12
js 0x1403f6618
mov rax, r12
or rax, 0xf
cmp rax, 0x17
mov esi, 0x16
cmovae rsi, rax
cmp rsi, 0xfff
jb 0x1403f5529
lea rcx, [rsi + 0x28]
call fcn.140560580
lea rbx, [rax + 0x27]
and rbx, 0xffffffffffffffe0
mov qword [rbx - 8], rax
jmp 0x1403f5535
mov qword [rsp + 0x140], r12
lea rcx, [rsp + 0x130]
mov rdx, r13
mov r8, r12
call fcn.140562340
mov byte [rsp + r12 + 0x130], 0
jmp 0x1403f5560
lea rcx, [rsi + 1]
call fcn.140560580
mov rbx, rax
mov qword [rsp + 0x140], r12
mov qword [rsp + 0x148], rsi
mov rcx, rbx
mov rdx, r13
mov r8, r12
call fcn.140562340
mov byte [rbx + r12], 0
mov qword [rsp + 0x130], rbx
mov r8, qword [rsp + 0x140]
mov rax, qword [rsp + 0x148]
mov rcx, rax
sub rcx, r8
cmp rcx, 9
jae 0x1403f55ae
lea rax, str.call_to_
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], 9
lea rcx, [rsp + 0x130]
mov edx, 9
xor r9d, r9d
call fcn.1401b7d80
mov r12, rax
jmp 0x1403f5658
mov rdi, rbp
lea rcx, [r8 + 9]
mov qword [rsp + 0x140], rcx
cmp rax, 0x10
mov rcx, qword [rsp + 0x130]
lea r12, [rsp + 0x130]
mov r13, r12
cmovae r13, rcx
lea rdx, [0x1405e7819]
mov ebp, 9
mov ebx, 9
cmp r13, rdx
jae 0x1403f5608
lea r9, [r8 + r13]
lea rdx, str.call_to_
cmp r9, rdx
jb 0x1403f5608
mov rbx, r13
sub rbx, rdx
ja 0x1403f5608
xor ebx, ebx
inc r8
cmp rax, 0x10
cmovb rcx, r12
add rcx, 9
mov rdx, r13
call fcn.140562340
lea rsi, str.call_to_
mov rcx, r13
mov rdx, rsi
mov r8, rbx
call fcn.140562340
sub rbp, rbx
lea rdx, [rbx + rsi]
add rdx, 9
add r13, rbx
mov rcx, r13
mov r8, rbp
call fcn.140562340
mov rbp, rdi
mov rdi, qword [rsp + 0x240]
movups xmm0, xmmword [r12]
movups xmm1, xmmword [r12 + 0x10]
movaps xmmword [rsp + 0x160], xmm1
movaps xmmword [rsp + 0x150], xmm0
mov qword [r12 + 0x10], 0
mov qword [r12 + 0x18], 0xf
mov byte [r12], 0
mov rcx, qword [rsp + 0x160]
mov rdx, qword [rsp + 0x168]
mov rax, rdx
sub rax, rcx
cmp rax, 0xb
jae 0x1403f56ca
mov qword [rsp + 0x20], 0xb
lea r9, str._expected
lea rcx, [rsp + 0x150]
mov edx, 0xb
call fcn.140047c20
jmp 0x1403f570c
lea rax, [rcx + 0xb]
mov qword [rsp + 0x160], rax
lea rax, [rsp + 0x150]
mov r8, rax
cmp rdx, 0x10
jb 0x1403f56ef
mov r8, qword [rsp + 0x150]
movabs rdx, 0x7463657078652027
mov qword [r8 + rcx], rdx
mov dword [r8 + rcx + 7], 0x20646574
mov byte [r8 + rcx + 0xb], 0
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movaps xmmword [rsp + 0x180], xmm1
movaps xmmword [rsp + 0x170], xmm0
mov qword [rax + 0x10], 0
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
lea r13, [rsp + 0x1b0]
lea r8, [rsp + 0x170]
lea r12, [rsp + 0x190]
mov rcx, r13
mov r9, r12
call fcn.140204450
mov rax, qword [rsp + 0x1c0]
mov rcx, qword [rsp + 0x1c8]
mov rdx, rcx
sub rdx, rax
cmp rdx, 9
jae 0x1403f579c
mov qword [rsp + 0x20], 9
lea r9, str._argument
lea rcx, [rsp + 0x1b0]
mov edx, 9
call fcn.140047c20
mov r13, rax
jmp 0x1403f57ce
lea rdx, [rax + 9]
mov qword [rsp + 0x1c0], rdx
mov rdx, r13
cmp rcx, 0x10
jb 0x1403f57b9
mov rdx, qword [rsp + 0x1b0]
movabs rcx, 0x6e656d7567726120
mov qword [rdx + rax], rcx
mov word [rdx + rax + 8], 0x74
movups xmm0, xmmword [r13]
movups xmm1, xmmword [r13 + 0x10]
movaps xmmword [rsp + 0xf0], xmm1
movaps xmmword [rsp + 0xe0], xmm0
mov qword [r13 + 0x10], 0
mov qword [r13 + 0x18], 0xf
mov byte [r13], 0
mov rax, qword [rsp + 0x1c8]
cmp rax, 0x10
jb 0x1403f5844
mov rcx, qword [rsp + 0x1b0]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x1403f583f
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x1403f6613
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.140560310
mov qword [rsp + 0x1c0], 0
mov qword [rsp + 0x1c8], 0xf
mov byte [rsp + 0x1b0], 0
mov rax, qword [rsp + 0x188]
cmp rax, 0x10
jb 0x1403f58ab
mov rcx, qword [rsp + 0x170]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x1403f58a6
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x1403f6613
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.140560310
mov qword [rsp + 0x180], 0
mov qword [rsp + 0x188], 0xf
mov byte [rsp + 0x170], 0
mov rax, qword [rsp + 0x168]
cmp rax, 0x10
jb 0x1403f5912
mov rcx, qword [rsp + 0x150]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x1403f590d
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x1403f6613
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.140560310
mov qword [rsp + 0x160], 0
mov qword [rsp + 0x168], 0xf
mov byte [rsp + 0x150], 0
mov rax, qword [rsp + 0x148]
cmp rax, 0x10
jb 0x1403f5979
mov rcx, qword [rsp + 0x130]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x1403f5974
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x1403f6613
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.140560310
mov rax, qword [rsp + 0x1a8]
cmp rax, 0x10
jb 0x1403f59c0
mov rcx, qword [rsp + 0x190]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x1403f59bb
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x1403f6613
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.140560310
cmp dword [r15 + 0x48], 1
je 0x1403f600c
mov rax, qword [rsp + 0xf0]
mov rcx, qword [rsp + 0xf8]
cmp rcx, rax
jne 0x1403f5a07
mov qword [rsp + 0x20], 1
lea r9, [0x1405b8937]
lea rcx, [rsp + 0xe0]
mov edx, 1
call fcn.140047c20
jmp 0x1403f600c
lea rdx, [rax + 1]
mov qword [rsp + 0xf0], rdx
cmp rcx, 0x10
jb 0x1403f5ffe
mov rcx, qword [rsp + 0xe0]
jmp 0x1403f6006
mov rsi, rbp
lea rcx, [r8 + 9]
mov qword [rsp + 0x1a0], rcx
cmp rax, 0x10
mov rcx, qword [rsp + 0x190]
mov r15, r12
cmovae r15, rcx
lea rdx, [0x1405e7819]
mov r13d, 9
mov ebp, 9
cmp r15, rdx
jae 0x1403f5a7d
lea r9, [r15 + r8]
lea rdx, str.call_to_
cmp r9, rdx
jb 0x1403f5a7d
mov rbp, r15
sub rbp, rdx
ja 0x1403f5a7d
xor ebp, ebp
inc r8
cmp rax, 0x10
cmovb rcx, r12
add rcx, 9
mov rdx, r15
call fcn.140562340
lea rbx, str.call_to_
mov rcx, r15
mov rdx, rbx
mov r8, rbp
call fcn.140562340
sub r13, rbp
lea rdx, [rbx + rbp]
add rdx, 9
add r15, rbp
mov rcx, r15
mov r8, r13
call fcn.140562340
mov rbp, rsi
movups xmm0, xmmword [r12]
movups xmm1, xmmword [r12 + 0x10]
movaps xmmword [rsp + 0x1c0], xmm1
movaps xmmword [rsp + 0x1b0], xmm0
mov qword [r12 + 0x10], 0
mov qword [r12 + 0x18], 0xf
mov byte [r12], 0
mov rcx, qword [rsp + 0x1c0]
mov rdx, qword [rsp + 0x1c8]
mov rax, rdx
sub rax, rcx
cmp rax, 0x12
jae 0x1403f5b37
mov qword [rsp + 0x20], 0x12
lea r9, str._is_not_supported
lea rcx, [rsp + 0x1b0]
mov edx, 0x12
call fcn.140047c20
jmp 0x1403f5b76
lea rax, [rcx + 0x12]
mov qword [rsp + 0x1c0], rax
lea rax, [rsp + 0x1b0]
mov r8, rax
cmp rdx, 0x10
jb 0x1403f5b5c
mov r8, qword [rsp + 0x1b0]
movups xmm0, xmmword [str._is_not_supported]
movups xmmword [r8 + rcx], xmm0
mov word [r8 + rcx + 0x10], 0x6465
mov byte [r8 + rcx + 0x12], 0
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movaps xmmword [rsp + 0xf0], xmm1
movaps xmmword [rsp + 0xe0], xmm0
mov qword [rax + 0x10], 0
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov rax, qword [rsp + 0xf0]
cmp qword [rsp + 0xf8], 0x10
jb 0x1403f5bbd
mov rcx, qword [rsp + 0xe0]
jmp 0x1403f5bc5
lea rcx, [rsp + 0xe0]
mov qword [rsp + 0x90], rcx
mov qword [rsp + 0x98], rax
lea r8, [rsp + 0x90]
mov rcx, r14
mov edx, dword [rsp + 0x3c]
call fcn.1402cec20
mov rax, qword [rsp + 0xf8]
cmp rax, 0x10
jb 0x1403f5c30
mov rcx, qword [rsp + 0xe0]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x1403f5c2b
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x1403f6613
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.140560310
mov qword [rsp + 0xf0], 0
mov qword [rsp + 0xf8], 0xf
mov byte [rsp + 0xe0], 0
mov rax, qword [rsp + 0x1c8]
cmp rax, 0x10
jb 0x1403f5c97
mov rcx, qword [rsp + 0x1b0]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x1403f5c92
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x1403f6613
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.140560310
mov qword [rsp + 0x1c0], 0
mov qword [rsp + 0x1c8], 0xf
mov byte [rsp + 0x1b0], 0
mov rax, qword [rsp + 0x1a8]
cmp rax, 0x10
jb 0x1403f5cfe
mov rcx, qword [rsp + 0x190]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x1403f5cf9
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x1403f6613
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.140560310
mov qword [rbp], 0
jmp 0x1403f65a3
lea rcx, [rsi + 1]
call fcn.140560580
mov rbx, rax
mov qword [rsp + 0x160], r15
mov qword [rsp + 0x168], rsi
mov rcx, rbx
mov rdx, r12
mov r8, r15
call fcn.140562340
mov byte [rbx + r15], 0
mov qword [rsp + 0x150], rbx
mov r8, qword [rsp + 0x160]
mov rax, qword [rsp + 0x168]
mov rcx, rax
sub rcx, r8
cmp rcx, 0xd
jae 0x1403f5d90
lea rax, str.no_match_for
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], 0xd
lea rcx, [rsp + 0x150]
mov edx, 0xd
xor r9d, r9d
call fcn.1401b7d80
mov r15, rax
jmp 0x1403f5e2d
lea rcx, [r8 + 0xd]
mov qword [rsp + 0x160], rcx
cmp rax, 0x10
mov rcx, qword [rsp + 0x150]
lea r15, [rsp + 0x150]
mov r12, r15
cmovae r12, rcx
lea rdx, [0x1405e77fd]
mov r13d, 0xd
mov ebx, 0xd
cmp r12, rdx
jae 0x1403f5de8
lea r9, [r12 + r8]
lea rdx, str.no_match_for
cmp r9, rdx
jb 0x1403f5de8
mov rbx, r12
sub rbx, rdx
ja 0x1403f5de8
xor ebx, ebx
inc r8
cmp rax, 0x10
cmovb rcx, r15
add rcx, 0xd
mov rdx, r12
call fcn.140562340
lea rsi, str.no_match_for
mov rcx, r12
mov rdx, rsi
mov r8, rbx
call fcn.140562340
sub r13, rbx
lea rdx, [rbx + rsi]
add rdx, 0xd
add r12, rbx
mov rcx, r12
mov r8, r13
call fcn.140562340
movups xmm0, xmmword [r15]
movups xmm1, xmmword [r15 + 0x10]
movaps xmmword [rsp + 0x180], xmm1
movaps xmmword [rsp + 0x170], xmm0
mov qword [r15 + 0x10], 0
mov qword [r15 + 0x18], 0xf
mov byte [r15], 0
lea r15, [rsp + 0x1b0]
lea r8, [rsp + 0x170]
lea r9, [rsp + 0x190]
mov rcx, r15
call fcn.140204450
mov rax, qword [rsp + 0x188]
cmp rax, 0x10
jb 0x1403f5ec1
mov rcx, qword [rsp + 0x170]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x1403f5ebc
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x1403f6613
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.140560310
mov qword [rsp + 0x180], 0
mov qword [rsp + 0x188], 0xf
mov byte [rsp + 0x170], 0
mov rax, qword [rsp + 0x168]
cmp rax, 0x10
jb 0x1403f5f28
mov rcx, qword [rsp + 0x150]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x1403f5f23
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x1403f6613
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.140560310
mov rax, qword [rsp + 0x1a8]
cmp rax, 0x10
jb 0x1403f5f6f
mov rcx, qword [rsp + 0x190]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x1403f5f6a
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x1403f6613
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.140560310
mov rcx, qword [r14 + 0x20]
mov rax, qword [rsp + 0x1c0]
cmp qword [rsp + 0x1c8], 0x10
jb 0x1403f5f8e
mov r15, qword [rsp + 0x1b0]
mov qword [rsp + 0x60], r15
mov qword [rsp + 0x68], rax
lea r8, [rsp + 0x60]
mov edx, dword [rsp + 0x3c]
call fcn.1402cec20
mov qword [rbp], 0
mov rax, qword [rsp + 0x1c8]
cmp rax, 0x10
jb 0x1403f658c
mov rcx, qword [rsp + 0x1b0]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x1403f5ff4
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x1403f6613
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.140560310
jmp 0x1403f658c
lea rcx, [rsp + 0xe0]
mov word [rcx + rax], 0x73
mov ecx, dword [rdi + 0x18]
test ecx, ecx
js 0x1403f6052
mov eax, 0x15
mov edx, 0xcccccccd
nop dword [rax]
mov r8d, ecx
imul r8, rdx
shr r8, 0x23
lea r9d, [r8 + r8]
lea r9d, [r9 + r9*4]
mov r10d, ecx
sub r10d, r9d
or r10b, 0x30
mov byte [rsp + rax + 0x1af], r10b
dec rax
cmp ecx, 9
mov ecx, r8d
ja 0x1403f6020
jmp 0x1403f6098
neg ecx
mov eax, 0x14
mov edx, 0xcccccccd
nop
mov r8d, ecx
imul r8, rdx
shr r8, 0x23
lea r9d, [r8 + r8]
lea r9d, [r9 + r9*4]
mov r10d, ecx
sub r10d, r9d
or r10b, 0x30
mov byte [rsp + rax + 0x1b0], r10b
dec rax
cmp ecx, 9
mov ecx, r8d
ja 0x1403f6060
mov byte [rsp + rax + 0x1b0], 0x2d
mov qword [rsp + 0x190], 0
mov qword [rsp + 0x1a0], 0
mov qword [rsp + 0x1a8], 0xf
mov byte [rsp + 0x190], 0
cmp rax, 0x15
je 0x1403f6183
lea r13, [rsp + rax]
add r13, 0x1b0
mov r15d, 0x15
sub r15, rax
cmp r15, 0xf
jbe 0x1403f6126
cmp rax, 0x16
jge 0x1403f6618
mov rax, r15
or rax, 0xf
cmp rax, 0x17
mov esi, 0x16
cmovae rsi, rax
cmp rsi, 0xfff
jb 0x1403f614c
lea rcx, [rsi + 0x28]
call fcn.140560580
lea rbx, [rax + 0x27]
and rbx, 0xffffffffffffffe0
mov qword [rbx - 8], rax
jmp 0x1403f6158
mov qword [rsp + 0x1a0], r15
lea rcx, [rsp + 0x190]
mov rdx, r13
mov r8, r15
call fcn.140562340
mov byte [rsp + r15 + 0x190], 0
jmp 0x1403f6183
lea rcx, [rsi + 1]
call fcn.140560580
mov rbx, rax
mov qword [rsp + 0x1a0], r15
mov qword [rsp + 0x1a8], rsi
mov rcx, rbx
mov rdx, r13
mov r8, r15
call fcn.140562340
mov byte [rbx + r15], 0
mov qword [rsp + 0x190], rbx
mov r8, qword [rsp + 0x1a0]
mov rax, qword [rsp + 0x1a8]
mov rcx, rax
sub rcx, r8
cmp rcx, 0xc
jae 0x1403f61d1
lea rax, str.__but_found
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], 0xc
lea rcx, [rsp + 0x190]
mov edx, 0xc
xor r9d, r9d
call fcn.1401b7d80
mov r12, rax
jmp 0x1403f6266
lea rcx, [r8 + 0xc]
mov qword [rsp + 0x1a0], rcx
cmp rax, 0x10
mov rcx, qword [rsp + 0x190]
mov r15, r12
cmovae r15, rcx
lea rdx, [0x1405e783c]
mov r13d, 0xc
mov ebx, 0xc
cmp r15, rdx
jae 0x1403f6221
lea r9, [r15 + r8]
lea rdx, str.__but_found
cmp r9, rdx
jb 0x1403f6221
mov rbx, r15
sub rbx, rdx
ja 0x1403f6221
xor ebx, ebx
inc r8
cmp rax, 0x10
cmovb rcx, r12
add rcx, 0xc
mov rdx, r15
call fcn.140562340
lea rsi, str.__but_found
mov rcx, r15
mov rdx, rsi
mov r8, rbx
call fcn.140562340
sub r13, rbx
lea rdx, [rbx + rsi]
add rdx, 0xc
add r15, rbx
mov rcx, r15
mov r8, r13
call fcn.140562340
movups xmm0, xmmword [r12]
movups xmm1, xmmword [r12 + 0x10]
movaps xmmword [rsp + 0x1c0], xmm1
movaps xmmword [rsp + 0x1b0], xmm0
mov qword [r12 + 0x10], 0
mov qword [r12 + 0x18], 0xf
mov byte [r12], 0
mov r8, qword [rsp + 0x1c0]
cmp qword [rsp + 0x1c8], 0x10
jb 0x1403f62b5
mov r9, qword [rsp + 0x1b0]
jmp 0x1403f62bd
lea r9, [rsp + 0x1b0]
mov rcx, qword [rsp + 0xf0]
mov rax, qword [rsp + 0xf8]
mov rdx, rax
sub rdx, rcx
cmp rdx, r8
jae 0x1403f62ef
mov qword [rsp + 0x20], r8
lea rcx, [rsp + 0xe0]
mov rdx, r8
call fcn.140047c20
jmp 0x1403f6322
lea rsi, [rcx + r8]
mov qword [rsp + 0xf0], rsi
cmp rax, 0x10
jb 0x1403f630b
mov rbx, qword [rsp + 0xe0]
jmp 0x1403f6313
lea rbx, [rsp + 0xe0]
add rcx, rbx
mov rdx, r9
call fcn.140562340
mov byte [rbx + rsi], 0
mov rax, qword [rsp + 0x1c8]
cmp rax, 0x10
jb 0x1403f6369
mov rcx, qword [rsp + 0x1b0]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x1403f6364
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x1403f6613
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.140560310
mov qword [rsp + 0x1c0], 0
mov qword [rsp + 0x1c8], 0xf
mov byte [rsp + 0x1b0], 0
mov rax, qword [rsp + 0x1a8]
cmp rax, 0x10
jb 0x1403f63d0
mov rcx, qword [rsp + 0x190]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x1403f63cb
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x1403f6613
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.140560310
mov rcx, qword [r14 + 0x20]
mov rax, qword [rsp + 0xf0]
cmp qword [rsp + 0xf8], 0x10
jb 0x1403f63f1
mov rdx, qword [rsp + 0xe0]
jmp 0x1403f63f9
lea rdx, [rsp + 0xe0]
mov qword [rsp + 0x80], rdx
mov qword [rsp + 0x88], rax
lea r8, [rsp + 0x80]
mov edx, dword [rsp + 0x3c]
call fcn.1402cec20
mov qword [rbp], 0
mov rax, qword [rsp + 0xf8]
cmp rax, 0x10
jb 0x1403f65a3
mov rcx, qword [rsp + 0xe0]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x1403f6468
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x1403f6613
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.140560310
jmp 0x1403f65a3
mov rbp, qword [rsp + 0x40]
cmp byte [r15 + 0x59], 0
je 0x1403f64b2
mov rcx, qword [r14 + 0x20]
lea rax, str.call_to_main_is_not_allowed
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x50], 0x1d
lea r8, [rsp + 0x48]
mov edx, dword [rsp + 0x3c]
call fcn.1402cec20
mov qword [rbp], 0
jmp 0x1403f658c
cmp byte [r15 + 0x5a], 0x19
jne 0x1403f6538
mov rcx, qword [rdi + 0x10]
movsxd rdx, eax
dec eax
mov r8, qword [rcx + rdx*8 - 8]
mov rsi, qword [r8 + 0x18]
mov dword [rdi + 0x18], eax
mov rcx, qword [rcx + rdx*8 - 8]
test rcx, rcx
je 0x1403f64e2
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
lea rcx, [rsp + 0xd0]
lea rbx, [rsp + 0xc0]
mov qword [rsp + 0xd0], rbx
movabs rax, 0x400000000
mov qword [rsp + 0xd8], rax
mov rdx, r12
call fcn.1402ce510
mov r9, qword [rsp + 0x130]
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rsi
mov rcx, rbp
mov rdx, r14
mov r8d, dword [rsp + 0x3c]
call fcn.1403fb870
jmp 0x1403f658c
lea rcx, [rsp + 0xb0]
lea rsi, [rsp + 0xa0]
mov qword [rsp + 0xb0], rsi
movabs rax, 0x400000000
mov qword [rsp + 0xb8], rax
mov rdx, r12
call fcn.1402ce510
mov r9, qword [rsp + 0x130]
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], r15
mov rcx, rbp
mov rdx, r14
mov r8d, dword [rsp + 0x3c]
call fcn.1403f6b50
test byte [rsp + 0x12c], 1
je 0x1403f65a3
mov rcx, qword [rsp + 0x120]
call fcn.14000b650
movsxd rax, dword [rdi + 0x18]
test rax, rax
je 0x1403f65dd
mov rsi, qword [rdi + 0x10]
lea rbx, [rsi + rax*8]
jmp 0x1403f65c9
add rsi, 8
cmp rsi, rbx
jae 0x1403f65dd
mov rcx, qword [rsi]
test rcx, rcx
je 0x1403f65c0
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
jmp 0x1403f65c0
test byte [rdi + 0x1c], 1
je 0x1403f65ec
mov rcx, qword [rdi + 0x10]
call fcn.14000b650
mov rcx, qword [rsp + 0x1d0]
xor rcx, rsp
call fcn.1405602f0
mov rax, rbp
add rsp, 0x1d8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
call fcn.140568720
call fcn.140554170
int3