Function at 0x14000e473
Capabilities:
Parse pe header

Disassembly:
push rbp
push r15
push r14
mov rax, 9
sub rsp, 8
mov qword [rsp], 0
dec rax
jne 0x14000e47f
sub rsp, 0x28
mov rdx, rsp
mov rcx, 0
call fcn.1400173b0
mov rcx, 0x1f
call fcn.140011ce0
mov rcx, 0x20
call fcn.140011ce0
mov rcx, 0x20
call fcn.140011ce0
mov rcx, 0x20
call fcn.140011ce0
mov rcx, 0x20
call fcn.140011ce0
mov rcx, 0x21
call fcn.140011ce0
sub rsp, 0x18
mov rdx, 0xa
mov rcx, rdx
call fcn.140011e08
lea rax, [rsp + 0x60]
push rax
xor r9, r9
mov r8, 1
mov rcx, 1
sub rsp, 0x20
call fcn.140016634
add rsp, 0x40
mov qword [rsp + 0x48], rax
mov rcx, 0x22
call fcn.140011ce0
mov byte [rsp + 0x28], 1
jmp 0x14000e546
mov rcx, 0x22
call fcn.140011ce0
mov rax, 0x49
cmp al, byte [rsp + 0x28]
jl 0x14000ef6c
mov rcx, 0x23
call fcn.140011ce0
movsx r15, byte [rsp + 0x28]
mov rax, r15
mov rdx, qword [0x140051068]
mov rdx, qword [rdx - 0x10]
call fcn.140011e1b
mov rbp, qword [0x140051068]
shl r15, 3
push qword [r15 + rbp]
movabs rcx, 0x1400511ee
pop rdx
call fcn.140016bf0
or rax, rax
jne 0x14000e5e2
movsx r15, byte [rsp + 0x28]
inc r15
mov rax, r15
mov rdx, qword [0x140051068]
mov rdx, qword [rdx - 0x10]
call fcn.140011e1b
shl r15, 3
push qword [r15 + rbp]
movabs rcx, 0x1400511ee
pop rdx
call fcn.140016bf0
or rax, rax
jne 0x14000e5e2
mov rax, 1
jmp 0x14000e5e5
xor rax, rax
and rax, rax
je 0x14000e62d
movsx r15, byte [rsp + 0x28]
add r15, 2
mov rax, r15
mov rdx, qword [0x140051068]
mov rdx, qword [rdx - 0x10]
call fcn.140011e1b
shl r15, 3
push qword [r15 + rbp]
movabs rcx, 0x1400511ee
pop rdx
call fcn.140016bf0
or rax, rax
jne 0x14000e62d
mov rax, 1
jmp 0x14000e630
xor rax, rax
and rax, rax
je 0x14000e678
movsx r15, byte [rsp + 0x28]
add r15, 3
mov rax, r15
mov rdx, qword [0x140051068]
mov rdx, qword [rdx - 0x10]
call fcn.140011e1b
shl r15, 3
push qword [r15 + rbp]
movabs rcx, 0x1400511ee
pop rdx
call fcn.140016bf0
or rax, rax
jne 0x14000e678
mov rax, 1
jmp 0x14000e67b
xor rax, rax
and rax, rax
je 0x14000e6c3
movsx r15, byte [rsp + 0x28]
add r15, 4
mov rax, r15
mov rdx, qword [0x140051068]
mov rdx, qword [rdx - 0x10]
call fcn.140011e1b
shl r15, 3
push qword [r15 + rbp]
movabs rcx, 0x1400511ee
pop rdx
call fcn.140016bf0
or rax, rax
jne 0x14000e6c3
mov rax, 1
jmp 0x14000e6c6
xor rax, rax
and rax, rax
je 0x14000e70e
movsx r15, byte [rsp + 0x28]
add r15, 5
mov rax, r15
mov rdx, qword [0x140051068]
mov rdx, qword [rdx - 0x10]
call fcn.140011e1b
shl r15, 3
push qword [r15 + rbp]
movabs rcx, 0x1400511ee
pop rdx
call fcn.140016bf0
or rax, rax
jne 0x14000e70e
mov rax, 1
jmp 0x14000e711
xor rax, rax
and rax, rax
je 0x14000e759
movsx r15, byte [rsp + 0x28]
add r15, 6
mov rax, r15
mov rdx, qword [0x140051068]
mov rdx, qword [rdx - 0x10]
call fcn.140011e1b
shl r15, 3
push qword [r15 + rbp]
movabs rcx, 0x1400511ee
pop rdx
call fcn.140016bf0
or rax, rax
jne 0x14000e759
mov rax, 1
jmp 0x14000e75c
xor rax, rax
and rax, rax
je 0x14000e7a4
movsx r15, byte [rsp + 0x28]
add r15, 7
mov rax, r15
mov rdx, qword [0x140051068]
mov rdx, qword [rdx - 0x10]
call fcn.140011e1b
shl r15, 3
push qword [r15 + rbp]
movabs rcx, 0x1400511ee
pop rdx
call fcn.140016bf0
or rax, rax
jne 0x14000e7a4
mov rax, 1
jmp 0x14000e7a7
xor rax, rax
and rax, rax
je 0x14000e7ef
movsx r15, byte [rsp + 0x28]
add r15, 8
mov rax, r15
mov rdx, qword [0x140051068]
mov rdx, qword [rdx - 0x10]
call fcn.140011e1b
shl r15, 3
push qword [r15 + rbp]
movabs rcx, 0x1400511ee
pop rdx
call fcn.140016bf0
or rax, rax
jne 0x14000e7ef
mov rax, 1
jmp 0x14000e7f2
xor rax, rax
and rax, rax
je 0x14000ea39
mov rcx, 0x24
call fcn.140011ce0
movsx r15, byte [rsp + 0x28]
mov rax, r15
mov rdx, qword [0x140051068]
mov rdx, qword [rdx - 0x10]
call fcn.140011e1b
mov rbp, qword [0x140051068]
shl r15, 3
push qword [r15 + rbp]
pop rcx
call fcn.1400127c0
mov r15, rax
movsx r14, byte [rsp + 0x28]
inc r14
mov rax, r14
mov rdx, qword [0x140051068]
mov rdx, qword [rdx - 0x10]
call fcn.140011e1b
shl r14, 3
push qword [r14 + rbp]
pop rcx
call fcn.1400127c0
add r15, rax
movsx r14, byte [rsp + 0x28]
add r14, 2
mov rax, r14
mov rdx, qword [0x140051068]
mov rdx, qword [rdx - 0x10]
call fcn.140011e1b
shl r14, 3
push qword [r14 + rbp]
pop rcx
call fcn.1400127c0
add r15, rax
movsx r14, byte [rsp + 0x28]
add r14, 3
mov rax, r14
mov rdx, qword [0x140051068]
mov rdx, qword [rdx - 0x10]
call fcn.140011e1b
shl r14, 3
push qword [r14 + rbp]
pop rcx
call fcn.1400127c0
add r15, rax
movsx r14, byte [rsp + 0x28]
add r14, 4
mov rax, r14
mov rdx, qword [0x140051068]
mov rdx, qword [rdx - 0x10]
call fcn.140011e1b
shl r14, 3
push qword [r14 + rbp]
pop rcx
call fcn.1400127c0
add r15, rax
movsx r14, byte [rsp + 0x28]
add r14, 5
mov rax, r14
mov rdx, qword [0x140051068]
mov rdx, qword [rdx - 0x10]
call fcn.140011e1b
shl r14, 3
push qword [r14 + rbp]
pop rcx
call fcn.1400127c0
add r15, rax
movsx r14, byte [rsp + 0x28]
add r14, 6
mov rax, r14
mov rdx, qword [0x140051068]
mov rdx, qword [rdx - 0x10]
call fcn.140011e1b
shl r14, 3
push qword [r14 + rbp]
pop rcx
call fcn.1400127c0
add r15, rax
movsx r14, byte [rsp + 0x28]
add r14, 7
mov rax, r14
mov rdx, qword [0x140051068]
mov rdx, qword [rdx - 0x10]
call fcn.140011e1b
shl r14, 3
push qword [r14 + rbp]
pop rcx
call fcn.1400127c0
add r15, rax
movsx r14, byte [rsp + 0x28]
add r14, 8
mov rax, r14
mov rdx, qword [0x140051068]
mov rdx, qword [rdx - 0x10]
call fcn.140011e1b
shl r14, 3
push qword [r14 + rbp]
pop rcx
call fcn.1400127c0
add r15, rax
cmp r15, 0x2d
jne 0x14000e9dd
mov rcx, 0x25
call fcn.140011ce0
movabs rdx, str._Pass
lea rcx, [0x140055348]
call fcn.140016a30
mov rcx, 0x26
call fcn.140011ce0
jmp 0x14000ea1c
mov rcx, 0x26
call fcn.140011ce0
mov rcx, 0x27
call fcn.140011ce0
movabs rdx, str._Fail4
lea rcx, [0x140055348]
call fcn.140016a30
mov rcx, 0x28
call fcn.140011ce0
jmp 0x14000ef6c
mov rcx, 0x29
call fcn.140011ce0
mov rcx, 0x2a
call fcn.140011ce0
jmp 0x14000eecc
mov rcx, 0x2a
call fcn.140011ce0
mov rcx, 0x2b
call fcn.140011ce0
movsx r15, byte [rsp + 0x28]
mov rax, r15
mov rdx, qword [0x140051068]
mov rdx, qword [rdx - 0x10]
call fcn.140011e1b
mov rbp, qword [0x140051068]
shl r15, 3
mov rcx, qword [r15 + rbp]
push qword [0x140059e60]
sub rsp, 0x28
call fcn.140016c50
add rsp, 0x28
movsx r15, byte [rsp + 0x30]
inc r15
mov rax, r15
mov rdx, qword [0x140051068]
mov rdx, qword [rdx - 0x10]
call fcn.140011e1b
shl r15, 3
mov rcx, qword [r15 + rbp]
sub rsp, 0x28
call fcn.140016c50
add rsp, 0x28
movsx r15, byte [rsp + 0x30]
add r15, 2
mov rax, r15
mov rdx, qword [0x140051068]
mov rdx, qword [rdx - 0x10]
call fcn.140011e1b
shl r15, 3
mov rcx, qword [r15 + rbp]
sub rsp, 0x28
call fcn.140016c50
add rsp, 0x28
movsx r15, byte [rsp + 0x30]
add r15, 3
mov rax, r15
mov rdx, qword [0x140051068]
mov rdx, qword [rdx - 0x10]
call fcn.140011e1b
shl r15, 3
mov rcx, qword [r15 + rbp]
sub rsp, 0x28
call fcn.140016c50
add rsp, 0x28
movsx r15, byte [rsp + 0x30]
add r15, 4
mov rax, r15
mov rdx, qword [0x140051068]
mov rdx, qword [rdx - 0x10]
call fcn.140011e1b
shl r15, 3
mov rcx, qword [r15 + rbp]
sub rsp, 0x28
call fcn.140016c50
add rsp, 0x28
movsx r15, byte [rsp + 0x30]
add r15, 5
mov rax, r15
mov rdx, qword [0x140051068]
mov rdx, qword [rdx - 0x10]
call fcn.140011e1b
shl r15, 3
mov rcx, qword [r15 + rbp]
sub rsp, 0x28
call fcn.140016c50
add rsp, 0x28
movsx r15, byte [rsp + 0x30]
add r15, 6
mov rax, r15
mov rdx, qword [0x140051068]
mov rdx, qword [rdx - 0x10]
call fcn.140011e1b
shl r15, 3
mov rcx, qword [r15 + rbp]
sub rsp, 0x28
call fcn.140016c50
add rsp, 0x28
movsx r15, byte [rsp + 0x30]
add r15, 7
mov rax, r15
mov rdx, qword [0x140051068]
mov rdx, qword [rdx - 0x10]
call fcn.140011e1b
shl r15, 3
mov rcx, qword [r15 + rbp]
sub rsp, 0x28
call fcn.140016c50
add rsp, 0x28
movsx r15, byte [rsp + 0x30]
add r15, 8
mov rax, r15
mov rdx, qword [0x140051068]
mov rdx, qword [rdx - 0x10]
call fcn.140011e1b
shl r15, 3
mov rcx, qword [r15 + rbp]
sub rsp, 0x28
call fcn.140016c50
add rsp, 0x28
lea rcx, [rsp + 0x48]
pop rdx
call fcn.140016b20
mov rcx, 0x2c
call fcn.140011ce0
mov byte [rsp + 0x30], 1
jmp 0x14000ec45
mov rcx, 0x2c
call fcn.140011ce0
mov rax, 9
cmp al, byte [rsp + 0x30]
jl 0x14000ec91
mov rcx, 0x2c
call fcn.140011ce0
movsx r15, byte [rsp + 0x30]
mov rax, r15
mov rdx, qword [rsp + 0x48]
mov rdx, qword [rdx - 0x10]
call fcn.140011e1b
mov rbp, qword [rsp + 0x48]
mov byte [r15 + rbp], 0
mov rcx, 0x2c
call fcn.140011ce0
inc byte [rsp + 0x30]
jno 0x14000ec39
mov rcx, 0x2d
call fcn.140011ce0
mov byte [rsp + 0x30], 1
jmp 0x14000ecb0
mov rcx, 0x2d
call fcn.140011ce0
mov rax, 9
cmp al, byte [rsp + 0x30]
jl 0x14000eddb
mov rcx, gethostbyname
call fcn.140011ce0
push qword [0x140059e60]
sub rsp, 8
push qword [0x140059e60]
sub rsp, 8
push qword [0x140059e60]
push 1
movsx rax, byte [rsp + 0x60]
mov rax, rax
push rax
push qword [rsp + 0x78]
pop rcx
pop rdx
pop r8
pop r9
sub rsp, 0x20
call fcn.1400125c0
add rsp, 0x28
mov rdx, qword [0x140059e80]
add qword [rsp], rdx
pop rcx
sub rsp, 0x20
call fcn.1400127c0
add rsp, 0x28
pop qword [0x140059e60]
mov r15, rax
mov rax, r15
mov rdx, qword [rsp + 0x48]
mov rdx, qword [rdx - 0x10]
call fcn.140011e1b
mov rbp, qword [rsp + 0x48]
movsx r15, byte [r15 + rbp]
inc r15
mov rax, r15
push rax
push qword [0x140059e60]
push qword [0x140059e60]
sub rsp, 8
push qword [0x140059e60]
push 1
movsx rax, byte [rsp + 0x60]
mov rax, rax
push rax
push qword [rsp + 0x78]
pop rcx
pop rdx
pop r8
pop r9
sub rsp, 0x20
call fcn.1400125c0
add rsp, 0x28
mov rdx, qword [0x140059e80]
add qword [rsp], rdx
pop rcx
sub rsp, 0x20
call fcn.1400127c0
add rsp, 0x20
pop qword [0x140059e60]
mov r15, rax
mov rax, r15
mov rdx, qword [rsp + 0x50]
mov rdx, qword [rdx - 0x10]
call fcn.140011e1b
pop rax
mov byte [r15 + rbp], al
mov rcx, gethostbyname
call fcn.140011ce0
inc byte [rsp + 0x30]
jno 0x14000eca4
mov rcx, gethostbyname
call fcn.140011ce0
mov byte [rsp + 0x30], 1
jmp 0x14000edfa
mov rcx, gethostbyname
call fcn.140011ce0
mov rax, 9
cmp al, byte [rsp + 0x30]
jl 0x14000eecc
mov rcx, gethostbyname
call fcn.140011ce0
movsx r15, byte [rsp + 0x30]
mov rax, r15
mov rdx, qword [rsp + 0x48]
mov rdx, qword [rdx - 0x10]
call fcn.140011e1b
mov rbp, qword [rsp + 0x48]
movsx r15, byte [r15 + rbp]
cmp r15, 1
jle 0x14000ee7c
mov rcx, gethostbyname
call fcn.140011ce0
movabs rdx, str._Fail4a
lea rcx, [0x140055348]
call fcn.140016a30
mov rcx, gethostbyname
call fcn.140011ce0
jmp 0x14000eecc
mov rcx, reloc.WS2_32.dll_gethostbyname
call fcn.140011ce0
mov rcx, 0x35
call fcn.140011ce0
movabs rdx, str._Pass
lea rcx, [0x140055348]
call fcn.140016a30
mov rcx, 0x36
call fcn.140011ce0
mov rcx, 0x37
call fcn.140011ce0
inc byte [rsp + 0x30]
jno 0x14000edee
mov rcx, 0x38
call fcn.140011ce0
mov rcx, 0x39
call fcn.140011ce0
push qword [0x140059e60]
sub rsp, 8
push qword [0x140059e60]
push 5
push qword [0x140055348]
pop rcx
pop rdx
pop r8
sub rsp, 0x20
call fcn.140012520
add rsp, 0x28
add qword [0x140059e60], 2
movabs rcx, str._Fail
pop rdx
mov qword [0x140059e60], rdx
add rdx, qword [0x140059e80]
call fcn.140016bf0
or rax, rax
je 0x14000ef49
mov rcx, 0x39
call fcn.140011ce0
jmp 0x14000ef6c
mov rcx, 0x39
call fcn.140011ce0
mov rcx, 0x3a
call fcn.140011ce0
add byte [rsp + 0x28], 9
jno 0x14000e53a
mov rcx, 0x3b
call fcn.140011ce0
push qword [0x140055348]
movabs rcx, str._Pass
pop rdx
call fcn.140016bf0
or rax, rax
je 0x14000f9de
mov rcx, 0x3c
call fcn.140011ce0
mov byte [rsp + 0x28], 1
jmp 0x14000efb6
mov rcx, 0x3c
call fcn.140011ce0
mov rax, 9
cmp al, byte [rsp + 0x28]
jl 0x14000f9de
mov rcx, 0x3d
call fcn.140011ce0
movsx r15, byte [rsp + 0x28]
mov rax, r15
mov rdx, qword [0x140051068]
mov rdx, qword [rdx - 0x10]
call fcn.140011e1b
mov rbp, qword [0x140051068]
shl r15, 3
push qword [r15 + rbp]
movabs rcx, 0x1400511ee
pop rdx
call fcn.140016bf0
or rax, rax
jne 0x14000f053
movsx r15, byte [rsp + 0x28]
add r15, 9
mov rax, r15
mov rdx, qword [0x140051068]
mov rdx, qword [rdx - 0x10]
call fcn.140011e1b
shl r15, 3
push qword [r15 + rbp]
movabs rcx, 0x1400511ee
pop rdx
call fcn.140016bf0
or rax, rax
jne 0x14000f053
mov rax, 1
jmp 0x14000f056
xor rax, rax
and rax, rax
je 0x14000f09e
movsx r15, byte [rsp + 0x28]
add r15, 0x12
mov rax, r15
mov rdx, qword [0x140051068]
mov rdx, qword [rdx - 0x10]
call fcn.140011e1b
shl r15, 3
push qword [r15 + rbp]
movabs rcx, 0x1400511ee
pop rdx
call fcn.140016bf0
or rax, rax
jne 0x14000f09e
mov rax, 1
jmp 0x14000f0a1
xor rax, rax
and rax, rax
je 0x14000f0e9
movsx r15, byte [rsp + 0x28]
add r15, 0x1b
mov rax, r15
mov rdx, qword [0x140051068]
mov rdx, qword [rdx - 0x10]
call fcn.140011e1b
shl r15, 3
push qword [r15 + rbp]
movabs rcx, 0x1400511ee
pop rdx
call fcn.140016bf0
or rax, rax
jne 0x14000f0e9
mov rax, 1
jmp 0x14000f0ec
xor rax, rax
and rax, rax
je 0x14000f134
movsx r15, byte [rsp + 0x28]
add r15, 0x24
mov rax, r15
mov rdx, qword [0x140051068]
mov rdx, qword [rdx - 0x10]
call fcn.140011e1b
shl r15, 3
push qword [r15 + rbp]
movabs rcx, 0x1400511ee
pop rdx
call fcn.140016bf0
or rax, rax
jne 0x14000f134
mov rax, 1
jmp 0x14000f137
xor rax, rax
and rax, rax
je 0x14000f17f
movsx r15, byte [rsp + 0x28]
add r15, 0x2d
mov rax, r15
mov rdx, qword [0x140051068]
mov rdx, qword [rdx - 0x10]
call fcn.140011e1b
shl r15, 3
push qword [r15 + rbp]
movabs rcx, 0x1400511ee
pop rdx
call fcn.140016bf0
or rax, rax
jne 0x14000f17f
mov rax, 1
jmp 0x14000f182
xor rax, rax
and rax, rax
je 0x14000f1ca
movsx r15, byte [rsp + 0x28]
add r15, 0x36
mov rax, r15
mov rdx, qword [0x140051068]
mov rdx, qword [rdx - 0x10]
call fcn.140011e1b
shl r15, 3
push qword [r15 + rbp]
movabs rcx, 0x1400511ee
pop rdx
call fcn.140016bf0
or rax, rax
jne 0x14000f1ca
mov rax, 1
jmp 0x14000f1cd
xor rax, rax
and rax, rax
je 0x14000f215
movsx r15, byte [rsp + 0x28]
add r15, 0x3f
mov rax, r15
mov rdx, qword [0x140051068]
mov rdx, qword [rdx - 0x10]
call fcn.140011e1b
shl r15, 3
push qword [r15 + rbp]
movabs rcx, 0x1400511ee
pop rdx
call fcn.140016bf0
or rax, rax
jne 0x14000f215
mov rax, 1
jmp 0x14000f218
xor rax, rax
and rax, rax
je 0x14000f260
movsx r15, byte [rsp + 0x28]
add r15, 0x48
mov rax, r15
mov rdx, qword [0x140051068]
mov rdx, qword [rdx - 0x10]
call fcn.140011e1b
shl r15, 3
push qword [r15 + rbp]
movabs rcx, 0x1400511ee
pop rdx
call fcn.140016bf0
or rax, rax
jne 0x14000f260
mov rax, 1
jmp 0x14000f263
xor rax, rax
and rax, rax
je 0x14000f4ab
mov rcx, 0x3e
call fcn.140011ce0
movsx r15, byte [rsp + 0x28]
mov rax, r15
mov rdx, qword [0x140051068]
mov rdx, qword [rdx - 0x10]
call fcn.140011e1b
mov rbp, qword [0x140051068]
shl r15, 3
push qword [r15 + rbp]
pop rcx
call fcn.1400127c0
mov r15, rax
movsx r14, byte [rsp + 0x28]
add r14, 9
mov rax, r14
mov rdx, qword [0x140051068]
mov rdx, qword [rdx - 0x10]
call fcn.140011e1b
shl r14, 3
push qword [r14 + rbp]
pop rcx
call fcn.1400127c0
add r15, rax
movsx r14, byte [rsp + 0x28]
add r14, 0x12
mov rax, r14
mov rdx, qword [0x140051068]
mov rdx, qword [rdx - 0x10]
call fcn.140011e1b
shl r14, 3
push qword [r14 + rbp]
pop rcx
call fcn.1400127c0
add r15, rax
movsx r14, byte [rsp + 0x28]
add r14, 0x1b
mov rax, r14
mov rdx, qword [0x140051068]
mov rdx, qword [rdx - 0x10]
call fcn.140011e1b
shl r14, 3
push qword [r14 + rbp]
pop rcx
call fcn.1400127c0
add r15, rax
movsx r14, byte [rsp + 0x28]
add r14, 0x24
mov rax, r14
mov rdx, qword [0x140051068]
mov rdx, qword [rdx - 0x10]
call fcn.140011e1b
shl r14, 3
push qword [r14 + rbp]
pop rcx
call fcn.1400127c0
add r15, rax
movsx r14, byte [rsp + 0x28]
add r14, 0x2d
mov rax, r14
mov rdx, qword [0x140051068]
mov rdx, qword [rdx - 0x10]
call fcn.140011e1b
shl r14, 3
push qword [r14 + rbp]
pop rcx
call fcn.1400127c0
add r15, rax
movsx r14, byte [rsp + 0x28]
add r14, 0x36
mov rax, r14
mov rdx, qword [0x140051068]
mov rdx, qword [rdx - 0x10]
call fcn.140011e1b
shl r14, 3
push qword [r14 + rbp]
pop rcx
call fcn.1400127c0
add r15, rax
movsx r14, byte [rsp + 0x28]
add r14, 0x3f
mov rax, r14
mov rdx, qword [0x140051068]
mov rdx, qword [rdx - 0x10]
call fcn.140011e1b
shl r14, 3
push qword [r14 + rbp]
pop rcx
call fcn.1400127c0
add r15, rax
movsx r14, byte [rsp + 0x28]
add r14, 0x48
mov rax, r14
mov rdx, qword [0x140051068]
mov rdx, qword [rdx - 0x10]
call fcn.140011e1b
shl r14, 3
push qword [r14 + rbp]
pop rcx
call fcn.1400127c0
add r15, rax
cmp r15, 0x2d
jne 0x14000f44f
mov rcx, 0x3f
call fcn.140011ce0
movabs rdx, str._Pass
lea rcx, [0x140055348]
call fcn.140016a30
mov rcx, 0x40
call fcn.140011ce0
jmp 0x14000f48e
mov rcx, 0x40
call fcn.140011ce0
mov rcx, 0x41
call fcn.140011ce0
movabs rdx, str._Fail5
lea rcx, [0x140055348]
call fcn.140016a30
mov rcx, 0x42
call fcn.140011ce0
jmp 0x14000f9de
mov rcx, 0x43
call fcn.140011ce0
mov rcx, 0x44
call fcn.140011ce0
jmp 0x14000f93f
mov rcx, 0x44
call fcn.140011ce0
mov rcx, 0x45
call fcn.140011ce0
movsx r15, byte [rsp + 0x28]
mov rax, r15
mov rdx, qword [0x140051068]
mov rdx, qword [rdx - 0x10]
call fcn.140011e1b
mov rbp, qword [0x140051068]
shl r15, 3
mov rcx, qword [r15 + rbp]
push qword [0x140059e60]
sub rsp, 0x28
call fcn.140016c50
add rsp, 0x28
movsx r15, byte [rsp + 0x30]
add r15, 9
mov rax, r15
mov rdx, qword [0x140051068]
mov rdx, qword [rdx - 0x10]
call fcn.140011e1b
shl r15, 3
mov rcx, qword [r15 + rbp]
sub rsp, 0x28
call fcn.140016c50
add rsp, 0x28
movsx r15, byte [rsp + 0x30]
add r15, 0x12
mov rax, r15
mov rdx, qword [0x140051068]
mov rdx, qword [rdx - 0x10]
call fcn.140011e1b
shl r15, 3
mov rcx, qword [r15 + rbp]
sub rsp, 0x28
call fcn.140016c50
add rsp, 0x28
movsx r15, byte [rsp + 0x30]
add r15, 0x1b
mov rax, r15
mov rdx, qword [0x140051068]
mov rdx, qword [rdx - 0x10]
call fcn.140011e1b
shl r15, 3
mov rcx, qword [r15 + rbp]
sub rsp, 0x28
call fcn.140016c50
add rsp, 0x28
movsx r15, byte [rsp + 0x30]
add r15, 0x24
mov rax, r15
mov rdx, qword [0x140051068]
mov rdx, qword [rdx - 0x10]
call fcn.140011e1b
shl r15, 3
mov rcx, qword [r15 + rbp]
sub rsp, 0x28
call fcn.140016c50
add rsp, 0x28
movsx r15, byte [rsp + 0x30]
add r15, 0x2d
mov rax, r15
mov rdx, qword [0x140051068]
mov rdx, qword [rdx - 0x10]
call fcn.140011e1b
shl r15, 3
mov rcx, qword [r15 + rbp]
sub rsp, 0x28
call fcn.140016c50
add rsp, 0x28
movsx r15, byte [rsp + 0x30]
add r15, 0x36
mov rax, r15
mov rdx, qword [0x140051068]
mov rdx, qword [rdx - 0x10]
call fcn.140011e1b
shl r15, 3
mov rcx, qword [r15 + rbp]
sub rsp, 0x28
call fcn.140016c50
add rsp, 0x28
movsx r15, byte [rsp + 0x30]
add r15, 0x3f
mov rax, r15
mov rdx, qword [0x140051068]
mov rdx, qword [rdx - 0x10]
call fcn.140011e1b
shl r15, 3
mov rcx, qword [r15 + rbp]
sub rsp, 0x28
call fcn.140016c50
add rsp, 0x28
movsx r15, byte [rsp + 0x30]
add r15, 0x48
mov rax, r15
mov rdx, qword [0x140051068]
mov rdx, qword [rdx - 0x10]
call fcn.140011e1b
shl r15, 3
mov rcx, qword [r15 + rbp]
sub rsp, 0x28
call fcn.140016c50
add rsp, 0x28
lea rcx, [rsp + 0x48]
pop rdx
call fcn.140016b20
mov rcx, 0x46
call fcn.140011ce0
mov byte [rsp + 0x30], 1
jmp 0x14000f6b8
mov rcx, 0x46
call fcn.140011ce0
mov rax, 9
cmp al, byte [rsp + 0x30]
jl 0x14000f704
mov rcx, 0x46
call fcn.140011ce0
movsx r15, byte [rsp + 0x30]
mov rax, r15
mov rdx, qword [rsp + 0x48]
mov rdx, qword [rdx - 0x10]
call fcn.140011e1b
mov rbp, qword [rsp + 0x48]
mov byte [r15 + rbp], 0
mov rcx, 0x46
call fcn.140011ce0
inc byte [rsp + 0x30]
jno 0x14000f6ac
mov rcx, 0x47
call fcn.140011ce0
mov byte [rsp + 0x30], 1
jmp 0x14000f723
mov rcx, 0x47
call fcn.140011ce0
mov rax, 9
cmp al, byte [rsp + 0x30]
jl 0x14000f84e
mov rcx, 0x48
call fcn.140011ce0
push qword [0x140059e60]
sub rsp, 8
push qword [0x140059e60]
sub rsp, 8
push qword [0x140059e60]
push 1
movsx rax, byte [rsp + 0x60]
mov rax, rax
push rax
push qword [rsp + 0x78]
pop rcx
pop rdx
pop r8
pop r9
sub rsp, 0x20
call fcn.1400125c0
add rsp, 0x28
mov rdx, qword [0x140059e80]
add qword [rsp], rdx
pop rcx
sub rsp, 0x20
call fcn.1400127c0
add rsp, 0x28
pop qword [0x140059e60]
mov r15, rax
mov rax, r15
mov rdx, qword [rsp + 0x48]
mov rdx, qword [rdx - 0x10]
call fcn.140011e1b
mov rbp, qword [rsp + 0x48]
movsx r15, byte [r15 + rbp]
inc r15
mov rax, r15
push rax
push qword [0x140059e60]
push qword [0x140059e60]
sub rsp, 8
push qword [0x140059e60]
push 1
movsx rax, byte [rsp + 0x60]
mov rax, rax
push rax
push qword [rsp + 0x78]
pop rcx
pop rdx
pop r8
pop r9
sub rsp, 0x20
call fcn.1400125c0
add rsp, 0x28
mov rdx, qword [0x140059e80]
add qword [rsp], rdx
pop rcx
sub rsp, 0x20
call fcn.1400127c0
add rsp, 0x20
pop qword [0x140059e60]
mov r15, rax
mov rax, r15
mov rdx, qword [rsp + 0x50]
mov rdx, qword [rdx - 0x10]
call fcn.140011e1b
pop rax
mov byte [r15 + rbp], al
mov rcx, 0x49
call fcn.140011ce0
inc byte [rsp + 0x30]
jno 0x14000f717
mov rcx, 0x4a
call fcn.140011ce0
mov byte [rsp + 0x30], 1
jmp 0x14000f86d
mov rcx, 0x4a
call fcn.140011ce0
mov rax, 9
cmp al, byte [rsp + 0x30]
jl 0x14000f93f
mov rcx, 0x4b
call fcn.140011ce0
movsx r15, byte [rsp + 0x30]
mov rax, r15
mov rdx, qword [rsp + 0x48]
mov rdx, qword [rdx - 0x10]
call fcn.140011e1b
mov rbp, qword [rsp + 0x48]
movsx r15, byte [r15 + rbp]
cmp r15, 1
jle 0x14000f8ef
mov rcx, 0x4c
call fcn.140011ce0
movabs rdx, str._Fail5a
lea rcx, [0x140055348]
call fcn.140016a30
mov rcx, 0x4d
call fcn.140011ce0
jmp 0x14000f93f
mov rcx, 0x4e
call fcn.140011ce0
mov rcx, 0x4f
call fcn.140011ce0
movabs rdx, str._Pass
lea rcx, [0x140055348]
call fcn.140016a30
mov rcx, 0x50
call fcn.140011ce0
mov rcx, 0x51
call fcn.140011ce0
inc byte [rsp + 0x30]
jno 0x14000f861
mov rcx, 0x52
call fcn.140011ce0
mov rcx, 0x53
call fcn.140011ce0
push qword [0x140059e60]
sub rsp, 8
push qword [0x140059e60]
push 5
push qword [0x140055348]
pop rcx
pop rdx
pop r8
sub rsp, 0x20
call fcn.140012520
add rsp, 0x28
add qword [0x140059e60], 2
movabs rcx, str._Fail
pop rdx
mov qword [0x140059e60], rdx
add rdx, qword [0x140059e80]
call fcn.140016bf0
or rax, rax
je 0x14000f9bc
mov rcx, 0x53
call fcn.140011ce0
jmp 0x14000f9de
mov rcx, 0x53
call fcn.140011ce0
mov rcx, 0x54
call fcn.140011ce0
inc byte [rsp + 0x28]
jno 0x14000efaa
mov rcx, 0x55
call fcn.140011ce0
mov rcx, 0x56
call fcn.140011ce0
push qword [0x140055348]
movabs rcx, str._Pass
pop rdx
call fcn.140016bf0
or rax, rax
je 0x140010611
mov rcx, 0x57
call fcn.140011ce0
mov byte [rsp + 0x30], 0
jmp 0x14000fa34
mov rcx, 0x57
call fcn.140011ce0
mov rax, 0x36
cmp al, byte [rsp + 0x30]
jl 0x140010611
mov rcx, 0x58
call fcn.140011ce0
mov byte [rsp + 0x28], 1
jmp 0x14000fa64
mov rcx, 0x58
call fcn.140011ce0
mov rax, 7
cmp al, byte [rsp + 0x28]
jl 0x14001057d
mov rcx, 0x59
call fcn.140011ce0
movsx r15, byte [rsp + 0x28]
movsx rcx, byte [rsp + 0x30]
add r15, rcx
mov rax, r15
mov rdx, qword [0x140051068]
mov rdx, qword [rdx - 0x10]
call fcn.140011e1b
mov rbp, qword [0x140051068]
shl r15, 3
push qword [r15 + rbp]
movabs rcx, 0x1400511ee
pop rdx
call fcn.140016bf0
or rax, rax
jne 0x14000fb12
movsx r15, byte [rsp + 0x28]
movsx rcx, byte [rsp + 0x30]
add r15, rcx
inc r15
mov rax, r15
mov rdx, qword [0x140051068]
mov rdx, qword [rdx - 0x10]
call fcn.140011e1b
shl r15, 3
push qword [r15 + rbp]
movabs rcx, 0x1400511ee
pop rdx
call fcn.140016bf0
or rax, rax
jne 0x14000fb12
mov rax, 1
jmp 0x14000fb15
xor rax, rax
and rax, rax
je 0x14000fb66
movsx r15, byte [rsp + 0x28]
movsx rcx, byte [rsp + 0x30]
add r15, rcx
add r15, 2
mov rax, r15
mov rdx, qword [0x140051068]
mov rdx, qword [rdx - 0x10]
call fcn.140011e1b
shl r15, 3
push qword [r15 + rbp]
movabs rcx, 0x1400511ee
pop rdx
call fcn.140016bf0
or rax, rax
jne 0x14000fb66
mov rax, 1
jmp 0x14000fb69
xor rax, rax
and rax, rax
je 0x14000fbba
movsx r15, byte [rsp + 0x28]
movsx rcx, byte [rsp + 0x30]
add r15, rcx
add r15, 9
mov rax, r15
mov rdx, qword [0x140051068]
mov rdx, qword [rdx - 0x10]
call fcn.140011e1b
shl r15, 3
push qword [r15 + rbp]
movabs rcx, 0x1400511ee
pop rdx
call fcn.140016bf0
or rax, rax
jne 0x14000fbba
mov rax, 1
jmp 0x14000fbbd
xor rax, rax
and rax, rax
je 0x14000fc0e
movsx r15, byte [rsp + 0x28]
movsx rcx, byte [rsp + 0x30]
add r15, rcx
add r15, 0xa
mov rax, r15
mov rdx, qword [0x140051068]
mov rdx, qword [rdx - 0x10]
call fcn.140011e1b
shl r15, 3
push qword [r15 + rbp]
movabs rcx, 0x1400511ee
pop rdx
call fcn.140016bf0
or rax, rax
jne 0x14000fc0e
mov rax, 1
jmp 0x14000fc11
xor rax, rax
and rax, rax
je 0x14000fc62
movsx r15, byte [rsp + 0x28]
movsx rcx, byte [rsp + 0x30]
add r15, rcx
add r15, 0xb
mov rax, r15
mov rdx, qword [0x140051068]
mov rdx, qword [rdx - 0x10]
call fcn.140011e1b
shl r15, 3
push qword [r15 + rbp]
movabs rcx, 0x1400511ee
pop rdx
call fcn.140016bf0
or rax, rax
jne 0x14000fc62
mov rax, 1
jmp 0x14000fc65
xor rax, rax
and rax, rax
je 0x14000fcb6
movsx r15, byte [rsp + 0x28]
movsx rcx, byte [rsp + 0x30]
add r15, rcx
add r15, 0x12
mov rax, r15
mov rdx, qword [0x140051068]
mov rdx, qword [rdx - 0x10]
call fcn.140011e1b
shl r15, 3
push qword [r15 + rbp]
movabs rcx, 0x1400511ee
pop rdx
call fcn.140016bf0
or rax, rax
jne 0x14000fcb6
mov rax, 1
jmp 0x14000fcb9
xor rax, rax
and rax, rax
je 0x14000fd0a
movsx r15, byte [rsp + 0x28]
movsx rcx, byte [rsp + 0x30]
add r15, rcx
add r15, 0x13
mov rax, r15
mov rdx, qword [0x140051068]
mov rdx, qword [rdx - 0x10]
call fcn.140011e1b
shl r15, 3
push qword [r15 + rbp]
movabs rcx, 0x1400511ee
pop rdx
call fcn.140016bf0
or rax, rax
jne 0x14000fd0a
mov rax, 1
jmp 0x14000fd0d
xor rax, rax
and rax, rax
je 0x14000fd5e
movsx r15, byte [rsp + 0x28]
movsx rcx, byte [rsp + 0x30]
add r15, rcx
add r15, 0x14
mov rax, r15
mov rdx, qword [0x140051068]
mov rdx, qword [rdx - 0x10]
call fcn.140011e1b
shl r15, 3
push qword [r15 + rbp]
movabs rcx, 0x1400511ee
pop rdx
call fcn.140016bf0
or rax, rax
jne 0x14000fd5e
mov rax, 1
jmp 0x14000fd61
xor rax, rax
and rax, rax
je 0x14000fff9
mov rcx, 0x5a
call fcn.140011ce0
movsx r15, byte [rsp + 0x28]
movsx rcx, byte [rsp + 0x30]
add r15, rcx
mov rax, r15
mov rdx, qword [0x140051068]
mov rdx, qword [rdx - 0x10]
call fcn.140011e1b
mov rbp, qword [0x140051068]
shl r15, 3
push qword [r15 + rbp]
pop rcx
call fcn.1400127c0
mov r15, rax
movsx r14, byte [rsp + 0x28]
movsx rcx, byte [rsp + 0x30]
add r14, rcx
inc r14
mov rax, r14
mov rdx, qword [0x140051068]
mov rdx, qword [rdx - 0x10]
call fcn.140011e1b
shl r14, 3
push qword [r14 + rbp]
pop rcx
call fcn.1400127c0
add r15, rax
movsx r14, byte [rsp + 0x28]
movsx rcx, byte [rsp + 0x30]
add r14, rcx
add r14, 2
mov rax, r14
mov rdx, qword [0x140051068]
mov rdx, qword [rdx - 0x10]
call fcn.140011e1b
shl r14, 3
push qword [r14 + rbp]
pop rcx
call fcn.1400127c0
add r15, rax
movsx r14, byte [rsp + 0x28]
movsx rcx, byte [rsp + 0x30]
add r14, rcx
add r14, 9
mov rax, r14
mov rdx, qword [0x140051068]
mov rdx, qword [rdx - 0x10]
call fcn.140011e1b
shl r14, 3
push qword [r14 + rbp]
pop rcx
call fcn.1400127c0
add r15, rax
movsx r14, byte [rsp + 0x28]
movsx rcx, byte [rsp + 0x30]
add r14, rcx
add r14, 0xa
mov rax, r14
mov rdx, qword [0x140051068]
mov rdx, qword [rdx - 0x10]
call fcn.140011e1b
shl r14, 3
push qword [r14 + rbp]
pop rcx
call fcn.1400127c0
add r15, rax
movsx r14, byte [rsp + 0x28]
movsx rcx, byte [rsp + 0x30]
add r14, rcx
add r14, 0xb
mov rax, r14
mov rdx, qword [0x140051068]
mov rdx, qword [rdx - 0x10]
call fcn.140011e1b
shl r14, 3
push qword [r14 + rbp]
pop rcx
call fcn.1400127c0
add r15, rax
movsx r14, byte [rsp + 0x28]
movsx rcx, byte [rsp + 0x30]
add r14, rcx
add r14, 0x12
mov rax, r14
mov rdx, qword [0x140051068]
mov rdx, qword [rdx - 0x10]
call fcn.140011e1b
shl r14, 3
push qword [r14 + rbp]
pop rcx
call fcn.1400127c0
add r15, rax
movsx r14, byte [rsp + 0x28]
movsx rcx, byte [rsp + 0x30]
add r14, rcx
add r14, 0x13
mov rax, r14
mov rdx, qword [0x140051068]
mov rdx, qword [rdx - 0x10]
call fcn.140011e1b
shl r14, 3
push qword [r14 + rbp]
pop rcx
call fcn.1400127c0
add r15, rax
movsx r14, byte [rsp + 0x28]
movsx rcx, byte [rsp + 0x30]
add r14, rcx
add r14, 0x14
mov rax, r14
mov rdx, qword [0x140051068]
mov rdx, qword [rdx - 0x10]
call fcn.140011e1b
shl r14, 3
push qword [r14 + rbp]
pop rcx
call fcn.1400127c0
add r15, rax
cmp r15, 0x2d
jne 0x14000ff9d
mov rcx, 0x5b
call fcn.140011ce0
movabs rdx, str._Pass
lea rcx, [0x140055348]
call fcn.140016a30
mov rcx, 0x5c
call fcn.140011ce0
jmp 0x14000ffdc
mov rcx, 0x5c
call fcn.140011ce0
mov rcx, 0x5d
call fcn.140011ce0
movabs rdx, str._Fail6
lea rcx, [0x140055348]
call fcn.140016a30
mov rcx, 0x5e
call fcn.140011ce0
jmp 0x14001057d
mov rcx, 0x5f
call fcn.140011ce0
mov rcx, 0x60
call fcn.140011ce0
jmp 0x1400104dd
mov rcx, 0x60
call fcn.140011ce0
mov rcx, 0x61
call fcn.140011ce0
movsx r15, byte [rsp + 0x28]
movsx rcx, byte [rsp + 0x30]
add r15, rcx
mov rax, r15
mov rdx, qword [0x140051068]
mov rdx, qword [rdx - 0x10]
call fcn.140011e1b
mov rbp, qword [0x140051068]
shl r15, 3
mov rcx, qword [r15 + rbp]
push qword [0x140059e60]
sub rsp, 0x28
call fcn.140016c50
add rsp, 0x28
movsx r15, byte [rsp + 0x30]
movsx rcx, byte [rsp + 0x38]
add r15, rcx
inc r15
mov rax, r15
mov rdx, qword [0x140051068]
mov rdx, qword [rdx - 0x10]
call fcn.140011e1b
shl r15, 3
mov rcx, qword [r15 + rbp]
sub rsp, 0x28
call fcn.140016c50
add rsp, 0x28
movsx r15, byte [rsp + 0x30]
movsx rcx, byte [rsp + 0x38]
add r15, rcx
add r15, 2
mov rax, r15
mov rdx, qword [0x140051068]
mov rdx, qword [rdx - 0x10]
call fcn.140011e1b
shl r15, 3
mov rcx, qword [r15 + rbp]
sub rsp, 0x28
call fcn.140016c50
add rsp, 0x28
movsx r15, byte [rsp + 0x30]
movsx rcx, byte [rsp + 0x38]
add r15, rcx
add r15, 9
mov rax, r15
mov rdx, qword [0x140051068]
mov rdx, qword [rdx - 0x10]
call fcn.140011e1b
shl r15, 3
mov rcx, qword [r15 + rbp]
sub rsp, 0x28
call fcn.140016c50
add rsp, 0x28
movsx r15, byte [rsp + 0x30]
movsx rcx, byte [rsp + 0x38]
add r15, rcx
add r15, 0xa
mov rax, r15
mov rdx, qword [0x140051068]
mov rdx, qword [rdx - 0x10]
call fcn.140011e1b
shl r15, 3
mov rcx, qword [r15 + rbp]
sub rsp, 0x28
call fcn.140016c50
add rsp, 0x28
movsx r15, byte [rsp + 0x30]
movsx rcx, byte [rsp + 0x38]
add r15, rcx
add r15, 0xb
mov rax, r15
mov rdx, qword [0x140051068]
mov rdx, qword [rdx - 0x10]
call fcn.140011e1b
shl r15, 3
mov rcx, qword [r15 + rbp]
sub rsp, 0x28
call fcn.140016c50
add rsp, 0x28
movsx r15, byte [rsp + 0x30]
movsx rcx, byte [rsp + 0x38]
add r15, rcx
add r15, 0x12
mov rax, r15
mov rdx, qword [0x140051068]
mov rdx, qword [rdx - 0x10]
call fcn.140011e1b
shl r15, 3
mov rcx, qword [r15 + rbp]
sub rsp, 0x28
call fcn.140016c50
add rsp, 0x28
movsx r15, byte [rsp + 0x30]
movsx rcx, byte [rsp + 0x38]
add r15, rcx
add r15, 0x13
mov rax, r15
mov rdx, qword [0x140051068]
mov rdx, qword [rdx - 0x10]
call fcn.140011e1b
shl r15, 3
mov rcx, qword [r15 + rbp]
sub rsp, 0x28
call fcn.140016c50
add rsp, 0x28
movsx r15, byte [rsp + 0x30]
movsx rcx, byte [rsp + 0x38]
add r15, rcx
add r15, 0x14
mov rax, r15
mov rdx, qword [0x140051068]
mov rdx, qword [rdx - 0x10]
call fcn.140011e1b
shl r15, 3
mov rcx, qword [r15 + rbp]
sub rsp, 0x28
call fcn.140016c50
add rsp, 0x28
lea rcx, [rsp + 0x48]
pop rdx
call fcn.140016b20
mov rcx, 0x62
call fcn.140011ce0
mov byte [rsp + 0x38], 1
jmp 0x140010256
mov rcx, 0x62
call fcn.140011ce0
mov rax, 9
cmp al, byte [rsp + 0x38]
jl 0x1400102a2
mov rcx, 0x62
call fcn.140011ce0
movsx r15, byte [rsp + 0x38]
mov rax, r15
mov rdx, qword [rsp + 0x48]
mov rdx, qword [rdx - 0x10]
call fcn.140011e1b
mov rbp, qword [rsp + 0x48]
mov byte [r15 + rbp], 0
mov rcx, 0x62
call fcn.140011ce0
inc byte [rsp + 0x38]
jno 0x14001024a
mov rcx, 0x63
call fcn.140011ce0
mov byte [rsp + 0x38], 1
jmp 0x1400102c1
mov rcx, 0x63
call fcn.140011ce0
mov rax, 9
cmp al, byte [rsp + 0x38]
jl 0x1400103ec
mov rcx, 0x64
call fcn.140011ce0
push qword [0x140059e60]
sub rsp, 8
push qword [0x140059e60]
sub rsp, 8
push qword [0x140059e60]
push 1
movsx rax, byte [rsp + 0x68]
mov rax, rax
push rax
push qword [rsp + 0x78]
pop rcx
pop rdx
pop r8
pop r9
sub rsp, 0x20
call fcn.1400125c0
add rsp, 0x28
mov rdx, qword [0x140059e80]
add qword [rsp], rdx
pop rcx
sub rsp, 0x20
call fcn.1400127c0
add rsp, 0x28
pop qword [0x140059e60]
mov r15, rax
mov rax, r15
mov rdx, qword [rsp + 0x48]
mov rdx, qword [rdx - 0x10]
call fcn.140011e1b
mov rbp, qword [rsp + 0x48]
movsx r15, byte [r15 + rbp]
inc r15
mov rax, r15
push rax
push qword [0x140059e60]
push qword [0x140059e60]
sub rsp, 8
push qword [0x140059e60]
push 1
movsx rax, byte [rsp + 0x68]
mov rax, rax
push rax
push qword [rsp + 0x78]
pop rcx
pop rdx
pop r8
pop r9
sub rsp, 0x20
call fcn.1400125c0
add rsp, 0x28
mov rdx, qword [0x140059e80]
add qword [rsp], rdx
pop rcx
sub rsp, 0x20
call fcn.1400127c0
add rsp, 0x20
pop qword [0x140059e60]
mov r15, rax
mov rax, r15
mov rdx, qword [rsp + 0x50]
mov rdx, qword [rdx - 0x10]
call fcn.140011e1b
pop rax
mov byte [r15 + rbp], al
mov rcx, 0x65
call fcn.140011ce0
inc byte [rsp + 0x38]
jno 0x1400102b5
mov rcx, 0x66
call fcn.140011ce0
mov byte [rsp + 0x38], 1
jmp 0x14001040b
mov rcx, 0x66
call fcn.140011ce0
mov rax, 9
cmp al, byte [rsp + 0x38]
jl 0x1400104dd
mov rcx, 0x67
call fcn.140011ce0
movsx r15, byte [rsp + 0x38]
mov rax, r15
mov rdx, qword [rsp + 0x48]
mov rdx, qword [rdx - 0x10]
call fcn.140011e1b
mov rbp, qword [rsp + 0x48]
movsx r15, byte [r15 + rbp]
cmp r15, 1
jle 0x14001048d
mov rcx, 0x68
call fcn.140011ce0
movabs rdx, str._Fail6a
lea rcx, [0x140055348]
call fcn.140016a30
mov rcx, WSAGetLastError
call fcn.140011ce0
jmp 0x1400104dd
mov rcx, WSAGetLastError
call fcn.140011ce0
mov rcx, WSAGetLastError
call fcn.140011ce0
movabs rdx, str._Pass
lea rcx, [0x140055348]
call fcn.140016a30
mov rcx, WSAGetLastError
call fcn.140011ce0
mov rcx, WSAStartup
call fcn.140011ce0
inc byte [rsp + 0x38]
jno 0x1400103ff
mov rcx, WSACleanup
call fcn.140011ce0
mov rcx, reloc.WS2_32.dll_WSAGetLastError
call fcn.140011ce0
push qword [0x140059e60]
sub rsp, 8
push qword [0x140059e60]
push 5
push qword [0x140055348]
pop rcx
pop rdx
pop r8
sub rsp, 0x20
call fcn.140012520
add rsp, 0x28
add qword [0x140059e60], 2
movabs rcx, str._Fail
pop rdx
mov qword [0x140059e60], rdx
add rdx, qword [0x140059e80]
call fcn.140016bf0
or rax, rax
je 0x14001055a
mov rcx, reloc.WS2_32.dll_WSAGetLastError
call fcn.140011ce0
jmp 0x14001057d
mov rcx, reloc.WS2_32.dll_WSAGetLastError
call fcn.140011ce0
mov rcx, WSACleanup
call fcn.140011ce0
add byte [rsp + 0x28], 3
jno 0x14000fa58
mov rcx, WSACleanup
call fcn.140011ce0
push qword [0x140059e60]
sub rsp, 8
push qword [0x140059e60]
push 5
push qword [0x140055348]
pop rcx
pop rdx
pop r8
sub rsp, 0x20
call fcn.140012520
add rsp, 0x28
add qword [0x140059e60], 2
movabs rcx, str._Fail
pop rdx
mov qword [0x140059e60], rdx
add rdx, qword [0x140059e80]
call fcn.140016bf0
or rax, rax
je 0x1400105ee
mov rcx, WSACleanup
call fcn.140011ce0
jmp 0x140010611
mov rcx, WSACleanup
call fcn.140011ce0
mov rcx, WSACleanup
call fcn.140011ce0
add byte [rsp + 0x30], 0x1b
jno 0x14000fa28
mov rcx, reloc.WS2_32.dll_WSAStartup
call fcn.140011ce0
mov rcx, reloc.WS2_32.dll_WSACleanup
call fcn.140011ce0
push qword [0x140059e60]
push qword [0x140059e60]
push qword [0x140059e60]
push qword [rsp + 0x80]
pop rcx
pop rdx
sub rsp, 0x20
call fcn.1400126a0
add rsp, 0x20
movabs rcx, str._
sub rsp, 0x20
call fcn.140016c50
add rsp, 0x20
push qword [0x140059e60]
sub rsp, 8
push qword [0x140059e60]
push qword [0x1400552e0]
pop rcx
pop rdx
sub rsp, 0x20
call fcn.1400126a0
add rsp, 0x28
pop rax
movabs rcx, str._
sub rsp, 0x20
call fcn.140016c50
add rsp, 0x20
mov rcx, qword [0x140055368]
sub rsp, 0x20
call fcn.140016c50
add rsp, 0x20
movabs rcx, str._
sub rsp, 0x20
call fcn.140016c50
add rsp, 0x20
mov rcx, qword [0x140055370]
sub rsp, 0x20
call fcn.140016c50
add rsp, 0x20
mov rax, qword [0x140059e80]
add qword [rsp], rax
mov rcx, qword [rsp]
sub rsp, 0x20
call fcn.140017990
add rsp, 0x28
pop qword [0x140059e60]
mov rcx, 0x75
call fcn.140011ce0
push qword [0x140059e60]
mov rcx, qword [0x140055378]
push qword [0x140059e60]
sub rsp, 0x20
call fcn.140016c50
add rsp, 0x20
movabs rcx, 0x1400511e6
sub rsp, 0x20
call fcn.140016c50
add rsp, 0x20
mov rax, qword [rsp + 0x78]
lea rdx, [0x1400510a8]
mov r8, rdx
mov rdx, rax
mov rcx, 0
sub rsp, 0x20
call fcn.1400183c0
add rsp, 0x20
mov rdx, qword [0x1400510b0]
imul rdx, qword [rsp + 0x78]
mov rbp, rdx
push rbp
mov rax, 2
mov rax, rax
lea rdx, [0x1400510a8]
mov r8, rdx
mov rdx, rax
mov rcx, 1
sub rsp, 0x28
call fcn.1400183c0
add rsp, 0x28
pop rbp
add rbp, rax
shl rbp, 3
add rbp, qword [0x1400510a8]
mov rcx, qword [rbp]
sub rsp, 0x20
call fcn.140016c50
add rsp, 0x20
mov rax, qword [0x140059e80]
add qword [rsp], rax
mov rcx, qword [rsp]
sub rsp, 0x20
call fcn.140017990
add rsp, 0x28
pop qword [0x140059e60]
mov rcx, 0x76
call fcn.140011ce0
push qword [0x140059e60]
mov rax, 0
lea rdx, [0x1400510a8]
mov r8, rdx
mov rdx, rax
mov rcx, 0
sub rsp, 0x28
call fcn.1400183c0
add rsp, 0x28
mov rax, qword [0x1400510b0]
imul rax, rax, 0
mov rbp, rax
push rbp
mov rax, 1
mov rax, rax
lea rdx, [0x1400510a8]
mov r8, rdx
mov rdx, rax
mov rcx, 1
sub rsp, 0x20
call fcn.1400183c0
add rsp, 0x20
pop rbp
add rbp, rax
shl rbp, 3
add rbp, qword [0x1400510a8]
mov rcx, qword [rbp]
push qword [0x140059e60]
sub rsp, 0x20
call fcn.140016c50
add rsp, 0x20
movabs rcx, 0x1400514de
sub rsp, 0x20
call fcn.140016c50
add rsp, 0x20
mov rax, 0
lea rdx, [0x1400510a8]
mov r8, rdx
mov rdx, rax
mov rcx, 0
sub rsp, 0x20
call fcn.1400183c0
add rsp, 0x20
mov rax, qword [0x1400510b0]
imul rax, rax, 0
mov rbp, rax
push rbp
mov rax, 2
mov rax, rax
lea rdx, [0x1400510a8]
mov r8, rdx
mov rdx, rax
mov rcx, 1
sub rsp, 0x28
call fcn.1400183c0
add rsp, 0x28
pop rbp
add rbp, rax
shl rbp, 3
add rbp, qword [0x1400510a8]
mov rcx, qword [rbp]
sub rsp, 0x20
call fcn.140016c50
add rsp, 0x20
movabs rcx, 0x1400514de
sub rsp, 0x20
call fcn.140016c50
add rsp, 0x20
mov rax, 1
lea rdx, [0x1400510a8]
mov r8, rdx
mov rdx, rax
mov rcx, 0
sub rsp, 0x20
call fcn.1400183c0
add rsp, 0x20
mov rax, qword [0x1400510b0]
mov rbp, rax
push rbp
mov rax, 1
mov rax, rax
lea rdx, [0x1400510a8]
mov r8, rdx
mov rdx, rax
mov rcx, 1
sub rsp, 0x28
call fcn.1400183c0
add rsp, 0x28
pop rbp
add rbp, rax
shl rbp, 3
add rbp, qword [0x1400510a8]
mov rcx, qword [rbp]
sub rsp, 0x20
call fcn.140016c50
add rsp, 0x20
movabs rcx, 0x1400514de
sub rsp, 0x20
call fcn.140016c50
add rsp, 0x20
mov rax, 1
lea rdx, [0x1400510a8]
mov r8, rdx
mov rdx, rax
mov rcx, 0
sub rsp, 0x20
call fcn.1400183c0
add rsp, 0x20
mov rax, qword [0x1400510b0]
mov rbp, rax
push rbp
mov rax, 2
mov rax, rax
lea rdx, [0x1400510a8]
mov r8, rdx
mov rdx, rax
mov rcx, 1
sub rsp, 0x28
call fcn.1400183c0
add rsp, 0x28
pop rbp
add rbp, rax
shl rbp, 3
add rbp, qword [0x1400510a8]
mov rcx, qword [rbp]
sub rsp, 0x20
call fcn.140016c50
add rsp, 0x20
movabs rcx, 0x1400511e6
sub rsp, 0x20
call fcn.140016c50
add rsp, 0x20
push qword [0x140059e60]
sub rsp, 8
push qword [0x140059e60]
push 5
push qword [0x140055348]
pop rcx
pop rdx
pop r8
sub rsp, 0x20
call fcn.140012520
add rsp, 0x28
pop rax
mov rax, qword [0x140059e80]
add qword [rsp], rax
mov rcx, qword [rsp]
sub rsp, 0x20
call fcn.140017990
add rsp, 0x28
pop qword [0x140059e60]
mov rcx, 0x77
call fcn.140011ce0
push qword [0x140059e60]
sub rsp, 8
push qword [0x140059e60]
push 5
push qword [0x140055348]
pop rcx
pop rdx
pop r8
sub rsp, 0x20
call fcn.140012520
add rsp, 0x28
add qword [0x140059e60], 2
movabs rcx, str._Fail
pop rdx
mov qword [0x140059e60], rdx
add rdx, qword [0x140059e80]
call fcn.140016bf0
or rax, rax
je 0x140010ba1
mov rax, qword [rsp + 0x68]
lea rdx, [0x1400510a8]
mov r8, rdx
mov rdx, rax
mov rcx, 0
call fcn.1400183c0
mov rdx, qword [0x1400510b0]
imul rdx, qword [rsp + 0x68]
mov rbp, rdx
push rbp
mov rax, 2
mov rax, rax
lea rdx, [0x1400510a8]
mov r8, rdx
mov rdx, rax
mov rcx, 1
sub rsp, 0x28
call fcn.1400183c0
add rsp, 0x28
pop rbp
add rbp, rax
shl rbp, 3
add rbp, qword [0x1400510a8]
push qword [rbp]
movabs rcx, 0x1400511c0
pop rdx
call fcn.140016bf0
or rax, rax
je 0x140010ba1
mov rax, 1
jmp 0x140010ba4
xor rax, rax
and rax, rax
je 0x140010ea0
mov rcx, 0x78
call fcn.140011ce0
mov rcx, qword [0x140055378]
push qword [0x140059e60]
sub rsp, 0x28
call fcn.140016c50
add rsp, 0x28
lea rcx, [0x140055380]
pop rdx
call fcn.140016b20
mov rcx, 0x79
call fcn.140011ce0
mov byte [rsp + 0x28], 1
jmp 0x140010bff
mov rcx, 0x79
call fcn.140011ce0
mov rax, 0x51
cmp al, byte [rsp + 0x28]
jl 0x140010c9b
mov rcx, 0x7a
call fcn.140011ce0
movsx r15, byte [rsp + 0x28]
mov rax, r15
mov rdx, qword [0x140051078]
mov rdx, qword [rdx - 0x10]
call fcn.140011e1b
mov rbp, qword [0x140051078]
shl r15, 3
mov rcx, qword [r15 + rbp]
push qword [0x140059e60]
sub rsp, 0x28
call fcn.140016c50
add rsp, 0x28
movsx r15, byte [rsp + 0x30]
mov rax, r15
mov rdx, qword [0x140051068]
mov rdx, qword [rdx - 0x10]
call fcn.140011e1b
mov rbp, qword [0x140051068]
shl r15, 3
lea rcx, [r15 + rbp]
pop rdx
call fcn.140016b20
mov rcx, 0x7b
call fcn.140011ce0
inc byte [rsp + 0x28]
jno 0x140010bf3
mov rcx, 0x7c
call fcn.140011ce0
mov rcx, qword [0x140055370]
push qword [0x140059e60]
sub rsp, 0x28
call fcn.140016c50
add rsp, 0x28
mov r15, qword [0x1400552e0]
mov rax, r15
mov rdx, qword [0x140051068]
mov rdx, qword [rdx - 0x10]
call fcn.140011e1b
mov rbp, qword [0x140051068]
shl r15, 3
lea rcx, [r15 + rbp]
pop rdx
call fcn.140016b20
mov rcx, 0x7d
call fcn.140011ce0
push qword [0x140059e60]
sub rsp, 8
push qword [0x140059e60]
mov r15, qword [0x1400552e0]
add r15, 3
mov rax, r15
push rax
push qword [0x140055380]
pop rcx
pop rdx
pop r8
sub rsp, 0x20
call fcn.140012520
add rsp, 0x28
mov rcx, qword [0x140055370]
sub rsp, 0x28
call fcn.140016c50
add rsp, 0x28
push qword [0x140059e60]
push qword [0x140059e60]
mov r15, qword [0x1400552e0]
neg r15
add r15, 0x53
mov rax, r15
push rax
push qword [0x140055380]
pop rcx
pop rdx
pop r8
sub rsp, 0x20
call fcn.140012700
add rsp, 0x20
pop rax
lea rcx, [0x140055380]
pop rdx
call fcn.140016b20
mov rcx, 0x7e
call fcn.140011ce0
mov rcx, qword [0x140055350]
push qword [0x140059e60]
sub rsp, 0x28
call fcn.140016c50
add rsp, 0x28
movabs rcx, 0x1400512bc
sub rsp, 0x28
call fcn.140016c50
add rsp, 0x28
lea rcx, [0x140055350]
pop rdx
call fcn.140016b20
mov rcx, 0x7f
call fcn.140011ce0
mov rax, qword [rsp + 0x68]
lea rdx, [0x1400510a8]
mov r8, rdx
mov rdx, rax
mov rcx, 0
call fcn.1400183c0
mov rdx, qword [0x1400510b0]
imul rdx, qword [rsp + 0x68]
mov rbp, rdx
push rbp
mov rax, 2
mov rax, rax
lea rdx, [0x1400510a8]
mov r8, rdx
mov rdx, rax
mov rcx, 1
sub rsp, 0x28
call fcn.1400183c0
add rsp, 0x28
pop rbp
add rbp, rax
shl rbp, 3
add rbp, qword [0x1400510a8]
movabs rdx, 0x1400512bc
lea rcx, [rbp]
call fcn.140016a30
mov rcx, 0x81
call fcn.140011ce0
push qword [0x140059e60]
movabs rax, 0x140051310
push rax
mov rcx, qword [rsp]
sub rsp, 0x20
call fcn.140017990
add rsp, 0x28
pop qword [0x140059e60]
mov rcx, 0x82
call fcn.140011ce0
jmp 0x140011c86
mov rcx, 0x82
call fcn.140011ce0
mov r15, qword [rsp + 0x68]
cmp r15, 1
jle 0x1400116bf
mov rcx, 0x83
call fcn.140011ce0
mov r15, qword [rsp + 0x68]
dec r15
mov qword [rsp + 0x68], r15
mov rcx, 0x84
call fcn.140011ce0
mov byte [rsp + 0x28], 1
jmp 0x140010ef3
mov rcx, 0x84
call fcn.140011ce0
mov rax, 0x51
cmp al, byte [rsp + 0x28]
jl 0x140010fd3
mov rcx, 0x85
call fcn.140011ce0
mov rax, qword [rsp + 0x68]
lea rdx, [0x140051088]
mov r8, rdx
mov rdx, rax
mov rcx, 0
call fcn.1400183c0
mov rdx, qword [0x140051090]
imul rdx, qword [rsp + 0x68]
mov rbp, rdx
push rbp
movsx rax, byte [rsp + 0x30]
mov rax, rax
lea rdx, [0x140051088]
mov r8, rdx
mov rdx, rax
mov rcx, 1
sub rsp, 0x28
call fcn.1400183c0
add rsp, 0x28
pop rbp
add rbp, rax
shl rbp, 3
add rbp, qword [0x140051088]
mov rcx, qword [rbp]
push qword [0x140059e60]
sub rsp, 0x28
call fcn.140016c50
add rsp, 0x28
movsx r15, byte [rsp + 0x30]
mov rax, r15
mov rdx, qword [0x140051068]
mov rdx, qword [rdx - 0x10]
call fcn.140011e1b
mov rbp, qword [0x140051068]
shl r15, 3
lea rcx, [r15 + rbp]
pop rdx
call fcn.140016b20
mov rcx, 0x86
call fcn.140011ce0
inc byte [rsp + 0x28]
jno 0x140010ee7
mov rcx, 0x87
call fcn.140011ce0
mov rax, qword [rsp + 0x68]
lea rdx, [0x140051088]
mov r8, rdx
mov rdx, rax
mov rcx, 0
call fcn.1400183c0
mov rdx, qword [0x140051090]
imul rdx, qword [rsp + 0x68]
mov rbp, rdx
push rbp
mov rax, 0x54
mov rax, rax
lea rdx, [0x140051088]
mov r8, rdx
mov rdx, rax
mov rcx, 1
sub rsp, 0x28
call fcn.1400183c0
add rsp, 0x28
pop rbp
add rbp, rax
shl rbp, 3
add rbp, qword [0x140051088]
mov rcx, qword [rbp]
push qword [0x140059e60]
sub rsp, 0x28
call fcn.140016c50
add rsp, 0x28
sub rsp, 8
mov rax, qword [rsp + 0x78]
lea rdx, [0x140051088]
mov r8, rdx
mov rdx, rax
mov rcx, 0
sub rsp, 0x20
call fcn.1400183c0
add rsp, 0x20
mov rdx, qword [0x140051090]
imul rdx, qword [rsp + 0x78]
mov rbp, rdx
push rbp
mov rax, 0x52
mov rax, rax
lea rdx, [0x140051088]
mov r8, rdx
mov rdx, rax
mov rcx, 1
sub rsp, 0x28
call fcn.1400183c0
add rsp, 0x28
pop rbp
add rbp, rax
shl rbp, 3
add rbp, qword [0x140051088]
push qword [rbp]
pop rcx
sub rsp, 0x20
call fcn.1400127c0
add rsp, 0x28
mov r15, rax
mov rax, r15
mov rdx, qword [0x140051068]
mov rdx, qword [rdx - 0x10]
call fcn.140011e1b
mov rbp, qword [0x140051068]
shl r15, 3
lea rcx, [r15 + rbp]
pop rdx
call fcn.140016b20
mov rcx, 0x88
call fcn.140011ce0
mov r15, qword [rsp + 0x68]
mov rax, r15
mov rdx, qword [0x1400510c8]
mov rdx, qword [rdx - 0x10]
call fcn.140011e1b
mov rbp, qword [0x1400510c8]
shl r15, 3
mov rcx, qword [r15 + rbp]
push qword [0x140059e60]
sub rsp, 0x28
call fcn.140016c50
add rsp, 0x28
lea rcx, [0x140055380]
pop rdx
call fcn.140016b20
mov rcx, 0x89
call fcn.140011ce0
push qword [0x140059e60]
sub rsp, 8
push qword [0x140059e60]
sub rsp, 8
mov rax, qword [rsp + 0x88]
lea rdx, [0x140051088]
mov r8, rdx
mov rdx, rax
mov rcx, 0
sub rsp, 0x20
call fcn.1400183c0
add rsp, 0x20
mov rdx, qword [0x140051090]
imul rdx, qword [rsp + 0x88]
mov rbp, rdx
push rbp
mov rax, 0x52
mov rax, rax
lea rdx, [0x140051088]
mov r8, rdx
mov rdx, rax
mov rcx, 1
sub rsp, 0x28
call fcn.1400183c0
add rsp, 0x28
pop rbp
add rbp, rax
shl rbp, 3
add rbp, qword [0x140051088]
push qword [rbp]
pop rcx
sub rsp, 0x20
call fcn.1400127c0
add rsp, 0x28
mov r15, rax
add r15, 3
mov rax, r15
push rax
push qword [0x140055380]
pop rcx
pop rdx
pop r8
sub rsp, 0x20
call fcn.140012520
add rsp, 0x28
mov rax, qword [rsp + 0x70]
lea rdx, [0x140051088]
mov r8, rdx
mov rdx, rax
mov rcx, 0
sub rsp, 0x28
call fcn.1400183c0
add rsp, 0x28
mov rdx, qword [0x140051090]
imul rdx, qword [rsp + 0x70]
mov rbp, rdx
push rbp
mov rax, 0x54
mov rax, rax
lea rdx, [0x140051088]
mov r8, rdx
mov rdx, rax
mov rcx, 1
sub rsp, 0x20
call fcn.1400183c0
add rsp, 0x20
pop rbp
add rbp, rax
shl rbp, 3
add rbp, qword [0x140051088]
mov rcx, qword [rbp]
sub rsp, 0x28
call fcn.140016c50
add rsp, 0x28
push qword [0x140059e60]
push qword [0x140059e60]
sub rsp, 8
mov rax, qword [rsp + 0x88]
lea rdx, [0x140051088]
mov r8, rdx
mov rdx, rax
mov rcx, 0
sub rsp, 0x20
call fcn.1400183c0
add rsp, 0x20
mov rdx, qword [0x140051090]
imul rdx, qword [rsp + 0x88]
mov rbp, rdx
push rbp
mov rax, 0x52
mov rax, rax
lea rdx, [0x140051088]
mov r8, rdx
mov rdx, rax
mov rcx, 1
sub rsp, 0x28
call fcn.1400183c0
add rsp, 0x28
pop rbp
add rbp, rax
shl rbp, 3
add rbp, qword [0x140051088]
push qword [rbp]
pop rcx
sub rsp, 0x20
call fcn.1400127c0
add rsp, 0x28
mov r15, rax
neg r15
add r15, 0x53
mov rax, r15
push rax
push qword [0x140055380]
pop rcx
pop rdx
pop r8
sub rsp, 0x20
call fcn.140012700
add rsp, 0x20
pop rax
lea rcx, [0x140055380]
pop rdx
call fcn.140016b20
mov rcx, 0x8a
call fcn.140011ce0
mov rcx, qword [0x140055350]
push qword [0x140059e60]
sub rsp, 0x28
call fcn.140016c50
add rsp, 0x28
movabs rcx, 0x1400512bc
sub rsp, 0x28
call fcn.140016c50
add rsp, 0x28
lea rcx, [0x140055350]
pop rdx
call fcn.140016b20
mov rcx, 0x8b
call fcn.140011ce0
mov rax, qword [rsp + 0x68]
lea rdx, [0x1400510a8]
mov r8, rdx
mov rdx, rax
mov rcx, 0
call fcn.1400183c0
mov rdx, qword [0x1400510b0]
imul rdx, qword [rsp + 0x68]
mov rbp, rdx
push rbp
mov rax, 2
mov rax, rax
lea rdx, [0x1400510a8]
mov r8, rdx
mov rdx, rax
mov rcx, 1
sub rsp, 0x28
call fcn.1400183c0
add rsp, 0x28
pop rbp
add rbp, rax
shl rbp, 3
add rbp, qword [0x1400510a8]
movabs rdx, 0x1400512bc
lea rcx, [rbp]
call fcn.140016a30
mov rcx, 0x8c
call fcn.140011ce0
mov byte [rsp + 0x28], 1
jmp 0x14001146b
mov rcx, 0x8c
call fcn.140011ce0
mov rax, 0x54
cmp al, byte [rsp + 0x28]
jl 0x14001151d
mov rcx, 0x8d
call fcn.140011ce0
mov r15, qword [rsp + 0x68]
inc r15
mov rax, r15
lea rdx, [0x140051088]
mov r8, rdx
mov rdx, rax
mov rcx, 0
call fcn.1400183c0
mov rdx, qword [0x140051090]
imul rdx, r15
mov rbp, rdx
push rbp
movsx rax, byte [rsp + 0x30]
mov rax, rax
lea rdx, [0x140051088]
mov r8, rdx
mov rdx, rax
mov rcx, 1
sub rsp, 0x28
call fcn.1400183c0
add rsp, 0x28
pop rbp
add rbp, rax
shl rbp, 3
add rbp, qword [0x140051088]
movabs rdx, 0x1400511c0
lea rcx, [rbp]
call fcn.140016a30
mov rcx, 0x8e
call fcn.140011ce0
inc byte [rsp + 0x28]
jno 0x14001145f
mov rcx, 0x8f
call fcn.140011ce0
mov r15, qword [rsp + 0x68]
inc r15
mov rax, r15
lea rdx, [0x1400510a8]
mov r8, rdx
mov rdx, rax
mov rcx, 0
call fcn.1400183c0
mov rdx, qword [0x1400510b0]
imul rdx, r15
mov rbp, rdx
push rbp
mov rax, 1
mov rax, rax
lea rdx, [0x1400510a8]
mov r8, rdx
mov rdx, rax
mov rcx, 1
sub rsp, 0x28
call fcn.1400183c0
add rsp, 0x28
pop rbp
add rbp, rax
shl rbp, 3
add rbp, qword [0x1400510a8]
movabs rdx, 0x1400511c0
lea rcx, [rbp]
call fcn.140016a30
mov rcx, 0x8f
call fcn.140011ce0
mov r15, qword [rsp + 0x68]
inc r15
mov rax, r15
lea rdx, [0x1400510a8]
mov r8, rdx
mov rdx, rax
mov rcx, 0
call fcn.1400183c0
mov rdx, qword [0x1400510b0]
imul rdx, r15
mov rbp, rdx
push rbp
mov rax, 2
mov rax, rax
lea rdx, [0x1400510a8]
mov r8, rdx
mov rdx, rax
mov rcx, 1
sub rsp, 0x28
call fcn.1400183c0
add rsp, 0x28
pop rbp
add rbp, rax
shl rbp, 3
add rbp, qword [0x1400510a8]
movabs rdx, 0x1400511c0
lea rcx, [rbp]
call fcn.140016a30
mov rcx, 0x90
call fcn.140011ce0
mov r15, qword [rsp + 0x68]
inc r15
mov rax, r15
mov rdx, qword [0x1400510c8]
mov rdx, qword [rdx - 0x10]
call fcn.140011e1b
mov rbp, qword [0x1400510c8]
shl r15, 3
movabs rdx, 0x1400511c0
lea rcx, [r15 + rbp]
call fcn.140016a30
mov rcx, 0x91
call fcn.140011ce0
push qword [0x140059e60]
movabs rax, 0x140051318
push rax
mov rcx, qword [rsp]
sub rsp, 0x20
call fcn.140017990
add rsp, 0x28
pop qword [0x140059e60]
mov rcx, 0x92
call fcn.140011ce0
jmp 0x140011c86
mov rcx, 0x92
call fcn.140011ce0
mov r15, qword [rsp + 0x68]
cmp r15, 1
jne 0x140011c86
mov rcx, 0x93
call fcn.140011ce0
mov byte [rsp + 0x28], 1
jmp 0x1400116f9
mov rcx, 0x93
call fcn.140011ce0
mov rax, 0x51
cmp al, byte [rsp + 0x28]
jl 0x1400117d9
mov rcx, 0x94
call fcn.140011ce0
mov rax, qword [rsp + 0x68]
lea rdx, [0x140051088]
mov r8, rdx
mov rdx, rax
mov rcx, 0
call fcn.1400183c0
mov rdx, qword [0x140051090]
imul rdx, qword [rsp + 0x68]
mov rbp, rdx
push rbp
movsx rax, byte [rsp + 0x30]
mov rax, rax
lea rdx, [0x140051088]
mov r8, rdx
mov rdx, rax
mov rcx, 1
sub rsp, 0x28
call fcn.1400183c0
add rsp, 0x28
pop rbp
add rbp, rax
shl rbp, 3
add rbp, qword [0x140051088]
mov rcx, qword [rbp]
push qword [0x140059e60]
sub rsp, 0x28
call fcn.140016c50
add rsp, 0x28
movsx r15, byte [rsp + 0x30]
mov rax, r15
mov rdx, qword [0x140051068]
mov rdx, qword [rdx - 0x10]
call fcn.140011e1b
mov rbp, qword [0x140051068]
shl r15, 3
lea rcx, [r15 + rbp]
pop rdx
call fcn.140016b20
mov rcx, 0x95
call fcn.140011ce0
inc byte [rsp + 0x28]
jno 0x1400116ed
mov rcx, 0x96
call fcn.140011ce0
mov rax, qword [rsp + 0x68]
lea rdx, [0x140051088]
mov r8, rdx
mov rdx, rax
mov rcx, 0
call fcn.1400183c0
mov rdx, qword [0x140051090]
imul rdx, qword [rsp + 0x68]
mov rbp, rdx
push rbp
mov rax, 0x54
mov rax, rax
lea rdx, [0x140051088]
mov r8, rdx
mov rdx, rax
mov rcx, 1
sub rsp, 0x28
call fcn.1400183c0
add rsp, 0x28
pop rbp
add rbp, rax
shl rbp, 3
add rbp, qword [0x140051088]
mov rcx, qword [rbp]
push qword [0x140059e60]
sub rsp, 0x28
call fcn.140016c50
add rsp, 0x28
sub rsp, 8
mov rax, qword [rsp + 0x78]
lea rdx, [0x140051088]
mov r8, rdx
mov rdx, rax
mov rcx, 0
sub rsp, 0x20
call fcn.1400183c0
add rsp, 0x20
mov rdx, qword [0x140051090]
imul rdx, qword [rsp + 0x78]
mov rbp, rdx
push rbp
mov rax, 0x52
mov rax, rax
lea rdx, [0x140051088]
mov r8, rdx
mov rdx, rax
mov rcx, 1
sub rsp, 0x28
call fcn.1400183c0
add rsp, 0x28
pop rbp
add rbp, rax
shl rbp, 3
add rbp, qword [0x140051088]
push qword [rbp]
pop rcx
sub rsp, 0x20
call fcn.1400127c0
add rsp, 0x28
mov r15, rax
mov rax, r15
mov rdx, qword [0x140051068]
mov rdx, qword [rdx - 0x10]
call fcn.140011e1b
mov rbp, qword [0x140051068]
shl r15, 3
lea rcx, [r15 + rbp]
pop rdx
call fcn.140016b20
mov rcx, 0x97
call fcn.140011ce0
mov r15, qword [rsp + 0x68]
mov rax, r15
mov rdx, qword [0x1400510c8]
mov rdx, qword [rdx - 0x10]
call fcn.140011e1b
mov rbp, qword [0x1400510c8]
shl r15, 3
mov rcx, qword [r15 + rbp]
push qword [0x140059e60]
sub rsp, 0x28
call fcn.140016c50
add rsp, 0x28
lea rcx, [0x140055380]
pop rdx
call fcn.140016b20
mov rcx, 0x98
call fcn.140011ce0
push qword [0x140059e60]
sub rsp, 8
push qword [0x140059e60]
sub rsp, 8
mov rax, qword [rsp + 0x88]
lea rdx, [0x140051088]
mov r8, rdx
mov rdx, rax
mov rcx, 0
sub rsp, 0x20
call fcn.1400183c0
add rsp, 0x20
mov rdx, qword [0x140051090]
imul rdx, qword [rsp + 0x88]
mov rbp, rdx
push rbp
mov rax, 0x52
mov rax, rax
lea rdx, [0x140051088]
mov r8, rdx
mov rdx, rax
mov rcx, 1
sub rsp, 0x28
call fcn.1400183c0
add rsp, 0x28
pop rbp
add rbp, rax
shl rbp, 3
add rbp, qword [0x140051088]
push qword [rbp]
pop rcx
sub rsp, 0x20
call fcn.1400127c0
add rsp, 0x28
mov r15, rax
add r15, 3
mov rax, r15
push rax
push qword [0x140055380]
pop rcx
pop rdx
pop r8
sub rsp, 0x20
call fcn.140012520
add rsp, 0x28
mov rax, qword [rsp + 0x70]
lea rdx, [0x140051088]
mov r8, rdx
mov rdx, rax
mov rcx, 0
sub rsp, 0x28
call fcn.1400183c0
add rsp, 0x28
mov rdx, qword [0x140051090]
imul rdx, qword [rsp + 0x70]
mov rbp, rdx
push rbp
mov rax, 0x54
mov rax, rax
lea rdx, [0x140051088]
mov r8, rdx
mov rdx, rax
mov rcx, 1
sub rsp, 0x20
call fcn.1400183c0
add rsp, 0x20
pop rbp
add rbp, rax
shl rbp, 3
add rbp, qword [0x140051088]
mov rcx, qword [rbp]
sub rsp, 0x28
call fcn.140016c50
add rsp, 0x28
push qword [0x140059e60]
push qword [0x140059e60]
sub rsp, 8
mov rax, qword [rsp + 0x88]
lea rdx, [0x140051088]
mov r8, rdx
mov rdx, rax
mov rcx, 0
sub rsp, 0x20
call fcn.1400183c0
add rsp, 0x20
mov rdx, qword [0x140051090]
imul rdx, qword [rsp + 0x88]
mov rbp, rdx
push rbp
mov rax, 0x52
mov rax, rax
lea rdx, [0x140051088]
mov r8, rdx
mov rdx, rax
mov rcx, 1
sub rsp, 0x28
call fcn.1400183c0
add rsp, 0x28
pop rbp
add rbp, rax
shl rbp, 3
add rbp, qword [0x140051088]
push qword [rbp]
pop rcx
sub rsp, 0x20
call fcn.1400127c0
add rsp, 0x28
mov r15, rax
neg r15
add r15, 0x53
mov rax, r15
push rax
push qword [0x140055380]
pop rcx
pop rdx
pop r8
sub rsp, 0x20
call fcn.140012700
add rsp, 0x20
pop rax
lea rcx, [0x140055380]
pop rdx
call fcn.140016b20
mov rcx, 0x99
call fcn.140011ce0
mov rcx, qword [0x140055350]
push qword [0x140059e60]
sub rsp, 0x28
call fcn.140016c50
add rsp, 0x28
movabs rcx, 0x1400512bc
sub rsp, 0x28
call fcn.140016c50
add rsp, 0x28
lea rcx, [0x140055350]
pop rdx
call fcn.140016b20
mov rcx, 0x9a
call fcn.140011ce0
mov rax, qword [rsp + 0x68]
lea rdx, [0x1400510a8]
mov r8, rdx
mov rdx, rax
mov rcx, 0
call fcn.1400183c0
mov rdx, qword [0x1400510b0]
imul rdx, qword [rsp + 0x68]
mov rbp, rdx
push rbp
mov rax, 2
mov rax, rax
lea rdx, [0x1400510a8]
mov r8, rdx
mov rdx, rax
mov rcx, 1
sub rsp, 0x28
call fcn.1400183c0
add rsp, 0x28
pop rbp
add rbp, rax
shl rbp, 3
add rbp, qword [0x1400510a8]
movabs rdx, 0x1400512bc
lea rcx, [rbp]
call fcn.140016a30
mov rcx, 0x9b
call fcn.140011ce0
push qword [0x140059e60]
movabs rax, 0x140051320
push rax
mov rcx, qword [rsp]
sub rsp, 0x20
call fcn.140017990
add rsp, 0x28
pop qword [0x140059e60]
mov rcx, 0x9c
call fcn.140011ce0
mov rcx, 0x9d
call fcn.140011ce0
xor rax, rax
push rax
push rax
sub rsp, 0x20
call fcn.140017620
add rsp, 0x20
pop rax
mov rcx, qword [rsp + 0x48]
sub rsp, 0x28
call fcn.140016cc0
add rsp, 0x28
mov rcx, qword [rsp + 0x50]
sub rsp, 0x28
call fcn.1400167f8
add rsp, 0x28
pop rax
add rsp, 0x70
pop r14
pop r15
pop rbp
ret