Function at 0x14014d8b0
Capabilities:
Parse credit card information

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x240]
sub rsp, 0x340
mov rax, qword [0x14053a7e8]
xor rax, rsp
mov qword [rbp + 0x238], rax
mov r13, rcx
mov qword [rbp + 0x218], rcx
mov dword [rsp + 0x24], 0
mov eax, dword [rcx + 0x10]
mov dword [rbp + 0x180], eax
mov eax, dword [rcx + 0x14]
mov dword [rbp + 0x184], eax
lea rdx, [rcx + 0x18]
lea rcx, [rbp + 0x188]
call fcn.14013a980
movups xmm0, xmmword [r13 + 0x38]
movups xmmword [rbp + 0x1a8], xmm0
mov rcx, r13
call fcn.14018c270
cmp dword [r13 + 0x10], 0
je 0x14014d948
lea r8, str.pragma_name_expected
xor edx, edx
mov rcx, r13
call fcn.14018b7a0
lea rdi, [r13 + 0x18]
mov rdx, rdi
lea rcx, [rbp + 0x160]
call fcn.14013a980
nop
mov rcx, r13
call fcn.14018c270
lea rcx, [rbp + 0x160]
mov rsi, qword [rbp + 0x160]
mov r14, qword [rbp + 0x178]
cmp r14, 0x10
cmovae rcx, rsi
mov rbx, qword [rbp + 0x170]
mov r8, rbx
mov eax, 7
cmp rbx, rax
cmova r8, rax
lea rdx, str.version
call sub.VCRUNTIME140.dll_memcmp
mov r15d, reloc.WS2_32.dll_inet_addr
test eax, eax
jne 0x14014d9b3
cmp rbx, 7
je 0x14014d9e9
lea rcx, [rbp + 0x160]
cmp r14, 0x10
cmovae rcx, rsi
mov r8, rbx
cmp rbx, r15
cmova r8, r15
lea rdx, str.not_version
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x14014e8e8
cmp rbx, r15
jne 0x14014e8e8
lea rcx, [rbp + 0x160]
cmp r14, 0x10
cmovae rcx, rsi
mov r8, rbx
cmp rbx, r15
cmova r8, r15
lea rdx, str.not_version
call sub.VCRUNTIME140.dll_memcmp
mov dword [rsp + 0x28], eax
mov r12, 0xffffffffffffffff
test eax, eax
jne 0x14014da35
cmp rbx, r15
jae 0x14014da29
mov dword [rsp + 0x28], r12d
jmp 0x14014da35
xor ecx, ecx
cmp rbx, r15
seta cl
mov dword [rsp + 0x28], ecx
mov byte [rsp + 0x21], 0x3d
mov byte [rsp + 0x20], 0
xor ebx, ebx
mov qword [rbp + 0x22c], rbx
mov byte [rsp + 0x22], 1
mov qword [rsp + 0x30], r13
mov eax, dword [r13 + 0x10]
movabs r14, 0x7fffffffffffffff
movabs r15, 0x8000000000000027
cmp eax, 1
jne 0x14014dace
mov rax, rdi
cmp qword [rdi + 0x18], 0x10
jb 0x14014da7c
mov rax, qword [rdi]
mov qword [rsp + 0x40], rax
mov rax, qword [rdi + 0x10]
mov qword [rsp + 0x48], rax
movaps xmm0, xmmword [rsp + 0x40]
movdqa xmmword [rsp + 0x50], xmm0
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x40]
call fcn.140140cb0
nop
cmp qword [rsp + 0x40], 0
jne 0x14014ebd4
mov eax, dword [0x140536b64]
mov eax, dword [rsp + 0x48]
mov dword [rbp + 0x228], eax
mov esi, dword [rsp + 0x24]
mov dword [rsp + 0x24], esi
jmp 0x14014deb6
test eax, eax
jne 0x14014ed24
mov rdx, rdi
lea rcx, [rbp + 0x100]
call fcn.14013a980
nop
lea rax, [rbp + 0x100]
mov rbx, qword [rbp + 0x100]
mov r15, qword [rbp + 0x118]
cmp r15, 0x10
cmovae rax, rbx
movzx ecx, byte [rax]
mov byte [rsp + 0x21], cl
lea eax, [rcx - 0x3c]
cmp al, 2
jbe 0x14014db1a
cmp cl, 0x5e
jne 0x14014ebfe
mov rcx, qword [rbp + 0x110]
cmp rcx, 2
jb 0x14014ec28
lea rax, [rbp + 0x100]
cmp r15, 0x10
cmovae rax, rbx
cmp byte [rax + 1], 0x3d
jne 0x14014dcdc
mov byte [rsp + 0x20], 1
cmp rcx, 3
jb 0x14014ec52
xor edx, edx
mov qword [rbp + 0xc0], rdx
mov qword [rbp + 0xd0], rdx
mov qword [rbp + 0xd8], reloc.WS2_32.dll_ntohs
mov byte [rbp + 0xc0], dl
lea rax, [rcx - 2]
mov rsi, r12
cmp rax, r12
cmovb rsi, rax
lea r13, [rbp + 0x100]
cmp r15, 0x10
cmovae r13, rbx
cmp rsi, 0xf
ja 0x14014dbbe
mov qword [rbp + 0xd0], rsi
mov r8, rsi
lea rdx, [r13 + 2]
lea rcx, [rbp + 0xc0]
call sub.VCRUNTIME140.dll_memmove
mov byte [rbp + rsi + 0xc0], 0
jmp 0x14014dc71
cmp rsi, r14
ja 0x14014ec7c
mov rbx, rsi
or rbx, 0xf
cmp rbx, r14
jbe 0x14014dbff
mov rbx, r14
movabs rax, 0x8000000000000027
mov rcx, rax
call fcn.14034489c
test rax, rax
je 0x14014dcd5
lea r15, [rax + 0x27]
and r15, 0xffffffffffffffe0
mov qword [r15 - 8], rax
jmp 0x14014dc3a
cmp rbx, 0x16
mov eax, reloc.WS2_32.dll_shutdown
cmovb rbx, rax
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x14014dc28
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x14014eb04
jmp 0x14014dbe0
test rcx, rcx
je 0x14014dc37
call fcn.14034489c
mov r15, rax
jmp 0x14014dc3a
mov r15, rdx
mov qword [rbp + 0xd0], rsi
mov qword [rbp + 0xd8], rbx
mov r8, rsi
lea rdx, [r13 + 2]
mov rcx, r15
call sub.VCRUNTIME140.dll_memcpy
mov byte [r15 + rsi], 0
mov qword [rbp + 0xc0], r15
mov rbx, qword [rbp + 0x100]
mov r15, qword [rbp + 0x118]
mov esi, 2
mov dword [rsp + 0x24], esi
lea rdx, [rbp + 0xc0]
lea rcx, [rsp + 0x30]
call fcn.140142880
mov dword [rbp + 0x228], eax
mov rdx, qword [rbp + 0xd8]
cmp rdx, 0x10
jb 0x14014de69
inc rdx
mov rcx, qword [rbp + 0xc0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14014de63
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14014de63
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
xor edx, edx
mov qword [rbp + 0xc0], rdx
mov qword [rbp + 0xd0], rdx
mov qword [rbp + 0xd8], reloc.WS2_32.dll_ntohs
mov byte [rbp + 0xc0], dl
cmp rcx, 1
jb 0x14014ec82
lea rax, [rcx - 1]
mov rsi, r12
cmp rax, r12
cmovb rsi, rax
lea r13, [rbp + 0x100]
cmp r15, 0x10
cmovae r13, rbx
cmp rsi, 0xf
ja 0x14014dd51
mov qword [rbp + 0xd0], rsi
mov r8, rsi
lea rdx, [r13 + 1]
lea rcx, [rbp + 0xc0]
call sub.VCRUNTIME140.dll_memmove
mov byte [rbp + rsi + 0xc0], 0
jmp 0x14014de04
cmp rsi, r14
ja 0x14014ec88
mov rbx, rsi
or rbx, 0xf
cmp rbx, r14
jbe 0x14014dd92
mov rbx, r14
movabs rax, 0x8000000000000027
mov rcx, rax
call fcn.14034489c
test rax, rax
je 0x14014de5c
lea r15, [rax + 0x27]
and r15, 0xffffffffffffffe0
mov qword [r15 - 8], rax
jmp 0x14014ddcd
cmp rbx, 0x16
mov eax, reloc.WS2_32.dll_shutdown
cmovb rbx, rax
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x14014ddbb
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x14014eb0a
jmp 0x14014dd73
test rcx, rcx
je 0x14014ddca
call fcn.14034489c
mov r15, rax
jmp 0x14014ddcd
mov r15, rdx
mov qword [rbp + 0xd0], rsi
mov qword [rbp + 0xd8], rbx
mov r8, rsi
lea rdx, [r13 + 1]
mov rcx, r15
call sub.VCRUNTIME140.dll_memcpy
mov byte [r15 + rsi], 0
mov qword [rbp + 0xc0], r15
mov rbx, qword [rbp + 0x100]
mov r15, qword [rbp + 0x118]
mov esi, 4
mov dword [rsp + 0x24], esi
lea rdx, [rbp + 0xc0]
lea rcx, [rsp + 0x30]
call fcn.140142880
mov dword [rbp + 0x228], eax
mov rdx, qword [rbp + 0xd8]
cmp rdx, 0x10
jb 0x14014de69
inc rdx
mov rcx, qword [rbp + 0xc0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14014de63
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14014de63
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1403448d8
nop
cmp r15, 0x10
jb 0x14014dea3
lea rdx, [r15 + 1]
mov rax, rbx
cmp rdx, 0x1000
jb 0x14014de9b
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14014de9b
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, rbx
call fcn.1403448d8
xor ebx, ebx
mov r13, qword [rbp + 0x218]
movabs r15, 0x8000000000000027
mov rcx, r13
call fcn.14018c270
mov eax, dword [r13 + 0x10]
cmp eax, 0x3b
je 0x14014e223
test eax, eax
jne 0x14014eca0
mov rax, rdi
mov rcx, qword [rdi + 0x18]
cmp rcx, 0x10
jb 0x14014dee3
mov rax, qword [rdi]
cmp byte [rax], 0x2e
jne 0x14014eca0
mov qword [rbp + 0xc0], rbx
mov qword [rbp + 0xd0], rbx
mov qword [rbp + 0xd8], reloc.WS2_32.dll_ntohs
mov byte [rbp + 0xc0], 0
mov rax, qword [rdi + 0x10]
cmp rax, 1
jb 0x14014ec8e
dec rax
mov rsi, r12
cmp rax, r12
cmovb rsi, rax
mov rax, rdi
cmp rcx, 0x10
jb 0x14014df33
mov rax, qword [rdi]
lea r13, [rax + 1]
cmp rsi, 0xf
ja 0x14014df63
mov qword [rbp + 0xd0], rsi
mov r8, rsi
mov rdx, r13
lea rcx, [rbp + 0xc0]
call sub.VCRUNTIME140.dll_memmove
mov byte [rbp + rsi + 0xc0], 0
jmp 0x14014e002
cmp rsi, r14
ja 0x14014ec94
mov rbx, rsi
or rbx, 0xf
cmp rbx, r14
jbe 0x14014df9d
mov rbx, r14
mov rax, r15
mov rcx, rax
call fcn.14034489c
test rax, rax
je 0x14014e058
lea r15, [rax + 0x27]
and r15, 0xffffffffffffffe0
mov qword [r15 - 8], rax
jmp 0x14014dfd8
cmp rbx, 0x16
mov eax, reloc.WS2_32.dll_shutdown
cmovb rbx, rax
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x14014dfc6
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x14014eb10
jmp 0x14014df7e
test rcx, rcx
je 0x14014dfd5
call fcn.14034489c
mov r15, rax
jmp 0x14014dfd8
xor r15d, r15d
mov qword [rbp + 0xd0], rsi
mov qword [rbp + 0xd8], rbx
mov r8, rsi
mov rdx, r13
mov rcx, r15
call sub.VCRUNTIME140.dll_memcpy
mov byte [rsi + r15], 0
mov qword [rbp + 0xc0], r15
xor ebx, ebx
mov esi, dword [rsp + 0x24]
or esi, 8
lea rdx, [rbp + 0xc0]
lea rcx, [rsp + 0x30]
call fcn.140142880
mov dword [rbp + 0x22c], eax
mov rdx, qword [rbp + 0xd8]
cmp rdx, 0x10
jb 0x14014e064
inc rdx
mov rcx, qword [rbp + 0xc0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14014e05f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14014e05f
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1403448d8
mov byte [rsp + 0x22], 2
mov r13, qword [rbp + 0x218]
mov rcx, r13
call fcn.14018c270
mov eax, dword [r13 + 0x10]
cmp eax, 0x3b
je 0x14014e223
test eax, eax
jne 0x14014ecd0
mov rax, rdi
mov rcx, qword [rdi + 0x18]
cmp rcx, 0x10
jb 0x14014e09d
mov rax, qword [rdi]
cmp byte [rax], 0x2e
jne 0x14014ecd0
mov qword [rbp + 0x100], rbx
mov qword [rbp + 0x110], rbx
mov qword [rbp + 0x118], reloc.WS2_32.dll_ntohs
mov byte [rbp + 0x100], 0
mov rax, qword [rdi + 0x10]
cmp rax, 1
jb 0x14014ec9a
dec rax
cmp rax, 0xffffffffffffffff
cmovb r12, rax
cmp rcx, 0x10
jb 0x14014e0e8
mov rdi, qword [rdi]
cmp r12, 0xf
ja 0x14014e116
mov qword [rbp + 0x110], r12
mov r8, r12
lea rdx, [rdi + 1]
lea rcx, [rbp + 0x100]
call sub.VCRUNTIME140.dll_memmove
mov byte [rbp + r12 + 0x100], 0
jmp 0x14014e1b8
cmp r12, r14
ja 0x14014ecca
mov rax, r12
or rax, 0xf
cmp rax, r14
jbe 0x14014e154
movabs rax, 0x8000000000000027
mov rcx, rax
call fcn.14034489c
test rax, rax
je 0x14014e20a
lea rbx, [rax + 0x27]
and rbx, 0xffffffffffffffe0
mov qword [rbx - 8], rax
jmp 0x14014e18d
mov r14, rax
cmp rax, 0x16
mov eax, reloc.WS2_32.dll_shutdown
cmovb r14, rax
lea rcx, [r14 + 1]
cmp rcx, 0x1000
jb 0x14014e180
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x14014eb16
jmp 0x14014e135
test rcx, rcx
je 0x14014e18d
call fcn.14034489c
mov rbx, rax
mov qword [rbp + 0x110], r12
mov qword [rbp + 0x118], r14
mov r8, r12
lea rdx, [rdi + 1]
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcpy
mov byte [rbx + r12], 0
mov qword [rbp + 0x100], rbx
xor ebx, ebx
or esi, 0x10
lea rdx, [rbp + 0x100]
lea rcx, [rsp + 0x30]
call fcn.140142880
mov dword [rbp + 0x230], eax
mov rdx, qword [rbp + 0x118]
cmp rdx, 0x10
jb 0x14014e216
inc rdx
mov rcx, qword [rbp + 0x100]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14014e211
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14014e211
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1403448d8
mov r14b, 3
mov rcx, r13
call fcn.14018c270
jmp 0x14014e229
movzx r14d, byte [rsp + 0x22]
mov qword [rbp + 0x218], 0
mov dword [rbp + 0x220], ebx
lea rax, [0x140365580]
mov qword [rbp - 0x80], rax
lea rcx, [rbp + 0x10]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::constructor_void____ptr64]
nop
or esi, 0x20
mov dword [rsp + 0x24], esi
xor r9d, r9d
xor r8d, r8d
lea rdx, [rbp - 0x70]
lea rcx, [rbp - 0x80]
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_istream_char__struct_std::char_traits_char__::constructor_class_std::basic_streambuf_char__struct_std::char_traits_char______ptr64__bool____ptr64]
nop
mov rax, qword [rbp - 0x80]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_istringstream_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov qword [rbp + rcx - 0x80], rax
mov rax, qword [rbp - 0x80]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x90]
mov dword [rsp + rcx + 0x7c], edx
mov r8d, 1
lea r15, [0x140542a58]
mov rdx, r15
lea rcx, [rbp - 0x70]
call fcn.14013c570
nop
mov qword [rbp + 0x140], rbx
mov qword [rbp + 0x150], rbx
mov qword [rbp + 0x158], reloc.WS2_32.dll_ntohs
mov byte [rbp + 0x140], 0
nop dword [rax]
mov r8b, 0x2e
lea rdx, [rbp + 0x140]
lea rcx, [rbp - 0x80]
call fcn.140140a10
lea rax, [rbp + 0x140]
cmp qword [rbp + 0x158], 0x10
cmovae rax, qword [rbp + 0x140]
mov qword [rsp + 0x50], rax
mov rax, qword [rbp + 0x150]
mov qword [rsp + 0x58], rax
movaps xmm0, xmmword [rsp + 0x50]
movdqa xmmword [rbp + 0xc0], xmm0
lea rdx, [rbp + 0xc0]
lea rcx, [rsp + 0x40]
call fcn.140140cb0
nop
cmp qword [rsp + 0x40], 0
jne 0x14014ecfa
mov eax, dword [0x140536b64]
mov esi, dword [rsp + 0x24]
test sil, 0x40
je 0x14014e356
and esi, 0xffffffbf
mov dword [rsp + 0x24], esi
lea rcx, [rbp + 0x70]
call fcn.1401e5a30
mov edi, dword [rsp + 0x48]
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x14014e37a
movsd xmm0, qword [rcx]
movsd qword [rsp + 0x30], xmm0
test byte [rsp + 0x30], 1
jne 0x14014e37a
call fcn.1403448d8
mov dword [rbp + rbx*4 + 0x218], edi
inc rbx
cmp rbx, 3
jl 0x14014e2d0
mov qword [rbp + 0xe0], 0
xor ecx, ecx
mov qword [rbp + 0xf0], rcx
mov qword [rbp + reloc.WS2_32.dll_ntohs8], 0xf
mov byte [rbp + 0xe0], cl
mov r12d, dword [rsp + 0x28]
test r12d, r12d
jne 0x14014e3d2
mov ecx, 1
mov qword [rbp + 0xf0], rcx
mov word [rbp + 0xe0], 0x21
movzx edi, byte [rsp + 0x21]
cmp rcx, 0xf
jae 0x14014e3fa
lea rax, [rcx + 1]
mov qword [rbp + 0xf0], rax
mov byte [rbp + rcx + 0xe0], dil
mov byte [rbp + rcx + 0xe1], 0
jmp 0x14014e411
movzx r9d, dil
xor r8d, r8d
lea edx, [r8 + 1]
lea rcx, [rbp + 0xe0]
call fcn.140138840
cmp byte [rsp + 0x20], 0
je 0x14014e467
mov rcx, qword [rbp + 0xf0]
mov rdx, qword [rbp + 0xf8]
cmp rcx, rdx
jae 0x14014e451
lea rax, [rcx + 1]
mov qword [rbp + 0xf0], rax
lea rax, [rbp + 0xe0]
cmp rdx, 0x10
cmovae rax, qword [rbp + 0xe0]
mov word [rax + rcx], 0x3d
jmp 0x14014e467
mov r9b, 0x3d
xor r8d, r8d
lea edx, [r8 + 1]
lea rcx, [rbp + 0xe0]
call fcn.140138840
xor ebx, ebx
nop dword [rax]
mov r8d, dword [rbp + rbx*4 + 0x228]
lea r9, [rbp + 0xd5]
test r8d, r8d
jns 0x14014e4d0
neg r8d
nop word [rax + rax]
dec r9
mov eax, 0xcccccccd
mul r8d
shr edx, 3
movzx eax, dl
shl al, 2
lea ecx, [rax + rdx]
add cl, cl
sub r8b, cl
add r8b, 0x30
mov byte [r9], r8b
mov r8d, edx
test edx, edx
jne 0x14014e490
dec r9
mov byte [r9], 0x2d
jmp 0x14014e4fa
dec r9
mov eax, 0xcccccccd
mul r8d
shr edx, 3
movzx eax, dl
shl al, 2
lea ecx, [rax + rdx]
add cl, cl
sub r8b, cl
add r8b, 0x30
mov byte [r9], r8b
mov r8d, edx
test edx, edx
jne 0x14014e4d0
mov qword [rbp + 0x120], 0
xor r8d, r8d
mov qword [rbp + 0x130], r8
mov eax, reloc.WS2_32.dll_ntohs
mov qword [rbp + 0x138], rax
mov byte [rbp + 0x120], r8b
lea rcx, [rbp + 0xd5]
cmp r9, rcx
je 0x14014e555
lea r8, [rbp + 0xd5]
sub r8, r9
mov rdx, r9
lea rcx, [rbp + 0x120]
call fcn.1401394f0
mov rax, qword [rbp + 0x138]
mov r8, qword [rbp + 0x130]
or esi, 0x180
lea rdx, [rbp + 0x120]
cmp rax, 0x10
cmovae rdx, qword [rbp + 0x120]
lea rcx, [rbp + 0xe0]
call fcn.140143e70
nop
mov rdx, qword [rbp + 0x138]
cmp rdx, 0x10
jb 0x14014e5bc
inc rdx
mov rcx, qword [rbp + 0x120]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14014e5b7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14014e6d6
call fcn.1403448d8
cmp rbx, 2
jge 0x14014e611
mov rcx, qword [rbp + 0xf0]
mov rdx, qword [rbp + 0xf8]
cmp rcx, rdx
jae 0x14014e5fb
lea rax, [rcx + 1]
mov qword [rbp + 0xf0], rax
lea rax, [rbp + 0xe0]
cmp rdx, 0x10
cmovae rax, qword [rbp + 0xe0]
mov word [rax + rcx], gethostbyaddr
jmp 0x14014e611
mov r9b, 0x2e
xor r8d, r8d
lea edx, [r8 + 1]
lea rcx, [rbp + 0xe0]
call fcn.140138840
inc rbx
cmp rbx, 3
jl 0x14014e470
movsx ecx, dil
sub ecx, 0x3c
je 0x14014e7b3
sub ecx, 1
je 0x14014e783
sub ecx, 1
je 0x14014e727
cmp ecx, 0x20
jne 0x14014e682
cmp r14b, 3
jne 0x14014e6dd
mov eax, dword [rbp + 0x228]
cmp dword [rbp + 0x218], eax
jne 0x14014e801
mov eax, dword [rbp + 0x22c]
cmp dword [rbp + 0x21c], eax
jne 0x14014e801
mov eax, dword [rbp + 0x230]
cmp dword [rbp + 0x220], eax
jl 0x14014e801
test r12d, r12d
je 0x14014eb1c
mov rdx, qword [rbp + 0xf8]
cmp rdx, 0x10
jb 0x14014e814
inc rdx
mov rcx, qword [rbp + 0xe0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14014e80f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14014e80f
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
cmp r14b, 2
jne 0x14014e706
mov eax, dword [rbp + 0x228]
cmp dword [rbp + 0x218], eax
jne 0x14014e801
mov eax, dword [rbp + 0x22c]
cmp dword [rbp + 0x21c], eax
jmp 0x14014e67c
cmp r14b, 1
jne 0x14014e682
mov eax, dword [rbp + 0x228]
cmp dword [rbp + 0x218], eax
jge 0x14014e682
jmp 0x14014e801
mov eax, dword [rbp + 0x218]
mov ecx, dword [rbp + 0x228]
cmp eax, ecx
jne 0x14014e77b
mov edx, dword [rbp + 0x21c]
mov r8d, dword [rbp + 0x22c]
cmp edx, r8d
jne 0x14014e773
mov r9d, dword [rbp + 0x220]
mov r10d, dword [rbp + 0x230]
cmp r9d, r10d
jne 0x14014e76a
cmp byte [rsp + 0x20], 0
je 0x14014e801
cmp r9d, r10d
jl 0x14014e801
cmp edx, r8d
jl 0x14014e801
cmp eax, ecx
jge 0x14014e682
jmp 0x14014e801
mov eax, dword [rbp + 0x228]
cmp dword [rbp + 0x218], eax
jne 0x14014e801
mov eax, dword [rbp + 0x22c]
cmp dword [rbp + 0x21c], eax
jne 0x14014e801
mov eax, dword [rbp + 0x230]
cmp dword [rbp + 0x220], eax
je 0x14014e682
jmp 0x14014e801
mov eax, dword [rbp + 0x218]
mov ecx, dword [rbp + 0x228]
cmp eax, ecx
jne 0x14014e7fb
mov edx, dword [rbp + 0x21c]
mov r8d, dword [rbp + 0x22c]
cmp edx, r8d
jne 0x14014e7f7
mov r9d, dword [rbp + 0x220]
mov r10d, dword [rbp + 0x230]
cmp r9d, r10d
jne 0x14014e7f2
cmp byte [rsp + 0x20], 0
je 0x14014e801
cmp r9d, r10d
jg 0x14014e801
cmp edx, r8d
jg 0x14014e801
cmp eax, ecx
jle 0x14014e682
test r12d, r12d
jne 0x14014eb1c
jmp 0x14014e68b
call fcn.1403448d8
mov qword [rbp + 0xf0], 0
mov qword [rbp + reloc.WS2_32.dll_ntohs8], 0xf
mov byte [rbp + 0xe0], 0
mov rdx, qword [rbp + 0x158]
cmp rdx, 0x10
jb 0x14014e875
inc rdx
mov rcx, qword [rbp + 0x140]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14014e870
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14014e870
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1403448d8
mov qword [rbp + 0x150], 0
mov qword [rbp + 0x158], reloc.WS2_32.dll_ntohs
mov byte [rbp + 0x140], 0
mov rax, qword [rbp - 0x80]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_istringstream_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov qword [rbp + rcx - 0x80], rax
mov rax, qword [rbp - 0x80]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x90]
mov dword [rsp + rcx + 0x7c], edx
lea rcx, [rbp - 0x70]
call fcn.14013ca50
lea rcx, [rbp - 0x68]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_istream_char__struct_std::char_traits_char__::destructor_void____ptr64]
lea rcx, [rbp + 0x10]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::destructor_void____ptr64]
mov r14, qword [rbp + 0x178]
mov rsi, qword [rbp + 0x160]
jmp 0x14014ea55
lea rcx, [rbp + 0x160]
cmp r14, 0x10
cmovae rcx, rsi
mov r8, rbx
mov eax, reloc.WS2_32.dll_recv
cmp rbx, rax
cmova r8, rax
lea rdx, str.test_version_set
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x14014e958
cmp rbx, 0x10
jne 0x14014e958
cmp dword [r13 + 0x10], 3
jne 0x14014eadc
lea r15, [0x140542a58]
cmp r15, rdi
je 0x14014e94b
mov r8, qword [rdi + 0x10]
cmp qword [rdi + 0x18], rbx
jb 0x14014e940
mov rdi, qword [rdi]
mov rdx, rdi
mov rcx, r15
call fcn.1401394f0
mov rcx, r13
call fcn.14018c270
jmp 0x14014ea55
lea rdx, [0x140542de0]
cmp qword [0x140542df8], 0x10
cmovae rdx, qword [0x140542de0]
lea rcx, [rbp + 0x160]
cmp r14, 0x10
cmovae rcx, rsi
cmp rbx, qword [0x140542df0]
jne 0x14014e9cf
mov r8, rbx
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x14014e9cf
movups xmm0, xmmword [r13 + 0x38]
movaps xmmword [rbp + 0xc0], xmm0
mov byte [0x140542e00], 1
mov rdx, qword [0x140542e10]
cmp rdx, qword [0x140542e18]
je 0x14014e9c6
movups xmmword [rdx], xmm0
add qword [0x140542e10], 0x10
jmp 0x14014ea55
lea rcx, [0x140542e08]
jmp 0x14014ea49
lea rdx, [0x140542e60]
cmp qword [0x140542e78], 0x10
cmovae rdx, qword [0x140542e60]
lea rcx, [rbp + 0x160]
cmp r14, 0x10
cmovae rcx, rsi
cmp rbx, qword [0x140542e70]
jne 0x14014eb7e
mov r8, rbx
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x14014eb7e
movups xmm0, xmmword [r13 + 0x38]
movaps xmmword [rbp + 0xc0], xmm0
mov byte [0x140542e80], 1
mov rdx, qword [0x140542e90]
cmp rdx, qword [0x140542e98]
je 0x14014ea42
movups xmmword [rdx], xmm0
add qword [0x140542e90], 0x10
jmp 0x14014ea55
lea rcx, [0x140542e88]
lea r8, [rbp + 0xc0]
call fcn.14013fc70
xor r8d, r8d
lea edx, [r8 + 0x3b]
mov rcx, r13
call fcn.14018b7a0
nop
cmp r14, 0x10
jb 0x14014eaa0
lea rdx, [r14 + 1]
mov rax, rsi
cmp rdx, 0x1000
jb 0x14014ea97
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14014ea97
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, rsi
call fcn.1403448d8
nop
lea rcx, [rbp + 0x180]
call fcn.140142210
mov rcx, qword [rbp + 0x238]
xor rcx, rsp
call fcn.140344c40
lea r11, [rsp + 0x340]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
lea rdx, str.version_string_expected
lea rcx, [rsp + 0x60]
call fcn.14013c530
mov rbx, rax
mov rcx, r13
call fcn.140144b10
mov rcx, rax
mov rdx, rbx
call fcn.140144c10
nop
call fcn.140139450
int3
call fcn.140139450
nop
call fcn.140139450
int3
call fcn.140139450
nop
lea rdx, str.FunC_version
lea rcx, [rbp + 0x1f8]
call fcn.14013c530
nop
mov r8, r15
mov rdx, rax
lea rcx, [rbp + 0x1b8]
call fcn.14013f340
nop
lea r8, str._does_not_satisfy_condition
mov rdx, rax
lea rcx, [rbp + 0x1d8]
call fcn.14013f3a0
nop
lea r8, [rbp + 0xe0]
mov rdx, rax
lea rcx, [rsp + 0x60]
call fcn.14013f340
mov rdx, rax
lea rcx, [rbp + 0x180]
call fcn.140144c10
nop
mov rcx, r13
call fcn.140144b10
mov rbx, rax
lea rdx, str.unknown_pragma__
lea rcx, [rbp + 0x1d8]
call fcn.14013c530
nop
lea r8, [rbp + 0x160]
mov rdx, rax
lea rcx, [rbp + 0x1b8]
call fcn.14013f340
nop
lea r8, [0x1403647bc]
mov rdx, rax
lea rcx, [rsp + 0x60]
call fcn.14013f3a0
mov rdx, rax
mov rcx, rbx
call fcn.140144c10
nop
lea rdx, str.invalid_semver_format
lea rcx, [rbp + 0x120]
call fcn.14013c530
mov rbx, rax
mov rcx, r13
call fcn.140144b10
mov rcx, rax
mov rdx, rbx
call fcn.140144c10
nop
lea rdx, str.unexpected_comparator_operation
lea rcx, [rbp + 0x120]
call fcn.14013c530
mov rbx, rax
mov rcx, r13
call fcn.140144b10
mov rcx, rax
mov rdx, rbx
call fcn.140144c10
int3
lea rdx, str.expected_number_after_comparator
lea rcx, [rbp + 0x120]
call fcn.14013c530
mov rbx, rax
mov rcx, r13
call fcn.140144b10
mov rcx, rax
mov rdx, rbx
call fcn.140144c10
int3
lea rdx, str.expected_number_after_comparator
lea rcx, [rbp + 0x120]
call fcn.14013c530
mov rbx, rax
mov rcx, r13
call fcn.140144b10
mov rcx, rax
mov rdx, rbx
call fcn.140144c10
int3
call fcn.1401394b0
int3
call fcn.140143ac0
int3
call fcn.1401394b0
nop
call fcn.140143ac0
int3
call fcn.1401394b0
int3
call fcn.140143ac0
int3
lea rdx, str.invalid_semver_format
lea rcx, [rbp + 0x120]
call fcn.14013c530
mov rbx, rax
mov rcx, r13
call fcn.140144b10
mov rcx, rax
mov rdx, rbx
call fcn.140144c10
int3
call fcn.1401394b0
int3
lea rdx, str.invalid_semver_format
lea rcx, [rbp + 0x120]
call fcn.14013c530
mov rbx, rax
mov rcx, r13
call fcn.140144b10
mov rcx, rax
mov rdx, rbx
call fcn.140144c10
nop
lea rdx, str.invalid_semver_format
lea rcx, [rbp + 0x100]
call fcn.14013c530
mov rbx, rax
mov rcx, r13
call fcn.140144b10
mov rcx, rax
mov rdx, rbx
call fcn.140144c10
nop
lea rdx, str.expected_semver_with_optional_comparator
lea rcx, [rsp + 0x60]
call fcn.14013c530
mov rbx, rax
mov rcx, r13
call fcn.140144b10
mov rcx, rax
mov rdx, rbx
call fcn.140144c10
int3