Function at 0x14014e3d0
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 [0x14064e8e8]
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.14013ac30
movups xmm0, xmmword [r13 + 0x38]
movups xmmword [rbp + 0x1a8], xmm0
mov rcx, r13
call fcn.14018c600
cmp dword [r13 + 0x10], 0
je 0x14014e468
lea r8, str.pragma_name_expected
xor edx, edx
mov rcx, r13
call fcn.14018bbe0
lea rdi, [r13 + 0x18]
mov rdx, rdi
lea rcx, [rbp + 0x160]
call fcn.14013ac30
nop
mov rcx, r13
call fcn.14018c600
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 0x14014e4d3
cmp rbx, 7
je 0x14014e509
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 0x14014f408
cmp rbx, r15
jne 0x14014f408
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 0x14014e555
cmp rbx, r15
jae 0x14014e549
mov dword [rsp + 0x28], r12d
jmp 0x14014e555
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 0x14014e5ee
mov rax, rdi
cmp qword [rdi + 0x18], 0x10
jb 0x14014e59c
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.140141200
nop
cmp qword [rsp + 0x40], 0
jne 0x14014f6f4
mov eax, dword [0x14064ac4c]
mov eax, dword [rsp + 0x48]
mov dword [rbp + 0x228], eax
mov esi, dword [rsp + 0x24]
mov dword [rsp + 0x24], esi
jmp 0x14014e9d6
test eax, eax
jne 0x14014f844
mov rdx, rdi
lea rcx, [rbp + 0x100]
call fcn.14013ac30
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 0x14014e63a
cmp cl, 0x5e
jne 0x14014f71e
mov rcx, qword [rbp + 0x110]
cmp rcx, 2
jb 0x14014f748
lea rax, [rbp + 0x100]
cmp r15, 0x10
cmovae rax, rbx
cmp byte [rax + 1], 0x3d
jne 0x14014e7fc
mov byte [rsp + 0x20], 1
cmp rcx, 3
jb 0x14014f772
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 0x14014e6de
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 0x14014e791
cmp rsi, r14
ja 0x14014f79c
mov rbx, rsi
or rbx, 0xf
cmp rbx, r14
jbe 0x14014e71f
mov rbx, r14
movabs rax, 0x8000000000000027
mov rcx, rax
call fcn.140346e7c
test rax, rax
je 0x14014e7f5
lea r15, [rax + 0x27]
and r15, 0xffffffffffffffe0
mov qword [r15 - 8], rax
jmp 0x14014e75a
cmp rbx, 0x16
mov eax, reloc.WS2_32.dll_shutdown
cmovb rbx, rax
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x14014e748
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x14014f624
jmp 0x14014e700
test rcx, rcx
je 0x14014e757
call fcn.140346e7c
mov r15, rax
jmp 0x14014e75a
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.1401430e0
mov dword [rbp + 0x228], eax
mov rdx, qword [rbp + 0xd8]
cmp rdx, 0x10
jb 0x14014e989
inc rdx
mov rcx, qword [rbp + 0xc0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14014e983
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14014e983
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 0x14014f7a2
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 0x14014e871
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 0x14014e924
cmp rsi, r14
ja 0x14014f7a8
mov rbx, rsi
or rbx, 0xf
cmp rbx, r14
jbe 0x14014e8b2
mov rbx, r14
movabs rax, 0x8000000000000027
mov rcx, rax
call fcn.140346e7c
test rax, rax
je 0x14014e97c
lea r15, [rax + 0x27]
and r15, 0xffffffffffffffe0
mov qword [r15 - 8], rax
jmp 0x14014e8ed
cmp rbx, 0x16
mov eax, reloc.WS2_32.dll_shutdown
cmovb rbx, rax
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x14014e8db
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x14014f62a
jmp 0x14014e893
test rcx, rcx
je 0x14014e8ea
call fcn.140346e7c
mov r15, rax
jmp 0x14014e8ed
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.1401430e0
mov dword [rbp + 0x228], eax
mov rdx, qword [rbp + 0xd8]
cmp rdx, 0x10
jb 0x14014e989
inc rdx
mov rcx, qword [rbp + 0xc0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14014e983
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14014e983
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140346eb8
nop
cmp r15, 0x10
jb 0x14014e9c3
lea rdx, [r15 + 1]
mov rax, rbx
cmp rdx, 0x1000
jb 0x14014e9bb
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14014e9bb
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, rbx
call fcn.140346eb8
xor ebx, ebx
mov r13, qword [rbp + 0x218]
movabs r15, 0x8000000000000027
mov rcx, r13
call fcn.14018c600
mov eax, dword [r13 + 0x10]
cmp eax, 0x3b
je 0x14014ed43
test eax, eax
jne 0x14014f7c0
mov rax, rdi
mov rcx, qword [rdi + 0x18]
cmp rcx, 0x10
jb 0x14014ea03
mov rax, qword [rdi]
cmp byte [rax], 0x2e
jne 0x14014f7c0
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 0x14014f7ae
dec rax
mov rsi, r12
cmp rax, r12
cmovb rsi, rax
mov rax, rdi
cmp rcx, 0x10
jb 0x14014ea53
mov rax, qword [rdi]
lea r13, [rax + 1]
cmp rsi, 0xf
ja 0x14014ea83
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 0x14014eb22
cmp rsi, r14
ja 0x14014f7b4
mov rbx, rsi
or rbx, 0xf
cmp rbx, r14
jbe 0x14014eabd
mov rbx, r14
mov rax, r15
mov rcx, rax
call fcn.140346e7c
test rax, rax
je 0x14014eb78
lea r15, [rax + 0x27]
and r15, 0xffffffffffffffe0
mov qword [r15 - 8], rax
jmp 0x14014eaf8
cmp rbx, 0x16
mov eax, reloc.WS2_32.dll_shutdown
cmovb rbx, rax
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x14014eae6
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x14014f630
jmp 0x14014ea9e
test rcx, rcx
je 0x14014eaf5
call fcn.140346e7c
mov r15, rax
jmp 0x14014eaf8
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.1401430e0
mov dword [rbp + 0x22c], eax
mov rdx, qword [rbp + 0xd8]
cmp rdx, 0x10
jb 0x14014eb84
inc rdx
mov rcx, qword [rbp + 0xc0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14014eb7f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14014eb7f
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140346eb8
mov byte [rsp + 0x22], 2
mov r13, qword [rbp + 0x218]
mov rcx, r13
call fcn.14018c600
mov eax, dword [r13 + 0x10]
cmp eax, 0x3b
je 0x14014ed43
test eax, eax
jne 0x14014f7f0
mov rax, rdi
mov rcx, qword [rdi + 0x18]
cmp rcx, 0x10
jb 0x14014ebbd
mov rax, qword [rdi]
cmp byte [rax], 0x2e
jne 0x14014f7f0
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 0x14014f7ba
dec rax
cmp rax, 0xffffffffffffffff
cmovb r12, rax
cmp rcx, 0x10
jb 0x14014ec08
mov rdi, qword [rdi]
cmp r12, 0xf
ja 0x14014ec36
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 0x14014ecd8
cmp r12, r14
ja 0x14014f7ea
mov rax, r12
or rax, 0xf
cmp rax, r14
jbe 0x14014ec74
movabs rax, 0x8000000000000027
mov rcx, rax
call fcn.140346e7c
test rax, rax
je 0x14014ed2a
lea rbx, [rax + 0x27]
and rbx, 0xffffffffffffffe0
mov qword [rbx - 8], rax
jmp 0x14014ecad
mov r14, rax
cmp rax, 0x16
mov eax, reloc.WS2_32.dll_shutdown
cmovb r14, rax
lea rcx, [r14 + 1]
cmp rcx, 0x1000
jb 0x14014eca0
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x14014f636
jmp 0x14014ec55
test rcx, rcx
je 0x14014ecad
call fcn.140346e7c
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.1401430e0
mov dword [rbp + 0x230], eax
mov rdx, qword [rbp + 0x118]
cmp rdx, 0x10
jb 0x14014ed36
inc rdx
mov rcx, qword [rbp + 0x100]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14014ed31
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14014ed31
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140346eb8
mov r14b, 3
mov rcx, r13
call fcn.14018c600
jmp 0x14014ed49
movzx r14d, byte [rsp + 0x22]
mov qword [rbp + 0x218], 0
mov dword [rbp + 0x220], ebx
lea rax, [0x140368600]
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, [0x140656d58]
mov rdx, r15
lea rcx, [rbp - 0x70]
call fcn.14013c890
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.140140f60
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.140141200
nop
cmp qword [rsp + 0x40], 0
jne 0x14014f81a
mov eax, dword [0x14064ac4c]
mov esi, dword [rsp + 0x24]
test sil, 0x40
je 0x14014ee76
and esi, 0xffffffbf
mov dword [rsp + 0x24], esi
lea rcx, [rbp + 0x70]
call fcn.1401e8000
mov edi, dword [rsp + 0x48]
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x14014ee9a
movsd xmm0, qword [rcx]
movsd qword [rsp + 0x30], xmm0
test byte [rsp + 0x30], 1
jne 0x14014ee9a
call fcn.140346eb8
mov dword [rbp + rbx*4 + 0x218], edi
inc rbx
cmp rbx, 3
jl 0x14014edf0
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 0x14014eef2
mov ecx, 1
mov qword [rbp + 0xf0], rcx
mov word [rbp + 0xe0], 0x21
movzx edi, byte [rsp + 0x21]
cmp rcx, 0xf
jae 0x14014ef1a
lea rax, [rcx + 1]
mov qword [rbp + 0xf0], rax
mov byte [rbp + rcx + 0xe0], dil
mov byte [rbp + rcx + 0xe1], 0
jmp 0x14014ef31
movzx r9d, dil
xor r8d, r8d
lea edx, [r8 + 1]
lea rcx, [rbp + 0xe0]
call fcn.140138930
cmp byte [rsp + 0x20], 0
je 0x14014ef87
mov rcx, qword [rbp + 0xf0]
mov rdx, qword [rbp + 0xf8]
cmp rcx, rdx
jae 0x14014ef71
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 0x14014ef87
mov r9b, 0x3d
xor r8d, r8d
lea edx, [r8 + 1]
lea rcx, [rbp + 0xe0]
call fcn.140138930
xor ebx, ebx
nop dword [rax]
mov r8d, dword [rbp + rbx*4 + 0x228]
lea r9, [rbp + 0xd5]
test r8d, r8d
jns 0x14014eff0
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 0x14014efb0
dec r9
mov byte [r9], 0x2d
jmp 0x14014f01a
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 0x14014eff0
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 0x14014f075
lea r8, [rbp + 0xd5]
sub r8, r9
mov rdx, r9
lea rcx, [rbp + 0x120]
call fcn.140139760
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.1401448b0
nop
mov rdx, qword [rbp + 0x138]
cmp rdx, 0x10
jb 0x14014f0dc
inc rdx
mov rcx, qword [rbp + 0x120]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14014f0d7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14014f1f6
call fcn.140346eb8
cmp rbx, 2
jge 0x14014f131
mov rcx, qword [rbp + 0xf0]
mov rdx, qword [rbp + 0xf8]
cmp rcx, rdx
jae 0x14014f11b
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 0x14014f131
mov r9b, 0x2e
xor r8d, r8d
lea edx, [r8 + 1]
lea rcx, [rbp + 0xe0]
call fcn.140138930
inc rbx
cmp rbx, 3
jl 0x14014ef90
movsx ecx, dil
sub ecx, 0x3c
je 0x14014f2d3
sub ecx, 1
je 0x14014f2a3
sub ecx, 1
je 0x14014f247
cmp ecx, 0x20
jne 0x14014f1a2
cmp r14b, 3
jne 0x14014f1fd
mov eax, dword [rbp + 0x228]
cmp dword [rbp + 0x218], eax
jne 0x14014f321
mov eax, dword [rbp + 0x22c]
cmp dword [rbp + 0x21c], eax
jne 0x14014f321
mov eax, dword [rbp + 0x230]
cmp dword [rbp + 0x220], eax
jl 0x14014f321
test r12d, r12d
je 0x14014f63c
mov rdx, qword [rbp + 0xf8]
cmp rdx, 0x10
jb 0x14014f334
inc rdx
mov rcx, qword [rbp + 0xe0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14014f32f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14014f32f
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 0x14014f226
mov eax, dword [rbp + 0x228]
cmp dword [rbp + 0x218], eax
jne 0x14014f321
mov eax, dword [rbp + 0x22c]
cmp dword [rbp + 0x21c], eax
jmp 0x14014f19c
cmp r14b, 1
jne 0x14014f1a2
mov eax, dword [rbp + 0x228]
cmp dword [rbp + 0x218], eax
jge 0x14014f1a2
jmp 0x14014f321
mov eax, dword [rbp + 0x218]
mov ecx, dword [rbp + 0x228]
cmp eax, ecx
jne 0x14014f29b
mov edx, dword [rbp + 0x21c]
mov r8d, dword [rbp + 0x22c]
cmp edx, r8d
jne 0x14014f293
mov r9d, dword [rbp + 0x220]
mov r10d, dword [rbp + 0x230]
cmp r9d, r10d
jne 0x14014f28a
cmp byte [rsp + 0x20], 0
je 0x14014f321
cmp r9d, r10d
jl 0x14014f321
cmp edx, r8d
jl 0x14014f321
cmp eax, ecx
jge 0x14014f1a2
jmp 0x14014f321
mov eax, dword [rbp + 0x228]
cmp dword [rbp + 0x218], eax
jne 0x14014f321
mov eax, dword [rbp + 0x22c]
cmp dword [rbp + 0x21c], eax
jne 0x14014f321
mov eax, dword [rbp + 0x230]
cmp dword [rbp + 0x220], eax
je 0x14014f1a2
jmp 0x14014f321
mov eax, dword [rbp + 0x218]
mov ecx, dword [rbp + 0x228]
cmp eax, ecx
jne 0x14014f31b
mov edx, dword [rbp + 0x21c]
mov r8d, dword [rbp + 0x22c]
cmp edx, r8d
jne 0x14014f317
mov r9d, dword [rbp + 0x220]
mov r10d, dword [rbp + 0x230]
cmp r9d, r10d
jne 0x14014f312
cmp byte [rsp + 0x20], 0
je 0x14014f321
cmp r9d, r10d
jg 0x14014f321
cmp edx, r8d
jg 0x14014f321
cmp eax, ecx
jle 0x14014f1a2
test r12d, r12d
jne 0x14014f63c
jmp 0x14014f1ab
call fcn.140346eb8
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 0x14014f395
inc rdx
mov rcx, qword [rbp + 0x140]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14014f390
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14014f390
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140346eb8
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.14013cd70
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 0x14014f575
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 0x14014f478
cmp rbx, 0x10
jne 0x14014f478
cmp dword [r13 + 0x10], 3
jne 0x14014f5fc
lea r15, [0x140656d58]
cmp r15, rdi
je 0x14014f46b
mov r8, qword [rdi + 0x10]
cmp qword [rdi + 0x18], rbx
jb 0x14014f460
mov rdi, qword [rdi]
mov rdx, rdi
mov rcx, r15
call fcn.140139760
mov rcx, r13
call fcn.14018c600
jmp 0x14014f575
lea rdx, [0x1406570e0]
cmp qword [0x1406570f8], 0x10
cmovae rdx, qword [0x1406570e0]
lea rcx, [rbp + 0x160]
cmp r14, 0x10
cmovae rcx, rsi
cmp rbx, qword [0x1406570f0]
jne 0x14014f4ef
mov r8, rbx
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x14014f4ef
movups xmm0, xmmword [r13 + 0x38]
movaps xmmword [rbp + 0xc0], xmm0
mov byte [0x140657100], 1
mov rdx, qword [0x140657110]
cmp rdx, qword [0x140657118]
je 0x14014f4e6
movups xmmword [rdx], xmm0
add qword [0x140657110], 0x10
jmp 0x14014f575
lea rcx, [0x140657108]
jmp 0x14014f569
lea rdx, [0x140657160]
cmp qword [0x140657178], 0x10
cmovae rdx, qword [0x140657160]
lea rcx, [rbp + 0x160]
cmp r14, 0x10
cmovae rcx, rsi
cmp rbx, qword [0x140657170]
jne 0x14014f69e
mov r8, rbx
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x14014f69e
movups xmm0, xmmword [r13 + 0x38]
movaps xmmword [rbp + 0xc0], xmm0
mov byte [0x140657180], 1
mov rdx, qword [0x140657190]
cmp rdx, qword [0x140657198]
je 0x14014f562
movups xmmword [rdx], xmm0
add qword [0x140657190], 0x10
jmp 0x14014f575
lea rcx, [0x140657188]
lea r8, [rbp + 0xc0]
call fcn.140140130
xor r8d, r8d
lea edx, [r8 + 0x3b]
mov rcx, r13
call fcn.14018bbe0
nop
cmp r14, 0x10
jb 0x14014f5c0
lea rdx, [r14 + 1]
mov rax, rsi
cmp rdx, 0x1000
jb 0x14014f5b7
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14014f5b7
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, rsi
call fcn.140346eb8
nop
lea rcx, [rbp + 0x180]
call fcn.1401429c0
mov rcx, qword [rbp + 0x238]
xor rcx, rsp
call fcn.140347220
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.140138e00
mov rbx, rax
mov rcx, r13
call fcn.140145550
mov rcx, rax
mov rdx, rbx
call fcn.140145690
nop
call fcn.140139640
int3
call fcn.140139640
nop
call fcn.140139640
int3
call fcn.140139640
nop
lea rdx, str.FunC_version
lea rcx, [rbp + 0x1f8]
call fcn.140138e00
nop
mov r8, r15
mov rdx, rax
lea rcx, [rbp + 0x1b8]
call fcn.14013f800
nop
lea r8, str._does_not_satisfy_condition
mov rdx, rax
lea rcx, [rbp + 0x1d8]
call fcn.14013f860
nop
lea r8, [rbp + 0xe0]
mov rdx, rax
lea rcx, [rsp + 0x60]
call fcn.14013f800
mov rdx, rax
lea rcx, [rbp + 0x180]
call fcn.140145690
nop
mov rcx, r13
call fcn.140145550
mov rbx, rax
lea rdx, str.unknown_pragma__
lea rcx, [rbp + 0x1d8]
call fcn.140138e00
nop
lea r8, [rbp + 0x160]
mov rdx, rax
lea rcx, [rbp + 0x1b8]
call fcn.14013f800
nop
lea r8, [0x14036783c]
mov rdx, rax
lea rcx, [rsp + 0x60]
call fcn.14013f860
mov rdx, rax
mov rcx, rbx
call fcn.140145690
nop
lea rdx, str.invalid_semver_format
lea rcx, [rbp + 0x120]
call fcn.140138e00
mov rbx, rax
mov rcx, r13
call fcn.140145550
mov rcx, rax
mov rdx, rbx
call fcn.140145690
nop
lea rdx, str.unexpected_comparator_operation
lea rcx, [rbp + 0x120]
call fcn.140138e00
mov rbx, rax
mov rcx, r13
call fcn.140145550
mov rcx, rax
mov rdx, rbx
call fcn.140145690
int3
lea rdx, str.expected_number_after_comparator
lea rcx, [rbp + 0x120]
call fcn.140138e00
mov rbx, rax
mov rcx, r13
call fcn.140145550
mov rcx, rax
mov rdx, rbx
call fcn.140145690
int3
lea rdx, str.expected_number_after_comparator
lea rcx, [rbp + 0x120]
call fcn.140138e00
mov rbx, rax
mov rcx, r13
call fcn.140145550
mov rcx, rax
mov rdx, rbx
call fcn.140145690
int3
call fcn.1401396a0
int3
call fcn.1401396e0
int3
call fcn.1401396a0
nop
call fcn.1401396e0
int3
call fcn.1401396a0
int3
call fcn.1401396e0
int3
lea rdx, str.invalid_semver_format
lea rcx, [rbp + 0x120]
call fcn.140138e00
mov rbx, rax
mov rcx, r13
call fcn.140145550
mov rcx, rax
mov rdx, rbx
call fcn.140145690
int3
call fcn.1401396a0
int3
lea rdx, str.invalid_semver_format
lea rcx, [rbp + 0x120]
call fcn.140138e00
mov rbx, rax
mov rcx, r13
call fcn.140145550
mov rcx, rax
mov rdx, rbx
call fcn.140145690
nop
lea rdx, str.invalid_semver_format
lea rcx, [rbp + 0x100]
call fcn.140138e00
mov rbx, rax
mov rcx, r13
call fcn.140145550
mov rcx, rax
mov rdx, rbx
call fcn.140145690
nop
lea rdx, str.expected_semver_with_optional_comparator
lea rcx, [rsp + 0x60]
call fcn.140138e00
mov rbx, rax
mov rcx, r13
call fcn.140145550
mov rcx, rax
mov rdx, rbx
call fcn.140145690
int3